[arch-commits] Commit in rpmextract/trunk (PKGBUILD rpm2cpio rpmextract.sh)

Jan de Groot jgc at archlinux.org
Sun Dec 21 17:53:06 UTC 2008


    Date: Sunday, December 21, 2008 @ 12:53:06
  Author: jgc
Revision: 22078

upgpkg: rpmextract 1.0-1
    Split rpm extraction into two scripts. rpm2cpio can be used by tools like file-roller

Added:
  rpmextract/trunk/rpm2cpio
Modified:
  rpmextract/trunk/PKGBUILD
  rpmextract/trunk/rpmextract.sh

---------------+
 PKGBUILD      |   18 +++++++++++-------
 rpm2cpio      |   26 ++++++++++++++++++++++++++
 rpmextract.sh |   23 +----------------------
 3 files changed, 38 insertions(+), 29 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2008-12-21 17:41:48 UTC (rev 22077)
+++ PKGBUILD	2008-12-21 17:53:06 UTC (rev 22078)
@@ -2,15 +2,19 @@
 # Maintainer: Tobias Powalowski <tpowa at archlinux.org>
 
 pkgname=rpmextract
-pkgver=0
-pkgrel=2
-pkgdesc="This script extracts rpm archives"
+pkgver=1.0
+pkgrel=1
+pkgdesc="Script to convert or extract RPM archives (contains rpm2cpio)"
 arch=(i686 x86_64)
 license=('GPL')
-source=(rpmextract.sh)
+source=(rpmextract.sh rpm2cpio)
 url="http://www.archlinux.org"
-depends=('bash' 'libarchive')
+depends=('bash' 'libarchive' 'coreutils')
+md5sums=('a7b527e4c210e66ef72532c606072e0d'
+         '57a4e99bedcefadc2f89006ce98d2e60')
+
 build() {
-install -D -m755 $startdir/src/rpmextract.sh $startdir/pkg/usr/bin/rpmextract.sh
+  install -m755 -d ${pkgdir}/usr/bin
+  install -m755 ${srcdir}/rpmextract.sh ${pkgdir}/usr/bin/ || return 1
+  install -m755 ${srcdir}/rpm2cpio ${pkgdir}/usr/bin/ || return 1
 }
-md5sums=('e90e363350c0b334f858385c52cf7559')

Added: rpm2cpio
===================================================================
--- rpm2cpio	                        (rev 0)
+++ rpm2cpio	2008-12-21 17:53:06 UTC (rev 22078)
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+pkg=$1
+if [ "$pkg" = "" -o ! -e "$pkg" ]; then
+  echo "no package supplied" 1>&2
+  exit 1
+fi
+
+leadsize=96
+o=`expr $leadsize + 8`
+set `od -j $o -N 8 -t u1 $pkg`
+il=`expr 256 \* \( 256 \* \( 256 \* $2 + $3 \) + $4 \) + $5`
+dl=`expr 256 \* \( 256 \* \( 256 \* $6 + $7 \) + $8 \) + $9`
+# echo "sig il: $il dl: $dl"
+
+sigsize=`expr 8 + 16 \* $il + $dl`
+o=`expr $o + $sigsize + \( 8 - \( $sigsize \% 8 \) \) \% 8 + 8`
+set `od -j $o -N 8 -t u1 $pkg`
+il=`expr 256 \* \( 256 \* \( 256 \* $2 + $3 \) + $4 \) + $5`
+dl=`expr 256 \* \( 256 \* \( 256 \* $6 + $7 \) + $8 \) + $9`
+# echo "hdr il: $il dl: $dl"
+
+hdrsize=`expr 8 + 16 \* $il + $dl`
+o=`expr $o + $hdrsize`
+
+dd if=$pkg ibs=$o skip=1 2>/dev/null

Modified: rpmextract.sh
===================================================================
--- rpmextract.sh	2008-12-21 17:41:48 UTC (rev 22077)
+++ rpmextract.sh	2008-12-21 17:53:06 UTC (rev 22078)
@@ -1,26 +1,6 @@
 #!/bin/sh
-
-pkg=$1
-if [ "$pkg" = "" -o ! -e "$pkg" ]; then
+if [ "$1" = "" -o ! -e "$1" ]; then
     echo "no package supplied" 1>&2
    exit 1
 fi
-
-leadsize=96
-o=`expr $leadsize + 8`
-set `od -j $o -N 8 -t u1 $pkg`
-il=`expr 256 \* \( 256 \* \( 256 \* $2 + $3 \) + $4 \) + $5`
-dl=`expr 256 \* \( 256 \* \( 256 \* $6 + $7 \) + $8 \) + $9`
-# echo "sig il: $il dl: $dl"
-
-sigsize=`expr 8 + 16 \* $il + $dl`
-o=`expr $o + $sigsize + \( 8 - \( $sigsize \% 8 \) \) \% 8 + 8`
-set `od -j $o -N 8 -t u1 $pkg`
-il=`expr 256 \* \( 256 \* \( 256 \* $2 + $3 \) + $4 \) + $5`
-dl=`expr 256 \* \( 256 \* \( 256 \* $6 + $7 \) + $8 \) + $9`
-# echo "hdr il: $il dl: $dl"
-
-hdrsize=`expr 8 + 16 \* $il + $dl`
-o=`expr $o + $hdrsize`
-
-dd if=$pkg ibs=$o skip=1 2>/dev/null | bsdtar -xf -
\ No newline at end of file
+rpm2cpio $1 | bsdtar -xf -




More information about the arch-commits mailing list