OpenPKG CVS Repository http://cvs.openpkg.org/ ____________________________________________________________________________
Server: cvs.openpkg.org Name: Michael van Elst Root: /e/openpkg/cvs Email: [EMAIL PROTECTED] Module: openpkg-src openpkg-web Date: 05-Jun-2003 16:57:00 Branch: HEAD Handle: 2003060515565801 Added files: openpkg-src/sgml catalog2xml sgmlcatalog Modified files: openpkg-src/sgml mkcatalog sgml.spec openpkg-web news.txt Log: add support for XML catalog, move old mkcatalog out of the way to avoid SGML-catalog-only updates from old packages Summary: Revision Changes Path 1.1 +22 -0 openpkg-src/sgml/catalog2xml 1.3 +3 -9 openpkg-src/sgml/mkcatalog 1.26 +16 -6 openpkg-src/sgml/sgml.spec 1.1 +150 -0 openpkg-src/sgml/sgmlcatalog 1.4738 +1 -0 openpkg-web/news.txt ____________________________________________________________________________ patch -p0 <<'@@ .' Index: openpkg-src/sgml/catalog2xml ============================================================================ $ cvs diff -u -r0 -r1.1 catalog2xml --- /dev/null 2003-06-05 16:56:59.000000000 +0200 +++ catalog2xml 2003-06-05 16:57:00.000000000 +0200 @@ -0,0 +1,22 @@ +#!/bin/sh + [EMAIL PROTECTED]@/bin:${PATH} + +echo "<?xml version='1.0'?>" +echo '<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">' +echo '<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">' + +if test $# != 0 ; then +sed -n \ + -e ':input' \ + -e '/PUBLIC[^"]*$/{ N; b input }' \ + -e '/PUBLIC[^"]*"[^"]*$/{ N; b input }' \ + -e '/PUBLIC[^"]*"[^"]*"[^"]*$/{ N; b input }' \ + -e '/PUBLIC[^"]*"[^"]*"[^"]*"[^"]*$/{ N; b input }' \ + -e 's/\n/ /g' \ + -e 's/^ *\(--.*--\)/<!\1>/gp' \ + -e 's/PUBLIC *\("[^"]*"\) *\("[^"]*"\)/<public publicId=\1 uri=\2\/>/gp' \ + "$@" +fi + +echo '</catalog>' @@ . patch -p0 <<'@@ .' Index: openpkg-src/sgml/mkcatalog ============================================================================ $ cvs diff -u -r1.2 -r1.3 mkcatalog --- openpkg-src/sgml/mkcatalog 16 Jan 2003 16:38:47 -0000 1.2 +++ openpkg-src/sgml/mkcatalog 5 Jun 2003 14:56:59 -0000 1.3 @@ -191,19 +191,13 @@ esac ;; delete|deinstall) - # if "deinstall or delete" and the temporary catalog is - # not empty, install the catalog itself (in the case of being - # empty, delete it). ${l_bottom_p}=YES means that + # if "deinstall or delete" install the temporary catalog + # ${l_bottom_p}=YES means that # ${l_upper_cat} can be deleted safely, otherwise not. case ${l_bottom_p} in [Yy][Ee][Ss]) echo " - ${dtd_act} ${l_cat_line} line from ${l_upper_cat}" - if [ ! -s ${TMPCAT} ]; then - echo " - delete empty catalog ${l_upper_cat}" - rm -f ${l_upper_abs_cat} - else - cp ${TMPCAT} ${l_upper_abs_cat} || exit 1 - fi + cp ${TMPCAT} ${l_upper_abs_cat} || exit 1 ;; *) rm -f ${TMPCAT} exit 0 @@ . patch -p0 <<'@@ .' Index: openpkg-src/sgml/sgml.spec ============================================================================ $ cvs diff -u -r1.25 -r1.26 sgml.spec --- openpkg-src/sgml/sgml.spec 30 May 2003 19:02:00 -0000 1.25 +++ openpkg-src/sgml/sgml.spec 5 Jun 2003 14:56:59 -0000 1.26 @@ -32,17 +32,19 @@ Distribution: OpenPKG [PLUS] Group: SGML License: PD -Version: 20030530 -Release: 20030530 +Version: 20030605 +Release: 20030605 # list of sources Source0: mkcatalog +Source1: sgmlcatalog +Source2: catalog2xml # build information Prefix: %{l_prefix} BuildRoot: %{l_buildroot} BuildPreReq: OpenPKG, openpkg >= 20020206 -PreReq: OpenPKG, openpkg >= 20020206, bash +PreReq: OpenPKG, openpkg >= 20020206, bash, sed AutoReq: no AutoReqProv: no @@ -58,15 +60,23 @@ rm -rf $RPM_BUILD_ROOT %{l_shtool} mkdir -f -p -m 755 \ $RPM_BUILD_ROOT%{l_prefix}/bin \ - $RPM_BUILD_ROOT%{l_prefix}/share/sgml + $RPM_BUILD_ROOT%{l_prefix}/share/sgml \ + $RPM_BUILD_ROOT%{l_prefix}/libexec/sgml %{l_shtool} install -c -m 644 \ /dev/null $RPM_BUILD_ROOT%{l_prefix}/share/sgml/catalog %{l_shtool} install -c -m 755 -e 's;@l_prefix@;%{l_prefix};g' \ -e 's;@l_prefix@;%{l_prefix};' \ - %{SOURCE mkcatalog} $RPM_BUILD_ROOT%{l_prefix}/bin/ + %{SOURCE mkcatalog} \ + %{SOURCE catalog2xml} \ + $RPM_BUILD_ROOT%{l_prefix}/libexec/sgml/ + %{l_shtool} install -c -m 755 -e 's;@l_prefix@;%{l_prefix};g' \ + -e 's;@l_prefix@;%{l_prefix};' \ + %{SOURCE sgmlcatalog} $RPM_BUILD_ROOT%{l_prefix}/bin/ + PREFIX=$RPM_BUILD_ROOT%{l_prefix} $RPM_BUILD_ROOT%{l_prefix}/bin/sgmlcatalog %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ %{l_files_std} \ - '%config %{l_prefix}/share/sgml/catalog' + '%config %{l_prefix}/share/sgml/catalog' \ + '%config %{l_prefix}/share/sgml/catalog.xml' %files -f files @@ . patch -p0 <<'@@ .' Index: openpkg-src/sgml/sgmlcatalog ============================================================================ $ cvs diff -u -r0 -r1.1 sgmlcatalog --- /dev/null 2003-06-05 16:56:59.000000000 +0200 +++ sgmlcatalog 2003-06-05 16:57:00.000000000 +0200 @@ -0,0 +1,150 @@ [EMAIL PROTECTED]@/bin/bash + [EMAIL PROTECTED]@} +DIR=$PREFIX/share/sgml +MASTER=$DIR/catalog.xml +MK=$PREFIX/libexec/sgml/mkcatalog +C2X=$PREFIX/libexec/sgml/catalog2xml + +init () { + p=() + s=() + u=() + P=() + S=() + U=() + X=0 +} + +setup () { + if test ! -s $MASTER + then + cat > $MASTER <<'EOFEOF' +<?xml version="1.0"?> +<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd"> +<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"> +</catalog> +EOFEOF + ls -l $MASTER + fi +} + +del () { + name="$1" + + while read line + do + case "$line" in + "<!-- CATALOG $name -->"*) + ;; + *) + echo $line + ;; + esac + done < $MASTER > $MASTER.tmp && \ + cp $MASTER.tmp $MASTER && \ + rm -f $MASTER.tmp +} + +ins () { + name="$1" ; shift + tag="$1" ; shift + att1="$1" ; shift + att2="$1" ; shift + val2="$1" ; shift + + while read line + do + case "$line" in + "</catalog>") + for val1 in "$@" + do + echo '<!-- CATALOG' $name '--><'$tag $att1='"'$val1'"' $att2='"'$val2'"/>' + done + echo $line + ;; + *) + echo $line + ;; + esac + done < $MASTER > $MASTER.tmp && \ + cp $MASTER.tmp $MASTER && \ + rm -f $MASTER.tmp +} + +install () { + name=$1 + cat="file://$DIR/$name/catalog.xml" + pre="file://$DIR/$name" + + $MK -q install $name + + if test $X -gt 0 + then + $C2X $DIR/$name/catalog > $DIR/$name/catalog.xml + fi + + del $name + + ins $name delegatePublic publicIdStartString catalog $cat "[EMAIL PROTECTED]" + ins $name delegateSystem systemIdStartString catalog $cat "[EMAIL PROTECTED]" + ins $name delegateURI uriStartString catalog $cat "[EMAIL PROTECTED]" + + ins $name rewritePublic publicIdStartString rewritePrefix $pre "[EMAIL PROTECTED]" + ins $name rewriteSystem systemIdStartString rewritePrefix $pre "[EMAIL PROTECTED]" + ins $name rewriteURI uriStartString rewritePrefix $pre "[EMAIL PROTECTED]" +} + +deinstall () { + name=$1 + + $MK -q deinstall $name + + if test $X -gt 0 + then + rm -f $DIR/$name/catalog.xml + fi + + del $name +} + +init +setup + +while test $# -gt 0 +do + i="$1" ; shift + case "$i" in + -p) + p=("[EMAIL PROTECTED]" "$1") ; shift + ;; + -s) + s=("[EMAIL PROTECTED]" "$1") ; shift + ;; + -u) + u=("[EMAIL PROTECTED]" "$1") ; shift + ;; + -P) + P=("[EMAIL PROTECTED]" "$1") ; shift + ;; + -S) + S=("[EMAIL PROTECTED]" "$1") ; shift + ;; + -U) + U=("[EMAIL PROTECTED]" "$1") ; shift + ;; + -i) + name="$1" ; shift + install "$name" + init + ;; + -x) + X=1 + ;; + -d) + name="$1" ; shift + deinstall "$name" + init + ;; + esac +done @@ . patch -p0 <<'@@ .' Index: openpkg-web/news.txt ============================================================================ $ cvs diff -u -r1.4737 -r1.4738 news.txt --- openpkg-web/news.txt 5 Jun 2003 09:42:24 -0000 1.4737 +++ openpkg-web/news.txt 5 Jun 2003 14:56:58 -0000 1.4738 @@ -1,3 +1,4 @@ +05-Jun-2003: Upgraded package: P<sgml-20030605-20030605> 05-Jun-2003: Upgraded package: P<apache-1.3.27-20030605> 05-Jun-2003: Upgraded package: P<uvscan-4.1.6.4269-20030605> 05-Jun-2003: Upgraded package: P<vim-6.2.13-20030605> @@ . ______________________________________________________________________ The OpenPKG Project www.openpkg.org CVS Repository Commit List [EMAIL PROTECTED]