summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorAndreas Oberritter <obi@opendreambox.org>2019-02-26 18:23:55 +0100
committerAndreas Oberritter <obi@opendreambox.org>2020-07-02 15:10:00 +0200
commit071f46b8934630ec6fa253b4498f512854fdf8a1 (patch)
tree3eb994d354125b42a412b40205da3bf0a26a89c2 /meta
parent7bd1f17e28c314fbeb64eb13f73ca8e2f73ec9e2 (diff)
downloadopenembedded-core-contrib-071f46b8934630ec6fa253b4498f512854fdf8a1.tar.gz
package_deb.bbclass: Allow to override Multi-Arch flag; change default for kernel modules
Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/classes/package.bbclass2
-rw-r--r--meta/classes/package_deb.bbclass16
2 files changed, 15 insertions, 3 deletions
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 575b8e2299..7f82e37c1b 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -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
diff --git a/meta/classes/package_deb.bbclass b/meta/classes/package_deb.bbclass
index b6ce271b11..76016af366 100644
--- a/meta/classes/package_deb.bbclass
+++ b/meta/classes/package_deb.bbclass
@@ -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...