[yocto] suggestions for version controlling multi-layer reproducible builds?
Richard Leitner
richard.leitner at skidata.com
Mon Dec 12 08:17:45 PST 2016
Hi,
On 12/12/2016 05:03 PM, Bryan Evenson wrote:
>
> For my setup I have a separate package that is the distribution
> version number. Whenever we release an update, the distribution
> version number is updated. We then tag all our layers with the
> distribution version number for proper record keeping. The Angstrom
> distribution was (or maybe still is?) doing something similar and was
> the inspiration for our setup.
>
> ...
>
>
> Any time we release an update, no matter how minor, we update the
> distribution version package. Otherwise, as you state, you could
> have an update that you can't reproduce. We also archive the package
> repository and generated image files for each release so we can flash
> a board with a previous release and test from there. It can be a
> pain to get the process down the first time, but after that a simple
> Bash script can take care of all the hard work for you and ensure you
> don't skip a step.
>
I'm using a similar approach, but instead of using a separate "version
package" I'm using the "BUILDNAME" and "DISTRO_VERSION" variables in my
distro.conf.
Then depending on how "large" the release is and which changes it
includes the Major, Minor or Patchlevel of the version is increased.
Furthermore (like Bryan already mentioned) for every release a tag in
every layer containing the DISTRO_VERSION is created.
The layer setup/checkout and build then is automated by a shellscript.
This shellscript takes the version as an argument and produces the
images, source archives, update packages and everything else needed for
a (nearly) reproducible builds.
Hope that helps.
regards,
Richard L
More information about the yocto
mailing list