Merged from trunk 7788:7790
authorFabian Groffen <grobian@gentoo.org>
Tue, 18 Sep 2007 19:55:53 +0000 (19:55 -0000)
committerFabian Groffen <grobian@gentoo.org>
Tue, 18 Sep 2007 19:55:53 +0000 (19:55 -0000)
   | 7789    | Use ensure_dirs() and apply_permissions() to avoid redundant |
   | zmedico | chown/chmod calls. This helps avoid 'Permission denied'      |
   |         | errors during elog_process() when the ebuild command is run  |
   |         | by normal user (issue reported by graaff).                   |

   | 7790    | Bug #190781 - Don't include --oneshot in the options that    |
   | zmedico | --update implies.                                            |

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

pym/emerge/__init__.py
pym/portage/elog/mod_save.py
pym/portage/elog/mod_save_summary.py

index ff96a0bf620f7fed29da6aba94db9a0307612a94..3cd0e212fa7ae117a892e9e3a5171fce1533adab 100644 (file)
@@ -1566,8 +1566,7 @@ class depgraph(object):
                        arg_atoms = greedy_atoms
 
                oneshot = "--oneshot" in self.myopts or \
-                       "--onlydeps" in self.myopts or \
-                       "--update" in self.myopts
+                       "--onlydeps" in self.myopts
                """ These are used inside self.create() in order to ensure packages
                that happen to match arguments are not incorrectly marked as nomerge."""
                args_set = self._sets["args"]
index 31c410fac5404c02c7fe37065fd74f23c879935a..35c4338285a7d9453978a1e89f0f1d5ee666792f 100644 (file)
@@ -5,6 +5,7 @@
 
 import os, time
 from portage.data import portage_uid, portage_gid
+from portage.util import ensure_dirs
 
 def process(mysettings, key, logentries, fulltext):
        path = key.replace("/", ":")
@@ -13,10 +14,7 @@ def process(mysettings, key, logentries, fulltext):
                elogdir = os.path.join(mysettings["PORT_LOGDIR"], "elog")
        else:
                elogdir = os.path.join(os.sep, "var", "log", "portage", "elog")
-       if not os.path.exists(elogdir):
-               os.makedirs(elogdir)
-       os.chown(elogdir, portage_uid, portage_gid)
-       os.chmod(elogdir, 02770)
+       ensure_dirs(elogdir, uid=portage_uid, gid=portage_gid, mode=02770)
 
        elogfilename = elogdir+"/"+path+":"+time.strftime("%Y%m%d-%H%M%S", time.gmtime(time.time()))+".log"
        elogfile = open(elogfilename, "w")
index 3c1325dbbe8408821b9e384c3a9101196369017c..f5623cea957e975ee4a2ff74d214344a6b2bb2fe 100644 (file)
@@ -5,6 +5,7 @@
 
 import os, time
 from portage.data import portage_uid, portage_gid
+from portage.util import ensure_dirs, apply_permissions
 from portage.const import EPREFIX
 
 def process(mysettings, key, logentries, fulltext):
@@ -12,14 +13,12 @@ def process(mysettings, key, logentries, fulltext):
                elogdir = os.path.join(mysettings["PORT_LOGDIR"], "elog")
        else:
                elogdir = os.path.join(EPREFIX, "var", "log", "portage", "elog")
-       if not os.path.exists(elogdir):
-               os.makedirs(elogdir)
-       os.chown(elogdir, portage_uid, portage_gid)
-       os.chmod(elogdir, 02770)
+       ensure_dirs(elogdir, uid=portage_uid, gid=portage_gid, mode=02770)
 
        # TODO: Locking
        elogfilename = elogdir+"/summary.log"
        elogfile = open(elogfilename, "a")
+       apply_permissions(elogfilename, mode=060, mask=0)
        elogfile.write(">>> Messages generated by process %d on %s for package %s:\n\n" % \
                        (os.getpid(), time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime(time.time())), key))
        elogfile.write(fulltext)