diff -ru portage-2.1-r2.orig/pym/portage.py portage-2.1-r2/pym/portage.py --- portage-2.1-r2.orig/pym/portage.py 2006-07-31 12:52:18.000000000 -0700 +++ portage-2.1-r2/pym/portage.py 2006-08-31 17:40:53.000000000 -0700 @@ -72,7 +72,7 @@ MOVE_BINARY, PRELINK_BINARY, WORLD_FILE, MAKE_CONF_FILE, MAKE_DEFAULTS_FILE, \ DEPRECATED_PROFILE_FILE, USER_VIRTUALS_FILE, EBUILD_SH_ENV_FILE, \ INVALID_ENV_FILE, CUSTOM_MIRRORS_FILE, CONFIG_MEMORY_FILE,\ - INCREMENTALS, EAPI, MISC_SH_BINARY + INCREMENTALS, EAPI, MISC_SH_BINARY, MAKE_CONF_DIR from portage_data import ostype, lchown, userland, secpass, uid, wheelgid, \ portage_uid, portage_gid @@ -1125,6 +1125,17 @@ allow_sourcing=True) if self.mygcfg is None: self.mygcfg = {} + + if os.path.isdir(os.path.join(config_root, MAKE_CONF_DIR)): + dirlist = os.listdir(os.path.join(config_root, MAKE_CONF_DIR)) + dirlist.sort() + for f in dirlist: + if not f.startswith(".") and f.endswith(".conf"): + self.mygcfg = getconfig( + os.path.join(config_root, MAKE_CONF_DIR, f), + allow_sourcing=True, + include_config=self.mygcfg) + except SystemExit, e: raise except Exception, e: diff -ru portage-2.1-r2.orig/pym/portage_const.py portage-2.1-r2/pym/portage_const.py --- portage-2.1-r2.orig/pym/portage_const.py 2006-06-20 18:14:50.000000000 -0700 +++ portage-2.1-r2/pym/portage_const.py 2006-08-31 17:41:06.000000000 -0700 @@ -32,6 +32,7 @@ WORLD_FILE = PRIVATE_PATH + "/world" MAKE_CONF_FILE = "/etc/make.conf" +MAKE_CONF_DIR = "/etc/make.conf.d" MAKE_DEFAULTS_FILE = PROFILE_PATH + "/make.defaults" DEPRECATED_PROFILE_FILE = PROFILE_PATH+"/deprecated" USER_VIRTUALS_FILE = USER_CONFIG_PATH+"/virtuals" diff -ru portage-2.1-r2.orig/pym/portage_util.py portage-2.1-r2/pym/portage_util.py --- portage-2.1-r2.orig/pym/portage_util.py 2006-07-31 12:05:16.000000000 -0700 +++ portage-2.1-r2/pym/portage_util.py 2006-08-31 17:41:02.000000000 -0700 @@ -215,8 +215,12 @@ return 0 return 1 -def getconfig(mycfg,tolerant=0,allow_sourcing=False): - mykeys={} +def getconfig(mycfg,tolerant=0,allow_sourcing=False,include_config=None): + if isinstance(include_config, dict): + mykeys=include_config + else: + mykeys={} + try: f=open(mycfg,'r') except IOError: