revamp scheme for integrating external plugins (#202545)
This commit is contained in:
parent
98f248e1b0
commit
493446b708
82
gimp-plugin-mgr.in
Normal file
82
gimp-plugin-mgr.in
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
shopt -s nullglob
|
||||||
|
|
||||||
|
GIMPTOOL="@GIMPTOOL@"
|
||||||
|
GIMPPLUGINDIR="`"$GIMPTOOL" --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
|
||||||
|
shopt -u nullglob
|
||||||
|
plugins=""
|
||||||
|
for file in *; do
|
||||||
|
plugins="$plugins ${file%.conf}"
|
||||||
|
done
|
||||||
|
shopt -s nullglob
|
||||||
|
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
|
27
gimp.spec
27
gimp.spec
@ -36,7 +36,7 @@ Version: 2.2.12
|
|||||||
%define age 0
|
%define age 0
|
||||||
%define minorver 200
|
%define minorver 200
|
||||||
%define microver %(ver=%{version}; echo ${ver##*.*.})
|
%define microver %(ver=%{version}; echo ${ver##*.*.})
|
||||||
Release: 3%{?dist}
|
Release: 4%{?dist}
|
||||||
Epoch: 2
|
Epoch: 2
|
||||||
License: GPL, LGPL
|
License: GPL, LGPL
|
||||||
Group: Applications/Multimedia
|
Group: Applications/Multimedia
|
||||||
@ -71,7 +71,7 @@ BuildRequires: gimp-print-devel >= 4.2.0
|
|||||||
BuildRequires: automake >= 1.7
|
BuildRequires: automake >= 1.7
|
||||||
BuildRequires: autoconf >= 2.54
|
BuildRequires: autoconf >= 2.54
|
||||||
BuildRequires: libtool >= 1.5
|
BuildRequires: libtool >= 1.5
|
||||||
BuildRequires: perl
|
BuildRequires: sed
|
||||||
BuildRequires: libwmf-devel >= 0.2.8
|
BuildRequires: libwmf-devel >= 0.2.8
|
||||||
BuildRequires: intltool
|
BuildRequires: intltool
|
||||||
BuildRequires: gettext
|
BuildRequires: gettext
|
||||||
@ -90,6 +90,7 @@ Requires(post): hicolor-icon-theme
|
|||||||
Requires(postun): /usr/bin/update-desktop-database
|
Requires(postun): /usr/bin/update-desktop-database
|
||||||
Requires(postun): hicolor-icon-theme
|
Requires(postun): hicolor-icon-theme
|
||||||
Source0: ftp://ftp.gimp.org/pub/gimp/v%{binver}/gimp-%{version}.tar.bz2
|
Source0: ftp://ftp.gimp.org/pub/gimp/v%{binver}/gimp-%{version}.tar.bz2
|
||||||
|
Source1: gimp-plugin-mgr.in
|
||||||
Patch0: gimp-2.0pre3-buildroot.patch
|
Patch0: gimp-2.0pre3-buildroot.patch
|
||||||
Patch1: gimp-2.0.1-gimphelpmissing.patch
|
Patch1: gimp-2.0.1-gimphelpmissing.patch
|
||||||
Patch2: gimp-2.2.3-icontheme.patch
|
Patch2: gimp-2.2.3-icontheme.patch
|
||||||
@ -196,6 +197,9 @@ CFLAGS="%optflags -fomit-frame-pointer" \
|
|||||||
|
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
|
# convenience stuff for external plugins (e.g. xsane)
|
||||||
|
sed -e 's|@GIMPTOOL@|%{_bindir}/gimptool-%{interfacever}|g' < %{SOURCE1} > gimp-plugin-mgr
|
||||||
|
|
||||||
%install
|
%install
|
||||||
export PATH="$PATH:$PWD/bin"
|
export PATH="$PATH:$PWD/bin"
|
||||||
[ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf $RPM_BUILD_ROOT
|
[ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf $RPM_BUILD_ROOT
|
||||||
@ -252,24 +256,24 @@ ln -snf gimptool-%{interfacever} %{buildroot}/%{_bindir}/gimptool
|
|||||||
ln -snf gimptool-%{interfacever}.1 %{buildroot}/%{_mandir}/man1/gimptool.1
|
ln -snf gimptool-%{interfacever}.1 %{buildroot}/%{_mandir}/man1/gimptool.1
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
# convenience stuff for external plugins (e.g. xsane)
|
||||||
|
mkdir -p %{buildroot}%{_sysconfdir}/gimp/plugins.d
|
||||||
|
mkdir -p %{_sbindir}
|
||||||
|
install -m 0755 gimp-plugin-mgr %{_sbindir}/gimp-plugin-mgr
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
[ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf $RPM_BUILD_ROOT
|
[ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf $RPM_BUILD_ROOT
|
||||||
|
|
||||||
%post
|
%post
|
||||||
/usr/bin/update-desktop-database %{_datadir}/applications
|
/usr/bin/update-desktop-database %{_datadir}/applications
|
||||||
if [ -x %{_sbindir}/xsane-install-gimp-plugin ]; then
|
|
||||||
%{_sbindir}/xsane-install-gimp-plugin --install %{interfacever}
|
|
||||||
fi
|
|
||||||
touch --no-create %{_datadir}/icons/hicolor
|
touch --no-create %{_datadir}/icons/hicolor
|
||||||
if [ -x /usr/bin/gtk-update-icon-cache ]; then
|
if [ -x /usr/bin/gtk-update-icon-cache ]; then
|
||||||
gtk-update-icon-cache -q %{_datadir}/icons/hicolor
|
gtk-update-icon-cache -q %{_datadir}/icons/hicolor
|
||||||
fi
|
fi
|
||||||
|
%{_sbindir}/gimp-plugin-mgr --install '*'
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
# Do this always, because interfacever could be different
|
%{_sbindir}/gimp-plugin-mgr --uninstall '*'
|
||||||
if [ -x %{_sbindir}/xsane-install-gimp-plugin ]; then
|
|
||||||
%{_sbindir}/xsane-install-gimp-plugin --uninstall %{interfacever}
|
|
||||||
fi
|
|
||||||
|
|
||||||
%postun
|
%postun
|
||||||
if [ "$1" = "0" ]; then
|
if [ "$1" = "0" ]; then
|
||||||
@ -321,6 +325,7 @@ fi
|
|||||||
%{_datadir}/gimp/%{interfacever}/themes/
|
%{_datadir}/gimp/%{interfacever}/themes/
|
||||||
|
|
||||||
%dir %{_sysconfdir}/gimp
|
%dir %{_sysconfdir}/gimp
|
||||||
|
%dir %{_sysconfdir}/gimp/plugins.d
|
||||||
%dir %{_sysconfdir}/gimp/%{interfacever}
|
%dir %{_sysconfdir}/gimp/%{interfacever}
|
||||||
%config(noreplace) %{_sysconfdir}/gimp/%{interfacever}/controllerrc
|
%config(noreplace) %{_sysconfdir}/gimp/%{interfacever}/controllerrc
|
||||||
%config(noreplace) %{_sysconfdir}/gimp/%{interfacever}/gimprc
|
%config(noreplace) %{_sysconfdir}/gimp/%{interfacever}/gimprc
|
||||||
@ -337,6 +342,7 @@ fi
|
|||||||
%{_bindir}/gimp-%{binver}
|
%{_bindir}/gimp-%{binver}
|
||||||
%{_bindir}/gimp-remote-%{binver}
|
%{_bindir}/gimp-remote-%{binver}
|
||||||
%{_bindir}/gimptool-%{interfacever}
|
%{_bindir}/gimptool-%{interfacever}
|
||||||
|
%{_sbindir}/gimp-plugin-mgr
|
||||||
#%{_bindir}/embedxpm
|
#%{_bindir}/embedxpm
|
||||||
#%{_bindir}/escputil-%{interfacever}
|
#%{_bindir}/escputil-%{interfacever}
|
||||||
|
|
||||||
@ -396,6 +402,9 @@ fi
|
|||||||
%{_libdir}/pkgconfig/*
|
%{_libdir}/pkgconfig/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Aug 16 2006 Nils Philippsen <nphilipp@redhat.com> - 2:2.2.12-4
|
||||||
|
- revamp scheme for integrating external plugins (#202545)
|
||||||
|
|
||||||
* Wed Aug 02 2006 Nils Philippsen <nphilipp@redhat.com> - 2:2.2.12-3
|
* Wed Aug 02 2006 Nils Philippsen <nphilipp@redhat.com> - 2:2.2.12-3
|
||||||
- allow spaces in filenames when saving (#200888, patch by Michael Natterer)
|
- allow spaces in filenames when saving (#200888, patch by Michael Natterer)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user