From 96b053ac52fa37fdd61cbb76cb44dfb90fb49f86 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Wed, 12 Sep 2012 00:28:51 -0700 Subject: [PATCH] Prefer /etc/portage/make.profile. This is the default location used by current versions of eselect profile, and will soon be the default location in stages. Since eselect profile generates a warning if both /etc/make.profile and /etc/portage/make.profile exist, the new default should be fairly safe (although eselect profile currently prefers /etc/make.profile when both exist). --- cnf/make.conf | 2 +- man/emerge.1 | 6 +++--- man/make.conf.5 | 4 ++-- man/portage.5 | 20 +++++++++---------- pym/_emerge/Scheduler.py | 5 +++-- pym/portage/const.py | 2 +- .../ebuild/_config/LocationsManager.py | 2 +- pym/portage/package/ebuild/config.py | 2 +- 8 files changed, 22 insertions(+), 21 deletions(-) diff --git a/cnf/make.conf b/cnf/make.conf index 7dcfbb930..7a6bff54b 100644 --- a/cnf/make.conf +++ b/cnf/make.conf @@ -92,7 +92,7 @@ # # PORTDIR is the location of the portage tree. This is the repository # for all profile information as well as all ebuilds. If you change -# this, you must update your /etc/make.profile symlink accordingly. +# this, you must update your /etc/portage/make.profile symlink accordingly. # ***Warning*** # Data stored inside PORTDIR is in peril of being overwritten or deleted by # the emerge --sync command. The default value of PORTAGE_RSYNC_OPTS diff --git a/man/emerge.1 b/man/emerge.1 index 679349054..a25c573bb 100644 --- a/man/emerge.1 +++ b/man/emerge.1 @@ -1083,7 +1083,7 @@ Contains user package set definitions (see \fBportage\fR(5)). Contains settings to handle automatic updates/backups of configuration files. .TP -.B /etc/make.profile/make.defaults +.B /etc/portage/make.profile/make.defaults Contains profile\-specific variables for the build process. \fBDo not edit this file\fR. .TP @@ -1091,11 +1091,11 @@ edit this file\fR. Contains the master list of USE flags with descriptions of their functions. \fBDo not edit this file\fR. .TP -.B /etc/make.profile/virtuals +.B /etc/portage/make.profile/virtuals Contains a list of default packages used to resolve virtual dependencies. \fBDo not edit this file\fR. .TP -.B /etc/make.profile/packages +.B /etc/portage/make.profile/packages Contains a list of packages used for the base system. The \fBsystem\fR and \fBworld\fR sets consult this file. \fBDo not edit this file\fR. .TP diff --git a/man/make.conf.5 b/man/make.conf.5 index d9babe10f..e2a16a51d 100644 --- a/man/make.conf.5 +++ b/man/make.conf.5 @@ -13,7 +13,7 @@ Portage then checks the make.conf files. Both /etc/make.conf and If no setting is found in the make.conf files, Portage checks make.globals. If no setting is found there, the profile's default setting is grabbed -from /etc/make.profile/make.defaults. Please note that all user +from /etc/portage/make.profile/make.defaults. Please note that all user settings should be made in the environment or in the make.conf files, which are intended to be customized by the user. .br @@ -855,7 +855,7 @@ This variable controls permissions for \fIWORKDIR\fR (see \fBebuild\fR(5)). \fBPORTDIR\fR = \fI[path]\fR Defines the location of the Portage tree. This is the repository for all profile information as well as all ebuilds. If you change this, you must update -your /etc/make.profile symlink accordingly. +your /etc/portage/make.profile symlink accordingly. .br Defaults to /usr/portage. .br diff --git a/man/portage.5 b/man/portage.5 index fc36ddbec..49f8dcda0 100644 --- a/man/portage.5 +++ b/man/portage.5 @@ -20,7 +20,7 @@ If you are looking for information on how to emerge something, please see .BR make.conf (5) .fi .TP -\fB/etc/make.profile/\fR or \fB/etc/portage/make.profile/\fR +\fB/etc/portage/make.profile/\fR or \fB/etc/make.profile/\fR site\-specific overrides go in \fB/etc/portage/profile/\fR .nf deprecated @@ -67,7 +67,7 @@ repos.conf package-specific bashrc files .TP .BR /etc/portage/profile/ -site-specific overrides of \fB/etc/make.profile/\fR +site-specific overrides of \fB/etc/portage/make.profile/\fR .TP .BR /etc/portage/sets/ user\-defined package sets @@ -201,18 +201,18 @@ More reading: The global custom settings for Portage. See \fBmake.conf\fR(5). .RE .TP -\fB/etc/make.profile/\fR or \fB/etc/portage/make.profile/\fR +\fB/etc/portage/make.profile/\fR or \fB/etc/make.profile/\fR This is usually just a symlink to the correct profile in \fB/usr/portage/profiles/\fR. Since it is part of the portage tree, it may easily be updated/regenerated by running `emerge \-\-sync`. It defines what a profile is (usually arch specific stuff). If you need a custom -profile, then you should make your own \fB/etc/make.profile/\fR +profile, then you should make your own \fBmake.profile\fR directory and populate it. However, if you just wish to override some settings, use \fB/etc/portage/profile/\fR (it supports all of the same file -types that \fB/etc/make.profile/\fR does, except parent). Do NOT edit the -settings in \fB/etc/make.profile/\fR because they WILL be lost with the next -`emerge \-\-sync`. If both \fB/etc/make.profile/\fR and -\fB/etc/portage/make.profile/\fR exist, then \fB/etc/make.profile/\fR +types that \fBmake.profile\fR does, except parent). Do NOT edit the +settings in \fBmake.profile\fR because they WILL be lost with the next +`emerge \-\-sync`. If both \fB/etc/portage/make.profile/\fR and +\fB/etc/make.profile/\fR exist, then \fB/etc/portage/make.profile/\fR will be preferred. Any file in this directory, directories of other profiles or top-level @@ -239,8 +239,8 @@ explaining how they can upgrade. .nf default-linux/x86/2005.0 # emerge -n '>=sys-apps/portage-2.0.51' -# rm -f /etc/make.profile -# ln -s /usr/portage/profiles/default-linux/alpha/2005.0 /etc/make.profile +# rm -f /etc/portage/make.profile +# ln -s /usr/portage/profiles/default-linux/alpha/2005.0 /etc/portage/make.profile .fi .TP .BR eapi diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py index 9f1c86e3a..795f50329 100644 --- a/pym/_emerge/Scheduler.py +++ b/pym/_emerge/Scheduler.py @@ -653,10 +653,11 @@ class Scheduler(PollScheduler): if value and value.strip(): continue msg = _("%(var)s is not set... " - "Are you missing the '%(configroot)setc/make.profile' symlink? " + "Are you missing the '%(configroot)s%(profile_path)s' symlink? " "Is the symlink correct? " "Is your portage tree complete?") % \ - {"var": var, "configroot": settings["PORTAGE_CONFIGROOT"]} + {"var": var, "configroot": settings["PORTAGE_CONFIGROOT"], + "profile_path": portage.const.PROFILE_PATH} out = portage.output.EOutput() for line in textwrap.wrap(msg, 70): diff --git a/pym/portage/const.py b/pym/portage/const.py index 3b8e350a2..1ebfdc8ef 100644 --- a/pym/portage/const.py +++ b/pym/portage/const.py @@ -36,7 +36,7 @@ EBUILD_SH_ENV_FILE = USER_CONFIG_PATH + "/bashrc" EBUILD_SH_ENV_DIR = USER_CONFIG_PATH + "/env" CUSTOM_MIRRORS_FILE = USER_CONFIG_PATH + "/mirrors" COLOR_MAP_FILE = USER_CONFIG_PATH + "/color.map" -PROFILE_PATH = "etc/make.profile" +PROFILE_PATH = USER_CONFIG_PATH + "/make.profile" MAKE_DEFAULTS_FILE = PROFILE_PATH + "/make.defaults" # FIXME: not used DEPRECATED_PROFILE_FILE = PROFILE_PATH + "/deprecated" diff --git a/pym/portage/package/ebuild/_config/LocationsManager.py b/pym/portage/package/ebuild/_config/LocationsManager.py index f7a1177e7..365d507f7 100644 --- a/pym/portage/package/ebuild/_config/LocationsManager.py +++ b/pym/portage/package/ebuild/_config/LocationsManager.py @@ -78,7 +78,7 @@ class LocationsManager(object): self.profile_path = self.config_profile_path else: self.config_profile_path = \ - os.path.join(self.abs_user_config, 'make.profile') + os.path.join(self.config_root, 'etc', 'make.profile') if os.path.isdir(self.config_profile_path): self.profile_path = self.config_profile_path else: diff --git a/pym/portage/package/ebuild/config.py b/pym/portage/package/ebuild/config.py index 8f3b59bc9..ffebd22d1 100644 --- a/pym/portage/package/ebuild/config.py +++ b/pym/portage/package/ebuild/config.py @@ -958,7 +958,7 @@ class config(object): if profile_broken: abs_profile_path = None - for x in (PROFILE_PATH, 'etc/portage/make.profile'): + for x in (PROFILE_PATH, 'etc/make.profile'): x = os.path.join(self["PORTAGE_CONFIGROOT"], x) try: os.lstat(x) -- 2.26.2