From patchwork Thu Jun 7 23:37:07 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [Consolidated, Pull, 19/22] archiver.bbclass: Reduce some duplication for function get_licenses Date: Thu, 07 Jun 2012 23:37:07 -0000 From: Elizabeth Flanagan X-Patchwork-Id: 29435 Message-Id: To: openembedded-core@lists.openembedded.org From: Xiaofeng Yan The content to modify this bbclass is as follow: - Use the existing functions to get license as a directory instead of rewriting it for avoiding code duplication. - Use SPDXLICENSEMAP to map licenses [YOCTO #2473] Signed-off-by: Xiaofeng Yan Signed-off-by: Elizabeth Flanagan --- meta/classes/archiver.bbclass | 23 ++++++++++++----------- 1 files changed, 12 insertions(+), 11 deletions(-) diff --git a/meta/classes/archiver.bbclass b/meta/classes/archiver.bbclass index ed2dbe4..083bb1d 100644 --- a/meta/classes/archiver.bbclass +++ b/meta/classes/archiver.bbclass @@ -225,17 +225,18 @@ def archive_logs(d,logdir,bbinc=False): def get_licenses(d): '''get licenses for running .bb file''' - licenses = d.getVar('LICENSE', 1).replace('&', '|') - licenses = licenses.replace('(', '').replace(')', '') - clean_licenses = "" - for x in licenses.split(): - if x.strip() == '' or x == 'CLOSED': - continue - if x != "|": - clean_licenses += x - if '|' in clean_licenses: - clean_licenses = clean_licenses.replace('|','') - return clean_licenses + import oe.license + + licenses_type = d.getVar('LICENSE', True) or "" + lics = oe.license.is_included(licenses_type)[1:][0] + lice = '' + for lic in lics: + licens = d.getVarFlag('SPDXLICENSEMAP', lic) + if licens != None: + lice += licens + else: + lice += lic + return lice def move_tarball_deploy(d,tarball_list):