Details
-
Bug
-
Resolution: Fixed
-
Minor
-
Lustre 2.16.0, Lustre 2.15.4
-
3
-
9223372036854775807
Description
The lnet.service file was in the lustre-client-utils package built on Ubuntu 20.04:
# dpkg -c lustre-client-utils_2.15.3-22-g8299b3f-1_amd64.deb | grep 'lnet.service' -rw-r--r-- root/root 412 2023-08-02 06:43 ./lib/systemd/system/lnet.service
but it was missing from the package built on Ubuntu 22.04:
# dpkg -c lustre-client-utils_2.15.58-40-gc1ebcb0-1_amd64.deb | grep 'lnet.service'
By comparing the build logs, I found the following differences:
On Ubuntu 20.04:
Enabled Build Profiles: client systemd
And on Ubuntu 22.04:
Enabled Build Profiles: noudeb
Something was changed on Ubuntu 22.04.
After looking into the source codes of dpkg-buildpackage, I found the "noudeb" build profile was set to the environment variable DEB_BUILD_PROFILES by default in /usr/share/perl5/Dpkg/BuildProfiles.pm and /usr/share/perl5/Dpkg/Vendor/Ubuntu.pm. This change was introduced by dpkg version 1.21.1ubuntu2.1 installed by default on Ubuntu 22.04.
Another issue is in dpkg-buildpackage. It calls set_build_profiles(@build_profiles) directly without checking if @build_profiles is empty. This will always override DEB_BUILD_PROFILES with "noudeb" if build profiles are not explicitly specified to dpkg-buildpackage via -P|--build-profiles option.