From: Ross Burton Date: Thu, 7 Apr 2016 08:54:56 +0000 (+0100) Subject: package: ensure do_split_packages doesn't return duplicates X-Git-Tag: uninative-1.0~247 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=b251f8b212f16b16b88183cc9a959d8cfa24fe3c;p=openembedded-core.git package: ensure do_split_packages doesn't return duplicates do_split_package() constructs a list of packages that were created as it iterates through the files, so if multiple files go into the same package then the package will be repeated in the output. Solve this by using a set() to store the created packages so that duplicates are ignored. Signed-off-by: Ross Burton --- diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index 76b9f86491..ffd4eff7b1 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass @@ -146,7 +146,7 @@ def do_split_packages(d, root, file_regex, output_pattern, description, postinst packages = d.getVar('PACKAGES', True).split() - split_packages = [] + split_packages = set() if postinst: postinst = '#!/bin/sh\n' + postinst + '\n' @@ -183,7 +183,7 @@ def do_split_packages(d, root, file_regex, output_pattern, description, postinst continue on = legitimize_package_name(m.group(1)) pkg = output_pattern % on - split_packages.append(pkg) + split_packages.add(pkg) if not pkg in packages: if prepend: packages = [pkg] + packages @@ -226,7 +226,7 @@ def do_split_packages(d, root, file_regex, output_pattern, description, postinst hook(f, pkg, file_regex, output_pattern, m.group(1)) d.setVar('PACKAGES', ' '.join(packages)) - return split_packages + return list(split_packages) PACKAGE_DEPENDS += "file-native"