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.

Attachment: R-set-buildstamp-via-INSTALL.diff
Description: Binary data

Attachment: 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

Reply via email to