[oe-commits] org.oe.dev docbook-sgml-dtd-native: Simplified and added new versions 4.1 and 4.4

thebohemian commit openembedded-commits at lists.openembedded.org
Thu Jan 3 01:28:50 UTC 2008


docbook-sgml-dtd-native: Simplified and added new versions 4.1 and 4.4
sgmlspl: New recipe.
docbook-utils-native: Adjusted dependencies and added sgmlspl.

Author: thebohemian at openembedded.org
Branch: org.openembedded.dev
Revision: 03a6d73778554bdbea429845e2f717d7a2beb2f3
ViewMTN: http://monotone.openembedded.org/revision/info/03a6d73778554bdbea429845e2f717d7a2beb2f3
Files:
1
packages/docbook-sgml-dtd/docbook-sgml-dtd-native_3.1.bb
packages/docbook-sgml-dtd/docbook-sgml-dtd-3.1-native.bb
packages/sgmlspl
packages/sgmlspl/files
packages/docbook-sgml-dtd/docbook-sgml-dtd-4.1-native.bb
packages/docbook-sgml-dtd/docbook-sgml-dtd-4.4-native.bb
packages/docbook-sgml-dtd/docbook-sgml-dtd-native.inc
packages/sgmlspl/files/combined.patch
packages/sgmlspl/sgmlspl-native_1.03ii.bb
packages/docbook-utils/docbook-utils-native_0.6.14.bb
Diffs:

#
# mt diff -r50f3f055331d809843a6aaa94270a346964d2ca9 -r03a6d73778554bdbea429845e2f717d7a2beb2f3
#
# 
# 
# rename "packages/docbook-sgml-dtd/docbook-sgml-dtd-native_3.1.bb"
#     to "packages/docbook-sgml-dtd/docbook-sgml-dtd-3.1-native.bb"
# 
# add_dir "packages/sgmlspl"
# 
# add_dir "packages/sgmlspl/files"
# 
# add_file "packages/docbook-sgml-dtd/docbook-sgml-dtd-4.1-native.bb"
#  content [8af8a43ede5d17504c520bf8d4329c50aeb479f1]
# 
# add_file "packages/docbook-sgml-dtd/docbook-sgml-dtd-4.4-native.bb"
#  content [e8096a2fc94fd8c1d952962f9e9a3172902171fb]
# 
# add_file "packages/docbook-sgml-dtd/docbook-sgml-dtd-native.inc"
#  content [01a0574c4b3118881ffd717a2614da49aad139af]
# 
# add_file "packages/sgmlspl/files/combined.patch"
#  content [4ca5a624cdcc66efa1d3aa936c8a9a116486d189]
# 
# add_file "packages/sgmlspl/sgmlspl-native_1.03ii.bb"
#  content [d31e81ad7221fd62d1b0de0b029adda659ed88a2]
# 
# patch "packages/docbook-sgml-dtd/docbook-sgml-dtd-3.1-native.bb"
#  from [dc639dcc8d259f0b47f5c3350b926cc213ffe48f]
#    to [1fc1597723f6cd7f859c6ab5cb7cd2829205a052]
# 
# patch "packages/docbook-utils/docbook-utils-native_0.6.14.bb"
#  from [1a0a22dd392f60cedcc86e8ef30f293786d3ebc9]
#    to [a71a90f95c1e63d6e70e783d56e0e3d756600f16]
# 
============================================================
--- packages/docbook-sgml-dtd/docbook-sgml-dtd-4.1-native.bb	8af8a43ede5d17504c520bf8d4329c50aeb479f1
+++ packages/docbook-sgml-dtd/docbook-sgml-dtd-4.1-native.bb	8af8a43ede5d17504c520bf8d4329c50aeb479f1
@@ -0,0 +1,12 @@
+require docbook-sgml-dtd-native.inc
+
+DTD_VERSION = "4.1"
+
+SRC_URI = "http://docbook.org/sgml/4.1/docbk41.zip"
+
+do_compile() {
+    # Refer to http://www.linuxfromscratch.org/blfs/view/stable/pst/sgml-dtd.html
+    # for details.
+		sed -i -e '/ISO 8879/d' -e '/gml/d' docbook.cat
+}
+
============================================================
--- packages/docbook-sgml-dtd/docbook-sgml-dtd-4.4-native.bb	e8096a2fc94fd8c1d952962f9e9a3172902171fb
+++ packages/docbook-sgml-dtd/docbook-sgml-dtd-4.4-native.bb	e8096a2fc94fd8c1d952962f9e9a3172902171fb
@@ -0,0 +1,10 @@
+require docbook-sgml-dtd-native.inc
+
+DTD_VERSION = "4.4"
+
+do_compile() {
+    # Refer to http://www.linuxfromscratch.org/blfs/view/stable/pst/sgml-dtd.html
+    # for details.
+		sed -i -e '/ISO 8879/d' -e '/gml/d' docbook.cat
+}
+
============================================================
--- packages/docbook-sgml-dtd/docbook-sgml-dtd-native.inc	01a0574c4b3118881ffd717a2614da49aad139af
+++ packages/docbook-sgml-dtd/docbook-sgml-dtd-native.inc	01a0574c4b3118881ffd717a2614da49aad139af
@@ -0,0 +1,31 @@
+# The DTDs of the various versions have to be installed in parallel and should
+# not replace each other. The installation step is common for all versions
+# and just differs in the DTD_VERSION.
+#
+# However the DTDs need some quirks (see LFS documentation).
+
+DESCRIPTION = "Document type definitions for verification of SGML data files against the DocBook rule set"
+
+DEPENDS = "sgml-common-native"
+
+SRC_URI = "http://www.docbook.org/sgml/${DTD_VERSION}/docbook-${DTD_VERSION}.zip"
+
+S = "${WORKDIR}"
+
+inherit native
+
+do_stage () {
+    # Refer to http://www.linuxfromscratch.org/blfs/view/stable/pst/sgml-dtd.html
+    # for details.
+    install -d -m 755 ${STAGING_DATADIR}/sgml/docbook/sgml-dtd-${DTD_VERSION}
+    install docbook.cat ${STAGING_DATADIR}/sgml/docbook/sgml-dtd-${DTD_VERSION}/catalog
+    cp -dpr *.dtd *.mod *.dcl ${STAGING_DATADIR}/sgml/docbook/sgml-dtd-${DTD_VERSION}
+    
+    install-catalog --add ${sysconfdir}/sgml/sgml-docbook-dtd-${DTD_VERSION}.cat \
+      ${STAGING_DATADIR}/sgml/docbook/sgml-dtd-${DTD_VERSION}/catalog
+	
+    install-catalog --add ${sysconfdir}/sgml/sgml-docbook-dtd-${DTD_VERSION}.cat \
+      ${sysconfdir}/sgml/sgml-docbook.cat
+}
+
+PACKAGES = ""
============================================================
--- packages/sgmlspl/files/combined.patch	4ca5a624cdcc66efa1d3aa936c8a9a116486d189
+++ packages/sgmlspl/files/combined.patch	4ca5a624cdcc66efa1d3aa936c8a9a116486d189
@@ -0,0 +1,454 @@
+--- libsgmls-perl-1.03ii.orig/Makefile
++++ libsgmls-perl-1.03ii/Makefile
+@@ -94,5 +94,5 @@
+ 	mv /tmp/${DIST} SGMLSpm
+ 
+ clean:
+-	cd DOC; make clean
++	#cd DOC; make clean
+ 	rm -f *~ core *.tar *.tar.gz
+--- libsgmls-perl-1.03ii.orig/Makefile.PL
++++ libsgmls-perl-1.03ii/Makefile.PL
+@@ -0,0 +1,17 @@
++use ExtUtils::MakeMaker;
++# See lib/ExtUtils/MakeMaker.pm for details of how to influence
++# the contents of the Makefile that is written.
++WriteMakefile(
++      'NAME'	=> 'SGMLS',
++      'VERSION'	=> '1.03ii',
++      'PM'	=> { 'SGMLS.pm' => '$(INST_LIBDIR)/SGMLS.pm',
++		     'Output.pm' => '$(INST_LIBDIR)/SGMLS/Output.pm',
++		     'Refs.pm' => '$(INST_LIBDIR)/SGMLS/Refs.pm',
++		     'skel.pl' => '$(INST_LIBDIR)/sgmlspl-specs/skel.pl',
++		 },
++      'MAN3PODS'=> { 'SGMLS.pm' => '$(INST_MAN3DIR)/SGMLS.3pm',
++		     'Output.pm' => '$(INST_MAN3DIR)/SGMLS::Output.3pm',
++		     'Refs.pm' => '$(INST_MAN3DIR)/SGMLS::Refs.3pm',
++		 },
++      'EXE_FILES' => [ 'sgmlspl', ],
++);
+--- libsgmls-perl-1.03ii.orig/Output.pm
++++ libsgmls-perl-1.03ii/Output.pm
+@@ -5,7 +5,7 @@
+ @ISA = Exporter;
+ @EXPORT = qw(output push_output pop_output);
+ 
+-$version = '$Id: Output.pm,v 1.6 1995/12/05 12:21:51 david Exp $';
++$version = '$Id: Output.pm,v 1.1 1999/10/26 19:30:45 ardo Exp $';
+ 
+ =head1 NAME
+ 
+--- libsgmls-perl-1.03ii.orig/Refs.pm
++++ libsgmls-perl-1.03ii/Refs.pm
+@@ -2,11 +2,11 @@
+ 
+ use Carp;
+ 
+-$version = '$Id: Refs.pm,v 1.5 1995/12/03 21:28:36 david Exp $';
++$version = '$Id: Refs.pm,v 1.1 1999/10/26 19:30:45 ardo Exp $';
+ 
+ =head1 NAME
+ 
+-SGMLS::Refs
++SGMLS::Refs - Forward refeence handling
+ 
+ =head1 SYNOPSIS
+ 
+--- libsgmls-perl-1.03ii.orig/sgmlspl.1
++++ libsgmls-perl-1.03ii/sgmlspl.1
+@@ -0,0 +1,47 @@
++.\" -*- nroff -*-
++.\" ----------------------------------------------------------------------
++.TH SGMLSPL 1 "October 26, 1999" "SGMLSPL" "SGMLSPL"
++.\"
++.\" ----------------------------------------------------------------------
++.SH "NAME"
++sgmlspl \- a simple post-processor for nsgmls
++.\"
++.\" ----------------------------------------------------------------------
++.SH "SYNOPSIS"
++.B sgmlspl
++.I "spec file"
++.\"
++.\" ----------------------------------------------------------------------
++.SH "DESCRIPTION"
++sgmlspl is a sample application to convert SGML documents to other
++formats by providing a specification file detailing exactly how to
++handle each element, external data entity, subdocument entity, CDATA
++string, record end, SDATA string, and processing instruction.
++
++To use sgmlspl, prepare a specification file containing regular perl5
++code. If the SGML document were named doc.sgml, the sgmlspl
++specification file were named, spec.pl, and the name of the new file
++were doc.latex, then use the following command in a Unix shell to
++convert the SGML document:
++
++nsgmls doc.sgml | sgmlspl spec.pl > doc.latex
++
++sgmlspl will pass any additional arguments on to the specification
++file, which can then process them in the regular perl5 fashion.
++.\"
++.\" ----------------------------------------------------------------------
++.SH "SEE ALSO"
++.TP
++.BR /usr/share/doc/sgmls-doc/sgmlspl/sgmlspl.html
++sgmlspl documentation in HTML format
++.TP
++.BR /usr/share/doc/sgmls-doc/SGMLSpm/sgmls.html
++SGMLS documentation in HTML format
++.TP
++.BR nsgmls (1)
++.\"
++.\" ----------------------------------------------------------------------
++.SH "AUTHOR"
++Ardo van Rangelrooij <ardo at debian.org>
++.\"
++.\" ----------------------------------------------------------------------
+--- libsgmls-perl-1.03ii.orig/sgmlspl
++++ libsgmls-perl-1.03ii/sgmlspl
+@@ -0,0 +1,323 @@
++#!/usr/bin/perl
++########################################################################
++# sgmlspl: a simple SGML postprocesser for the SGMLS and NSGMLS
++#          parsers (requires SGMLS.pm library).
++#
++# Copyright (c) 1995 by David Megginson <dmeggins at aix1.uottawa.ca>
++#
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 2 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, write to the Free Software
++# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++#
++# $Log: sgmlspl,v $
++# Revision 1.1  2004/02/23 01:23:07  ardo
++# Added debian changes for version 1.03ii-27.
++#
++# Revision 1.1  2001/04/15 14:42:01  ardo
++# *** empty log message ***
++#
++# Revision 1.8  1995/12/03  21:46:31  david
++# Eliminated all use of the SGMLS_Event::key method.
++#
++# Revision 1.7  1995/11/15  20:22:24  david
++# Changed "use Output" to "use SGMLS::Output".  Qualified the STDIN
++# filehandle for the SGMLS object with the main:: package name.
++#
++# Revision 1.6  1995/08/12  16:15:14  david
++# Revised version for 1.01 distribution.
++#
++# Revision 1.5  1995/04/27  11:52:25  david
++# Changed 'print' to 'main::output' for re handler; empty string
++# translates into an empty sub {} rather than a sub printing an empty
++# string; instead of evaluating every argument as a perl script, take
++# only the first as a perl script and the rest as its arguments; allow
++# empty scripts or scripts which do not end with '1;'; pass the event
++# itself as the second argument to each handler, after the event data.
++#
++# Revision 1.4  1995/04/23  14:44:58  david
++# Use the Output package.  Fixed the $version variable.
++#
++# Revision 1.3  1995/04/22  21:02:49  david
++# Added some missing 'last SWITCH;' statements in the sgmls function.
++#
++# Revision 1.2  1995/04/22  20:58:48  david
++# Added $SGMLS_PL::version variable and changed SDATA notation from
++# [SDATA] to |SDATA|.
++#
++# Revision 1.1  1995/04/22  14:40:50  david
++# Initial revision
++#
++########################################################################
++
++use SGMLS::Output;
++
++package SGMLS_PL;
++use SGMLS;
++
++$version = '$Id: sgmlspl,v 1.1 2004/02/23 01:23:07 ardo Exp $';
++
++#
++# Set up handler defaults.
++#
++$start_document_handler = sub {};
++$end_document_handler = sub {};
++$start_element_handlers = { '' => sub {} };
++$end_element_handlers = { '' => sub {} };
++$cdata_handler = sub { main::output($_[0]); };
++$sdata_handlers = { '' => sub { main::output($_[0]);} };
++$re_handler = sub { main::output("\n"); };
++$pi_handler = sub { '' => sub {} };
++$entity_handlers = { '' => sub {} };
++$start_subdoc_handlers = { '' => sub {} };
++$end_subdoc_handlers = { '' => sub {} };
++$conforming_handler = sub {};
++
++#
++# Main access point: declare handlers for different SGML events.
++#
++# Usage: sgml(event, handler);
++#
++# The event may be one of the following strings, or a special pattern.
++# The generic events are as follow:
++#
++#   'start'                 The beginning of the document.
++#   'end'                   The end of the document.
++#   'start_element'         The beginning of an element.
++#   'end_element'           The end of an element.
++#   'cdata'                 Regular character data.
++#   'sdata'                 Special system-specific data.
++#   're'                    A record-end.
++#   'pi'                    A processing instruction.
++#   'entity'                An external-entity reference.
++#   'start_subdoc'          The beginning of a subdocument entity.
++#   'end_subdoc'            The end of a subdocument entity.
++#   'conforming'            The document is conforming.
++#
++# In addition to these generic events, it is possible to handlers
++# for certain specific, named events, as follow:
++#
++#   '<GI>'                  The beginning of element GI.
++#   '</GI>'                 The end of element GI.
++#   '[SDATA]'               The system-specific data SDATA.
++#   '&ENAME;'               A reference to the external entity ENAME.
++#   '{ENAME}'               The beginning of the subdocument-entity ENAME.
++#   '{/ENAME}'              The end of the subdocument-entity ENAME.
++#
++#
++# The handler may be a string, which will simply be printed when the
++# event occurs (this is usually useful only for the specific, named
++# events), or a reference to an anonymous subroutine, which will
++# receive two arguments: the event data and the event itself.  For 
++# example,
++#
++#   sgml('<FOO>', "\n\\begin{foo}\n");
++#
++# and
++#
++#   sgml('<FOO>', sub { output("\n\\begin{foo}\n"); });
++#
++# will have identical results.
++#
++sub main::sgml {
++    my ($spec,$handler) = (@_);
++    if (ref($handler) ne 'CODE') {
++	$handler =~ s/\\/\\\\/g;
++	$handler =~ s/'/\\'/g;
++	if ($handler eq '') {
++	    $handler = sub {};
++	} else {
++	    $handler = eval "sub { main::output('$handler'); };";
++	}
++    }
++  SWITCH: {
++				# start-document handler
++      $spec eq 'start' && do {
++	  $start_document_handler = $handler;
++	  last SWITCH;
++      };
++				# end-document handler
++      $spec eq 'end' && do {
++	  $end_document_handler = $handler;
++	  last SWITCH;
++      };
++				# start-element handler
++      $spec =~ /^<([^\/].*|)>$/ && do {
++	  $start_element_handlers->{$1} = $handler;
++	  last SWITCH;
++      };
++				# generic start-element handler
++      $spec eq 'start_element' && do {
++	  $start_element_handlers->{''} = $handler;
++	  last SWITCH;
++      };
++				# end-element handler
++      $spec =~ /^<\/(.*)>$/ && do {
++	  $end_element_handlers->{$1} = $handler;
++	  last SWITCH;
++      };
++				# generic end-element handler
++      $spec =~ 'end_element' && do {
++	  $end_element_handlers->{''} = $handler;
++	  last SWITCH;
++      };
++				# cdata handler
++      $spec eq 'cdata' && do {
++	  $cdata_handler = $handler;
++	  last SWITCH;
++      };
++				# sdata handler
++      $spec =~ /^\|(.*)\|$/ && do {
++	  $sdata_handlers->{$1} = $handler;
++	  last SWITCH;
++      };
++				# generic sdata handler
++      $spec eq 'sdata' && do {
++	  $sdata_handlers->{''} = $handler;
++	  last SWITCH;
++      };
++				# record-end handler
++      $spec eq 're' && do {
++	  $re_handler = $handler;
++	  last SWITCH;
++      };
++				# processing-instruction handler
++      $spec eq 'pi' && do {
++	  $pi_handler = $handler;
++	  last SWITCH;
++      };
++				# entity-reference handler
++      $spec =~ /^\&(.*);$/ && do {
++	  $entity_handlers->{$1} = $handler;
++	  last SWITCH;
++      };
++				# generic entity-reference handler
++      $spec eq 'entity' && do {
++	  $entity_handlers->{''} = $handler;
++	  last SWITCH;
++      };
++				# start-subdoc handler
++      $spec =~ /^\{([^\/].*|)\}$/ && do {
++	  $start_subdoc_handlers->{$1} = $handler;
++	  last SWITCH;
++      };
++				# generic start-subdoc handler
++      $spec eq 'start_subdoc' && do {
++	  $start_subdoc_handlers->{''} = $handler;
++	  last SWITCH;
++      };
++				# end-subdoc handler
++      $spec =~ /^\{\/(.*)\}$/ && do {
++	  $end_subdoc_handlers->{$1} = $handler;
++	  last SWITCH;
++      };
++				# generic end-subdoc handler
++      $spec eq 'end_subdoc' && do {
++	  $end_subdoc_handlers->{''} = $handler;
++	  last SWITCH;
++      };
++				# conforming handler
++      $spec eq 'conforming' && do {
++	  $conforming_handler = $handler;
++	  last SWITCH;
++      };
++
++      die "Bad SGML handler pattern: $spec\n";
++  }
++}
++
++
++#
++# The first argument on the command line is a perl module which will be
++# read here and evaluated in the 'main' package -- everything else will
++# be an argument to it.
++#
++package main;
++
++$ARGV = shift;
++unless ($ARGV eq '' || do 'sgmlspl-specs/' . $ARGV || do $ARGV) {
++    if (!-e $ARGV) {
++	die "FATAL: $ARGV does not exist.\n";
++    } elsif (!-r $ARGV) {
++	die "FATAL: $ARGV exists but is read-protected.\n";
++    } elsif ($@) {
++	die "FATAL: $@\n";
++    }
++}
++
++
++#
++# Do the actual work, using the SGMLS package.
++#
++package SGMLS_PL;
++
++$parse = new SGMLS(main::STDIN);	# a new parse object
++
++&{$start_document_handler}();	# run the start handler.
++
++				# run the appropriate ha%s
>>> DIFF TRUNCATED @ 16K






More information about the Openembedded-commits mailing list