md5_match_hash[conf] = ''
# Find all the CONTENT files in VDB_PATH.
- content_files += os.popen(FIND_EXTANT_CONTENTS % (portage.root+portage.VDB_PATH)).readlines()
+ content_files += os.popen(FIND_EXTANT_CONTENTS % (os.path.join(portage.root, portage.VDB_PATH))).readlines()
# Search for the saved md5 checksum of all the specified config files
# and see if the current file is unmodified or not.
print "!!! %s does not follow correct package syntax." % (cpv)
sys.exit(1)
-if ebuild.startswith(portage.root + portage.const.VDB_PATH):
+if ebuild.startswith(os.path.join(portage.root, portage.const.VDB_PATH)):
mytree = "vartree"
portage_ebuild = portage.db[portage.root][mytree].dbapi.findname(cpv)
# Distributed under the terms of the GNU General Public License v2
# $Id$
+# NOTE: this file does not respect ROOT
+
import sys
# for an explanation on this logic, see pym/_emerge/__init__.py
from os import environ as ose
self._vardb = vardb
self._virtuals = vardb.settings.getvirtuals()
self._cache_filename = os.path.join(myroot,
- portage.CACHE_PATH.lstrip(os.path.sep), "vdb_blockers.pickle")
+ portage.CACHE_PATH, "vdb_blockers.pickle")
self._cache_version = "1"
self._cache_data = None
self._modified = set()
settings = trees[myroot]["vartree"].settings
break
- mtimedbfile = os.path.join("/", portage.CACHE_PATH.lstrip(os.path.sep), "mtimedb")
+ mtimedbfile = os.path.join(os.path.sep, settings['ROOT'], portage.CACHE_PATH, "mtimedb")
mtimedb = portage.MtimeDB(mtimedbfile)
portage.output._init(config_root=settings['PORTAGE_CONFIGROOT'])
return settings, trees, mtimedb
if not os.access(self["ROOT"] + EPREFIX_LSTRIP, os.W_OK):
return
- # gid, mode, mask, preserve_perms
+ # gid, mode, mask, preserve_perms
dir_mode_map = {
- EPREFIX_LSTRIP+"/tmp" : ( -1, 01777, 0, True),
- EPREFIX_LSTRIP+"/var/tmp" : ( -1, 01777, 0, True),
- EPREFIX_LSTRIP+"/"+PRIVATE_PATH :(portage_gid, 02750, 02, False),
- CACHE_PATH.lstrip(os.path.sep) : (portage_gid, 0755, 02, False)
+ EPREFIX_LSTRIP+"/tmp" : ( -1, 01777, 0, True),
+ EPREFIX_LSTRIP+"/var/tmp" : ( -1, 01777, 0, True),
+ EPREFIX_LSTRIP+"/"+PRIVATE_PATH : (portage_gid, 02750, 02, False),
+ CACHE_PATH : (portage_gid, 0755, 02, False)
}
for mypath, (gid, mode, modemask, preserve_perms) \
if settings is not None:
config_root = settings["PORTAGE_CONFIGROOT"]
deprecated_profile_file = os.path.join(config_root,
- DEPRECATED_PROFILE_FILE.lstrip(os.sep))
+ DEPRECATED_PROFILE_FILE)
if not os.access(deprecated_profile_file, os.R_OK):
return False
dcontent = codecs.open(_unicode_encode(deprecated_profile_file,
def _get_target(self):
global mtimedb, mtimedbfile, _mtimedb_initialized
if not _mtimedb_initialized:
- mtimedbfile = os.path.join("/",
- CACHE_PATH.lstrip(os.path.sep), "mtimedb")
+ mtimedbfile = os.path.join(os.path.sep,
+ CACHE_PATH, "mtimedb")
mtimedb = MtimeDB(mtimedbfile)
_mtimedb_initialized = True
name = object.__getattribute__(self, '_name')
from portage.const import CACHE_PATH
from urlparse import urlparse
urldata = urlparse(base_url)
- pkgindex_file = os.path.join(CACHE_PATH, "binhost",
+ pkgindex_file = os.path.join(self.settings["ROOT"], CACHE_PATH, "binhost",
urldata[1] + urldata[2], "Packages")
pkgindex = self._new_pkgindex()
try:
"repository", "RESTRICT" , "SLOT", "USE"])
self._aux_cache_obj = None
self._aux_cache_filename = os.path.join(self.root,
- CACHE_PATH.lstrip(os.path.sep), "vdb_metadata.pickle")
+ CACHE_PATH, "vdb_metadata.pickle")
self._counter_path = os.path.join(root,
- CACHE_PATH.lstrip(os.path.sep), "counter")
+ CACHE_PATH, "counter")
try:
self.plib_registry = PreservedLibsRegistry(self.root,
return list(self._iter_match(mydep,
self.cp_list(mydep.cp, use_cache=use_cache)))
try:
- curmtime = os.stat(self.root+VDB_PATH+"/"+mycat).st_mtime
+ curmtime = os.stat(os.path.join(self.root, VDB_PATH, mycat)).st_mtime
except (IOError, OSError):
curmtime=0
@rtype: list
@return: list of glsa IDs
"""
- return grabfile(os.path.join(os.sep, settings["ROOT"], CACHE_PATH.lstrip(os.sep), "glsa"))
+ return grabfile(os.path.join(os.sep, settings["ROOT"], CACHE_PATH, "glsa"))
# TODO: use the textwrap module instead
if not self.isApplied():
checkfile = codecs.open(
_unicode_encode(os.path.join(os.sep, self.config["ROOT"],
- CACHE_PATH.lstrip(os.sep), "glsa"),
+ CACHE_PATH, "glsa"),
encoding=_encodings['fs'], errors='strict'),
mode='a+', encoding=_encodings['content'], errors='strict')
checkfile.write(self.nr+"\n")
# most attributes exist twice as atoms and non-atoms are stored in
# separate files
self._lock = None
- self._filename = os.path.join(os.sep, root, EPREFIX_LSTRIP, PRIVATE_PATH.lstrip(os.sep), "world")
+ self._filename = os.path.join(os.sep, root, EPREFIX_LSTRIP, PRIVATE_PATH, "world")
self.loader = ItemFileLoader(self._filename, self._validate)
self._mtime = None
- self._filename2 = os.path.join(os.sep, root, EPREFIX_LSTRIP, PRIVATE_PATH.lstrip(os.sep), "world_sets")
+ self._filename2 = os.path.join(os.sep, root, EPREFIX_LSTRIP, PRIVATE_PATH, "world_sets")
self.loader2 = ItemFileLoader(self._filename2, self._validate2)
self._mtime2 = None