aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2019-09-10 18:52:35 -0700
committerZac Medico <zmedico@gentoo.org>2019-09-11 18:53:13 -0700
commitb1342ac2c83b4a1b0415eb5fcc4dd1d6c65561d8 (patch)
treec3e8fe8064b070328701cd47d47d58f16a8555ca
parent_add_dep: less aggressive backtracking (bug 693836) (diff)
downloadgentoo-portage-b1342ac2c83b4a1b0415eb5fcc4dd1d6c65561d8.tar.xz
gentoo-portage-b1342ac2c83b4a1b0415eb5fcc4dd1d6c65561d8.zip
x11-module-rebuild: support SYMLINK_LIB=no (bug 693980)
Use a lib* glob to support SYMLINK_LIB=no. Bug: https://bugs.gentoo.org/693980 Signed-off-by: Zac Medico <zmedico@gentoo.org>
-rw-r--r--cnf/sets/portage.conf2
-rw-r--r--lib/portage/_sets/__init__.py2
-rw-r--r--lib/portage/_sets/dbapi.py15
3 files changed, 14 insertions, 5 deletions
diff --git a/cnf/sets/portage.conf b/cnf/sets/portage.conf
index 38c50a647..0d11d7891 100644
--- a/cnf/sets/portage.conf
+++ b/cnf/sets/portage.conf
@@ -76,7 +76,7 @@ files = /lib/modules
# excluding the package that owns /usr/bin/Xorg.
[x11-module-rebuild]
class = portage.sets.dbapi.OwnerSet
-files = /usr/lib/xorg/modules
+files = /usr/lib*/xorg/modules
exclude-files = /usr/bin/Xorg
# Binary packages that have a different build time from a currently
diff --git a/lib/portage/_sets/__init__.py b/lib/portage/_sets/__init__.py
index 7b81c55e2..a569b273b 100644
--- a/lib/portage/_sets/__init__.py
+++ b/lib/portage/_sets/__init__.py
@@ -142,7 +142,7 @@ class SetConfig(object):
parser.remove_section("x11-module-rebuild")
parser.add_section("x11-module-rebuild")
parser.set("x11-module-rebuild", "class", "portage.sets.dbapi.OwnerSet")
- parser.set("x11-module-rebuild", "files", "/usr/lib/xorg/modules")
+ parser.set("x11-module-rebuild", "files", "/usr/lib*/xorg/modules")
parser.set("x11-module-rebuild", "exclude-files", "/usr/bin/Xorg")
def update(self, setname, options):
diff --git a/lib/portage/_sets/dbapi.py b/lib/portage/_sets/dbapi.py
index 5d78fd1d3..5c600ec9e 100644
--- a/lib/portage/_sets/dbapi.py
+++ b/lib/portage/_sets/dbapi.py
@@ -1,8 +1,9 @@
-# Copyright 2007-2014 Gentoo Foundation
+# Copyright 2007-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
from __future__ import division
+import glob
import re
import time
@@ -67,11 +68,19 @@ class OwnerSet(PackageSet):
def mapPathsToAtoms(self, paths, exclude_paths=None):
"""
- All paths must begin with a slash, must include EPREFIX, and
- must not include ROOT.
+ All paths must begin with a slash, and must not include EROOT.
+ Supports globs.
"""
rValue = set()
vardb = self._db
+
+ eroot = vardb.settings['EROOT']
+ expanded_paths = []
+ for p in paths:
+ expanded_paths.extend(expanded_p[len(eroot)-1:] for expanded_p in
+ glob.iglob(os.path.join(eroot, p.lstrip(os.sep))))
+ paths = expanded_paths
+
pkg_str = vardb._pkg_str
if exclude_paths is None:
for link, p in vardb._owners.iter_owners(paths):