# Copyright 2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ __all__ = ['deprecated_profile_check'] import codecs from portage import os, _encodings, _unicode_encode from portage.const import DEPRECATED_PROFILE_FILE from portage.localization import _ from portage.output import colorize from portage.util import writemsg def deprecated_profile_check(settings=None): config_root = "/" if settings is not None: config_root = settings["PORTAGE_CONFIGROOT"] deprecated_profile_file = os.path.join(config_root, DEPRECATED_PROFILE_FILE) if not os.access(deprecated_profile_file, os.R_OK): return False dcontent = codecs.open(_unicode_encode(deprecated_profile_file, encoding=_encodings['fs'], errors='strict'), mode='r', encoding=_encodings['content'], errors='replace').readlines() writemsg(colorize("BAD", _("\n!!! Your current profile is " "deprecated and not supported anymore.")) + "\n", noiselevel=-1) writemsg(colorize("BAD", _("!!! Use eselect profile to update your " "profile.")) + "\n", noiselevel=-1) if not dcontent: writemsg(colorize("BAD", _("!!! Please refer to the " "Gentoo Upgrading Guide.")) + "\n", noiselevel=-1) return True newprofile = dcontent[0] writemsg(colorize("BAD", _("!!! Please upgrade to the " "following profile if possible:")) + "\n", noiselevel=-1) writemsg(8*" " + colorize("GOOD", newprofile) + "\n", noiselevel=-1) if len(dcontent) > 1: writemsg(_("To upgrade do the following steps:\n"), noiselevel=-1) for myline in dcontent[1:]: writemsg(myline, noiselevel=-1) writemsg("\n\n", noiselevel=-1) return True