After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 763617 - giotypefuncs.c: Sort _get_type functions in the 'C' locale
giotypefuncs.c: Sort _get_type functions in the 'C' locale
Status: RESOLVED FIXED
Product: glib
Classification: Platform
Component: general
unspecified
Other All
: Normal normal
: ---
Assigned To: gtkdev
gtkdev
Depends on:
Blocks:
 
 
Reported: 2016-03-14 13:29 UTC by Iain Lane
Modified: 2016-03-21 13:46 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
giotypefuncs.c: Sort _get_type functions in the 'C' locale (1.16 KB, patch)
2016-03-14 13:29 UTC, Iain Lane
committed Details | Review
giotypefuncs.c: Sort _get_type functions in the 'C' locale (1.21 KB, patch)
2016-03-21 13:46 UTC, Iain Lane
committed Details | Review

Description Iain Lane 2016-03-14 13:29:25 UTC
See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=812876

Fixing this makes glib's build reproducible.
Comment 1 Iain Lane 2016-03-14 13:29:29 UTC
Created attachment 323869 [details] [review]
giotypefuncs.c: Sort _get_type functions in the 'C' locale

This ensures that the generated file is always the same (not dependent
on the build machine's environment), making the build reproducible.

Thanks to Jérémy Bobbio <lunar@debian.org> for the Debian bug report and
patch.
Comment 2 Matthias Clasen 2016-03-14 13:46:42 UTC
Review of attachment 323869 [details] [review]:

Looks harmless enough, but I wonder if patching fixed locales into shell fragments buried in Makefiles is a scalable approach to this problem. 
Wouldn't a fixed environment the first thing one starts with when going after a 'reproducible build' ? I mean, I would expect e.g. koji to run its builds in C (or en_US.utf8).
Comment 3 Iain Lane 2016-03-14 14:02:23 UTC
It's not really my project, but I think that the idea is that you can run the build in any reasonable environment—capturing as little as possible—and get the same result.

See: https://reproducible-builds.org/docs/deterministic-build-systems/

They run automated rebuilds of packages to detect when unreproducibility creeps in so we have a decent chance of keeping up.
Comment 4 Allison Karlitskaya (desrt) 2016-03-21 13:29:59 UTC
Review of attachment 323869 [details] [review]:

imho, this fragment is already ridiculous and this makes it no worse.  If this is the one issue that we need to fix in order to get reproducible builds, I'm happy to see it done.
Comment 5 Iain Lane 2016-03-21 13:46:39 UTC
The following fix has been pushed:
a668ee8 giotypefuncs.c: Sort _get_type functions in the 'C' locale
Comment 6 Iain Lane 2016-03-21 13:46:48 UTC
Created attachment 324434 [details] [review]
giotypefuncs.c: Sort _get_type functions in the 'C' locale

This ensures that the generated file is always the same (not dependent
on the build machine's environment), making the build reproducible.

Thanks to Jérémy Bobbio <lunar@debian.org> for the Debian bug report and
patch.