[Bug 2054741] Re: dpkg-buildpackage ignores DEB_BUILD_PROFILES
Andreas Hasenack
2054741 at bugs.launchpad.net
Thu Mar 7 13:49:14 UTC 2024
Mantic verification
Reproducing the bug with 1.22.0ubuntu1:
$ apt-cache policy dpkg-dev
dpkg-dev:
Installed: 1.22.0ubuntu1
Candidate: 1.22.0ubuntu1
Version table:
*** 1.22.0ubuntu1 500
500 http://br.archive.ubuntu.com/ubuntu mantic/main amd64 Packages
100 /var/lib/dpkg/status
$ dpkg-buildpackage -uc -us 2>&1 | grep -A 1 DEB_BUILD_PROFILES
echo $DEB_BUILD_PROFILES
noudeb
--
echo $DEB_BUILD_PROFILES
noudeb
--
echo $DEB_BUILD_PROFILES
noudeb
$ DEB_BUILD_PROFILES=foo dpkg-buildpackage -uc -us 2>&1 | grep -A 1 DEB_BUILD_PROFILES
echo $DEB_BUILD_PROFILES
noudeb
--
echo $DEB_BUILD_PROFILES
noudeb
--
echo $DEB_BUILD_PROFILES
noudeb
Updating to 1.22.0ubuntu1.1 from mantic-proposed:
$ apt-cache policy dpkg-dev
dpkg-dev:
Installed: 1.22.0ubuntu1.1
Candidate: 1.22.0ubuntu1.1
Version table:
*** 1.22.0ubuntu1.1 500
500 http://br.archive.ubuntu.com/ubuntu mantic-proposed/main amd64 Packages
100 /var/lib/dpkg/status
Default was kept:
$ dpkg-buildpackage -uc -us 2>&1 | grep -A 1 DEB_BUILD_PROFILES
echo $DEB_BUILD_PROFILES
noudeb
--
echo $DEB_BUILD_PROFILES
noudeb
--
echo $DEB_BUILD_PROFILES
noudeb
And the extra profile was added:
$ DEB_BUILD_PROFILES=foo dpkg-buildpackage -uc -us 2>&1 | grep -A 1 DEB_BUILD_PROFILES
echo $DEB_BUILD_PROFILES
noudeb foo
--
echo $DEB_BUILD_PROFILES
noudeb foo
--
echo $DEB_BUILD_PROFILES
noudeb foo
Mantic verification succeeded.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to dpkg in Ubuntu.
https://bugs.launchpad.net/bugs/2054741
Title:
dpkg-buildpackage ignores DEB_BUILD_PROFILES
Status in dpkg package in Ubuntu:
Fix Released
Status in dpkg source package in Jammy:
Fix Released
Status in dpkg source package in Mantic:
Fix Released
Status in dpkg source package in Noble:
Fix Released
Bug description:
[Impact]
DEB_BUILD_PROFILES= can be used in Debian to specify a build profile
to use with dpkg-buildpackage. We want to use it in the systemd
project to build the upstream packages for the Ubuntu autopkgtest
cloud CI on Github. But in the Ubuntu's fork of dpkg,
DEB_BUILD_PROFILES's value is ignored and unconditionally swapped with
'noudeb'. This makes it impossible to use package-specific profiles,
and it's a regression w.r.t Debian.
[Fix]
Backport patch from Noble that fixes the issue: https://code.launchpad.net/~bluca/ubuntu/+source/dpkg/+git/dpkg/+merge/461136
and takes into account if the environment variable is set when reading the profile
[Test]
To reproduce it, simply print the content of DEB_BUILD_PROFILES in
d/rules in any package and build with DEB_BUILD_PROFILES=foo dpkg-
buildpackage. Before the fix, whatever is passed via the env var is
ignored. After the fix, it will be respected.
[Regression Potential]
dpkg-buildpackage is used to build all packages, so in case of
unforeseen issues other packages could potentially fail to build. A
unit test exercising this change is included in the patch to minimize
potential for regressions.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/dpkg/+bug/2054741/+subscriptions
More information about the foundations-bugs
mailing list