commit:     f55156d167a651229518b226e1e064fee47b73a2
Author:     Dave Hughes <davidhughes205 <AT> gmail <DOT> com>
AuthorDate: Fri Apr  9 00:59:07 2021 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Mon May 24 06:38:57 2021 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=f55156d1

lib/portage/_sets/dbapi.py: add glob support to exclude-files parameter 
cnf/sets/portage.conf: add exclude-files=/usr/src/linux* in module-rebuild set

Closes: https://github.com/gentoo/portage/pull/694
Signed-off-by: Dave Hughes <davidhughes205 <AT> gmail.com>
Signed-off-by: Zac Medico <zmedico <AT> gentoo.org>

 cnf/sets/portage.conf      | 1 +
 lib/portage/_sets/dbapi.py | 6 ++++++
 2 files changed, 7 insertions(+)

diff --git a/cnf/sets/portage.conf b/cnf/sets/portage.conf
index 5651a9c53..c4ad2efca 100644
--- a/cnf/sets/portage.conf
+++ b/cnf/sets/portage.conf
@@ -71,6 +71,7 @@ includes = bzr cvs darcs git-2 git-r3 golang-vcs mercurial 
subversion
 [module-rebuild]
 class = portage.sets.dbapi.OwnerSet
 files = /lib/modules
+exclude-files = /usr/src/linux*
 
 # Installed packages that own files inside /usr/lib/xorg/modules,
 # excluding the package that owns /usr/bin/Xorg.

diff --git a/lib/portage/_sets/dbapi.py b/lib/portage/_sets/dbapi.py
index 7a20553b5..17776f94c 100644
--- a/lib/portage/_sets/dbapi.py
+++ b/lib/portage/_sets/dbapi.py
@@ -79,6 +79,12 @@ class OwnerSet(PackageSet):
                                glob.iglob(os.path.join(eroot, 
p.lstrip(os.sep))))
                paths = expanded_paths
 
+               expanded_exclude_paths = []
+               for p in exclude_paths:
+                       
expanded_exclude_paths.extend(expanded_exc_p[len(eroot)-1:] for expanded_exc_p 
in
+                               glob.iglob(os.path.join(eroot, 
p.lstrip(os.sep))))
+               exclude_paths = expanded_exclude_paths
+
                pkg_str = vardb._pkg_str
                if exclude_paths is None:
                        for link, p in vardb._owners.iter_owners(paths):

Reply via email to