X-Git-Url: https://git.saurik.com/cydia.git/blobdiff_plain/b46737032fdf79efd25b8bb022af6e9f1181ff61..8bd55062b41bb5598bba59417a90b57e720d3e9b:/Library/firmware.sh diff --git a/Library/firmware.sh b/Library/firmware.sh index 572eab17..afaae9a0 100755 --- a/Library/firmware.sh +++ b/Library/firmware.sh @@ -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 @@ -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 @@ -86,21 +87,36 @@ 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" - 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/; + s/([A-Z])/-\L\1/g; + s/^"([^ ]*)"/\1/; s/^-//; / 0$/ d; - ' | while read -r name value; do - pseudo "gsc.${name}" "${value}" "virtual GraphicsServices dependency" - 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 @@ -117,14 +133,16 @@ 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}"{_,} -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