<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">&gt; </span>+# This is required for out-of-source-tree build as publican does not allow us
<span class="moz-txt-citetags">&gt; </span>+# to specify the location of the source code.
<span class="moz-txt-citetags">&gt; </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">&gt; </span>+        $(AM_V_GEN)cp -f $&lt; $@
</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>&nbsp;&nbsp;&nbsp; $(AM_V_GEN)$(XSLTPROC) protocol-to-docbook.xsl
        $(top_srcdir)/protocol/wayland.xml &gt; <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>