#!/bin/sh # # Registers or unregisters a shell in /etc/shells. # # Arguments: $1 = action [run/targets] # $2 = target [post-install] # $3 = pkgname # $4 = version # trigger="register-shell" shells_file="./var/db/xbps/metadata/$3/shells" case "$1" in targets) echo "post-install post-remove" ;; run) [ "$2" != "post-install" -a "$2" != "post-remove" ] && exit 1 [ ! -f ${shells_file} ] && exit 1 echo "Running $trigger trigger..." case "$2" in post-install) if [ ! -f ./etc/shells ]; then cat ${shells_file} | while read line; do echo $line >> ./etc/shells echo "Registered $line into /etc/shells." done chmod 644 ./etc/shells else cat ${shells_file} | while read line; do if ! grep -q $line ./etc/shells; then echo $line >> ./etc/shells echo -n "Registered $line into " echo "/etc/shells." fi done fi ;; post-remove) if [ -f ./etc/shells ]; then cat ${shells_file} | while read line; do if grep -q $line ./etc/shells; then shell=$(echo $line|sed "s|\\/|\\\/|g") sed -i -e "/$shell/d" ./etc/shells echo -n "Unregistered $line from " echo "/etc/shells." fi done fi ;; esac ;; *) exit 1 ;; esac exit 0