New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
daps output is not reproducible #482
Comments
|
I think neither of these is really under our control:
|
|
In a sense, both are also under our control: |
|
|
Ok, so I just added the generate.consistent.ids parameter to the openSUSE RN Makefile. That one seems to work, presumably we could also add it into our SUSE DocBook stylesheets, meaning all documents would get this behavior by default, not just the openSUSE RN. I see no huge drawbacks there. About the Date/Time issue -- https://svn.apache.org/repos/asf/xmlgraphics/site/deploy/fop/1.0/metadata.pdf (p.3) seems to indicate that you could set the value actually (assuming they are using the word "should" in the proper way), albeit discouraging users from doing so. I have not yet tried but I guess we could optionally support faking this value in https://github.com/openSUSE/suse-xsl. Making this reproducible by default seems like a less than ideal decision to me because this information can actually be useful. (All the while there of course is also file ctime/mtime, so in a way this information is duplicated.) |
|
@bmwiedemann I have tried tricking FOP into writing different file creation dates but that has not worked. I only got it to write an additional fake modification time field which we didn't have before at all. So, in the end, I think we need a fix in FOP itself. The doc team has no one with sufficient proficiency in Java and thus cannot provide such a fix. Can we close this here? edit: closing this, feel free to reopen ftr, I found that outside of OBS, this is a good tool for diffing binaries: http://tboudet.free.fr/hexdiff/. |
Problem description
While working on reproducible builds for openSUSE, I found that the release-notes-openSUSE package varied in every build.
daps .pdf and .html output varies between builds.
http://rb.zq1.de/compare.factory-20181023/release-notes-openSUSE-compare.out
http://rb.zq1.de/compare.factory-20181023/release-notes-openSUSE-provenance.dot.svg shows how the .pdf is created.
Expected behavior
daps should use the
$SOURCE_DATE_EPOCHenv var as date+time as defined in https://reproducible-builds.org/specs/source-date-epoch/daps should use deterministic ID numbers in .html output (maybe by not processing inputs in indeterministic filesystem readdir order)
Steps to reproduce the behavior
do a few builds and compare results
The text was updated successfully, but these errors were encountered: