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


# Connect function libraries
. /lib/libtaz.sh

# Get TazPkg working environment
. @@MODULES@@/getenv




newline
if [ ! -d "$INSTALLED/$2" ]; then
	_ 'Package "%s" is not installed.' "$2"
	exit 1
fi

case $1 in

	block|-b)
		# Block package
		if grep -qs "^$2" "$BLOCKED"; then
			_ 'Package "%s" is already blocked.' "$2"
		else
			echo "$2" >> "$BLOCKED"
			# Log this activity
			. "$INSTALLED/$2/receipt"; tazpkg call log_pkg Blocked
			_ 'Package "%s" blocked.' "$2"
		fi
		;;


	unblock|-u)
		# Unblock package
		if grep -qs "^$2" "$BLOCKED"; then
			sed -i "/^$2\$/d" "$BLOCKED"
			# Log this activity
			. "$INSTALLED/$2/receipt"; tazpkg call log_pkg Unblocked
			_ 'Package "%s" unblocked.' "$2"
		else
			[ -z "$nowarning" ] && _ 'Package "%s" is not blocked.' "$2"
		fi
		;;


	chblock)
		# Block/unblock package
		if grep -qs "^$2" "$BLOCKED"; then
			sed -i "/^$2\$/d" "$BLOCKED"
			# Log this activity
			. "$INSTALLED/$2/receipt"; tazpkg call log_pkg Unblocked
			_ 'Package "%s" unblocked.' "$2"
		else
			echo "$2" >> "$BLOCKED"
			# Log this activity
			. "$INSTALLED/$2/receipt"; tazpkg call log_pkg Blocked
			_ 'Package "%s" blocked.' "$2"
		fi
		;;

esac
newline
