Group :: Publishing
RPM: scrollkeeper
Main Changelog Spec Patches Sources Download Gear Bugs and FR Repocop
%define ver_major 0.3
%def_disable static
Name: scrollkeeper
Version: %ver_major.14
Release: alt11
Summary: ScrollKeeper is a cataloging system for documentation
License: LGPL/FDL
Group: Publishing
Url: http://%name.sourceforge.net
Source: %gnome_ftp/%name/%ver_major/%name-%version.tar.bz2
Source1: %name-manpages-ru.tar.bz2
Source2: %name-rpmmacros.spec
Patch: %name-0.3.13-alt-paths.patch
Patch1: %name-0.3.13-alt-no-rebuilddb.patch
Patch2: %name-0.3.14-fix-overflows.patch
Patch3: %name-0.3.14-clean-xml-validation-context.patch
Patch4: %name-0.3.14-empty-url-string.patch
Patch5: %name-0.3.14-language-fix.patch
Patch6: %name-0.3.14-rw-offset-fix.patch
%define libxml2_ver 2.5.6
%define intltool_ver 0.31.3
PreReq: lib%name = %version-%release, xml-common, xml-utils, docbook-dtds
BuildPreReq: rpm-build-spec2macro
BuildPreReq: rpm-build-gnome
BuildPreReq: libxml2-devel >= %libxml2_ver
BuildPreReq: intltool >= %intltool_ver
BuildRequires: docbook-dtds libxslt-devel perl-XML-Parser perl-i18n xml-common xml-utils zlib-devel
%description
ScrollKeeper is a cataloging system for documentation. It manages
documentation metadata (as specified by the Open Source Metadata
Framework (OMF)) and provides a simple API to allow help browsers to
find, sort, and search the document catalog. It will also be able to
communicate with catalog servers on the Net to search for documents
which are not on the local system.
%package -n lib%name
Summary: Libraries for scrollkeeper
Group: System/Libraries
%description -n lib%name
These are the libraries for Scrollkeeper.
%package -n lib%name-devel
Summary: Includes and more to develop scrollkeeper applications
Group: Development/C
Requires: %name = %version-%release
Requires: lib%name = %version-%release
%description -n lib%name-devel
Libraries, include files and other resources you can use to develop
Scrollkeeper applications.
%package -n lib%name-devel-static
Summary: Static libraries to develop scrollkeeper applications
Group: Development/C
Requires: lib%name = %version-%release
%description -n lib%name-devel-static
Static libraries you can use to develop Scrollkeeper applications.
%define xmlbase %_datadir/xml
%define xmlconfdir %_sysconfdir/xml
%define xmlcatalog %xmlconfdir/catalog
%include %SOURCE2
%prep
%setup -q
%patch -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
# fix #1434
%__subst 's|регест|регист|g' po/ru.po
%build
%configure \
%{subst_enable static} \
--with-omfdirs=%_omfdir \
--with-partial-db-dir=%name
%make_build
%install
%makeinstall
# Convert the spec fragment to a rpmmacros file.
mkdir -p %buildroot%_sysconfdir/rpm/macros.d
%spec2macro %SOURCE2 %buildroot%_sysconfdir/rpm/macros.d/%name
# log file
install -pD -m600 /dev/null %buildroot%_logdir/%name.log
# logrotate config
cat <<__EOF__ >%name.logrotate
%_logdir/%name.log {
monthly
notifempty
missingok
}
__EOF__
install -pD -m640 %name.logrotate %buildroot%_sysconfdir/logrotate.d/%name
# russian manpages
tar -jxf %SOURCE1 -C %buildroot%_mandir
%define mans scrollkeeper-config scrollkeeper-gen-seriesid scrollkeeper.conf scrollkeeper-preinstall scrollkeeper-rebuilddb scrollkeeper-update
%find_lang --output=%name.lang --with-man %name %mans
%post
%_bindir/xmlcatalog --noout --add "public" \
"-//OMF//DTD Scrollkeeper OMF Variant V1.0//EN" \
"%_datadir/xml/%name/dtds/%name-omf.dtd" %xmlcatalog ||:
%_bindir/xmlcatalog --noout --add "public" \
"-//Scrollkeeper//DTD Contents List V1.0//EN" \
"%_datadir/xml/%name/dtds/%name-cl.dtd" %xmlcatalog ||:
scrollkeeper-rebuilddb -q
%preun
[ $1 = 0 ] || exit 0
%_bindir/xmlcatalog --noout --del \
"%_datadir/xml/%name/dtds/%name-omf.dtd" %xmlcatalog ||:
%_bindir/xmlcatalog --noout --del \
"%_datadir/xml/%name/dtds/%name-cl.dtd" %xmlcatalog ||:
%triggerpostun -- %name < 0.3.11
[ $2 != 0 ] || exit 0
%_bindir/xmlcatalog --noout --add "public" \
"-//OMF//DTD Scrollkeeper OMF Variant V1.0//EN" \
"%_datadir/xml/%name/dtds/%name-omf.dtd" %xmlcatalog ||:
%_bindir/xmlcatalog --noout --add "public" \
"-//Scrollkeeper//DTD Contents List V1.0//EN" \
"%_datadir/xml/%name/dtds/%name-cl.dtd" %xmlcatalog ||:
scrollkeeper-rebuilddb -q
%if 0
%triggerun -- %name < 0.3.14-alt2
%_bindir/xmlcatalog --noout --del \
"%_datadir/xml/%name/dtds/%name-omf.dtd" %xmlcatalog ||:
%endif
%post -n lib%name -p %post_ldconfig
%postun -n lib%name -p %postun_ldconfig
%files -f %name.lang
%_bindir/*
%dir %_omfdir/
%dir %_omfdir/%name
%_omfdir/%name/*.omf
%_datadir/%name
%_datadir/xml/*
%config(noreplace) %_sysconfdir/%name.conf
%config(noreplace) %_sysconfdir/logrotate.d/%name
%config %_sysconfdir/rpm/macros.d/%name
%doc AUTHORS README ChangeLog NEWS INSTALL
%ghost %_logdir/%name.log
%files -n lib%name
%_libdir/*.so.*
%files -n lib%name-devel
%_libdir/*.so
%if_enabled static
%files -n lib%name-devel-static
%_libdir/*.a
%endif
%changelog
…
Full changelog you can see here
%def_disable static
Name: scrollkeeper
Version: %ver_major.14
Release: alt11
Summary: ScrollKeeper is a cataloging system for documentation
License: LGPL/FDL
Group: Publishing
Url: http://%name.sourceforge.net
Source: %gnome_ftp/%name/%ver_major/%name-%version.tar.bz2
Source1: %name-manpages-ru.tar.bz2
Source2: %name-rpmmacros.spec
Patch: %name-0.3.13-alt-paths.patch
Patch1: %name-0.3.13-alt-no-rebuilddb.patch
Patch2: %name-0.3.14-fix-overflows.patch
Patch3: %name-0.3.14-clean-xml-validation-context.patch
Patch4: %name-0.3.14-empty-url-string.patch
Patch5: %name-0.3.14-language-fix.patch
Patch6: %name-0.3.14-rw-offset-fix.patch
%define libxml2_ver 2.5.6
%define intltool_ver 0.31.3
PreReq: lib%name = %version-%release, xml-common, xml-utils, docbook-dtds
BuildPreReq: rpm-build-spec2macro
BuildPreReq: rpm-build-gnome
BuildPreReq: libxml2-devel >= %libxml2_ver
BuildPreReq: intltool >= %intltool_ver
BuildRequires: docbook-dtds libxslt-devel perl-XML-Parser perl-i18n xml-common xml-utils zlib-devel
%description
ScrollKeeper is a cataloging system for documentation. It manages
documentation metadata (as specified by the Open Source Metadata
Framework (OMF)) and provides a simple API to allow help browsers to
find, sort, and search the document catalog. It will also be able to
communicate with catalog servers on the Net to search for documents
which are not on the local system.
%package -n lib%name
Summary: Libraries for scrollkeeper
Group: System/Libraries
%description -n lib%name
These are the libraries for Scrollkeeper.
%package -n lib%name-devel
Summary: Includes and more to develop scrollkeeper applications
Group: Development/C
Requires: %name = %version-%release
Requires: lib%name = %version-%release
%description -n lib%name-devel
Libraries, include files and other resources you can use to develop
Scrollkeeper applications.
%package -n lib%name-devel-static
Summary: Static libraries to develop scrollkeeper applications
Group: Development/C
Requires: lib%name = %version-%release
%description -n lib%name-devel-static
Static libraries you can use to develop Scrollkeeper applications.
%define xmlbase %_datadir/xml
%define xmlconfdir %_sysconfdir/xml
%define xmlcatalog %xmlconfdir/catalog
%include %SOURCE2
%prep
%setup -q
%patch -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
# fix #1434
%__subst 's|регест|регист|g' po/ru.po
%build
%configure \
%{subst_enable static} \
--with-omfdirs=%_omfdir \
--with-partial-db-dir=%name
%make_build
%install
%makeinstall
# Convert the spec fragment to a rpmmacros file.
mkdir -p %buildroot%_sysconfdir/rpm/macros.d
%spec2macro %SOURCE2 %buildroot%_sysconfdir/rpm/macros.d/%name
# log file
install -pD -m600 /dev/null %buildroot%_logdir/%name.log
# logrotate config
cat <<__EOF__ >%name.logrotate
%_logdir/%name.log {
monthly
notifempty
missingok
}
__EOF__
install -pD -m640 %name.logrotate %buildroot%_sysconfdir/logrotate.d/%name
# russian manpages
tar -jxf %SOURCE1 -C %buildroot%_mandir
%define mans scrollkeeper-config scrollkeeper-gen-seriesid scrollkeeper.conf scrollkeeper-preinstall scrollkeeper-rebuilddb scrollkeeper-update
%find_lang --output=%name.lang --with-man %name %mans
%post
%_bindir/xmlcatalog --noout --add "public" \
"-//OMF//DTD Scrollkeeper OMF Variant V1.0//EN" \
"%_datadir/xml/%name/dtds/%name-omf.dtd" %xmlcatalog ||:
%_bindir/xmlcatalog --noout --add "public" \
"-//Scrollkeeper//DTD Contents List V1.0//EN" \
"%_datadir/xml/%name/dtds/%name-cl.dtd" %xmlcatalog ||:
scrollkeeper-rebuilddb -q
%preun
[ $1 = 0 ] || exit 0
%_bindir/xmlcatalog --noout --del \
"%_datadir/xml/%name/dtds/%name-omf.dtd" %xmlcatalog ||:
%_bindir/xmlcatalog --noout --del \
"%_datadir/xml/%name/dtds/%name-cl.dtd" %xmlcatalog ||:
%triggerpostun -- %name < 0.3.11
[ $2 != 0 ] || exit 0
%_bindir/xmlcatalog --noout --add "public" \
"-//OMF//DTD Scrollkeeper OMF Variant V1.0//EN" \
"%_datadir/xml/%name/dtds/%name-omf.dtd" %xmlcatalog ||:
%_bindir/xmlcatalog --noout --add "public" \
"-//Scrollkeeper//DTD Contents List V1.0//EN" \
"%_datadir/xml/%name/dtds/%name-cl.dtd" %xmlcatalog ||:
scrollkeeper-rebuilddb -q
%if 0
%triggerun -- %name < 0.3.14-alt2
%_bindir/xmlcatalog --noout --del \
"%_datadir/xml/%name/dtds/%name-omf.dtd" %xmlcatalog ||:
%endif
%post -n lib%name -p %post_ldconfig
%postun -n lib%name -p %postun_ldconfig
%files -f %name.lang
%_bindir/*
%dir %_omfdir/
%dir %_omfdir/%name
%_omfdir/%name/*.omf
%_datadir/%name
%_datadir/xml/*
%config(noreplace) %_sysconfdir/%name.conf
%config(noreplace) %_sysconfdir/logrotate.d/%name
%config %_sysconfdir/rpm/macros.d/%name
%doc AUTHORS README ChangeLog NEWS INSTALL
%ghost %_logdir/%name.log
%files -n lib%name
%_libdir/*.so.*
%files -n lib%name-devel
%_libdir/*.so
%if_enabled static
%files -n lib%name-devel-static
%_libdir/*.a
%endif
%changelog
…
Full changelog you can see here