Improve free space checks
And don't count as needed space that will be freed from the replaced files. This will allow to flash the zip over an existing installation when space is tight. Also: awk --> tr | cut because recovery might not provide awk grep -v --> tail -1 in du because it might spit out 3 lines
This commit is contained in:
@@ -30,6 +30,12 @@ cleanup() {
|
||||
umount -l "$SYSTEM_MNT"
|
||||
}
|
||||
|
||||
error_no_space() {
|
||||
ui_print "Not enough space for GApps! Aborting"
|
||||
cleanup
|
||||
exit 1
|
||||
}
|
||||
|
||||
get_block_for_mount_point() {
|
||||
grep -v "^#" /etc/recovery.fstab | grep " $1 " | tail -n1 | tr -s ' ' | cut -d' ' -f1
|
||||
}
|
||||
@@ -61,6 +67,20 @@ find_block() {
|
||||
fi
|
||||
}
|
||||
|
||||
compute_apps_size() {
|
||||
NEEDED_STORAGE_SYSTEM=$(expr $(du -cs `find -maxdepth 1 -mindepth 1` | tail -n1 | cut -f1) + $STORAGE_BUFFER)
|
||||
RECLAIMABLE_STORAGE_SYSTEM=$(find . -type f | sed "s|^./|$SYSTEM_OUT/|" | xargs ls -d 2>/dev/null | xargs du -cs PLACEHOLDER 2>/dev/null | tail -n1 | cut -f1)
|
||||
NEEDED_STORAGE_SYSTEM=$(expr $NEEDED_STORAGE_SYSTEM - $RECLAIMABLE_STORAGE_SYSTEM)
|
||||
}
|
||||
|
||||
remove_big_optional_apps() {
|
||||
ui_print "Low resource device detected, removing large extras"
|
||||
rm -rf app/MarkupGoogle
|
||||
rm -rf priv-app/AndroidMigratePrebuilt
|
||||
rm -rf priv-app/SetupWizardPrebuilt
|
||||
rm -rf priv-app/Velvet
|
||||
}
|
||||
|
||||
ui_print "**********************"
|
||||
ui_print "MindTheGapps installer"
|
||||
ui_print "**********************"
|
||||
@@ -105,9 +125,8 @@ exit 1
|
||||
fi
|
||||
SYSTEM_OUT="${SYSTEM_MNT}/system"
|
||||
|
||||
LOWMEM=1572864
|
||||
MEM=`grep MemTotal /proc/meminfo | awk '{ print $2 }'`
|
||||
STORAGE=`df $SYSTEM_MNT | grep -v Filesystem | awk '{ print $4 }'`
|
||||
# Compute storage requirements
|
||||
SYSTEM_STORAGE=`df $SYSTEM_MNT | tail -1 | tr -s ' ' | cut -d ' ' -f4`
|
||||
STORAGE_BUFFER=10240
|
||||
|
||||
ui_print "Extracting files"
|
||||
@@ -115,21 +134,13 @@ cd /tmp
|
||||
unzip -o "$ZIP"
|
||||
rm -rf META-INF
|
||||
cd system
|
||||
compute_apps_size
|
||||
|
||||
NEEDED_STORAGE=`expr $(du -s . | awk '{ print $1 }') + $STORAGE_BUFFER`
|
||||
|
||||
if [ "$MEM" -lt "$LOWMEM" ] || [ "$STORAGE" -lt "$NEEDED_STORAGE" ]; then
|
||||
ui_print "Low resource device detected, removing large extras"
|
||||
rm -rf app/MarkupGoogle
|
||||
rm -rf priv-app/AndroidMigratePrebuilt
|
||||
rm -rf priv-app/SetupWizardPrebuilt
|
||||
rm -rf priv-app/Velvet
|
||||
NEEDED_STORAGE=`expr $(du -s . | awk '{ print $1 }') + $STORAGE_BUFFER`
|
||||
if [ "$STORAGE" -lt "$NEEDED_STORAGE" ]; then
|
||||
ui_print "Not enough space for GApps! Aborting"
|
||||
cd ..
|
||||
rm -rf system
|
||||
exit 1
|
||||
if [ "$SYSTEM_STORAGE" -lt "$NEEDED_STORAGE_SYSTEM" ]; then
|
||||
remove_big_optional_apps
|
||||
compute_apps_size
|
||||
if [ "$SYSTEM_STORAGE" -lt "$NEEDED_STORAGE_SYSTEM" ]; then
|
||||
error_no_space
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user