When I build CMSIS pack using ruby generator v1, the following errors blocked:
Failed_reason: 'sdk_repo.yml: EULA cannot be empty!! Provide a valid license'
Look into the code, it fetch 'LA_OPT_Base_License.htm' in hard code. However the latest EULA has change to LA_OPT_NXP_Software_License.htm
# Known limitation: There is currently no way to decide what license should be included or not. So right now,
# only LA_OPT_Base_License.htm is accepted and processed as valid license. But the whole algorithm is ready
# for multiple licenses
eulas.select! { |eula_path| eula_path.casecmp('LA_OPT_Base_License.htm').zero? }
I noticed there’s EULA statement in sdk_repo.yml, not sure if they are pointing to the same thing.
I found we also have list of EULAs in release_config.yml, see
release_configuration:
boards: [FRDM-K64F]
devices: [MK64FN1M0xxx12]
eula:
- {path: LA_OPT_Base_License.htm}
Not sure why we need EULAs in both places?
Looking into code, it seems useless. I'm not aware of anybody using it.
We don't use the release_configuration['eula'].
You decide your attribute name, I am all ok with it.
Do you have any JIRA to track it?
The corresponding JIRA is https://jira.sw.nxp.com/browse/SDKGEN-583 .
In sdk_repo.yml, there is a component EULA to store the license file. The generators can get the license there.
NPI team may change the license file name. It is not good way to hardcode it.
It is obviously not great to hardcore this, but we currently have no way of knowing which license is the "main" one.
For instance, here is an example sdk_repo.yml:
For creation of Licenses.txt, we use SW-Content-Register.txt (created from SCRs) and main license converted to text (until now that was Base_License).
But if you look at the EULA section, there is no clear indication what license should we use and we don't want to process all licenses in there, just the one. So because the name hasn't changed since the old generator, we decided to use and accept only LA_OPT_Base_License.htm.
In current yml data record, we have "attribute" attribute to point some source into different functionality, for example,
the attribute: linker-file means this file is linker file and the link file process module will process it.
Can we implement the same in license process? like
so that you can know which one is your need.
This looks good! The attribute should be something like:
attribute: base_license
Marek