mirror_ubuntu-kernels/scripts/package
Masahiro Yamada 159956f34e kbuild: deb-pkg: set DEB_* variables if debian/rules is directly executed
Since commit 491b146d4c ("kbuild: builddeb: Eliminate debian/arch
use"), direct execution of debian/rules results in the following error:

  dpkg-architecture: error: unknown option 'DEB_HOST_MULTIARCH'

The current code:

  dpkg-architecture -a$DEB_HOST_ARCH -qDEB_HOST_MULTIARCH

... does not look sensible because:

 - For this code to work correctly, DEB_HOST_ARCH must be pre-defined,
   which is true when the packages are built via dpkg-buildpackage.
   In this case, DEB_HOST_MULTIARCH is also likely defined, hence there
   is no need to query DEB_HOST_MULTIARCH in the first place.

 - If DEB_HOST_MULTIARCH is undefined, DEB_HOST_ARCH is likely undefined
   too. So, you cannot query DEB_HOST_MULTIARCH in this way. This is
   mostly the case where debian/rules is directly executed.

When debian/rules is directly executed, querying DEB_HOST_MUCHARCH is
not enough because we need to know DEB_{BUILD,HOST}_GNU_TYPE as well.

All DEB_* variables are defined when the package build is initiated by
dpkg-buildpackage, but otherwise, let's call dpkg-architecture to set
all DEB_* environment variables.

This requires dpkg 1.20.6 or newer because --print-format option
was added in dpkg commit 7c54fa2b232e ("dpkg-architecture: Add a
--print-format option").

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Nicolas Schier <n.schier@avm.de>
2024-01-05 19:35:30 +09:00
..
debian kbuild: deb-pkg: set DEB_* variables if debian/rules is directly executed 2024-01-05 19:35:30 +09:00
builddeb kbuild: deb-pkg: set DEB_* variables if debian/rules is directly executed 2024-01-05 19:35:30 +09:00
buildtar kbuild: buildtar: always make modules_install 2023-11-28 11:22:51 +09:00
gen-diff-patch kbuild: give up untracked files for source package builds 2023-04-11 08:58:45 +09:00
install-extmod-build kbuild: fix kernel-devel RPM package and linux-headers Deb package 2023-09-15 02:39:24 +09:00
kernel.spec scripts: clean up IA-64 code 2023-12-03 18:51:48 +09:00
mkdebian kbuild: deb-pkg: hard-code Build-Depends 2023-12-29 22:25:21 +09:00
mkspec kbuild: rpm-pkg: generate kernel.spec in rpmbuild/SPECS/ 2023-10-03 20:49:09 +09:00
snapcraft.template kbuild: remove the last use of old cmd_src_tar rule in packaging 2023-11-28 11:38:32 +09:00