From: Zac Medico Date: Thu, 27 Jul 2006 22:07:49 +0000 (-0000) Subject: Simplify permissions adjustment after a file is fetched. X-Git-Tag: v2.1.1~130 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=6110ef3b178a08b393d7f539fb2d4ee2d2e556eb;p=portage.git Simplify permissions adjustment after a file is fetched. svn path=/main/trunk/; revision=4037 --- diff --git a/pym/portage.py b/pym/portage.py index 8f9dd0041..3efdee888 100644 --- a/pym/portage.py +++ b/pym/portage.py @@ -2049,18 +2049,15 @@ def fetch(myuris, mysettings, listonly=0, fetchonly=0, locks_in_subdir=".locks", selinux.setexec(None) finally: - #if root, -always- set the perms. - if os.path.exists(mysettings["DISTDIR"]+"/"+myfile) and (fetched != 1 or os.getuid() == 0) \ - and os.access(mysettings["DISTDIR"]+"/",os.W_OK): - if os.stat(mysettings["DISTDIR"]+"/"+myfile).st_gid != portage_gid: - try: - os.chown(mysettings["DISTDIR"]+"/"+myfile,-1,portage_gid) - except SystemExit, e: - raise - except: - portage_util.writemsg("chown failed on distfile: " + str(myfile), - noiselevel=-1) - os.chmod(mysettings["DISTDIR"]+"/"+myfile,0664) + try: + apply_secpass_permissions(myfile_path, + gid=portage_gid, mode=0664, mask=02) + except portage_exception.FileNotFound, e: + pass + except portage_exception.PortageException, e: + if not os.access(myfile_path, os.R_OK): + writemsg("!!! Failed to adjust permissions:" + \ + " %s\n" % str(e), noiselevel=-1) if mydigests!=None and mydigests.has_key(myfile): try: