tazpkg annotate modules/block @ rev 947

modules/get: get_pkg_cookmode(): file may be absent.
author Aleksej Bobylev <al.bobylev@gmail.com>
date Mon Jun 05 22:36:04 2017 +0300 (2017-06-05)
parents 0560ba4306a1
children
rev   line source
al@840 1 #!/bin/sh
al@840 2 # TazPkg - Tiny autonomous zone packages manager, hg.slitaz.org/tazpkg
al@840 3 # block - TazPkg module
al@840 4 # Change package's blocked status
al@840 5
al@840 6
al@840 7 # Connect function libraries
al@840 8 . /lib/libtaz.sh
al@840 9
al@840 10 # Get TazPkg working environment
al@840 11 . @@MODULES@@/getenv
al@840 12
al@840 13
al@840 14
al@840 15
al@842 16 newline
al@842 17 if [ ! -d "$INSTALLED/$2" ]; then
al@842 18 _ 'Package "%s" is not installed.' "$2"
al@842 19 exit 1
al@842 20 fi
al@840 21
al@840 22 case $1 in
al@840 23
al@840 24 block|-b)
al@840 25 # Block package
al@840 26 if grep -qs "^$2" "$BLOCKED"; then
al@840 27 _ 'Package "%s" is already blocked.' "$2"
al@840 28 else
al@840 29 echo "$2" >> "$BLOCKED"
al@840 30 # Log this activity
al@842 31 . "$INSTALLED/$2/receipt"; tazpkg call log_pkg Blocked
al@840 32 _ 'Package "%s" blocked.' "$2"
al@840 33 fi
al@840 34 ;;
al@840 35
al@840 36
al@840 37 unblock|-u)
al@840 38 # Unblock package
al@840 39 if grep -qs "^$2" "$BLOCKED"; then
al@840 40 sed -i "/^$2\$/d" "$BLOCKED"
al@840 41 # Log this activity
al@842 42 . "$INSTALLED/$2/receipt"; tazpkg call log_pkg Unblocked
al@840 43 _ 'Package "%s" unblocked.' "$2"
al@840 44 else
al@926 45 [ -z "$nowarning" ] && _ 'Package "%s" is not blocked.' "$2"
al@840 46 fi
al@840 47 ;;
al@840 48
al@840 49
al@840 50 chblock)
al@840 51 # Block/unblock package
al@840 52 if grep -qs "^$2" "$BLOCKED"; then
al@840 53 sed -i "/^$2\$/d" "$BLOCKED"
al@840 54 # Log this activity
al@842 55 . "$INSTALLED/$2/receipt"; tazpkg call log_pkg Unblocked
al@840 56 _ 'Package "%s" unblocked.' "$2"
al@840 57 else
al@840 58 echo "$2" >> "$BLOCKED"
al@840 59 # Log this activity
al@842 60 . "$INSTALLED/$2/receipt"; tazpkg call log_pkg Blocked
al@840 61 _ 'Package "%s" blocked.' "$2"
al@840 62 fi
al@840 63 ;;
al@840 64
al@840 65 esac
al@842 66 newline