Since commit 491b146d4c13 ("kbuild: builddeb: Eliminate debian/arch use"), the direct execution of debian/rules fails with: dpkg-architecture: error: unknown option 'DEB_HOST_MULTIARCH' I am not sure how important to support such a use case, but at least the current code: dpkg-architecture -a$DEB_HOST_ARCH -qDEB_HOST_MULTIARCH ... looks weird because: - For this code to work correctly, DEB_HOST_ARCH must be defined. In this case, DEB_HOST_MULTIARCH is likely defined, so there is no need to query DEB_HOST_MULTIARCH in the first place. This is likely the case where the package build was initiated by dpkg-buildpackage. - If DEB_HOST_MULTIARCH is undefined, DEB_HOST_ARCH is likely undefined. So, you cannot query DEB_HOST_MULTIARCH in this way. This is mostly the case where debian/rules is directly executed. If we want to run debian/rules directly, we can revert 491b146d4c13 or add code to remember DEB_HOST_MULTIARCH, but I chose to remove the useless code for now. Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx> --- scripts/package/builddeb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/scripts/package/builddeb b/scripts/package/builddeb index 2fe51e6919da..2eb4910f0ef3 100755 --- a/scripts/package/builddeb +++ b/scripts/package/builddeb @@ -171,9 +171,8 @@ install_libc_headers () { # move asm headers to /usr/include/<libc-machine>/asm to match the structure # used by Debian-based distros (to support multi-arch) - host_arch=$(dpkg-architecture -a$DEB_HOST_ARCH -qDEB_HOST_MULTIARCH) - mkdir $pdir/usr/include/$host_arch - mv $pdir/usr/include/asm $pdir/usr/include/$host_arch/ + mkdir "$pdir/usr/include/${DEB_HOST_MULTIARCH}" + mv "$pdir/usr/include/asm" "$pdir/usr/include/${DEB_HOST_MULTIARCH}" } rm -f debian/files -- 2.40.1