summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Stubbs <jstubbs@gentoo.org>2005-01-06 14:30:09 +0000
committerJason Stubbs <jstubbs@gentoo.org>2005-01-06 14:30:09 +0000
commit9b746d27d1548c24bdd8218f4e0f47b545664b12 (patch)
tree69497bcf797f5b4a9743877326aae98312c72ad2
parentAdded removal of the .packaged and .tested files to the clean stage. (diff)
downloadportage-cvs-9b746d27d1548c24bdd8218f4e0f47b545664b12.tar.gz
portage-cvs-9b746d27d1548c24bdd8218f4e0f47b545664b12.tar.bz2
portage-cvs-9b746d27d1548c24bdd8218f4e0f47b545664b12.zip
Added eradicator's multilib-strict patch, which allows checking and failing
if binaries are about to be installed into an incorrect directory. The feature is configured via the MUTLILIB_STRICT_DIRS and MULTILIB_STRICT_DENY and has no effect if either they are not defined or the feature is not enabled.
-rw-r--r--ChangeLog8
-rwxr-xr-xbin/ebuild.sh12
2 files changed, 18 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 42477ce..d30677e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,12 +1,18 @@
# ChangeLog for Portage; the Gentoo Linux ports system
# Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Id: ChangeLog,v 1.796.2.41 2005/01/04 09:34:40 jstubbs Exp $
+# $Id: ChangeLog,v 1.796.2.42 2005/01/06 14:30:09 jstubbs Exp $
MAJOR CHANGES in 2.0.51:
1. /var/cache/edb/virtuals is no longer used at all. It's calculated now.
2. /var/cache/edb/world is now /var/lib/portage/world.
3. /etc/portage/profile/virtuals is _USER_ configs only.
+ 06 Dec 2005; Jason Stubbs <jstubbs@gentoo.org> ebuild.sh: Added eradicator's
+ multilib-strict patch, which allows checking and failing if binaries are
+ about to be installed into an incorrect directory. The feature is configured
+ via the MUTLILIB_STRICT_DIRS and MULTILIB_STRICT_DENY and has no effect if
+ either they are not defined or the feature is not enabled.
+
04 Dec 2005; Jason Stubbs <jstubbs@gentoo.org> ebuild.sh: Added removal of
the .packaged and .tested files to the clean stage. Adjusted cleaning of the
temp dir to include the directory as well, rather than only the files
diff --git a/bin/ebuild.sh b/bin/ebuild.sh
index 7b524a8..b450446 100755
--- a/bin/ebuild.sh
+++ b/bin/ebuild.sh
@@ -1,7 +1,7 @@
#!/bin/bash
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /local/data/ulm/cvs/history/var/cvsroot/gentoo-src/portage/bin/ebuild.sh,v 1.201.2.12 2005/01/04 09:34:40 jstubbs Exp $
+# $Header: /local/data/ulm/cvs/history/var/cvsroot/gentoo-src/portage/bin/ebuild.sh,v 1.201.2.13 2005/01/06 14:30:09 jstubbs Exp $
export SANDBOX_PREDICT="${SANDBOX_PREDICT}:/proc/self/maps:/dev/console:/usr/lib/portage/pym:/dev/random"
export SANDBOX_WRITE="${SANDBOX_WRITE}:/dev/shm:${PORTAGE_TMPDIR}"
@@ -1076,6 +1076,16 @@ dyn_install() {
rm -f "${D}/usr/share/info/dir.gz"
fi
+ if hasq multilib-strict ${FEATURES} && [ -x /usr/bin/file -a -x /usr/bin/find -a \
+ -n "${MULTILIB_STRICT_DIRS}" -a -n "${MULTILIB_STRICT_DENY}" ]; then
+ for dir in ${MULTILIB_STRICT_DIRS}; do
+ [ -d "${D}/${dir}" ] || continue
+ for file in $(find ${D}/${dir} -type f); do
+ file ${file} | egrep -q "${MULTILIB_STRICT_DENY}" && die "File ${file} matches a file type that is not allowed in ${dir}"
+ done
+ done
+ fi
+
touch "${BUILDDIR}/.installed"
echo ">>> Completed installing ${PF} into ${D}"
echo