[gnome-continuous-yocto/gnomeostree-3.28-rocko: 4385/8267] package_deb: handle allarch when mapping tune to dpkg architectures



commit e286829fcc4f99d23a278d3d34121f794296059e
Author: Ross Burton <ross burton intel com>
Date:   Wed Jan 25 17:13:40 2017 +0000

    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>

 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 47fcd6b..eb549ca 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":


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]