]> git.saurik.com Git - cydia.git/commitdiff
Added firmware management scripts.
authorJay Freeman (saurik) <saurik@saurik.com>
Sun, 2 Mar 2008 10:54:28 +0000 (10:54 +0000)
committerJay Freeman (saurik) <saurik@saurik.com>
Sun, 2 Mar 2008 10:54:28 +0000 (10:54 +0000)
Library/com.saurik.Cydia.Firmware [new file with mode: 0644]
Library/firmware.sh [new file with mode: 0755]

diff --git a/Library/com.saurik.Cydia.Firmware b/Library/com.saurik.Cydia.Firmware
new file mode 100644 (file)
index 0000000..6fdcf33
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+       <key>Label</key>
+       <string>com.saurik.Cydia.Firmware</string>
+       <key>Program</key>
+       <string>/usr/libexec/cydia/firmware.sh</string>
+       <key>RunAtLoad</key>
+       <true/>
+</dict>
+</plist>
diff --git a/Library/firmware.sh b/Library/firmware.sh
new file mode 100755 (executable)
index 0000000..e0ef0ab
--- /dev/null
@@ -0,0 +1,43 @@
+#!/bin/bash
+
+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
+Package: firmware
+Essential: yes
+Status: install ok installed
+Priority: required
+Section: System
+Installed-Size: 0
+Maintainer: Jay Freeman (saurik) <saurik@saurik.com>
+Architecture: darwin-arm
+Version: ${version}
+Description: almost impressive Apple frameworks
+Name: Apple iPhone Firmware
+
+EOF
+fi && mv -f /var/lib/dpkg/status{_,}
+
+if [[ ${version} = 1.0* || ${version} = 1.1.[012] ]]; then
+    user=root
+else
+    user=mobile
+fi
+
+if [[ ! -h /User && -d /User ]]; then
+    cp -afT /User /var/"${user}"
+fi && rm -rf /User && ln -s "/var/${user}" /User