#!/usr/bin/python -bb # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 from __future__ import print_function import os import sys from os import path as osp pym_path = osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym") sys.path.insert(0, pym_path) import portage portage._internal_caller = True from portage import os from portage.output import EOutput from portage.util._argparse import ArgumentParser from textwrap import wrap from portage._global_updates import _global_updates mysettings = portage.settings mytrees = portage.db mtimedb = portage.mtimedb description = """The fixpackages program performs package move updates on configuration files, installed packages, and binary packages.""" description = " ".join(description.split()) parser = ArgumentParser(description=description) parser.parse_args() if mysettings['ROOT'] != "/": out = EOutput() msg = "The fixpackages program is not intended for use with " + \ "ROOT != \"/\". Instead use `emaint --fix movebin` and/or " + \ "`emaint --fix moveinst." for line in wrap(msg, 72): out.eerror(line) sys.exit(1) try: os.nice(int(mysettings.get("PORTAGE_NICENESS", "0"))) except (OSError, ValueError) as e: portage.writemsg("!!! Failed to change nice value to '%s'\n" % \ mysettings["PORTAGE_NICENESS"]) portage.writemsg("!!! %s\n" % str(e)) del e _global_updates(mytrees, mtimedb["updates"], if_mtime_changed=False) print() print("Done.") print()