[PATCH 1/3] kbuild: deb-pkg: do not query DEB_HOST_MULTIARCH
From: Masahiro Yamada
Date: Tue Dec 19 2023 - 13:20:09 EST
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