From owner-freebsd-doc@FreeBSD.ORG Sun Dec 11 18:30:14 2005 Return-Path: X-Original-To: freebsd-doc@hub.freebsd.org Delivered-To: freebsd-doc@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EBC7616A420 for ; Sun, 11 Dec 2005 18:30:14 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5A26B43D6E for ; Sun, 11 Dec 2005 18:30:11 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id jBBIUB5A093921 for ; Sun, 11 Dec 2005 18:30:11 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id jBBIUB9Y093920; Sun, 11 Dec 2005 18:30:11 GMT (envelope-from gnats) Resent-Date: Sun, 11 Dec 2005 18:30:11 GMT Resent-Message-Id: <200512111830.jBBIUB9Y093920@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-doc@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Intron Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AE19816A41F for ; Sun, 11 Dec 2005 18:29:00 +0000 (GMT) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [216.136.204.117]) by mx1.FreeBSD.org (Postfix) with ESMTP id 649DD43D67 for ; Sun, 11 Dec 2005 18:29:00 +0000 (GMT) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.13.1/8.13.1) with ESMTP id jBBIT0jF066706 for ; Sun, 11 Dec 2005 18:29:00 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.13.1/8.13.1/Submit) id jBBIT0La066705; Sun, 11 Dec 2005 18:29:00 GMT (envelope-from nobody) Message-Id: <200512111829.jBBIT0La066705@www.freebsd.org> Date: Sun, 11 Dec 2005 18:29:00 GMT From: Intron To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-2.3 Cc: Subject: docs/90255: Conflict about "index.sgml" and bugs on ${DOC}.rtf X-BeenThere: freebsd-doc@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Documentation project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Dec 2005 18:30:15 -0000 >Number: 90255 >Category: docs >Synopsis: Conflict about "index.sgml" and bugs on ${DOC}.rtf >Confidential: no >Severity: serious >Priority: high >Responsible: freebsd-doc >State: open >Quarter: >Keywords: >Date-Required: >Class: doc-bug >Submitter-Id: current-users >Arrival-Date: Sun Dec 11 18:30:10 GMT 2005 >Closed-Date: >Last-Modified: >Originator: Intron >Release: 7.0-CURRENT >Organization: Tsinghua University >Environment: FreeBSD celeron 7.0-CURRENT FreeBSD 7.0-CURRENT #0: Thu Nov 10 18:26:33 CST 2005 >Description: Conflict about "index.sgml" may cause index unable to be correctly built. Links in index in single HTML are pointed to HTML-split files *.html. You can have a try: ftp://ftp.freebsd.org/pub/FreeBSD/doc/en_US.ISO8859-1/books/arch-handbook/book.html.tar.bz2 And I cannot build ${DOC}.rtf alone. What's in my patch: 1.Regard "index.sgml" as temporary file, no longer as what ${DOC}.* depend on. And now generate "index.sgml" when updating targets ${DOC}.* . This measure solves the conflict that all targets depend on deferent but commonly-named "index.sgml"s. Related targets: index.html HTML.manifest ${DOC}.html ${DOC}.html-text ${DOC}.rtf ${DOC}.tex ${DOC}.tex-pdf 2.Let ${DOC}.rtf depends on ${PRINT_INDEX} and ${LOCAL_IMAGES_PNG} . Otherwise, it will depend on ${DOC}.html to generate ${PRINT_INDEX} and ${LOCAL_IMAGES_PNG}. 3.Delete target ${INDEX_SGML}, which was used to initialize index.sgml. 4.Modification on targets ${HTML_INDEX} and ${HTML_SPLIT_INDEX}: a. Let them depend on ${SRCS} ${LOCAL_IMAGES_TXT} . b. Initialize index.sgml by themselves. c. No longer generate index.sgml here, which is generated by ${DOC}.* . >How-To-Repeat: >Fix: --- /root/doc.docbook.mk.orig Sun Dec 11 07:55:11 2005 +++ doc.docbook.mk Sun Dec 11 21:13:19 2005 @@ -427,20 +427,24 @@ .endif # # Index generation # -CLEANFILES+= ${INDEX_SGML} .if defined(GEN_INDEX) && defined(HAS_INDEX) JADEFLAGS+= -i chap.index HTML_SPLIT_INDEX?= html-split.index HTML_INDEX?= html.index PRINT_INDEX?= print.index INDEX_SGML?= index.sgml -CLEANFILES+= ${HTML_SPLIT_INDEX} ${HTML_INDEX} ${PRINT_INDEX} +CLEANFILES+= ${INDEX_SGML} ${HTML_SPLIT_INDEX} ${HTML_INDEX} ${PRINT_INDEX} + +INIT_INDEX_SGML_CMD= ${PERL} ${COLLATEINDEX} -i doc-index -N -o ${INDEX_SGML} +GEN_INDEX_SGML_CMD= ${PERL} ${COLLATEINDEX} -i doc-index -g -o ${INDEX_SGML} ${.ALLSRC:M*.index} +.else +GEN_INDEX_SGML_CMD= @${ECHO} "No index to generate." .endif .MAIN: all all: ${_docs} @@ -460,16 +464,18 @@ # HTML-SPLIT ------------------------------------------------------------- .if ${STYLESHEET_TYPE} == "dsssl" index.html HTML.manifest: ${SRCS} ${LOCAL_IMAGES_LIB} ${LOCAL_IMAGES_PNG} \ - ${LOCAL_IMAGES_TXT} ${INDEX_SGML} ${HTML_SPLIT_INDEX} ${LOCAL_CSS_SHEET} + ${LOCAL_IMAGES_TXT} ${HTML_SPLIT_INDEX} ${LOCAL_CSS_SHEET} + ${GEN_INDEX_SGML_CMD} ${JADE_CMD} -V html-manifest ${HTMLOPTS} -ioutput.html.images \ ${JADEOPTS} -t sgml ${MASTERDOC} .elif ${STYLESHEET_TYPE} == "xsl" index.html: ${DOC}.xml ${LOCAL_IMAGES_LIB} ${LOCAL_IMAGES_PNG} \ - ${INDEX_SGML} ${HTML_SPLIT_INDEX} ${LOCAL_CSS_SHEET} + ${HTML_SPLIT_INDEX} ${LOCAL_CSS_SHEET} + ${GEN_INDEX_SGML_CMD} ${XSLTPROC} ${XSLTPROCOPTS} --param freebsd.output.html.images "'1'" ${XSLHTMLCHUNK} \ ${DOC}.xml .endif .if !defined(NO_TIDY) -${TIDY} ${TIDYOPTS} $$(${XARGS} < HTML.manifest) @@ -477,17 +483,19 @@ # HTML ------------------------------------------------------------------- .if ${STYLESHEET_TYPE} == "dsssl" ${DOC}.html: ${SRCS} ${LOCAL_IMAGES_LIB} ${LOCAL_IMAGES_PNG} \ - ${LOCAL_IMAGES_TXT} ${INDEX_SGML} ${HTML_INDEX} ${LOCAL_CSS_SHEET} + ${LOCAL_IMAGES_TXT} ${HTML_INDEX} ${LOCAL_CSS_SHEET} + ${GEN_INDEX_SGML_CMD} ${JADE_CMD} -V nochunks ${HTMLOPTS} -ioutput.html.images \ ${JADEOPTS} -t sgml ${MASTERDOC} > ${.TARGET} || \ (${RM} -f ${.TARGET} && false) .elif ${STYLESHEET_TYPE} == "xsl" ${DOC}.html: ${DOC}.xml ${LOCAL_IMAGES_LIB} ${LOCAL_IMAGES_PNG} \ - ${INDEX_SGML} ${LOCAL_CSS_SHEET} + ${LOCAL_CSS_SHEET} + ${GEN_INDEX_SGML_CMD} ${XSLTPROC} ${XSLTPROCOPTS} --param freebsd.output.html.images "'1'" ${XSLHTML} \ ${DOC}.xml > ${.TARGET} .endif .if !defined(NO_TIDY) -${TIDY} ${TIDYOPTS} ${.TARGET} @@ -495,16 +503,18 @@ # HTML-TEXT -------------------------------------------------------------- # Special target to produce HTML with no images in it. .if ${STYLESHEET_TYPE} == "dsssl" -${DOC}.html-text: ${SRCS} ${INDEX_SGML} ${HTML_INDEX} ${LOCAL_IMAGES_TXT} +${DOC}.html-text: ${SRCS} ${HTML_INDEX} ${LOCAL_IMAGES_TXT} + ${GEN_INDEX_SGML_CMD} ${JADE_CMD} -V nochunks ${HTMLTXTOPTS} \ ${JADEOPTS} -t sgml ${MASTERDOC} > ${.TARGET} || \ (${RM} -f ${.TARGET} && false) .elif ${STYLESHEET_TYPE} == "xsl" -${DOC}.html-text: ${DOC}.xml ${INDEX_SGML} ${HTML_INDEX} +${DOC}.html-text: ${DOC}.xml ${HTML_INDEX} + ${GEN_INDEX_SGML_CMD} ${XSLTPROC} ${XSLTPROCOPTS} --param freebsd.output.html.images "'0'" ${XSLHTML} \ ${DOC}.xml > ${.TARGET} .endif ${DOC}.html-split.tar: HTML.manifest ${LOCAL_IMAGES_LIB} \ @@ -556,11 +566,13 @@ .endfor # RTF -------------------------------------------------------------------- .if !defined(NO_TEX) -${DOC}.rtf: ${SRCS} ${LOCAL_IMAGES_EPS} ${LOCAL_IMAGES_TXT} +${DOC}.rtf: ${SRCS} ${LOCAL_IMAGES_EPS} ${PRINT_INDEX} \ + ${LOCAL_IMAGES_TXT} ${LOCAL_IMAGES_PNG} + ${GEN_INDEX_SGML_CMD} ${JADE_CMD} -V rtf-backend ${PRINTOPTS} -ioutput.rtf.images \ ${JADEOPTS} -t rtf -o ${.TARGET} ${MASTERDOC} ${DOC}.rtf.tar: ${DOC}.rtf ${LOCAL_IMAGES_PNG} ${TAR} cf ${.TARGET} ${DOC}.rtf ${IMAGES_PNG:N*share*} @@ -574,21 +586,23 @@ # to use different image formats, which are chosen at the .tex stage. So, # we need to create a different .tex file depending on our eventual output # format, which will then lead on to a different .dvi file as well. # -${DOC}.tex: ${SRCS} ${LOCAL_IMAGES_EPS} ${INDEX_SGML} ${PRINT_INDEX} \ +${DOC}.tex: ${SRCS} ${LOCAL_IMAGES_EPS} ${PRINT_INDEX} \ ${LOCAL_IMAGES_TXT} ${LOCAL_IMAGES_EN} + ${GEN_INDEX_SGML_CMD} ${JADE_CMD} -V tex-backend ${PRINTOPTS} \ ${JADEOPTS} -t tex -o ${.TARGET} ${MASTERDOC} ${DOC}.tex-ps: ${DOC}.tex ${LN} -f ${.ALLSRC} ${.TARGET} .if !target(${DOC}.tex-pdf) -${DOC}.tex-pdf: ${SRCS} ${IMAGES_PDF} ${INDEX_SGML} ${PRINT_INDEX} \ +${DOC}.tex-pdf: ${SRCS} ${IMAGES_PDF} ${PRINT_INDEX} \ ${LOCAL_IMAGES_TXT} + ${GEN_INDEX_SGML_CMD} ${RM} -f ${.TARGET} ${CAT} ${PDFTEX_DEF} > ${.TARGET} ${JADE_CMD} -V tex-backend ${PRINTOPTS} -ioutput.print.pdf \ ${JADEOPTS} -t tex -o /dev/stdout ${MASTERDOC} >> ${.TARGET} .endif @@ -674,22 +688,20 @@ # # If we're not generating an index (the default) then we need to create # an empty index.sgml file so that we can reference index.sgml in book.sgml # -${INDEX_SGML}: - ${PERL} ${COLLATEINDEX} -i doc-index -N -o ${.TARGET} -${HTML_INDEX}: +${HTML_INDEX}: ${SRCS} ${LOCAL_IMAGES_TXT} + ${INIT_INDEX_SGML_CMD} ${JADE_CMD} -V html-index -V nochunks ${HTMLOPTS} -ioutput.html.images \ ${JADEOPTS} -t sgml ${MASTERDOC} > /dev/null - ${PERL} ${COLLATEINDEX} -i doc-index -g -o ${INDEX_SGML} ${.TARGET} -${HTML_SPLIT_INDEX}: +${HTML_SPLIT_INDEX}: ${SRCS} ${LOCAL_IMAGES_TXT} + ${INIT_INDEX_SGML_CMD} ${JADE_CMD} -V html-index ${HTMLOPTS} -ioutput.html.images \ ${JADEOPTS} -t sgml ${MASTERDOC} > /dev/null - ${PERL} ${COLLATEINDEX} -i doc-index -g -o ${INDEX_SGML} ${.TARGET} .if !target(${PRINT_INDEX}) ${PRINT_INDEX}: ${HTML_INDEX} ${CP} -p ${HTML_INDEX} ${.TARGET} .endif >Release-Note: >Audit-Trail: >Unformatted: