void-packages/triggers/info-files

58 lines
1.0 KiB
Bash
Executable File

#!/bin/sh
#
# Registers or unregisters info files for a package.
#
# Arguments: $1 = action [run/targets]
# $2 = target [post-install/pre-remove]
# $3 = pkgname
#
trigger="info-files"
xbps_metadir="./var/db/xbps/metadata"
finfometa="$xbps_metadir/$3/$trigger"
installinfo="./usr/bin/install-info"
infodir="./usr/share/info"
case "$1" in
targets)
echo "post-install pre-remove"
;;
run)
[ ! -x $installinfo ] && exit 0
if [ ! -r $finfometa ]; then
echo "$trigger: can't find info-files in metadata directory!"
exit 1
fi
echo "Running $trigger trigger..."
cat $finfometa | while read line; do
[ ! -f ./$line ] && continue
[ "$line" = "/usr/share/info/dir" ] && continue
case "$2" in
post-install)
echo -n "Registering info file: $line... "
;;
pre-remove)
echo -n "Unregistering info file: $line... "
infoargs="--delete"
;;
esac
$installinfo $infoargs ./$line $infodir/dir 2>/dev/null
if [ $? -eq 0 ]; then
echo "done."
else
echo "failed!"
fi
done
;;
*)
exit 1
;;
esac
exit 0