From 5cff6ef9ee8c8ba2bbf6b97e55c30ea8887d6511 Mon Sep 17 00:00:00 2001 From: Ypnose Date: Sat, 17 Aug 2013 13:28:56 +0200 Subject: [PATCH 1/2] New package: rpmextract-1.0-1 --- srcpkgs/rpmextract/files/rpm2cpio | 26 ++++++++++++++++++++++++++ srcpkgs/rpmextract/files/rpmextract | 6 ++++++ srcpkgs/rpmextract/template | 25 +++++++++++++++++++++++++ 3 files changed, 57 insertions(+) create mode 100755 srcpkgs/rpmextract/files/rpm2cpio create mode 100755 srcpkgs/rpmextract/files/rpmextract create mode 100644 srcpkgs/rpmextract/template diff --git a/srcpkgs/rpmextract/files/rpm2cpio b/srcpkgs/rpmextract/files/rpm2cpio new file mode 100755 index 00000000000..a960609ed8a --- /dev/null +++ b/srcpkgs/rpmextract/files/rpm2cpio @@ -0,0 +1,26 @@ +#!/bin/bash + +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/srcpkgs/rpmextract/files/rpmextract b/srcpkgs/rpmextract/files/rpmextract new file mode 100755 index 00000000000..c5efa88cf3d --- /dev/null +++ b/srcpkgs/rpmextract/files/rpmextract @@ -0,0 +1,6 @@ +#!/bin/bash +if [ "$1" = "" -o ! -e "$1" ]; then + echo "no package supplied" 1>&2 + exit 1 +fi +rpm2cpio $1 | bsdtar -xf - diff --git a/srcpkgs/rpmextract/template b/srcpkgs/rpmextract/template new file mode 100644 index 00000000000..bc0ecc2ebcc --- /dev/null +++ b/srcpkgs/rpmextract/template @@ -0,0 +1,25 @@ +# Template file for 'rpmextract' +pkgname=rpmextract +version=1.0 +revision=1 +short_desc="Script to convert or extract RPM archives (contains rpm2cpio)" +maintainer="Ypnose " +license="GPL" +homepage="http://www.archlinux.org" + +nofetch=yes +noextract=yes + +do_install() { + vmkdir usr/bin + vinstall ${FILESDIR}/rpm2cpio 755 usr/bin + vinstall ${FILESDIR}/rpmextract 755 usr/bin +} + +rpmextract_package() { + depends="bash libarchive coreutils" + noarch="yes" + pkg_install() { + vmove usr + } +} From 844fbb4604d2f4eed9d9cbc5ca36605f8861940e Mon Sep 17 00:00:00 2001 From: Ypnose Date: Sat, 17 Aug 2013 14:01:30 +0200 Subject: [PATCH 2/2] rpmextract: fixed depends + vmkdir --- srcpkgs/rpmextract/template | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/srcpkgs/rpmextract/template b/srcpkgs/rpmextract/template index bc0ecc2ebcc..fd0ca2c89bb 100644 --- a/srcpkgs/rpmextract/template +++ b/srcpkgs/rpmextract/template @@ -11,13 +11,12 @@ nofetch=yes noextract=yes do_install() { - vmkdir usr/bin vinstall ${FILESDIR}/rpm2cpio 755 usr/bin vinstall ${FILESDIR}/rpmextract 755 usr/bin } rpmextract_package() { - depends="bash libarchive coreutils" + depends="bash bsdtar coreutils" noarch="yes" pkg_install() { vmove usr