gather: Allow filtering debuginfo packages
This already works on YUM backend, and this patch makes it work for DNF as well. Both native and multilib debuginfo and debugsource packages will be excluded. This matches the yum behavior. Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
This commit is contained in:
parent
660c04368b
commit
3201648c37
@ -334,7 +334,6 @@ class Gather(GatherBase):
|
|||||||
exclude = set()
|
exclude = set()
|
||||||
for pattern in excludes:
|
for pattern in excludes:
|
||||||
with Profiler("Gather._apply_excludes():exclude"):
|
with Profiler("Gather._apply_excludes():exclude"):
|
||||||
# TODO: debug
|
|
||||||
if pattern.endswith(".+"):
|
if pattern.endswith(".+"):
|
||||||
pkgs = self.q_multilib_binary_packages.filter(
|
pkgs = self.q_multilib_binary_packages.filter(
|
||||||
name__glob=pattern[:-2], arch__neq='noarch',
|
name__glob=pattern[:-2], arch__neq='noarch',
|
||||||
@ -343,6 +342,10 @@ class Gather(GatherBase):
|
|||||||
pkgs = self.q_source_packages.filter(
|
pkgs = self.q_source_packages.filter(
|
||||||
name__glob=pattern[:-4],
|
name__glob=pattern[:-4],
|
||||||
reponame__neq=self.opts.lookaside_repos)
|
reponame__neq=self.opts.lookaside_repos)
|
||||||
|
elif pungi.util.pkg_is_debug(pattern):
|
||||||
|
pkgs = self.q_debug_packages.filter(
|
||||||
|
name__glob=pattern,
|
||||||
|
reponame__neq=self.opts.lookaside_repos)
|
||||||
else:
|
else:
|
||||||
pkgs = self.q_binary_packages.filter(
|
pkgs = self.q_binary_packages.filter(
|
||||||
name__glob=pattern,
|
name__glob=pattern,
|
||||||
@ -366,6 +369,8 @@ class Gather(GatherBase):
|
|||||||
self._filter_queue('q_multilib_binary_packages', exclude)
|
self._filter_queue('q_multilib_binary_packages', exclude)
|
||||||
self._filter_queue('q_noarch_binary_packages', exclude)
|
self._filter_queue('q_noarch_binary_packages', exclude)
|
||||||
self._filter_queue('q_source_packages', exclude)
|
self._filter_queue('q_source_packages', exclude)
|
||||||
|
self._filter_queue('q_native_debug_packages', exclude)
|
||||||
|
self._filter_queue('q_multilib_debug_packages', exclude)
|
||||||
|
|
||||||
@Profiler("Gather.add_initial_packages()")
|
@Profiler("Gather.add_initial_packages()")
|
||||||
def add_initial_packages(self, pattern_list):
|
def add_initial_packages(self, pattern_list):
|
||||||
|
@ -174,6 +174,61 @@ class DepsolvingBase(object):
|
|||||||
])
|
])
|
||||||
self.assertItemsEqual(pkg_map["debuginfo"], [])
|
self.assertItemsEqual(pkg_map["debuginfo"], [])
|
||||||
|
|
||||||
|
def test_bash_exclude_debuginfo(self):
|
||||||
|
packages = [
|
||||||
|
'dummy-bash',
|
||||||
|
'-dummy-bash-debuginfo',
|
||||||
|
'-dummy-bash-debugsource',
|
||||||
|
]
|
||||||
|
pkg_map = self.go(packages, None, greedy="none")
|
||||||
|
|
||||||
|
self.assertItemsEqual(pkg_map["rpm"], [
|
||||||
|
"dummy-basesystem-10.0-6.noarch.rpm",
|
||||||
|
"dummy-bash-4.2.37-6.x86_64.rpm",
|
||||||
|
"dummy-filesystem-4.2.37-6.x86_64.rpm",
|
||||||
|
"dummy-glibc-2.14-5.x86_64.rpm",
|
||||||
|
"dummy-glibc-common-2.14-5.x86_64.rpm",
|
||||||
|
])
|
||||||
|
self.assertItemsEqual(pkg_map["srpm"], [
|
||||||
|
"dummy-basesystem-10.0-6.src.rpm",
|
||||||
|
"dummy-bash-4.2.37-6.src.rpm",
|
||||||
|
"dummy-filesystem-4.2.37-6.src.rpm",
|
||||||
|
"dummy-glibc-2.14-5.src.rpm",
|
||||||
|
])
|
||||||
|
self.assertItemsEqual(pkg_map["debuginfo"], [
|
||||||
|
"dummy-glibc-debuginfo-2.14-5.x86_64.rpm",
|
||||||
|
"dummy-glibc-debuginfo-common-2.14-5.x86_64.rpm",
|
||||||
|
])
|
||||||
|
|
||||||
|
def test_bash_multilib_exclude_debuginfo(self):
|
||||||
|
packages = [
|
||||||
|
'dummy-bash.+',
|
||||||
|
'-dummy-bash-debuginfo',
|
||||||
|
'-dummy-bash-debugsource',
|
||||||
|
]
|
||||||
|
pkg_map = self.go(packages, None, greedy="none")
|
||||||
|
|
||||||
|
self.assertItemsEqual(pkg_map["rpm"], [
|
||||||
|
"dummy-basesystem-10.0-6.noarch.rpm",
|
||||||
|
"dummy-bash-4.2.37-6.i686.rpm",
|
||||||
|
"dummy-filesystem-4.2.37-6.x86_64.rpm",
|
||||||
|
"dummy-glibc-2.14-5.i686.rpm",
|
||||||
|
"dummy-glibc-2.14-5.x86_64.rpm",
|
||||||
|
"dummy-glibc-common-2.14-5.x86_64.rpm",
|
||||||
|
])
|
||||||
|
self.assertItemsEqual(pkg_map["srpm"], [
|
||||||
|
"dummy-basesystem-10.0-6.src.rpm",
|
||||||
|
"dummy-bash-4.2.37-6.src.rpm",
|
||||||
|
"dummy-filesystem-4.2.37-6.src.rpm",
|
||||||
|
"dummy-glibc-2.14-5.src.rpm",
|
||||||
|
])
|
||||||
|
self.assertItemsEqual(pkg_map["debuginfo"], [
|
||||||
|
"dummy-glibc-debuginfo-2.14-5.i686.rpm",
|
||||||
|
"dummy-glibc-debuginfo-2.14-5.x86_64.rpm",
|
||||||
|
"dummy-glibc-debuginfo-common-2.14-5.i686.rpm",
|
||||||
|
"dummy-glibc-debuginfo-common-2.14-5.x86_64.rpm",
|
||||||
|
])
|
||||||
|
|
||||||
def test_bash(self):
|
def test_bash(self):
|
||||||
packages = [
|
packages = [
|
||||||
"dummy-bash",
|
"dummy-bash",
|
||||||
|
Loading…
Reference in New Issue
Block a user