diff options
author | Ross Burton <ross.burton@intel.com> | 2017-01-25 17:13:40 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-01-31 14:43:00 +0000 |
commit | e286829fcc4f99d23a278d3d34121f794296059e (patch) | |
tree | f9cfe3dcb7013ef1856ca741b50b5555f0018141 | |
parent | 9533e14e6ff8be13b5a3e156b1e738f986c026e8 (diff) | |
download | poky-e286829fcc4f99d23a278d3d34121f794296059e.tar.gz |
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 ]
(From OE-Core rev: 58a5771f20f7851816b5f39df0ada8f16438065c)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/classes/package_deb.bbclass | 2 |
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") == | |||
17 | 17 | ||
18 | def debian_arch_map(arch, tune): | 18 | def debian_arch_map(arch, tune): |
19 | tune_features = tune.split() | 19 | tune_features = tune.split() |
20 | if arch == "allarch": | ||
21 | return "all" | ||
20 | if arch in ["i586", "i686"]: | 22 | if arch in ["i586", "i686"]: |
21 | return "i386" | 23 | return "i386" |
22 | if arch == "x86_64": | 24 | if arch == "x86_64": |