From 75a580debe12e8a008195f1179d534f59a5dd3b3 Mon Sep 17 00:00:00 2001 From: Andreas Oberritter Date: Tue, 26 Feb 2019 18:23:55 +0100 Subject: [PATCH] package_deb.bbclass: Allow to override Multi-Arch flag; change default for kernel modules Signed-off-by: Andreas Oberritter --- meta/classes/package.bbclass | 1 + 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 732aeff92ee..f3cbe2452c2 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 eb879e48a6e..69363db7f44 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... -- 2.47.2