]> git.saurik.com Git - cydia.git/blobdiff - Library/firmware.sh
Fixed memory retain issue in _H<> and a crash bug in sources_ (causing nils).
[cydia.git] / Library / firmware.sh
index e0ef0ab842042c6e7889183d41e50cf3b63bed9a..0ad61754e2316b57f8185605c8e6739d747a417d 100755 (executable)
@@ -1,22 +1,21 @@
 #!/bin/bash
+set -e
 
 version=$(sw_vers -productVersion)
 
-if grep '^Package: firmware$' /var/lib/dpkg/status >/dev/null; then
-    cat /var/lib/dpkg/status | while read -r line; do
-        if [[ ${line} == 'Package: firmware' ]]; then
-            firmware=
-        elif [[ ${line} == '' ]]; then
-            unset firmware
-        elif [[ ${line} == Version:* && "${firmware+@}" ]]; then
-            echo "Version: ${version}"
-            continue
-        fi
-
-        echo "${line}"
-    done >/var/lib/dpkg/status_
-else
-    cat /var/lib/dpkg/status - >/var/lib/dpkg/status_ <<EOF
+cat /var/lib/dpkg/status | while IFS= read -r line; do
+    if [[ ${line} == 'Package: firmware' ]]; then
+        firmware=
+    elif [[ ${line} == '' ]]; then
+        unset firmware
+    elif [[ "${firmware+@}" ]]; then
+        continue
+    fi
+
+    echo "${line}"
+done >/var/lib/dpkg/status_
+
+cat >>/var/lib/dpkg/status_ <<EOF
 Package: firmware
 Essential: yes
 Status: install ok installed
@@ -24,13 +23,16 @@ Priority: required
 Section: System
 Installed-Size: 0
 Maintainer: Jay Freeman (saurik) <saurik@saurik.com>
-Architecture: darwin-arm
+Architecture: iphoneos-arm
 Version: ${version}
 Description: almost impressive Apple frameworks
-Name: Apple iPhone Firmware
+Name: iPhone Firmware
 
 EOF
-fi && mv -f /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