# -vV compactify the database file
vacuum=1
-db=${1:-${ZPMDB:-/var/lib/zpm/local.db}}
+db=${ZPMDB:-/var/lib/zpm/local.db}
+
+while getopts 'f:'; do
+ case $opt in
+ f) db="$OPTARG" ;;
+ esac
+done
if [ -z "$db" ]; then
echo must specify database file
# remove failed packages
for pkg in $(zpm list -s failed); do
- zpm log -i -a 'gc removing' -t "$pkg"
- zpm rmpackage "$pkg"
+ zpm rmpackage -m 'gc removed failed' "$pkg"
done
for pkg in $(zpm list -s dryrun); do
- zpm log -i -a 'gc removing' -t "$pkg"
- zpm rmpackage "$pkg"
+ zpm rmpackage -m 'gc removed dryrun' "$pkg"
done
# remove incomplete packages
# TODO use temporary gc delete log trigger?
if [ $remove_incomplete_packages -ne 0 ]; then
- zpm shell $ZPMDB "delete from packages where hash is null"
+ for pkg in $(zpm list -F 'hash is null'); do
+ zpm rmpackage -m 'gc removed incomplete' $pkg
+ done
fi
# remove old version packages, unless preserved