diff options
author | jmmv <jmmv@pkgsrc.org> | 2003-01-29 20:21:06 +0000 |
---|---|---|
committer | jmmv <jmmv@pkgsrc.org> | 2003-01-29 20:21:06 +0000 |
commit | 50c90b2f77085d9d55051f5adee5ebaa84ee6b59 (patch) | |
tree | 508da3c11def095a402be3a6655c70f001c27238 /textproc | |
parent | 9aaa6ee3c1775413e308bc0b8d39e651179a7c0d (diff) | |
download | pkgsrc-50c90b2f77085d9d55051f5adee5ebaa84ee6b59.tar.gz |
Update xmlcatmgr to 0.2. Changes in this version:
* Added XML Catalogs management. You must use the new `-s' flag to handle
SGML Catalogs as XML format becomes the default.
* Dropped use of getopt in favour of getopts, as the former does not handle whitespace in variables properly.
* Handle comments in SGML catalogs properly.
* Several manpage improvements.
Changes in the package:
* Implement a new framework to automatically register/deregister catalog
entries. This is available through the catalogs.mk file. Packages do
not need to call xmlcatmgr directly any more, nor do tricky things in
their PLISTs.
* Install two catalog files under PKG_SYSCONFDIR, one called sgml/catalog
and the other xml/catalog. Both are completely different things, so they
can't be mixed. Also avoid that any of these catalogs refer to the other
one, as this could cause problems.
Diffstat (limited to 'textproc')
-rw-r--r-- | textproc/xmlcatmgr/DESCR | 3 | ||||
-rw-r--r-- | textproc/xmlcatmgr/MESSAGE | 10 | ||||
-rw-r--r-- | textproc/xmlcatmgr/Makefile | 29 | ||||
-rw-r--r-- | textproc/xmlcatmgr/PLIST | 5 | ||||
-rw-r--r-- | textproc/xmlcatmgr/buildlink2.mk | 4 | ||||
-rw-r--r-- | textproc/xmlcatmgr/catalogs.mk | 81 | ||||
-rw-r--r-- | textproc/xmlcatmgr/distinfo | 6 | ||||
-rw-r--r-- | textproc/xmlcatmgr/files/deinstall.tmpl | 33 | ||||
-rw-r--r-- | textproc/xmlcatmgr/files/install.tmpl | 33 |
9 files changed, 181 insertions, 23 deletions
diff --git a/textproc/xmlcatmgr/DESCR b/textproc/xmlcatmgr/DESCR index ce414c82f80..0a83164cde4 100644 --- a/textproc/xmlcatmgr/DESCR +++ b/textproc/xmlcatmgr/DESCR @@ -1,7 +1,8 @@ xmlcatmgr is a command line script used to manipulate SGML and XML catalogs. It is designed with simplicity in mind: it does not depend on external programs nor libraries, so it is ideal to manage catalog files from inside -pkgsrc. +pkgsrc. It is also useful to handle shared directories like share/sgml and +share/xml. XML catalogs are files that contain mappings from public identifiers to system identifiers. This allows XML parsers to locate public identifiers diff --git a/textproc/xmlcatmgr/MESSAGE b/textproc/xmlcatmgr/MESSAGE index 9d868e5bc96..02f7d51c8e6 100644 --- a/textproc/xmlcatmgr/MESSAGE +++ b/textproc/xmlcatmgr/MESSAGE @@ -1,12 +1,16 @@ =========================================================================== -$NetBSD: MESSAGE,v 1.2 2003/01/11 21:08:42 jmmv Exp $ +$NetBSD: MESSAGE,v 1.3 2003/01/29 20:21:07 jmmv Exp $ The following catalogs have been installed: - * ${PKG_SYSCONFDIR}/catalog - System wide catalog. This can be edited by the administrator and + * ${PKG_SYSCONFDIR}/sgml/catalog + System wide SGML catalog. Can be edited by the administrator and is not changed by packages. + * ${PKG_SYSCONFDIR}/xml/catalog + System wide XML catalog. Can be edited by the administrator and + is not changed by packages. This is the *default* catalog. + * ${PREFIX}/share/sgml/catalog Handles SGML stuff installed under ${PREFIX}/share/sgml. Automatically handled by packages. diff --git a/textproc/xmlcatmgr/Makefile b/textproc/xmlcatmgr/Makefile index 5eb749154cf..fe0345bbd18 100644 --- a/textproc/xmlcatmgr/Makefile +++ b/textproc/xmlcatmgr/Makefile @@ -1,8 +1,7 @@ -# $NetBSD: Makefile,v 1.3 2003/01/28 22:04:22 jlam Exp $ +# $NetBSD: Makefile,v 1.4 2003/01/29 20:21:07 jmmv Exp $ # -DISTNAME= xmlcatmgr-0.1 -PKGREVISION= 1 +DISTNAME= xmlcatmgr-0.2 CATEGORIES= textproc MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=xmlcatmgr/} @@ -17,25 +16,31 @@ MAKEFILE= Makefile.boot MAKE_ENV+= BT_PREFIX="${PREFIX}" MAKE_ENV+= BT_PROG_AWK="${AWK}" MAKE_ENV+= BT_PROG_SH="${SH}" -MAKE_ENV+= BT_DIR_CATALOG="${PKG_SYSCONFDIR}" +MAKE_ENV+= BT_DIR_CATALOG="${PKG_SYSCONFDIR}/xml" +OWN_DIRS= ${PKG_SYSCONFDIR}/sgml ${PKG_SYSCONFDIR}/xml EGDIR= ${PREFIX}/share/examples/xmlcatmgr -CONF_FILES= ${EGDIR}/catalog.global ${PKG_SYSCONFDIR}/catalog +CONF_FILES= ${EGDIR}/catalog.etc.sgml ${PKG_SYSCONFDIR}/sgml/catalog +CONF_FILES+= ${EGDIR}/catalog.etc.xml ${PKG_SYSCONFDIR}/xml/catalog post-build: - ${WRKSRC}/bin/xmlcatmgr.sh -c ${WRKDIR}/catalog.global create - ${WRKSRC}/bin/xmlcatmgr.sh -c ${WRKDIR}/catalog.sgml create - ${WRKSRC}/bin/xmlcatmgr.sh -c ${WRKDIR}/catalog.xml create - ${WRKSRC}/bin/xmlcatmgr.sh -c ${WRKDIR}/catalog.global add \ + @${ECHO} "Creating SGML catalogs..." + @${WRKSRC}/bin/xmlcatmgr.sh -sc ${WRKDIR}/catalog.etc.sgml create + @${WRKSRC}/bin/xmlcatmgr.sh -sc ${WRKDIR}/catalog.sgml create + @${WRKSRC}/bin/xmlcatmgr.sh -sc ${WRKDIR}/catalog.etc.sgml add \ CATALOG ${PREFIX}/share/sgml/catalog - ${WRKSRC}/bin/xmlcatmgr.sh -c ${WRKDIR}/catalog.global add \ - CATALOG ${PREFIX}/share/xml/catalog + @${ECHO} "Creating XML catalogs..." + @${WRKSRC}/bin/xmlcatmgr.sh -c ${WRKDIR}/catalog.etc.xml create + @${WRKSRC}/bin/xmlcatmgr.sh -c ${WRKDIR}/catalog.xml create + @${WRKSRC}/bin/xmlcatmgr.sh -c ${WRKDIR}/catalog.etc.xml add \ + nextCatalog ${PREFIX}/share/xml/catalog post-install: ${INSTALL_DATA_DIR} ${EGDIR} ${INSTALL_DATA_DIR} ${PREFIX}/share/sgml ${INSTALL_DATA_DIR} ${PREFIX}/share/xml - ${INSTALL_DATA} ${WRKDIR}/catalog.global ${EGDIR}/catalog.global + ${INSTALL_DATA} ${WRKDIR}/catalog.etc.sgml ${EGDIR}/catalog.etc.sgml + ${INSTALL_DATA} ${WRKDIR}/catalog.etc.xml ${EGDIR}/catalog.etc.xml ${INSTALL_DATA} ${WRKDIR}/catalog.sgml ${PREFIX}/share/sgml/catalog ${INSTALL_DATA} ${WRKDIR}/catalog.xml ${PREFIX}/share/xml/catalog diff --git a/textproc/xmlcatmgr/PLIST b/textproc/xmlcatmgr/PLIST index fa89f6b8edd..32dd5de0913 100644 --- a/textproc/xmlcatmgr/PLIST +++ b/textproc/xmlcatmgr/PLIST @@ -1,7 +1,8 @@ -@comment $NetBSD: PLIST,v 1.2 2003/01/11 21:08:42 jmmv Exp $ +@comment $NetBSD: PLIST,v 1.3 2003/01/29 20:21:07 jmmv Exp $ bin/xmlcatmgr man/man1/xmlcatmgr.1 -share/examples/xmlcatmgr/catalog.global +share/examples/xmlcatmgr/catalog.etc.sgml +share/examples/xmlcatmgr/catalog.etc.xml share/sgml/catalog share/xml/catalog @dirrm share/xml diff --git a/textproc/xmlcatmgr/buildlink2.mk b/textproc/xmlcatmgr/buildlink2.mk index 799ac8ad6b1..7977f70b661 100644 --- a/textproc/xmlcatmgr/buildlink2.mk +++ b/textproc/xmlcatmgr/buildlink2.mk @@ -1,4 +1,4 @@ -# $NetBSD: buildlink2.mk,v 1.2 2003/01/11 21:08:42 jmmv Exp $ +# $NetBSD: buildlink2.mk,v 1.3 2003/01/29 20:21:07 jmmv Exp $ # # This Makefile fragment is included by packages that use xmlcatmgr. # @@ -9,7 +9,7 @@ XMLCATMGR_BUILDLINK2_MK= # defined BUILDLINK_PACKAGES+= xmlcatmgr -BUILDLINK_DEPENDS.xmlcatmgr?= xmlcatmgr>=0.1nb1 +BUILDLINK_DEPENDS.xmlcatmgr?= xmlcatmgr>=0.2 BUILDLINK_PKGSRCDIR.xmlcatmgr?= ../../textproc/xmlcatmgr EVAL_PREFIX+= BUILDLINK_PREFIX.xmlcatmgr=xmlcatmgr diff --git a/textproc/xmlcatmgr/catalogs.mk b/textproc/xmlcatmgr/catalogs.mk new file mode 100644 index 00000000000..76eeb7d46fe --- /dev/null +++ b/textproc/xmlcatmgr/catalogs.mk @@ -0,0 +1,81 @@ +# $NetBSD: catalogs.mk,v 1.1 2003/01/29 20:21:07 jmmv Exp $ +# +# This Makefile fragment is intended to be included by packages that install +# catalog files or DTDs. It takes care of registering them into the right +# database. +# +# The following variables are automatically defined for free use in packages: +# XMLCATMGR - Path to the xmlcatmgr program. +# SGML_DEFAULT_CATALOG - Path to the system-wide (tunable) SGML catalog. +# XML_DEFAULT_CATALOG - Path to the system-wide (tunable) XML catalog. +# +# Packages that recognize a system-wide catalog file should be configured +# to use SGML_DEFAULT_CATALOG or XML_DEFAULT_CATALOG, depending on the +# type of tool they are. +# +# The following variables can be defined by a package to automatically +# register catalog files: +# SGML_CATALOGS - List of SGML catalogs to register into share/sgml/catalog. +# XML_CATALOGS - List of XML catalogs to register into share/xml/catalog. +# +# If you need to call xmlcatmgr with very specific arguments, you can use +# the following variables. Add three words each time; they are fed to +# xmlcatmgr in groups of three when calling the `add' action. +# SGML_ENTRIES - Extra arguments used to add entries to the SGML catalog. +# XML_ENTRIES - Extra arguments used to add entries to the XML catalog. +# + +.if !defined(XMLCATMGR_CATALOGS_MK) +XMLCATMGR_CATALOGS_MK= # defined + +# Location of the xmlcatmgr binary program. +XMLCATMGR= ${BUILDLINK_PREFIX.xmlcatmgr}/bin/xmlcatmgr + +# System-wide configurable catalogs. +.if defined(PKG_SYSCONFDIR.xmlcatmgr) && !empty(PKG_SYSCONFDIR.xmlcatmgr) +SGML_DEFAULT_CATALOG= ${PKG_SYSCONFDIR.xmlcatmgr}/sgml/catalog +XML_DEFAULT_CATALOG= ${PKG_SYSCONFDIR.xmlcatmgr}/xml/catalog +.else +SGML_DEFAULT_CATALOG= ${PKG_SYSCONFBASE}/sgml/catalog +XML_DEFAULT_CATALOG= ${PKG_SYSCONFBASE}/xml/catalog +.endif + +# Catalogs to be registered. +SGML_CATALOGS?= +XML_CATALOGS?= + +# Single entries to be added to catalogs. +SGML_ENTRIES?= +XML_ENTRIES?= + +# Convert SGML_CATALOGS files into arguments for SGML_ENTRIES. +.if !empty(SGML_CATALOGS) +.for c in ${SGML_CATALOGS} +SGML_ENTRIES+= CATALOG ${PREFIX:=$c} -- +.endfor +.endif + +# Convert XML_CATALOGS files into arguments for XML_ENTRIES. +.if !empty(XML_CATALOGS) +.for c in ${XML_CATALOGS} +XML_ENTRIES+= nextCatalog ${PREFIX:=$c} -- +.endfor +.endif + +# If there are any entries to register, export required variables and +# use bsd.pkg.install.mk. +.if !empty(SGML_ENTRIES) || !empty(XML_ENTRIES) +FILES_SUBST+= XMLCATMGR="${XMLCATMGR}" +FILES_SUBST+= SGML_CATALOG="${BUILDLINK_PREFIX.xmlcatmgr}/share/sgml/catalog" +FILES_SUBST+= XML_CATALOG="${BUILDLINK_PREFIX.xmlcatmgr}/share/xml/catalog" +FILES_SUBST+= SGML_ENTRIES="${SGML_ENTRIES}" +FILES_SUBST+= XML_ENTRIES="${XML_ENTRIES}" +INSTALL_EXTRA_TMPL+= ../../textproc/xmlcatmgr/files/install.tmpl +DEINSTALL_EXTRA_TMPL+= ../../textproc/xmlcatmgr/files/deinstall.tmpl +USE_PKGINSTALL= YES +.endif # !empty(SGML_ENTRIES) || !empty(XML_ENTRIES) + +USE_BUILDLINK2= YES +.include "../../textproc/xmlcatmgr/buildlink2.mk" + +.endif # XMLCATMGR_CATALOGS_MK diff --git a/textproc/xmlcatmgr/distinfo b/textproc/xmlcatmgr/distinfo index 587e9797dbb..875035c7b72 100644 --- a/textproc/xmlcatmgr/distinfo +++ b/textproc/xmlcatmgr/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.1.1.1 2003/01/10 19:24:48 jmmv Exp $ +$NetBSD: distinfo,v 1.2 2003/01/29 20:21:07 jmmv Exp $ -SHA1 (xmlcatmgr-0.1.tar.gz) = 0b0e617642bd95f527ee2f70eb0521d661b27e62 -Size (xmlcatmgr-0.1.tar.gz) = 6757 bytes +SHA1 (xmlcatmgr-0.2.tar.gz) = d83cf8cf926d5f330525f118944d5502b84e8fd0 +Size (xmlcatmgr-0.2.tar.gz) = 8136 bytes diff --git a/textproc/xmlcatmgr/files/deinstall.tmpl b/textproc/xmlcatmgr/files/deinstall.tmpl new file mode 100644 index 00000000000..392e8a30a35 --- /dev/null +++ b/textproc/xmlcatmgr/files/deinstall.tmpl @@ -0,0 +1,33 @@ +# $NetBSD: deinstall.tmpl,v 1.1 2003/01/29 20:21:08 jmmv Exp $ +# +# Unregister SGML/XML catalog entries. +# + +XMLCATMGR='@XMLCATMGR@' +SGML_CATALOG='@SGML_CATALOG@' +XML_CATALOG='@XML_CATALOG@' +SGML_ENTRIES='@SGML_ENTRIES@' +XML_ENTRIES='@XML_ENTRIES@' + +case ${STAGE} in +DEINSTALL) + if [ -n "${SGML_ENTRIES}" ]; then + ${ECHO} "===> Unregistering SGML catalog entries for ${PKGBASE}" + set -- ${SGML_ENTRIES} + while [ $# -gt 0 ]; do + ${XMLCATMGR} -sc ${SGML_CATALOG} remove "$2" + shift; shift; shift + done + fi + if [ -n "${XML_ENTRIES}" ]; then + ${ECHO} "===> Unregistering XML catalog entries for ${PKGBASE}" + set -- ${XML_ENTRIES} + while [ $# -gt 0 ]; do + ${XMLCATMGR} -c ${XML_CATALOG} remove "$2" + shift; shift; shift + done + fi + ;; +*) + ;; +esac diff --git a/textproc/xmlcatmgr/files/install.tmpl b/textproc/xmlcatmgr/files/install.tmpl new file mode 100644 index 00000000000..448391362fe --- /dev/null +++ b/textproc/xmlcatmgr/files/install.tmpl @@ -0,0 +1,33 @@ +# $NetBSD: install.tmpl,v 1.1 2003/01/29 20:21:08 jmmv Exp $ +# +# Register SGML/XML catalog entries. +# + +XMLCATMGR='@XMLCATMGR@' +SGML_CATALOG='@SGML_CATALOG@' +XML_CATALOG='@XML_CATALOG@' +SGML_ENTRIES='@SGML_ENTRIES@' +XML_ENTRIES='@XML_ENTRIES@' + +case ${STAGE} in +POST-INSTALL) + if [ -n "${SGML_ENTRIES}" ]; then + ${ECHO} "===> Registering SGML catalog entries for ${PKGBASE}" + set -- ${SGML_ENTRIES} + while [ $# -gt 0 ]; do + ${XMLCATMGR} -sc ${SGML_CATALOG} add "$1" "$2" "$3" + shift; shift; shift + done + fi + if [ -n "${XML_ENTRIES}" ]; then + ${ECHO} "===> Registering XML catalog entries for ${PKGBASE}" + set -- ${XML_ENTRIES} + while [ $# -gt 0 ]; do + ${XMLCATMGR} -c ${XML_CATALOG} add "$1" "$2" "$3" + shift; shift; shift + done + fi + ;; +*) + ;; +esac |