* Enable the recursive option in profile package.use parsing.
authorZac Medico <zmedico@gentoo.org>
Mon, 12 Jan 2009 08:22:20 +0000 (08:22 -0000)
committerZac Medico <zmedico@gentoo.org>
Mon, 12 Jan 2009 08:22:20 +0000 (08:22 -0000)
* Enable package.umask in all the same locations as package.mask. (trunk r12409)

svn path=/main/branches/2.1.6/; revision=12467

man/portage.5
pym/portage/__init__.py

index 808f1cd6fcd9164610da2e5b8683896992c2e6da..5f431b3ed77b00ac318a5e4f4f2f66dbb91256a1 100644 (file)
@@ -31,6 +31,7 @@ packages
 packages.build
 package.mask
 package.provided
+package.unmask
 package.use
 package.use.force
 package.use.mask
index e3bc6105fef706245e58eeba2dbb0136bc1001ca..0a1d1b72ea954fb0416a4749fc62da861c49f1e5 100644 (file)
@@ -1282,9 +1282,8 @@ class config(object):
                        del rawpusemask
 
                        self.pkgprofileuse = []
-                       rawprofileuse = [grabdict_package(
-                               os.path.join(x, "package.use"), juststrings=True) \
-                               for x in self.profiles]
+                       rawprofileuse = [grabdict_package(os.path.join(x, "package.use"),
+                               juststrings=True, recursive=1) for x in self.profiles]
                        for i in xrange(len(self.profiles)):
                                cpdict = {}
                                for k, v in rawprofileuse[i].iteritems():
@@ -1516,17 +1515,6 @@ class config(object):
                                                self._plicensedict[cp] = cp_dict
                                        cp_dict[k] = self.expandLicenseTokens(v)
 
-                               #package.unmask
-                               pkgunmasklines = grabfile_package(
-                                       os.path.join(abs_user_config, "package.unmask"),
-                                       recursive=1)
-                               for x in pkgunmasklines:
-                                       mycatpkg=dep_getkey(x)
-                                       if mycatpkg in self.punmaskdict:
-                                               self.punmaskdict[mycatpkg].append(x)
-                                       else:
-                                               self.punmaskdict[mycatpkg]=[x]
-
                        #getting categories from an external file now
                        categories = [grabfile(os.path.join(x, "categories")) for x in locations]
                        self.categories = stack_lists(categories, incremental=1)
@@ -1536,12 +1524,16 @@ class config(object):
                        archlist = stack_lists(archlist, incremental=1)
                        self.configdict["conf"]["PORTAGE_ARCHLIST"] = " ".join(archlist)
 
-                       #package.mask
+                       # package.mask and package.unmask
                        pkgmasklines = []
+                       pkgunmasklines = []
                        for x in pmask_locations:
                                pkgmasklines.append(grabfile_package(
                                        os.path.join(x, "package.mask"), recursive=1))
+                               pkgunmasklines.append(grabfile_package(
+                                       os.path.join(x, "package.unmask"), recursive=1))
                        pkgmasklines = stack_lists(pkgmasklines, incremental=1)
+                       pkgunmasklines = stack_lists(pkgunmasklines, incremental=1)
 
                        self.pmaskdict = {}
                        for x in pkgmasklines:
@@ -1551,6 +1543,13 @@ class config(object):
                                else:
                                        self.pmaskdict[mycatpkg]=[x]
 
+                       for x in pkgunmasklines:
+                               mycatpkg=dep_getkey(x)
+                               if mycatpkg in self.punmaskdict:
+                                       self.punmaskdict[mycatpkg].append(x)
+                               else:
+                                       self.punmaskdict[mycatpkg]=[x]
+
                        pkgprovidedlines = [grabfile(os.path.join(x, "package.provided")) for x in self.profiles]
                        pkgprovidedlines = stack_lists(pkgprovidedlines, incremental=1)
                        has_invalid_data = False