summaryrefslogtreecommitdiff
path: root/Library/firmware.sh
diff options
context:
space:
mode:
authorJay Freeman (saurik) <saurik@saurik.com>2008-03-02 10:54:28 +0000
committerJay Freeman (saurik) <saurik@saurik.com>2008-03-02 10:54:28 +0000
commit1ca3a01ad6422999a1fd172b82a3124f9b361bb0 (patch)
tree88866d2216967676c3db007726aab1947cf4ec0f /Library/firmware.sh
parent2a8d9add1233208d9a9205d879f4294bf0ab18fc (diff)
Added firmware management scripts.
Diffstat (limited to 'Library/firmware.sh')
-rwxr-xr-xLibrary/firmware.sh43
1 files changed, 43 insertions, 0 deletions
diff --git a/Library/firmware.sh b/Library/firmware.sh
new file mode 100755
index 0000000..e0ef0ab
--- /dev/null
+++ b/Library/firmware.sh
@@ -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