-Summary: Davenport Group DocBook DTD for technical documentation
-Summary(pl): DocBook DTD przeznaczone do pisania dokumentacji technicznej
-%define rver 4.2CR1
+
+#
+# todo:
+# - use XML ISO entities from sgml-common
+#
+
+Summary: XML/SGML DocBook DTD 4.2
+Summary(pl): XML/SGML DocBook DTD 4.2
%define ver 4.2
Name: docbook-dtd42-xml
-Version: 1.0.cr1
-Release: 1
+Version: 1.0
+Release: 3
+Epoch: 1
Vendor: OASIS
License: Free
Group: Applications/Publishing/XML
URL: http://www.oasis-open.org/docbook/
-Source0: http://www.oasis-open.org/docbook/xml/%{rver}/docbook-xml-%{rver}.zip
+Source0: http://www.oasis-open.org/docbook/xml/%{ver}/docbook-xml-%{ver}.zip
+# Source0-md5: 73fe50dfe74ca631c1602f558ed8961f
BuildRequires: unzip
-Requires: sgml-common >= 0.5
+BuildRequires: rpm-build >= 4.0.2-94
+BuildRequires: /usr/bin/xmlcatalog
+PreReq: libxml2
+PreReq: sgml-common
+Requires(post,preun): /usr/bin/install-catalog
+Requires(post,preun): /usr/bin/xmlcatalog
+Requires: libxml2-progs >= 2.4.17-6
BuildArch: noarch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%define dtd_path %{_datadir}/sgml/docbook/xml-dtd-%{ver}
+%define xmlcat_file %{dtd_path}/catalog.xml
+%define sgmlcat_file %{dtd_path}/catalog
+
%description
-OASIS DocBook DTD for technical documentation.
+DocBook is an XML/SGML vocabulary particularly well suited to books
+and papers about computer hardware and software (though it is by no
+means limited to only these applications).
%description -l pl
-DocBook DTD jest zestawem definicji dokumentów przeznaczonych do
-tworzenia dokumentacji programistycznej. Stosowany jest do pisania
-podrêczników systemowych, instrukcji technicznych jak i wielu innych
-ciekawych rzeczy.
+DocBook DTD jest zestawem definicji dokumentów XML/SGML przeznaczonych
+do tworzenia dokumentacji technicznej. Stosowany jest do pisania
+podrêczników systemowych, instrukcji jak i wielu innych ciekawych
+rzeczy.
%prep
%setup -q -c
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_datadir}/sgml/docbook/xml-dtd-%{ver}
-
-install *.dtd *.mod $RPM_BUILD_ROOT%{_datadir}/sgml/docbook/xml-dtd-%{ver}
-install *.ent $RPM_BUILD_ROOT%{_datadir}/sgml/docbook/xml-dtd-%{ver} || :
-cp -a ent $RPM_BUILD_ROOT%{_datadir}/sgml/docbook/xml-dtd-%{ver}
+install -d $RPM_BUILD_ROOT%{dtd_path}
-# associate default declaration for xml
-# and map system identifier for xml because opensp seems to misinterpret
-# xml-style system identifiers (file://...)
-cat <<EOF >>$RPM_BUILD_ROOT%{_datadir}/sgml/docbook/xml-dtd-%{ver}/catalog
+install *.{xml,dtd,mod} $RPM_BUILD_ROOT%{dtd_path}
+install *.ent $RPM_BUILD_ROOT%{dtd_path} || :
+cp -a ent $RPM_BUILD_ROOT%{dtd_path}
- -- default decl --
-DTDDECL "-//OASIS//DTD DocBook XML V%{ver}//EN" "../../xml.dcl"
- -- hacks for opensp --
-SYSTEM "file://%{_datadir}/sgml/docbook/xml-dtd-%{ver}/docbookx.dtd" "%{_datadir}/sgml/docbook/xml-dtd-%{ver}/docbookx.dtd"
-SYSTEM "http://www.oasis-open.org/docbook/xml/%{ver}/docbookx.dtd" "%{_datadir}/sgml/docbook/xml-dtd-%{ver}/docbookx.dtd"
+%docbook_sgmlcat_fix $RPM_BUILD_ROOT%{sgmlcat_file} %{ver}
-EOF
+cat docbook.cat >> $RPM_BUILD_ROOT%{sgmlcat_file}
-# install catalog (but filter out ISO entities)
-#grep -v 'ISO ' docbook.cat >> $RPM_BUILD_ROOT%{_datadir}/sgml/docbook/xml-dtd-%{ver}/catalog
-cat docbook.cat >> $RPM_BUILD_ROOT%{_datadir}/sgml/docbook/xml-dtd-%{ver}/catalog
+%xmlcat_add_rewrite \
+ http://www.oasis-open.org/docbook/xml/%{ver} \
+ file://%{dtd_path} \
+ $RPM_BUILD_ROOT%{xmlcat_file}
%clean
rm -rf $RPM_BUILD_ROOT
%post
-# Update the centralized catalog corresponding to this version of the DTD
-/usr/bin/install-catalog --add /etc/sgml/xml-docbook-%{ver}.cat /usr/share/sgml/docbook/xml-dtd-%{ver}/catalog > /dev/null
+if ! grep -q /etc/sgml/xml-docbook-%{ver}.cat /etc/sgml/catalog ; then
+ %sgmlcat_add /etc/sgml/xml-docbook-%{ver}.cat %{sgmlcat_file}
+
+fi
+if ! grep -q %{xmlcat_file} /etc/xml/catalog ; then
+ %xmlcat_add %{xmlcat_file}
+
+fi
+
+%preun
+if [ "$1" = "0" ] ; then
+ %sgmlcat_del /etc/sgml/xml-docbook-%{ver}.cat %{sgmlcat_file}
+
+ %xmlcat_del %{xmlcat_file}
-%postun
-/usr/bin/install-catalog --remove /etc/sgml/xml-docbook-%{ver}.cat /usr/share/sgml/docbook/xml-dtd-%{ver}/catalog > /dev/null
+fi
%files
%defattr(644,root,root,755)
%doc README ChangeLog
-%{_datadir}/sgml/docbook/*
+%{dtd_path}