On 11 January 2015 at 17:49, Dirk Eddelbuettel wrote: | | On 27 December 2014 at 15:29, Dirk Eddelbuettel wrote: | | | | Hi Martin, | | | | On 27 December 2014 at 22:12, Martin Maechler wrote: | | | Dear Dirk, | | | | | | is this about R itself, or rather (I think) about building "external" | | | (e.g. CRAN) R packages? | | | Martin | | | | As I understand (and the full text is still below) Jeremy is concerned about | | R packages (ie r-cran-*) created by R showing "who built it when". | | | | Which would make simple bit by bit comparison / replication impossible. | | I got some time to work on this today. | | Earlier discussion about this is at http://bugs.debian.org/774031 | | The issue (for Debian) is that bit-by-bit comparison for reproducibility is | made impossible by the timestamps added at build-time by R. | | Jeremy, the bug report submitter, confused Packaged: (created when an R | package authors finalizes his tarball before submitting to CRAN) and Built: | (added at INSTALL time), but submitted a first simple patch removing these | timestamps. I don't like the R in Debian to be different from the general | one, so I hoping you can see merit in the two simple patches below. | | They do the following: | | - accept a new option to INSTALL in src/library/tools/install.r and passing | the value of that option to .install_package_description() in the sibbling | file admin.R | | - also accept a new env var to MAKE at R-base compile time to pass that to | the mkdesc target in share/make/basepkg.mk for the base packages. | | Please let me know if you want me to expand on this, or add more tests. | | The two patches are attached, and were made against R-devel's SVN revision | r67410 from yesterday.
Resending. The earlier post has an unforunate M-x untabify before the second diff was created.
R-set-buildstamp-via-INSTALL.diff
Description: Binary data
R-set-buildstamp-via-MAKE-env-var.diff
Description: Binary data
Dirk | | x[DELETED ATTACHMENT R-set-buildstamp-via-INSTALL.diff, Untyped binary data] | x[DELETED ATTACHMENT R-set-buildstamp-via-MAKE_env_var.diff, Untyped binary data] | | | Dirk | | | | | | | | | Dirk | | | | | | | | On Sat, Dec 27, 2014 at 8:30 PM, Dirk Eddelbuettel <e...@debian.org> wrote: | | | > | | | > (CCing upstream) | | | > | | | > Salut Jérémy, | | | > | | | > On 27 December 2014 at 19:26, Jérémy Bobbio wrote: | | | > | Package: r-base-dev | | | > | Version: 3.1.2-2 | | | > | Severity: wishlist | | | > | Tags: patch | | | > | User: reproducible-bui...@lists.alioth.debian.org | | | > | Usertags: toolchain username timestamps | | | > | | | | > | Hi! | | | > | | | | > | While working on the “reproducible builds” effort [1], we have noticed | | | > | that R packages could not be built reproducibly. | | | > | | | | > | The username and build time gets written to the `Packaged` field in | | | > | `package.rds`. The build time also gets written to the `Built` field of | | | > | the `DESCRIPTION` file. | | | > | | | > That's standard R behaviour which I'd rather not deviate from (as I don't | | | > believe in maintaining local patches for "a long time" -- and I have looked | | | > after this for a decade or more). | | | > | | | > | This data does not look very useful in the context of Debian packages. | | | > | The attached patch simply stops writing the `Packaged` field entirely | | | > | and remove the build time from the `Built` field. R packages can then be | | | > | built reproducibly according to some preliminary tests. | | | > | | | | > | If this approach is seen as too broad, using the timestamp in the latest | | | > | debian/changelog entry through an environment variable would allow to | | | > | keep a timestamp. My current R skills are not up to such task, though. | | | > | The username should probably be removed or made constant in any cases. | | | > | | | > I think the idea may have some merit. | | | > | | | > If someone from R Core has some sympathy for the request, I can probably work | | | > up a similarly small patch which suppresses this output if an option or flag | | | > has been set. | | | > | | | > But without cooperation from R Core, I don't think the Debian package should | | | > deviate. | | | > | | | > Cheers, Dirk | | | > | | | > | | | | > | [1]: https://wiki.debian.org/ReproducibleBuilds | | | > | | | | > | -- | | | > | Lunar .''`. | | | > | lu...@debian.org : :Ⓐ : # apt-get install anarchism | | | > | `. `'` | | | > | `- | | | > | x[DELETED ATTACHMENT r-base_3.1.2-2_reproducible0.diff, text/x-diff] | | | > | x[DELETED ATTACHMENT signature.asc, application/pgp-signature] | | | > | | | > -- | | | > http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org | | | > | | | > _______________________________________________ | | | > R-core list: https://stat.ethz.ch/mailman/listinfo/r-core | | | | -- | | http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org | | -- | http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org -- http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org