On Tue, Apr 29 2014, Felipe Sateler wrote: > On Mon, 28 Apr 2014 23:01:58 -0700, Manoj Srivastava wrote: > > >> Felipe Sateler <fsate...@debian.org> >> csound (U) >> pulseaudio (U) Add to that: > Kari Pahula <k...@debian.org> > gecode > Russ Allbery <r...@debian.org> > krb5 (U)
Missing Build-Depends-Indep is a common pattern among the 60 or so remaining build failures. > On both I'm getting this: > dpkg-buildpackage: warning: debian/rules must be updated to support the > 'build-arch' and 'build-indep' targets (at least 'build-arch' seems to be > missing) > Looks like the new make is not doing the expected thing when called as > make -f debian/rules -qn build-arch With the old make (3.8,1), it correctly loads B-D-I and calls build-indep, with make 4.0-[12], it fails to determine of the target exists, and calls ./debian/rules build > (And by expected is return 2 when not found, any other return code > otherwise). Right. Since dpkg-buildpackage cannot ascertain that 'build-arch' and 'build-indep' targets exist, it calls build, and does not load B-D-I first. Most of the archive works, since B-D-I was not paid any attention to on the buildds, and every package used to build with ./debian/rules build and all the dependencies used to be in Build-Depends. Since then, B-D-I has been fixed, and we see empirical evidence that around 60 packages have made us of that. I don't know why the behaviour has changed; but I have tested it on apt and opusfile, and a couple of other packages. I will cut a normal bug on dpkg, and a serious one on make, and make the former block the latter while we figure otu what to do. The options, as I see it are: 1) Do nothing. retain make-3.81 in Debian forever more. Needless to say, this is not very attractive. Pro: There is no action to take. Con: Almost every other distro is shipping a more recent make. We will continue to diverge from everyone else, and already the featires have diverged enough that people are having to add special cases in the vuild system for the Debian family of distributions. 2) Hack dpkg-buildpackage to always load B-D-I, and go back to just calling ./debian/rules build. This is what we used to do. Pro: it is pretty easy to do (umm, I would think, but I don't know the dpkg code base so well anymore). This has the con of the inefficiency we have tried to eliminate, in that all the build dependencies are loaded for every build, even when not strictly needed. 3) We state that packages must provide build-arch and build-indep for Jessie. This should trivially be true for every package using cdbs or debhelper (or, heaven forbid, my old home brew build system), and have dpkg-buildpackage call them without testing to see if they exist. We would need to do another archive rebuild with the modified dpkg-buildpackage to see how many packages do not actually not implement these targets. None of these are very pretty. manoj -- Just because he's dead is no reason to lay off work. Manoj Srivastava <sriva...@acm.org> <http://www.golden-gryphon.com/> 4096R/C5779A1C E37E 5EC5 2A01 DA25 AD20 05B6 CF48 9438 C577 9A1C
signature.asc
Description: PGP signature