summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2005-08-22 23:02:18 +0000
committerMike Frysinger <vapier@gentoo.org>2005-08-22 23:02:18 +0000
commit202be9f9a57c84baed58ff1768a43c3c379ab0e4 (patch)
tree87e8d583294f091c9bac7ba8eee8c437728f0a40
parentm68k/sh love (diff)
downloadgentoo-2-202be9f9a57c84baed58ff1768a43c3c379ab0e4.tar.gz
gentoo-2-202be9f9a57c84baed58ff1768a43c3c379ab0e4.tar.bz2
gentoo-2-202be9f9a57c84baed58ff1768a43c3c379ab0e4.zip
Add support for dumping rpms to a tar file and skipping the slow gzip stage.
(Portage version: 2.0.51.22-r2)
-rw-r--r--app-arch/rpm2targz/ChangeLog10
-rw-r--r--app-arch/rpm2targz/files/digest-rpm2targz-9.0-r41
-rw-r--r--app-arch/rpm2targz/files/rpm2targz-9.0-rpm2tar.patch41
-rw-r--r--app-arch/rpm2targz/rpm2targz-9.0-r4.ebuild49
4 files changed, 99 insertions, 2 deletions
diff --git a/app-arch/rpm2targz/ChangeLog b/app-arch/rpm2targz/ChangeLog
index 67a8ded2e70a..74cb6a24b90e 100644
--- a/app-arch/rpm2targz/ChangeLog
+++ b/app-arch/rpm2targz/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for app-arch/rpm2targz
-# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-arch/rpm2targz/ChangeLog,v 1.37 2005/08/10 23:43:39 ka0ttic Exp $
+# Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/app-arch/rpm2targz/ChangeLog,v 1.38 2005/08/22 23:02:18 vapier Exp $
+
+*rpm2targz-9.0-r4 (22 Aug 2005)
+
+ 22 Aug 2005; Mike Frysinger <vapier@gentoo.org>
+ +files/rpm2targz-9.0-rpm2tar.patch, +rpm2targz-9.0-r4.ebuild:
+ Add support for dumping rpms to a tar file and skipping the slow gzip stage.
10 Aug 2005; Aaron Walker <ka0ttic@gentoo.org> rpm2targz-9.0-r3.ebuild:
Stable on mips.
diff --git a/app-arch/rpm2targz/files/digest-rpm2targz-9.0-r4 b/app-arch/rpm2targz/files/digest-rpm2targz-9.0-r4
new file mode 100644
index 000000000000..154805e3f598
--- /dev/null
+++ b/app-arch/rpm2targz/files/digest-rpm2targz-9.0-r4
@@ -0,0 +1 @@
+MD5 7b8ba680dcbe7e1e4e349698400bcea6 rpm2targz-9.0.tar.gz 2639
diff --git a/app-arch/rpm2targz/files/rpm2targz-9.0-rpm2tar.patch b/app-arch/rpm2targz/files/rpm2targz-9.0-rpm2tar.patch
new file mode 100644
index 000000000000..2dee633816f6
--- /dev/null
+++ b/app-arch/rpm2targz/files/rpm2targz-9.0-rpm2tar.patch
@@ -0,0 +1,41 @@
+Add support for turning rpm's into tar's and skipping the gzip stage ...
+Much faster on slower boxes and useful when you just want to rip apart
+a rpm and look at the insides.
+
+--- rpm2targz
++++ rpm2targz
+@@ -35,6 +35,7 @@
+ exit 1
+ fi
+
++BASENAME="`basename $0`"
+ if [ "$1" = "" ]; then
+ echo "$0: Converts RPM format to standard GNU tar + GNU zip format."
+ if [ -e /etc/slackware-version ]; then
+@@ -44,8 +45,10 @@
+ fi
+ echo
+ echo "Usage: $0 <file.rpm>"
+- if [ "`basename $0`" = "rpm2tgz" ]; then
++ if [ "$BASENAME" = "rpm2tgz" ]; then
+ echo " (Outputs \"file.tgz\")"
++ elif [ "$BASENAME" = "rpm2tar" ]; then
++ echo " (Outputs \"file.tar\")"
+ else
+ echo " (Outputs \"file.tar.gz\")"
+ fi
+@@ -118,9 +121,11 @@
+ rm -f $ofn
+ find . -type d -perm 700 -exec chmod 755 {} \; )
+ ( cd ${WORKDIR} ; tar cf - . ) > `basename $i .rpm`.tar
+- gzip -9 `basename $i .rpm`.tar
+- if [ "`basename $0`" = "rpm2tgz" ]; then
+- mv `basename $i .rpm`.tar.gz `basename $i .rpm`.tgz
++ if [ "$BASENAME" != "rpm2tar" ]; then
++ gzip -9 `basename $i .rpm`.tar
++ if [ "$BASENAME" = "rpm2tgz" ]; then
++ mv `basename $i .rpm`.tar.gz `basename $i .rpm`.tgz
++ fi
+ fi
+ ( rm -rf "${WORKDIR}/*" )
+ echo
diff --git a/app-arch/rpm2targz/rpm2targz-9.0-r4.ebuild b/app-arch/rpm2targz/rpm2targz-9.0-r4.ebuild
new file mode 100644
index 000000000000..89e997e7fb61
--- /dev/null
+++ b/app-arch/rpm2targz/rpm2targz-9.0-r4.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-arch/rpm2targz/rpm2targz-9.0-r4.ebuild,v 1.1 2005/08/22 23:02:18 vapier Exp $
+
+inherit toolchain-funcs eutils
+
+DESCRIPTION="Convert a .rpm file to a .tar.gz archive"
+HOMEPAGE="http://www.slackware.com/config/packages.php"
+SRC_URI="mirror://gentoo/${P}.tar.gz"
+
+LICENSE="as-is"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE=""
+
+# NOTE: rpm2targz autodetects rpm2cpio at runtime, and uses it if available,
+# so we don't explicitly set it as a dependency.
+DEPEND="app-arch/cpio
+ sys-apps/file"
+RDEPEND="${DEPEND}
+ sys-apps/util-linux
+ sys-apps/which"
+
+S=${WORKDIR}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ # makes rpm2targz extract in current dir
+ epatch "${FILESDIR}"/${P}-gentoo.patch
+ # adds bzip2 detection (#23249)
+ epatch "${FILESDIR}"/${P}-bzip2.patch
+ # adds bzip2 decompression to rpm2targz (#31164)
+ epatch "${FILESDIR}"/${P}-bzip2_rpm2targz.patch
+ # secures temp file handling (#96192)
+ epatch "${FILESDIR}"/${P}-secure_temp_handling.patch
+ # add supprot for a quicker rpm2tar
+ epatch "${FILESDIR}"/${P}-rpm2tar.patch
+}
+
+src_compile() {
+ emake rpmoffset CC=$(tc-getCC) || die
+}
+
+src_install() {
+ dobin rpmoffset rpm2targz || die
+ dosym rpm2targz /usr/bin/rpm2tar
+ dodoc rpm2targz.README
+}