Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
for eroot in eroots:
if need_write_vardb and \
not trees[eroot]["vartree"].dbapi.writable:
writemsg_level("!!! %s\n" %
_("Read-only file system: %s") %
trees[eroot]["vartree"].dbapi._dbroot,
level=logging.ERROR, noiselevel=-1)
return 1
if need_write_bindb and eroot in ebuild_eroots and \
("buildpkg" in trees[eroot]["root_config"].
settings.features or
"buildsyspkg" in trees[eroot]["root_config"].
settings.features) and \
not trees[eroot]["bintree"].dbapi.writable:
writemsg_level("!!! %s\n" %
_("Read-only file system: %s") %
trees[eroot]["bintree"].pkgdir,
level=logging.ERROR, noiselevel=-1)
return 1
if ("--resume" in myopts):
favorites=mtimedb["resume"]["favorites"]
else:
if "resume" in mtimedb and \
"mergelist" in mtimedb["resume"] and \
len(mtimedb["resume"]["mergelist"]) > 1:
mtimedb["resume_backup"] = mtimedb["resume"]
del mtimedb["resume"]
mtimedb.commit()
for l in proc.stdout:
try:
l = _unicode_decode(l,
encoding=_encodings['content'], errors='strict')
except UnicodeDecodeError:
l = _unicode_decode(l,
encoding=_encodings['content'], errors='replace')
writemsg_level(_("\nError decoding characters " \
"returned from scanmacho: %s\n\n") % (l,),
level=logging.ERROR, noiselevel=-1)
l = l.rstrip("\n")
if not l:
continue
fields = l.split(";")
if len(fields) < 4:
writemsg_level("\nWrong number of fields " + \
"returned from scanmacho: %s\n\n" % (l,),
level=logging.ERROR, noiselevel=-1)
continue
fields[1] = fields[1][root_len:]
owner = plibs.pop(fields[1], None)
lines.append((owner, "scanmacho", ";".join(fields)))
proc.wait()
proc.stdout.close()
if plibs:
# Preserved libraries that did not appear in the scanmacho output.
# This is known to happen with statically linked libraries.
# Generate dummy lines for these, so we can assume that every
# preserved library has an entry in self._obj_properties. This
# is important in order to prevent findConsumers from raising
# an unwanted KeyError.
try:
unread = set(grabfile(unread_filename))
unread_orig = unread.copy()
skip = set(grabfile(skip_filename))
skip_orig = skip.copy()
except PermissionDenied:
return
for itemid in news:
try:
itemid = _unicode_decode(itemid,
encoding=_encodings['fs'], errors='strict')
except UnicodeDecodeError:
itemid = _unicode_decode(itemid,
encoding=_encodings['fs'], errors='replace')
writemsg_level(
_("!!! Invalid encoding in news item name: '%s'\n") % \
itemid, level=logging.ERROR, noiselevel=-1)
continue
if itemid in skip:
continue
filename = os.path.join(news_dir, itemid,
itemid + "." + self.language_id + ".txt")
if not os.path.isfile(filename):
continue
item = NewsItem(filename, itemid)
if not item.isValid():
continue
if item.isRelevant(profile=self._profile_path,
config=self.config, vardb=self.vdb):
unread.add(item.name)
def load(self):
debug = self._debug
if debug:
writemsg_level("\nPackagesSystemSet: profile paths: %s\n" % \
(self._profile_paths,), level=logging.DEBUG, noiselevel=-1)
mylist = [grabfile_package(os.path.join(x, "packages"),
recursive=True,
verify_eapi=True) for x in self._profile_paths]
if debug:
writemsg_level("\nPackagesSystemSet: raw packages: %s\n" % \
(mylist,), level=logging.DEBUG, noiselevel=-1)
mylist = stack_lists(mylist, incremental=1)
if debug:
writemsg_level("\nPackagesSystemSet: stacked packages: %s\n" % \
(mylist,), level=logging.DEBUG, noiselevel=-1)
def action_deselect(settings, trees, opts, atoms):
enter_invalid = '--ask-enter-invalid' in opts
root_config = trees[settings['EROOT']]['root_config']
world_set = root_config.sets['selected']
if not hasattr(world_set, 'update'):
writemsg_level("World @selected set does not appear to be mutable.\n",
level=logging.ERROR, noiselevel=-1)
return 1
pretend = '--pretend' in opts
locked = False
if not pretend and hasattr(world_set, 'lock'):
world_set.lock()
locked = True
try:
world_set.load()
world_atoms = world_set.getAtoms()
vardb = root_config.trees["vartree"].dbapi
expanded_atoms = set(atoms)
for atom in atoms:
if not atom.startswith(SETPREFIX):
_hooks = self.hooks["repo.postsync.d"]
else:
_hooks = self.hooks["postsync.d"]
for filepath in _hooks:
writemsg_level("Spawning post_sync hook: %s\n"
% (_unicode_decode(_hooks[filepath])),
level=logging.ERROR, noiselevel=4)
if reponame:
retval = portage.process.spawn(
[filepath, reponame, dosyncuri, repolocation],
env=self.settings.environ())
else:
retval = portage.process.spawn([filepath],
env=self.settings.environ())
if retval != os.EX_OK:
writemsg_level(" %s Spawn failed for: %s, %s\n" % (bad("*"),
_unicode_decode(_hooks[filepath]), filepath),
level=logging.ERROR, noiselevel=-1)
succeeded = retval
return succeeded
def _writemsg_level(self, msg, level=0, noiselevel=0):
log_path = self.settings.get("PORTAGE_LOG_FILE")
background = self.background
if log_path is None:
if not (background and level < logging.WARNING):
portage.util.writemsg_level(msg,
level=level, noiselevel=noiselevel)
else:
self.scheduler.output(msg, log_path=log_path,
level=level, noiselevel=noiselevel)
read_file = self._parser.readfp
for p in paths:
f = None
try:
f = io.open(_unicode_encode(p,
encoding=_encodings['fs'], errors='strict'),
mode='r', encoding=_encodings['repo.content'],
errors='replace')
except EnvironmentError:
pass
else:
try:
read_file(f)
except ParsingError as e:
writemsg_level(_unicode_decode(
_("!!! Error while reading sets config file: %s\n")
) % e, level=logging.ERROR, noiselevel=-1)
finally:
if f is not None:
f.close()
else:
self._create_default_config()
self.errors = []
self.psets = {}
self.trees = trees
self.settings = settings
self._parsed = False
self.active = []
else:
missing_sets_str = '"%s"' % missing_sets[-1]
msg = ["emerge: incomplete set configuration, " + \
"missing set(s): %s" % missing_sets_str]
if root_config.sets:
msg.append(" sets defined: %s" % ", ".join(root_config.sets))
global_config_path = portage.const.GLOBAL_CONFIG_PATH
if portage.const.EPREFIX:
global_config_path = os.path.join(portage.const.EPREFIX,
portage.const.GLOBAL_CONFIG_PATH.lstrip(os.sep))
msg.append(" This usually means that '%s'" % \
(os.path.join(global_config_path, "sets/portage.conf"),))
msg.append(" is missing or corrupt.")
msg.append(" Falling back to default world and system set configuration!!!")
for line in msg:
writemsg_level(line + "\n", level=logging.ERROR, noiselevel=-1)
writemsg_level( "Depstring: %s\n"
% (depstr,), noiselevel=-1, level=logging.DEBUG)
writemsg_level( "Priority: %s\n"
% (priority,), noiselevel=-1, level=logging.DEBUG)
try:
atoms = resolver._select_atoms(eroot, depstr,
myuse=node.use.enabled, parent=node,
priority=priority)[node]
except portage.exception.InvalidDependString:
# Ignore invalid deps of packages that will
# be uninstalled anyway.
continue
if debug:
writemsg_level("Candidates: [%s]\n" % \
', '.join("'%s'" % (x,) for x in atoms),
noiselevel=-1, level=logging.DEBUG)
for atom in atoms:
if not isinstance(atom, portage.dep.Atom):
# Ignore invalid atoms returned from dep_check().
continue
if atom.blocker:
continue
matches = vardb.match_pkgs(atom)
if not matches:
continue
for child_node in matches:
if child_node in clean_set:
mypriority = priority.copy()