diff options
-rw-r--r-- | meta/classes/package.bbclass | 2 | ||||
-rw-r--r-- | meta/classes/package_deb.bbclass | 16 |
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... |