Merged from trunk -r15214:15218
authorFabian Groffen <grobian@gentoo.org>
Fri, 29 Jan 2010 18:02:04 +0000 (18:02 -0000)
committerFabian Groffen <grobian@gentoo.org>
Fri, 29 Jan 2010 18:02:04 +0000 (18:02 -0000)
   | 15216   | Move the DOM unlink call to a finally block.                 |
   | zmedico |                                                              |

   | 15217   | Bug #300378 - Don't export FILESDIR to the 'depend' phase.   |
   | zmedico |                                                              |

   | 15218   | In portage.spawn(), apply group write permission to the log  |
   | zmedico | file.                                                        |

svn path=/main/branches/prefix/; revision=15219

pym/portage/__init__.py
pym/repoman/utilities.py

index 3c989d61474c0bd2cd0baa3d2fcca23b6f504552..1638f5e9966ee709eef5545f0e33956c2c36ecc0 100644 (file)
@@ -3797,6 +3797,9 @@ class config(object):
                if eapi not in ("0", "1", "2", "3", "3_pre2"):
                        mydict.pop("AA", None)
 
+               if phase == 'depend':
+                       mydict.pop('FILESDIR', None)
+
                return mydict
 
        def thirdpartymirrors(self):
@@ -4171,6 +4174,8 @@ def spawn(mystring, mysettings, debug=0, free=0, droppriv=0, sesandbox=0, fakero
 
        if logfile:
                log_file = open(_unicode_encode(logfile), mode='ab')
+               apply_secpass_permissions(logfile,
+                       uid=portage_uid, gid=portage_gid, mode=0o664)
                stdout_file = os.fdopen(os.dup(fd_pipes_orig[1]), 'wb')
                master_file = os.fdopen(master_fd, 'rb')
                iwtd = [master_file]
index 5ce3867376b6e5bcc0b84874d9393572054a5c4e..8a2c0f0c63f4b954d766827ece2e73845228bf1a 100644 (file)
@@ -124,28 +124,30 @@ def parse_metadata_use(mylines, uselist=None):
                raise exception.ParseError("metadata.xml: %s" % (e,))
 
        try:
-               usetag = metadatadom.getElementsByTagName("use")
-               if not usetag:
+
+               try:
+                       usetag = metadatadom.getElementsByTagName("use")
+                       if not usetag:
+                               return uselist
+               except NotFoundErr:
                        return uselist
-       except NotFoundErr:
-               return uselist
 
-       try:
-               flags = usetag[0].getElementsByTagName("flag")
-       except NotFoundErr:
-               raise exception.ParseError("metadata.xml: " + \
-                       "Malformed input: missing 'flag' tag(s)")
-
-       for flag in flags:
-               pkg_flag = flag.getAttribute("name")
-               if not pkg_flag:
+               try:
+                       flags = usetag[0].getElementsByTagName("flag")
+               except NotFoundErr:
                        raise exception.ParseError("metadata.xml: " + \
-                               "Malformed input: missing 'name' attribute for 'flag' tag")
-               uselist.append(pkg_flag)
-
-       metadatadom.unlink()
-       return uselist
+                               "Malformed input: missing 'flag' tag(s)")
+
+               for flag in flags:
+                       pkg_flag = flag.getAttribute("name")
+                       if not pkg_flag:
+                               raise exception.ParseError("metadata.xml: " + \
+                                       "Malformed input: missing 'name' attribute for 'flag' tag")
+                       uselist.append(pkg_flag)
+               return uselist
 
+       finally:
+               metadatadom.unlink()
 
 def FindPackagesToScan(settings, startdir, reposplit):
        """ Try to find packages that need to be scanned