void-packages/srcpkgs/xbps-triggers/files/appstream-cache
maxice8 2aef1b2991 xbps-triggers: rework some triggers
This lists changes per-trigger, triggers that changed the same thing
are listed under the same group

appstream-cache:
gconf-schemas:
gdk-pixbuf-loaders:
gsettings-schemas:
kernel-hooks:
mkdirs:
pango-modules:
register-shell:
update-dektopdb:
update-desktopdb:
x11-fonts:

- remove useless PATH expansion that is already done in the hook script.

gtk-icon-cache:
gtk-immodules:
gtk3-immodules:

- remove useless PATH expansion that is already done in the hook script.
- use exit 0 instead of break

hwdb.d:

- check if tooling is available

info-files

- Remove support for using host tooling

mimedb:

- remove useless PATH expansion that is already done in the hook script.
- check if tooling is available

xml-catalog:

- remove useless PATH expansion that is already done in the hook script.
- add a xmlcatmgr variable so that the first check not always fails

[ci skip]
2018-11-17 21:39:19 -02:00

65 lines
1.5 KiB
Bash
Executable file

#!/bin/sh
#
# Updates the appstream AppData cache during installation of packages and
# deletes it when AppStream is removed
#
# Arguments: $ACTION = [run/targets]
# $TARGET = [post-install/post-remove]
# $PKGNAME
# $VERSION
# $UPDATE = [yes/no]
#
ACTION="$1"
TARGET="$2"
PKGNAME="$3"
VERSION="$4"
UPDATE="$5"
# The appstreamcli binary program.
APPSTREAMCLI="usr/bin/appstreamcli"
# Paths that hold appstream metadata files
# the first one is the traditional one where most package reside but it is
# considered deprecated by upstream
# the other 3 are the ones used by upstream as noted in as-pool.c#L93-95
APPDATA_DATAPATHS="usr/share/appdata usr/share/app-info var/lib/app-info var/cache/app-info"
# Location where the cache files go when they are generated they are most
# of the time compressed with gvz extension
APPSTREAM_CACHE="var/cache/app-info/gv"
case "$ACTION" in
targets)
echo "post-install post-remove"
;;
run)
case "$TARGET" in
post-install|post-remove)
if [ $PKGNAME = "AppStream" -a $TARGET = "post-remove" ]; then
for f in ${APPSTREAM_CACHE}/*; do
rm -f ${f}
done
echo "Removing AppStream cache..."
rmdir ${APPSTREAM_CACHE}
exit 0
fi
if [ ! -x "$APPSTREAMCLI" ]; then
exit 0
fi
for path in ${APPDATA_DATAPATHS}; do
APPSTREAM_PATHS="${APPSTREAM_PATHS} --datapath ${path}"
done
echo "Updating AppStream cache..."
${APPSTREAMCLI} refresh-cache --force ${APPSTREAM_PATHS} --cachepath ${APPSTREAM_CACHE}
;;
esac
;;
*)
exit 1
;;
esac
exit 0