summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2006-05-01 08:48:30 +0000
committerZac Medico <zmedico@gentoo.org>2006-05-01 08:48:30 +0000
commitbcf4acfdac14d241c3f626d923568a2557547d1f (patch)
tree612fd1937345ccce25c8012cfa17d40b02088b20 /sys-apps
parent2.1_pre10-r1 revbump (diff)
downloadgentoo-2-bcf4acfdac14d241c3f626d923568a2557547d1f.tar.gz
gentoo-2-bcf4acfdac14d241c3f626d923568a2557547d1f.tar.bz2
gentoo-2-bcf4acfdac14d241c3f626d923568a2557547d1f.zip
2.1_pre10-r1 revbump
(Portage version: 2.1_pre10-r1) (Signed Manifest commit)
Diffstat (limited to 'sys-apps')
-rw-r--r--sys-apps/portage/Manifest28
-rw-r--r--sys-apps/portage/files/2.1/pre10/1000_r3291_bug_73350_configroot.patch286
-rw-r--r--sys-apps/portage/files/2.1/pre10/1010_r3292_bug_131820_noauto.patch38
-rw-r--r--sys-apps/portage/files/digest-portage-2.1_pre102
-rw-r--r--sys-apps/portage/portage-2.1_pre10.ebuild199
5 files changed, 341 insertions, 212 deletions
diff --git a/sys-apps/portage/Manifest b/sys-apps/portage/Manifest
index b5354ef9e147..d03809c3b3fd 100644
--- a/sys-apps/portage/Manifest
+++ b/sys-apps/portage/Manifest
@@ -7,6 +7,12 @@ RMD160 014194a1786a0983a8ba91c3924b798f353c330d files/05portage.envd 34
AUX 2.0.51.22-fixes.patch 10579 RMD160 aecbf663449b7b6c5fc8f4f343c30c1de7515fb3 SHA1 6305707411c213cd78f028952f7aabcb8b56e0ce size 10579
MD5 bb9cb80f927bcc2b9e0f512d8a200e18 files/2.0.51.22-fixes.patch 10579
RMD160 aecbf663449b7b6c5fc8f4f343c30c1de7515fb3 files/2.0.51.22-fixes.patch 10579
+AUX 2.1/pre10/1000_r3291_bug_73350_configroot.patch 10751 RMD160 9981b7f61bbef5efdfb9b8fbe92948aa6ec6402e SHA1 0043b2c38b279790993c52baed9fd423e70647d5 size 10751
+MD5 8dc5b7f88e013575213591d0becf3a14 files/2.1/pre10/1000_r3291_bug_73350_configroot.patch 10751
+RMD160 9981b7f61bbef5efdfb9b8fbe92948aa6ec6402e files/2.1/pre10/1000_r3291_bug_73350_configroot.patch 10751
+AUX 2.1/pre10/1010_r3292_bug_131820_noauto.patch 1160 RMD160 5957328f21b0c104ff63e88e066fc764af0d6c89 SHA1 92d5202b0be14fcda4e619a22cf0f6155be90031 size 1160
+MD5 f1e6b75c0f6604a95f6add5a3f196663 files/2.1/pre10/1010_r3292_bug_131820_noauto.patch 1160
+RMD160 5957328f21b0c104ff63e88e066fc764af0d6c89 files/2.1/pre10/1010_r3292_bug_131820_noauto.patch 1160
AUX 2.1/pre9/1000_r3171_readDigests.patch 832 RMD160 f7651885f6d7bcabaf4e55205f7d3a6e8745d4eb SHA1 ee3734080508cd029309a2ee06a18c25193af806 size 832
MD5 8ac999b2be9fc08e60876a33a9b18bbd files/2.1/pre9/1000_r3171_readDigests.patch 832
RMD160 f7651885f6d7bcabaf4e55205f7d3a6e8745d4eb files/2.1/pre9/1000_r3171_readDigests.patch 832
@@ -122,18 +128,18 @@ RMD160 c654aaedcd2c20c78b8ced9ba5407af631819e96 portage-2.0.54-r1.ebuild 3998
EBUILD portage-2.0.54.ebuild 3891 RMD160 4e64e86813b5bbdfbce76d76a56b5afd2305b2f8 SHA1 e499b0e717d7de8947bca591ecbcf3b71b744853 size 3891
MD5 f9c41fcd6a2155552f0cacbe7a62101c portage-2.0.54.ebuild 3891
RMD160 4e64e86813b5bbdfbce76d76a56b5afd2305b2f8 portage-2.0.54.ebuild 3891
-EBUILD portage-2.1_pre10.ebuild 5731 RMD160 b8a917044ac4039ab036eec39d922a14cb38e3be SHA1 b00025a07ab45bb4b0e438ededbe3a9e75fc4550 size 5731
-MD5 0862f0e0162eadebd6a107bb3c25e296 portage-2.1_pre10.ebuild 5731
-RMD160 b8a917044ac4039ab036eec39d922a14cb38e3be portage-2.1_pre10.ebuild 5731
+EBUILD portage-2.1_pre10-r1.ebuild 5808 RMD160 9fe7a86939b9732e96208da09665d62ec4101003 SHA1 04dac60d89fd1f83baa850d3e5751ae88c70bb20 size 5808
+MD5 d45f5c7e54f9f62952f444ef80b35540 portage-2.1_pre10-r1.ebuild 5808
+RMD160 9fe7a86939b9732e96208da09665d62ec4101003 portage-2.1_pre10-r1.ebuild 5808
EBUILD portage-2.1_pre7-r5.ebuild 5990 RMD160 2b36bc22a0b19f920e856d3113131ca374d57a85 SHA1 5d3ccabb8bd714b4d05f46e64016507655a6ef71 size 5990
MD5 6ef8ace6b92df29e8a3f528127f48c06 portage-2.1_pre7-r5.ebuild 5990
RMD160 2b36bc22a0b19f920e856d3113131ca374d57a85 portage-2.1_pre7-r5.ebuild 5990
EBUILD portage-2.1_pre9-r5.ebuild 6180 RMD160 71271c686b9178700380fcc5cfdb6a1057f8c338 SHA1 f47b1da18e95a44a17ab37cde4f2d98945bb3f1f size 6180
MD5 7d6fdf4428877b6d56eca645c9f53698 portage-2.1_pre9-r5.ebuild 6180
RMD160 71271c686b9178700380fcc5cfdb6a1057f8c338 portage-2.1_pre9-r5.ebuild 6180
-MISC ChangeLog 18108 RMD160 847233511ef337595dab9d93c7bb95137925d8d1 SHA1 0b708966fb0df57743622a9181d54d94ff73019a size 18108
-MD5 68c15fa602a733850e3c7f4446c26bdb ChangeLog 18108
-RMD160 847233511ef337595dab9d93c7bb95137925d8d1 ChangeLog 18108
+MISC ChangeLog 18378 RMD160 b39dc7804cd2e7846ba32e5bf8b5ad83c0cf84fa SHA1 03e032fdfe7cc22739c2690a82fcc875d6bb234a size 18378
+MD5 084bd89d8ce0a5c80872f57a5aa21fd1 ChangeLog 18378
+RMD160 b39dc7804cd2e7846ba32e5bf8b5ad83c0cf84fa ChangeLog 18378
MISC metadata.xml 276 RMD160 addc800a374a637032ce56d1a1928542d5c9ef74 SHA1 73bd9b0dacf481b876934c38010be20a91eaf591 size 276
MD5 dc02eeaf8060043bfa8d483a42696963 metadata.xml 276
RMD160 addc800a374a637032ce56d1a1928542d5c9ef74 metadata.xml 276
@@ -145,8 +151,8 @@ MD5 65372f5d0f6b19c94cdae92150cdab01 files/digest-portage-2.0.54 145
RMD160 603688a05b8057b777d33ebefb17e1c9fcc4b938 files/digest-portage-2.0.54 145
MD5 5b857931bd168ec3192114e2ab6c5a72 files/digest-portage-2.0.54-r1 306
RMD160 990b4d62ad267177500fbaf3b8170c9de54b304f files/digest-portage-2.0.54-r1 306
-MD5 e58dcba277a524c51f55d4edc3f339de files/digest-portage-2.1_pre10 151
-RMD160 e0ea7e4b4dd248a3511aad5abbe3f58fdd740d0e files/digest-portage-2.1_pre10 151
+MD5 e58dcba277a524c51f55d4edc3f339de files/digest-portage-2.1_pre10-r1 151
+RMD160 e0ea7e4b4dd248a3511aad5abbe3f58fdd740d0e files/digest-portage-2.1_pre10-r1 151
MD5 d00b518df8792d6ec867bd936b53894b files/digest-portage-2.1_pre7-r5 149
RMD160 c927ddb9bfa13c4472abf0123fde195e7d393d86 files/digest-portage-2.1_pre7-r5 149
MD5 082c53e9ecdde29d87558c85841c90a6 files/digest-portage-2.1_pre9-r5 149
@@ -154,7 +160,7 @@ RMD160 fabe751bf6110c0cfbd0559b41dc38b44c7e68ac files/digest-portage-2.1_pre9-r5
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)
-iD8DBQFEU6NPW78445TWHXcRAlsVAJ0TBhFDZIOYCKsjVeXewGFr7BNMSgCgmdZt
-NpBARbHKKQGJd7sOE0oKKhs=
-=tNtj
+iD8DBQFEVctM/ejvha5XGaMRAiOnAJ0TvRM+j+/CjMzzZxD3MN9fCuj8uQCfWEap
+UWPJbnqqGZ9V5ekcJLjN6N4=
+=56Ot
-----END PGP SIGNATURE-----
diff --git a/sys-apps/portage/files/2.1/pre10/1000_r3291_bug_73350_configroot.patch b/sys-apps/portage/files/2.1/pre10/1000_r3291_bug_73350_configroot.patch
new file mode 100644
index 000000000000..35628b03dc98
--- /dev/null
+++ b/sys-apps/portage/files/2.1/pre10/1000_r3291_bug_73350_configroot.patch
@@ -0,0 +1,286 @@
+=== modified file 'bin/ebuild.sh'
+--- bin/ebuild.sh
++++ bin/ebuild.sh
+@@ -3,7 +3,11 @@
+ # Distributed under the terms of the GNU General Public License v2
+ # $Id: 1000_r3291_bug_73350_configroot.patch,v 1.1 2006/05/01 08:48:30 zmedico Exp $
+
+-export SANDBOX_PREDICT="${SANDBOX_PREDICT}:/proc/self/maps:/dev/console:/usr/lib/portage/pym:/dev/random"
++PORTAGE_BIN_PATH="${PORTAGE_BIN_PATH:-/usr/lib/portage/bin}"
++PORTAGE_PYM_PATH="${PORTAGE_PYM_PATH:-/usr/lib/portage/pym}"
++declare -rx PORTAGE_BIN_PATH PORTAGE_PYM_PATH
++
++export SANDBOX_PREDICT="${SANDBOX_PREDICT}:/proc/self/maps:/dev/console:${PORTAGE_PYM_PATH}:/dev/random"
+ export SANDBOX_WRITE="${SANDBOX_WRITE}:/dev/shm:/dev/stdout:/dev/stderr:${PORTAGE_TMPDIR}"
+ export SANDBOX_READ="${SANDBOX_READ}:/dev/shm:/dev/stdin:${PORTAGE_TMPDIR}"
+
+@@ -55,10 +59,10 @@
+ [ ! -z "$OCC" ] && export CC="$OCC"
+ [ ! -z "$OCXX" ] && export CXX="$OCXX"
+
+-export PATH="/usr/local/sbin:/sbin:/usr/sbin:/usr/lib/portage/bin:/usr/local/bin:/bin:/usr/bin:${ROOTPATH}"
++export PATH="/usr/local/sbin:/sbin:/usr/sbin:${PORTAGE_BIN_PATH}:/usr/local/bin:/bin:/usr/bin:${ROOTPATH}"
+ [ ! -z "$PREROOTPATH" ] && export PATH="${PREROOTPATH%%:}:$PATH"
+
+-source /usr/lib/portage/bin/isolated-functions.sh &>/dev/null
++source "${PORTAGE_BIN_PATH}/isolated-functions.sh" &>/dev/null
+
+ case "${NOCOLOR:-false}" in
+ yes|true)
+@@ -158,7 +162,7 @@
+ fi
+ # return shell-true/shell-false if exists.
+ # Takes single depend-type atoms.
+- if /usr/lib/portage/bin/portageq 'has_version' "${ROOT}" "$1"; then
++ if "${PORTAGE_BIN_PATH}/portageq" 'has_version' "${ROOT}" "$1"; then
+ return 0
+ else
+ return 1
+@@ -169,7 +173,7 @@
+ if [ "${EBUILD_PHASE}" == "depend" ]; then
+ die "portageq calls are not allowed in the global scope"
+ fi
+- /usr/lib/portage/bin/portageq "$@"
++ "${PORTAGE_BIN_PATH}/portageq" "$@"
+ }
+
+
+@@ -184,7 +188,7 @@
+ fi
+ # returns the best/most-current match.
+ # Takes single depend-type atoms.
+- /usr/lib/portage/bin/portageq 'best_version' "${ROOT}" "$1"
++ "${PORTAGE_BIN_PATH}/portageq" 'best_version' "${ROOT}" "$1"
+ }
+
+ use_with() {
+
+=== modified file 'bin/misc-functions.sh'
+--- bin/misc-functions.sh
++++ bin/misc-functions.sh
+@@ -14,7 +14,8 @@
+ # XXX hack: clear the args so ebuild.sh doesn't see them
+ MISC_FUNCTIONS_ARGS="$@"
+ shift $#
+-source /usr/lib/portage/bin/ebuild.sh
++
++source "${PORTAGE_BIN_PATH:-/usr/lib/portage/bin}/ebuild.sh"
+
+ install_qa_check() {
+
+
+=== modified file 'pym/portage.py'
+--- pym/portage.py
++++ pym/portage.py
+@@ -895,7 +895,8 @@
+ raise TypeError, "Invalid type for config object: %s" % test.__class__
+
+ class config:
+- def __init__(self, clone=None, mycpv=None, config_profile_path=None, config_incrementals=None):
++ def __init__(self, clone=None, mycpv=None, config_profile_path=None,
++ config_incrementals=None, config_root="/", target_root="/"):
+
+ self.already_in_regenerate = 0
+
+@@ -960,13 +961,32 @@
+ self.uvlist = copy.deepcopy(clone.uvlist)
+ self.dirVirtuals = copy.deepcopy(clone.dirVirtuals)
+ self.treeVirtuals = copy.deepcopy(clone.treeVirtuals)
++ config_root = self.backupenv["PORTAGE_CONFIGROOT"]
++ target_root = self.backupenv["ROOT"]
+ else:
++
++ # backupenv is for calculated incremental variables.
++ self.backupenv = os.environ.copy()
++
++ config_root = config_root.rstrip(os.path.sep) + os.path.sep
++ target_root = target_root.rstrip(os.path.sep) + os.path.sep
++
++ for k, v in (("PORTAGE_CONFIGROOT", config_root),
++ ("ROOT", target_root)):
++ if not os.path.isdir(v):
++ writemsg("!!! Error: %s='%s' is not a directory. Please correct this.\n" % (k, v))
++ raise portage_exception.DirectoryNotFound(v)
++
++ self.backupenv["PORTAGE_CONFIGROOT"] = config_root
++ self.backupenv["ROOT"] = target_root
++
+ self.depcachedir = DEPCACHE_PATH
+
+ if not config_profile_path:
+- writemsg("config_profile_path not specified to class config\n")
+- if os.path.isdir(PROFILE_PATH):
+- self.profile_path = PROFILE_PATH
++ config_profile_path = \
++ os.path.join(config_root, PROFILE_PATH.lstrip(os.path.sep))
++ if os.path.isdir(config_profile_path):
++ self.profile_path = config_profile_path
+ else:
+ self.profile_path = None
+ else:
+@@ -980,7 +1000,8 @@
+
+ self.module_priority = ["user","default"]
+ self.modules = {}
+- self.modules["user"] = getconfig(MODULES_FILE_PATH)
++ self.modules["user"] = getconfig(
++ os.path.join(config_root, MODULES_FILE_PATH.lstrip(os.path.sep)))
+ if self.modules["user"] is None:
+ self.modules["user"] = {}
+ self.modules["default"] = {
+@@ -990,7 +1011,7 @@
+
+ self.usemask=[]
+ self.configlist=[]
+- self.backupenv={}
++
+ # back up our incremental variables:
+ self.configdict={}
+ # configlist will contain: [ globals, defaults, conf, pkg, auto, backupenv (incrementals), origenv ]
+@@ -1012,10 +1033,12 @@
+ if os.environ.has_key("PORTAGE_CALLER") and os.environ["PORTAGE_CALLER"] == "repoman":
+ pass
+ else:
+- # XXX: This should depend on ROOT?
+- if os.path.exists("/"+CUSTOM_PROFILE_PATH):
+- self.user_profile_dir = os.path.normpath("/"+"///"+CUSTOM_PROFILE_PATH)
+- self.profiles.append(self.user_profile_dir[:])
++ custom_prof = os.path.join(
++ config_root, CUSTOM_PROFILE_PATH.lstrip(os.path.sep))
++ if os.path.exists(custom_prof):
++ self.user_profile_dir = custom_prof
++ self.profiles.append(custom_prof)
++ del custom_prof
+
+ self.packages_list = [grabfile_package(os.path.join(x, "packages")) for x in self.profiles]
+ self.packages = stack_lists(self.packages_list, incremental=1)
+@@ -1040,7 +1063,8 @@
+ del use_defs_lists
+
+ try:
+- mygcfg_dlists = [getconfig(os.path.join(x, "make.globals")) for x in self.profiles+["/etc"]]
++ mygcfg_dlists = [getconfig(os.path.join(x, "make.globals")) \
++ for x in self.profiles + [os.path.join(config_root, "etc")]]
+ self.mygcfg = stack_dicts(mygcfg_dlists, incrementals=portage_const.INCREMENTALS, ignore_none=1)
+
+ if self.mygcfg is None:
+@@ -1075,8 +1099,9 @@
+ self.configdict["defaults"]=self.configlist[-1]
+
+ try:
+- # XXX: Should depend on root?
+- self.mygcfg=getconfig("/"+MAKE_CONF_FILE,allow_sourcing=True)
++ self.mygcfg = getconfig(
++ os.path.join(config_root, MAKE_CONF_FILE.lstrip(os.path.sep)),
++ allow_sourcing=True)
+ if self.mygcfg is None:
+ self.mygcfg = {}
+ except SystemExit, e:
+@@ -1097,8 +1122,6 @@
+ self.configlist.append({})
+ self.configdict["auto"]=self.configlist[-1]
+
+- #backup-env (for recording our calculated incremental variables:)
+- self.backupenv = os.environ.copy()
+ self.configlist.append(self.backupenv) # XXX Why though?
+ self.configdict["backupenv"]=self.configlist[-1]
+
+@@ -1117,13 +1140,17 @@
+ self.pkeywordsdict = {}
+ self.punmaskdict = {}
+ else:
+- locations = [self["PORTDIR"] + "/profiles", USER_CONFIG_PATH]
++ abs_user_config = os.path.join(config_root,
++ USER_CONFIG_PATH.lstrip(os.path.sep))
++ locations = [os.path.join(self["PORTDIR"], "profiles"),
++ abs_user_config]
+ for ov in self["PORTDIR_OVERLAY"].split():
+ ov = os.path.normpath(ov)
+ if os.path.isdir(ov+"/profiles"):
+ locations.append(ov+"/profiles")
+
+- pusedict=grabdict_package(USER_CONFIG_PATH+"/package.use", recursive=1)
++ pusedict = grabdict_package(
++ os.path.join(abs_user_config, "package.use"), recursive=1)
+ self.pusedict = {}
+ for key in pusedict.keys():
+ cp = dep_getkey(key)
+@@ -1132,7 +1159,9 @@
+ self.pusedict[cp][key] = pusedict[key]
+
+ #package.keywords
+- pkgdict=grabdict_package(USER_CONFIG_PATH+"/package.keywords", recursive=1)
++ pkgdict = grabdict_package(
++ os.path.join(abs_user_config, "package.keywords"),
++ recursive=1)
+ self.pkeywordsdict = {}
+ for key in pkgdict.keys():
+ # default to ~arch if no specific keyword is given
+@@ -1152,7 +1181,9 @@
+ self.pkeywordsdict[cp][key] = pkgdict[key]
+
+ #package.unmask
+- pkgunmasklines = grabfile_package(USER_CONFIG_PATH+"/package.unmask",recursive=1)
++ pkgunmasklines = grabfile_package(
++ os.path.join(abs_user_config, "package.unmask"),
++ recursive=1)
+ self.punmaskdict = {}
+ for x in pkgunmasklines:
+ mycatpkg=dep_getkey(x)
+@@ -1284,15 +1315,8 @@
+ if mycpv:
+ self.setcpv(mycpv)
+
+- myroot = self.get("ROOT", "/")
+- myroot = myroot.rstrip(os.path.sep) + os.path.sep
+- if not os.path.exists(myroot):
+- writemsg("!!! Error: ROOT '%s' does not exist. Please correct this.\n" % myroot)
+- raise portage_exception.DirectoryNotFound(myroot)
+- elif not os.path.isdir(myroot):
+- writemsg("!!! Error: ROOT '%s' is not a directory. Please correct this.\n" % myroot[:-1])
+- raise portage_exception.DirectoryNotFound(myroot)
+- self.backupenv["ROOT"] = myroot
++ self.backupenv["PORTAGE_BIN_PATH"] = PORTAGE_BIN_PATH
++ self.backupenv["PORTAGE_PYM_PATH"] = PORTAGE_PYM_PATH
+
+ self._init_dirs()
+
+@@ -1327,13 +1351,17 @@
+ if group not in archlist and group[0] != '-':
+ writemsg("!!! INVALID ACCEPT_KEYWORDS: %s\n" % str(group))
+
+- if not os.path.islink(PROFILE_PATH) and \
++ abs_profile_path = os.path.join(self["PORTAGE_CONFIGROOT"],
++ PROFILE_PATH.lstrip(os.path.sep))
++ if not os.path.islink(abs_profile_path) and \
+ os.path.exists(os.path.join(self["PORTDIR"], "profiles")):
+- writemsg("\a\n\n!!! %s is not a symlink and will probably prevent most merges.\n" % PROFILE_PATH)
++ writemsg("\a\n\n!!! %s is not a symlink and will probably prevent most merges.\n" % abs_profile_path)
+ writemsg("!!! It should point into a profile within %s/profiles/\n" % self["PORTDIR"])
+ writemsg("!!! (You can safely ignore this message when syncing. It's harmless.)\n\n\n")
+
+- if os.path.exists(USER_VIRTUALS_FILE):
++ abs_user_virtuals = os.path.join(self["PORTAGE_CONFIGROOT"],
++ USER_VIRTUALS_FILE.lstrip(os.path.sep))
++ if os.path.exists(abs_user_virtuals):
+ writemsg("\n!!! /etc/portage/virtuals is deprecated in favor of\n")
+ writemsg("!!! /etc/portage/profile/virtuals. Please move it to\n")
+ writemsg("!!! this new location.\n\n")
+@@ -6860,9 +6888,14 @@
+ archlist, features, groups, pkglines, thirdpartymirrors, usedefaults, \
+ profiledir, flushmtimedb
+
++ kwargs = {}
++ for k, envvar in (("config_root", "PORTAGE_CONFIGROOT"), ("target_root", "ROOT")):
++ kwargs[k] = os.environ.get(envvar, "/")
++
+ try:
+- settings = config(config_profile_path=PROFILE_PATH,
+- config_incrementals=portage_const.INCREMENTALS)
++ settings = config(
++ config_incrementals=portage_const.INCREMENTALS, **kwargs)
++ del kwargs
+ except portage_exception.DirectoryNotFound, e:
+ writemsg("!!! Directory Not Found: %s\n" % str(e))
+ sys.exit(1)
+
diff --git a/sys-apps/portage/files/2.1/pre10/1010_r3292_bug_131820_noauto.patch b/sys-apps/portage/files/2.1/pre10/1010_r3292_bug_131820_noauto.patch
new file mode 100644
index 000000000000..8b882e13c75d
--- /dev/null
+++ b/sys-apps/portage/files/2.1/pre10/1010_r3292_bug_131820_noauto.patch
@@ -0,0 +1,38 @@
+=== modified file 'bin/emerge'
+--- bin/emerge
++++ bin/emerge
+@@ -168,8 +168,13 @@
+ portage.portdb.freeze()
+
+ # Kill noauto as it will break merges otherwise.
+-while 'noauto' in portage.settings.features:
+- portage.settings.features.remove('noauto')
++if "noauto" in portage.settings.features:
++ while "noauto" in portage.settings.features:
++ portage.settings.features.remove("noauto")
++ portage.settings.unlock()
++ portage.settings["FEATURES"] = " ".join(portage.settings.features)
++ portage.settings.backup_changes("FEATURES")
++ portage.settings.lock()
+
+ #number of ebuilds merged
+ merged=0
+
+=== modified file 'pym/portage.py'
+--- pym/portage.py
++++ pym/portage.py
+@@ -1287,7 +1287,12 @@
+ self["PORTDIR_OVERLAY"] = string.join(new_ov)
+ self.backup_changes("PORTDIR_OVERLAY")
+
+- self.regenerate()
++ # XXX
++ # The below self.regenerate() causes previous changes to FEATURES (and
++ # other incrementals) to be reverted. If this instance is a clone, we
++ # need to skip regenerate() so that the copied values are preserved.
++ if clone is None:
++ self.regenerate()
+
+ self.features = portage_util.unique_array(self["FEATURES"].split())
+
+
diff --git a/sys-apps/portage/files/digest-portage-2.1_pre10 b/sys-apps/portage/files/digest-portage-2.1_pre10
deleted file mode 100644
index 3f6194aecb73..000000000000
--- a/sys-apps/portage/files/digest-portage-2.1_pre10
+++ /dev/null
@@ -1,2 +0,0 @@
-MD5 ba74433ad7d1471074e79ac512ad6158 portage-2.1_pre10.tar.bz2 265067
-RMD160 5fa51f0ecc7ccf5072a9765c81cf3e0a593b1de2 portage-2.1_pre10.tar.bz2 265067
diff --git a/sys-apps/portage/portage-2.1_pre10.ebuild b/sys-apps/portage/portage-2.1_pre10.ebuild
deleted file mode 100644
index 80a08ff37a93..000000000000
--- a/sys-apps/portage/portage-2.1_pre10.ebuild
+++ /dev/null
@@ -1,199 +0,0 @@
-# Copyright 1999-2006 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/portage-2.1_pre10.ebuild,v 1.1 2006/04/29 14:41:17 zmedico Exp $
-
-inherit toolchain-funcs
-
-DESCRIPTION="The Portage Package Management System. The primary package management and distribution system for Gentoo."
-HOMEPAGE="http://www.gentoo.org/"
-SRC_URI="mirror://gentoo/${PN}-${PV}.tar.bz2 http://dev.gentoo.org/~zmedico/portage/archives/${PN}-${PV}.tar.bz2"
-LICENSE="GPL-2"
-
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc-macos ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
-
-SLOT="0"
-IUSE="build doc selinux"
-DEPEND=">=dev-lang/python-2.3"
-RDEPEND="!build? ( >=sys-apps/sed-4.0.5 \
- dev-python/python-fchksum \
- >=dev-lang/python-2.3 \
- userland_GNU? ( sys-apps/debianutils ) \
- >=app-shells/bash-2.05a ) \
- elibc_glibc? ( sys-apps/sandbox )
- elibc_uclibc? ( sys-apps/sandbox )
- !userland_Darwin? ( >=app-misc/pax-utils-0.1.10 )
- selinux? ( >=dev-python/python-selinux-2.15 ) \
- doc? ( app-portage/portage-manpages )
- >=dev-python/pycrypto-2.0.1-r5"
-
-PROVIDE="virtual/portage"
-
-S=${WORKDIR}/${PN}-${PV}
-
-portage_docs() {
- einfo ""
- einfo "For help with using portage please consult the Gentoo Handbook"
- einfo "at http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3"
- einfo ""
-}
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
- local my_patches=""
- local patches_dir="${PV%_*}/${PV/*_}"
- for patch_name in ${my_patches}; do
- einfo "Applying ${patch_name} ..."
- patch -p0 --no-backup-if-mismatch < \
- "${FILESDIR}"/${patches_dir}/${patch_name} >/dev/null || \
- die "Failed to apply patch"
- done
- if [ "${PR}" != "r0" ]; then
- einfo "Setting portage.VERSION to ${PVR} ..."
- sed -i "s/^VERSION=.*/VERSION=\"${PVR}\"/" pym/portage.py || \
- die "Failed to patch portage.VERSION"
- fi
-}
-
-src_compile() {
- python -O -c "import compileall; compileall.compile_dir('${S}/pym')"
-
- cd "${S}"/src
- $(tc-getCC) ${CFLAGS} ${LDFLAGS} -o tbz2tool tbz2tool.c || \
- die "Failed to build tbz2tool"
-
- if ! use userland_Darwin; then
- cd "${S}"/src/python-missingos
- chmod +x setup.py
- ./setup.py build || die "Failed to build missingos module"
- fi
-
- if use elibc_FreeBSD; then
- cd "${S}"/src/bsd-flags
- chmod +x setup.py
- ./setup.py build || die "Failed to install bsd-chflags module"
- fi
-}
-
-src_install() {
- cd "${S}"/cnf
- insinto /etc
- doins etc-update.conf dispatch-conf.conf make.globals
- if [ -f "make.conf.${ARCH}".diff ]; then
- patch make.conf "make.conf.${ARCH}".diff || \
- die "Failed to patch make.conf.example"
- newins make.conf make.conf.example
- else
- eerror ""
- eerror "Portage does not have an arch-specific configuration for this arch."
- eerror "Please notify the arch maintainer about this issue. Using generic."
- eerror ""
- newins make.conf make.conf.example
- fi
-
- if ! use userland_Darwin; then
- cd "${S}"/src/python-missingos
- ./setup.py install --root ${D} || \
- die "Failed to install missingos module"
- fi
-
- if use elibc_FreeBSD; then
- cd "${S}"/src/bsd-flags
- ./setup.py install --root ${D} || \
- die "Failed to install bsd-chflags module"
- fi
-
- dodir /usr/lib/portage/bin
- exeinto /usr/lib/portage/bin
- # BSD and OSX need a sed wrapper so that find/xargs work properly
- if use userland_GNU; then
- rm "${S}"/bin/sed
- fi
- cd "${S}"/bin
- doexe *
- doexe "${S}"/src/tbz2tool
- dosym newins /usr/lib/portage/bin/donewins
-
- for mydir in pym pym/cache pym/elog_modules; do
- dodir /usr/lib/portage/${mydir}
- insinto /usr/lib/portage/${mydir}
- cd "${S}"/${mydir}
- doins *.py *.pyo
- done
-
- doman "${S}"/man/*.[0-9]
- dodoc "${S}"/ChangeLog
- dodoc "${S}"/NEWS
- dodoc "${S}"/RELEASE-NOTES
-
- dodir /usr/bin
- for x in ebuild emerge portageq repoman tbz2tool xpak; do
- dosym ../lib/portage/bin/${x} /usr/bin/${x}
- done
-
- dodir /usr/sbin
- local my_syms="archive-conf
- dispatch-conf
- emaint
- emerge-webrsync
- env-update
- etc-update
- fixpackages
- quickpkg
- regenworld"
- for x in ${my_syms}; do
- dosym ../lib/portage/bin/${x} /usr/sbin/${x}
- done
-
- dodir /etc/portage
- keepdir /etc/portage
-
- doenvd "${FILESDIR}"/05portage.envd
-}
-
-pkg_preinst() {
- if has livecvsportage ${FEATURES} && [ "${ROOT}" = "/" ]; then
- rm -rf ${IMAGE}/usr/lib/portage/pym/*
- mv ${IMAGE}/usr/lib/portage/bin/tbz2tool ${T}
- rm -rf ${IMAGE}/usr/lib/portage/bin/*
- mv ${T}/tbz2tool ${IMAGE}/usr/lib/portage/bin/
- else
- for mydir in pym pym/cache pym/elog_modules; do
- rm /usr/lib/portage/${mydir}/*.pyc >& /dev/null
- rm /usr/lib/portage/${mydir}/*.pyo >& /dev/null
- done
- fi
-}
-
-pkg_postinst() {
- local x
-
- if [ ! -f "${ROOT}/var/lib/portage/world" ] &&
- [ -f ${ROOT}/var/cache/edb/world ] &&
- [ ! -h ${ROOT}/var/cache/edb/world ]; then
- mv ${ROOT}/var/cache/edb/world ${ROOT}/var/lib/portage/world
- ln -s ../../lib/portage/world /var/cache/edb/world
- fi
-
- for x in ${ROOT}etc/._cfg????_make.globals; do
- # Overwrite the globals file automatically.
- [ -e "${x}" ] && mv -f "${x}" "${ROOT}etc/make.globals"
- done
-
- ewarn "This series contains a completely rewritten caching framework."
- ewarn "If you are using any cache modules (such as the CDB cache"
- ewarn "module) portage will not work until they have been disabled."
- echo
- einfo "The default cache format has changed between 2.0.x and 2.1"
- einfo "versions. If you have upgraded from 2.0.x, before using"
- einfo "emerge, run \`emerge --metadata\` to restore portage's local"
- einfo "cache."
- echo
- einfo "Flag ordering has changed for \`emerge --pretend --verbose\`."
- einfo "Add EMERGE_DEFAULT_OPTS=\"--alphabetical\" to /etc/make.conf"
- einfo "to restore the previous ordering."
- echo
- einfo "See NEWS and RELEASE-NOTES for further changes."
-
- portage_docs
-}