Skip to content

Commit

Permalink
apt: fix build-dep idempotency (#38999)
Browse files Browse the repository at this point in the history
  • Loading branch information
mkrizek authored and resmo committed Apr 20, 2018
1 parent 4fc5e89 commit 62d2df7
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 1 deletion.
7 changes: 6 additions & 1 deletion lib/ansible/modules/packaging/os/apt.py
Original file line number Diff line number Diff line change
Expand Up @@ -578,7 +578,12 @@ def install(m, pkgspec, cache, upgrade=False, default_release=None,
else:
diff = {}
status = True
data = dict(changed=True, stdout=out, stderr=err, diff=diff)

changed = True
if build_dep:
changed = APT_GET_ZERO not in out

data = dict(changed=changed, stdout=out, stderr=err, diff=diff)
if rc:
status = False
data = dict(msg="'%s' failed: %s" % (cmd, err), stdout=out, stderr=err, rc=rc)
Expand Down
23 changes: 23 additions & 0 deletions test/integration/targets/apt/tasks/apt.yml
Original file line number Diff line number Diff line change
Expand Up @@ -213,3 +213,26 @@
with_items:
- libcaca-dev
- libslang2-dev

# https://github.com/ansible/ansible/issues/38995
- name: build-dep for a package
apt:
name: tree
state: build-dep
register: apt_result

- name: Check the result
assert:
that:
- apt_result is changed

- name: build-dep for a package (idempotency)
apt:
name: tree
state: build-dep
register: apt_result

- name: Check the result
assert:
that:
- apt_result is not changed

0 comments on commit 62d2df7

Please sign in to comment.