summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-04-13 21:21:53 +0000
committerZac Medico <zmedico@gentoo.org>2009-04-13 21:21:53 +0000
commitf0cf5a75c49cc238be932e28e25a203ebbb42ce2 (patch)
treebee6605aeb2356e1a2135ed5914cd5cf128d4f37
parentdbf94573a662bebf68d0782a7ee01557820f54ec (diff)
downloadportage-f0cf5a75c49cc238be932e28e25a203ebbb42ce2.tar.gz
portage-f0cf5a75c49cc238be932e28e25a203ebbb42ce2.tar.bz2
portage-f0cf5a75c49cc238be932e28e25a203ebbb42ce2.zip
Make portage.bsd_chflags correspond to FEATURES=chflags so that it can be
used for related conditionals in shell code. svn path=/main/trunk/; revision=13342
-rwxr-xr-xbin/ebuild-helpers/prepall4
-rwxr-xr-xbin/ebuild.sh2
-rwxr-xr-xbin/misc-functions.sh6
-rw-r--r--pym/portage/__init__.py3
4 files changed, 8 insertions, 7 deletions
diff --git a/bin/ebuild-helpers/prepall b/bin/ebuild-helpers/prepall
index eec5c814c..da37f571d 100755
--- a/bin/ebuild-helpers/prepall
+++ b/bin/ebuild-helpers/prepall
@@ -5,7 +5,7 @@
source "${PORTAGE_BIN_PATH:-/usr/lib/portage/bin}"/isolated-functions.sh
-if type -P chflags > /dev/null && type -P mtree > /dev/null ; then
+if hasq chflags $FEATURES ; then
# Save all the file flags for restoration at the end of prepall.
mtree -c -p "${D}" -k flags > "${T}/bsdflags.mtree"
# Remove all the file flags so that prepall can do anything necessary.
@@ -18,7 +18,7 @@ prepallinfo
prepallstrip
-if type -P chflags > /dev/null && type -P mtree > /dev/null; then
+if hasq chflags $FEATURES ; then
# Restore all the file flags that were saved at the beginning of prepall.
mtree -U -e -p "${D}" -k flags < "${T}/bsdflags.mtree" &> /dev/null
fi
diff --git a/bin/ebuild.sh b/bin/ebuild.sh
index 8fad20b87..6e5d483e3 100755
--- a/bin/ebuild.sh
+++ b/bin/ebuild.sh
@@ -698,7 +698,7 @@ dyn_clean() {
elif [ ! -d "${PORTAGE_BUILDDIR}" ] ; then
return 0
fi
- if type -P chflags > /dev/null ; then
+ if hasq chflags $FEATURES ; then
chflags -R noschg,nouchg,nosappnd,nouappnd "${PORTAGE_BUILDDIR}"
chflags -R nosunlnk,nouunlnk "${PORTAGE_BUILDDIR}" 2>/dev/null
fi
diff --git a/bin/misc-functions.sh b/bin/misc-functions.sh
index 9ffbe0ecc..5e7d29b79 100755
--- a/bin/misc-functions.sh
+++ b/bin/misc-functions.sh
@@ -492,8 +492,7 @@ install_mask() {
}
preinst_bsdflags() {
- type -P chflags > /dev/null || return 0
- type -P mtree > /dev/null || return 1
+ hasq chflags $FEATURES || return
# Save all the file flags for restoration after installation.
mtree -c -p "${D}" -k flags > "${T}/bsdflags.mtree"
# Remove all the file flags so that the merge phase can do anything
@@ -503,8 +502,7 @@ preinst_bsdflags() {
}
postinst_bsdflags() {
- type -P chflags > /dev/null || return 0
- type -P mtree > /dev/null || return 1
+ hasq chflags $FEATURES || return
# Restore all the file flags that were saved before installation.
mtree -e -p "${ROOT}" -U -k flags < "${T}/bsdflags.mtree" &> /dev/null
}
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py
index a658f90a3..520eb61d8 100644
--- a/pym/portage/__init__.py
+++ b/pym/portage/__init__.py
@@ -1842,6 +1842,9 @@ class config(object):
if "usersandbox" in self.features:
self.features.remove("usersandbox")
+ if bsd_chflags:
+ self.features.add('chflags')
+
self["FEATURES"] = " ".join(sorted(self.features))
self.backup_changes("FEATURES")
global _glep_55_enabled, _validate_cache_for_unsupported_eapis