diff options
author | marcus <marcus@FreeBSD.org> | 2003-01-20 00:30:26 +0000 |
---|---|---|
committer | marcus <marcus@FreeBSD.org> | 2003-01-20 00:30:26 +0000 |
commit | cfe4a6a5d5e6c968372f9cd7148fca7ad994e086 (patch) | |
tree | 9c12fa5b2c701a0ffa3dd0ad12d3f4448956978b /textproc | |
parent | f0908b27480f3bbb343be2c46cfdef9b69e3815a (diff) | |
download | FreeBSD-ports-cfe4a6a5d5e6c968372f9cd7148fca7ad994e086.zip FreeBSD-ports-cfe4a6a5d5e6c968372f9cd7148fca7ad994e086.tar.gz |
Fix two long-standing bugs where scrollkeeper would overwrite the
SGML catalogs in favor of its own XML format catalogs as well as prevent
scrollkeeper from making HTTP connections to obtain DTDs for OMF
validation.
PR: 39504 46179
Tested by: Stephen Hilton <nospam@hiltonbsd.com>
Mezz bsdforums.org <reigncracks@hotmail.com>
Diffstat (limited to 'textproc')
-rw-r--r-- | textproc/scrollkeeper/Makefile | 13 | ||||
-rw-r--r-- | textproc/scrollkeeper/files/patch-configure | 9 | ||||
-rw-r--r-- | textproc/scrollkeeper/files/patch-extract_dtds_Makefile.in | 2 | ||||
-rw-r--r-- | textproc/scrollkeeper/files/patch-libs_install.c | 15 | ||||
-rw-r--r-- | textproc/scrollkeeper/files/patch-libs_merge.c | 11 | ||||
-rw-r--r-- | textproc/scrollkeeper/files/patch-libs_uninstall.c | 11 | ||||
-rw-r--r-- | textproc/scrollkeeper/files/patch-libs_update-uri.c | 10 | ||||
-rw-r--r-- | textproc/scrollkeeper/files/patch-security | 23 | ||||
-rw-r--r-- | textproc/scrollkeeper/pkg-install | 49 | ||||
-rw-r--r-- | textproc/scrollkeeper/pkg-plist | 4 |
10 files changed, 93 insertions, 54 deletions
diff --git a/textproc/scrollkeeper/Makefile b/textproc/scrollkeeper/Makefile index 94bb972..0d25cbc 100644 --- a/textproc/scrollkeeper/Makefile +++ b/textproc/scrollkeeper/Makefile @@ -7,7 +7,7 @@ PORTNAME= scrollkeeper PORTVERSION= 0.3.11 -PORTREVISION= 5 +PORTREVISION= 6 PORTEPOCH= 1 CATEGORIES= textproc gnome MASTER_SITES= ${MASTER_SITE_GNOME} @@ -19,10 +19,10 @@ MAINTAINER= gnome@FreeBSD.org LIB_DEPENDS= xslt.1:${PORTSDIR}/textproc/libxslt \ intl.4:${PORTSDIR}/devel/gettext BUILD_DEPENDS= intltool-extract:${PORTSDIR}/textproc/intltool \ - ${LOCALBASE}/share/xml/docbook/${DOCBOOK_VERSION}/docbook.cat:${PORTSDIR}/textproc/docbook-xml \ + ${LOCALBASE}/share/sk/docbook/${DOCBOOK_VERSION}/docbook.cat:${PORTSDIR}/textproc/docbook-sk \ ${LOCALBASE}/share/xsl/docbook/xhtml/chunk.xsl:${PORTSDIR}/textproc/docbook-xsl RUN_DEPENDS= intltool-extract:${PORTSDIR}/textproc/intltool \ - ${LOCALBASE}/share/xml/docbook/${DOCBOOK_VERSION}/docbook.cat:${PORTSDIR}/textproc/docbook-xml \ + ${LOCALBASE}/share/sk/docbook/${DOCBOOK_VERSION}/docbook.cat:${PORTSDIR}/textproc/docbook-sk \ ${LOCALBASE}/share/xsl/docbook/xhtml/chunk.xsl:${PORTSDIR}/textproc/docbook-xsl # Don't use USE_X_PREFIX - the port doesn't really require X11 to run. @@ -31,7 +31,7 @@ RUN_DEPENDS= intltool-extract:${PORTSDIR}/textproc/intltool \ # put in the right place. PREFIX?= ${X11BASE} -DOCBOOK_VERSION= 4.2 +DOCBOOK_VERSION= 4.1.2 USE_BZIP2= yes USE_GMAKE= yes @@ -72,7 +72,10 @@ post-patch: @${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' \ ${WRKSRC}/cl/src/update.c @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ - ${WRKSRC}/extract/dtds/Makefile.in + ${WRKSRC}/extract/dtds/Makefile.in \ + ${WRKSRC}/libs/Makefile.in + +pre-configure: .if !defined(BATCH) && !defined(PACKAGE_BUILDING) @${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL .endif diff --git a/textproc/scrollkeeper/files/patch-configure b/textproc/scrollkeeper/files/patch-configure index 7def51b..a15f7c6 100644 --- a/textproc/scrollkeeper/files/patch-configure +++ b/textproc/scrollkeeper/files/patch-configure @@ -1,5 +1,5 @@ --- configure.orig Wed Jul 24 22:26:07 2002 -+++ configure Wed Oct 9 15:45:48 2002 ++++ configure Thu Jan 16 02:24:32 2003 @@ -5299,6 +5299,7 @@ # This can be used to rebuild libtool when needed @@ -17,14 +17,13 @@ - if xmlcatalog /etc/xml/catalog "-//OASIS//DTD DocBook XML V4.1.2//EN" | grep "No entry" >/dev/null ; then + echo $ac_n "checking for docbook-dtd42-xml""... $ac_c" 1>&6 +echo "configure:6282: checking for docbook-dtd42-xml" >&5 -+ if test ! -f $LOCALBASE/share/xml/docbook/catalog ; then ++ if test ! -f $LOCALBASE/share/sk/docbook/catalog ; then echo "* ERROR * " echo " " -- echo "Couldn't find the DocBook XML V4.1.2 DTD. Please make sure that you have the docbook-dtd412-xml package installed. If it is installed, the package probably did not register the DTD in the catalog properly. Consult http://scrollkeeper.sourceforge.net/docbook.shtml for more information." -+ echo "Couldn't find the DocBook XML V4.2 DTD. Please make sure that you have the docbook-dtd412-xml package installed. If it is installed, the package probably did not register the DTD in the catalog properly. Consult http://scrollkeeper.sourceforge.net/docbook.shtml for more information." + echo "Couldn't find the DocBook XML V4.1.2 DTD. Please make sure that you have the docbook-dtd412-xml package installed. If it is installed, the package probably did not register the DTD in the catalog properly. Consult http://scrollkeeper.sourceforge.net/docbook.shtml for more information." echo " " - { echo "configure: error: DocBook XML V4.1.2 DTD not present in /etc/xml/catalog. Make sure docbook-dtd412-xml is installed and registers DTD in catalog." 1>&2; exit 1; } -+ { echo "configure: error: DocBook XML V4.2 DTD not present in $LOCALBASE/share/xml. Make sure docbook-dtd412-xml is installed and registers DTD in catalog." 1>&2; exit 1; } ++ { echo "configure: error: DocBook XML V4.1.2 DTD not present in $LOCALBASE/share/sk. Make sure docbook-dtd412-xml is installed and registers DTD in catalog." 1>&2; exit 1; } fi echo "$ac_t""found" 1>&6 ;; diff --git a/textproc/scrollkeeper/files/patch-extract_dtds_Makefile.in b/textproc/scrollkeeper/files/patch-extract_dtds_Makefile.in index fb2f768..a5d4412 100644 --- a/textproc/scrollkeeper/files/patch-extract_dtds_Makefile.in +++ b/textproc/scrollkeeper/files/patch-extract_dtds_Makefile.in @@ -5,7 +5,7 @@ XSLT_LIBS = @XSLT_LIBS@ -CATALOG = $(sysconfdir)/xml/catalog -+CATALOG = %%LOCALBASE%%/share/xml/catalog ++CATALOG = %%LOCALBASE%%/share/sk/catalog dtdsdir = $(datadir)/xml/scrollkeeper/dtds dtds_HEADERS = scrollkeeper-omf.dtd scrollkeeper-cl.dtd mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs diff --git a/textproc/scrollkeeper/files/patch-libs_install.c b/textproc/scrollkeeper/files/patch-libs_install.c new file mode 100644 index 0000000..30f8737 --- /dev/null +++ b/textproc/scrollkeeper/files/patch-libs_install.c @@ -0,0 +1,15 @@ +--- libs/install.c.orig Wed Jan 15 23:27:11 2003 ++++ libs/install.c Wed Jan 15 23:26:31 2003 +@@ -165,6 +165,12 @@ + char *toc_stylesheet_name, *index_name, *index_stylesheet_name, *uid; + + /* ++ * Set up a custom catalog path. ++ */ ++ ++ setenv("XML_CATALOG_FILES", SK_XML_CATALOGS, 1); ++ ++ /* + * Read in OMF file + */ + omf_doc = xmlParseFile(omf_name); diff --git a/textproc/scrollkeeper/files/patch-libs_merge.c b/textproc/scrollkeeper/files/patch-libs_merge.c new file mode 100644 index 0000000..e5b559c --- /dev/null +++ b/textproc/scrollkeeper/files/patch-libs_merge.c @@ -0,0 +1,11 @@ +--- libs/merge.c.orig Thu Jan 16 01:40:06 2003 ++++ libs/merge.c Thu Jan 16 01:40:34 2003 +@@ -192,6 +192,8 @@ + char **lang_tab, *path; + int i, lang_num, count; + xmlDocPtr merged_tree, *tree_tab; ++ ++ setenv("XML_CATALOG_FILES", SK_XML_CATALOGS, 1); + + lang_tab = sk_get_language_list(); + diff --git a/textproc/scrollkeeper/files/patch-libs_uninstall.c b/textproc/scrollkeeper/files/patch-libs_uninstall.c new file mode 100644 index 0000000..f3439b3 --- /dev/null +++ b/textproc/scrollkeeper/files/patch-libs_uninstall.c @@ -0,0 +1,11 @@ +--- libs/uninstall.c.orig Wed Jul 24 22:25:34 2002 ++++ libs/uninstall.c Thu Jan 16 01:50:53 2003 +@@ -70,6 +70,8 @@ + int start, end; + char cl_filename[PATHLEN], cl_ext_filename[PATHLEN]; + xmlDocPtr cl_doc, cl_ext_doc; ++ ++ setenv("XML_CATALOG_FILES", SK_XML_CATALOGS, 1); + + if (id_tab == NULL) + return; diff --git a/textproc/scrollkeeper/files/patch-libs_update-uri.c b/textproc/scrollkeeper/files/patch-libs_update-uri.c new file mode 100644 index 0000000..435f61e --- /dev/null +++ b/textproc/scrollkeeper/files/patch-libs_update-uri.c @@ -0,0 +1,10 @@ +--- libs/update-url.c.orig Thu Jan 16 01:41:36 2003 ++++ libs/update-url.c Thu Jan 16 01:41:40 2003 +@@ -33,6 +33,7 @@ + xmlNodePtr node; + xmlDocPtr omf_doc; + ++ setenv("XML_CATALOG_FILES", SK_XML_CATALOGS, 1); + + /* Parse file and make sure it is well-formed */ + omf_doc = xmlParseFile(omf_name); diff --git a/textproc/scrollkeeper/files/patch-security b/textproc/scrollkeeper/files/patch-security index 8ca68bd..2523ed5 100644 --- a/textproc/scrollkeeper/files/patch-security +++ b/textproc/scrollkeeper/files/patch-security @@ -38,9 +38,9 @@ into the next release. return filename; } ---- libs/extract.c 2002/03/16 19:08:48 1.12 -+++ libs/extract.c 2002/09/22 07:14:01 1.14 -@@ -43,16 +43,16 @@ +--- libs/extract.c.orig Wed Jul 24 22:25:34 2002 ++++ libs/extract.c Thu Jan 16 01:39:54 2003 +@@ -43,16 +43,18 @@ int i; int returnval = 1; FILE *fid; @@ -56,10 +56,12 @@ into the next release. + int temp1_fd, temp2_fd, errors_fd; #endif - struct stat buf; ++ ++ setenv("XML_CATALOG_FILES", SK_XML_CATALOGS, 1); if (input_file == NULL || stylesheets == NULL || -@@ -69,11 +69,23 @@ +@@ -69,11 +71,23 @@ #ifdef SOLARIS doc = docbParseFile(input_file, NULL); #else @@ -88,7 +90,7 @@ into the next release. snprintf(command, 1024, "sgml2xml -xlower -f%s %s > %s", errors, input_file, temp1); system(command); -@@ -83,6 +95,7 @@ +@@ -83,6 +97,7 @@ fid = fopen(input_file, "r"); if (fid == NULL) { sk_message(outputprefs, SKOUT_DEFAULT, SKOUT_QUIET, "(apply_stylesheets)", _("Cannot read file: %s : %s\n"),input_file, strerror(errno)); @@ -96,7 +98,7 @@ into the next release. return 0; } -@@ -106,14 +119,25 @@ +@@ -106,14 +121,25 @@ } if (doctype == NULL) { @@ -125,15 +127,16 @@ into the next release. unlink(temp2); return 0; } ---- libs/Makefile.in.orig Wed Oct 9 12:36:43 2002 -+++ libs/Makefile.in Wed Oct 9 12:37:05 2002 -@@ -130,7 +130,8 @@ +--- libs/Makefile.in.orig Thu Jan 16 01:38:23 2003 ++++ libs/Makefile.in Thu Jan 16 01:47:46 2003 +@@ -130,7 +130,9 @@ INCLUDES = \ $(XML_CFLAGS) \ $(XSLT_CFLAGS) \ - $(HOST_TYPE) + $(HOST_TYPE) \ -+ -DSCROLLKEEPER_STATEDIR=\""$(localstatedir)"\" ++ -DSCROLLKEEPER_STATEDIR=\""$(localstatedir)"\" \ ++ -DSK_XML_CATALOGS=\""%%LOCALBASE%%/share/sk/catalog %%LOCALBASE%%/share/sk/docbook/catalog"\" libscrollkeeper_la_SOURCES = \ diff --git a/textproc/scrollkeeper/pkg-install b/textproc/scrollkeeper/pkg-install index add95fa..51f59fc 100644 --- a/textproc/scrollkeeper/pkg-install +++ b/textproc/scrollkeeper/pkg-install @@ -8,21 +8,10 @@ PATH=${PATH}:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin export PATH PREFIX=`xml2-config --prefix` -ROOTCATALOG=${PREFIX}/share/xml/catalog -CATALOG=${PREFIX}/share/xml/docbook/catalog +ROOTCATALOG=${PREFIX}/share/sk/catalog +CATALOG=${PREFIX}/share/sk/docbook/catalog if [ "$2" = "PRE-INSTALL" ]; then -if [ -r $ROOTCATALOG ] ; then - echo backing up XML Catalog root $ROOTCATALOG - cp -f $ROOTCATALOG ${ROOTCATALOG}.bak - rm -f $ROOTCATALOG -fi - -if [ -r $CATALOG ] ; then - echo backing up XML Catalog $CATALOG - cp -f $CATALOG ${CATALOG}.bak - rm -f $CATALOG -fi # # create the catalogs root and docbook specific @@ -53,52 +42,52 @@ if [ "$found" = "" ] ; then exit 1 fi -dtd421="" +dtd412="" for dtd in $found; do - check=`grep '//OASIS//DTD DocBook XML V4.2//EN' $dtd` + check=`grep '//OASIS//DTD DocBook XML V4.1.2//EN' $dtd` if [ "$check" != "" ] ; then - dtd421=$dtd + dtd412=$dtd break fi done -if [ "$dtd421" = "" ] ; then - echo could not locate version 4.2 of DocBook XML +if [ "$dtd412" = "" ] ; then + echo could not locate version 4.1.2 of DocBook XML exit 1 fi -docbookdir=`dirname $dtd421` -echo Found DocBook XML 4.2 DTD in $docbookdir +docbookdir=`dirname $dtd412` +echo Found DocBook XML 4.1.2 DTD in $docbookdir xmlcatalog --noout --add "public" \ - "-//OASIS//ELEMENTS DocBook XML Information Pool V4.2//EN" \ + "-//OASIS//ELEMENTS DocBook XML Information Pool V4.1.2//EN" \ "file://$docbookdir/dbpoolx.mod" $CATALOG xmlcatalog --noout --add "public" \ - "-//OASIS//DTD DocBook XML V4.2//EN" \ + "-//OASIS//DTD DocBook XML V4.1.2//EN" \ "file://$docbookdir/docbookx.dtd" $CATALOG xmlcatalog --noout --add "public" \ - "-//OASIS//ENTITIES DocBook XML Character Entities V4.2//EN" \ + "-//OASIS//ENTITIES DocBook XML Character Entities V4.1.2//EN" \ "file://$docbookdir/dbcentx.mod" $CATALOG xmlcatalog --noout --add "public" \ - "-//OASIS//ENTITIES DocBook XML Notations V4.2//EN" \ + "-//OASIS//ENTITIES DocBook XML Notations V4.1.2//EN" \ "file://$docbookdir/dbnotnx.mod" $CATALOG xmlcatalog --noout --add "public" \ - "-//OASIS//ENTITIES DocBook XML Additional General Entities V4.2//EN" \ + "-//OASIS//ENTITIES DocBook XML Additional General Entities V4.1.2//EN" \ "file://$docbookdir/dbgenent.mod" $CATALOG xmlcatalog --noout --add "public" \ - "-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.2//EN" \ + "-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.1.2//EN" \ "file://$docbookdir/dbhierx.mod" $CATALOG xmlcatalog --noout --add "public" \ "-//OASIS//DTD XML Exchange Table Model 19990315//EN" \ "file://$docbookdir/soextblx.dtd" $CATALOG xmlcatalog --noout --add "public" \ - "-//OASIS//DTD DocBook XML CALS Table Model V4.2//EN" \ + "-//OASIS//DTD DocBook XML CALS Table Model V4.1.2//EN" \ "file://$docbookdir/calstblx.dtd" $CATALOG xmlcatalog --noout --add "rewriteSystem" \ - "http://www.oasis-open.org/docbook/xml/4.2" \ + "http://www.oasis-open.org/docbook/xml/4.1.2" \ "file://$docbookdir" $CATALOG xmlcatalog --noout --add "rewriteURI" \ - "http://www.oasis-open.org/docbook/xml/4.2" \ + "http://www.oasis-open.org/docbook/xml/4.1.2" \ "file://$docbookdir" $CATALOG xmlcatalog --noout --add "delegatePublic" \ @@ -255,7 +244,7 @@ if [ "$2" = "POST-INSTALL" ]; then xmlcatalog --noout --add "public" \ "-//OMF//DTD Scrollkeeper OMF Variant V1.0//EN" \ "${SKPREFIX}/share/gnome/xml/scrollkeeper/dtds/scrollkeeper-omf.dtd" \ - ${PREFIX}/share/xml/catalog + ${ROOTCATALOG} scrollkeeper-rebuilddb -q -p /var/db/scrollkeeper || /usr/bin/true fi diff --git a/textproc/scrollkeeper/pkg-plist b/textproc/scrollkeeper/pkg-plist index 0249e65..9e38818 100644 --- a/textproc/scrollkeeper/pkg-plist +++ b/textproc/scrollkeeper/pkg-plist @@ -104,10 +104,8 @@ share/locale/zh_TW/LC_MESSAGES/scrollkeeper.mo @dirrm share/gnome/scrollkeeper/Templates @dirrm share/gnome/scrollkeeper @dirrm share/gnome/omf/scrollkeeper -@unexec xmlcatalog --noout --del "%D/share/gnome/xml/scrollkeeper/dtds/scrollkeeper-omf.dtd" %%LOCALBASE%%/share/xml/catalog 2>/dev/null || true -@unexec cp -f %%LOCALBASE%%/share/xml/catalog.bak %%LOCALBASE%%/share/xml/catalog 2>/dev/null || true -@unexec cp -f %%LOCALBASE%%/share/xml/docbook/catalog.bak %%LOCALBASE%%/share/xml/docbook/catalog 2>/dev/null || true @unexec rm -f /var/log/scrollkeeper.log 2>/dev/null || true @unexec rm -rf /var/db/scrollkeeper 2>/dev/null || true +@unexec echo "If you are permantly removing this port, you should do a ``rm -rf %%LOCALBASE%%/share/sk/catalog %%LOCALBASE%%/share/sk/docbook/catalog`` to remove the XML catalogs that are left." | fmt @exec touch -f /var/log/scrollkeeper.log @exec mkdir -p /var/db/scrollkeeper |