Debian Bug report logs - #940571
dpkg-buildflags: Add support for an optimize area for things like LTO

version graph

Package: src:dpkg; Maintainer for src:dpkg is Dpkg Developers <debian-dpkg@lists.debian.org>;

Reported by: Matthias Klose <doko@debian.org>

Date: Tue, 17 Sep 2019 12:39:01 UTC

Severity: normal

Tags: moreinfo

Found in version dpkg/1.19.7

Fixed in version dpkg/1.21.0

Done: Guillem Jover <guillem@debian.org>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#940571; Package src:dpkg. (Tue, 17 Sep 2019 12:39:06 GMT) (full text, mbox, link).


Acknowledgement sent to Matthias Klose <doko@debian.org>:
New Bug report received and forwarded. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Tue, 17 Sep 2019 12:39:06 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: Matthias Klose <doko@debian.org>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: dpkg-buildflags should support an optimization area for things like lto and pgo
Date: Tue, 17 Sep 2019 14:36:44 +0200
[Message part 1 (text/plain, inline)]
Package: src:dpkg
Version: 1.19.7
Tags: patch

Please add an optimization area (opt, optimization) for extra optimizations like 
lto (link time optimization) and pgo (profile guided optimization).

lto can be directly translated into compiler flags, as seen in the attached 
patch, assuming that no lto across package boundaries is done (ensured by the 
debhelper patch in #939656).  The patch assumes that just nolto can be used to 
disable lto until an area is introduced in dpkg.

Some upstream packages also provide build support for lto builds, so for these 
an option should be given to disable the addition to the compiler flags (like 
the nolto in the proposed patch).

pgo doesn't directly translate into compiler flags, but almost always requires 
upstream support in the build system.  pgo usually is enabled by some configure 
options which are specific to the upstream build.  pgo usually requires running 
a profiling task, so this optimization probably should be disabled for cross 
builds, otoh, the cross build then is different to the native build (although it 
should create a functional identical package).

[lto.diff (text/x-patch, attachment)]

Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#940571; Package src:dpkg. (Wed, 09 Oct 2019 18:33:07 GMT) (full text, mbox, link).


Acknowledgement sent to Guillem Jover <guillem@debian.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Wed, 09 Oct 2019 18:33:07 GMT) (full text, mbox, link).


Message #10 received at 940571@bugs.debian.org (full text, mbox, reply):

From: Guillem Jover <guillem@debian.org>
To: Matthias Klose <doko@debian.org>, 940571@bugs.debian.org
Subject: Re: Bug#940571: dpkg-buildflags should support an optimization area for things like lto and pgo
Date: Wed, 9 Oct 2019 20:28:32 +0200
Control: tag -1 - patch + moreinfo
Control: retitle -1 dpkg-buildflags: Add support for an optimize area for things like LTO

On Tue, 2019-09-17 at 14:36:44 +0200, Matthias Klose wrote:
> Package: src:dpkg
> Version: 1.19.7
> Tags: patch

> Please add an optimization area (opt, optimization) for extra optimizations
> like lto (link time optimization) and pgo (profile guided optimization).

> lto can be directly translated into compiler flags, as seen in the attached
> patch, assuming that no lto across package boundaries is done (ensured by
> the debhelper patch in #939656).  The patch assumes that just nolto can be
> used to disable lto until an area is introduced in dpkg.
> 
> Some upstream packages also provide build support for lto builds, so for
> these an option should be given to disable the addition to the compiler
> flags (like the nolto in the proposed patch).

I take you are requesting both adding this and also enabling LTO by
default?

I'm fine with the former (even implementing that myself), but the latter
would need to go through [Q] first. And I see this can cause breakage [O]
according to the OpenSUSE people.

[Q] <https://wiki.debian.org/Teams/Dpkg/FAQ#Q:_Can_we_add_support_for_new_default_build_flags_to_dpkg-buildflags.3F>
[O] <https://hubicka.blogspot.com/2019/05/gcc-9-link-time-and-inter-procedural.html>

> pgo doesn't directly translate into compiler flags, but almost always
> requires upstream support in the build system.  pgo usually is enabled by
> some configure options which are specific to the upstream build.  pgo
> usually requires running a profiling task, so this optimization probably
> should be disabled for cross builds, otoh, the cross build then is different
> to the native build (although it should create a functional identical
> package).

I don't see how dpkg can support PGO, so I'm excluding that from this
request, as it seems this would be pretty much unactionable.

Regards,
Guillem



Removed tag(s) patch. Request was from Guillem Jover <guillem@debian.org> to 940571-submit@bugs.debian.org. (Wed, 09 Oct 2019 18:33:07 GMT) (full text, mbox, link).


Added tag(s) moreinfo. Request was from Guillem Jover <guillem@debian.org> to 940571-submit@bugs.debian.org. (Wed, 09 Oct 2019 18:33:08 GMT) (full text, mbox, link).


Changed Bug title to 'dpkg-buildflags: Add support for an optimize area for things like LTO' from 'dpkg-buildflags should support an optimization area for things like lto and pgo'. Request was from Guillem Jover <guillem@debian.org> to 940571-submit@bugs.debian.org. (Wed, 09 Oct 2019 18:33:09 GMT) (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#940571; Package src:dpkg. (Thu, 10 Oct 2019 08:42:03 GMT) (full text, mbox, link).


Acknowledgement sent to Matthias Klose <doko@debian.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Thu, 10 Oct 2019 08:42:03 GMT) (full text, mbox, link).


Message #21 received at 940571@bugs.debian.org (full text, mbox, reply):

From: Matthias Klose <doko@debian.org>
To: Guillem Jover <guillem@debian.org>, 940571@bugs.debian.org
Subject: Re: Bug#940571: dpkg-buildflags should support an optimization area for things like lto and pgo
Date: Thu, 10 Oct 2019 10:39:23 +0200
On 09.10.19 20:28, Guillem Jover wrote:
> Control: tag -1 - patch + moreinfo
> Control: retitle -1 dpkg-buildflags: Add support for an optimize area for things like LTO
> 
> On Tue, 2019-09-17 at 14:36:44 +0200, Matthias Klose wrote:
>> Package: src:dpkg
>> Version: 1.19.7
>> Tags: patch
> 
>> Please add an optimization area (opt, optimization) for extra optimizations
>> like lto (link time optimization) and pgo (profile guided optimization).
> 
>> lto can be directly translated into compiler flags, as seen in the attached
>> patch, assuming that no lto across package boundaries is done (ensured by
>> the debhelper patch in #939656).  The patch assumes that just nolto can be
>> used to disable lto until an area is introduced in dpkg.
>>
>> Some upstream packages also provide build support for lto builds, so for
>> these an option should be given to disable the addition to the compiler
>> flags (like the nolto in the proposed patch).
> 
> I take you are requesting both adding this and also enabling LTO by
> default?

the infrastructure should provide both, having the option to enable it by a flag 
when it's not the default, and to disable it by default, when it's enabled by 
default.

> I'm fine with the former (even implementing that myself), but the latter
> would need to go through [Q] first. And I see this can cause breakage [O]
> according to the OpenSUSE people.
> 
> [Q] <https://wiki.debian.org/Teams/Dpkg/FAQ#Q:_Can_we_add_support_for_new_default_build_flags_to_dpkg-buildflags.3F>
> [O] <https://hubicka.blogspot.com/2019/05/gcc-9-link-time-and-inter-procedural.html>

well, yes, it breaks a few packages, more than a handful, but not the whole 
archive, and you can name these packages.  The question for now is how to name 
that option, and how to disable that on a per package basis. And we probably 
want to enable that for a subset of architectures first, which have been test 
built.  So the first thing is the name, so people can disable lto, before we 
even consider making it the default.

It's now on by default in Suse and Fedora, and I'm evaluating a complete Ubuntu 
test rebuild with lto on.  So there are a few things which need to be manually 
disabled, so I'm asking about the naming first. I don't think that lto by 
default is out of scope for bullseye.

>> pgo doesn't directly translate into compiler flags, but almost always
>> requires upstream support in the build system.  pgo usually is enabled by
>> some configure options which are specific to the upstream build.  pgo
>> usually requires running a profiling task, so this optimization probably
>> should be disabled for cross builds, otoh, the cross build then is different
>> to the native build (although it should create a functional identical
>> package).
> 
> I don't see how dpkg can support PGO, so I'm excluding that from this
> request, as it seems this would be pretty much unactionable.

The only thing it would do is to provide a common interface to enable/disable 
it, not an implementation.



Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#940571; Package src:dpkg. (Thu, 10 Oct 2019 11:57:03 GMT) (full text, mbox, link).


Acknowledgement sent to "Bernhard M. Wiedemann" <bwiedemann@suse.de>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Thu, 10 Oct 2019 11:57:03 GMT) (full text, mbox, link).


Message #26 received at 940571@bugs.debian.org (full text, mbox, reply):

From: "Bernhard M. Wiedemann" <bwiedemann@suse.de>
To: 940571@bugs.debian.org
Subject: LTO/PGO and reproducible builds
Date: Thu, 10 Oct 2019 13:41:35 +0200
LTO:
ensure you have that gcc patch
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91307

There might be few other related patches that our (SUSE's) Martin Liska
probably knows, but if you already have the -flto=auto, you probably got
the others, too.


PGO:
> The only thing it would do is to provide a common interface to enable/disable 
> it, not an implementation.

In openSUSE, we have a boolean %do_profiling RPM define
that can be used in individual .spec files, for example

https://github.com/bmwiedemann/openSUSE/blob/ca729bd0021b6ed6793807158bb3aabadbde4a4b/packages/b/bash/bash.spec#L418

Overall, it is still very hard to get reproducible builds with PGO
enabled, but you can see gzip and libsamplerate examples in
https://github.com/bmwiedemann/theunreproduciblepackage/tree/master/pgo
for places where it was possible.
Sometimes it might make sense to have a 2nd pgo value that answers the
question if performance is more important than reproducible build results.



Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#940571; Package src:dpkg. (Sat, 12 Oct 2019 04:12:03 GMT) (full text, mbox, link).


Acknowledgement sent to Guillem Jover <guillem@debian.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Sat, 12 Oct 2019 04:12:03 GMT) (full text, mbox, link).


Message #31 received at 940571@bugs.debian.org (full text, mbox, reply):

From: Guillem Jover <guillem@debian.org>
To: Matthias Klose <doko@debian.org>, 940571@bugs.debian.org
Subject: Re: Bug#940571: dpkg-buildflags should support an optimization area for things like lto and pgo
Date: Sat, 12 Oct 2019 06:08:17 +0200
On Thu, 2019-10-10 at 10:39:23 +0200, Matthias Klose wrote:
> On 09.10.19 20:28, Guillem Jover wrote:
> > I take you are requesting both adding this and also enabling LTO by
> > default?
> 
> the infrastructure should provide both, having the option to enable it by a
> flag when it's not the default, and to disable it by default, when it's
> enabled by default.

This is something provided for all supported features, but this does
not answer whether you are requesting this to be the default or not.

Or is your plan to enable this by default in gcc instead of via flags
passed by dpkg-buildflags?

> > I'm fine with the former (even implementing that myself), but the latter
> > would need to go through [Q] first. And I see this can cause breakage [O]
> > according to the OpenSUSE people.
> > 
> > [Q] <https://wiki.debian.org/Teams/Dpkg/FAQ#Q:_Can_we_add_support_for_new_default_build_flags_to_dpkg-buildflags.3F>
> > [O] <https://hubicka.blogspot.com/2019/05/gcc-9-link-time-and-inter-procedural.html>
> 
> well, yes, it breaks a few packages, more than a handful, but not the whole
> archive, and you can name these packages.  The question for now is how to
> name that option, and how to disable that on a per package basis. And we
> probably want to enable that for a subset of architectures first, which have
> been test built.  So the first thing is the name, so people can disable lto,
> before we even consider making it the default.

If you are suggesting repeating the same disaster that we have with
pie, with the default set by gcc being arch opt-in, then I'm honestly
less than interested in doing the same here, and I'd consider this a
direct wontfix. :/

> > > pgo doesn't directly translate into compiler flags, but almost always
> > > requires upstream support in the build system.  pgo usually is enabled by
> > > some configure options which are specific to the upstream build.  pgo
> > > usually requires running a profiling task, so this optimization probably
> > > should be disabled for cross builds, otoh, the cross build then is different
> > > to the native build (although it should create a functional identical
> > > package).
> > 
> > I don't see how dpkg can support PGO, so I'm excluding that from this
> > request, as it seems this would be pretty much unactionable.
> 
> The only thing it would do is to provide a common interface to
> enable/disable it, not an implementation.

Ok, I guess, given that using unknown features for known areas emits
warnings (even though it seems weird and unexpected to support a feature
for which dpkg-buildflags will never be able to emit flags for, and some
other name could be used for this, but consistency would be nice).

Regards,
Guillem



Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#940571; Package src:dpkg. (Sat, 12 Oct 2019 17:33:03 GMT) (full text, mbox, link).


Acknowledgement sent to Matthias Klose <doko@debian.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Sat, 12 Oct 2019 17:33:03 GMT) (full text, mbox, link).


Message #36 received at 940571@bugs.debian.org (full text, mbox, reply):

From: Matthias Klose <doko@debian.org>
To: Guillem Jover <guillem@debian.org>, 940571@bugs.debian.org
Cc: Holger Levsen <holger@layer-acht.org>
Subject: Re: Bug#940571: dpkg-buildflags should support an optimization area for things like lto and pgo
Date: Sat, 12 Oct 2019 19:31:34 +0200
On 12.10.19 06:08, Guillem Jover wrote:
> On Thu, 2019-10-10 at 10:39:23 +0200, Matthias Klose wrote:
>> On 09.10.19 20:28, Guillem Jover wrote:
>>> I take you are requesting both adding this and also enabling LTO by
>>> default?
>>
>> the infrastructure should provide both, having the option to enable it by a
>> flag when it's not the default, and to disable it by default, when it's
>> enabled by default.
> 
> This is something provided for all supported features, but this does
> not answer whether you are requesting this to be the default or not.

Not yet. But yes, it should be an option for bullseye.

> Or is your plan to enable this by default in gcc instead of via flags
> passed by dpkg-buildflags?

No, optimization flags are not turned on by default in GCC.

>>> I'm fine with the former (even implementing that myself), but the latter
>>> would need to go through [Q] first. And I see this can cause breakage [O]
>>> according to the OpenSUSE people.
>>>
>>> [Q] <https://wiki.debian.org/Teams/Dpkg/FAQ#Q:_Can_we_add_support_for_new_default_build_flags_to_dpkg-buildflags.3F>
>>> [O] <https://hubicka.blogspot.com/2019/05/gcc-9-link-time-and-inter-procedural.html>
>>
>> well, yes, it breaks a few packages, more than a handful, but not the whole
>> archive, and you can name these packages.  The question for now is how to
>> name that option, and how to disable that on a per package basis. And we
>> probably want to enable that for a subset of architectures first, which have
>> been test built.  So the first thing is the name, so people can disable lto,
>> before we even consider making it the default.
> 
> If you are suggesting repeating the same disaster that we have with
> pie, with the default set by gcc being arch opt-in, then I'm honestly
> less than interested in doing the same here, and I'd consider this a
> direct wontfix. :/
> 
>>>> pgo doesn't directly translate into compiler flags, but almost always
>>>> requires upstream support in the build system.  pgo usually is enabled by
>>>> some configure options which are specific to the upstream build.  pgo
>>>> usually requires running a profiling task, so this optimization probably
>>>> should be disabled for cross builds, otoh, the cross build then is different
>>>> to the native build (although it should create a functional identical
>>>> package).
>>>
>>> I don't see how dpkg can support PGO, so I'm excluding that from this
>>> request, as it seems this would be pretty much unactionable.
>>
>> The only thing it would do is to provide a common interface to
>> enable/disable it, not an implementation.
> 
> Ok, I guess, given that using unknown features for known areas emits
> warnings (even though it seems weird and unexpected to support a feature
> for which dpkg-buildflags will never be able to emit flags for, and some
> other name could be used for this, but consistency would be nice).

CC'ing Holger here, as this came up with reproducible builds.  PGO and 
reproducible builds are currently a no-go.  So having a nopgo flag would enable 
testing reproducible builds without pgo, if they succeed or not.

Mathias



Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#940571; Package src:dpkg. (Tue, 22 Dec 2020 18:48:02 GMT) (full text, mbox, link).


Acknowledgement sent to Matthias Klose <doko@debian.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Tue, 22 Dec 2020 18:48:02 GMT) (full text, mbox, link).


Message #41 received at 940571@bugs.debian.org (full text, mbox, reply):

From: Matthias Klose <doko@debian.org>
To: Helmut Grohne <helmut@subdivi.de>, 977822@bugs.debian.org
Cc: 940571@bugs.debian.org
Subject: Re: Bug#977822: binutils FTCBFS: pgo invalid for cross builds
Date: Tue, 22 Dec 2020 19:44:57 +0100
[CCing bug 940571]

On 12/21/20 1:01 PM, Helmut Grohne wrote:
> Source: binutils
> Version: 2.35.1-5
> Tags: patch
> User: debian-cross@lists.debian.org
> Usertags: ftcbfs
> 
> binutils fails to cross build from source since --enable-pgo-build=lto.
> This configuration fundamentally cannot work during cross builds. I
> think this is the point where we cannot achieve cross vs native
> reproducibility and should quite simply disable pgo for cross builds
> only to have them build at all. Please consider applying the attached
> patch.

yes, I will do that, and I will also guard that with a conditional for native
builds, when 'nopgo' is found in DEB_BUILD_OPTIONS.

Matthias



Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#940571; Package src:dpkg. (Wed, 27 Jan 2021 12:33:02 GMT) (full text, mbox, link).


Acknowledgement sent to Matthias Klose <doko@debian.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Wed, 27 Jan 2021 12:33:02 GMT) (full text, mbox, link).


Message #46 received at 940571@bugs.debian.org (full text, mbox, reply):

From: Matthias Klose <doko@debian.org>
To: 940571@bugs.debian.org
Subject: Re: dpkg-buildflags: Add support for an optimize area for things like LTO
Date: Wed, 27 Jan 2021 13:31:37 +0100
In reply to the patch provided at
https://git.hadrons.org/cgit/debian/dpkg/dpkg.git/commit/?h=next/1.21.x&id=e001449c6ce437a5827bcb1c582d600874b8a87f

for now this is a no-op patch, because -flto isn't passed to to the link
commands.  -flto=auto also needs to be passed in LDFLAGS. -ffat-lto-objects
isn't needed in LDFLAGS, but doesn't hurt.



Message sent on to Matthias Klose <doko@debian.org>:
Bug#940571. (Sun, 16 May 2021 01:03:03 GMT) (full text, mbox, link).


Message #49 received at 940571-submitter@bugs.debian.org (full text, mbox, reply):

From: Guillem Jover <guillem@debian.org>
To: 940571-submitter@bugs.debian.org
Subject: Bug#940571 in package dpkg marked as pending
Date: Sun, 16 May 2021 02:33:43 +0200
Control: tag 940571 pending

Hi!

Bug #940571 in package dpkg reported by you has been fixed in
the dpkg/dpkg.git Git repository. You can see the changelog below, and
you can check the diff of the fix at:

    https://git.dpkg.org/cgit/dpkg/dpkg.git/diff/?id=9f9d22129

---
Dpkg::Vendor::Debian: Add new lto feature in new optimize area

This new setting, disabled by default, enables the Link Time
Optimization.

Closes: #940571




Added tag(s) pending. Request was from Guillem Jover <guillem@debian.org> to 940571-submitter@bugs.debian.org. (Sun, 16 May 2021 01:03:03 GMT) (full text, mbox, link).


Reply sent to Guillem Jover <guillem@debian.org>:
You have taken responsibility. (Sun, 05 Dec 2021 18:21:11 GMT) (full text, mbox, link).


Notification sent to Matthias Klose <doko@debian.org>:
Bug acknowledged by developer. (Sun, 05 Dec 2021 18:21:12 GMT) (full text, mbox, link).


Message #56 received at 940571-close@bugs.debian.org (full text, mbox, reply):

From: Debian FTP Masters <ftpmaster@ftp-master.debian.org>
To: 940571-close@bugs.debian.org
Subject: Bug#940571: fixed in dpkg 1.21.0
Date: Sun, 05 Dec 2021 18:18:46 +0000
Source: dpkg
Source-Version: 1.21.0
Done: Guillem Jover <guillem@debian.org>

We believe that the bug you reported is fixed in the latest version of
dpkg, 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 940571@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Guillem Jover <guillem@debian.org> (supplier of updated dpkg 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: SHA512

Format: 1.8
Date: Sun, 05 Dec 2021 16:32:45 +0100
Source: dpkg
Architecture: source
Version: 1.21.0
Distribution: unstable
Urgency: medium
Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org>
Changed-By: Guillem Jover <guillem@debian.org>
Closes: 582921 871420 940571 963087 980066 980527 980963 985401 985444 986103 989824 991190 993991 995387 996044 996959 999600 1000421 1000557
Changes:
 dpkg (1.21.0) unstable; urgency=medium
 .
   [ Guillem Jover ]
   * dpkg-genchanges: Include orig tarball on source package renames.
     Closes: #980066
   * scripts: Consider SHA-1 and RIPEMD-160 weak algorithms in OpenPGP
     signatures.
   * dpkg: During unpack print a removal message due to Conflicts.
     Closes: #985401
   * scripts: Add zsh completions for dpkg-parsechangelog.
     Thanks to Daniel Shahaf <danielsh@apache.org>. Closes: #986103
   * dpkg-buildpackage: When printing build type match the extension exactly.
     Closes: #989824
   * dpkg-maintscript-helper: Use xargs -I argument instead of deprecated -i.
   * dpkg-maintscript-helper: Quote variable inside ${} to avoid pattern match.
   * libdpkg: Fix dpkg_fsys_get_path() to always strip leading / and ./.
   * libdpkg: Set the default database directory relative to the system root.
   * dpkg-divert, dpkg-statoverride: Set admindir after instdir.
   * update-alternatives: Fix admindir setting.
     Prompted by Johannes Schauer Marin Rodrigues <josch@debian.org>.
   * dselect: Honor DPKG_ADMINDIR environment variable.
   * dpkg-query, dpkg-trigger, dselect: Add support for setting the root
     directory.
   * dpkg-fsys-usrunmess: Move forced reconfiguration to the last step.
     See #991190.
   * dpkg-fsys-usrunmess: Install a local policy-rc.d to ignore service
     restarts. Closes: #991190
   * dpkg-fsys-usrunmess: Do not fail when removing lingering directories.
   * dpkg-fsys-usrunmess: Generate a regression prevention package.
   * dpkg-fsys-usrunmess: Fix typo in debug message.
   * dpkg: Distinguish deconfiguration message for installation and multi-arch
     syncs.
   * dpkg-buildpackage: Add new --changes-file option.
     Prompted by Niels Thykier <niels@thykier.net>.
   * dpkg-buildpackage: Add new --buildinfo-file option.
   * dpkg: Rework --assert-<feature> logic to be more robust.
     Prompted by Helmut Grohne <helmut@subdivi.de>.
     Prompted by David Kalnischkies <donkult@debian.org>.
   * dpkg: Improve --assert-<feature> descriptions.
   * dpkg: Add a new --assert-help option.
   * scripts/mk: Pass DEB_BUILD_PATH to dpkg-buildflags. See #985553.
   * dpkg-db-backup: New program factored out from Debian-specific daily cron.
   * dpkg-db-backup: Accept an option to override the number of rotation cycles.
   * dpkg-db-backup: Honor the admindir set at configure time.
   * update-alternatives: Fix --auto and --set-selections output progress.
   * update-alternatives: Print defaults for configuration and database
     pathnames.
   * scripts: Replace shebang in dpkg-error shell library with shellcheck
     directive.
   * dpkg-buildpackage: Add support for terse DEB_BUILD_OPTIONS.
   * dpkg-mergechangelogs: Add new --merge-unreleased option. Closes: #582921
   * dpkg: Restore fallback to "new-prerm failed-upgrade" for downgrades.
     Analysis by Ian Jackson <ijackson@chiark.greenend.org.uk>. Closes: #996959
   * dselect: Use safe temporary file creation in methods setup.
   * dselect: Remove bashism from update script in multicd method.
   * dpkg: Fix --verify to handle missing or inaccessible pathnames.
     Closes: #963087
   * dpkg: Add partial --verify support for mode checks.
   * Use «digest» instead of «hash» in output messages.
     Reported by Sven Joachim <svenjoac@gmx.de>.
   * dselect: use `grep -E` instead of `egrep`.
     Thanks to Ville Skyttä <ville.skytta@iki.fi>. Closes: #999600
   * libdpkg: Fix memory leak on End Of Tape condition in tar parser.
   * dpkg: Fix short lived memory leak with --recursive.
   * dpkg: Fix conffile removal-on-upgrade handling. Closes: #995387
   * dpkg-deb: Fix conffile name length tracking on remove-on-upgrade parsing.
     Reported by uau on IRC.
   * Architecture support:
     - Clarify that the regex columns need to be ordered to match first.
     - Add support for ARCv2 CPU. Closes: #980963
       Based on a patch by Alexey Brodkin <Alexey.Brodkin@synopsys.com>.
   * Portability:
     - start-stop-daemon: Define SOCK_NONBLOCK to 0 if not defined.
     - libdpkg: Add support for AIX to dpkg_get_progname().
   * Perl modules:
     - Dpkg::Source::Quilt: Add hint to check missing files on patch apply
       failures.
       Reported by Joseph Nahmias <jello@debian.org>.
     - Dpkg::Changelog::Parse: Require format plugins to inherit from
       Dpkg::Changelog.
     - Dpkg::OpenPGP: Refactor openpgp implementation execution into a new
       function.
     - Dpkg::Vendor::Debian: Refactor compiler flag names into an array.
     - Dpkg::Vendor::Debian: Add new lto feature in new optimize area.
       Closes: #940571
     - Test::Dpkg: Print actual error messages in test_neutralize_checksums().
     - Dpkg::Deps: Use current_sub feature for __SUB__.
     - Dpkg::BuildFlags: Add support for ASFLAGS.
       See https://salsa.debian.org/debian/debhelper/-/merge_requests/50.
     - Dpkg::Compression: Use gzip --rsyncable unconditionally.
     - Dpkg::Changelog::Entry::Debian: Fix full month misuse warning.
     - Dpkg::Shlibs::Symbol: Emit a warning on fully qualified symver patterns.
       Closes: #993991
     - Dpkg::Control::HashCore: Add new keep_duplicate option.
     - Dpkg::Control::FieldsCore: Add new field_parse_binary_source().
       Closes: #980527
     - Dpkg::Control::FieldsCore: Fix types allowed for
       field_parse_binary_source().
       Reported by Johannes Schauer Marin Rodrigues <josch@debian.org>.
     - Dpkg::Shlibs::Objdump: Fix apply_relocations to work with versioned
       symbols. Closes: #1000421
     - Dpkg::Vendor::Ubuntu: Update Maintainer field logic to include
       “canonical”. Based on a patch by
       William 'jawn-smith' Wilson <william.wilson@canonical.com>.
       Closes: #1000557
     - Dpkg::Source::Package::V2: Add hint about version matching source tree.
       Based on a patch by Samuel Henrique <samueloph@debian.org>.
       Closes: #996044
   * Documentation:
     - man: Itemize dpkg-gensymbols -c levels.
     - man: Add man page for deb-md5sums(5).
       Reported by Maxim Cournoyer (on IRC).
     - man: Switch the Architecture field in deb-control(5) to required.
       Reported by Maxim Cournoyer (on IRC).
     - man: Make clear that dpkg-query arguments accept multiple values.
       Prompted by Rémi Rampin <remirampin@gmail.com>. See #913781.
     - man: Document dpkg-query --search and --listfiles output formats.
     - doc: Fix incorrect use of ‘an’ article.
     - doc: Update coding style to document POD instead of troff.
     - doc: Update THANKS file.
     - doc: Annotate current maintainer start year.
     - doc: Sort maintenance information chronologically.
     - man: Add versions since features where introduced.
     - man: Further clarify when re-inclusions of excluded pathnames happen.
       Closes: #871420
     - doc: Update Doxygen configuration from version 1.9.1.
     - doc: Improve description of dpkg suite.
       Prompted by Fabrice Bauzac-Stehly <noon@mykolab.com>.
     - man: Add a reference to where the Installed-Size algorithm is described.
     - man: Improve dpkg --verify-format rpm format documentation.
     - man: Document in deb-substvars(5) what ${} is good for.
       Prompted by Paul Wise <pabs@debian.org>.
     - man: Document in dpkg-architecture(1) target being useful for emulators
       too. Prompted by Helmut Grohne <helmut@subdivi.de>.
     - man: Document in dpkg-query(1) full --search and --listfiles output
       format. Prompted by Johannes Schauer Marin Rodrigues <josch@debian.org>.
   * Code internals:
     - Remove irrelevant or obsolete FIXME markers.
     - Turn FIXME markers denoting pending actions into TODO markers.
     - Turn FIXME markers giving historic information into simple Notes.
     - update-alternatives: Turn FIXME for explicit behavior choice into an XXX.
     - Use localtime_r() instead of localtime().
     - libdpkg: Remove MDEBUG support from m_malloc() implementation.
     - libdpkg: Mark dpkg_arch_unmark() arch_remove argument as const.
     - libdpkg: Mark treewalk_open() func argument as const.
     - dpkg: Mark ignore_depends() pkg argument as const.
     - dpkg: Mark deb_parse_conffiles() pkg argument as const.
     - libcompat: Remove local setexecfilecon() and require libselinux 2.3.
     - libdpkg: Add missing DPKG_{BEGIN,END}_DECLS in header files.
     - dpkg: Move SE Linux function declarations into its own header file.
     - dpkg: Move the command action enum to its own header file.
     - dpkg: Switch from including "main.h" to "force.h".
     - dselect: Rename dme() to display_menu_entry().
     - dpkg: Split function handling deconfiguration due to install and removal.
     - libdpkg: Add new ACTION_MUX macro for continued options.
     - dpkg: Refactor --assert-<feature> handling to be data driven.
     - dpkg-fsys-usrunmess: Do not use interpolated strings for literals.
     - dpkg-db-backup: Add a license header comment.
   * Build system:
     - Fallback to $^X and 'perl' if $Config{perlpath} is unset or empty.
     - Bump minimal Perl version to 5.28.1.
     - Remove redundant localedir and pkgconfdir initializations.
     - Check for libsocket.
     - Do not set have_libmd on the found branch in AC_SEARCH_LIBS.
     - Switch DPKG_FUNC_C99_SNPRINTF from AC_LANG_SOURCE to AC_LANG_PROGRAM.
     - Check whether fsync(3) works on directories.
     - Remove obsolete AC_HEADER_STDC.
     - Detect appropriate sed program at configure time.
     - Rename DPKG_DEB_PROG_TAR to DPKG_PROG_TAR.
     - Parametrize the backups directory with a configure option.
     - Add a check for symlinks in the git repository.
     - Rename shell scripts to .sh.
     - Switch from hardcoded /run to parametrized runstatedir.
     - Use new Dpkg::Control keep_duplicate option in gen-changelog.
     - Use title-case for field in gen-changelog.
     - Execute run-script via CONFIG_SHELL.
       Reported by Larkin Nickle <me@larbob.org>.
     - Quote variables containing pathnames in m4 macros.
     - Add support for commit message fix up machinery in gen-changelog.
   * Packaging:
     - Use absolute pathnames in .install debhelper fragments.
     - Remove unused dh_installcron call for arch-indep targets.
     - Add support for a native systemd timer. Closes: #985444
     - Create auotpkgtest installation directory.
     - Bump Standards-Version to 4.6.0 (no changes needed).
   * Test suite:
     - Pass --ignore-builtin-builddeps to dpkg-buildpackage.
     - Use can_run() instead of find_command().
     - Add descriptions to makefile test runners.
     - Add unit tests for architecture bijective mapping property.
     - Suppress cppcheck constParameter check.
     - Suppress bogus cppcheck for nullPointerRedundantCheck.
     - Mark external sourced shell files for checking.
     - Ignore new shellcheck checks.
     - Remove shipped dpkg database.
     - Add re-inclusion of symlink case to t-filtering. See #871420.
     - Generate symlink during test build time.
     - Remove superfluous long filename.
     - Refactor parse_ctrl() from parse_dsc().
     - Update codespell stopwords.
 .
   [ Helge Kreutzmann ]
   * deb-md5sums.pod: Fix typo.
 .
   [ Add programs translations ]
   * Occitan (Quentin PAGÈS).
 .
   [ Update dselect translations ]
   * German (Sven Joachim).
 .
   [ Update man pages translations ]
   * German (Helge Kreutzmann).
 .
   [ Update programs translations ]
   * German (Sven Joachim).
   * Polish (Marcin Owsiany, Łukasz Dulny).
 .
   [ Update scripts translations ]
   * German (Helge Kreutzmann).
Checksums-Sha1:
 0470585880a60d9f642e5e34663f0e3338875ef5 2120 dpkg_1.21.0.dsc
 27326e5edfc3d834c35b896cfff320cbae5ccfe5 4985476 dpkg_1.21.0.tar.xz
 012cb5e4cfcf1b87bc5a7e6b6acd6f0cff8e1d3b 7700 dpkg_1.21.0_amd64.buildinfo
Checksums-Sha256:
 09e3fdf4f343a3cef150da76f6de267502f6beea3b4edd3bc191bd6d9b1759cb 2120 dpkg_1.21.0.dsc
 e98e3b8cc49ea5b35c4b62a2a363c56ad2fb46929cad0d35c6cdca9d64c8db93 4985476 dpkg_1.21.0.tar.xz
 eed6d2231822f37edb624fbb9ecfbe46e701f276c1475286c8ba9b7826462f49 7700 dpkg_1.21.0_amd64.buildinfo
Files:
 24c31ee2e751f1256ad5b219342e3bf6 2120 admin required dpkg_1.21.0.dsc
 511eac4cf058388ad14d54c38c441163 4985476 admin required dpkg_1.21.0.tar.xz
 9f9d15cab85c13655e9465ebb001dd81 7700 admin required dpkg_1.21.0_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEETz509DYFDBD1aWV0uXK/PqSuV6MFAmGs31MACgkQuXK/PqSu
V6MzwQ/7B/aQ35JxL1GOC0G2opkzIsu0Id1EAl6h7t19/mOltn4QgbOoLW4uSa8E
4fV2GuvnpCxlqowL+j8nN+x50FI/u/gZuObuKQ5p+aoahEhlLyxfDpVyHbl7oTzl
BY2dl31ybDEjrmvYMepDtH1wLx6sfbqyIeT1kTToKmh4k76uxXb3lToVJXuvSL2r
SrYiTAqq9ncikK7V7KKckY5o6aizlwF+DqLWGHE4B0w/Cau1CobscmtOq5bqHTHD
I3ouq3C1NA3KVddLky7dNLq+YFn+/fmEVki2UkS7a2Y9XSyByPf+NPrsWZ/1d5Zy
/p0eTWtw4gyj4zIlrpZucfZTvBYPCm3m+ZtyQ2Qs7Nrk/vFlKi3dNKjG6zWOeQoQ
PmGCHMiBH/DmiO9Ak8Y9ZcLXBpZ51bbCJ0Nsp4u79GEuQjFEXZwHG2c4QY/udwAH
CY9euvb7Gv/ztkhBc5ROB2W0p3MlEK++8fnSzvt1jxqDV7CMVBS99fs2sh6Z1ocm
sLM12UG+j/uSLmU1+XwlOP84HHQ2lgs/196jgWoT/LS0EmDAXZIzzYYpwo1yRCHH
cB1E3qYVF58PAs935ayvEj841Hod1Qb6w6tg61OVZou+aTlAFOmp0IvcMrHlqVqm
EjGxiL28hXBNyfLst3ChOu2fl1FSooggOFQP5n/4bTf1fjrQhCg=
=bxP/
-----END PGP SIGNATURE-----




Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Tue, 11 Jan 2022 07:28:30 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 May 17 09:46:34 2023; Machine Name: buxtehude

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.