diff options
Diffstat (limited to 'meta/classes/package.bbclass')
-rw-r--r-- | meta/classes/package.bbclass | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index bdc4d37af6..20af8b7914 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass | |||
@@ -887,15 +887,20 @@ python populate_packages () { | |||
887 | bb.mkdirhier(outdir) | 887 | bb.mkdirhier(outdir) |
888 | os.chdir(dvar) | 888 | os.chdir(dvar) |
889 | 889 | ||
890 | # Sanity check PACKAGES for duplicates - should be moved to | 890 | # Sanity check PACKAGES for duplicates and for LICENSE_EXCLUSION |
891 | # sanity.bbclass once we have the infrastucture | 891 | # Sanity should be moved to sanity.bbclass once we have the infrastucture |
892 | package_list = [] | 892 | package_list = [] |
893 | |||
893 | for pkg in packages.split(): | 894 | for pkg in packages.split(): |
894 | if pkg in package_list: | 895 | if d.getVar('LICENSE_EXCLUSION-' + pkg, True): |
895 | bb.error("%s is listed in PACKAGES multiple times, this leads to packaging errors." % pkg) | 896 | bb.warn("%s has an incompatible license. Excluding from packaging." % pkg) |
897 | packages.remove(pkg) | ||
896 | else: | 898 | else: |
897 | package_list.append(pkg) | 899 | if pkg in package_list: |
898 | 900 | bb.error("%s is listed in PACKAGES multiple times, this leads to packaging errors." % pkg) | |
901 | else: | ||
902 | package_list.append(pkg) | ||
903 | d.setVar('PACKAGES', ' '.join(package_list)) | ||
899 | pkgdest = d.getVar('PKGDEST', True) | 904 | pkgdest = d.getVar('PKGDEST', True) |
900 | os.system('rm -rf %s' % pkgdest) | 905 | os.system('rm -rf %s' % pkgdest) |
901 | 906 | ||