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