Package: dh-exec
Severity: important
Version: 0.30
Control: affects -1 src:util-linux
X-Debbugs-CC: Guillem Jover <[email protected]>
Hi,
dpkg 1.23.0 made the parser used in
Dpkg::BuildProfiles::parse_build_profiles more strict. It now
rejects Build-Profiles strings which are not surrounded by '<' and
'>'. This makes the util-linux build fail with:
dh-exec-filter-build-profiles: error: '!nodoc' is not a valid build profile
restriction formula
An example line in debian/util-linux.install is:
<!nodoc> usr/share/man/man8/sulogin.8
After some discussion with Guillem, we'd like to propose this
minimal diff to dh-exec, to make it work with the newer dpkg:
diff -Nru dh-exec-0.30/lib/dh-exec-filter-build-profiles
dh-exec-0.30+nmu1/lib/dh-exec-filter-build-profiles
--- dh-exec-0.30/lib/dh-exec-filter-build-profiles 2024-05-19
12:30:01.000000000 +0200
+++ dh-exec-0.30+nmu1/lib/dh-exec-filter-build-profiles 2025-12-17
23:02:26.000000000 +0100
@@ -34,7 +34,7 @@
if (!/<([^>]*)>/) {
$line_concerned = 1;
}
- while (/<([^>]*)>/) {
+ while (/(<([^>]*)>)/) {
$line_concerned |= profile_concerned ($1, $_);
s/<([^>]*)>\s+//;
}
I've verified this fixes the util-linux build.
I understood Guillem would appreciate it if a fix could land soon in dh-exec.
Thanks,
Chris
diff -Nru dh-exec-0.30/lib/dh-exec-filter-build-profiles dh-exec-0.30+nmu1/lib/dh-exec-filter-build-profiles
--- dh-exec-0.30/lib/dh-exec-filter-build-profiles 2024-05-19 12:30:01.000000000 +0200
+++ dh-exec-0.30+nmu1/lib/dh-exec-filter-build-profiles 2025-12-17 23:02:26.000000000 +0100
@@ -34,7 +34,7 @@
if (!/<([^>]*)>/) {
$line_concerned = 1;
}
- while (/<([^>]*)>/) {
+ while (/(<([^>]*)>)/) {
$line_concerned |= profile_concerned ($1, $_);
s/<([^>]*)>\s+//;
}