#!/bin/sh # # Registers or unregisters a shell in /etc/shells. # # Arguments: $1 = action [run/targets] # $2 = target [post-install] # $3 = pkgname # $4 = version # 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 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