Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=4e73ee6eac54edde3d9c16b2d104a447fc131c09

commit 4e73ee6eac54edde3d9c16b2d104a447fc131c09
Author: Devil505 <[email protected]>
Date:   Sat Mar 24 10:59:47 2012 +0100

rpmextract-1.0-1-i686
* new package
* replacing rpmunpack

diff --git a/source/apps-extra/rpmextract/FrugalBuild 
b/source/apps-extra/rpmextract/FrugalBuild
new file mode 100644
index 0000000..7127d03
--- /dev/null
+++ b/source/apps-extra/rpmextract/FrugalBuild
@@ -0,0 +1,26 @@
+# Compiling Time: 0.01 SBU
+# Maintainer: Devil505 <[email protected]>
+
+pkgname=rpmextract
+pkgver=1.0
+pkgrel=1
+pkgdesc="Script to convert or extract RPM archives (contains rpm2cpio)"
+url="http://frugalware.org";
+depends=()
+groups=('apps-extra')
+archs=('i686' 'x86_64')
+up2date=$pkgver
+provides=('rpmunpack')
+replaces=('rpmunpack')
+conflicts=('rpmunpack')
+source=('rpmextract.sh' 'rpm2cpio')
+sha1sums=('b6db9bc7f8b2b400e74824a7ab79a70adb8eb98c' \
+          'd75f7a41faaab91f39ed6f5f24cca23fb9b6280d')
+
+build() {
+  Fmkdir usr/bin
+  Fexe rpmextract.sh /usr/bin/rpmextract.sh
+  Fexe rpm2cpio usr/bin/rpm2cpio
+  Fln  /usr/bin/rpmextract.sh /usr/bin/rpmunpack
+}
+
diff --git a/source/apps-extra/rpmextract/rpm2cpio 
b/source/apps-extra/rpmextract/rpm2cpio
new file mode 100755
index 0000000..a0eba24
--- /dev/null
+++ b/source/apps-extra/rpmextract/rpm2cpio
@@ -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
diff --git a/source/apps-extra/rpmextract/rpmextract.sh 
b/source/apps-extra/rpmextract/rpmextract.sh
new file mode 100755
index 0000000..47ad01d
--- /dev/null
+++ b/source/apps-extra/rpmextract/rpmextract.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+if [ "$1" = "" -o ! -e "$1" ]; then
+    echo "no package supplied" 1>&2
+   exit 1
+fi
+rpm2cpio $1 | bsdtar -xf -
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to