# # spec file for package xmlcharent (Version 0.3) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: xmlcharent BuildRequires: sgml-skel unzip License: BSD License and BSD-like Group: Productivity/Publishing/XML BuildArchitectures: noarch Autoreqprov: on Requires: sgml-skel libxml2 %define regcat /usr/bin/sgml-register-catalog PreReq: %{regcat} /usr/bin/xmlcatalog /usr/bin/edit-xml-catalog PreReq: sed grep awk Version: 0.3 Release: 301 Summary: XML Character Entities BuildRoot: %{_tmppath}/%{name}-%{version}-build Source0: http://www.oasis-open.org/committees/docbook/%{name}/%{version}/%{name}-%{version}.zip Source1: catalog.xml Source2: CATALOG.xmlcharent URL: http://www.oasis-open.org/committees/docbook/xmlcharent/ %description XML encodings for the 19 standard character entity sets defined in non-normative Annex D of [ISO 8879:1986]. %define INSTALL install -m755 -s %define INSTALL_DIR install -d -m755 %define INSTALL_DATA install -m644 %define INSTALL_SCRIPT install -m755 -o root -g root %define sgml_dir %{_datadir}/sgml %define sgml_var_dir /var/lib/sgml %define sgml_mod_dir %{sgml_dir}/xmlcharent %define xml_dir %{_datadir}/xml %define xml_mod_dir %{xml_dir}/entities/%{name}/%{version} %define sgml_config_dir /var/lib/sgml %define sgml_sysconf_dir %{_sysconfdir}/sgml %define xml_config_dir /var/lib/xml %define xml_sysconf_dir %{_sysconfdir}/xml %prep %setup -n %{name} -c -T unzip -aq %{S:0} sed 's|@VERSION@|%{version}| s|@DIR@|%{xml_mod_dir}|' %{S:1} >catalog.xml sed 's|@VERSION@|%{version}| s|@DIR@|%{xml_mod_dir}|' %{S:2} >CATALOG.%{name} #%setup -q -n %{name} %build # # lynx -width=300 -dump entities-2002-03-19.html \ # # | grep '\(Public\|System\) identifier' \ # # | awk -F 'entifier: ' ' # # / System i/ {printf "\"%s\"\n", gensub(/.*\//,"%{sgml_dir_iso}/", g, $2)} # # / Public i/ {printf "PUBLIC \"-//%s\" ", $2}' > CATALOG.xmlcharent # { # for f in iso-*.ent; do # { # grep ' *ISO 8879:1986' $f | sed 's:^ \+::' \ # | awk '{printf "PUBLIC \"-//%s\"", $0}'; # echo " \"%{sgml_dir_iso}/$f\""; # } # done # } > CATALOG.xmlcharent # sed 's:%{xml_mod_dir}/::' CATALOG.xmlcharent > sgml.catalog # Prep XML catalog fragment %define FOR_ROOT_CAT for-catalog-%{name}-%{version}-%{release}.xml xmlcatbin=/usr/bin/xmlcatalog # build root catalog fragment rm -f %{FOR_ROOT_CAT}.tmp $xmlcatbin --noout --create %{FOR_ROOT_CAT}.tmp CATALOG=%{xml_mod_dir}/catalog.xml $xmlcatbin --noout --add "delegatePublic" "ISO 8879:1986//ENTITIES" \ "file://$CATALOG" %{FOR_ROOT_CAT}.tmp # Create tag sed '/ /<\/catalog/i\ ' \ %{FOR_ROOT_CAT}.tmp > %{FOR_ROOT_CAT} %install rm -fr %{buildroot} %{INSTALL_DIR} %{buildroot}{%{xml_mod_dir},%{sgml_dir},%{sgml_var_dir}} %{INSTALL_DATA} catalog.xml *.ent %{buildroot}%{xml_mod_dir} %{INSTALL_DATA} CATALOG.xmlcharent %{buildroot}%{sgml_var_dir} pushd %{buildroot}%{sgml_dir} ln -sf ../../../var/lib/sgml/CATALOG.* . popd pushd %{buildroot}%{xml_mod_dir} for f in *.ent; do ln -sf "$f" "${f/-}" done popd # parse-sgml-catalog.sh CATALOG.xmlcharent > CATALOG.norm # sgml2xmlcat.sh -i CATALOG.norm \ # -l -s '%{buildroot}/usr/share/sgml' -p xmlcharent # mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/xml install -m644 %{FOR_ROOT_CAT} ${RPM_BUILD_ROOT}%{_sysconfdir}/xml # %define all_cat xmlcharent %post if [ -x %{regcat} ]; then for c in %{all_cat}; do grep -q -e "%{sgml_dir}/CATALOG.$c\\>" /etc/sgml/catalog \ || %{regcat} -a %{sgml_dir}/CATALOG.$c >/dev/null 2>&1 || : done fi xmlcatbin=usr/bin/xmlcatalog %if %suse_version < 810 # autobuild on 8.0 does not install it early enough [ -x $xmlcatbin ] || { echo "warning: $xmlcatbin does not exist" echo "create etc/xml/catalog etc. manually" exit 0 } %endif edit-xml-catalog --group --catalog /etc/xml/suse-catalog.xml \ --add /etc/xml/%{FOR_ROOT_CAT} %postun if [ "$1" = "0" -a -x %{regcat} ]; then for c in %{all_cat}; do %{regcat} -r %{sgml_dir}/CATALOG.$c >/dev/null 2>&1 || : done fi xmlcatbin=/usr/bin/xmlcatalog edit-xml-catalog --group --catalog /etc/xml/suse-catalog.xml \ --del %{name}-%{version}-%{release} %clean rm -fr $RPM_BUILD_ROOT %files %defattr(-, root, root) # %doc entities-*.html %{xml_mod_dir} %config %{_sysconfdir}/xml/%{FOR_ROOT_CAT} %config %{sgml_var_dir}/CATALOG.* # %{sgml_dir}/ISO* %{sgml_dir}/CATALOG.* %dir %{xml_dir}/entities %dir %{xml_dir}/entities/xmlcharent %changelog * Thu Mar 29 2007 - ke@suse.de - Add BuildRequires: unzip * Thu Jan 11 2007 - ke@suse.de - Remove /usr/share/xml from the files list. * Thu Aug 17 2006 - ke@suse.de - Remove SuSEconfig call and a %%post warning for SL < 8.1. * Sun Feb 19 2006 - ro@suse.de - modify setup line in spec file * Wed Jan 25 2006 - mls@suse.de - converted neededforbuild to BuildRequires * Wed Nov 03 2004 - ke@suse.de - catalog.xml: Add namespace attribute as reported by Thomas Schraitle. * Mon May 24 2004 - ke@suse.de - Fix syntax of catalog.xml. * Mon Feb 09 2004 - ke@suse.de - Adjust directories according to FHS 2.3: * Move entity files to /usr/share/xml/entities/xmlcharent * Provide compatibility links for SL =< 9.0 (log this info in /var/adm/SuSEconfig/run-sgmldir-links for later processing). * Thu Feb 05 2004 - hmacht@suse.de - added option # norootforbuild in specfile * Fri Jul 11 2003 - ke@suse.de - Fix typo in suse-catalog.xml entry: s/MathML/ISO 8879:1986/ . * Fri Jun 06 2003 - ke@suse.de - Unregister sgml catalog at deinstallation only. * Wed Apr 30 2003 - ke@suse.de - Use /etc/xml/suse-catalog.xml instead of /etc/xml/catalog. * Fri Dec 13 2002 - ke@suse.de - Now use the original .zip file. - Remove spurious entry from CATALOG.xmlcharent; reported by Thomas Schraitle. - Register catalog file using sgml-register-catalog. * Mon Jun 24 2002 - ke@suse.de - Initial package: version 0.3cvs (released zip file isn't accessible since several days...).