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.

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

Attachment: R-set-buildstamp-via-MAKE_env_var.diff
Description: 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

Reply via email to