On Tue, 4 Oct 2016, Santiago Vila wrote:

> But in either case, look at the error message. It's essentially like
> this:
> 
> /usr/bin/install -c -m 644
>   some-files _generated/errors.py some-files _generated/errors.py some-files 
> directory
> 
> This fails because _generated/errors.py is listed twice.

And in fact the patch below shows that $(BUILT_SOURCES), which is what
the install target tries to install, contains _generated/errors.py twice.

To test it, apply the patch, build the package with "dpkg-buildpackage -A"
and then try:

make -C src show_BUILT_SOURCES | grep --color _generated/errors.py

You should see _generated/errors.py twice, one because it's listed
explicitly and another one as the result of the patsubst in spec_files.

The question, then, is not why it fails, but why it does not always fail.

Please try to explain how the current Makefile tries to avoid the
failure. I guess it relies on  wildcard $(spec_dir)/*.xml  having
a particular order, but the order of such wildcard expansion
depends on filesystem ordering, so it may be anything.

So I really think there is a Makefile bug here, even if can't
explain it in full. please forward the bug upstream.

Thanks.

--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -223,6 +223,9 @@ BUILT_SOURCES = \
        _generated/__init__.py \
        $(spec_files)
 
+show_BUILT_SOURCES:
+       @echo $(BUILT_SOURCES)
+
 generateddir = $(telepathydir)/_generated
 nodist_generated_PYTHON = $(BUILT_SOURCES)
 

Reply via email to