path: root/meta/classes
diff options
authorRoss Burton <ross.burton@intel.com>2017-01-25 17:13:40 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-01-31 14:40:16 +0000
commit58a5771f20f7851816b5f39df0ada8f16438065c (patch)
tree8b633a939fef4c1cfce17d2a8e3dddf77657ef03 /meta/classes
parente6784ef0d56a1b297001bc59c0da3aecebd1c656 (diff)
package_deb: handle allarch when mapping tune to dpkg architectures
It was discovered that buildtools-tarball can't be built with Debian packaging: E: Unable to locate package nativesdk-buildtools-perl-dummy The package exists but dpkg doesn't see it because the Architecture field isn't valid: for this package the Architecture field is 'allarch' which isn't in the list of valid architectures we define. package_deb already has a mapping of OE architectures (PACKAGE_ARCH) to dpkg architectures (DPKG_ARCH), for example our x86_64 is amd64 in dpkg. However allarch.bbclass sets an invalid TARGET_ARCH of 'allarch' (to break anything which attempts to use the target architecture) and package_deb relied on the PACKAGE_ARCH check later turning the Architecture field into 'all'. This usually works, but nativesdk-buildtools-perl-dummy inherits allarch but then changes PACKAGE_ARCH to buildtools-dummy-nativesdk to isolate the packages in a separate feed. We can handle this by explictly checking for allarch in the TARGET_ARCH check, as that everything that inherits allarch will want to have Architecture: all in their packages. [ YOCTO #10700 ] Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
1 files changed, 2 insertions, 0 deletions
diff --git a/meta/classes/package_deb.bbclass b/meta/classes/package_deb.bbclass
index 47fcd6b8b5..eb549ca971 100644
--- a/meta/classes/package_deb.bbclass
+++ b/meta/classes/package_deb.bbclass
@@ -17,6 +17,8 @@ APT_ARGS = "${@['', '--no-install-recommends'][d.getVar("NO_RECOMMENDATIONS") ==
def debian_arch_map(arch, tune):
tune_features = tune.split()
+ if arch == "allarch":
+ return "all"
if arch in ["i586", "i686"]:
return "i386"
if arch == "x86_64":