an easy and consistent way of installing software ported to FreeBSD
#!/bin/sh
#
# $FreeBSD: ports/shells/heirloom-sh/pkg-deinstall,v 1.1 2008/04/29 21:34:02 miwi Exp $
#
JSH="$(echo ${PKG_PREFIX-/usr/local}/bin/jsh | /usr/bin/sed -e 's|//|/|g')"
SHELLS="${PKG_DESTDIR-}/etc/shells"
case $2 in
DEINSTALL)
if grep -qs "^$JSH\$" "$SHELLS"; then
if [ $(id -u) -eq 0 ]; then
TMPSHELLS=$(mktemp -t shells)
grep -v "^$JSH\$" "$SHELLS" > "$TMPSHELLS"
cat "$TMPSHELLS" > "$SHELLS"
rm "$TMPSHELLS"
else
echo "Not root, please remove $JSH from $SHELLS manually"
fi
fi
;;
esac
Heirloom-sh is a portable version of OpenSolaris' #!/bin/sh.
If one need to write portable shell scripts, this one is excellent for
testing them. It is installed as jsh (job shell).
Other OpenSolaris user land tools are available in sysutils/heirloom
WWW: http://heirloom.sourceforge.net/sh.html
#!/bin/sh
#
# $FreeBSD: ports/shells/heirloom-sh/pkg-install,v 1.1 2008/04/29 21:34:02 miwi Exp $
#
JSH="$(echo ${PKG_PREFIX-/usr/local}/bin/jsh | /usr/bin/sed -e 's|//|/|g')"
SHELLS="/etc/shells"
case $2 in
POST-INSTALL)
if [ -d "${SHELLS%/*}" ] && ! grep -qs "^$JSH\$" "$SHELLS"; then
if [ $(id -u) -eq 0 ]; then
echo "$JSH" >> "$SHELLS"
else
echo "Not root, please add $JSH to $SHELLS manually"
fi
fi
;;
esac