Extend licensing scheme, install & package licenses, and more
c174ef97)
Extend licensing scheme, install & package licenses (commitLicensing was incorrect, incomplete, and at best, ambiguous. Some recipes were picking one license when there were many, others were listing all the licenses and you had to pick one.
On the other hand, many projects are licensed under multiple BSD-like licenses, and you must adhere to the terms of all of them, and there was no way to know how from the binary packages.
Now we have an extended syntax for declaring the licensing properties of a recipe. The licenses array can now also contain dictionaries with License enums as keys and relative paths to files in the source tree as values. All files specified in this way will be copied into share/licenses/$recipe_name
.
Common license texts which are copied verbatim by projects without adding any specific author/copyright information have been copied into data/licenses/
and will be copied into share/licenses/$recipe_name
when a license is specified without a corresponding source tree file.
share/licenses/$recipe_name/README-LICENSE-INFO.txt
contains a disclaimer that this is not legal advice, and uses (AND) and (OR) operators to declare the combinations of licenses you can pick when adhering to the license requirements of a project. share/licenses/$recipe_name
is, of course, now also copied into the devel binary packages.
I have made an effort to check and update the licenses in each recipe, but I have probably missed things. Reviews and updates are welcome. I also did not bother updating the toolchain recipe licenses too carefully since we do not ship them with our binary packages; except mingw-runtime.recipe (which does have an updated license).
2e1f8241)
recipes: Ensure that post_install is always chained up (commitWe already do some things in post_install, but we currently only do this for gstreamer recipes, but that's overall a bit flaky. This will allow us to do more things in post_install and make things consistent.
21bc9577)
licenses: Fix a couple of licenses and remove unused enums (commitfreetype: You have to pick between FTL and GPLv2
frei0r-plugins: It's GPLv2+, not LGPL
openssl: Obviously, OpenSSL not BSD
harfbuzz: Actually BSD, not LGPLv2+
lame: transitioned to LGPL2, no longer GPL
nettle/gmp: licensed under all three licenses
osx-framework: No license, just copying of files from other recipes
gst-shell, vsintegration, etc: Match with gstreamer's license
toolchain: All LGPLv2+, GPLv2+, or GPLv3+
other recipes: verified by diff -uw
on license
Remove most unused license enums, except Proprietary
Other misc changes, please see commits
@ylatuya if you have some spare cycles, a review would be appreciated :)