Re: [HACKERS] SGML index build fix - Mailing list pgsql-patches

From Bruce Momjian
Subject Re: [HACKERS] SGML index build fix
Date
Msg-id 200701080410.l084A3e13031@momjian.us
Whole thread Raw
In response to Re: [HACKERS] SGML index build fix  (Peter Eisentraut <peter_e@gmx.net>)
Responses Re: [HACKERS] SGML index build fix  (Peter Eisentraut <peter_e@gmx.net>)
List pgsql-patches
Peter Eisentraut wrote:
> Tom Lane wrote:
> > Perhaps even more to the point, what makes you think that someone
> > will notice the warning?  If the docs build is one step in an
> > automated build process, this seems unlikely.
>
> Taking a closer look, it's pretty much guaranteed that no one will see
> them, because the targets they are attached to are intermediate,
> normally followed by latex runs.

Here is a patch that runs the build twice when HTML.index does not
exist, and once every time after that.  This is not ideal, but it is a
start.

--
  Bruce Momjian   bruce@momjian.us
  EnterpriseDB    http://www.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +
Index: doc/src/sgml/Makefile
===================================================================
RCS file: /cvsroot/pgsql/doc/src/sgml/Makefile,v
retrieving revision 1.87
diff -c -c -r1.87 Makefile
*** doc/src/sgml/Makefile    7 Jan 2007 08:49:31 -0000    1.87
--- doc/src/sgml/Makefile    8 Jan 2007 04:02:45 -0000
***************
*** 99,114 ****

  COLLATEINDEX := LC_ALL=C $(PERL) $(COLLATEINDEX) -f -g

- # If HTML.index does not exist, create a dummy bookindex.sgml.  During the
- # next build, create bookindex.sgml with the proper index contents.  A proper
- # bookindex.sgml is required to have an index in the output.
- ifeq (,$(wildcard HTML.index))
- bookindex.sgml:
-     $(COLLATEINDEX) -o $@ -N
- else
  bookindex.sgml: HTML.index
!     $(COLLATEINDEX) -i 'bookindex' -o $@ $<
! endif

  version.sgml: $(top_builddir)/src/Makefile.global
      { \
--- 99,115 ----

  COLLATEINDEX := LC_ALL=C $(PERL) $(COLLATEINDEX) -f -g

  bookindex.sgml: HTML.index
!     # If HTML.index is zero length, create a dummy bookindex.sgml
!     test -s HTML.index || $(COLLATEINDEX) -o $@ -N
!     # If HTML.index is valid, create valid bookindex.sgml.  This
!     # is required so the output has a proper index.
!     test ! -s HTML.index || $(COLLATEINDEX) -i 'bookindex' -o $@ $<
!
! # If HTML.index does not exist, create an empty file and recusively call
! # our own Makefile to create a valid bookindex.sgml.
! HTML.index:
!     test -f HTML.index || (touch HTML.index && $(MAKE) $(MAKECMDGOALS))

  version.sgml: $(top_builddir)/src/Makefile.global
      { \
***************
*** 285,291 ****

  clean distclean maintainer-clean:
  # HTML
!     rm -f HTML.manifest *.html *.gif
  # man
      rm -rf *.1 *.$(DEFAULTSECTION) man1 man$(DEFAULTSECTION) manpage.refs manpage.links manpage.log
  # print
--- 286,292 ----

  clean distclean maintainer-clean:
  # HTML
!     rm -f HTML.manifest *.html *.gif bookindex.skip
  # man
      rm -rf *.1 *.$(DEFAULTSECTION) man1 man$(DEFAULTSECTION) manpage.refs manpage.links manpage.log
  # print

pgsql-patches by date:

Previous
From: Gavin Sherry
Date:
Subject: Re: [HACKERS] SGML index build fix
Next
From: "Jaime Casanova"
Date:
Subject: Re: Tablespace for temporary objects and sort files