Skip to content

Commit

Permalink
Don't blacklist RPMs referenced my modules
Browse files Browse the repository at this point in the history
Since there's no blacklist for modules, "excluded" source RPMs
referenced by modular RPMs are no longer added to the blacklist.

Fixes #97
  • Loading branch information
negillett committed May 24, 2019
1 parent 5f1061e commit e561405
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 1 deletion.
1 change: 1 addition & 0 deletions tests/data/conf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,4 @@ packages:
- linux-firmware
- foo-pkg*
- foo-arch-test.x86_64
- n1
18 changes: 18 additions & 0 deletions tests/test_ubipop.py
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,24 @@ def test_get_blacklisted_packages_match_arch(mock_ubipop_runner):
assert "x86_64" in blacklist[0].filename


def test_get_blacklisted_packages_pass_modular_rpms(mock_ubipop_runner):
pkg_name = "n1"
test_pkg_list = [
get_test_pkg(
name="foo-pkg",
filename="foo-pkg-3.0.6-4.el7.x86_64.rpm"
),
get_test_pkg(
name=pkg_name,
filename="{name}-3.0.6-4.el7.noarch.rpm".format(name=pkg_name)
),
]

blacklist = mock_ubipop_runner.get_blacklisted_packages(test_pkg_list)
assert len(blacklist) == 1
assert blacklist[0].name != pkg_name


def _get_search_rpms_side_effect(package_name):
def _f(*args):
if args[1] == package_name:
Expand Down
3 changes: 2 additions & 1 deletion ubipop/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -467,6 +467,7 @@ def get_blacklisted_packages(self, package_list):
Finds blacklisted packages in output sets
"""
blacklisted_pkgs = []
modular_rpms = [m.name for m in self.ubiconfig.modules.whitelist]
for pattern_name, globbing, pattern_arch in self._parse_blacklist_config():
for package in package_list:
name, _, _, _, arch = splitFilename(package.filename)
Expand All @@ -475,7 +476,7 @@ def get_blacklisted_packages(self, package_list):
if name.startswith(pattern_name):
blacklisted = True
else:
if name == pattern_name:
if name == pattern_name and name not in modular_rpms:
blacklisted = True

if pattern_arch:
Expand Down

0 comments on commit e561405

Please sign in to comment.