[debhelper-devel] Bug#863887: Bug#863887: debhelper: not running autoreconf anymore with compat level 9
Niels Thykier
niels at thykier.net
Thu Jun 1 18:20:00 UTC 2017
Iain Lane:
> On Thu, Jun 01, 2017 at 03:23:19PM +0000, Gianfranco Costamagna wrote:
>> Source: debhelper
>>
>> Version: 10.4
>> Severity: serious
>> Justification: breaks compat level 9 autoreconf feature
>>
>>
>> Hello,
>> as said, using debhelper 10.4 breaks my boinc builds,
>> because dh_autoreconf is not run automatically anymore
>> see this build log:
>> https://launchpadlibrarian.net/322079774/buildlog_ubuntu-artful-amd64.boinc_7.7.0+dfsg~git20170601+r23738~r7~ubuntu17.10.1_BUILDING.txt.gz
>> or this one:
>> http://debomatic-amd64.debian.net/distribution#experimental/boinc/7.6.33+dfsg-12/buildlog
>>
>> compat level used is 9,
>> we have --with autoreconf
>> and an override_dh_autoreconf call.
>>
>> please, ask me more details if you want, I'll do my best to give them to you :)
>
> It's caused by 80c955221e83327efb984845f59648678c729978.
>
> boinc has an empty override_dh_autoreconf-indep target. Before this
> commit we would run dh_autoreconf -Nboinc - because the else branch
> inside the foreach loop would put the package name in @rest and -Nboinc
> in @options which causes the calling code to call dh_autoreconf. Now,
> because we skip the foreach loop entirely due to the empty target, the
> parameters are never constructed and we simply skip over dh_autoreconf.
>
> Unless you have a better idea, I think that commit should be reverted.
> The loop is still required for empty -arch and -indep targets to
> construct the -N options.
>
> [...]
Thanks for tracking the bug to the commit.
I think a trivial fix for this will be to merge the two "if"-statements:
"""
if (defined $override_type) {
if ($has_explicit_target) {
"""
To
"""
if ($has_explicit_target or defined(override_type)) {
"""
That should enable "free" overrides when it is necessary to completely
discard a command.
Additionally, there is another patch lying around that might make it
easier to run the inner loop (by replacing package_arch with an
"package_is_arch_all"). That should make -indep/-arch reasonable cheap
as well
Thanks,
~Niels
More information about the debhelper-devel
mailing list