Skip to content
Permalink
Browse files

apt_repository: check for enabled repositories correctly

Fixes #20754.

Details: UbuntuSourcesList.add_source() had a quick check for PPAs being
already present in the source lists.  The check was looking for the PPAs
URL to be present in self.repo_urls, which should contain all valid and
enabled repositories.

The enabled check in repo_urls was incorrect.  It was checking the tuple's
2nd item (which means "valid") and ignoring the 3rd item (which means
"enabled").

self.files contains tuples (line_number, valid, enabled, source_line,
comment_text).  Ideally it would be using named tuples instead of
indexing, to avoid bugs like that, but Python 2.4 didn't have named
tuples, so we can't do that (yet).
  • Loading branch information...
mgedmin authored and abadger committed Jan 27, 2017
1 parent f16ee28 commit 577d0e43ba339788989ecdf9a9da97477596ec6d
Showing with 3 additions and 2 deletions.
  1. +3 −2 lib/ansible/modules/packaging/os/apt_repository.py
@@ -458,10 +458,11 @@ def repos_urls(self):
_repositories = []
for parsed_repos in self.files.values():
for parsed_repo in parsed_repos:
enabled = parsed_repo[1]
valid = parsed_repo[1]
enabled = parsed_repo[2]
source_line = parsed_repo[3]

if not enabled:
if not valid or not enabled:
continue

if source_line.startswith('ppa:'):

0 comments on commit 577d0e4

Please sign in to comment.
You can’t perform that action at this time.