From: Stefan Schantl Date: Fri, 7 Oct 2011 18:48:33 +0000 (+0200) Subject: docbook-dtds: Convert package to new layout. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ed1ec7470883d29081d8fa2f142a425f4624198d;p=ipfire-3.x.git docbook-dtds: Convert package to new layout. --- diff --git a/docbook-dtds/docbook-dtds.nm b/docbook-dtds/docbook-dtds.nm new file mode 100644 index 000000000..079058d11 --- /dev/null +++ b/docbook-dtds/docbook-dtds.nm @@ -0,0 +1,289 @@ +############################################################################### +# IPFire.org - An Open Source Firewall Solution # +# Copyright (C) - IPFire Development Team # +############################################################################### + +name = docbook-dtds +version = 1.0 +release = 1 + +groups = Applications/Text +url = http://www.oasis-open.org/docbook/ +license = Copyright only +summary = SGML and XML document type definitions for DocBook. + +description + The DocBook Document Type Definition (DTD) describes the syntax of + technical documentation texts (articles, books and manual pages). + This syntax is XML-compliant and is developed by the OASIS consortium. + This package contains SGML and XML versions of the DocBook DTD. +end + +# Update version as runtime dependency if changes. +version_openjade = 1.3.2 + +sources = \ + docbk30.zip \ + docbk31.zip \ + docbk40.zip \ + docbk41.zip \ + docbkx412.zip \ + docbook-4.2.zip \ + docbook-xml-4.2.zip \ + docbook-4.3.zip \ + docbook-xml-4.3.zip \ + docbook-4.4.zip \ + docbook-xml-4.4.zip \ + docbook-4.5.zip \ + docbook-xml-4.5.zip + +# Update directories at the scriptlets if there will be any changes. +directories = \ + 3.0-sgml \ + 3.1-sgml \ + 4.0-sgml \ + 4.1-sgml \ + 4.1.2-xml \ + 4.2-sgml \ + 4.2-xml \ + 4.3-sgml \ + 4.3-xml \ + 4.4-sgml \ + 4.4-xml \ + 4.5-sgml \ + 4.5-xml + +build + requires + dos2unix + unzip>=6.0-2 + end + + prepare + # Define a bash function to extract the files + function macro_extract() + { + mkdir -pv %{DIR_APP}/$2 + cd %{DIR_APP}/$2 && unzip %{DIR_DL}/$1 + } + + # Extract files + macro_extract docbk30.zip 3.0-sgml + macro_extract docbk31.zip 3.1-sgml + macro_extract docbk40.zip 4.0-sgml + macro_extract docbk41.zip 4.1-sgml + macro_extract docbkx412.zip 4.1.2-xml + macro_extract docbook-4.2.zip 4.2-sgml + macro_extract docbook-xml-4.2.zip 4.2-xml + macro_extract docbook-4.3.zip 4.3-sgml + macro_extract docbook-xml-4.3.zip 4.3-xml + macro_extract docbook-4.4.zip 4.4-sgml + macro_extract docbook-xml-4.4.zip 4.4-xml + macro_extract docbook-4.5.zip 4.5-sgml + macro_extract docbook-xml-4.5.zip 4.5-xml + + # Convert all catalog files to unix format + cd %{DIR_APP} && dos2unix */docbook.cat + + %{MACRO_PATCHES} + + sed -e's,\(NAMELEN\s\+\)44\(\s\*\)\?,\1256,' -i.namelen */docbook.dcl + sed -i 's/\r//' */*.txt + chown -R root:root . + chmod -R a+rX,g-w,o-w . + end + + build = # Nothing to do + + install + mkdir -pv %{BUILDROOT}/etc/sgml + for fmt in sgml xml; do + ln -svf $fmt-docbook-4.5.cat %{BUILDROOT}/etc/sgml/$fmt-docbook.cat + done + + for dir in %{directories}; do + fmt=${dir#*-}; ver=${dir%%-*} + cd %{DIR_APP}/$dir + DESTDIR=%{BUILDROOT}/usr/share/sgml/docbook/$fmt-dtd-$ver + mkdir -pv $DESTDIR + case $fmt in + sgml) mkdir -pv $DESTDIR; install -v *.dcl $DESTDIR ;; + xml) mkdir -pv $DESTDIR/ent; install -v ent/* $DESTDIR/ent ;; + esac + install -v *.dtd *.mod $DESTDIR + install -v docbook.cat $DESTDIR/catalog + touch %{BUILDROOT}/etc/sgml/${dir#*-}-docbook-$ver.cat + done + end +end + +packages + package %{name} + requires + openjade=%{version_openjade} + end + + script postin + set -x + + ## Clean up pre-docbook-dtds mess caused by broken trigger. + for ver in 3.0 3.1 4.0 4.1 4.2; do + if [ -f /etc/sgml/sgml-docbook-${ver}.cat ]; then + /usr/bin/xmlcatalog --noout --sgml --del /etc/sgml/sgml-docbook-${ver}.cat \ + /usr/share/sgml/openjade-%{version_openjade}/catalog 2>/dev/null + fi + done + + # The STYLESHEETS/catalog command is for the case in which the style sheets + # were installed after another DTD but before this DTD + for STYLESHEETS in /usr/share/sgml/docbook/dsssl-stylesheets-*; do : ; done + case $STYLESHEETS in + *-"*") STYLESHEETS= ;; + esac + + for dir in %{directories}; do + fmt=${dir#*-} + ver=${dir%%-*} + + ## SGML catalog + # Update the centralized catalog corresponding to this version of the DTD + for cat_dir in /usr/share/sgml/sgml-iso-entities-8879.1986 /usr/share/sgml/docbook/$fmt-dtd-$ver $STYLESHEETS; do + /usr/bin/xmlcatalog --sgml --add /etc/sgml/$fmt-docbook-$ver.cat $cat_dir/catalog + done + + ## XML catalog + if [ $fmt = xml -a -w /usr/share/sgml/docbook/xmlcatalog ]; then + while read f desc; do + case $vers in 4.[45]) f=${f/-/} ;; esac + /usr/bin/xmlcatalog --add public "$desc" /usr/share/sgml/docbook/$fmt-dtd-$ver/$f /usr/share/sgml/docbook/xmlcatalog + done <. # -# # -############################################################################### - -############################################################################### -# Definitions -############################################################################### - -include $(PKGROOT)/Include - -PKG_NAME = docbook-dtds -PKG_VER = 1.0 -PKG_REL = 0 - -PKG_MAINTAINER = -PKG_GROUP = Applications/Text -PKG_URL = http://www.oasis-open.org/docbook/ -PKG_LICENSE = Copyright only -PKG_SUMMARY = SGML and XML document type definitions for DocBook. - -PKG_BUILD_DEPS+= dos2unix unzip - -define PKG_DESCRIPTION - The DocBook Document Type Definition (DTD) describes the syntax of \ - technical documentation texts (articles, books and manual pages). \ - This syntax is XML-compliant and is developed by the OASIS consortium. \ - This package contains SGML and XML versions of the DocBook DTD. -endef - -# TODO XXX post-installation stuff - -PKG_OBJECTS += \ - docbk30.zip \ - docbk31.zip \ - docbk40.zip \ - docbk41.zip \ - docbkx412.zip \ - docbook-4.2.zip \ - docbook-xml-4.2.zip \ - docbook-4.3.zip \ - docbook-xml-4.3.zip \ - docbook-4.4.zip \ - docbook-xml-4.4.zip \ - docbook-4.5.zip \ - docbook-xml-4.5.zip - -DIRECTORIES = \ - 3.0-sgml \ - 3.1-sgml \ - 4.0-sgml \ - 4.1-sgml \ - 4.1.2-xml \ - 4.2-sgml \ - 4.2-xml \ - 4.3-sgml \ - 4.3-xml \ - 4.4-sgml \ - 4.4-xml \ - 4.5-sgml \ - 4.5-xml - -DIR_APP = $(DIR_SRC)/$(PKG_NAME)-$(PKG_VER) - -define MACRO_EXTRACT - mkdir -pv $(DIR_APP)/$(2) - cd $(DIR_APP)/$(2) && unzip $(DIR_DL)/$(1) - -endef - -define STAGE_PREPARE - $(call MACRO_EXTRACT,docbk30.zip,3.0-sgml) - $(call MACRO_EXTRACT,docbk31.zip,3.1-sgml) - $(call MACRO_EXTRACT,docbk40.zip,4.0-sgml) - $(call MACRO_EXTRACT,docbk41.zip,4.1-sgml) - $(call MACRO_EXTRACT,docbkx412.zip,4.1.2-xml) - $(call MACRO_EXTRACT,docbook-4.2.zip,4.2-sgml) - $(call MACRO_EXTRACT,docbook-xml-4.2.zip,4.2-xml) - $(call MACRO_EXTRACT,docbook-4.3.zip,4.3-sgml) - $(call MACRO_EXTRACT,docbook-xml-4.3.zip,4.3-xml) - $(call MACRO_EXTRACT,docbook-4.4.zip,4.4-sgml) - $(call MACRO_EXTRACT,docbook-xml-4.4.zip,4.4-xml) - $(call MACRO_EXTRACT,docbook-4.5.zip,4.5-sgml) - $(call MACRO_EXTRACT,docbook-xml-4.5.zip,4.5-xml) - - # Convert all catalog files to unix format - cd $(DIR_APP) && dos2unix */docbook.cat - - $(DO_PATCHES) - - cd $(DIR_APP) && sed -e's,\(NAMELEN\s\+\)44\(\s\*\)\?,\1256,' -i.namelen */docbook.dcl - cd $(DIR_APP) && sed -i 's/\r//' */*.txt - cd $(DIR_APP) && chown -R root:root . - cd $(DIR_APP) && chmod -R a+rX,g-w,o-w . -endef - -STAGE_BUILD = # Nothing to do - -define STAGE_INSTALL - -mkdir -pv $(BUILDROOT)/etc/sgml - for fmt in sgml xml; do \ - ln -svf $${fmt}-docbook-4.5.cat $(BUILDROOT)/etc/sgml/$${fmt}-docbook.cat; \ - done - - for dir in $(DIRECTORIES); do \ - fmt=$${dir#*-}; ver=$${dir%%-*}; \ - cd $(DIR_APP)/$${dir}; \ - DESTDIR=$(BUILDROOT)/usr/share/sgml/docbook/$${fmt}-dtd-$${ver}; \ - mkdir -pv $${DESTDIR}; \ - case $${fmt} in \ - sgml) mkdir -pv $${DESTDIR}; install -v *.dcl $${DESTDIR} ;; \ - xml) mkdir -pv $${DESTDIR}/ent; install -v ent/* $${DESTDIR}/ent ;; \ - esac; \ - install -v *.dtd *.mod $${DESTDIR}; \ - install -v docbook.cat $${DESTDIR}/catalog; \ - touch $(BUILDROOT)/etc/sgml/$${dir#*-}-docbook-$${ver}.cat; \ - done -endef