diff options
author | Ross Burton <ross.burton@intel.com> | 2016-04-07 09:54:56 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-04-29 07:58:43 +0100 |
commit | f095fdc408c8075c7635218fbc252897cd6065f2 (patch) | |
tree | 51f90a5c24beed72ec8cf33a3ff46d0344e457e7 | |
parent | 4e0d9d1b8ff44348acfe1b79be6cfcad7d3e62e9 (diff) | |
download | poky-f095fdc408c8075c7635218fbc252897cd6065f2.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.
(From OE-Core rev: b251f8b212f16b16b88183cc9a959d8cfa24fe3c)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/classes/package.bbclass | 6 |
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 | |||
146 | 146 | ||
147 | 147 | ||
148 | packages = d.getVar('PACKAGES', True).split() | 148 | packages = d.getVar('PACKAGES', True).split() |
149 | split_packages = [] | 149 | split_packages = set() |
150 | 150 | ||
151 | if postinst: | 151 | if postinst: |
152 | postinst = '#!/bin/sh\n' + postinst + '\n' | 152 | postinst = '#!/bin/sh\n' + postinst + '\n' |
@@ -183,7 +183,7 @@ def do_split_packages(d, root, file_regex, output_pattern, description, postinst | |||
183 | continue | 183 | continue |
184 | on = legitimize_package_name(m.group(1)) | 184 | on = legitimize_package_name(m.group(1)) |
185 | pkg = output_pattern % on | 185 | pkg = output_pattern % on |
186 | split_packages.append(pkg) | 186 | split_packages.add(pkg) |
187 | if not pkg in packages: | 187 | if not pkg in packages: |
188 | if prepend: | 188 | if prepend: |
189 | packages = [pkg] + packages | 189 | packages = [pkg] + packages |
@@ -226,7 +226,7 @@ def do_split_packages(d, root, file_regex, output_pattern, description, postinst | |||
226 | hook(f, pkg, file_regex, output_pattern, m.group(1)) | 226 | hook(f, pkg, file_regex, output_pattern, m.group(1)) |
227 | 227 | ||
228 | d.setVar('PACKAGES', ' '.join(packages)) | 228 | d.setVar('PACKAGES', ' '.join(packages)) |
229 | return split_packages | 229 | return list(split_packages) |
230 | 230 | ||
231 | PACKAGE_DEPENDS += "file-native" | 231 | PACKAGE_DEPENDS += "file-native" |
232 | 232 | ||