except KeyError:
portage_uid=0
portage_gid=0
- writemsg("\n")
- # warning: not localised
+ userpriv_groups = [portage_gid]
writemsg(colorize("BAD",
"portage: "+portageuser+" user or "+portagegroup+" group missing.") + "\n", noiselevel=-1)
writemsg(colorize("BAD",
# writemsg(colorize("GOOD", " portage::250:portage") + "\n",
# noiselevel=-1)
portage_group_warning()
-
-userpriv_groups = [portage_gid]
-if secpass >= 2:
- # Get a list of group IDs for the portage user. Do not use grp.getgrall()
- # since it is known to trigger spurious SIGPIPE problems with nss_ldap.
- try:
- from subprocess import getstatusoutput
- except ImportError:
- from commands import getstatusoutput
- mystatus, myoutput = getstatusoutput("id -G " + portageuser)
- if mystatus == os.EX_OK:
- for x in myoutput.split():
- try:
- userpriv_groups.append(int(x))
- except ValueError:
- pass
- del x
- userpriv_groups = list(set(userpriv_groups))
- del getstatusoutput, mystatus, myoutput
+else:
+ userpriv_groups = [portage_gid]
+ if secpass >= 2:
+ # Get a list of group IDs for the portage user. Do not use
+ # grp.getgrall() since it is known to trigger spurious
+ # SIGPIPE problems with nss_ldap.
+ try:
+ from subprocess import getstatusoutput
+ except ImportError:
+ from commands import getstatusoutput
+ mystatus, myoutput = getstatusoutput("id -G " + portageuser)
+ if mystatus == os.EX_OK:
+ for x in myoutput.split():
+ try:
+ userpriv_groups.append(int(x))
+ except ValueError:
+ pass
+ del x
+ userpriv_groups = list(set(userpriv_groups))
+ del getstatusoutput, mystatus, myoutput
import os as _os
import stat
import sys
+import tempfile
import time
import warnings
if protect and protect(path):
# Create an empty file as a place holder in order to avoid
# potential collision-protect issues.
- tarinfo.size = 0
- tar.addfile(tarinfo)
+ f = tempfile.TemporaryFile()
+ f.write(_unicode_encode(
+ "# empty file because --include-config=n " + \
+ "when `quickpkg` was used\n"))
+ f.flush()
+ f.seek(0)
+ tarinfo.size = os.fstat(f.fileno()).st_size
+ tar.addfile(tarinfo, f)
+ f.close()
else:
f = open(_unicode_encode(path,
encoding=object.__getattribute__(os, '_encoding'),