Date: Tue, 18 Jun 2013 23:13:47 GMT From: John Marino <draco@marino.st> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/179696: [PATCH] textproc/docbook-xsl: Fix xmlcatmgr errors caused by duplicate installation Message-ID: <201306182313.r5INDlQ3045948@oldred.freebsd.org> Resent-Message-ID: <201306182320.r5INK0RX040960@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 179696 >Category: ports >Synopsis: [PATCH] textproc/docbook-xsl: Fix xmlcatmgr errors caused by duplicate installation >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Jun 18 23:20:00 UTC 2013 >Closed-Date: >Last-Modified: >Originator: John Marino >Release: >Organization: >Environment: >Description: each time docbook-xsl is installed from a package, errors such as these appear: xmlcatmgr: entry already exists for `http://docbook.sourceforge.net/release/xsl/1.36' of type `rewriteSystem' xmlcatmgr: entry already exists for `http://docbook.sourceforge.net/release/xsl/1.36' of type `rewriteURI' xmlcatmgr: entry already exists for `http://docbook.sourceforge.net/release/xsl/1.37' of type `rewriteSystem' xmlcatmgr: entry already exists for `http://docbook.sourceforge.net/release/xsl/1.37' of type `rewriteURI' xmlcatmgr: entry already exists for `http://docbook.sourceforge.net/release/xsl/1.38' of type `rewriteSystem' xmlcatmgr: entry already exists for `http://docbook.sourceforge.net/release/xsl/1.38' of type `rewriteURI' The reason for this is that catalog.xml is created during the post-install target, then it's packaged, and when the package is installed, the post-install script is run again. The xmlcatmgr code is run for a second time so ever command fails since the entry already exists. The attached patch will fix this. The catalog.xml creation code is moved to the Makefile where it's run during the install phase. It's created in the $WRKSRC directory and then installed with the other files of the package list. This allows the docbook-xml package to install without any errors. >How-To-Repeat: >Fix: Patch attached with submission follows: --- Makefile.orig 2013-06-18 22:45:49.000000000 +0000 +++ Makefile @@ -27,6 +27,7 @@ SUB_LIST+= INSTDIR="${INSTDIR}" \ CATALOG_PORTS="${LOCALBASE}/share/xml/catalog.ports" XMLCATMGR= ${LOCALBASE}/bin/xmlcatmgr +CATALOG_XSL= ${WRKSRC}/catalog MODULES= common fo html images lib manpages params xhtml @@ -52,6 +53,14 @@ TOOLS_DESC= Tools WEBSITE_DESC= Website modules XHTML11_DESC= XHTML 1.1 modules +DXVERSIONS= 1.36 1.37 1.38 1.39 1.40 1.41 1.42 1.43 1.44 1.45 1.46 1.47 \ + 1.48 1.49 1.50.0 1.51.0 1.51.1 1.52.0 1.52.1 1.52.2 1.53.0 \ + 1.54.0 1.54.1 1.55.0 1.56.0 1.56.1 1.57.0 1.58.0 1.58.1 \ + 1.59.0 1.59.1 1.59.2 1.60.0 1.60.1 1.61.0 1.61.1 1.61.2 \ + 1.61.3 1.62.0 1.62.1 1.62.2 1.62.3 1.62.4 1.63.0 1.64.0 \ + 1.64.1 1.65.0 1.65.1 1.66.0 1.66.1 1.67.0 1.67.2 1.68.0 \ + 1.68.1 1.69.0 1.69.1 1.70.0 1.70.1 1.71.0 1.71.1 current + .include <bsd.port.options.mk> .if ${PORT_OPTIONS:MDOCS} @@ -169,6 +178,15 @@ do-install: ${INSTALL_DATA} $${i} ${PREFIX}/${INSTDIR}/${m}; \ done .endfor + ${XMLCATMGR} -c ${CATALOG_XSL} create +.for dxversion in ${DXVERSIONS} + ${XMLCATMGR} -c "${CATALOG_XSL}" add rewriteSystem \ + http://docbook.sourceforge.net/release/xsl/${dxversion} \ + "file://${PREFIX}/${INSTDIR}" + ${XMLCATMGR} -c "${CATALOG_XSL}" add rewriteURI \ + http://docbook.sourceforge.net/release/xsl/${dxversion} \ + "file://${PREFIX}/${INSTDIR}" +.endfor files=$$(${FIND} ${WRKSRC} -type f -depth 1); \ for i in $${files}; do \ ${INSTALL_DATA} $${i} ${PREFIX}/${INSTDIR}; \ --- files/pkg-install.in.orig 2013-06-18 22:46:32.000000000 +0000 +++ files/pkg-install.in @@ -17,22 +17,6 @@ if [ "$2" != "POST-INSTALL" ]; then exit 0 fi -VERSIONS='1.36 1.37 1.38 1.39 1.40 1.41 1.42 1.43 1.44 1.45 1.46 1.47 1.48 1.49 1.50.0 1.51.0 1.51.1 1.52.0 1.52.1 1.52.2 1.53.0 1.54.0 1.54.1 1.55.0 1.56.0 1.56.1 1.57.0 1.58.0 1.58.1 1.59.0 1.59.1 1.59.2 1.60.0 1.60.1 1.61.0 1.61.1 1.61.2 1.61.3 1.62.0 1.62.1 1.62.2 1.62.3 1.62.4 1.63.0 1.64.0 1.64.1 1.65.0 1.65.1 1.66.0 1.66.1 1.67.0 1.67.2 1.68.0 1.68.1 1.69.0 1.69.1 1.70.0 1.70.1 1.71.0 1.71.1 current' - -if [ ! -f ${CATALOG_XSL} ]; then - %%XMLCATMGR%% -c "${CATALOG_XSL}" create -fi - -for version in ${VERSIONS} -do - %%XMLCATMGR%% -c "${CATALOG_XSL}" add rewriteSystem \ - http://docbook.sourceforge.net/release/xsl/$version \ - "file://${XSL_DIR}" - %%XMLCATMGR%% -c "${CATALOG_XSL}" add rewriteURI \ - http://docbook.sourceforge.net/release/xsl/$version \ - "file://${XSL_DIR}" -done - %%XMLCATMGR%% -c %%CATALOG_PORTS%% add delegateSystem \ http://docbook.sourceforge.net/release/xsl/ \ "file://${CATALOG_XSL}" >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201306182313.r5INDlQ3045948>