summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gilbert <floppym@gentoo.org>2011-10-25 00:35:35 +0000
committerMike Gilbert <floppym@gentoo.org>2011-10-25 00:35:35 +0000
commite2efdfa09e7ca01c8f539fb8addbefe09409cde9 (patch)
tree140df65276c9909fff2b6890e0e65eb5bb51f0ca /dev-lang/v8/v8-9999.ebuild
parentdev-java/netbeans-profiler: filtering ecj compilers (diff)
downloadgentoo-2-e2efdfa09e7ca01c8f539fb8addbefe09409cde9.tar.gz
gentoo-2-e2efdfa09e7ca01c8f539fb8addbefe09409cde9.tar.bz2
gentoo-2-e2efdfa09e7ca01c8f539fb8addbefe09409cde9.zip
Rewrite pkg_preinst to properly handle ROOT, EPREFIX, and whitespace.
(Portage version: 2.2.0_alpha71/cvs/Linux x86_64)
Diffstat (limited to 'dev-lang/v8/v8-9999.ebuild')
-rw-r--r--dev-lang/v8/v8-9999.ebuild28
1 files changed, 17 insertions, 11 deletions
diff --git a/dev-lang/v8/v8-9999.ebuild b/dev-lang/v8/v8-9999.ebuild
index 85c8c87433e5..9e39cd17c446 100644
--- a/dev-lang/v8/v8-9999.ebuild
+++ b/dev-lang/v8/v8-9999.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/v8/v8-9999.ebuild,v 1.17 2011/10/22 11:44:36 phajdan.jr Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/v8/v8-9999.ebuild,v 1.18 2011/10/25 00:35:35 floppym Exp $
EAPI="3"
@@ -95,21 +95,27 @@ src_install() {
}
pkg_preinst() {
- local preserved_candidates="$(find /usr/$(get_libdir) -maxdepth 1 -name libv8-\*$(get_libname))"
- preserved_libs=""
- for candidate in ${preserved_candidates}; do
- if [[ -f "${D}/usr/$(get_libdir)/`basename ${candidate}`" ]]; then
- continue
+ preserved_libs=()
+ local baselib
+
+ eshopts_push -s nullglob
+
+ for candidate in "${EROOT}usr/$(get_libdir)"/libv8-*$(get_libname); do
+ baselib=${candidate##*/}
+ if [[ ${baselib} != libv8-${soname_version}$(get_libname) ]]; then
+ preserved_libs+=( "${EPREFIX}/usr/$(get_libdir)/${baselib}" )
fi
- preserved_libs+=" ${candidate}"
done
- if [[ "${preserved_libs}" != "" ]]; then
- preserve_old_lib ${preserved_libs}
+
+ eshopts_pop
+
+ if [[ ${#preserved_libs[@]} -gt 0 ]]; then
+ preserve_old_lib "${preserved_libs[@]}"
fi
}
pkg_postinst() {
- if [[ "${preserved_libs}" != "" ]]; then
- preserve_old_lib_notify ${preserved_libs}
+ if [[ ${#preserved_libs[@]} -gt 0 ]]; then
+ preserve_old_lib_notify "${preserved_libs[@]}"
fi
}