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 | ||
