public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/portage:master commit in: pym/portage/package/ebuild/, pym/portage/package/ebuild/_config/, bin/
@ 2013-02-11 19:19 Zac Medico
  0 siblings, 0 replies; 2+ messages in thread
From: Zac Medico @ 2013-02-11 19:19 UTC (permalink / raw
  To: gentoo-commits

commit:     e9f0ada02765d1a97da8073c06b2d85800710909
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 11 19:19:30 2013 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Mon Feb 11 19:19:30 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=e9f0ada0

Disable IUSE check for binary pkg API consumers.

In the use() IUSE QA check, exempt binary packages for API consumers
like Entropy which do not require a full profile with IUSE_IMPLICIT and
stuff (see bug #456830).

---
 bin/phase-functions.sh                             |    2 +-
 bin/phase-helpers.sh                               |    7 +++++--
 .../package/ebuild/_config/special_env_vars.py     |    4 +++-
 pym/portage/package/ebuild/config.py               |    4 ++++
 4 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/bin/phase-functions.sh b/bin/phase-functions.sh
index 01c6f55..5a40fcf 100644
--- a/bin/phase-functions.sh
+++ b/bin/phase-functions.sh
@@ -21,7 +21,7 @@ PORTAGE_READONLY_VARS="D EBUILD EBUILD_PHASE EBUILD_PHASE_FUNC \
 	PORTAGE_BZIP2_COMMAND PORTAGE_COLORMAP PORTAGE_CONFIGROOT \
 	PORTAGE_DEBUG PORTAGE_DEPCACHEDIR PORTAGE_EBUILD_EXIT_FILE \
 	PORTAGE_GID PORTAGE_GRPNAME PORTAGE_INST_GID PORTAGE_INST_UID \
-	PORTAGE_IPC_DAEMON PORTAGE_IUSE PORTAGE_LOG_FILE \
+	PORTAGE_INTERNAL_CALLER PORTAGE_IPC_DAEMON PORTAGE_IUSE PORTAGE_LOG_FILE \
 	PORTAGE_MUTABLE_FILTERED_VARS PORTAGE_OVERRIDE_EPREFIX \
 	PORTAGE_PYM_PATH PORTAGE_PYTHON \
 	PORTAGE_READONLY_METADATA PORTAGE_READONLY_VARS \

diff --git a/bin/phase-helpers.sh b/bin/phase-helpers.sh
index d278dd6..ac1c076 100644
--- a/bin/phase-helpers.sh
+++ b/bin/phase-helpers.sh
@@ -210,8 +210,11 @@ use() {
 		#fi
 		true
 
-	# Make sure we have this USE flag in IUSE
-	elif [[ -n $PORTAGE_IUSE && -n $EBUILD_PHASE ]] ; then
+	# Make sure we have this USE flag in IUSE, but exempt binary
+	# packages for API consumers like Entropy which do not require
+	# a full profile with IUSE_IMPLICIT and stuff (see bug #456830).
+	elif [[ -n $PORTAGE_IUSE && -n $EBUILD_PHASE &&
+		-n $PORTAGE_INTERNAL_CALLER ]] ; then
 		if [[ ! $u =~ $PORTAGE_IUSE ]] ; then
 			if [[ ! ${EAPI} =~ ^(0|1|2|3|4|4-python|4-slot-abi)$ ]] ; then
 				# This is only strict starting with EAPI 5, since implicit IUSE

diff --git a/pym/portage/package/ebuild/_config/special_env_vars.py b/pym/portage/package/ebuild/_config/special_env_vars.py
index 98e68d2..8e85a46 100644
--- a/pym/portage/package/ebuild/_config/special_env_vars.py
+++ b/pym/portage/package/ebuild/_config/special_env_vars.py
@@ -23,7 +23,8 @@ env_blacklist = frozenset((
 	"KEYWORDS", "LICENSE", "MERGE_TYPE",
 	"PDEPEND", "PF", "PKGUSE", "PORTAGE_BACKGROUND",
 	"PORTAGE_BACKGROUND_UNMERGE", "PORTAGE_BUILDDIR_LOCKED",
-	"PORTAGE_BUILT_USE", "PORTAGE_CONFIGROOT", "PORTAGE_IUSE",
+	"PORTAGE_BUILT_USE", "PORTAGE_CONFIGROOT",
+	"PORTAGE_INTERNAL_CALLER", "PORTAGE_IUSE",
 	"PORTAGE_NONFATAL", "PORTAGE_PIPE_FD", "PORTAGE_REPO_NAME",
 	"PORTAGE_USE", "PROPERTIES", "PROVIDE", "RDEPEND", "REPOSITORY",
 	"RESTRICT", "ROOT", "SLOT", "SRC_URI"
@@ -63,6 +64,7 @@ environ_whitelist += [
 	"PORTAGE_DOHTML_WARN_ON_SKIPPED_FILES",
 	"PORTAGE_EBUILD_EXIT_FILE", "PORTAGE_FEATURES",
 	"PORTAGE_GID", "PORTAGE_GRPNAME",
+	"PORTAGE_INTERNAL_CALLER",
 	"PORTAGE_INST_GID", "PORTAGE_INST_UID",
 	"PORTAGE_IPC_DAEMON", "PORTAGE_IUSE",
 	"PORTAGE_LOG_FILE", "PORTAGE_OVERRIDE_EPREFIX", "PORTAGE_PIPE_FD",

diff --git a/pym/portage/package/ebuild/config.py b/pym/portage/package/ebuild/config.py
index 0090e4e..fb7b741 100644
--- a/pym/portage/package/ebuild/config.py
+++ b/pym/portage/package/ebuild/config.py
@@ -844,6 +844,10 @@ class config(object):
 					self[var] = default_val
 				self.backup_changes(var)
 
+			if portage._internal_caller:
+				self["PORTAGE_INTERNAL_CALLER"] = "1"
+				self.backup_changes("PORTAGE_INTERNAL_CALLER")
+
 			# initialize self.features
 			self.regenerate()
 


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [gentoo-commits] proj/portage:master commit in: pym/portage/package/ebuild/, pym/portage/package/ebuild/_config/, bin/
@ 2013-06-22  1:15 Zac Medico
  0 siblings, 0 replies; 2+ messages in thread
From: Zac Medico @ 2013-06-22  1:15 UTC (permalink / raw
  To: gentoo-commits

commit:     8a78f4d99606a2aa15ee0c049449d98ec27a2c41
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 22 01:15:36 2013 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Sat Jun 22 01:15:36 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=8a78f4d9

FEATURES=xattr: wrap install binary, bug #465000

The install wrapper is added to PATH only when FEATURES=xattr is
enabled, and the wrapper respects PORTAGE_XATTR_EXCLUDE.

---
 bin/install.py                                         | 6 ++++--
 bin/phase-functions.sh                                 | 3 ++-
 pym/portage/package/ebuild/_config/special_env_vars.py | 4 ++--
 pym/portage/package/ebuild/doebuild.py                 | 3 +++
 4 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/bin/install.py b/bin/install.py
index 4925564..cce68c3 100755
--- a/bin/install.py
+++ b/bin/install.py
@@ -184,13 +184,15 @@ def copy_xattrs(opts, files):
 		source, target = files, opts.target_directory
 		target_is_directory = True
 
+	exclude = os.environ.get("PORTAGE_XATTR_EXCLUDE", "security.*")
+
 	try:
 		if target_is_directory:
 			for s in source:
 				abs_path = os.path.join(target, os.path.basename(s))
-				_copyxattr(s, abs_path)
+				_copyxattr(s, abs_path, exclude=exclude)
 		else:
-			_copyxattr(source[0], target)
+			_copyxattr(source[0], target, exclude=exclude)
 		return os.EX_OK
 
 	except OperationNotSupported:

diff --git a/bin/phase-functions.sh b/bin/phase-functions.sh
index 6d75ef1..6433c54 100644
--- a/bin/phase-functions.sh
+++ b/bin/phase-functions.sh
@@ -28,7 +28,8 @@ PORTAGE_READONLY_VARS="D EBUILD EBUILD_PHASE EBUILD_PHASE_FUNC \
 	PORTAGE_REPO_NAME PORTAGE_RESTRICT \
 	PORTAGE_SAVED_READONLY_VARS PORTAGE_SIGPIPE_STATUS \
 	PORTAGE_TMPDIR PORTAGE_UPDATE_ENV PORTAGE_USERNAME \
-	PORTAGE_VERBOSE PORTAGE_WORKDIR_MODE PORTDIR PORTDIR_OVERLAY \
+	PORTAGE_VERBOSE PORTAGE_WORKDIR_MODE PORTAGE_XATTR_EXCLUDE \
+	PORTDIR PORTDIR_OVERLAY \
 	PROFILE_PATHS REPLACING_VERSIONS REPLACED_BY_VERSION T WORKDIR \
 	__PORTAGE_HELPER __PORTAGE_TEST_HARDLINK_LOCKS"
 

diff --git a/pym/portage/package/ebuild/_config/special_env_vars.py b/pym/portage/package/ebuild/_config/special_env_vars.py
index 8b9cac1..d34d603 100644
--- a/pym/portage/package/ebuild/_config/special_env_vars.py
+++ b/pym/portage/package/ebuild/_config/special_env_vars.py
@@ -72,7 +72,7 @@ environ_whitelist += [
 	"PORTAGE_REPO_NAME", "PORTAGE_RESTRICT",
 	"PORTAGE_SIGPIPE_STATUS",
 	"PORTAGE_TMPDIR", "PORTAGE_UPDATE_ENV", "PORTAGE_USERNAME",
-	"PORTAGE_VERBOSE", "PORTAGE_WORKDIR_MODE",
+	"PORTAGE_VERBOSE", "PORTAGE_WORKDIR_MODE", "PORTAGE_XATTR_EXCLUDE",
 	"PORTDIR", "PORTDIR_OVERLAY", "PREROOTPATH", "PROFILE_PATHS",
 	"REPLACING_VERSIONS", "REPLACED_BY_VERSION",
 	"ROOT", "ROOTPATH", "T", "TMP", "TMPDIR",
@@ -172,7 +172,7 @@ environ_filter += [
 	"PORTAGE_RO_DISTDIRS",
 	"PORTAGE_RSYNC_EXTRA_OPTS", "PORTAGE_RSYNC_OPTS",
 	"PORTAGE_RSYNC_RETRIES", "PORTAGE_SSH_OPTS", "PORTAGE_SYNC_STALE",
-	"PORTAGE_USE", "PORTAGE_XATTR_EXCLUDE",
+	"PORTAGE_USE",
 	"PORT_LOGDIR", "PORT_LOGDIR_CLEAN",
 	"QUICKPKG_DEFAULT_OPTS", "REPOMAN_DEFAULT_OPTS",
 	"RESUMECOMMAND", "RESUMECOMMAND_FTP",

diff --git a/pym/portage/package/ebuild/doebuild.py b/pym/portage/package/ebuild/doebuild.py
index 69463d2..6901719 100644
--- a/pym/portage/package/ebuild/doebuild.py
+++ b/pym/portage/package/ebuild/doebuild.py
@@ -172,6 +172,9 @@ def _doebuild_path(settings, eapi=None):
 
 	path = overrides
 
+	if "xattr" in settings.features:
+		path.append(os.path.join(portage_bin_path, "ebuild-helpers", "xattr"))
+
 	if eprefix and uid != 0 and "fakeroot" not in settings.features:
 		path.append(os.path.join(portage_bin_path,
 			"ebuild-helpers", "unprivileged"))


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-06-22  1:16 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-02-11 19:19 [gentoo-commits] proj/portage:master commit in: pym/portage/package/ebuild/, pym/portage/package/ebuild/_config/, bin/ Zac Medico
  -- strict thread matches above, loose matches on Subject: below --
2013-06-22  1:15 Zac Medico

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox