Package: e2fsck-static
Version: 1.40.4-1
Severity: serious
Justification: Policy 7.8
Dear maintainer,
The e2fsck-static package provides /usr/sbin/e2fsck.static which is statically linked against glibc.
glibc is mostly is mostly licensed under the LGPL, which requires that
the full source code of the incorporating binary package be made
available. According to Debian Policy §7.8 [1] such a binary package
MUST list the glibc source package (and possibly others) in the
Built-Using: field.
tag -1 + patchBug #1106799 [e2fsck-static] e2fsck-static: statically linked against glibc without a Built-Using: field
* Theodore Ts'o <tytso@mit.edu> [250530 02:15]:
On Thu, May 29, 2025 at 10:53:20PM +0200, Aurelien Jarno wrote:
Package: e2fsck-static
Version: 1.40.4-1
Severity: serious
Justification: Policy 7.8
Dear maintainer,
The e2fsck-static package provides /usr/sbin/e2fsck.static which is statically linked against glibc.
glibc is mostly is mostly licensed under the LGPL, which requires that the full source code of the incorporating binary package be made available. According to Debian Policy §7.8 [1] such a binary package MUST list the glibc source package (and possibly others) in the Built-Using: field.
Is there an idiomatic way to automatically determine in debian/rules
what version of glib was used to build the binary package, so the
exact version can be specified in Built-Using?
Here's an example I found using codesearch, from the grub package:
https://sources.debian.org/src/grub2/2.12-7/debian/rules/?hl=593#L593
BUILT_USING=$(shell dpkg-query -f '$${source:Package} (= $${source:Version}), \n' -W liblzo2-dev)
...
override_dh_gencontrol:
dh_gencontrol -- -VBuilt-Using="$(BUILT_USING)"
Here's an example I found using codesearch, from the grub package...
Please don't manually mantain a field in the source package's d/control that's supposed to exist only in binary packages.
I have been pointed out at dh-builtusing, which is another way to
achieve the same result. I have attached a patch with that alternative,
at the end it's mostly a question of taste.
On Sat, May 31, 2025 at 01:58:33PM +0200, Aurelien Jarno wrote:
I have been pointed out at dh-builtusing, which is another way to
achieve the same result. I have attached a patch with that alternative,
at the end it's mostly a question of taste.
Thanks for this patch. Note that you need to add dh-builtusing to the Build-Depends (not just dh-sequence-builtusing) so that automated
builders that use a minimal build-chroot (i.e., sbuild) knows that
they need to install dh-builtusing. It's also helpful for users who
are confused why dpkg-buildpackage doesn't work.
The other problem with using dh-builtusing is that it is only
available in Debian trixie. So if you want to be able to build
e2fsprogs on Debian stable or oldstable, using dh-builtusing will make
life very difficult wanting to build e2fsprogs for Debian stable, or
Ubuntu LTS.
they need to install dh-builtusing. It's also helpful for users who
are confused why dpkg-buildpackage doesn't work.
That's indeed can be confusing at a first glance. That said both apt
install and apt satisfy are able to determine that
dh-sequence-builtusing is provided by dh-builtusing
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 546 |
Nodes: | 16 (2 / 14) |
Uptime: | 04:14:55 |
Calls: | 10,386 |
Calls today: | 1 |
Files: | 14,057 |
Messages: | 6,416,605 |