[gimp] ship RPM macros for packaging plug-ins e.a. (#1063144)
Nils Philippsen
nphilipp at fedoraproject.org
Wed Feb 12 16:57:14 UTC 2014
commit 40c00b55ac2159b5fe0fefa1fcf73662867f8c8b
Author: Nils Philippsen <nils at redhat.com>
Date: Wed Feb 12 17:55:40 2014 +0100
ship RPM macros for packaging plug-ins e.a. (#1063144)
gimp.spec | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 49 insertions(+), 0 deletions(-)
---
diff --git a/gimp.spec b/gimp.spec
index bb0e196..5529489 100644
--- a/gimp.spec
+++ b/gimp.spec
@@ -172,6 +172,7 @@ BuildRequires: libXpm-devel
BuildRequires: chrpath >= 0.13-5
BuildRequires: intltool
BuildRequires: gettext
+BuildRequires: pkgconfig
Requires: babl%{?_isa} >= 0.1.10
Requires: gegl%{?_isa} >= 0.2.0
@@ -241,6 +242,7 @@ Requires: gimp-devel-tools = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: gtk2-devel
Requires: glib2-devel
Requires: pkgconfig
+Requires: rpm >= 4.11.0
%description devel
The gimp-devel package contains the static libraries and header files
@@ -377,9 +379,54 @@ export LDFLAGS='-pie'
make %{?_smp_mflags}
+# Generate RPM macros from pkg-config data:
+# %%_gimp_datadir -- toplevel directory for brushes, gradients, scripts, ...
+# %%_gimp_libdir -- toplevel directory for modules, plug-ins, ...
+# %%_gimp_sysconfdir -- system-wide runtime configuration
+# %%_gimp_localedir -- toplevel directory for translation files
+# %%_gimp_scriptdir -- script-fu scripts directory
+# %%_gimp_plugindir -- plug-in directory
+gimp_pc_extract_normalize() {
+ PKG_CONFIG_PATH="$PWD" \
+ pkg-config --variable="$1" gimp-%{lib_api_version} | \
+ sed \
+ -e 's|^%_mandir|%%{_mandir}|' \
+ -e 's|^%_infodir|%%{_infodir}|' \
+ -e 's|^%_includedir|%%{_includedir}|' \
+ -e 's|^%_libdir|%%{_libdir}|' \
+ -e 's|^%_localstatedir|%%{_localstatedir}|' \
+ -e 's|^%_sharedstatedir|%%{_sharedstatedir}|' \
+ -e 's|^%_sysconfdir|%%{_sysconfdir}|' \
+ -e 's|^%_datadir|%%{_datadir}|' \
+ -e 's|^%_libexecdir|%%{_libexecdir}|' \
+ -e 's|^%_sbindir|%%{_sbindir}|' \
+ -e 's|^%_bindir|%%{_bindir}|' \
+ -e 's|^%_exec_prefix|%%{_exec_prefix}|' \
+ -e 's|^%_prefix|%%{_prefix}|'
+}
+
+_gimp_datadir="$(gimp_pc_extract_normalize gimpdatadir)"
+_gimp_libdir="$(gimp_pc_extract_normalize gimplibdir)"
+_gimp_sysconfdir="$(gimp_pc_extract_normalize gimpsysconfdir)"
+_gimp_localedir="$(gimp_pc_extract_normalize gimplocaledir)"
+_gimp_scriptdir="${_gimp_datadir}/scripts"
+_gimp_plugindir="${_gimp_libdir}/plug-ins"
+
+cat << EOF > macros.gimp
+# RPM macros for GIMP
+
+%%_gimp_datadir ${_gimp_datadir}
+%%_gimp_libdir ${_gimp_libdir}
+%%_gimp_sysconfdir ${_gimp_sysconfdir}
+%%_gimp_localedir ${_gimp_localedir}
+%%_gimp_scriptdir ${_gimp_scriptdir}
+%%_gimp_plugindir ${_gimp_plugindir}
+EOF
+
%install
rm -rf %{buildroot}
make DESTDIR=%{buildroot} install
+install -D -m0644 macros.gimp %{buildroot}%{_rpmconfigdir}/macros.d/macros.gimp
# remove rpaths
find %buildroot -type f -print0 | xargs -0 -L 20 chrpath --delete --keepgoing 2>/dev/null || :
@@ -588,6 +635,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%{_datadir}/aclocal/*.m4
%{_includedir}/gimp-%{lib_api_version}
%{_libdir}/pkgconfig/*
+%{_rpmconfigdir}/macros.d/macros.gimp
%files devel-tools
%defattr (-, root, root, 0755)
@@ -610,6 +658,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
- remove BRs contained in the minimal build environment
- group BRs into libraries and tools
- remove various old cruft
+- ship RPM macros for packaging plug-ins e.a. (#1063144)
* Wed Dec 04 2013 Nils Philippsen <nils at redhat.com> - 2:2.8.10-4
- avoid buffer overflows in file-xwd plug-in (CVE-2013-1913, CVE-2013-1978)
More information about the scm-commits
mailing list