]> git.saurik.com Git - cydia.git/blobdiff - Library/firmware.sh
Ignore .dSYM folders I am suddenly ending up with.
[cydia.git] / Library / firmware.sh
index 53543ba9147f9af2902d9cab1b56bd73d3931ad3..f7479ba8fcf4f7273d96bf227d4f24e12bffb26f 100755 (executable)
@@ -8,7 +8,7 @@ shopt -s nullglob
 version=$(sw_vers -productVersion)
 cpu=$(uname -p)
 
-if [[ ${cpu} == arm ]]; then
+if [[ ${cpu} == arm || ${cpu} == arm64 ]]; then
     data=/var/lib/dpkg
     model=hw.machine
     arch=iphoneos-arm
@@ -41,6 +41,7 @@ Installed-Size: 0
 Architecture: ${arch}
 Version: ${version}
 Description: ${description}
+Maintainer: Jay Freeman (saurik) <saurik@saurik.com>
 Tag: role::cydia
 EOF
 
@@ -49,6 +50,11 @@ EOF
 }
 # }}}
 
+output=$(mktemp "${data}"/status-tmp.XXXXXX)
+chmod 644 "${output}"
+xxxxxx=${output##*/status-tmp.}
+rm -f "${data}"/status-tmp.!("${xxxxxx}")
+
 {
 
 # Delete Old Packages {{{
@@ -87,8 +93,8 @@ EOF
     fi
 # }}}
 
-    if [[ ${cpu} == arm ]]; then
-        pseudo "firmware" "${version}" "almost impressive Apple frameworks"
+    if [[ ${cpu} == arm || ${cpu} == arm64 ]]; then
+        pseudo "firmware" "${version}" "almost impressive Apple frameworks" "iOS Firmware"
 
         while [[ 1 ]]; do
             gssc=$(gssc 2>&1)
@@ -101,19 +107,22 @@ EOF
         echo "${gssc}" | sed -re '
             /^    [^ ]* = [0-9.]*;$/ ! d;
             s/^    ([^ ]*) = ([0-9.]*);$/\1 \2/;
-            s/([A-Z])/-\L\1/g; s/^"([^ ]*)"/\1/;
+            s/([A-Z])/-\L\1/g;
+            s/^"([^ ]*)"/\1/;
             s/^-//;
             / 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
+        ' | while read -r name value; do case "${name}" in
+            (ipad) for name in ipad wildcat; do
+                pseudo "gsc.${name}" "${value}" "this device has a very large screen" "iPad"
+            done;;
+
+            (*)
+                pseudo "gsc.${name}" "${value}" "virtual GraphicsServices dependency"
+            ;;
+        esac; done
     fi
 
-    if [[ ${cpu} == arm ]]; then
+    if [[ ${cpu} == arm || ${cpu} == arm64 ]]; then
         os=ios
     else
         os=macosx
@@ -130,14 +139,16 @@ EOF
 
     pseudo "cy+kernel.$(lower <<<$(sysctl -n kern.ostype))" "$(sysctl -n kern.osrelease)" "virtual kernel dependency"
 
-} >"${status}"_
+    pseudo "cy+lib.corefoundation" "$(/usr/libexec/cydia/cfversion)" "virtual corefoundation dependency"
+
+} >"${output}"
 
-mv -f "${status}"{_,}
+mv -f "${output}" "${status}"
 
-if [[ ${cpu} == arm ]]; then
+if [[ ${cpu} == arm || ${cpu} == arm64 ]]; then
     if [[ ! -h /User && -d /User ]]; then
         cp -afT /User /var/mobile
     fi && rm -rf /User && ln -s "/var/mobile" /User
 
-    echo 3 >/var/lib/cydia/firmware.ver
+    echo 6 >/var/lib/cydia/firmware.ver
 fi