]> git.saurik.com Git - cydia.git/commitdiff
Drop sysroot.sh dependency on CydiaSubstrate.
authorJay Freeman (saurik) <saurik@saurik.com>
Fri, 25 Feb 2011 11:06:50 +0000 (03:06 -0800)
committerJay Freeman (saurik) <saurik@saurik.com>
Mon, 7 Mar 2011 10:41:17 +0000 (02:41 -0800)
compiling.txt
sysroot.sh

index 72d30403b3816b6967cceeb1eb768a3ffa91602d..bb3b7194f31cd2d9610abba16000f66d482c83be 100644 (file)
@@ -9,10 +9,9 @@
        -or-
 
     b) doing the following crazy stunts:
-        i) install Cydia Substrate (in beta)
-        ii) install Fink (the only sane choice)
-        iii) activate Fink (. /sw/bin/init.sh)
-        iv) fink install bash ldid tar wget
-        v) run ./sysroot.sh and wait a bit
+        i) install Fink (the only sane choice)
+        ii) activate Fink (. /sw/bin/init.sh)
+        ii) fink install bash ldid tar wget xz
+        iv) run ./sysroot.sh and wait a bit
 
 3) type "make" to compile the executable
index f03d3a93b738afb828d9bff8162f3ca840920bd8..71521dbff4958e042021c860982f14b3d85c5825 100755 (executable)
@@ -11,8 +11,6 @@ set -e
 shopt -s extglob
 shopt -s nullglob
 
-PATH=/Library/Cydia/bin:$PATH
-
 rm -rf sysroot
 mkdir sysroot
 cd sysroot
@@ -22,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
@@ -31,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