On Di, 2015-02-03 at 10:58 -0500, Kevin O'Connor wrote:
On Tue, Feb 03, 2015 at 01:23:53PM +0100, Olaf Hering wrote:
The timestamp and hostname carries no value for the default build. If its really required in special environment, or if someone is emotionally attached to such strings, it is is handled by existing logic a few lines above: provide your own .version file
Once this patch is applied it is possible to get reproducible builds of Xens hvmloader.
I've found the version information to be quite helpful when we get trouble reports - it helps indicate what was being run and who built the code (eg, distribution or local).
Well, we patch out the very same line. Then 'echo "%{name}-%{version}-% release" > .version' in the rpm spec file is used to set the version string.
That way the version string compiled into the seabios binary matches the rpm package version, which is alot more useful than the build timestamp from a distribution point of view.
Using $(hostname) to see who built it isn't that great either. It may require insider knowledge to be useful. For example the prebuilt bios binaries in the upstram qemu git repo carry nilsson.home.kraxel.org because that happens to be the machine I'm doing the builds on. Not exactly obvious.
During development cycles, it helps verify that test runs are executed with the expected code.
I've found the 'git --describe' used when building from a git tree being good enough for this, I almost never look at the timestamp.
What breaks if the version changes?
Build twice from same source tree, diff binaries, figure they are not identical.
cheers, Gerd