I set INCOMPATIBLE_LICENSE_append = " GPLv3 GPLv3+ LGPLv3 LGPLv3+"
but then allow compiling several recipes with those licenses as long
as they don't end up on images and in the product. For example:
WHITELIST_GPL-3.0+ += "cairo"
PACKAGE_EXCLUDE += "cairo-src cairo-dbg cairo-perf-utils cairo-staticdev cairo-locale"
WHITELIST_GPL-3.0 += "binutils"
PACKAGE_EXCLUDE += "binutils-dbg binutils-staticdev binutils-dev binutils-doc binutils-locale libbfd binutils"
WHITELIST_GPL-3.0 += "gdb"
PACKAGE_EXCLUDE += "gdb-sdktests-dbg gdb-sdktests gdbserver gdb-dbg gdb-staticdev gdb-dev gdb-doc gdb-locale gdb"
I do this in the distro config.
Results works but you may need to revisit several recipes and detect where exactly
the GPLv3 license is being used.
bash dependency is annoying but products can be made without. Same for GNU readline
These are much work and better then using meta-gplv2 with its unmaintained SW
Would be nice to collaborate in yocto upstream on a build config which disables most
GPLv3 packages from rootfs but keeps the development tools etc working in