From: "Thomas Sachau" <tommy@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/portage:multilib commit in: /
Date: Fri, 16 Dec 2011 16:30:27 +0000 (UTC) [thread overview]
Message-ID: <93e622fba8e61722fe5fbdab0f9c29eef7c73e6f.tommy@gentoo> (raw)
commit: 93e622fba8e61722fe5fbdab0f9c29eef7c73e6f
Author: Thomas Sachau <tommy <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 16 16:29:07 2011 +0000
Commit: Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Fri Dec 16 16:29:07 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=93e622fb
Merge v2.2.0_alpha81
bin/chpathtool.py | 182 ++++++++++++++++
bin/dispatch-conf | 5 +-
bin/ebuild-helpers/dobin | 5 +-
bin/ebuild-helpers/dodir | 3 +-
bin/ebuild-helpers/dodoc | 3 +-
bin/ebuild-helpers/doexe | 3 +-
bin/ebuild-helpers/dohard | 3 +-
bin/ebuild-helpers/doinfo | 3 +-
bin/ebuild-helpers/doins | 3 +-
bin/ebuild-helpers/dolib | 3 +-
bin/ebuild-helpers/doman | 3 +-
bin/ebuild-helpers/domo | 3 +-
bin/ebuild-helpers/dosbin | 3 +-
bin/ebuild-helpers/dosed | 3 +-
bin/ebuild-helpers/dosym | 3 +-
bin/ebuild-helpers/ecompressdir | 3 +-
bin/ebuild-helpers/fowners | 3 +-
bin/ebuild-helpers/fperms | 4 +-
bin/ebuild-helpers/prepall | 3 +-
bin/ebuild-helpers/prepalldocs | 3 +-
bin/ebuild-helpers/prepallinfo | 3 +-
bin/ebuild-helpers/prepallman | 3 +-
bin/ebuild-helpers/prepallstrip | 3 +-
bin/ebuild-helpers/prepinfo | 3 +-
bin/ebuild-helpers/preplib | 3 +-
bin/ebuild-helpers/prepman | 3 +-
bin/ebuild-helpers/prepstrip | 3 +-
bin/ebuild-ipc.py | 38 +++-
bin/ebuild.sh | 32 ++--
bin/egencache | 8 +-
bin/emerge-webrsync | 2 +
bin/etc-update | 10 +-
bin/lock-helper.py | 1 +
bin/misc-functions.sh | 24 ++-
bin/phase-functions.sh | 27 ++-
bin/phase-helpers.sh | 27 ++-
bin/portageq | 6 +-
bin/repoman | 14 +-
cnf/dispatch-conf.conf | 2 +-
cnf/make.conf | 8 +-
cnf/make.globals | 18 +-
doc/config/sets.docbook | 2 +-
man/emerge.1 | 25 ++-
man/fixpackages.1 | 15 ++
man/make.conf.5 | 16 ++-
pym/_emerge/AbstractEbuildProcess.py | 16 ++-
pym/_emerge/AsynchronousLock.py | 43 +++--
pym/_emerge/Binpkg.py | 75 ++++++-
pym/_emerge/BinpkgEnvExtractor.py | 4 +-
pym/_emerge/EbuildMetadataPhase.py | 23 ++-
pym/_emerge/FifoIpcDaemon.py | 16 +-
pym/_emerge/PipeReader.py | 35 ++--
pym/_emerge/Scheduler.py | 2 +-
pym/_emerge/SpawnProcess.py | 31 ++--
pym/_emerge/SubProcess.py | 5 +-
pym/_emerge/actions.py | 41 +++--
pym/_emerge/depgraph.py | 15 +-
pym/_emerge/emergelog.py | 9 +-
pym/_emerge/main.py | 6 +-
pym/_emerge/unmerge.py | 2 +-
pym/portage/__init__.py | 12 +-
pym/portage/_legacy_globals.py | 1 -
pym/portage/checksum.py | 29 +++
pym/portage/const.py | 25 ++-
pym/portage/data.py | 182 +++++++++++-----
pym/portage/dbapi/_MergeProcess.py | 2 +-
pym/portage/dbapi/porttree.py | 44 +---
pym/portage/dbapi/vartree.py | 4 +-
pym/portage/dispatch_conf.py | 10 +-
pym/portage/exception.py | 4 +
pym/portage/locks.py | 226 ++++++++++++++------
pym/portage/output.py | 15 +-
.../package/ebuild/_config/LocationsManager.py | 5 +-
.../package/ebuild/_config/special_env_vars.py | 8 +-
pym/portage/package/ebuild/_spawn_nofetch.py | 2 +-
pym/portage/package/ebuild/config.py | 115 +++++++---
pym/portage/package/ebuild/doebuild.py | 21 ++-
pym/portage/package/ebuild/fetch.py | 3 +-
pym/portage/package/ebuild/prepare_build_dirs.py | 3 +-
pym/portage/process.py | 7 +-
pym/portage/repository/config.py | 31 +++-
pym/portage/tests/bin/setup_env.py | 6 +-
pym/portage/tests/dbapi/test_fakedbapi.py | 4 +-
pym/portage/tests/ebuild/test_doebuild_spawn.py | 5 +
pym/portage/tests/ebuild/test_ipc_daemon.py | 13 +-
pym/portage/tests/emerge/test_simple.py | 9 +-
pym/portage/tests/locks/test_asynchronous_lock.py | 62 +++++-
pym/portage/tests/locks/test_lock_nonblock.py | 17 ++-
pym/portage/tests/repoman/test_simple.py | 8 +-
pym/portage/tests/resolver/ResolverPlayground.py | 9 +-
pym/portage/tests/util/test_getconfig.py | 2 +-
pym/portage/tests/util/test_uniqueArray.py | 6 +-
pym/portage/util/env_update.py | 2 +-
pym/portage/util/movefile.py | 99 +++++++--
pym/portage/xpak.py | 2 +-
pym/repoman/utilities.py | 2 +-
96 files changed, 1353 insertions(+), 505 deletions(-)
diff --cc bin/misc-functions.sh
index cb95f6a,3582889..ed77353
--- a/bin/misc-functions.sh
+++ b/bin/misc-functions.sh
@@@ -17,8 -17,8 +17,9 @@@ shift $
source "${PORTAGE_BIN_PATH:-/usr/lib/portage/bin}/ebuild.sh"
install_symlink_html_docs() {
- case "$EAPI" in 0|1|2) local ED=${D} ;; esac
+ [[ " ${FEATURES} " == *" force-prefix "* ]] || \
+ case "$EAPI" in 0|1|2) local ED=${D} ;; esac
+ [[ -e "${ED}" ]] || return 0
cd "${ED}" || die "cd failed"
#symlink the html documentation (if DOC_SYMLINKS_DIR is set in make.conf)
if [ -n "${DOC_SYMLINKS_DIR}" ] ; then
@@@ -148,9 -149,9 +150,10 @@@ prepcompress()
install_qa_check() {
local f i x
- case "$EAPI" in 0|1|2) local ED=${D} ;; esac
+ [[ " ${FEATURES} " == *" force-prefix "* ]] || \
+ case "$EAPI" in 0|1|2) local ED=${D} ;; esac
+ [[ -d "${ED}" ]] || return 0
cd "${ED}" || die "cd failed"
export STRIP_MASK
diff --cc bin/phase-functions.sh
index 9e2d275,664202a..1ac66e3
--- a/bin/phase-functions.sh
+++ b/bin/phase-functions.sh
@@@ -592,13 -504,11 +596,14 @@@ dyn_install()
ebuild_phase pre_src_install
_x=${ED}
- case "$EAPI" in 0|1|2) _x=${D} ;; esac
+ [[ " ${FEATURES} " == *" force-prefix "* ]] || \
+ case "$EAPI" in 0|1|2) _x=${D} ;; esac
rm -rf "${D}"
+ is_auto-multilib && rm -rf "${D}".${ABI}
mkdir -p "${_x}"
unset _x
+ for LOOP_ABI in $(get_abi_list); do
+ is_ebuild && { set_abi ${LOOP_ABI}; source "${T}"/environment || die ; }
if [[ -d $S ]] ; then
cd "${S}"
@@@ -669,18 -558,22 +674,32 @@@
[[ -n $x ]] && echo "$x" > $f
done
fi
+ if has_multilib_profile ; then
+ local i= x=
+ for i in ${MULTILIB_ABIS} ; do
+ x+=" multilib_abi_${i}"
+ done
+ echo "${IUSE}${x}" > IUSE
+ fi
echo "${USE}" > USE
echo "${EAPI:-0}" > EAPI
+ if is_auto-multilib; then
+ echo "$(get_abi_order)" > MULTILIB_ABIS
+ fi
+
+ # Save EPREFIX, since it makes it easy to use chpathtool to
+ # adjust the content of a binary package so that it will
+ # work in a different EPREFIX from the one is was built for.
+ case "${EAPI:-0}" in
+ 0|1|2)
+ [[ " ${FEATURES} " == *" force-prefix "* ]] && \
+ [ -n "${EPREFIX}" ] && echo "${EPREFIX}" > EPREFIX
+ ;;
+ *)
+ [ -n "${EPREFIX}" ] && echo "${EPREFIX}" > EPREFIX
+ ;;
+ esac
+
set +f
# local variables can leak into the saved environment.
diff --cc pym/portage/package/ebuild/config.py
index 985b86f,f6166c6..fbb5263
--- a/pym/portage/package/ebuild/config.py
+++ b/pym/portage/package/ebuild/config.py
@@@ -725,20 -726,50 +728,54 @@@ class config(object)
self["USERLAND"] = "GNU"
self.backup_changes("USERLAND")
- for var in ("PORTAGE_INST_UID", "PORTAGE_INST_GID"):
+ default_inst_ids = {
+ "PORTAGE_INST_GID": "0",
+ "PORTAGE_INST_UID": "0",
+ }
+
+ if eprefix:
+ # For prefix environments, default to the UID and GID of
+ # the top-level EROOT directory.
try:
- self[var] = str(int(self.get(var, "0")))
+ eroot_st = os.stat(eroot)
+ except OSError:
+ pass
+ else:
+ default_inst_ids["PORTAGE_INST_GID"] = str(eroot_st.st_gid)
+ default_inst_ids["PORTAGE_INST_UID"] = str(eroot_st.st_uid)
+
+ if "PORTAGE_USERNAME" not in self:
+ try:
+ pwd_struct = pwd.getpwuid(eroot_st.st_uid)
+ except KeyError:
+ pass
+ else:
+ self["PORTAGE_USERNAME"] = pwd_struct.pw_name
+ self.backup_changes("PORTAGE_USERNAME")
+
+ if "PORTAGE_GRPNAME" not in self:
+ try:
+ grp_struct = grp.getgrgid(eroot_st.st_gid)
+ except KeyError:
+ pass
+ else:
+ self["PORTAGE_GRPNAME"] = grp_struct.gr_name
+ self.backup_changes("PORTAGE_GRPNAME")
+
+ for var, default_val in default_inst_ids.items():
+ try:
+ self[var] = str(int(self.get(var, default_val)))
except ValueError:
writemsg(_("!!! %s='%s' is not a valid integer. "
- "Falling back to '0'.\n") % (var, self[var]),
+ "Falling back to %s.\n") % (var, self[var], default_val),
noiselevel=-1)
- self[var] = "0"
+ self[var] = default_val
self.backup_changes(var)
+ #add multilib_abi internally to list of USE_EXPANDed vars
+ self["USE_EXPAND"] = "multilib_abi" + " " + self.get("USE_EXPAND", "")
+ self.backup_changes("USE_EXPAND")
+
# initialize self.features
self.regenerate()
next reply other threads:[~2011-12-16 16:30 UTC|newest]
Thread overview: 192+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-16 16:30 Thomas Sachau [this message]
-- strict thread matches above, loose matches on Subject: below --
2022-03-21 11:57 [gentoo-commits] proj/portage:multilib commit in: / Thomas Sachau
2022-03-21 11:43 Thomas Sachau
2022-03-21 11:34 Thomas Sachau
2022-03-21 11:33 Thomas Sachau
2022-03-21 11:27 Thomas Sachau
2022-03-21 11:26 Thomas Sachau
2022-03-21 10:01 Thomas Sachau
2021-10-30 9:44 Thomas Sachau
2021-10-30 9:44 Thomas Sachau
2021-07-25 11:43 Thomas Sachau
2021-07-25 11:43 Thomas Sachau
2021-07-25 11:43 Thomas Sachau
2021-04-03 8:28 Thomas Sachau
2021-04-03 8:28 Thomas Sachau
2021-04-03 8:28 Thomas Sachau
2021-04-03 8:28 Thomas Sachau
2021-01-23 9:52 Thomas Sachau
2021-01-15 16:20 Thomas Sachau
2021-01-15 16:20 Thomas Sachau
2021-01-15 16:20 Thomas Sachau
2021-01-15 16:20 Thomas Sachau
2021-01-15 16:20 Thomas Sachau
2020-10-30 10:29 Thomas Sachau
2020-08-23 12:22 Thomas Sachau
2020-07-05 17:57 Thomas Sachau
2019-12-26 11:56 Thomas Sachau
2019-03-17 11:35 Thomas Sachau
2019-03-09 9:56 Thomas Sachau
2018-09-01 11:03 Thomas Sachau
2018-05-23 12:23 Thomas Sachau
2018-04-14 12:16 Thomas Sachau
2018-03-03 15:18 Thomas Sachau
2018-01-07 10:43 Thomas Sachau
2018-01-07 10:43 Thomas Sachau
2018-01-07 10:43 Thomas Sachau
2018-01-07 10:43 Thomas Sachau
2018-01-07 10:43 Thomas Sachau
2018-01-07 10:43 Thomas Sachau
2018-01-07 10:43 Thomas Sachau
2018-01-07 10:43 Thomas Sachau
2018-01-07 10:43 Thomas Sachau
2018-01-07 10:43 Thomas Sachau
2018-01-07 10:43 Thomas Sachau
2018-01-07 10:38 Thomas Sachau
2018-01-07 10:33 Thomas Sachau
2018-01-07 10:33 Thomas Sachau
2018-01-07 10:33 Thomas Sachau
2018-01-07 10:33 Thomas Sachau
2018-01-07 10:33 Thomas Sachau
2018-01-07 10:30 Thomas Sachau
2018-01-07 10:09 Thomas Sachau
2018-01-07 9:50 Thomas Sachau
2018-01-07 9:39 Thomas Sachau
2016-02-28 12:37 Thomas Sachau
2016-02-28 12:37 Thomas Sachau
2016-02-28 12:37 Thomas Sachau
2016-02-28 12:37 Thomas Sachau
2016-02-28 12:37 Thomas Sachau
2016-02-28 12:37 Thomas Sachau
2015-10-04 11:38 Thomas Sachau
2015-10-04 11:38 Thomas Sachau
2015-10-04 11:38 Thomas Sachau
2015-10-04 11:38 Thomas Sachau
2015-10-04 11:38 Thomas Sachau
2015-05-05 11:29 Thomas Sachau
2014-12-12 20:23 Thomas Sachau
2014-12-12 20:23 Thomas Sachau
2014-12-12 20:23 Thomas Sachau
2014-12-12 20:23 Thomas Sachau
2014-12-12 20:23 Thomas Sachau
2014-06-02 20:00 Thomas Sachau
2013-09-15 20:54 Thomas Sachau
2013-09-15 11:39 Thomas Sachau
2013-09-15 11:06 Thomas Sachau
2013-09-10 16:53 Thomas Sachau
2013-08-25 19:50 Thomas Sachau
2013-08-18 20:55 Thomas Sachau
2013-08-04 11:19 Thomas Sachau
2013-08-04 11:19 Thomas Sachau
2013-05-31 12:16 Thomas Sachau
2013-05-20 10:41 Thomas Sachau
2013-05-10 8:01 Thomas Sachau
2013-04-14 13:20 Thomas Sachau
2013-04-03 11:51 Thomas Sachau
2013-03-28 19:31 Thomas Sachau
2013-03-23 16:24 Thomas Sachau
2013-03-08 17:46 Thomas Sachau
2013-03-03 13:44 Thomas Sachau
2013-02-16 18:47 Thomas Sachau
2013-01-26 17:19 Thomas Sachau
2013-01-26 17:19 Thomas Sachau
2013-01-26 17:19 Thomas Sachau
2013-01-26 17:19 Thomas Sachau
2013-01-26 17:19 Thomas Sachau
2013-01-26 17:19 Thomas Sachau
2013-01-26 17:19 Thomas Sachau
2013-01-26 17:19 Thomas Sachau
2013-01-26 17:19 Thomas Sachau
2013-01-26 17:19 Thomas Sachau
2013-01-12 11:21 Thomas Sachau
2012-12-16 10:49 Thomas Sachau
2012-12-14 20:16 Thomas Sachau
2012-12-14 20:14 Thomas Sachau
2012-12-09 10:54 Thomas Sachau
2012-12-07 22:24 Thomas Sachau
2012-11-30 16:44 Thomas Sachau
2012-10-29 12:23 Thomas Sachau
2012-10-22 8:57 Thomas Sachau
2012-10-14 9:35 Thomas Sachau
2012-10-06 11:34 Thomas Sachau
2012-09-29 12:51 Thomas Sachau
2012-09-24 20:38 Thomas Sachau
2012-09-22 15:33 Thomas Sachau
2012-09-22 15:23 Thomas Sachau
2012-09-17 17:07 Thomas Sachau
2012-09-08 12:55 Thomas Sachau
2012-09-08 12:55 Thomas Sachau
2012-09-08 12:55 Thomas Sachau
2012-09-08 12:55 Thomas Sachau
2012-09-08 12:55 Thomas Sachau
2012-09-08 12:55 Thomas Sachau
2012-09-08 12:55 Thomas Sachau
2012-09-08 12:55 Thomas Sachau
2012-07-08 10:03 Thomas Sachau
2012-07-01 12:01 Thomas Sachau
2012-06-10 12:42 Thomas Sachau
2012-06-03 12:33 Thomas Sachau
2012-05-28 10:19 Thomas Sachau
2012-05-17 10:00 Thomas Sachau
2012-05-12 7:57 Thomas Sachau
2012-05-11 20:38 Thomas Sachau
2012-04-24 21:26 Thomas Sachau
2012-04-06 11:50 Thomas Sachau
2012-04-04 12:42 Thomas Sachau
2012-04-01 22:00 Thomas Sachau
2012-03-30 18:55 Thomas Sachau
2012-03-24 10:51 Thomas Sachau
2012-03-23 14:42 Thomas Sachau
2012-03-21 18:50 Thomas Sachau
2012-03-18 15:29 Thomas Sachau
2012-03-06 18:21 Thomas Sachau
2012-02-26 16:27 Thomas Sachau
2012-02-25 12:04 Thomas Sachau
2012-02-23 19:08 Thomas Sachau
2012-02-18 15:52 Thomas Sachau
2012-02-06 19:38 Thomas Sachau
2011-12-28 13:33 Thomas Sachau
2011-12-24 14:16 Thomas Sachau
2011-12-07 21:31 Thomas Sachau
2011-11-26 14:03 Thomas Sachau
2011-11-19 14:25 Thomas Sachau
2011-11-18 23:27 Thomas Sachau
2011-11-11 22:52 Thomas Sachau
2011-10-31 19:53 Thomas Sachau
2011-10-24 18:54 Thomas Sachau
2011-10-23 11:05 Thomas Sachau
2011-10-23 11:05 Thomas Sachau
2011-10-21 13:57 Thomas Sachau
2011-10-12 16:28 Thomas Sachau
2011-10-09 10:33 Thomas Sachau
2011-10-08 8:34 Thomas Sachau
2011-10-07 12:41 Thomas Sachau
2011-10-01 13:56 Thomas Sachau
2011-10-01 13:56 Thomas Sachau
2011-09-11 14:33 Thomas Sachau
2011-09-09 13:03 Thomas Sachau
2011-08-16 12:20 Thomas Sachau
2011-08-05 12:29 Thomas Sachau
2011-08-01 16:53 Thomas Sachau
2011-07-28 17:07 Thomas Sachau
2011-07-21 19:18 Thomas Sachau
2011-07-15 13:24 Thomas Sachau
2011-07-05 17:34 Thomas Sachau
2011-06-16 16:54 Thomas Sachau
2011-06-07 15:44 Thomas Sachau
2011-05-28 13:14 Thomas Sachau
2011-05-26 17:55 Thomas Sachau
2011-05-22 9:42 Thomas Sachau
2011-05-14 9:59 Thomas Sachau
2011-05-07 18:38 Thomas Sachau
2011-04-16 10:17 Thomas Sachau
2011-04-16 10:17 Thomas Sachau
2011-03-28 17:24 Thomas Sachau
2011-03-19 19:39 Thomas Sachau
2011-03-17 17:58 Thomas Sachau
2011-03-03 19:53 Thomas Sachau
2011-02-25 13:45 Thomas Sachau
2011-02-16 20:15 Thomas Sachau
2011-02-10 18:12 Thomas Sachau
2011-02-08 18:12 Thomas Sachau
2011-02-06 13:10 Thomas Sachau
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=93e622fba8e61722fe5fbdab0f9c29eef7c73e6f.tommy@gentoo \
--to=tommy@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox