aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2016-04-07 09:54:56 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-04-29 07:53:57 +0100
commitb251f8b212f16b16b88183cc9a959d8cfa24fe3c (patch)
tree8d5fa10c29534781ae22e3aa57a63c9e77447108
parentac5d4d42a5903cbcafd7247c282df1cb98f79f08 (diff)
downloadopenembedded-core-contrib-b251f8b212f16b16b88183cc9a959d8cfa24fe3c.tar.gz
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 <ross.burton@intel.com>
-rw-r--r--meta/classes/package.bbclass6
1 files changed, 3 insertions, 3 deletions
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"