]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
package_deb.bbclass: Allow to override Multi-Arch flag; change default for kernel...
authorAndreas Oberritter <obi@opendreambox.org>
Tue, 26 Feb 2019 17:23:55 +0000 (18:23 +0100)
committerAndreas Oberritter <obi@opendreambox.org>
Thu, 2 Jul 2020 13:10:00 +0000 (15:10 +0200)
Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
meta/classes/package.bbclass
meta/classes/package_deb.bbclass

index 575b8e2299cc9d1680b9e9a13afbbb8932fbf670..7f82e37c1b137aaf8b432a62f3fcc342e512ab01 100644 (file)
@@ -1351,7 +1351,7 @@ EXPORT_FUNCTIONS package_name_hook
 
 PKGDESTWORK = "${WORKDIR}/pkgdata"
 
-PKGDATA_VARS = "PN PE PV PR PKGE PKGV PKGR LICENSE DESCRIPTION SUMMARY RDEPENDS RPROVIDES RRECOMMENDS RSUGGESTS RREPLACES RCONFLICTS RBREAKS SECTION PKG ALLOW_EMPTY FILES CONFFILES FILES_INFO PACKAGE_ADD_METADATA PACKAGE_ADD_METADATA_DEB PACKAGE_ADD_METADATA_IPK PACKAGE_ADD_METADATA_RPM pkg_postinst pkg_postrm pkg_preinst pkg_prerm"
+PKGDATA_VARS = "PN PE PV PR PKGE PKGV PKGR LICENSE DESCRIPTION SUMMARY RDEPENDS RPROVIDES RRECOMMENDS RSUGGESTS RREPLACES RCONFLICTS RBREAKS SECTION PKG ALLOW_EMPTY FILES CONFFILES FILES_INFO PACKAGE_ADD_METADATA PACKAGE_ADD_METADATA_DEB PACKAGE_ADD_METADATA_IPK PACKAGE_ADD_METADATA_RPM MULTI_ARCH pkg_postinst pkg_postrm pkg_preinst pkg_prerm"
 
 python emit_pkgdata() {
     from glob import glob
index b6ce271b117a5f67aa4e84bcac8405665c6cb977..76016af36694a7bde4b078d1df537a879855948a 100644 (file)
@@ -143,9 +143,21 @@ def deb_write_pkg(pkg, d):
                 l2.append(data)
             return l2
 
+
+        def multi_arch_flag(d):
+            flag = d.getVar('MULTI_ARCH')
+            if flag:
+                return flag
+            if d.getVar('PACKAGE_ARCH') == "all":
+                return 'foreign'
+            if bb.data.inherits_class('kernel', d) or bb.data.inherits_class('module-base', d):
+                return 'foreign'
+            return 'no'
+
+
         ctrlfile.write("Package: %s\n" % pkgname)
-        if d.getVar('PACKAGE_ARCH') == "all":
-            ctrlfile.write("Multi-Arch: foreign\n")
+        ctrlfile.write("Multi-Arch: %s\n" % multi_arch_flag(localdata))
+
         # check for required fields
         for (c, fs) in fields:
             # Special behavior for description...