#!/bin/sh
set -eu
while getopts 'iup:' flag; do
case "$flag" in
i)
ACTION=install
;;
u)
ACTION=uninstall
;;
p)
MANPREFIX="$OPTARG"
;;
*)
exit 2
;;
esac
done
shift $((OPTIND - 1))
assert_arg() {
if [ -z "$1" ]; then
echo "Missing $2" >&2
exit 2
fi
}
assert_arg "${ACTION:-}" '-[iu] for choosing action'
assert_arg "${MANPREFIX:-}" '-p MANPREFIX'
for f in "$@"; do
l="$(echo "$f" | awk -F. '{print $(NF-1)}')"
n="$(echo "$f" | awk -F. '{print $NF}')"
case "$ACTION" in
install)
to_name="$(basename "${f%."$l"."$n"}.$n")"
mkdir -p "$MANPREFIX/$l/man$n" "$MANPREFIX/man$n"
cp "$f" "$MANPREFIX/$l/man$n/$to_name"
ln -fs "../en/man$n/$to_name" \
"$MANPREFIX/man$n/$to_name"
;;
uninstall)
to_name="$(basename "${f%."$l"."$n"}.$n")"
rm -f \
"$MANPREFIX/$l/man$n/$to_name" \
"$MANPREFIX/man$n/$to_name"
;;
*)
echo "Bad ACTION: $ACTION"
exit 1
;;
esac
done