summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--man/make.conf.54
-rw-r--r--man/portage.55
-rw-r--r--pym/portage/package/ebuild/config.py15
3 files changed, 17 insertions, 7 deletions
diff --git a/man/make.conf.5 b/man/make.conf.5
index d110b3acd..540a15e4b 100644
--- a/man/make.conf.5
+++ b/man/make.conf.5
@@ -2,7 +2,7 @@
.SH "NAME"
make.conf \- custom settings for Portage
.SH "SYNOPSIS"
-.B /etc/make.conf
+\fB/etc/make.conf\fR and \fB/etc/portage/make.conf\fR
.SH "DESCRIPTION"
This file contains various variables that are used by Portage.
Portage will check the currently\-defined environment variables
@@ -809,7 +809,7 @@ Saleem Abdulrasool <compnerd@gentoo.org>
.fi
.SH "FILES"
.TP
-.B /etc/make.conf
+\fB/etc/make.conf\fR and \fB/etc/portage/make.conf\fR
Contains variables for the build\-process and overwrites those in make.defaults.
.TP
.B /etc/make.globals
diff --git a/man/portage.5 b/man/portage.5
index c3e8d8655..d13eee524 100644
--- a/man/portage.5
+++ b/man/portage.5
@@ -48,6 +48,7 @@ virtuals
bashrc
categories
color.map
+make.conf
mirrors
modules
package.keywords
@@ -437,6 +438,10 @@ media\-other
.BR color.map
Contains variables customizing colors. See \fBcolor.map\fR(5).
.TP
+.BR make.conf
+The global custom settings for Portage. See \fBmake.conf\fR(5).
+If present, this file will override settings from /etc/make.conf.
+.TP
.BR mirrors
Whenever portage encounters a mirror:// style URI it will look up the actual
hosts here. If the mirror set is not found here, it will check the global
diff --git a/pym/portage/package/ebuild/config.py b/pym/portage/package/ebuild/config.py
index cdfbdc28a..d01f7aeab 100644
--- a/pym/portage/package/ebuild/config.py
+++ b/pym/portage/package/ebuild/config.py
@@ -447,6 +447,7 @@ class config(object):
config_root)).rstrip(os.path.sep) + os.path.sep
check_var_directory("PORTAGE_CONFIGROOT", config_root)
+ abs_user_config = os.path.join(config_root, USER_CONFIG_PATH)
self.depcachedir = DEPCACHE_PATH
@@ -619,8 +620,11 @@ class config(object):
make_conf = getconfig(
os.path.join(config_root, MAKE_CONF_FILE),
tolerant=tolerant, allow_sourcing=True)
- if make_conf is None:
- make_conf = {}
+
+ make_conf.update(getconfig(
+ os.path.join(abs_user_config, 'make.conf'),
+ tolerant=tolerant, allow_sourcing=True,
+ expand=make_conf))
# Allow ROOT setting to come from make.conf if it's not overridden
# by the constructor argument (from the calling environment).
@@ -723,8 +727,10 @@ class config(object):
self.mygcfg = getconfig(
os.path.join(config_root, MAKE_CONF_FILE),
tolerant=tolerant, allow_sourcing=True, expand=expand_map)
- if self.mygcfg is None:
- self.mygcfg = {}
+
+ self.mygcfg.update(getconfig(
+ os.path.join(abs_user_config, 'make.conf'),
+ tolerant=tolerant, allow_sourcing=True, expand=expand_map))
# Don't allow the user to override certain variables in make.conf
profile_only_variables = self.configdict["defaults"].get(
@@ -778,7 +784,6 @@ class config(object):
self._plicensedict = portage.dep.ExtendedAtomDict(dict)
self._ppropertiesdict = portage.dep.ExtendedAtomDict(dict)
self.punmaskdict = portage.dep.ExtendedAtomDict(list)
- abs_user_config = os.path.join(config_root, USER_CONFIG_PATH)
# locations for "categories" and "arch.list" files
locations = [os.path.join(self["PORTDIR"], "profiles")]