summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-02-18 23:15:54 +0000
committerZac Medico <zmedico@gentoo.org>2007-02-18 23:15:54 +0000
commit687212102e9243e3acc3bf8a5515d9a1ec0c4529 (patch)
tree500b453b571f5d0ea4c5f71e2dd00d3e1e845bf0
parent440bfc7b62d99c1b699370c842d82e86ebd46bfa (diff)
downloadportage-687212102e9243e3acc3bf8a5515d9a1ec0c4529.tar.gz
portage-687212102e9243e3acc3bf8a5515d9a1ec0c4529.tar.bz2
portage-687212102e9243e3acc3bf8a5515d9a1ec0c4529.zip
When calling tar, always exclud . in order to preserver PORTAGE_WORKDIR_MODE. Thanks to Brian Harring in bug #167544.
svn path=/main/trunk/; revision=6002
-rwxr-xr-xbin/ebuild.sh12
1 files changed, 6 insertions, 6 deletions
diff --git a/bin/ebuild.sh b/bin/ebuild.sh
index 6004242ea..69f22f44c 100755
--- a/bin/ebuild.sh
+++ b/bin/ebuild.sh
@@ -310,7 +310,7 @@ unpack() {
local x
local y
local myfail
-
+ local tar_opts="--exclude ." # preserve ${PORTAGE_WORKDIR_MODE}
[ -z "$*" ] && die "Nothing passed to the 'unpack' command"
for x in "$@"; do
@@ -331,13 +331,13 @@ unpack() {
myfail="failure unpacking ${x}"
case "${x##*.}" in
tar)
- tar xof "${srcdir}${x}" || die "$myfail"
+ tar xof "${srcdir}${x}" ${tar_opts} || die "$myfail"
;;
tgz)
- tar xozf "${srcdir}${x}" || die "$myfail"
+ tar xozf "${srcdir}${x}" ${tar_opts} || die "$myfail"
;;
tbz|tbz2)
- bzip2 -dc "${srcdir}${x}" | tar xof -
+ bzip2 -dc "${srcdir}${x}" | tar xof - ${tar_opts}
assert "$myfail"
;;
ZIP|zip|jar)
@@ -345,14 +345,14 @@ unpack() {
;;
gz|Z|z)
if [ "${y}" == "tar" ]; then
- tar zoxf "${srcdir}${x}" || die "$myfail"
+ tar zoxf "${srcdir}${x}" ${tar_opts} || die "$myfail"
else
gzip -dc "${srcdir}${x}" > ${x%.*} || die "$myfail"
fi
;;
bz2|bz)
if [ "${y}" == "tar" ]; then
- bzip2 -dc "${srcdir}${x}" | tar xof -
+ bzip2 -dc "${srcdir}${x}" | tar xof - ${tar_opts}
assert "$myfail"
else
bzip2 -dc "${srcdir}${x}" > ${x%.*} || die "$myfail"