public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
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()
  



             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