Reproducible images


In some of our older projects we are using the Apalis MX6 with (modified) BSP 2.6.1.
Yesterday i noticed some checksum errors during a complete image rebuild, e.g. in meta-toradex-nxp/recipes-kernel/linux/
It seems that the following files changed:;name=rename_define.patch \;name=cond_resched.patch \

It is very important for us to document the built images and to be able to reproduce every image that we released. Is this behavior expected? I always thought that all recipes use fixed revisions (its part of our style guide for recipes)? If not this would be a major issue for our software quality control.

I doubt your understanding of the matter is quite accurate however without the actual build log files it is difficult to assess what exactly was happening. Could you please provide more information?

Maybe you can help me to improve my understanding as i am eager to learn about how these build processes work.
I setup a new build machine, checked out the V2.6.1 branch:

repo init -u -b LinuxImageV2.6.1

I configured oe-core to use the Apalis iMX6 machine and to build rt kernel. After that i tried to build angstrom-lxde-image. Now i get the following build error:

ERROR: Fetcher failure for URL: ';name=rename_define.patch'. Checksum mismatch!
File: '/home/user/oe-core/build/downloads/d379e64ca4fc535334a02dc0314cba6e50f4b720.patch' has md5 checksum 48f35c97da31344151d78d65835a7810 when efae6dd8a584fd02888f5c9bae8461cd was expected
File: '/home/user/oe-core/build/downloads/d379e64ca4fc535334a02dc0314cba6e50f4b720.patch' has sha256 checksum b642563a282ed0ef6bde19347c16e48781eb96b238dd7dbcd7880d404c76ca67 when 4aec310ce68114d7025db33f5b766acae454c77407cb57ffd3fa53e7b9a85488 was expected
If this change is expected (e.g. you have upgraded to a new version without updating the checksums) then you can use these lines within the recipe:
SRC_URI[rename_define.patch.md5sum] = "48f35c97da31344151d78d65835a7810"
SRC_URI[rename_define.patch.sha256sum] = "b642563a282ed0ef6bde19347c16e48781eb96b238dd7dbcd7880d404c76ca67"
Otherwise you should retry the download and/or check with upstream to determine if the file has become corrupted or otherwise unexpectedly modified.

ERROR: Function failed: Fetcher failure for URL: ';name=rename_define.patch'. Unable to fetch URL from any source.
ERROR: Logfile of failure stored in: /home/user/oe-core/build/tmp-glibc/work/apalis_imx6-angstrom-linux-gnueabi/linux-toradex-rt/3.14.52-r0/temp/log.do_fetch.23131
ERROR: Task 52 (/home/user/oe-core/build/../layers/meta-toradex-nxp/recipes-kernel/linux/, do_fetch) failed with exit code '1'

Please find attached the logfile of the failing process.

link text


The issue arises from downloading a patch out of a github repository. github does not make sure that the downloaded files to keep ther md5 sum.

While the patch that one downloads now does behave the same as it did back when we did the recipe.

Note that it is your responsibility to archive the downloads you have for your specific image in order to be sure to still have the sources for later builds. Downloads may not only change their checksum, they may also disappear form the servers you download them from.

Since the rt recipes are not part of our regular download image we also to not carry those patches in our source mirror.

I found the patches in their older form, i.e. with md5sums as specified in the recipe. I attach an archive with them. If you please these files into your download folder OE will no longer try to download the files and will not complain about the checksums.


Thanks for the clarification and the files!