diff options
author | 2005-01-06 14:30:09 +0000 | |
---|---|---|
committer | 2005-01-06 14:30:09 +0000 | |
commit | 9b746d27d1548c24bdd8218f4e0f47b545664b12 (patch) | |
tree | 69497bcf797f5b4a9743877326aae98312c72ad2 | |
parent | Added removal of the .packaged and .tested files to the clean stage. (diff) | |
download | portage-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-- | ChangeLog | 8 | ||||
-rwxr-xr-x | bin/ebuild.sh | 12 |
2 files changed, 18 insertions, 2 deletions
@@ -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 |