%bcond_with mpeg %global plugindir %_libdir/%name %{!?release_func:%global release_func() %1%{?dist}} Name: libextractor Version: 0.5.16 Release: %release_func 3 Summary: Simple library for keyword extraction Group: System Environment/Libraries License: GPL URL: http://gnunet.org/libextractor Source0: http://gnunet.org/libextractor/download/%name-%version.tar.gz Source1: README.fedora BuildRoot: %_tmppath/%name-%version-%release-root BuildRequires: gettext BuildRequires: libtool-ltdl-devel libvorbis-devel BuildRequires: bzip2-devel zlib-devel BuildRequires: glib-devel gtk2-devel libgsf-devel qt4-devel %package devel Summary: Development files for %name Group: Development/Libraries Requires: %name = %version-%release %package plugins Summary: Plugins for libextractor Group: System Environment/Libraries Requires: %name = %version-%release Requires: %name-plugins-base Requires: %name-plugins-exiv2 Requires: %name-plugins-ogg Requires: %name-plugins-ole2 Requires: %name-plugins-pdf Requires: %name-plugins-thumbnailgtk Requires: %name-plugins-thumbnailqt %global pluginpkg(B:R:P:u) \ %package plugins-%1 \ Summary: The '%1' libextractor plugin\ Group: System Environment/Libraries \ Provides: plugin(%name) = %1 %%{-P*} \ %%{-u:Requires(post): /usr/sbin/update-alternatives} \ %%{-u:Requires(preun): /usr/sbin/update-alternatives} \ %%{-B:BuildRequires: %%{-B*}} \ Requires: %name = %version-%release %%{-R*} \ \ %description plugins-%1 \ libextractor is a simple library for keyword extraction. libextractor\ does not support all formats but supports a simple plugging mechanism\ such that you can quickly add extractors for additional formats, even\ without recompiling libextractor.\ \ This package ships the '%1' plugin.\ \ %files plugins-%1 \ %defattr(-,root,root,-) \ %plugindir/libextractor_%1.so* \ %nil %package plugins-base Summary: Base plugins for libextractor Group: System Environment/Libraries Requires: %name = %version-%release %{?with_mpeg:%pluginpkg mpeg -B mpeg2dec-devel} %pluginpkg exiv2 %pluginpkg ogg %pluginpkg ole2 %pluginpkg pdf %pluginpkg thumbnailgtk -u -P %plugindir/libextractor-thumbnail.so,plugin(%name)=thumbnail %pluginpkg thumbnailqt -u -P %plugindir/libextractor-thumbnail.so,plugin(%name)=thumbnail %description libextractor is a simple library for keyword extraction. libextractor does not support all formats but supports a simple plugging mechanism such that you can quickly add extractors for additional formats, even without recompiling libextractor. libextractor typically ships with a dozen helper-libraries that can be used to obtain keywords from common file-types. libextractor is a part of the GNU project (http://www.gnu.org/). %description plugins libextractor is a simple library for keyword extraction. libextractor does not support all formats but supports a simple plugging mechanism such that you can quickly add extractors for additional formats, even without recompiling libextractor. This is a metapackage which requires all supported plugins for libextractor. %description plugins-base libextractor is a simple library for keyword extraction. libextractor does not support all formats but supports a simple plugging mechanism such that you can quickly add extractors for additional formats, even without recompiling libextractor. This package contains all plugins for libextractor which do not introduce additional dependencies. %description devel The %name-devel package contains libraries and header files for developing applications that use %name. %prep %setup -q install -pm644 %SOURCE1 . # remove the '4' suffix of the QtXXX libs for i in configure{.ac,} src/plugins/Makefile.{am,in}; do touch -r "$i" .timestamp sed -i -e 's!Qt\(Svg\|Gui\|Core\)4!Qt\1!g' "$i" touch -r .timestamp "$i" done rm -f README.debian %build %{!?with_mpeg:export ac_cv_lib_mpeg2_mpeg2_init=no} %configure --disable-static \ --enable-xpdf \ --with-qt=/usr # not SMP safe make # %{?_smp_mflags} %install rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' rm -f $RPM_BUILD_ROOT%plugindir/libextractor_thumbnail.so echo '%defattr(-,root,root,-)' > filelists.base for i in $RPM_BUILD_ROOT%plugindir/*.so; do readelf -a "$i" | \ sed '/(NEEDED)/s!.*\[\(.*\)\].*!\1!p;d' | { target=base fname=${i##$RPM_BUILD_ROOT} while read lib; do lib=${lib%%.so*} case $lib in (libz|libdl) ;; (libextractor|libc|libm|libpthread) ;; (*) target=other echo "$fname -> $lib" ;; esac done case $target in (base) echo "$fname" >> filelists.base;; esac } done %find_lang libextractor %clean rm -rf $RPM_BUILD_ROOT %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %post plugins-thumbnailgtk /usr/sbin/update-alternatives --install \ %plugindir/libextractor_thumbnail.so libextractor_thumbnail %plugindir/libextractor_thumbnailgtk.so 10 %preun plugins-thumbnailgtk test "$1" != 0 || \ /usr/sbin/update-alternatives --remove libextractor_thumbnail %plugindir/libextractor_thumbnailgtk.so %post plugins-thumbnailqt /usr/sbin/update-alternatives --install \ %plugindir/libextractor_thumbnail.so libextractor_thumbnail %plugindir/libextractor_thumbnailqt.so 20 %preun plugins-thumbnailqt test "$1" != 0 || \ /usr/sbin/update-alternatives --remove libextractor_thumbnail %plugindir/libextractor_thumbnailqt.so %files -f libextractor.lang %defattr(-,root,root,-) %doc AUTHORS COPYING ChangeLog NEWS PLATFORMS README* TODO %_bindir/* %_libdir/*.so.* %_mandir/man1/* %dir %plugindir %files plugins %files plugins-base -f filelists.base %files devel %defattr(-,root,root,-) %doc %_includedir/* %_libdir/*.so %_mandir/man3/* %changelog * Wed Dec 27 2006 Enrico Scholz - 0.5.16-3 - added a README.fedora - removed the previously added 'Requires: plugin(%%name)' - added the pdf plugin to the requirements of the -plugins subpackage * Thu Dec 14 2006 Enrico Scholz - 0.5.16-2 - added a requirement for plugins to the main package - do not ship README.debian anymore - improved URL: * Fri Nov 24 2006 Enrico Scholz - 0.5.16-1 - updated to 0.5.16; handling of libgsf linking of main library needs some rethinking: adding such a heavy dependency just to workaround a problem in one plugin is not acceptably * Thu Nov 2 2006 Enrico Scholz - 0.5.15-2 - updated to 0.5.15 * Sun Oct 8 2006 Enrico Scholz - 0.5.14-1 - initial built