On 03/08/2021 10:30 AM, Chen Qi wrote: > On 03/06/2021 07:29 AM, Richard Purdie wrote: >> 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 >>> --- >>> 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 >> >> >> >> > Hi 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. > Just found answer for the above problem. A previous commit changes poky.conf to make DISTRO_VERSION contain METADATA_REVISION. """ poky.conf: do not write current date into distro version, use git hash instead """ I also confirmed that merely updating the git revision will result in a rebuild of base-files. Rebuild of base-files does not result in rebuild of other recipes because we have 'base-files' in SIGGEN_EXCLUDERECIPES_ABISAFE. For the problem below, I haven't found the root cause, still working on it. Best Regards, Chen Qi > 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 > > > >