55 lines
951 B
Bash
Executable File
55 lines
951 B
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
|
|
|
|
cat $finfometa | while read line; do
|
|
[ ! -f ./$line ] && 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
|