]> git.saurik.com Git - cydia.git/blobdiff - sysroot.sh
Remove alternative sysroot-2.tgz as sysroot.sh is no longer egregious.
[cydia.git] / sysroot.sh
index 77ad994bce7e63368d555130b18aabc771f5dca2..71521dbff4958e042021c860982f14b3d85c5825 100755 (executable)
@@ -5,11 +5,12 @@ if [[ ${BASH_VERSION} != 4* ]]; then
     exit 1
 fi
 
+set -o pipefail
+set -e
+
 shopt -s extglob
 shopt -s nullglob
 
-PATH=/Library/Cydia/bin:$PATH
-
 rm -rf sysroot
 mkdir sysroot
 cd sysroot
@@ -19,6 +20,10 @@ distribution=tangelo
 component=main
 architecture=iphoneos-arm
 
+declare -A dpkgz
+dpkgz[gz]=gunzip
+dpkgz[lzma]=unlzma
+
 wget -qO- "${repository}dists/${distribution}/${component}/binary-${architecture}/Packages.bz2" | bzcat | {
     regex='^([^ \t]*): *(.*)'
     declare -A fields
@@ -28,8 +33,25 @@ 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}"
-                dpkg-deb -x "${package}.deb" .
+                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
             fi
 
             unset fields