mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
[PR #7970/9510988a backport][stable-7] cargo: use the correct path when checking installation status fixing idempotency issue. (#8018)
cargo: use the correct path when checking installation status fixing idempotency issue. (#7970)
* cargo: use the correct path when checking installation status
* Add changelog fragment
* Update changelogs/fragments/7970-fix-cargo-path-idempotency.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 9510988abc
)
Co-authored-by: rbomze <14312790+rbomze@users.noreply.github.com>
This commit is contained in:
parent
533df42e6f
commit
8bfd8bfb09
2 changed files with 14 additions and 0 deletions
10
changelogs/fragments/7970-fix-cargo-path-idempotency.yaml
Normal file
10
changelogs/fragments/7970-fix-cargo-path-idempotency.yaml
Normal file
|
@ -0,0 +1,10 @@
|
|||
bugfixes:
|
||||
- "cargo - fix idempotency issues when using a custom installation path
|
||||
for packages (using the ``--path`` parameter).
|
||||
The initial installation runs fine, but subsequent runs use the
|
||||
``get_installed()`` function which did not check the given installation
|
||||
location, before running ``cargo install``. This resulted in a false
|
||||
``changed`` state.
|
||||
Also the removal of packeges using ``state: absent`` failed, as the
|
||||
installation check did not use the given parameter
|
||||
(https://github.com/ansible-collections/community.general/pull/7970)."
|
|
@ -137,6 +137,10 @@ class Cargo(object):
|
|||
|
||||
def get_installed(self):
|
||||
cmd = ["install", "--list"]
|
||||
if self.path:
|
||||
cmd.append("--root")
|
||||
cmd.append(self.path)
|
||||
|
||||
data, dummy = self._exec(cmd, True, False, False)
|
||||
|
||||
package_regex = re.compile(r"^([\w\-]+) v(.+):$")
|
||||
|
|
Loading…
Reference in a new issue