#
if not hasattr(__builtins__, "set"):
- from sets import Set as set
+ from sets import Set as set
from stat import *
from random import *
try:
import portage
except ImportError:
- from os import path as osp
- sys.path.insert(0, osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym"))
+ from os import path as osp
+ sys.path.insert(0, osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym"))
import portage
-import portage.dispatch_conf, portage.const
+from portage import dispatch_conf, const
from portage.process import find_binary
FIND_EXTANT_CONFIGS = "find '%s' %s -iname '._cfg????_%s' ! -iname '.*~' ! -iname '.*.bak'"
portage.debug.set_trace(True)
if portage.settings["NOCOLOR"] in ("yes","true") or not sys.stdout.isatty():
- import output
portage.output.nocolor()
ebuild = pargs.pop(0)
# it. The entire repository of tarballs for Gentoo is 9G. This is
# considerably more than any user will ever download. 2-3G is
# a large DISTDIR.
-#DISTDIR=${PORTDIR}/distfiles
+#DISTDIR=/usr/portage/distfiles
#
# PKGDIR is the location of binary packages that you can have created
# with '--buildpkg' or '-b' while emerging a package. This can get
# up to several hundred megs, or even a few gigs.
-#PKGDIR=${PORTDIR}/packages
+#PKGDIR=/usr/portage/packages
#
# PORT_LOGDIR is the location where portage will store all the logs it
# creates from each individual merge. They are stored as NNNN-$PF.log
\fBDISTDIR\fR = \fI[path]\fR
Defines the location of your local source file repository.
.br
-Defaults to ${PORTDIR}/distfiles.
+Defaults to /usr/portage/distfiles.
.TP
.B DOC_SYMLINKS_DIR
If this variable contains a directory then symlinks to html documentation will
\fBPKGDIR\fR = \fI[path]\fR
Defines the location where created .tbz2 binary packages will be stored.
.br
-Defaults to ${PORTDIR}/packages.
+Defaults to /usr/portage/packages.
.TP
.B PORT_LOGDIR
This variable defines the directory in which per\-ebuild logs are kept.
for cpv in blocked_initial:
slot_atom = blocked_slots_initial[cpv]
if slot_atom == pslot_atom:
- # The parent blocks an initial package in the same
- # slot as itself. The merge/nomerge status of neither
- # node matters. In any case, this particular block is
- # automatically resolved.
+ # TODO: Support blocks within slots in cases where it
+ # might make sense. For example, a new version might
+ # require that the old version be uninstalled at build
+ # time.
continue
if parent_static and \
slot_atom not in modified_slots[myroot]:
for cpv in blocked_final:
slot_atom = blocked_slots_final[cpv]
if slot_atom == pslot_atom:
- # The parent blocks itself, so the merge order does not
- # need to be enforced.
+ # TODO: Support blocks within slots.
continue
if parent_static and \
slot_atom not in modified_slots[myroot]:
if "candy" in settings.features:
spinner.update = spinner.update_scroll
- portage.deprecated_profile_check()
+ if not myopts["--quiet"]:
+ portage.deprecated_profile_check()
#Freeze the portdbapi for enhanced performance:
for myroot in trees:
def testVarExpandDoubleQuotes(self):
varDict = { "a":"5" }
- tests = [ ("\"${a}\"", "5") ]
+ tests = [ ("\"${a}\"", "\"5\"") ]
for test in tests:
result = varexpand( test[0], varDict )
self.failIf( result != test[1],
def testVarExpandSingleQuotes(self):
varDict = { "a":"5" }
- tests = [ ("\'${a}\'", "${a}") ]
+ tests = [ ("\'${a}\'", "\'${a}\'") ]
for test in tests:
result = varexpand( test[0], varDict )
self.failIf( result != test[1],