File rarian.spec of Package rarian

#
# spec file for package rarian
#
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#

# norootforbuild


Name:           rarian
BuildRequires:  docbook_4
BuildRequires:  gcc-c++
BuildRequires:  intltool
BuildRequires:  libxslt-devel
BuildRequires:  perl-XML-Parser
BuildRequires:  pkg-config
BuildRequires:  sgml-skel
Summary:        Rarian is designed to be a replacement for scrollkeeper
Version:        0.8.1
Release:        16
Source0:        %{name}-%{version}.tar.bz2
Patch1:         rarian-0.5.6-reg-parse-bugs.patch
Patch2:         rarian-0.7.1-return.patch
Patch3:         rarian-0.5.6-docs-from-desktop-entries-and-bundles.patch
# PATCH-FIX-OPENSUSE rarian-opensuse-manuals.patch vuntz@novell.com -- Find openSUSE manuals
Patch4:         rarian-opensuse-manuals.patch
# PATCH-FIX-OPENSUSE rarian-help-bundle.patch vuntz@novell.com -- Grab manual in /usr/share/gnome/help-bundle when it makes sense
Patch5:         rarian-help-bundle.patch
# PATCH-FIX-UPSTREAM rarian-no-warning-X-lines.patch bfo18317 vuntz@novell.com -- No warning on X- lines
Patch6:         rarian-no-warning-X-lines.patch
# PATCH-FIX-OPENSUSE rarian-no-warning-desktop-entry.patch vuntz@novell.com -- We have a patch to read .desktop file, but we don't want lots of warnings because of this...
Patch7:         rarian-no-warning-desktop-entry.patch
# PATCH-FIX-UPSTREAM rarian-no-info.patch fdo24277 vuntz@opensuse.org -- Crash when there's no info at all
Patch8:         rarian-no-info.patch
# PATCH-FIX-UPSTREAM rarian-quiet.patch fdo24276 vuntz@opensuse.org -- Make rarian a bit quieter
Patch9:         rarian-quiet.patch
# PATCH-FIX-UPSTREAM rarian-no-warning-localized-icon.patch fdo#33560 vuntz@opensuse.org -- Icons can be localized, so don't warn for localized icons. It's not the fix that should go upstream, but a real fix would potentially imply some API break.
Patch10:        rarian-no-warning-localized-icon.patch
License:        GPLv2+ ; LGPLv2.1+
Group:          Development/Libraries/C and C++
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
Url:            ftp://ftp.gnome.org/pub/gnome/sources/rarian/
PreReq:         /bin/touch sgml-skel /usr/bin/xmlcatalog

%description
Rarian is designed to be a replacement for scrollkeeper.  It is
currently undergoing heavy development.  As of writing, rarian can be
installed in place of scrollkeeper and everything will work okay (as
far as my testing indicates)

%package scrollkeeper-compat
License:        GPLv2+ ; LGPLv2.1+
Requires:       %{name} = %{version}
Summary:        Rarian is designed to be a replacement for scrollkeeper
Group:          Development/Libraries/C and C++
Requires(post): update-alternatives
Requires(postun): update-alternatives
# The build service fails to build the package because it doesn't really
# understand Requires(post), so use PreReq too (see bnc#439232).
%if %defined suse_version
PreReq:         update-alternatives
%endif

%description scrollkeeper-compat
Rarian is designed to be a replacement for scrollkeeper.  It is
currently undergoing heavy development.  As of writing, rarian can be
installed in place of scrollkeeper and everything will work okay (as
far as my testing indicates)

%package devel
License:        GPLv2
Requires:       %{name} = %{version}
Summary:        Development files for rarian
Group:          Development/Libraries/C and C++

%description devel
Rarian is designed to be a replacement for scrollkeeper.  It is
currently undergoing heavy development.  As of writing, rarian can be
installed in place of scrollkeeper and everything will work okay.

This package contains the files for developing applications using
rarian.

%prep
%setup -q
%patch1 -p1
%patch2
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1

%build
%configure --disable-static --with-pic
%{__make} %{?jobs:-j%jobs}

%install
%makeinstall
rm -f %{buildroot}%{_libdir}/*.la
# We use the update-alternatives system for those files:
rm -f %{buildroot}%{_bindir}/scrollkeeper-*

%clean
rm -rf %{buildroot}

%post
/sbin/ldconfig

%postun
/sbin/ldconfig

%post scrollkeeper-compat
# If the scrollkeeper-config group is in automatic mode, then this
# will also switch all symlinks automatically
update-alternatives \
	--install %{_bindir}/scrollkeeper-config scrollkeeper-config %{_bindir}/rarian-sk-config 10 \
	--slave %{_bindir}/scrollkeeper-extract scrollkeeper-extract %{_bindir}/rarian-sk-extract \
	--slave %{_bindir}/scrollkeeper-gen-seriesid scrollkeeper-gen-seriesid %{_bindir}/rarian-sk-gen-uuid \
	--slave %{_bindir}/scrollkeeper-get-cl scrollkeeper-get-cl %{_bindir}/rarian-sk-get-cl \
	--slave %{_bindir}/scrollkeeper-get-content-list scrollkeeper-get-content-list %{_bindir}/rarian-sk-get-content-list \
	--slave %{_bindir}/scrollkeeper-get-extended-content-list scrollkeeper-get-extended-content-list %{_bindir}/rarian-sk-get-extended-content-list \
	--slave %{_bindir}/scrollkeeper-get-index-from-docpath scrollkeeper-get-index-from-docpath %{_bindir}/rarian-sk-get-scripts \
	--slave %{_bindir}/scrollkeeper-get-toc-from-docpath scrollkeeper-get-toc-from-docpath %{_bindir}/rarian-sk-get-scripts \
	--slave %{_bindir}/scrollkeeper-get-toc-from-id scrollkeeper-get-toc-from-id %{_bindir}/rarian-sk-get-scripts \
	--slave %{_bindir}/scrollkeeper-install scrollkeeper-install %{_bindir}/rarian-sk-install \
	--slave %{_bindir}/scrollkeeper-preinstall scrollkeeper-preinstall %{_bindir}/rarian-sk-preinstall \
	--slave %{_bindir}/scrollkeeper-rebuilddb scrollkeeper-rebuilddb %{_bindir}/rarian-sk-rebuild \
	--slave %{_bindir}/scrollkeeper-uninstall scrollkeeper-uninstall %{_bindir}/rarian-sk-install \
	--slave %{_bindir}/scrollkeeper-update scrollkeeper-update %{_bindir}/rarian-sk-update

%postun scrollkeeper-compat
# Note: we don't use "$1 -eq 0", to avoid issues if the package gets renamed
if [ ! -f %{_bindir}/rarian-sk-config ]; then
  update-alternatives --remove scrollkeeper-config %{_bindir}/rarian-sk-config
fi

%posttrans
# Workaround old bug in 11.1/11.2 packages that always removed the symlinks in
# %postun. Can be removed during 12.2 development.
if [ ! -f %{_bindir}/scrollkeeper-config -a -f %{_bindir}/rarian-sk-config ]; then
  update-alternatives \
          --install %{_bindir}/scrollkeeper-config scrollkeeper-config %{_bindir}/rarian-sk-config 10 \
          --slave %{_bindir}/scrollkeeper-extract scrollkeeper-extract %{_bindir}/rarian-sk-extract \
          --slave %{_bindir}/scrollkeeper-gen-seriesid scrollkeeper-gen-seriesid %{_bindir}/rarian-sk-gen-uuid \
          --slave %{_bindir}/scrollkeeper-get-cl scrollkeeper-get-cl %{_bindir}/rarian-sk-get-cl \
          --slave %{_bindir}/scrollkeeper-get-content-list scrollkeeper-get-content-list %{_bindir}/rarian-sk-get-content-list \
          --slave %{_bindir}/scrollkeeper-get-extended-content-list scrollkeeper-get-extended-content-list %{_bindir}/rarian-sk-get-extended-content-list \
          --slave %{_bindir}/scrollkeeper-get-index-from-docpath scrollkeeper-get-index-from-docpath %{_bindir}/rarian-sk-get-scripts \
          --slave %{_bindir}/scrollkeeper-get-toc-from-docpath scrollkeeper-get-toc-from-docpath %{_bindir}/rarian-sk-get-scripts \
          --slave %{_bindir}/scrollkeeper-get-toc-from-id scrollkeeper-get-toc-from-id %{_bindir}/rarian-sk-get-scripts \
          --slave %{_bindir}/scrollkeeper-install scrollkeeper-install %{_bindir}/rarian-sk-install \
          --slave %{_bindir}/scrollkeeper-preinstall scrollkeeper-preinstall %{_bindir}/rarian-sk-preinstall \
          --slave %{_bindir}/scrollkeeper-rebuilddb scrollkeeper-rebuilddb %{_bindir}/rarian-sk-rebuild \
          --slave %{_bindir}/scrollkeeper-uninstall scrollkeeper-uninstall %{_bindir}/rarian-sk-install \
          --slave %{_bindir}/scrollkeeper-update scrollkeeper-update %{_bindir}/rarian-sk-update
fi

%files
%defattr(-,root,root)
%doc COPYING README NEWS
%{_bindir}/*
%{_libdir}/lib*.so.*
%{_prefix}/share/*
# in scrollkeeper-compat
%exclude %{_bindir}/rarian-sk-*

%files scrollkeeper-compat
%defattr(-,root,root)
%{_bindir}/rarian-sk-*

%files devel
%defattr(-,root,root)
%{_includedir}/*
%{_libdir}/lib*.so
%{_libdir}/pkgconfig/*.pc

%changelog
openSUSE Build Service is sponsored by