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]