Debian Bug report logs -
#863887
debhelper: Broken handling of -indep/-arch override target in 10.3+
Reported by: Gianfranco Costamagna <locutusofborg@debian.org>
Date: Thu, 1 Jun 2017 15:27:01 UTC
Severity: serious
Found in versions debhelper/10.3, debhelper/10.4
Fixed in version debhelper/10.5
Done: Niels Thykier <niels@thykier.net>
Bug is archived. No further changes may be made.
Toggle useless messages
Report forwarded
to debian-bugs-dist@lists.debian.org, Debhelper Maintainers <debhelper-devel@lists.alioth.debian.org>:
Bug#863887; Package src:debhelper.
(Thu, 01 Jun 2017 15:27:04 GMT) (full text, mbox, link).
Acknowledgement sent
to Gianfranco Costamagna <locutusofborg@debian.org>:
New Bug report received and forwarded. Copy sent to Debhelper Maintainers <debhelper-devel@lists.alioth.debian.org>.
(Thu, 01 Jun 2017 15:27:04 GMT) (full text, mbox, link).
Message #5 received at submit@bugs.debian.org (full text, mbox, reply):
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 :)
cheers,
G.
Marked as found in versions debhelper/10.4.
Request was from Gianfranco Costamagna <locutusofborg@debian.org>
to control@bugs.debian.org.
(Thu, 01 Jun 2017 15:39:02 GMT) (full text, mbox, link).
Severity set to 'serious' from 'normal'
Request was from Gianfranco Costamagna <locutusofborg@debian.org>
to control@bugs.debian.org.
(Thu, 01 Jun 2017 15:39:03 GMT) (full text, mbox, link).
Information forwarded
to debian-bugs-dist@lists.debian.org, Debhelper Maintainers <debhelper-devel@lists.alioth.debian.org>:
Bug#863887; Package src:debhelper.
(Thu, 01 Jun 2017 16:00:08 GMT) (full text, mbox, link).
Acknowledgement sent
to Iain Lane <laney@debian.org>:
Extra info received and forwarded to list. Copy sent to Debhelper Maintainers <debhelper-devel@lists.alioth.debian.org>.
(Thu, 01 Jun 2017 16:00:08 GMT) (full text, mbox, link).
Message #14 received at 863887@bugs.debian.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
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.
--
Iain Lane [ iain@orangesquash.org.uk ]
Debian Developer [ laney@debian.org ]
Ubuntu Developer [ laney@ubuntu.com ]
[signature.asc (application/pgp-signature, inline)]
Changed Bug title to 'debhelper: Broken handling of -indep/-arch override target in 10.3+' from 'debhelper: not running autoreconf anymore with compat level 9'.
Request was from Niels Thykier <niels@thykier.net>
to control@bugs.debian.org.
(Thu, 01 Jun 2017 18:09:02 GMT) (full text, mbox, link).
Marked as found in versions debhelper/10.3.
Request was from Niels Thykier <niels@thykier.net>
to control@bugs.debian.org.
(Thu, 01 Jun 2017 18:09:03 GMT) (full text, mbox, link).
Information forwarded
to debian-bugs-dist@lists.debian.org, Debhelper Maintainers <debhelper-devel@lists.alioth.debian.org>:
Bug#863887; Package src:debhelper.
(Thu, 01 Jun 2017 18:24:04 GMT) (full text, mbox, link).
Acknowledgement sent
to Niels Thykier <niels@thykier.net>:
Extra info received and forwarded to list. Copy sent to Debhelper Maintainers <debhelper-devel@lists.alioth.debian.org>.
(Thu, 01 Jun 2017 18:24:04 GMT) (full text, mbox, link).
Message #23 received at 863887@bugs.debian.org (full text, mbox, reply):
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
Added tag(s) pending.
Request was from Niels Thykier <niels@thykier.net>
to control@bugs.debian.org.
(Sun, 04 Jun 2017 13:33:02 GMT) (full text, mbox, link).
Reply sent
to Niels Thykier <niels@thykier.net>:
You have taken responsibility.
(Sun, 25 Jun 2017 17:06:21 GMT) (full text, mbox, link).
Notification sent
to Gianfranco Costamagna <locutusofborg@debian.org>:
Bug acknowledged by developer.
(Sun, 25 Jun 2017 17:06:21 GMT) (full text, mbox, link).
Message #30 received at 863887-close@bugs.debian.org (full text, mbox, reply):
Source: debhelper
Source-Version: 10.5
We believe that the bug you reported is fixed in the latest version of
debhelper, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 863887@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Niels Thykier <niels@thykier.net> (supplier of updated debhelper package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Format: 1.8
Date: Sun, 25 Jun 2017 17:00:00 +0000
Source: debhelper
Binary: debhelper dh-systemd
Architecture: source
Version: 10.5
Distribution: unstable
Urgency: medium
Maintainer: Debhelper Maintainers <debhelper-devel@lists.alioth.debian.org>
Changed-By: Niels Thykier <niels@thykier.net>
Description:
debhelper - helper programs for debian/rules
dh-systemd - debhelper add-on to handle systemd unit files - transitional pack
Closes: 761024 858467 861852 862844 863447 863887 863961 865363 865708
Changes:
debhelper (10.5) unstable; urgency=medium
.
* Upload to unstable. (Closes: #865363)
.
[ Niels Thykier ]
* dh_installman: Remove unncessary "chown" call that made things a
lot slower. Thanks to Kurt Roeckx for reporting it.
* dh_installman: Fix wrong permission of man pages (set 0755 instead
of 0644). Regression introduced in 10.2.2.
* dh_installman: Batch chmod calls to reduce the overhead for
packages with many manpages.
* dh: Undo an unsafe optimisation that caused "-indep" and "-arch"
override targets to be ignored. Thanks to Gianfranco Costamagna
for reporting it and Iain Lane for tracing it to the commit
that introduced the issue. (Closes: #863887)
* dh_clean, dh_prep: Bulk delete most files and directories, which
gives a noticeable speed up for source packages building many
binary packages.
* dh_shlibdeps: Avoid creating debian/<pkg>/DEBIAN directory if it
is not needed.
* Dh_Lib.pm: Fix typo in error message.
* Dh_Lib.pm: Rewrite install_* to use File::Copy to avoid the
overhead of a fork+exec per file. For simplicity, the verbose
output still claim debhelper uses "install -p -m <mode>" for this.
* Dh_Lib.pm: Replace most of the fork+exec calls to mv for simple
file renames.
* Dh_Lib.pm: Add sub to make common dh_* tools do their thing in
parallel with very little coding effort. This parallel support
accounts for DEB_BUILD_OPTIONS to set the upper limit.
* dh_fixperms: Run package updates in parallel if DEB_BUILD_OPTIONS
permits it.
* dh_installchangelogs: Ditto.
* dh_compress: Ditto.
* dh_installman: Ditto.
* dh_genchanges: Ditto.
* dh_shlibdeps: Ditto.
* dh_md5sums: Ditto.
* dh_builddeb: Rewrite the hand-written parallel code to use the new
simpler way of doing it.
* dh_shlibdeps: Avoid calling file(1) on debug symbols.
* SUPPORT-POLICY: Include new document that describes the current
support policy of debhelper compat levels.
* Dh_Lib.pm: Pass ":unix" layer when using the ":gzip" layer due to
PerlIO-gzip bug RT#114557.
* Dh_Lib.pm: Ignore empty dpkg-architecture variables.
(Closes: #862844)
* dh_installchangelogs: Avoid trying to install a directory by default
as a changelog file. Thanks to Markus Koschany for reporting the
issue. (Closes: #861852)
* dh_installwm.1: Correct documentation to reflect the behaviour in
compat 10. Thanks to Robert Luberda for reporting the issue.
(Closes: #865708)
* dh_installcatalogs: Use explicit await triggers to avoid trigger
a lintian warning.
* dh_installman: In compat 11, attempt to detect the language of the
manpage based on the directory (/man/<LANG>/manX/) before using the
extension. This is more reliably for packages using dh_installman
to install manpages from the temporary install dir.
(Closes: #761024)
* dh_installcatalogs: Check the return code of close when generating
a catalog for sgml-base.
* Dh_Lib.pm: Emulate "install -d" with File::Path to avoid a fork+exec
for creating directories. For simplicity, the verbose output still
claim debhelper uses "install -d" for this.
* dh_auto_install: In compat 11, do noot create package build
directories (except if one of them happens to be the default
"destdir" for dh_auto_install).
.
[ Iain Lane ]
* Dh_Lib: Re-add warning + exit 0 for the -i/-a shortcut that was
added in 10.3. (Closes: #863961)
* dh_install: Pass --exclude/-X to dh_missing. (Closes: #863447)
.
[ Michael Stapelberg ]
* Dh_Getopt: Provide a more detailed error message when there are
no buildable packages caused by architecture restrictions.
(Closes: #858467)
* Dh_Lib: Split package_arch($package) into three distinct functions.
Checksums-Sha1:
07141fe9b0b28542d4591953788ab0d909f16d10 1725 debhelper_10.5.dsc
f83393626fad615a647fe04957c8bd4594b16f82 402388 debhelper_10.5.tar.xz
074f49f0995b86cafd65b2ada4daf6284f1405da 4561 debhelper_10.5_source.buildinfo
Checksums-Sha256:
feda090a3ecfa049fbb0f3701a03274c77a4eb12d0c7ac9148d6c659997070c6 1725 debhelper_10.5.dsc
9f551ddef6d8a3fdd87b9bda7bc1c6c9bc1d9d33e9fb906ca5429071ce85cd3e 402388 debhelper_10.5.tar.xz
bbd246e4cc6d7b6ea43dff1e6986069b66d5721b602f77518b9a82e6bf44bdbe 4561 debhelper_10.5_source.buildinfo
Files:
e83f0415bfc368d41c3babf5166aedb2 1725 devel optional debhelper_10.5.dsc
599c99263cc45149d428cdcc8489c143 402388 devel optional debhelper_10.5.tar.xz
21de809692a1041b548c01839a40d102 4561 devel optional debhelper_10.5_source.buildinfo
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEsxMaRR2/33ygW0GXBUu7n32AZEIFAllP63UACgkQBUu7n32A
ZEKkUw//X/EA/94cEznTnhxpgFmGNHgi8+V/t1LfkjgYU+iJzxOB2VuBfh3D0i86
wtXjbzZhMq/DvjNV031R53ZZkO1zuilkxsr6sUeQqVSiKA2LiQsySl1oSgtfaBKp
hHLLjSvrRY64iFdABLZKGCfRz98xyOVNLvUr1tbMBGu+VX10p3weYTmJoels7qbj
x3OHR6y8bxTtBp25sylu+Tx7mep8ATPyfhP0D3B/DJ59gBhnKvPqtlcK8H5idXU+
EQBv9cOlEAIRbd34N5xV42SSEHZMwbtAODZUWJ406NMMvCuEhtS/6Iel0D7906Ze
36afpB9QO85jvCeChGo9LR7r5v8q48NVjsNEII/305rK9Nsf/xsMF79d2IIc0BqL
LqMjVzs7FIeGhOH6yksa1e64ZejpJUuG/69XKpMzXkiTMBZ9iE/eadVXGjeNcz+n
Ztm8pBPxUvcjSob3IHE5fXtGZBgiOiOPQxiQ6PCKqF3cKbT6pyZStA2gh74JVWfh
+ceGSHrPHRTD7dlVXnCLnaA0GS+Z6B3rjlZeUrBUbn+UVI8El1J7zOSbVmy0EqJ4
IM8GsPIq6O6nZmClG2tJ52XUnIagG1EY+lifsO3BPLf4ebDACbWwy6655x0g2qcf
nYAWi/kVF6XrYt8ho2jcItZhBW/RtqtqOfot3vDuYY7DBL8XFcg=
=xboq
-----END PGP SIGNATURE-----
Bug archived.
Request was from Debbugs Internal Request <owner@bugs.debian.org>
to internal_control@bugs.debian.org.
(Mon, 24 Jul 2017 07:28:45 GMT) (full text, mbox, link).
Send a report that this bug log contains spam.
Debian bug tracking system administrator <owner@bugs.debian.org>.
Last modified:
Wed Jan 10 07:21:05 2018;
Machine Name:
beach
Debian Bug tracking system
Debbugs is free software and licensed under the terms of the GNU
Public License version 2. The current version can be obtained
from https://bugs.debian.org/debbugs-source/.
Copyright © 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson,
2005-2017 Don Armstrong, and many other contributors.