[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Possible doc package side-effect from going source-only upload [and 1 more messages]



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 | edd@debian.org


Reply to: