On 03/06/2021 07:29 AM, Richard Purdie wrote:
Hi Richard,On Fri, 2021-03-05 at 18:10 +0800, Chen Qi wrote:As we delete the .git/ directory, it's impossible to get METADATA_REVISION inside eSDK. Because of this, we meet the following warning when installing eSDK. WARNING: The base-files:do_install sig is computed to be 16b9d96148d45de183cc94667aae016ec7d102d48255456381e718cd4bbd0aa0, \ but the sig is locked to 6eb0dcaed504282becee94662481d79264db920dee1f7deda18230133fff8f36 in SIGGEN_LOCKEDSIGS_t-qemux86-64 So we record METADATA_REVISION in eSDK generation time to fix this problem. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> --- meta/classes/populate_sdk_ext.bbclass | 3 +++ 1 file changed, 3 insertions(+)I have to wonder why base-files is depending on the metadata-revision? That implies that base-files and hence anything that depends upon it would rebuild each time you update to a new revision. Is that really what you want? Cheers, Richard
I tested it on pure yocto project. No extra layer or configuration.
I'm also wondering why base-files do_install depends on METADATA_REVISION. The strange thing is that things do not rebuild at eSDK installation time. There's only a warning about base-files do_install signature.
poky.conf: do not write current date into distro version, use git hash instead
In fact, this is a problem I found when I was dealing with another problem with eSDK.
Yocto's current eSDK cannot be successfully installed on a different distro. For example, you build esdk on ubunt18 and install the esdk on ubuntu20, then you'll get an error of pseudo do_fetch task re-run unexpectedly.
I think it might be related to NATIVELSBSTRING, but I haven't found out why.
Manually setting NATIVELSBSTRING to some fixed string such as 'Linux' will solve the above problem.
I'm still checking the codes. If you have some idea/suggestion, please let me know.
Best Regards,
Chen Qi