#1146424 libcap-ng: introduces a dependency loop via libbluetooth-dev into architecture bootstrap

#1146424#5
Date:
2026-09-01 16:15:21 UTC
From:
To:
libcap-ng gained a build dependency on libbluetooth-dev. bluez has a
wild zoo of build dependencies many of which do not presently
participate in architecture bootstrap. It also pulls a pile of gir
packages that cannot be cross built without qemu. libcap-ng also is in
the bootstrap set. This is the sort of situation that fundamentally
breaks Debian's ability to be bootstrapped. I am therefore filing this
as serious and hope you agree. Please downgrade if not.

As for solutions, I see that libbluetooth-dev is needed for building
utils, but utils is not what the bootstrap needs. Hence, I propose
adding a pkg.libcap-ng.noutils build profile that disables both. I
compared a full build with a profile build and the packages emitted from
both are bit-identical on amd64. Bootstrap builds can enable this
profile and proceed as they did before (albeit without a libcap-ng-utils
package).

Let me know what you think.

Helmut

#1146424#10
Date:
2026-09-01 19:51:01 UTC
From:
To:
Hi Helmut,

I saw that something was off, but I didn't think it was this. I can
remove libbluetooth-dev if that is better solution, it's optional for
utils.

I can also add your patch if you prefer.

Håvard

#1146424#15
Date:
2026-09-02 09:07:53 UTC
From:
To:
Generally, we prefer Debian packages to enable functionality that they
can. Bootstrapping is a necessity, but it's the main driver of our
packaging decisions. I'd like to leave this at your discretion.

Either way works equally fine for bootstrapping. Those builds already
have to turn on the nopython build profile. Enabling another profile is
not a burden to bootstrapping.

The main burden to libcap-ng maintenance is that these profiles need to
work with future changes. If they cease doing so, the most likely
outcome is that I send a patch.

I spent a brief look at the autopkgtest failures. python3-defaults is in
the process of dropping Python 3.13 as a supported version, but this
hasn't migrated to forky yet. So when libcap-ng is built in sid (without
3.13) and then tested in forky (with 3.13), the test fails importing the
module. This issue should resolve itself once python3-defaults migrates.
The heimdal regression is not as obvious.

Helmut

#1146424#18
Date:
2026-09-02 20:05:53 UTC
From:
To:
Hello,

Bug #1146424 in libcap-ng reported by you has been fixed in the
Git repository and is awaiting an upload. You can see the commit
message below and you can check the diff of the fix at:

https://salsa.debian.org/debian/libcap-ng/-/commit/22457a1ce862a97a39f4d0346052a31d90fa16b9
Patch by Helmut Grohne
------------------------------------------------------------------------

(this message was generated automatically)
-- 
Greetings

https://bugs.debian.org/1146424

#1146424#25
Date:
2026-09-02 20:57:06 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
libcap-ng, 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 1146424@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Håvard F. Aasen <havard.f.aasen@pfft.no> (supplier of updated libcap-ng 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)
Format: 1.8
Date: Wed, 02 Sep 2026 21:59:53 +0200
Source: libcap-ng
Architecture: source
Version: 0.9.5-2
Distribution: unstable
Urgency: medium
Maintainer: Håvard F. Aasen <havard.f.aasen@pfft.no>
Changed-By: Håvard F. Aasen <havard.f.aasen@pfft.no>
Closes: 1146424
Changes:
 libcap-ng (0.9.5-2) unstable; urgency=medium
 .
   [ Helmut Grohne ]
   * Make bluetooth build dependency optional. Closes: #1146424
Checksums-Sha1:
 4bffe0dfc2e701a15cfb5b8177df1e548ed32990 1851 libcap-ng_0.9.5-2.dsc
 f65149950e895518cec555ed1f453ed84bb687fe 7348 libcap-ng_0.9.5-2.debian.tar.xz
 7529dc9ae1e70c7d7dac181b73b90310c5f78e0a 7376 libcap-ng_0.9.5-2_amd64.buildinfo
Checksums-Sha256:
 ad943efc5db24a2cb61a73c87b6a07cd817d655a1c8d6bd7d379ed185376cfe0 1851 libcap-ng_0.9.5-2.dsc
 a04a620cea0e200566a3d0c9f7019a93f8b0b433cd8484c816bdaa4c3113bbb7 7348 libcap-ng_0.9.5-2.debian.tar.xz
 45190863e9622bc8e3841d98e5f0c76cc328468da9d475d20c4ec3d482c15427 7376 libcap-ng_0.9.5-2_amd64.buildinfo
Files:
 d019c5d13b15aefbeef999f08b42bc4f 1851 libs optional libcap-ng_0.9.5-2.dsc
 c1ff4c668a62b781724b6e26db5c0652 7348 libs optional libcap-ng_0.9.5-2.debian.tar.xz
 65937f358fbd4c4a43872c7987d94cc8 7376 libs optional libcap-ng_0.9.5-2_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----

iI0EARYKADUWIQSD/42dLkLq3fzhpN2I4w6v/UfCtwUCapiE3RccaGF2YXJkLmYu
YWFzZW5AcGZmdC5ubwAKCRCI4w6v/UfCt56gAQCZjZdlNQMHfZKmLWX/Wao6oE7l
NwHpa/U3Kobm6zKPRwEAmJNo/WMgmg0V0uNeu64VRoVRYLdh8i2M4v5638x1vQ0=
=5mIL
-----END PGP SIGNATURE-----