Commit Graph

173 Commits

Author SHA1 Message Date
Peter Eisentraut 75a49ba550 doc: Call xmllint for validity also in the fop build
This was somehow missed in commit
5d93ce2d0c.
2015-06-10 19:54:28 -04:00
Bruce Momjian ea12b3ca8c doc build: use unique Makefile variable to control temp install 2015-05-12 12:30:50 -04:00
Bruce Momjian 82ec7c95b7 Makefile: Add comment that doc uninstall clears man directories
Report by Mario Valdez
2015-05-07 10:26:08 -04:00
Peter Eisentraut 5d93ce2d0c doc: Check DocBook XML validity during the build
Building the documentation with XSLT does not check the DTD, like a
DSSSL build would.  One can often get away with having invalid XML, but
the stylesheets might then create incorrect output, as they are not
designed to handle that.  Therefore, check the validity of the XML
against the DTD, using xmllint, during the build.

Add xmllint detection to configure, and add some documentation.

xmllint comes with libxml2, which is already in use, but it might be in
a separate package, such as libxml2-utils on Debian.

Reviewed-by: Fabien COELHO <coelho@cri.ensmp.fr>
2014-10-21 14:46:38 -04:00
Peter Eisentraut c2a01439c0 Run missing documentation tools through "missing"
Instead of just erroring out when a tool is missing, wrap the call with
the "missing" script that we are already using for bison, flex, and
perl, so that the users get a useful error message.
2014-09-13 20:22:21 -04:00
Bruce Momjian 2fc80e8e83 Rename 'gmake' to 'make' in docs and recommended commands
This simplifies the docs and makes it easier to cut/paste command lines.
2014-02-12 17:29:19 -05:00
Tom Lane 2895415205 Don't generate plain-text HISTORY and src/test/regress/README anymore.
Providing this information as plain text was doubtless worth the trouble
ten years ago, but it seems likely that hardly anyone reads it in this
format anymore.  And the effort required to maintain these files (in the
form of extra-complex markup rules in the relevant parts of the SGML
documentation) is significant.  So, let's stop doing that and rely solely
on the other documentation formats.

Per discussion, the plain-text INSTALL instructions might still be worth
their keep, so we continue to generate that file.

Rather than remove HISTORY and src/test/regress/README from distribution
tarballs entirely, replace them with simple stub files that tell the reader
where to find the relevant documentation.  This is mainly to avoid possibly
breaking packaging recipes that expect these files to exist.

Back-patch to all supported branches, because simplifying the markup
requirements for release notes won't help much unless we do it in all
branches.
2014-02-10 20:48:04 -05:00
Peter Eisentraut 384eb1d40d doc: Allow selecting web site CSS style sheet in XSLT HTML build 2013-11-28 22:45:08 -05:00
Peter Eisentraut a5963efa8f doc: Improve setup for documentation building with FOP
Add a makefile rule for building PDFs with FOP.  Two new build targets
in doc/src/sgml are postgres-A4-fop.pdf and postgres-US-fop.pdf.

Run .fo output through xmllint for reformatting, so that errors are
easier to find.  (The default output has hardly any line breaks, so you
might be looking for an error in column 20000.)

Set some XSLT parameters to optimize for building with FOP.

Remove some redundant or somewhat useless chapterinfo/author
information, because it renders strangely with the FO stylesheet.

Reviewed-by: Álvaro Herrera <alvherre@2ndquadrant.com>
2013-10-21 06:43:08 -04:00
Peter Eisentraut 90c7b7d16b doc: Enable book index in XSLT builds
The XSLT toolchain requires an empty <index> element where the index is
supposed to appear.  Add that with conditionals to hide it from the
DSSSL build.
2013-10-15 22:54:36 -04:00
Peter Eisentraut 956f2db490 doc: Move check-tabs target into html target
The previous plan of having the check-tabs target a prerequisite of
"all" and "distprep" caused make distcheck to fail because make -q
distprep would never be satisfied.  Put check-tabs into the html target
instead, so it is only called when a build actually happens.
2013-10-10 21:53:34 -04:00
Peter Eisentraut 92c2d2ba3a doc: Handle additional character entities for SGML/XML conversion 2013-10-10 21:14:33 -04:00
Peter Eisentraut 5dd41f3574 Remove maintainer-check target, fold into normal build
make maintainer-check was obscure and rarely called in practice, and
many breakages were missed.  Fold everything that make maintainer-check
used to do into the normal build.  Specifically:

- Call duplicate_oids when genbki.pl is called.

- Check for tabs in SGML files when the documentation is built.

- Run msgfmt with the -c option during the regular build.  Add an
  additional configure check to see whether we are using the GNU
  version.  (make maintainer-check probably used to fail with non-GNU
  msgfmt.)

Keep maintainer-check as around as phony target for the time being in
case anyone is calling it.  But it won't do anything anymore.
2013-10-10 20:11:56 -04:00
Peter Eisentraut ff64fd49ce doc: Add make target to produce EPUB from DocBook 2013-02-13 23:12:21 -05:00
Peter Eisentraut 9b3ac49e5a Use a stamp file for the XSLT HTML doc build
This way it works more like the DSSSL build, and dependencies are
tracked better by make.

Also copy the CSS stylesheet to the html directory.  This was forgotten
when the output directory was changed.
2012-11-12 21:42:25 -05:00
Peter Eisentraut cd1f4db4ae Untabify DSSSL and XSL files and add to check-tabs target
Like with SGML files, using tabs in these files is confusing and
unnecessary.
2012-04-19 22:38:14 +03:00
Tom Lane f2386d7136 Fix configure's search for collateindex.pl.
PGAC_PATH_COLLATEINDEX supposed that it could use AC_PATH_PROGS to search
for collateindex.pl, but that macro will only accept files that are marked
executable, and at least some DocBook installations don't mark the script
executable (a case the docs Makefile was already prepared for).  Accept the
script if it's present and readable in $DOCBOOKSTYLE/bin, and otherwise
search the PATH as before.

Having fixed that up, we don't need the fallback case that was in the docs
Makefile, and instead can throw an understandable error if configure didn't
find the script.  Per recent trouble report from John Lumby.
2012-03-22 00:46:03 -04:00
Magnus Hagander 8efb0bc57e Add a rule to optionally build docs with the stylesheet from the website
For those of us who prefer the formatting of the docs using the
website stylesheets. Use "make STYLE=website draft" (for example) to use.

The stylesheet itself is referenced directly to the website, so there
is currently no copy of it stored in the source repository. Thus, docs
built with it will only look correct if the browser can access the website
when viewing them.
2012-03-02 12:31:21 +01:00
Peter Eisentraut 811f1cec8c Produce HISTORY file consistently as ASCII
The release notes may contain non-ASCII characters (for contributor
names), which lynx converts to the encoding determined by the current
locale.  The get output that is deterministic and easily readable by
everyone, we make lynx produce LATIN1 and then convert that to ASCII
with transliteration for the non-ASCII characters.
2011-06-19 23:27:56 +03:00
Alvaro Herrera fc3459d70c Uppercase <!ENTITY> and <!DOCTYPE> tags in SGML source
This improves compatibility with external toolchains, such as those used
by some documentation translation tools.

Gabriele Bartolini
2011-04-04 16:09:10 -04:00
Peter Eisentraut 6c0dfc0356 Add maintainer-check target
This can do various source code checks that are not appropriate for
either the build or the regression tests.  Currently: duplicate_oids,
SGML syntax and tabs check, NLS syntax check.
2011-03-28 22:56:52 +03:00
Robert Haas ddfe26f644 Avoid maintaining three separate copies of the error codes list.
src/pl/plpgsql/src/plerrcodes.h, src/include/utils/errcodes.h, and a
big chunk of errcodes.sgml are now automatically generated from a single
file, src/backend/utils/errcodes.txt.

Jan Urbański, reviewed by Tom Lane.
2011-02-03 22:32:49 -05:00
Peter Eisentraut fc946c39ae Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
Magnus Hagander 726f9ddcd1 Remove anonymous cvs instructions, and replace them with instructions
for git. Change other references from cvs to git as well.
2010-09-22 20:10:28 +02:00
Magnus Hagander 9f2e211386 Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
Tom Lane a079efa641 postgres.txt should get cleaned by 'make clean'. 2010-06-12 21:40:31 +00:00
Bruce Momjian 4c7d48bffb Remove lynx -stdin flag for postgres.text. 2010-06-12 17:17:25 +00:00
Bruce Momjian 99fdb4a9ea Add SGML Makefile rule for single-page text, postgres.txt. 2010-06-12 15:58:38 +00:00
Bruce Momjian 7d7780f40d Add space between after ">" in ">$@" in SGML Makefile, for clarity. 2010-06-12 15:42:44 +00:00
Peter Eisentraut 7de38696c4 Add target to build HTML documentation as single page 2010-06-12 09:55:12 +00:00
Peter Eisentraut 3393551d54 Fix vpath installation from distribution tarball (bug #5447) 2010-05-13 11:49:48 +00:00
Tom Lane 170456c9d8 Install hack workaround for failure of 'make all' in VPATH builds.
It appears that gmake gets confused if postgres.sgml is not present in
the working directory, and instantiates some default rule or other that
would let postgres.sgml be built from postgres.xml.  I haven't been able
to track down exactly where that's coming from, but the problem can be
dodged by specifying srcdir explicitly in the rule for postgres.xml.
Per report from Vladimir Kokovic.
2010-05-01 21:31:17 +00:00
Tom Lane f856fad80b Adjust postgres.xml rule so that make will notice a failure exit from osx.
The previous coding had it in a pipe, which on most shells won't report
the error.  Per experimentation with a bug report from Vladimir Kokovic.
This doesn't actually fix his problem, but it does explain why make
didn't report that there was a problem.
2010-05-01 18:15:07 +00:00
Peter Eisentraut a5c317cf78 Fix the build and install rules for man pages with SQL section != 7
The previous coding failed in various scenarios possibly including vpath
builds and doing make install without preceding make all.
2010-04-02 14:02:49 +00:00
Peter Eisentraut 29ccc32c30 Separate targets "make docs" and "make install-docs" for the documentation
It is no longer installed by default, but included in "make world"/"make
install-world".  Documentation updated accordingly.

Also, fix vpathsearch function to work when calling make install-docs
without previous make docs.
2010-03-30 00:10:46 +00:00
Bruce Momjian d5c861af6c Previous commit was to have tab checking as part of gmake check. 2010-02-05 19:31:18 +00:00
Bruce Momjian 2a93226f0d *** empty log message *** 2010-02-05 19:28:39 +00:00
Bruce Momjian cb4bd52ad9 Add SGML 'check-tabs' Makefile rule to check for tabs. 2010-02-05 14:51:50 +00:00
Tom Lane f883e2007a Fix missing <manvolnum> markers in dblink reference entries.
Silences complaints from "make man", and allows these man pages
to be included in man3/.
2010-01-06 19:07:05 +00:00
Peter Eisentraut ab1725d50b Revert makefile refactoring (version 1.123) because it doesn't work
when building several files at once (e.g.,
gmake postgres-A4.pdf postgres-US.pdf).
2009-12-30 13:48:52 +00:00
Peter Eisentraut 603e72b0be Clean up the clean rules of the documentation
Most things should be cleaned by "make clean", except the parts that are
shipped in the tarball.  These rules had gotten a bit out of whack after
the various restructurings of the documentation build rules.
2009-10-06 20:00:44 +00:00
Alvaro Herrera 051168b6ac Really unbreak maintainer-clean.
(Or rather, unbreak what the previous commit broke)
2009-10-06 00:54:26 +00:00
Alvaro Herrera 1cb4d22e18 Unbreak doc/src/sgml maintainer-clean rule on VPATH builds. 2009-10-05 23:58:49 +00:00
Peter Eisentraut c82fdb6984 Print builds don't actually depend on html target (anymore). 2009-09-14 13:23:48 +00:00
Peter Eisentraut 234c7ce9f2 Derived files that are shipped in the distribution used to be built in the
source directory even for out-of-tree builds.  They are now alsl built in
the build tree.  This should be more convenient for certain developers'
workflows, and shouldn't really break anything else.
2009-08-28 20:26:19 +00:00
Peter Eisentraut 9d182ef002 Update of install-sh, mkinstalldirs, and associated configury
Update install-sh to that from Autoconf 2.63, plus our Darwin-specific
changes (which I simplified a bit).  install-sh is now able to install
multiple files in one run, so we could simplify our makefiles sometime.

install-sh also now has a -d option to create directories, so we don't need
mkinstalldirs anymore.

Use AC_PROG_MKDIR_P in configure.in, so we can use mkdir -p when available
instead of install-sh -d.  For consistency with the rest of the world,
the corresponding make variable has been renamed from $(mkinstalldirs) to
$(MKDIR_P).
2009-08-26 22:24:44 +00:00
Peter Eisentraut 42d2470c38 Make version.sgml depend on configure instead of Makefile.global. This
cheats a bit, but it avoids unsatisfied dependencies in distribution
tarballs.  (found by make distcheck)
2009-08-17 21:29:30 +00:00
Tom Lane b328853733 Make sure that 'make distclean' cleans out all files that are not meant
to be shipped.  Also, allow 'make clean' to remove intermediate working files.
2009-08-15 01:56:35 +00:00
Peter Eisentraut 99909881fb Remove unnecessary files from distribution 2009-08-11 22:21:51 +00:00
Peter Eisentraut a16461dfad Simplify and speed up man page installation 2009-08-11 21:53:06 +00:00