Bug#806865: ppl: FTBFS when built with dpkg-buildpackage -A (No rule to make ppl_c.h)

2016-07-15 Thread Santiago Vila
On Fri, 15 Jul 2016, Roberto Bagnara wrote:

> I am not sure I understand the issue.  From the (partial) typescript,
> it seems a make is attempted in the doc directory without a previous
> make at the top level.  This has never been supported: make should
> be run in the top-level directory and it will recurse on the
> subdirectories in the right order.

I'm glad that you ask.

make does whatever you tell it to do in debian/rules, nothing more,
and nothing less.

When using "dpkg-buildpackage -A" to create only the
architecture-independent packages, the targets which are used
are build-indep and binary-indep.

The build-arch target does indeed "make" at the top level directory
but in this case it does not run because we are creating
arch-independent packages only.

The build-indep target does this:

build-indep: build-indep-stamp
build-indep-stamp: configure-stamp
export save_size=1 ; $(MAKE) -C doc user-configured
touch $@

I think this explains the error.

In this case debian/rules is blindly assuming that build-arch has been
run at least once. This is why "dpkg-buildpackage" works when you
build all binary packages. But this has to work as well when
you want to create only arch-independent packages.

So, you have to arrange things in debian/rules so that make does
whatever is right to do in each case.

Thanks.



Bug#806865: ppl: FTBFS when built with dpkg-buildpackage -A (No rule to make ppl_c.h)

2016-07-15 Thread Roberto Bagnara
On 15/07/2016 00:10, Santiago Vila wrote:
> I have the ok from the Release Managers to consider this issue as RC
> for stretch. I'm going to wait at least one week before raising
> this to "serious".
> 
> If you need help to fix this bug, please tag it as "help".

Hello.

I am not sure I understand the issue.  From the (partial) typescript,
it seems a make is attempted in the doc directory without a previous
make at the top level.  This has never been supported: make should
be run in the top-level directory and it will recurse on the
subdirectories in the right order.

In addition, PPL 1.2 has been released more than 5 months
ago: IMHO it does not make much sense to use the previous
release for Stretch.
Kind regards,

   Roberto

-- 
 Prof. Roberto Bagnara

Applied Formal Methods Laboratory - University of Parma, Italy
mailto:bagn...@cs.unipr.it
  BUGSENG srl - http://bugseng.com
  mailto:roberto.bagn...@bugseng.com



Bug#806865: ppl: FTBFS when built with dpkg-buildpackage -A (No rule to make ppl_c.h)

2016-07-14 Thread Santiago Vila
Greetings.

I have the ok from the Release Managers to consider this issue as RC
for stretch. I'm going to wait at least one week before raising
this to "serious".

If you need help to fix this bug, please tag it as "help".

Thanks.



Bug#806865: ppl: FTBFS when built with dpkg-buildpackage -A (No rule to make ppl_c.h)

2015-12-02 Thread Santiago Vila
Package: src:ppl
Version: 1:1.1-7
User: sanv...@debian.org
Usertags: binary-indep
Severity: important

Dear maintainer:

I tried to build this package with "dpkg-buildpackage -A"
(i.e. only architecture-independent packages), and it failed:


[...]
 debian/rules build-indep
dh_testdir
dh_autoreconf
libtoolize: putting auxiliary files in `.'.
libtoolize: copying file `./ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
libtoolize: copying file `m4/libtool.m4'
libtoolize: copying file `m4/ltoptions.m4'
libtoolize: copying file `m4/ltsugar.m4'
libtoolize: copying file `m4/ltversion.m4'
libtoolize: copying file `m4/lt~obsolete.m4'
./configure --build x86_64-linux-gnu --host x86_64-linux-gnu 
--disable-ppl_lpsol --disable-ppl_lcdd --enable-interfaces=c,cxx,swi_prolog \

[... snipped ...]

config.status: creating demos/ppl_lcdd/examples/Makefile
config.status: creating demos/ppl_lpsol/Makefile
config.status: creating demos/ppl_lpsol/examples/Makefile
config.status: creating demos/ppl_pips/Makefile
config.status: creating demos/ppl_pips/examples/Makefile
config.status: creating doc/Makefile
config.status: creating doc/user.doxyconf-latex
config.status: creating doc/devref.doxyconf-latex
config.status: creating doc/user.doxyconf-html
config.status: creating doc/devref.doxyconf-html
config.status: creating doc/user-language-interface.doxyconf
config.status: creating doc/devref-language-interface.doxyconf
config.status: creating interfaces/Makefile
config.status: creating interfaces/C/Makefile
config.status: creating interfaces/C/ppl_c_version.h
config.status: creating interfaces/C/tests/Makefile
config.status: creating interfaces/Java/Makefile
config.status: creating interfaces/Java/jni/Makefile
config.status: creating interfaces/Java/tests/Makefile
config.status: creating interfaces/Java/parma_polyhedra_library/Makefile
config.status: creating interfaces/OCaml/Makefile
config.status: creating interfaces/OCaml/tests/Makefile
config.status: creating interfaces/Prolog/Makefile
config.status: creating interfaces/Prolog/Ciao/Makefile
config.status: creating interfaces/Prolog/GNU/Makefile
config.status: creating interfaces/Prolog/SICStus/Makefile
config.status: creating interfaces/Prolog/SWI/Makefile
config.status: creating interfaces/Prolog/XSB/Makefile
config.status: creating interfaces/Prolog/YAP/Makefile
config.status: creating interfaces/Prolog/tests/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
touch configure-stamp
export save_size=1 ; /usr/bin/make -C doc user-configured
make[1]: Entering directory '/<>/doc'
make[1]: *** No rule to make target '../interfaces/C/ppl_c.h', needed by 
'ppl-user-configured-c-interface-1.1-html'.  Stop.
make[1]: Leaving directory '/<>/doc'
debian/rules:113: recipe for target 'build-indep-stamp' failed
make: *** [build-indep-stamp] Error 2
dpkg-buildpackage: error: debian/rules build-indep gave error exit status 2


Sorry not to have a fix, as I am reporting many bugs similar to
this one. The common hints are:

* If the only architecture-independent packages are dummy transitional
ones and they were released with jessie, the easy fix is to drop them
now.

* When using "dh", it is allowed to use (independently)
optional targets override_dh_foo-arch and override_dh_foo-indep
(for several values of "foo").


Once that both "dpkg-buildpackage -A" and "dpkg-buildpackage -B" work
properly, the package would be suitable to be uploaded in source-only
form if you wish.

Thanks.