my_input=$(read_int)
case ${my_input} in
1) echo "Replacing ${ofile} with ${mfile}"
- if [[ ${USERLAND} == GNU ]] || [[ ${EPREFIX%/} != "" ]]; then
+ if [[ ${USERLAND:-GNU} == GNU ]]; then
chmod --reference="${ofile}" "${mfile}"
else
chmod $(stat -f %Mp%Lp "${ofile}") "${mfile}"
print "Interrupted."
sys.exit(1)
-def sorted_versions(verlist):
- ret = []
- for ver in verlist:
- verparts = ver.split("-")
- if len(verparts) == 2:
- verrev = verparts[1][1:]
- else:
- verrev = 0
- x = 0
- while x < len(ret):
- retparts = ret[x].split("-")
- verdiff = portage.vercmp(retparts[0], verparts[0])
- if verdiff > 0:
- break
- elif verdiff == 0:
- if len(retparts) == 2:
- retrev = int(retparts[1][1:])
- else:
- retrev = 0
- if retrev >= verrev:
- break
- x += 1
- ret.insert(x, ver)
- return ret
-
-
actions=[
"clean", "config", "depclean",
"info", "metadata",
for x in myvars:
if portage.isvalidatom(x):
pkg_matches = trees["/"]["vartree"].dbapi.match(x)
+ pkg_matches = [portage.catpkgsplit(cpv)[1:] for cpv in pkg_matches]
+ pkg_matches.sort(portage.pkgcmp)
pkgs = []
- for y in pkg_matches:
- mycpv = portage.catpkgsplit(y)
- if(mycpv[3] != "r0"):
- pkgs += [mycpv[2] + "-" + mycpv[3]]
+ for pn, ver, rev in pkg_matches:
+ if rev != "r0":
+ pkgs.append(ver + "-" + rev)
else:
- pkgs += [mycpv[2]]
+ pkgs.append(ver)
if pkgs:
- pkgs = ", ".join(sorted_versions(pkgs))
+ pkgs = ", ".join(pkgs)
print "%-20s %s" % (x+":", pkgs)
else:
print "%-20s %s" % (x+":", "[NOT VALID]")
def validate_ebuild_environment(trees):
for myroot in trees:
mysettings = trees[myroot]["vartree"].settings
- if not mysettings.get("ARCH", None):
- print >> sys.stderr, bad("\a!!! ARCH is not set... " + \
+ for var in "ARCH", "USERLAND":
+ if mysettings.get(var):
+ continue
+ print >> sys.stderr, bad(("\a!!! %s is not set... " % var) + \
"Are you missing the '%setc/make.profile' symlink?" % \
mysettings["PORTAGE_CONFIGROOT"])
print >> sys.stderr, bad("\a!!! Is the symlink correct? " + \
# backupenv is for calculated incremental variables.
self.backupenv = os.environ.copy()
- if not local_config:
- # Clean up pollution from portage.data so that it doesn't
- # interfere with repoman.
- self.backupenv.pop("USERLAND", None)
def check_var_directory(varname, var):
if not os.path.isdir(var):
self.configlist.append(os.environ.copy())
self.configdict["env"]=self.configlist[-1]
- if not local_config:
- # Clean up pollution from portage.data so that it doesn't
- # interfere with repoman.
- self.configdict["env"].pop("USERLAND", None)
# make lookuplist for loading package.*
self.lookuplist=self.configlist[:]
# data.py -- Calculated/Discovered Data Values
# Copyright 1998-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Id: portage_data.py 4530 2006-09-25 21:16:32Z zmedico $
+# $Id:$
if not hasattr(__builtins__, "set"):
from sets import Set as set
import os, sys, pwd, grp
-from portage.const import wheelgid, rootuid, portageuser, portagegroup, EPREFIX
+from portage.const import wheelgid, rootuid, portageuser, portagegroup
from portage.util import writemsg
from portage.output import green,red
from portage.output import create_color_func
bad = create_color_func("BAD")
ostype=os.uname()[0]
-userland="don't_use_this_thing" # included by portage, not used
-lchown = None
+userland = None
+lchown = getattr(os, "lchown", None)
+os.environ.setdefault("XARGS", "xargs")
os.environ["XARGS"]="xargs -r"
# "fix" for lchown on Darwin