#!/bin/sh
# TazPkg - Tiny autonomous zone packages manager, hg.slitaz.org/tazpkg
# block - TazPkg module
# Change package's blocked status

. /lib/libtaz.sh
. /usr/libexec/tazpkg/getenv
newline
if [ ! -d "$INSTALLED/$2" ]; then
_ 'Package "%s" is not installed.' "$2"
exit 1
fi
case $1 in
block|-b)
if grep -qs "^$2" "$BLOCKED"; then
_ 'Package "%s" is already blocked.' "$2"
else
echo "$2">> "$BLOCKED"
. "$INSTALLED/$2/receipt"; tazpkg call log_pkg Blocked
_ 'Package "%s" blocked.' "$2"
fi
;;
unblock|-u)
if grep -qs "^$2" "$BLOCKED"; then
sed -i "/^$2\$/d" "$BLOCKED"
. "$INSTALLED/$2/receipt"; tazpkg call log_pkg Unblocked
_ 'Package "%s" unblocked.' "$2"
else
[ -z "$nowarning" ] && _ 'Package "%s" is not blocked.' "$2"
fi
;;
chblock)
if grep -qs "^$2" "$BLOCKED"; then
sed -i "/^$2\$/d" "$BLOCKED"
. "$INSTALLED/$2/receipt"; tazpkg call log_pkg Unblocked
_ 'Package "%s" unblocked.' "$2"
else
echo "$2">> "$BLOCKED"
. "$INSTALLED/$2/receipt"; tazpkg call log_pkg Blocked
_ 'Package "%s" blocked.' "$2"
fi
;;
esac
newline
