]>
Commit | Line | Data |
---|---|---|
1 | #!/bin/bash | |
2 | ||
3 | version=$(sw_vers -productVersion) | |
4 | ||
5 | if grep '^Package: firmware$' /var/lib/dpkg/status >/dev/null; then | |
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 [[ ${line} == Version:* && "${firmware+@}" ]]; then | |
12 | echo "Version: ${version}" | |
13 | continue | |
14 | fi | |
15 | ||
16 | echo "${line}" | |
17 | done >/var/lib/dpkg/status_ | |
18 | else | |
19 | cat /var/lib/dpkg/status - >/var/lib/dpkg/status_ <<EOF | |
20 | Package: firmware | |
21 | Essential: yes | |
22 | Status: install ok installed | |
23 | Priority: required | |
24 | Section: System | |
25 | Installed-Size: 0 | |
26 | Maintainer: Jay Freeman (saurik) <saurik@saurik.com> | |
27 | Architecture: darwin-arm | |
28 | Version: ${version} | |
29 | Description: almost impressive Apple frameworks | |
30 | Name: iPhone Firmware | |
31 | ||
32 | EOF | |
33 | fi && 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 |