Feature #5630: Reproducible builds
Comment changes in POT files make ISO builds non-reproducible
|Type of work:||Code||Affected tool:|
Sometimes we update a program of ours and as a result the line numbers encoded in comments, in the POT file generated by
refresh-translations, differ. And then POT + PO files will get updated every time we build an ISO, resulting in non-reproducible builds. This happens quite frequently (e.g. yesterday), and generally I'm baby-sitting Jenkins results closely enough to notice, and then I run
refresh-translations, commit and push to fix the problem. It's a waste of my time, and I don't even want to consider sharing this dumb work better. We'd better simply eliminate the root cause of this problem :)
To this end, I think we instead should:
refresh-translationsignore changes in comments by default, just like it already ignores changes in the POT creation date header; this way ISO builds won't be made needlessly unreproducible by such trivial changes;
--forceoption, that we'll use in the release process to ensure we regularly update even those usually ignored comments.
I guess both
intltool_update_pot functions and the
refresh-translations script need to be changed. Perhaps
import-translations as well but I'm less sure (one would need to look exactly when/how/why we run it to make a good decision).
Who wants to do it? Either anonym or Ulrike, I guess? If you prefer I can handle it myself, stealing from your time budget.