From: Jay Freeman (saurik) Date: Sat, 12 Mar 2011 23:07:51 +0000 (-0800) Subject: Separate out extract() in syroot.sh. X-Git-Tag: v1.1.0%b7~30 X-Git-Url: https://git.saurik.com/cydia.git/commitdiff_plain/e052c855915574d3bea528d5f7a2eaef101ff3c4 Separate out extract() in syroot.sh. --- diff --git a/sysroot.sh b/sysroot.sh index 4815b242..26ecbadf 100755 --- a/sysroot.sh +++ b/sysroot.sh @@ -36,6 +36,30 @@ declare -A dpkgz dpkgz[gz]=gunzip dpkgz[lzma]=unlzma +function extract() { + package=$1 + url=$2 + + wget -O "${package}.deb" "${url}" + for z in lzma gz; do + compressed=data.tar.${z} + + if ar -x "${package}.deb" "${compressed}" 2>/dev/null; then + ${dpkgz[${z}]} "${compressed}" + break + fi + done + + if ! [[ -e data.tar ]]; then + echo "unable to extract package" 1>&2 + exit 1 + fi + + ls -la data.tar + tar -xf ./data.tar + rm -f data.tar +} + wget -qO- "${repository}dists/${distribution}/${component}/binary-${architecture}/Packages.bz2" | bzcat | { regex='^([^ \t]*): *(.*)' declare -A fields @@ -45,25 +69,7 @@ wget -qO- "${repository}dists/${distribution}/${component}/binary-${architecture package=${fields[package]} if [[ ${package} == *(apr|apr-lib|apt7|apt7-lib|coreutils|mobilesubstrate|pcre) ]]; then filename=${fields[filename]} - - wget -O "${package}.deb" "${repository}${filename}" - for z in lzma gz; do - compressed=data.tar.${z} - - if ar -x "${package}.deb" "${compressed}" 2>/dev/null; then - ${dpkgz[${z}]} "${compressed}" - break - fi - done - - if ! [[ -e data.tar ]]; then - echo "unable to extract package" 1>&2 - exit 1 - fi - - ls -la data.tar - tar -xf ./data.tar - rm -f data.tar + extract "${package}" "${repository}${filename}" fi unset fields