]> git.saurik.com Git - cydia.git/blobdiff - Library/firmware.sh
iPhone 4 hi-res.
[cydia.git] / Library / firmware.sh
index e91eef344f3e5350abd654c7368fed6bdb7f7e4d..d2c048898d29c9392e7736ed292d5141cebe4921 100755 (executable)
@@ -1,5 +1,7 @@
 #!/bin/bash
+
 set -e
+shopt -s extglob
 
 version=$(sw_vers -productVersion)
 
@@ -14,7 +16,7 @@ while IFS= read -r line; do
         unset blank
     fi
 
-    if [[ ${line} == 'Package: firmware' ]]; then
+    if [[ ${line} == "Package: "@(firmware|gsc.*) ]]; then
         firmware=
     elif [[ ${line} == '' ]]; then
         blank=
@@ -43,20 +45,47 @@ Status: install ok installed
 Priority: required
 Section: System
 Installed-Size: 0
-Maintainer: Jay Freeman (saurik) <saurik@saurik.com>
 Architecture: iphoneos-arm
 Version: ${version}
 Description: almost impressive Apple frameworks
 Name: iPhone Firmware
+Tag: role::cydia
+
+EOF
+
+echo "/." >/var/lib/dpkg/info/firmware.list
+
+gssc 2>&1 | sed -re '
+    /^    [^ ]* = [0-9.]*;$/ ! d;
+    s/^    ([^ ]*) = ([0-9.]*);$/\1 \2/;
+    s/([A-Z])/-\L\1/g; s/^"([^ ]*)"/\1/;
+    s/^-//;
+    / 0$/ d;
+' | while read -r name value; do
+
+cat <<EOF
+Package: gsc.${name}
+Essential: yes
+Status: install ok installed
+Priority: required
+Section: System
+Installed-Size: 0
+Architecture: iphoneos-arm
+Version: ${value}
+Description: GraphicsService Capability Bit
+Name: GSC: ${name}
+Tag: role::cydia
 
 EOF
 
+echo "/." >/var/lib/dpkg/info/gsc."${name}".list
+
+done
+
 } >/var/lib/dpkg/status_
 
 mv -f /var/lib/dpkg/status{_,}
 
-echo "/." >/var/lib/dpkg/info/firmware.list
-
 if [[ ${version} = 1.0* || ${version} = 1.1.[012] ]]; then
     user=root
 else
@@ -66,3 +95,5 @@ fi
 if [[ ! -h /User && -d /User ]]; then
     cp -afT /User /var/"${user}"
 fi && rm -rf /User && ln -s "/var/${user}" /User
+
+echo 2 >/var/lib/cydia/firmware.ver