Bonggyu Choi
Bonggyu Choi

Reputation: 11

Why my editing still alive in the work dir after I do cleanall for the recipe?

I am trying to debug a recipe, flexbe-mirror in the yocto. by the way, I found a strange things that I had understood.

I have understood all working contents are removed after bitbake -c cleanall flexbe-mirror and build contents are renewed when I do bitbake flexbe-mirror even if I had modified a content of work dir, tmp/work/armv8-poky-linux/flexbe-mirror/2.3.3-1-r0. And I checked all contents in the tmp/work/armv8-poky-linux/flexbe-mirror/2.3.3-1-r0 are gone.

I had modified a file by adding new print for debugging, tmp/work/armv8a-poky-linux/flexbe-mirror/2.3.3-1-r0/recipe-sysroot-native/usr/lib/python3.10/site-packages/installer/utils.py. then, I did bitbake -c cleanall flexbe-mirror again. But, I found my modification still alive even I did bitbake -c cleanall flexbe-mirror.

Here is my modification: enter image description here

And build logs after do cleanall: enter image description here

I checked whether recipe-sysroot-native is symbolic link or not and it is real path.

I expect it should be cleared and renew all contents as well as initial state before I modify it.

I hope to get any explanation I can understand why.

Thanks in advance.

BR, Mark

Upvotes: 0

Views: 85

Answers (1)

Ross Burton
Ross Burton

Reputation: 4063

cleanall chains to clean which essentially does rm -rf ${WORKDIR}.

The recipe sysroots are hardlink farm (not copies, as that would be incredibly slow). Your editor is most likely not breaking hardlinks when it writes a new file, so you've been editing the master copy of that file in sysroot-components.

You can restore the file by doing bitbake python3-installer-native -C unpack to force it to re-build.

Upvotes: 0

Related Questions