[PATCH 6/6] Hack up distcheck for publican

Gaetan Nadon gaetan.nadon at videotron.ca
Wed Feb 29 14:15:44 PST 2012

On 12-02-28 09:57 PM, Peter Hutterer wrote:
> Publican requires a read-write source tree, see
> http://bugzilla.redhat.com/show_bug.cgi?id=798484
> And it currently cannot build out-of-tree, so we need to copy the sources
> into the _build tree and generate Protocol.xml into that tree too (we'd have
> to do this anyway since automake creates a read-only source tree, so we
> can't just link).
> CC: Gaetan Nadon <gaetan.nadon at videotron.ca>
> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
> ---
> Gaetan, if you have any better suggestions I'd love to hear them.
I have attached some work in progress patch. Based on "Generate the
docbook description for the protocol from wayland.xml" commit. It passes
distcheck, but it is barely tested.

The publican tool does not let us specify where the source is, so it
forces us to build where the source is. It also forces us to have all
the source in the same subdir. It is a huge bug if you ask me.

Out-of-source builds are not just for distcheck. I know distros and many
individuals who do all their builds out-of-source.  We cannot build in
the source tree, so we need to consider that all the source for publican
is "generated". This is not unusual, in libX11 all the nls doc is 100%
generated. The patch uses make rules to copy the source files into the
builddir rather than custom code. Hopefully it will be easier to maintain.

To have the en-US dirname preserved, I had to rename the source files to
en_US. Otherwise it would not work when srcdir=builddir as the target
name is the same as the source name. Maybe someone else has a solution.

I recall from libX11 that having a directory as a target (Wayland) has
issues. It's always considered out of date, IIRC.

I have not looked at the 'install' part of it, but I see problems right
away. We cannot use "cp" to install files. There is an automake INSTALL
command which varies by platform and by type of data to install and
which is configurable. I had done code to install  a subdir in the groff
days, so I should be able to derive from it.

It'd be good to figure out which files are required to be installed. The
pdf format does not build for em.

Misc: duplicate EXTRA_DIST=

I hope you are not planning on "disting" the generated files :-)

More information about the wayland-devel mailing list