diff options
-rw-r--r-- | meta/classes/package.bbclass | 1 | ||||
-rw-r--r-- | meta/classes/package_deb.bbclass | 16 |
2 files changed, 15 insertions, 2 deletions
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index 732aeff92e..f3cbe2452c 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass @@ -1392,6 +1392,7 @@ python emit_pkgdata() { write_if_exists(sf, pkg, 'PACKAGE_ADD_METADATA_DEB') write_if_exists(sf, pkg, 'PACKAGE_ADD_METADATA_IPK') write_if_exists(sf, pkg, 'PACKAGE_ADD_METADATA_RPM') + write_if_exists(sf, pkg, 'MULTI_ARCH') for dfile in (d.getVar('FILERPROVIDESFLIST_' + pkg) or "").split(): write_if_exists(sf, pkg, 'FILERPROVIDES_' + dfile) diff --git a/meta/classes/package_deb.bbclass b/meta/classes/package_deb.bbclass index eb879e48a6..69363db7f4 100644 --- a/meta/classes/package_deb.bbclass +++ b/meta/classes/package_deb.bbclass @@ -162,9 +162,21 @@ python do_package_deb () { 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... |