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