summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-05-13 23:09:03 +0000
committerZac Medico <zmedico@gentoo.org>2008-05-13 23:09:03 +0000
commit7376b33e8610fe082dcd9de8f47b2acf4bda9f13 (patch)
treec33be1b8de377a5401a8c5554904f0d7e24072f6
parent19faec9972e5ac014f302a999fa4391155a6face (diff)
downloadportage-7376b33e8610fe082dcd9de8f47b2acf4bda9f13.tar.gz
portage-7376b33e8610fe082dcd9de8f47b2acf4bda9f13.tar.bz2
portage-7376b33e8610fe082dcd9de8f47b2acf4bda9f13.zip
Prefer deb2tgz over ar for unpacking .deb files when installed (patch by
Fabian Groffen, http://archives.gentoo.org/gentoo-portage-dev/msg_2f9c8543016f1a96f9122aca0ec35ded.xml) (trunk r10327) svn path=/main/branches/2.1.2/; revision=10330
-rwxr-xr-xbin/ebuild.sh15
1 files changed, 14 insertions, 1 deletions
diff --git a/bin/ebuild.sh b/bin/ebuild.sh
index b58962343..ecc825464 100755
--- a/bin/ebuild.sh
+++ b/bin/ebuild.sh
@@ -372,9 +372,22 @@ unpack() {
LHa|LHA|lha|lzh)
lha xfq "${srcdir}${x}" || die "$myfail"
;;
- a|deb)
+ a)
ar x "${srcdir}${x}" || die "$myfail"
;;
+ deb)
+ # Unpacking .deb archives can not always be done with
+ # `ar`. For instance on AIX this doesn't work out. If
+ # we have `deb2targz` installed, prefer it over `ar` for
+ # that reason. We just make sure on AIX `deb2targz` is
+ # installed.
+ if type -P deb2targz > /dev/null; then
+ deb2targz "${srcdir}/${x}" || die "$myfail"
+ mv "${srcdir}/${x/.deb/.tar.gz}" data.tar.gz
+ else
+ ar x "${srcdir}/${x}" || die "$myfail"
+ fi
+ ;;
lzma)
if [ "${y}" == "tar" ]; then
lzma -dc "${srcdir}${x}" | tar xof - ${tar_opts}