public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Fabian Groffen" <grobian@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/portage:prefix commit in: /
Date: Thu, 13 Oct 2011 06:52:41 +0000 (UTC)	[thread overview]
Message-ID: <aa61149212569507c6c98aaf8be71ac86747bb08.grobian@gentoo> (raw)

commit:     aa61149212569507c6c98aaf8be71ac86747bb08
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 13 06:50:59 2011 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Thu Oct 13 06:50:59 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=aa611492

Merge remote-tracking branch 'overlays-gentoo-org/master' into prefix

Conflicts:
	bin/ebuild-helpers/prepstrip


 bin/archive-conf                                   |    2 +-
 bin/dispatch-conf                                  |   35 +-
 bin/ebuild                                         |   12 +-
 bin/ebuild-helpers/prepstrip                       |  157 +++--
 bin/etc-update                                     |   11 +-
 bin/portageq                                       |    6 +-
 bin/repoman                                        |  120 ++--
 cnf/dispatch-conf.conf                             |   10 +-
 cnf/etc-update.conf                                |   12 +-
 cnf/make.globals                                   |    2 +-
 man/emerge.1                                       |   14 +
 man/make.conf.5                                    |    9 -
 man/portage.5                                      |   10 +
 man/xpak.5                                         |  253 +++----
 pym/_emerge/EbuildBuild.py                         |   13 +-
 pym/_emerge/EbuildFetcher.py                       |   21 +-
 pym/_emerge/FakeVartree.py                         |   12 +-
 pym/_emerge/Scheduler.py                           |    3 +-
 pym/_emerge/create_depgraph_params.py              |    4 +
 pym/_emerge/depgraph.py                            |   65 ++-
 pym/_emerge/main.py                                |    6 +
 pym/_emerge/resolver/output.py                     |    2 +
 pym/portage/_global_updates.py                     |    3 +-
 pym/portage/cache/template.py                      |    1 +
 pym/portage/checksum.py                            |   75 ++-
 pym/portage/const.py                               |   34 +-
 pym/portage/dbapi/__init__.py                      |  106 ++--
 pym/portage/dbapi/porttree.py                      |  338 ++++-----
 pym/portage/dbapi/vartree.py                       |   14 +-
 pym/portage/dep/__init__.py                        |   45 ++-
 pym/portage/elog/__init__.py                       |   20 +-
 pym/portage/elog/messages.py                       |    1 +
 pym/portage/elog/mod_syslog.py                     |    9 +-
 pym/portage/mail.py                                |    3 +-
 pym/portage/manifest.py                            |   61 +-
 pym/portage/output.py                              |   12 +-
 .../package/ebuild/_config/KeywordsManager.py      |   16 +-
 pym/portage/package/ebuild/_config/MaskManager.py  |   45 +-
 pym/portage/package/ebuild/digestcheck.py          |    3 +-
 pym/portage/package/ebuild/digestgen.py            |    6 +
 pym/portage/package/ebuild/doebuild.py             |   31 +-
 pym/portage/package/ebuild/fetch.py                |   26 +-
 pym/portage/package/ebuild/getmaskingstatus.py     |    4 +-
 pym/portage/repository/config.py                   |  106 +++-
 pym/portage/tests/__init__.py                      |  118 ++--
 pym/portage/tests/bin/setup_env.py                 |    3 +
 pym/portage/tests/bin/test_dodir.py                |    2 +
 pym/portage/tests/dep/test_best_match_to_list.py   |   28 +-
 pym/portage/tests/ebuild/test_config.py            |    1 +
 pym/portage/tests/emerge/test_simple.py            |    9 +
 pym/portage/tests/resolver/ResolverPlayground.py   |    8 +-
 pym/portage/tests/resolver/test_keywords.py        |  356 +++++++++
 .../tests/resolver/test_virtual_transition.py      |   51 ++
 pym/portage/tests/runTests                         |    4 +-
 pym/portage/tests/util/test_whirlpool.py           |   16 +
 pym/portage/util/whirlpool.py                      |  794 ++++++++++++++++++++
 pym/repoman/herdbase.py                            |    4 -
 runtests.sh                                        |    3 +
 58 files changed, 2398 insertions(+), 737 deletions(-)

diff --cc bin/archive-conf
index ff46444,7978668..149fdc5
--- a/bin/archive-conf
+++ b/bin/archive-conf
@@@ -12,9 -12,15 +12,9 @@@
  from __future__ import print_function
  
  import sys
 -try:
 -    import portage
 -except ImportError:
 -    from os import path as osp
 -    sys.path.insert(0, osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym"))
 -    import portage
  
  from portage import os
- import dispatch_conf
+ from portage import dispatch_conf
  
  FIND_EXTANT_CONTENTS  = "find %s -name CONTENTS"
  
diff --cc bin/ebuild
index 77d576a,d4b8b71..4eb8486
--- a/bin/ebuild
+++ b/bin/ebuild
@@@ -54,18 -56,13 +56,15 @@@ parser.add_option("--skip-manifest", he
  
  opts, pargs = parser.parse_args(args=sys.argv[1:])
  
- if len(pargs) < 2:
- 	parser.error("missing required args")
- 
  os.environ["PORTAGE_CALLER"]="ebuild"
 -try:
 -	import portage
 -except ImportError:
 -	from os import path as osp
 -	sys.path.insert(0, osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym"))
 -	import portage
 +# for an explanation on this logic, see pym/_emerge/__init__.py
 +from os import environ as ose
 +from os import path as osp
 +if ose.__contains__("PORTAGE_PYTHONPATH"):
 +    sys.path.insert(0, ose["PORTAGE_PYTHONPATH"])
 +else:
 +    sys.path.insert(0, osp.join(osp.dirname(osp.dirname(osp.                    realpath(__file__))), "pym"))
 +import portage
  
  portage.dep._internal_warnings = True
  from portage import os
diff --cc bin/ebuild-helpers/prepstrip
index 9c5d9da,8c2ca48..077656f
--- a/bin/ebuild-helpers/prepstrip
+++ b/bin/ebuild-helpers/prepstrip
@@@ -2,33 -2,62 +2,62 @@@
  # Copyright 1999-2011 Gentoo Foundation
  # Distributed under the terms of the GNU General Public License v2
  
 -source "${PORTAGE_BIN_PATH:-/usr/lib/portage/bin}"/isolated-functions.sh
 +source "${PORTAGE_BIN_PATH:-@PORTAGE_BASE@/bin}"/isolated-functions.sh
  
+ # avoid multiple calls to `has`.  this creates things like:
+ #   FEATURES_foo=false
+ # if "foo" is not in $FEATURES
+ tf() { "$@" && echo true || echo false ; }
+ exp_tf() {
+ 	local flag var=$1
+ 	shift
+ 	for flag in "$@" ; do
+ 		eval ${var}_${flag}=$(tf has ${flag} ${!var})
+ 	done
+ }
+ exp_tf FEATURES installsources nostrip splitdebug
+ exp_tf RESTRICT binchecks installsources strip
+ 
  banner=false
  SKIP_STRIP=false
- if has nostrip ${FEATURES} || \
-    has strip ${RESTRICT}
- then
+ if ${RESTRICT_strip} || ${FEATURES_nostrip} ; then
  	SKIP_STRIP=true
  	banner=true
- 	has installsources ${FEATURES} || exit 0
+ 	${FEATURES_installsources} || exit 0
  fi
  
- STRIP=${STRIP:-${CHOST}-strip}
- type -P -- ${STRIP} > /dev/null || STRIP=strip
- OBJCOPY=${OBJCOPY:-${CHOST}-objcopy}
- type -P -- ${OBJCOPY} > /dev/null || OBJCOPY=objcopy
+ # look up the tools we might be using
+ for t in STRIP:strip OBJCOPY:objcopy READELF:readelf ; do
+ 	v=${t%:*} # STRIP
+ 	t=${t#*:} # strip
+ 	eval ${v}=\"${!v:-${CHOST}-${t}}\"
+ 	type -P -- ${!v} >/dev/null || eval ${v}=${t}
+ done
+ 
+ # Figure out what tool set we're using to strip stuff
+ unset SAFE_STRIP_FLAGS DEF_STRIP_FLAGS SPLIT_STRIP_FLAGS
+ case $(${STRIP} --version 2>/dev/null) in
+ *elfutils*) # dev-libs/elfutils
+ 	# elfutils default behavior is always safe, so don't need to specify
+ 	# any flags at all
+ 	SAFE_STRIP_FLAGS=""
+ 	DEF_STRIP_FLAGS="--remove-comment"
+ 	SPLIT_STRIP_FLAGS="-f"
+ 	;;
+ *GNU*) # sys-devel/binutils
+ 	# We'll leave out -R .note for now until we can check out the relevance
+ 	# of the section when it has the ALLOC flag set on it ...
+ 	SAFE_STRIP_FLAGS="--strip-unneeded"
+ 	DEF_STRIP_FLAGS="-R .comment"
+ 	SPLIT_STRIP_FLAGS=
+ 	;;
+ esac
+ : ${PORTAGE_STRIP_FLAGS=${SAFE_STRIP_FLAGS} ${DEF_STRIP_FLAGS}}
  
- # We'll leave out -R .note for now until we can check out the relevance
- # of the section when it has the ALLOC flag set on it ...
- export SAFE_STRIP_FLAGS="--strip-unneeded"
- export PORTAGE_STRIP_FLAGS=${PORTAGE_STRIP_FLAGS-${SAFE_STRIP_FLAGS} -R .comment}
 -prepstrip_sources_dir=/usr/src/debug/${CATEGORY}/${PF}
 +prepstrip_sources_dir="${EPREFIX}"/usr/src/debug/${CATEGORY}/${PF}
  
- if has installsources ${FEATURES} && ! type -P debugedit >/dev/null ; then
- 	ewarn "FEATURES=installsources is enabled but the debugedit binary could not"
- 	ewarn "be found. This feature will not work unless debugedit is installed!"
- fi
+ type -P debugedit >/dev/null && debugedit_found=true || debugedit_found=false
+ debugedit_warned=false
  
  unset ${!INODE_*}
  
@@@ -53,10 -96,10 +96,10 @@@ save_elf_sources() 
  }
  
  save_elf_debug() {
- 	has splitdebug ${FEATURES} || return 0
+ 	${FEATURES_splitdebug} || return 0
  
  	local x=$1
 -	local y="${D}usr/lib/debug/${x:${#D}}.debug"
 +	local y="${ED}usr/lib/debug/${x:${#D}}.debug"
  
  	# dont save debug info twice
  	[[ ${x} == *".debug" ]] && return 0
@@@ -158,31 -219,18 +228,22 @@@ d
  	# actually causes problems.  install sources for all
  	# elf types though cause that stuff is good.
  
+ 	buildid=
  	if [[ ${f} == *"current ar archive"* ]] ; then
 -		vecho "   ${x:${#D}}"
 +		vecho "   ${x:${#ED}}"
  		if ${strip_this} ; then
  			# hmm, can we split debug/sources for .a ?
  			${STRIP} -g "${x}"
  		fi
  	elif [[ ${f} == *"SB executable"* || ${f} == *"SB shared object"* ]] ; then
- 		vecho "   ${x:${#ED}}"
- 		save_elf_sources "${x}"
- 		if ${strip_this} ; then
- 			save_elf_debug "${x}"
- 			${STRIP} ${PORTAGE_STRIP_FLAGS} "${x}"
- 		fi
+ 		process_elf "${x}" ${PORTAGE_STRIP_FLAGS}
  	elif [[ ${f} == *"SB relocatable"* ]] ; then
- 		vecho "   ${x:${#ED}}"
- 		save_elf_sources "${x}"
- 		if ${strip_this} ; then
- 			[[ ${x} == *.ko ]] && save_elf_debug "${x}"
- 			${STRIP} ${SAFE_STRIP_FLAGS} "${x}"
- 		fi
+ 		process_elf "${x}" ${SAFE_STRIP_FLAGS}
  	fi
 +
 +	if [[ ${was_not_writable} == "true" ]] ; then
 +		chmod u-w "${x}"
 +	fi
  done
  
  if [[ -s ${T}/debug.sources ]] && \
diff --cc pym/portage/const.py
index 7fc034a,29c3878..63e7c67
--- a/pym/portage/const.py
+++ b/pym/portage/const.py
@@@ -135,9 -90,8 +134,9 @@@ SUPPORTED_FEATURES       = frozenset(
                             "ccache", "chflags", "clean-logs",
                             "collision-protect", "compress-build-logs",
                             "digest", "distcc", "distcc-pump", "distlocks", "ebuild-locks", "fakeroot",
-                            "fail-clean", "fixpackages", "force-mirror", "getbinpkg",
+                            "fail-clean", "force-mirror", "getbinpkg",
                             "installsources", "keeptemp", "keepwork", "fixlafiles", "lmirror",
 +                            "macossandbox", "macosprefixsandbox", "macosusersandbox",
                             "metadata-transfer", "mirror", "multilib-strict", "news",
                             "noauto", "noclean", "nodoc", "noinfo", "noman",
                             "nostrip", "notitles", "parallel-fetch", "parallel-install",



             reply	other threads:[~2011-10-13  6:52 UTC|newest]

Thread overview: 195+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-13  6:52 Fabian Groffen [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-02-25  9:40 [gentoo-commits] proj/portage:prefix commit in: / Fabian Groffen
2024-02-22  7:27 Fabian Groffen
2024-01-18 10:22 Fabian Groffen
2024-01-18  9:36 Fabian Groffen
2023-12-03 10:10 Fabian Groffen
2023-12-03  9:54 Fabian Groffen
2023-12-03  9:54 Fabian Groffen
2023-12-03  9:54 Fabian Groffen
2023-11-24 20:18 Fabian Groffen
2023-11-24 20:06 Fabian Groffen
2023-11-24 20:06 Fabian Groffen
2023-06-22  8:47 Fabian Groffen
2023-06-17  9:04 Fabian Groffen
2023-06-17  8:41 Fabian Groffen
2022-07-28 17:38 Fabian Groffen
2022-07-27 19:20 Fabian Groffen
2022-07-26 19:39 Fabian Groffen
2022-07-25 15:20 Fabian Groffen
2022-07-24 19:27 Fabian Groffen
2022-07-24 14:01 Fabian Groffen
2022-07-24  9:45 Fabian Groffen
2022-01-14 10:40 Fabian Groffen
2022-01-14 10:32 Fabian Groffen
2021-07-06  7:10 Fabian Groffen
2021-04-16 13:37 Fabian Groffen
2021-01-24  9:02 Fabian Groffen
2021-01-04 10:48 Fabian Groffen
2020-12-07 17:28 Fabian Groffen
2020-12-07 16:46 Fabian Groffen
2020-11-23  7:48 Fabian Groffen
2020-11-22 11:15 Fabian Groffen
2020-09-26 11:29 Fabian Groffen
2020-08-02 12:33 Fabian Groffen
2020-06-02 18:55 Fabian Groffen
2020-01-08 19:14 Fabian Groffen
2019-07-01 13:11 Fabian Groffen
2019-05-30  9:20 Fabian Groffen
2019-02-28 12:31 Fabian Groffen
2019-01-11 10:19 Fabian Groffen
2019-01-07 10:22 Fabian Groffen
2018-12-23 11:14 Fabian Groffen
2018-12-12 18:54 Fabian Groffen
2018-08-04  6:56 Fabian Groffen
2018-06-25  8:34 Fabian Groffen
2018-06-17 14:38 Fabian Groffen
2018-06-17 14:38 Fabian Groffen
2018-05-28 15:24 Fabian Groffen
2018-05-25 19:44 Fabian Groffen
2018-05-25 19:44 Fabian Groffen
2018-05-18 19:46 Fabian Groffen
2017-12-12  8:19 Fabian Groffen
2017-10-29 14:51 Fabian Groffen
2017-10-03  7:32 Fabian Groffen
2017-09-22 10:08 Fabian Groffen
2017-08-21 13:27 Fabian Groffen
2017-08-13  7:21 Fabian Groffen
2017-05-23 13:34 Fabian Groffen
2017-03-25  9:12 Fabian Groffen
2017-03-24 19:09 Fabian Groffen
2017-03-24  7:43 Fabian Groffen
2017-03-23 17:46 Fabian Groffen
2017-03-23 17:32 Fabian Groffen
2017-03-23 17:23 Fabian Groffen
2017-03-23 15:38 Fabian Groffen
2017-03-17  8:25 Fabian Groffen
2017-03-02  8:48 Fabian Groffen
2017-03-02  8:18 Fabian Groffen
2017-02-23 14:05 Fabian Groffen
2017-01-27 15:08 Fabian Groffen
2017-01-27 15:08 Fabian Groffen
2016-03-20 19:31 Fabian Groffen
2016-02-21 16:17 Fabian Groffen
2016-02-21 16:17 Fabian Groffen
2016-02-18 19:35 Fabian Groffen
2016-02-18 19:35 Fabian Groffen
2015-06-20  7:12 Fabian Groffen
2015-06-09 18:30 Fabian Groffen
2015-06-09 18:01 Fabian Groffen
2015-06-04 19:47 Fabian Groffen
2015-04-05  9:15 Fabian Groffen
2014-11-12 17:31 Fabian Groffen
2014-10-02 18:48 Fabian Groffen
2014-09-28 17:52 Fabian Groffen
2014-05-06 19:32 Fabian Groffen
2014-05-06 19:18 Fabian Groffen
2014-04-22 19:52 Fabian Groffen
2014-02-06 21:09 Fabian Groffen
2014-01-06  9:47 Fabian Groffen
2013-09-24 17:29 Fabian Groffen
2013-09-20 17:59 Fabian Groffen
2013-09-18 18:34 Fabian Groffen
2013-09-13 18:02 Fabian Groffen
2013-08-10 20:54 Fabian Groffen
2013-07-10  5:31 Fabian Groffen
2013-07-08 19:32 Fabian Groffen
2013-06-29  5:41 Fabian Groffen
2013-06-27 17:20 Fabian Groffen
2013-06-12  9:02 Fabian Groffen
2013-06-09 15:53 Fabian Groffen
2013-05-04 18:55 Fabian Groffen
2013-04-02 16:57 Fabian Groffen
2013-03-31 19:03 Fabian Groffen
2013-03-31 19:00 Fabian Groffen
2013-03-24  8:36 Fabian Groffen
2013-03-23 19:54 Fabian Groffen
2013-02-28 19:29 Fabian Groffen
2013-02-07 20:01 Fabian Groffen
2013-01-27 21:41 Fabian Groffen
2013-01-27 21:41 Fabian Groffen
2013-01-13 10:26 Fabian Groffen
2013-01-10 21:02 Fabian Groffen
2013-01-05 18:14 Fabian Groffen
2012-12-26 14:48 Fabian Groffen
2012-12-02 15:47 Fabian Groffen
2012-12-02 15:36 Fabian Groffen
2012-12-02 15:33 Fabian Groffen
2012-12-02 15:33 Fabian Groffen
2012-12-02 15:33 Fabian Groffen
2012-12-02 13:12 Fabian Groffen
2012-12-02 12:59 Fabian Groffen
2012-11-04 10:48 Fabian Groffen
2012-10-22 17:25 Fabian Groffen
2012-10-02 12:02 Fabian Groffen
2012-09-30 11:22 Fabian Groffen
2012-09-26 18:26 Fabian Groffen
2012-09-12 18:18 Fabian Groffen
2012-09-09  7:40 Fabian Groffen
2012-09-06 18:14 Fabian Groffen
2012-08-27  6:44 Fabian Groffen
2012-08-12  7:50 Fabian Groffen
2012-07-19 16:25 Fabian Groffen
2012-07-06  7:05 Fabian Groffen
2012-04-23 19:23 Fabian Groffen
2012-04-03 18:04 Fabian Groffen
2012-03-31 19:31 Fabian Groffen
2012-03-01 20:32 Fabian Groffen
2012-02-19  9:58 Fabian Groffen
2012-02-09  8:01 Fabian Groffen
2012-01-10 17:45 Fabian Groffen
2011-12-31 16:45 Fabian Groffen
2011-12-26  9:12 Fabian Groffen
2011-12-23  9:51 Fabian Groffen
2011-12-22  9:51 Fabian Groffen
2011-12-19 18:30 Fabian Groffen
2011-12-14 15:25 Fabian Groffen
2011-12-10 11:28 Fabian Groffen
2011-12-09 20:33 Fabian Groffen
2011-12-02 20:31 Fabian Groffen
2011-12-02 19:20 Fabian Groffen
2011-12-02 19:19 Fabian Groffen
2011-12-02 19:18 Fabian Groffen
2011-12-02 18:03 Fabian Groffen
2011-10-21 17:34 Fabian Groffen
2011-10-21 17:34 Fabian Groffen
2011-10-20 20:28 Fabian Groffen
2011-10-20 17:08 Fabian Groffen
2011-10-20 16:38 Fabian Groffen
2011-10-17 18:36 Fabian Groffen
2011-10-16 13:59 Fabian Groffen
2011-10-15 18:27 Fabian Groffen
2011-09-23 18:38 Fabian Groffen
2011-09-23 18:23 Fabian Groffen
2011-09-20 18:25 Fabian Groffen
2011-09-14 18:43 Fabian Groffen
2011-09-14 18:38 Fabian Groffen
2011-09-13 17:41 Fabian Groffen
2011-08-31 18:39 Fabian Groffen
2011-08-30 18:45 Fabian Groffen
2011-08-29 19:03 Fabian Groffen
2011-08-25 20:25 Fabian Groffen
2011-08-20 17:50 Fabian Groffen
2011-07-26 17:35 Fabian Groffen
2011-07-17  9:48 Fabian Groffen
2011-07-17  8:12 Fabian Groffen
2011-07-01 17:44 Fabian Groffen
2011-06-14 15:39 Fabian Groffen
2011-06-06 17:12 Fabian Groffen
2011-05-28  8:29 Fabian Groffen
2011-05-27 17:41 Fabian Groffen
2011-05-14 13:59 Fabian Groffen
2011-05-02 17:41 Fabian Groffen
2011-04-24 12:08 Fabian Groffen
2011-04-15 18:27 Fabian Groffen
2011-04-15 18:27 Fabian Groffen
2011-03-28 16:52 Fabian Groffen
2011-03-23 19:26 Fabian Groffen
2011-03-17 19:08 Fabian Groffen
2011-03-13 14:45 Fabian Groffen
2011-03-09 19:44 Fabian Groffen
2011-02-26 21:15 Fabian Groffen
2011-02-10 18:46 Fabian Groffen
2011-02-10 18:44 Fabian Groffen
2011-02-10 18:20 Fabian Groffen
2011-02-05 12:25 Fabian Groffen

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=aa61149212569507c6c98aaf8be71ac86747bb08.grobian@gentoo \
    --to=grobian@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