<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
On 12-02-29 07:40 PM, Peter Hutterer wrote:
<blockquote cite="mid:20120301004021.GB28048@yabbi.bne.redhat.com"
type="cite">
<blockquote type="cite" style="color: #000000;">
<pre wrap="">+# Copy the en_US source files into en-US destination
<span class="moz-txt-citetags">> </span>+# This is required for out-of-source-tree build as publican does not allow us
<span class="moz-txt-citetags">> </span>+# to specify the location of the source code.
<span class="moz-txt-citetags">> </span>+$(builddir)<i class="moz-txt-slash"><span class="moz-txt-tag">/</span>en-US<span class="moz-txt-tag">/</span></i>%: $(srcdir)<i class="moz-txt-slash"><span class="moz-txt-tag">/</span>en_US<span class="moz-txt-tag">/</span></i>% $(builddir)/en-US/Protocol.xml
<span class="moz-txt-citetags">> </span>+        $(AM_V_GEN)cp -f $< $@
</pre>
</blockquote>
<pre wrap="">fwiw, this will break if the source directory is read-only (bz 798484).</pre>
</blockquote>
I am a bit confused. When srcdir=builddir, that directory better be
writeable, else nothing can be built, publican or otherwise. The
limitation of publican is that it forces the build to occur in the
same directory as the source. <br>
<br>
The following target incorrectly attempts to build in the srcdir.
Note that publican is not involved. It is always wrong, but it works
when srcdir=builddir.<br>
<blockquote><tt>docbook-xsl: $(top_srcdir)/protocol/wayland.xml
protocol-to-docbook.xsl</tt><br>
<tt> $(AM_V_GEN)$(XSLTPROC) protocol-to-docbook.xsl
$(top_srcdir)/protocol/wayland.xml > <b>$(srcdir)</b>/en-US/Protocol.xml</tt><br>
</blockquote>
Let's bypass this target and assume that we don't need this
Protocol.xml. We would not go very far.<br>
<blockquote><tt>nadon@memsize:~/xorg/src/wayland/wayland-master/_build/doc/Wayland$
publican build --lang en-US --format html,pdf --config
../../../doc/Wayland/publican.cfg</tt><br>
<tt>Can't locate required file: en-US/Book_Info.xml at
/usr/bin/publican line 556</tt><br>
</blockquote>
Publican cannot build anything because there is no source when
srcdir!=builddir. One would expect an option on publican to tell it
where the source is, but no such luck. This is what builddir looks
like:<br>
<blockquote><tt>nadon@memsize:~/xorg/src/wayland/wayland-master/_build/doc/Wayland$
ls -l<br>
total 12<br>
-rw-rw-r-- 1 nadon nadon 11962 2012-03-01 10:04 Makefile<br>
</tt></blockquote>
That's it. No en-US, nothing. I think that the previous error about
Protocol.xml combined with the bug report is misleading. The issue
is not about srcdir being read-only.<br>
<br>
You can reproduce the problem without autotools. Simply cd where
en-US is not in sight and try to run publican.<br>
<br>
<br>
<br>
<br>
<br>
</body>
</html>