version=$(sw_vers -productVersion)
cpu=$(uname -p)
-if [[ ${cpu} == arm ]]; then
+if [[ ${cpu} == arm || ${cpu} == arm64 ]]; then
data=/var/lib/dpkg
model=hw.machine
arch=iphoneos-arm
}
# }}}
+before=$(stat -c '%i-%Y' status)
+
+output=$(mktemp status-tmp.XXXXXX)
+xxxxxx=${output##status-tmp.}
+rm -f status-tmp.!("${xxxxxx}")
+
{
# Delete Old Packages {{{
fi
# }}}
- if [[ ${cpu} == arm ]]; then
+ if [[ ${cpu} == arm || ${cpu} == arm64 ]]; then
pseudo "firmware" "${version}" "almost impressive Apple frameworks" "iOS Firmware"
while [[ 1 ]]; do
echo "${gssc}" | sed -re '
/^ [^ ]* = [0-9.]*;$/ ! d;
s/^ ([^ ]*) = ([0-9.]*);$/\1 \2/;
- s/([A-Z])/-\L\1/g; s/^"([^ ]*)"/\1/;
+ s/([A-Z])/-\L\1/g;
+ s/^"([^ ]*)"/\1/;
s/^-//;
/ 0$/ d;
' | while read -r name value; do case "${name}" in
esac; done
fi
- if [[ ${cpu} == arm ]]; then
+ if [[ ${cpu} == arm || ${cpu} == arm64 ]]; then
os=ios
else
os=macosx
pseudo "cy+lib.corefoundation" "$(/usr/libexec/cydia/cfversion)" "virtual corefoundation dependency"
-} >"${status}"_
+} >"${output}"
-mv -f "${status}"{_,}
+# XXX: this is a poor replacement for flock
+test "${before}" = "$(stat -c '%i-%Y' status)"
+mv -f "${output}" "${status}"
-if [[ ${cpu} == arm ]]; then
+if [[ ${cpu} == arm || ${cpu} == arm64 ]]; then
if [[ ! -h /User && -d /User ]]; then
cp -afT /User /var/mobile
fi && rm -rf /User && ln -s "/var/mobile" /User