b2d5993257
gimptool/pkg-config (#465869)
80 lines
1.8 KiB
Bash
80 lines
1.8 KiB
Bash
#!/bin/bash
|
|
|
|
shopt -s nullglob
|
|
|
|
GIMPPLUGINDIR="@GIMPPLUGINDIR@"
|
|
EXITVAL=0
|
|
|
|
showhelp () {
|
|
cat << EOF
|
|
Usage: gimp-plugin-mgr <mode> [<pluginname> [<pluginname> [...]]
|
|
Mode can be:
|
|
--install|-i: install plugin(s)
|
|
--uninstall|-u: uninstall plugin(s)
|
|
--help|-h: show this message
|
|
EOF
|
|
}
|
|
|
|
install_uninstall () {
|
|
local action="$1"
|
|
shift
|
|
local plugins="$@"
|
|
pushd "$GIMPPLUGINDIR/plug-ins" >&/dev/null
|
|
if [ "$plugins" == "*" ]; then
|
|
pushd "/etc/gimp/plugins.d" >&/dev/null
|
|
plugins=""
|
|
for file in *; do
|
|
plugins="$plugins ${file%.conf}"
|
|
done
|
|
popd >&/dev/null
|
|
fi
|
|
|
|
for plugin in $plugins; do
|
|
PLUGINFILE=
|
|
if [ ! -r "/etc/gimp/plugins.d/${plugin}.conf" ]; then
|
|
echo "gimp-plugin-mgr: can't read /etc/gimp/plugins.d/${plugin}.conf" >&2
|
|
EXITVAL=$(( $EXITVAL + 1 ))
|
|
continue
|
|
fi
|
|
. "/etc/gimp/plugins.d/${plugin}.conf"
|
|
case "$action" in
|
|
install)
|
|
if [ ! "$PLUGINFILE" ]; then
|
|
echo "gimp-plugin-mgr: PLUGINFILE not defined for $plugin" >&2
|
|
EXITVAL=$(( $EXITVAL + 1 ))
|
|
continue
|
|
fi
|
|
ln -snf "$PLUGINFILE" "$GIMPPLUGINDIR/plug-ins/$plugin"
|
|
;;
|
|
uninstall)
|
|
if [ ! -L "$GIMPPLUGINDIR/plug-ins/$plugin" ]; then
|
|
echo "gimp-plugin-mgr: $GIMPPLUGINDIR/plug-ins/$plugin not a symbolic link" >&2
|
|
EXITVAL=$(( $EXITVAL + 1 ))
|
|
continue
|
|
fi
|
|
rm -f "$plugin"
|
|
;;
|
|
esac
|
|
done
|
|
popd >&/dev/null
|
|
}
|
|
|
|
case "$1" in
|
|
--install|-i)
|
|
shift
|
|
install_uninstall install "$@"
|
|
;;
|
|
--uninstall|-u)
|
|
shift
|
|
install_uninstall uninstall "$@"
|
|
;;
|
|
*)
|
|
if [ "$1" != "--help" -a "$1" != "-h" ]; then
|
|
EXITVAL=1
|
|
fi
|
|
showhelp
|
|
;;
|
|
esac
|
|
|
|
exit $EXITVAL
|