]> git.saurik.com Git - cydia.git/blobdiff - Library/firmware.sh
#include <UIKit/UIKit.h> from iPhonePrivate.h.
[cydia.git] / Library / firmware.sh
index 572eab17645da3920b38339076e3214f38a7f2c6..ac1381dbb8846b2462cd2eee53798d3a9653937f 100755 (executable)
@@ -23,7 +23,7 @@ model=$(sysctl -n "${model}")
 status=${data}/status
 
 function lower() {
-    tr '[:upper:]' '[:lower:]'
+    sed -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'
 }
 
 # Generate New Package {{{
@@ -52,7 +52,8 @@ EOF
 {
 
 # Delete Old Packages {{{
-    firmware=
+    unset firmware
+    unset blank
 
     while IFS= read -r line; do
         #echo "#${firmware+@}/${blank+@} ${line}" 1>&2
@@ -87,9 +88,17 @@ EOF
 # }}}
 
     if [[ ${cpu} == arm ]]; then
-        pseudo "firmware" "${version}" "almost impressive Apple frameworks"
+        pseudo "firmware" "${version}" "almost impressive Apple frameworks" "iOS Firmware"
 
-        gssc 2>&1 | sed -re '
+        while [[ 1 ]]; do
+            gssc=$(gssc 2>&1)
+            if [[ ${gssc} != *'(null)'* ]]; then
+                break
+            fi
+            sleep 1
+        done
+
+        echo "${gssc}" | sed -re '
             /^    [^ ]* = [0-9.]*;$/ ! d;
             s/^    ([^ ]*) = ([0-9.]*);$/\1 \2/;
             s/([A-Z])/-\L\1/g; s/^"([^ ]*)"/\1/;
@@ -97,6 +106,10 @@ EOF
             / 0$/ d;
         ' | while read -r name value; do
             pseudo "gsc.${name}" "${value}" "virtual GraphicsServices dependency"
+
+            if [[ ${name} == ipad ]]; then
+                pseudo "gsc.wildcat" "${value}" "virtual virtual GraphicsServices dependency"
+            fi
         done
     fi
 
@@ -117,6 +130,8 @@ EOF
 
     pseudo "cy+kernel.$(lower <<<$(sysctl -n kern.ostype))" "$(sysctl -n kern.osrelease)" "virtual kernel dependency"
 
+    pseudo "cy+lib.corefoundation" "$(/usr/libexec/cydia/cfversion)" "virtual corefoundation dependency"
+
 } >"${status}"_
 
 mv -f "${status}"{_,}
@@ -126,5 +141,5 @@ if [[ ${cpu} == arm ]]; then
         cp -afT /User /var/mobile
     fi && rm -rf /User && ln -s "/var/mobile" /User
 
-    echo 3 >/var/lib/cydia/firmware.ver
+    echo 5 >/var/lib/cydia/firmware.ver
 fi