From: Keith Fahlgren Date: Fri, 20 Feb 2009 13:57:14 +0000 (+0000) Subject: The DocBook 1.74.* had problems with different XSLT processors. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9449fe4013af2dce24799f9788d4ab0e8139499c;p=docbook-dsssl The DocBook 1.74.* had problems with different XSLT processors. Add instructions to release instructions and make Makefiles more flexible to allow 'make check' to *actually* be run with something other than xsltproc. Thanks to Sorin Ristache for reporting this issue. Because of problems with the 1.74.* releases, it is now recommended that "make check" be run multiple times with different XSLT processors. One recommended way to invoke "make check" is the following: rm -f DOCBOOK-BUILD.LOG && \ . ~/docbk.sh && \ make check 2>&1 \ XSLTENGINE=xsltproc \ | tee DOCBOOK-BUILD.LOG && \ $DOCBOOK_SVN/buildtools/build-check DOCBOOK-BUILD.LOG After running with "xsltproc", you should run it again with "saxon": rm -f DOCBOOK-BUILD.LOG && \ . ~/docbk.sh && \ make check 2>&1 \ XSLTENGINE=saxon \ | tee DOCBOOK-BUILD.LOG && \ $DOCBOOK_SVN/buildtools/build-check DOCBOOK-BUILD.LOG --- diff --git a/xsl/Makefile.tests b/xsl/Makefile.tests index 4afdbf7e6..b4b318290 100644 --- a/xsl/Makefile.tests +++ b/xsl/Makefile.tests @@ -45,39 +45,39 @@ smoketest-make-tmp-dir: smoketest-normal: for stylesheet in $(NORMAL_STYLES); do \ - echo "$(XSLTPROC) $(XSLTPROC_FLAGS) $$stylesheet $(TESTFILE) > /dev/null"; \ - $(XSLTPROC) $(XSLTPROC_FLAGS) $$stylesheet $(TESTFILE) > /dev/null; \ - echo "$(XSLTPROC) $(XSLTPROC_FLAGS) $$stylesheet $(TESTFILE-NS) > /dev/null"; \ - $(XSLTPROC) $(XSLTPROC_FLAGS) $$stylesheet $(TESTFILE-NS) > /dev/null; \ + echo "$(XSLT) $(TESTFILE) $$stylesheet > /dev/null"; \ + $(XSLT) $(TESTFILE) $$stylesheet > /dev/null; \ + echo "$(XSLT) $(TESTFILE-NS) $$stylesheet > /dev/null"; \ + $(XSLT) $(TESTFILE-NS) $$stylesheet > /dev/null; \ done smoketest-normal-profile: for stylesheet in $(NORMAL_PROFILE_STYLES); do \ - echo "$(XSLTPROC) $(XSLTPROC_FLAGS) $$stylesheet $(TESTFILE) > /dev/null"; \ - $(XSLTPROC) $(XSLTPROC_FLAGS) $$stylesheet $(TESTFILE) > /dev/null; \ - echo "$(XSLTPROC) $(XSLTPROC_FLAGS) $$stylesheet $(TESTFILE-NS) > /dev/null"; \ - $(XSLTPROC) $(XSLTPROC_FLAGS) $$stylesheet $(TESTFILE-NS) > /dev/null; \ + echo "$(XSLT) $(TESTFILE) $$stylesheet > /dev/null"; \ + $(XSLT) $(TESTFILE) $$stylesheet > /dev/null; \ + echo "$(XSLT) $(TESTFILE-NS) $$stylesheet > /dev/null"; \ + $(XSLT) $(TESTFILE-NS) $$stylesheet > /dev/null; \ done smoketest-chunk: for stylesheet in $(MULTIFILE_STYLES) ; do \ - $(XSLTPROC) $(XSLTPROC_FLAGS) --stringparam base.dir $(TMP_OUTPUT_DIR) --param manifest.in.base.dir 1 $$stylesheet $(TESTFILE); \ - $(XSLTPROC) $(XSLTPROC_FLAGS) --stringparam base.dir $(TMP_OUTPUT_DIR) --param manifest.in.base.dir 1 $$stylesheet $(TESTFILE-NS); \ + $(XSLT) $(TESTFILE) $$stylesheet --stringparam base.dir $(TMP_OUTPUT_DIR) --param manifest.in.base.dir 1; \ + $(XSLT) $(TESTFILE-NS) $$stylesheet --stringparam base.dir $(TMP_OUTPUT_DIR) --param manifest.in.base.dir 1; \ done; smoketest-chunk-profile: for stylesheet in $(MULTIFILE_PROFILE_STYLES) ; do \ - $(XSLTPROC) $(XSLTPROC_FLAGS) --stringparam base.dir $(TMP_OUTPUT_DIR) --param manifest.in.base.dir 1 $$stylesheet $(TESTFILE); \ - $(XSLTPROC) $(XSLTPROC_FLAGS) --stringparam base.dir $(TMP_OUTPUT_DIR) --param manifest.in.base.dir 1 $$stylesheet $(TESTFILE-NS); \ + $(XSLT) $(TESTFILE) $$stylesheet --stringparam base.dir $(TMP_OUTPUT_DIR) --param manifest.in.base.dir 1; \ + $(XSLT) $(TESTFILE-NS) $$stylesheet --stringparam base.dir $(TMP_OUTPUT_DIR) --param manifest.in.base.dir 1; \ done; smoketest-man: - $(XSLTPROC) $(XSLTPROC_FLAGS) --stringparam man.output.base.dir $(TMP_OUTPUT_DIR) --param man.output.in.separate.dir 1 $(MAN_STYLE) $(TESTFILE); \ - $(XSLTPROC) $(XSLTPROC_FLAGS) --stringparam man.output.base.dir $(TMP_OUTPUT_DIR) --param man.output.in.separate.dir 1 $(MAN_STYLE) $(TESTFILE-NS); \ + $(XSLT) $(TESTFILE) $(MAN_STYLE) --stringparam man.output.base.dir $(TMP_OUTPUT_DIR) --param man.output.in.separate.dir 1 \ + $(XSLT) $(TESTFILE-NS) $(MAN_STYLE) --stringparam man.output.base.dir $(TMP_OUTPUT_DIR) --param man.output.in.separate.dir 1 \ smoketest-man-profile: - $(XSLTPROC) $(XSLTPROC_FLAGS) --stringparam man.output.base.dir $(TMP_OUTPUT_DIR) --param man.output.in.separate.dir 1 $(MAN_PROFILE_STYLE) $(TESTFILE); \ - $(XSLTPROC) $(XSLTPROC_FLAGS) --stringparam man.output.base.dir $(TMP_OUTPUT_DIR) --param man.output.in.separate.dir 1 $(MAN_PROFILE_STYLE) $(TESTFILE-NS); \ + $(XSLT) $(TESTFILE) $(MAN_PROFILE_STYLE) --stringparam man.output.base.dir $(TMP_OUTPUT_DIR) --param man.output.in.separate.dir 1 \ + $(XSLT) $(TESTFILE-NS) $(MAN_PROFILE_STYLE) --stringparam man.output.base.dir $(TMP_OUTPUT_DIR) --param man.output.in.separate.dir 1 \ smoketest-clean: $(RM) -r $(TMP_OUTPUT_DIR) diff --git a/xsl/README.BUILD b/xsl/README.BUILD index 7424d00c1..f1a013f08 100644 --- a/xsl/README.BUILD +++ b/xsl/README.BUILD @@ -247,6 +247,10 @@ and all other Parts following it). the driver stylesheets for each output format (e.g., html/docbook.xsl, fo/docbook.xsl, etc.). + Because of problems with the 1.74.* releases, it is now + recommended that "make check" be run multiple times with + different XSLT processors. + One recommended way to invoke "make check" is the following: rm -f DOCBOOK-BUILD.LOG && \ @@ -256,6 +260,15 @@ and all other Parts following it). | tee DOCBOOK-BUILD.LOG && \ $DOCBOOK_SVN/buildtools/build-check DOCBOOK-BUILD.LOG + After running with "xsltproc", you should run it again with + "saxon": + rm -f DOCBOOK-BUILD.LOG && \ + . ~/docbk.sh && \ + make check 2>&1 \ + XSLTENGINE=saxon \ + | tee DOCBOOK-BUILD.LOG && \ + $DOCBOOK_SVN/buildtools/build-check DOCBOOK-BUILD.LOG + 4. Fix any obvious problems. If build-check and/or "make check" report any problems, fix them. Then repeat Step 1 until you don't see any more problems. @@ -264,7 +277,7 @@ and all other Parts following it). Once you have any obvious problems fixed (that is, the kind that build-check and "make check" can catch, you should do further testing of the changes (if any) that you have made - to the stylesheet code. Try to test with a variety of test + m to the stylesheet code. Try to test with a variety of test files, not just with DocBook XML source files you've created yourself. Consider using the files in the "testdocs" module (see step 1 of the "Build Setup" section above).