summaryrefslogtreecommitdiff
path: root/data/cydia/install.sh
diff options
context:
space:
mode:
Diffstat (limited to 'data/cydia/install.sh')
-rwxr-xr-xdata/cydia/install.sh37
1 files changed, 37 insertions, 0 deletions
diff --git a/data/cydia/install.sh b/data/cydia/install.sh
new file mode 100755
index 000000000..bfac1459d
--- /dev/null
+++ b/data/cydia/install.sh
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+shopt -s extglob nullglob
+
+function df_() {
+ free=$(df -B1 "$1")
+ free=${free% *%*}
+ free=${free%%*( )}
+ free=${free##* }
+ echo "${free}"
+}
+
+for dir in \
+ /Applications \
+ /Library/Ringtones \
+ /Library/Wallpaper \
+ /System/Library/Fonts \
+ /usr/share
+do if [[ -d ${dir} && ! -h ${dir} ]]; then
+ used=$(du -bs "${dir}")
+ used=${used%%$'\t'*}
+ free=$(df_ /var)
+
+ if [[ ${used} -lt ${free} ]]; then
+ base=$(basename "${dir}")
+
+ new=/var/${base}
+ if [[ -e ${new} ]]; then
+ new=$(TMPDIR=/var mktemp -t /var -d cydia.XXXXXX)
+ fi
+
+ mv -T "${dir}" "${new}"
+ ln -s "${new}" "${dir}"
+ fi
+fi; done
+
+[[ $(df_ /) -gt 33554432 && $(df_ /var) -gt 33554432 ]]