Implemented support for running triggers with binpkgs.
Also the following changes were made: * Added an info-files trigger, to (un)register info files. * xbps-base-dirs: it's responsible to install triggers on destdir. --HG-- extra : convert_revision : 8d707053616f38d2b5beef7cf28e1bc4a66812b8
This commit is contained in:
54
triggers/info-files
Executable file
54
triggers/info-files
Executable file
@@ -0,0 +1,54 @@
|
||||
#!/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
|
||||
Reference in New Issue
Block a user