Bug#570935: [debhelper-devel] Patch

2017-12-28 Thread Paul R. Tagliamonte
On Thu, Dec 28, 2017 at 5:11 AM, Niels Thykier  wrote:
> Hi Paul,
>
> Thanks for looking at improving debhelper.

Of course!

> I have been looking at this, and I am left with a concern and one piece
> of "bike-shedding".
>
> The situation:
> ==
> dh add-ons are order sensitive.  That is, there are cases where "--with
> a,b" vs. "--with b,a" behaves different (the only know example was the
> autotools-dev and autoreconf add-ons, where you always wanted --with
> autotools-dev,autoreconf - in that order).
>
> This is a nasty misfeature.  Unfortunately, it is a design flaw and
> cannot be trivially fixed without rewriting the entire dh add-on system.
>
> The concern:
> 
>
> A package maintainer can trivially shuffle the order of two add-ons, but
> the builder does not have this option.  With the above mentioned
> "misfeature", I foresee that eventually someone will need to place an
> add-on in a different order than this patch allows (e.g. so they can
> inject theirs in the middle of two add-ons enabled by the package
> maintainer).
>
> I think the best solution here is for someone (probably me) to sit down
> and redesign the add-on system to avoid/fix the above misfeature.  I
> suppose this can be done later if that ever becomes relevant (with this
> mail just serving to record the issue to cluebat myself if/when that
> becomes relevant).


Yeah, that's a nasty one. I added a warning in the docs for folks to not
use this envvar if at all possible, so hopefully this prevents this
from causing that situation to become more complex.

> The bike-shedding:
> ==
>
> I would prefer that the name of the variable(s) uses "add-on" / "ADDON"
> (e.g. DH_EXTRA_ADDONS) instead of WITH (DH_WITH).  What it controls is
> which adds you enable - "WITH" says nothing about what it does (I
> appreciate it is a reference to the command line option, but I think an
> "ADDONS"-based name will be less confusing to newcomers/people with
> less/no debhelper experience).

I hated the name DH_WITH, so great name, updated patch attached! I
built and tested the new patch, and it still appears to work!

> Thanks,
> ~Niels
>

Thanks, Niels,
  Paul



-- 
:wq
From 69a26c09d5a5cbd0613b9dada5caa6a4d632c912 Mon Sep 17 00:00:00 2001
From: Paul Tagliamonte 
Date: Tue, 12 Dec 2017 23:35:39 -0500
Subject: [PATCH] Add DH_EXTRA_ADDONS env variable to specify local addons.

This is intended to be used by downstreams or specific local configurations
that require a debhelper addon to be run during multiple builds without
having to patch a large number of rules file. If at all possible, this should
be avoided in favor of a --with flag in the rules file.
---
 debhelper.pod | 12 
 dh|  1 +
 2 files changed, 13 insertions(+)

diff --git a/debhelper.pod b/debhelper.pod
index dd73c3f9..4cb18257 100644
--- a/debhelper.pod
+++ b/debhelper.pod
@@ -958,6 +958,18 @@ your package is built.
 Multiple things to exclude can be separated with colons, as in
 

Bug#570935: [debhelper-devel] Patch

2017-12-28 Thread Niels Thykier
Paul R. Tagliamonte:
> Hey all,
> 
> Please keep me on CC, I'm not subscribed
> 
> Just bumping this to the development list too. The patch seems to work
> fine here. Can someone provide some review or consider merging it?
> 
> Thanks!
>   Paul
> 
> On Tue, Dec 12, 2017 at 11:39 PM, Paul R. Tagliamonte  
> wrote:
>> tags 570935 + patch
>> thanks
>>
>> Patch adding a DH_WITH environment var attached.
>>
>> --
>> :wq
> 
> 
> 

Hi Paul,

Thanks for looking at improving debhelper.

I have been looking at this, and I am left with a concern and one piece
of "bike-shedding".

The situation:
==
dh add-ons are order sensitive.  That is, there are cases where "--with
a,b" vs. "--with b,a" behaves different (the only know example was the
autotools-dev and autoreconf add-ons, where you always wanted --with
autotools-dev,autoreconf - in that order).

This is a nasty misfeature.  Unfortunately, it is a design flaw and
cannot be trivially fixed without rewriting the entire dh add-on system.

The concern:


A package maintainer can trivially shuffle the order of two add-ons, but
the builder does not have this option.  With the above mentioned
"misfeature", I foresee that eventually someone will need to place an
add-on in a different order than this patch allows (e.g. so they can
inject theirs in the middle of two add-ons enabled by the package
maintainer).

I think the best solution here is for someone (probably me) to sit down
and redesign the add-on system to avoid/fix the above misfeature.  I
suppose this can be done later if that ever becomes relevant (with this
mail just serving to record the issue to cluebat myself if/when that
becomes relevant).

The bike-shedding:
==

I would prefer that the name of the variable(s) uses "add-on" / "ADDON"
(e.g. DH_EXTRA_ADDONS) instead of WITH (DH_WITH).  What it controls is
which adds you enable - "WITH" says nothing about what it does (I
appreciate it is a reference to the command line option, but I think an
"ADDONS"-based name will be less confusing to newcomers/people with
less/no debhelper experience).

Thanks,
~Niels