]>
Commit | Line | Data |
---|---|---|
1 | #!/bin/bash | |
2 | set -e | |
3 | ||
4 | version=$(sw_vers -productVersion) | |
5 | ||
6 | cat /var/lib/dpkg/status | while IFS= read -r line; do | |
7 | if [[ ${line} == 'Package: firmware' ]]; then | |
8 | firmware= | |
9 | elif [[ ${line} == '' ]]; then | |
10 | unset firmware | |
11 | elif [[ "${firmware+@}" ]]; then | |
12 | continue | |
13 | fi | |
14 | ||
15 | echo "${line}" | |
16 | done >/var/lib/dpkg/status_ | |
17 | ||
18 | cat >>/var/lib/dpkg/status_ <<EOF | |
19 | Package: firmware | |
20 | Essential: yes | |
21 | Status: install ok installed | |
22 | Priority: required | |
23 | Section: System | |
24 | Installed-Size: 0 | |
25 | Maintainer: Jay Freeman (saurik) <saurik@saurik.com> | |
26 | Architecture: iphoneos-arm | |
27 | Version: ${version} | |
28 | Description: almost impressive Apple frameworks | |
29 | Name: iPhone Firmware | |
30 | ||
31 | EOF | |
32 | ||
33 | mv -f /var/lib/dpkg/status{_,} | |
34 | ||
35 | echo "/." >/var/lib/dpkg/info/firmware.list | |
36 | ||
37 | if [[ ${version} = 1.0* || ${version} = 1.1.[012] ]]; then | |
38 | user=root | |
39 | else | |
40 | user=mobile | |
41 | fi | |
42 | ||
43 | if [[ ! -h /User && -d /User ]]; then | |
44 | cp -afT /User /var/"${user}" | |
45 | fi && rm -rf /User && ln -s "/var/${user}" /User |