[PATCH libXcomposite 2/2] man: skip man pages installation when xmlto is not present

Gaetan Nadon memsize at videotron.ca
Thu Jan 21 09:59:13 PST 2010


On Thu, 2010-01-21 at 09:26 -0800, Dan Nicholson wrote:

> On Thu, Jan 21, 2010 at 7:33 AM, Gaetan Nadon <memsize at videotron.ca> wrote:
> > When doing a regular git build with xmlto missing, 'make all'
> > and 'make install' fails as it is trying to install man pages
> > that were not built.
> >
> > The patch uses the same techinique used in libXtst and libXi.
> > However, this  introduces a new problem whereby man pages
> > are not created or installed when Xcomposite.man is present
> > (which is shipped in a tarball).
> >
> > Both libraries work the same way now. The make dist will fail
> > when xmlto is missing unless Xcomposite.man is present. This is
> > what we want, not being able to create a crippled tarball.
> >
> > Signed-off-by: Gaetan Nadon <memsize at videotron.ca>
> > ---
> >  man/Makefile.am |    2 ++
> >  1 files changed, 2 insertions(+), 0 deletions(-)
> >
> > diff --git a/man/Makefile.am b/man/Makefile.am
> > index 13a75c5..2438efa 100644
> > --- a/man/Makefile.am
> > +++ b/man/Makefile.am
> > @@ -21,8 +21,10 @@ Xcomposite_man_aliases =                     \
> >
> >  Xcomposite_shadowmen = $(Xcomposite_man_aliases:=. at LIB_MAN_SUFFIX@)
> >
> > +if HAVE_XMLTO
> >  libman_DATA = $(libman_PRE:man=@LIB_MAN_SUFFIX@) \
> >              $(Xcomposite_shadowmen)
> > +endif
> >
> >  EXTRA_DIST  = $(libman_PRE) $(libman_xml)
> >
> 
> This is not the right approach. The entire purpose of distributing the
> generated pages is so that people installing from a tarball can get
> the man pages without needing xml doc tools. What needs to happen is
> another AM_CONDITIONAL that checks for either xmlto or existence of
> processed man pages. Something like this:
> 
> configure.ac:
> AM_CONDITIONAL([INSTALL_XML_DOCS], [test -f
> "$srcdir/man/Xcomposite.man" || test "x$have_xmlto" = xyes])
> 
> man/Makefile.am:
> if INSTALL_XML_DOCS
> libman_DATA = ...
> endif
> 

I had prototyped a similar fix, but I was not sure if I should have gone
that far. 
The same situation is in libXi and libXtst. I thought perhaps this was
the accepted
practise. 

I'll resubmit this patch and provide additional patches for the other
two. It's preferable they
work the same way.

Thanks

> That way we cover all three important cases:
> 
> 1. Developer with a git checkout who does not have doc tools and
> doesn't want to build docs.
> 2. Developer with a git checkout who does have the doc tools and wants
> to build docs (e.g., for make dist)
> 3. User installing from tarball who does not have doc tools but wants
> to install the pregenerated docs.
> 
> The only use case not catered for is the user installing from tarball
> who has doc tools and wants to rebuild the docs themselves. I'll argue
> that this case is not important and they can figure out how to get
> make to rebuild the pages themselves.

It's not a problem. The makefile correctly used MAINTAINECLEAN, so the
person is aware.

> 
> --
> Dan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.x.org/archives/xorg-devel/attachments/20100121/0cab0e46/attachment.htm 


More information about the xorg-devel mailing list