#3042: Patches to make the build reproducible (fileordering, randomness) --------------------------+------------------------- Reporter: sebastic | Owner: grass-dev@… Type: defect | Status: new Priority: critical | Milestone: 7.0.5 Component: Compiling | Version: 7.0.4 Resolution: | Keywords: CPU: Unspecified | Platform: Linux --------------------------+-------------------------
Comment (by glynn): Replying to [ticket:3042 sebastic]: > 2) Randomness issue: html/colortables/random.png is built using a pseudo-random generator seeded with build-time value. See patch `04 -srand48_auto-from-SOURCE_DATE_EPOCH.patch` that uses the [https ://reproducible-builds.org/specs/source-date-epoch/ SOURCE_DATE_EPOCH] environment variable (when set) to set a seed from last `debian/changelog` entry date. While I agree with the idea, G_srand48_auto() shouldn't be using this variable directly, but something more appropriate, e.g. GRASS_RANDOM_SEED (or GRASS_RND_SEED, which is what r.mapcalc used prior to the RNG changes). Debian can then set that variable from $SOURCE_DATE_EPOCH as part of their build process. In theory, modules which use randomness should be providing a command-line option to get the seed, with G_srand48_auto() only being used if the user specifically wants a non-deterministic seed. But that probably isn't going to happen in the foreseeable future. -- Ticket URL: <https://trac.osgeo.org/grass/ticket/3042#comment:3> GRASS GIS <https://grass.osgeo.org> _______________________________________________ grass-dev mailing list grass-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-dev