license.py: fix behaviour of copyleft_compliance
authorEric Bénard <eric@eukrea.com>
Mon, 2 Apr 2012 20:37:09 +0000 (22:37 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 4 Apr 2012 16:17:51 +0000 (17:17 +0100)
commitfbeb04144a7595ee039ddd40624226b8634404c2
tree3e7c610bfa4932d2a214bf243d68c69304524c77
parenta23d1d446bb6f88d16574121c17aa28c50cc6a1f
license.py: fix behaviour of copyleft_compliance

actually if a package has a license in its LICENSE variable
which is not in the whitelist nor in the blacklist and even
if an other license in this variable is in the whitelist,
the package gets excluded and is not taken in account in the
copyleft_compliance.
This patch solves this by excluding a recipe _only_ if the
LICENSE variable includes a pattern from the blacklist and
including a recipe only if it includes a variable from the
whitelist _and_ none from the blacklist.

Example in busybox which has LICENSE="GPLv2 & BSD-4-Clause",
with the actual behaviour (where he blacklist contains only
CLOSED Proprietary) we get :
DEBUG: copyleft: busybox-1.19.4 is excluded: recipe has excluded licenses: BSD-4-Clause
which is not sane because busybox is covered by a copyleft license
which is GPLv2 and should match the default whitelist which is
GPL* LGPL*.

(From OE-Core rev: 987d06447d2eacf2e01f08e29469c00fbb0ef1db)

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oe/license.py