linux/Documentation/DocBook
Ben Hutchings b44158b170 DocBook: Avoid building man pages repeatedly and inconsistently
Some kernel-doc sections are included in multiple DocBook files.  This
means the mandocs target will generate the same manual page multiple
times with different metadata (author name/address and manual title,
taken from the including DocBook file).  If it's invoked in a parallel
build, the output is nondeterminstic.

For each section that is duplicated, mark the less specific manual's
inclusion as 'extra' and exclude it during conversion to manual pages.
Use xmlif for this, as that is bundled with xmlto which we already
use.

I would have preferred to use more conventional markup for this, but
each of the following approaches failed:

1. Wrap the extra inclusions with a new element and add a template to
   the stylesheet to include/exclude them.  Unfortunately DocBook XSL
   doesn't seem to support foreign elements at an intermediate level
   in the document tree.
2. Use DocBook profiling.  This works but requires passing an absolute
   path to the profile stylesheet to xmlto, so it's not portable.
3. Use SGML marked sections.  docbook2x can handle these but xmlto
   chokes on them.

Reported-by: Jérémy Bobbio <lunar@debian.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
2015-07-10 11:03:21 -06:00
..
media [media] DocBook: Change format for enum dmx_output documentation 2015-06-09 17:47:38 -03:00
.gitignore doc: Add "*.svg" to DocBook/.gitignore 2013-12-02 14:49:19 +01:00
80211.tmpl wireless: docs: fix 'make pdfdocs' failure 2015-01-28 08:53:58 +01:00
alsa-driver-api.tmpl ALSA: doc: Fix missing "I" for kerneldoc inclusion 2014-10-30 15:42:33 +01:00
crypto-API.tmpl crypto: doc - Fix typo in crypto-API.tmpl 2015-06-04 15:05:05 +08:00
debugobjects.tmpl debugobjects: Extend to assert that an object is initialized 2011-11-23 18:49:22 +01:00
device-drivers.tmpl DocBook: Avoid building man pages repeatedly and inconsistently 2015-07-10 11:03:21 -06:00
deviceiobook.tmpl docbook: change iomap source filename in deviceiobook 2012-01-23 08:44:54 -08:00
drm.tmpl Documentation/drm: Update rotation property 2015-06-15 07:37:15 +02:00
filesystems.tmpl htmldocs: fix bio.c location 2014-05-20 08:17:35 -06:00
gadget.tmpl DocBook: Avoid building man pages repeatedly and inconsistently 2015-07-10 11:03:21 -06:00
genericirq.tmpl DocBook: fix various typos 2014-07-12 11:30:36 -07:00
kernel-api.tmpl DocBook: Avoid building man pages repeatedly and inconsistently 2015-07-10 11:03:21 -06:00
kernel-hacking.tmpl Documentation: extend use case for EXPORT_SYMBOL_GPL() 2015-06-05 07:39:46 +09:00
kernel-locking.tmpl locking/Documentation: Move locking related docs into Documentation/locking/ 2014-08-13 10:32:03 +02:00
kgdb.tmpl KGDB/KDB New: 2015-02-20 15:13:29 -08:00
libata.tmpl DocBook: fix various typos 2014-07-12 11:30:36 -07:00
librs.tmpl
lsm.tmpl
Makefile DocBook: Avoid building man pages repeatedly and inconsistently 2015-07-10 11:03:21 -06:00
media_api.tmpl [media] Docbook: typo fix: use note(d) instead of notice(d) 2015-06-08 14:56:20 -03:00
mtdnand.tmpl DocBook: fix mtdnand typos 2014-07-12 11:30:36 -07:00
networking.tmpl docbook: networking: fix file paths for uapi headers 2012-10-15 08:04:41 -07:00
rapidio.tmpl docbook: fix rapidio warning 2011-03-27 19:30:19 -07:00
regulator.tmpl DocBook: fix various typos 2014-07-12 11:30:36 -07:00
s390-drivers.tmpl
scsi.tmpl Doc: Docbook: Change wikipedia's URL from http to https in scsi.tmpl 2015-06-22 10:29:32 -06:00
sh.tmpl
stylesheet.xsl DocBook: Generate consistent IDs 2015-07-10 11:03:16 -06:00
tracepoint.tmpl
uio-howto.tmpl pdfdocs: Fix 'make pdfdocs' failure for 'uio-howto.tmpl' 2015-02-03 15:48:51 -08:00
usb.tmpl usb: hub: rename khubd to hub_wq in documentation and comments 2014-09-23 22:33:19 -07:00
w1.tmpl w1: format for DocBook and fixes 2014-02-07 15:40:18 -08:00
writing_musb_glue_layer.tmpl documentation: docbook: document process of writing an musb glue layer 2014-05-12 12:34:47 -05:00
writing_usb_driver.tmpl doc: fix misspellings with 'codespell' tool 2013-05-28 12:02:12 +02:00
writing-an-alsa-driver.tmpl ALSA: doc: Recommend the use of snd_ctl_elem_info() 2014-10-20 18:06:04 +02:00
z8530book.tmpl