Ian, Guillem,
On 19 September 2019 at 14:51, Ian Jackson wrote: | Dirk Eddelbuettel writes ("Possible doc package side-effect from going source-only upload"): | > Maybe someone on the list can help with a sharp insight before I go trying. | > | > The r-base source package (for the R system and language) has a somewhat | > cobbled together debian/rules [1], mostly of my making over the last 20+ | > years since I helped Doug more and more and eventually took it over. I | > apologize for the rough shape it is in, but hey, it works. Mostly. Read on. | .... | > So presumably the dependency graph within debian/rules is wrong. Would | > anybody here know | > - either a failsafe idiom forcing the right thing to happen | > - or a more efficient way | > to ensure the binary-arch is built before binary-all? Should I force it? Is | > that wasteful? Is there a recommended way? | | You could take the first part of the binary-arch target and split it | out into something that both binary-arch and binary-indep depend on. | That would probably "fix" this problem. Yes, my thinking was along those lines, but so far less refined. Will try this. | Holger Levsen writes ("Re: Possible doc package side-effect from going source-only upload"): | > not really that helpful of a comment, but I think the rules file would | > be a lot more readable if you'd dropped all the old commented out code | > in it. | | I agree with this. I did not see Holger's post as he did not CC me (and I had a crazy day, have not check d-devel archives). I agree in the abstract and feel the same from time ot time -- but in practice the comments are 'lab notes' for myself and have been rather helpful a few times. And as I maintain the file they'll stay for as long as they help me. | > (and then I think^wbelieve your arch-all problem could be solved by | > switching to dh style...) | | This would be a good idea. It is quite some effort but I think you | would be rewarded with significantly lower maintenance burden. Agreed in principle. Finding time to do it the right is the issue. I am maintainer for well over 100 packages most of which are cookie-cutter CRAN packages and alike -- they all use dh. A handful of older / larger packages are still older-school. On 19 September 2019 at 16:03, Guillem Jover wrote: | On Thu, 2019-09-19 at 07:15:43 -0500, Dirk Eddelbuettel wrote: | > So presumably the dependency graph within debian/rules is wrong. Would | > anybody here know | > | > - either a failsafe idiom forcing the right thing to happen | > - or a more efficient way | > | > to ensure the binary-arch is built before binary-all? Should I force it? Is | > that wasteful? Is there a recommended way? | | I've just skimmed over the rules, but I indeed see several problematic | constructs there: | | - «build: build-arch» that should include build-indep too. Ok. | - install-arch has build-arch as a dependency, but install-indep | has make-indep, this seems inconsitent and possibly wrong. I will take a look. | - Some of the prerequisites are not protected behind stamp files, so | they will get executed multiple times, which seems counter to using | stamp files (although I find stamp files to be somewhat of an | anti-pattern :). Stuff like: | | barrier: prereq-1 barrier | barrier-stamp: | | but this is in a way covered already by the next point. I used them in the 1990s when most if not all debian/rules files had, I never really had they feeling they worked all that well. Use of them seems to have disappeared over time. | - It seems generally parallel unsafe, as many targets declare what | should be serially executed as parallely-executed, as in: | | target: prereq-a prereq-b | | can execute both prereqs at the same time. The way to serialize | them is: | | prereq-1: prereq-2 | target: prereq-1 Fair. Do we build packages with 'make -j ...' now? | Not sure whether fixing all the above will fix your problem, but this | is something that should be done non the less IMO. :) All good hints. Much appreciated :) Dirk -- http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org