Philip Rinn
2017-Apr-12 04:40 UTC
[R] rdb and rds files include abolute file paths / help understanding how lazy-load dbs are created
Hi, I'm trying to understand why/how absolute file paths are stored in .rdb[1] and .rds[2] files during package installation. As a consequence building the same r package in different directories does not produce identical .rdb and .rds files. The background is that I work on reproducible builds[3] of R packages. I think this is important from an engineering point of view but also from a scientists perspective (that's actually my point). I want to be sure that my research results are reproducible and therefore I need software that builds reproducible. To investigate further I'd like to ask for some help. From what I understand so far the lazy-load databases are built by code in src/library/tools/R/makeLazyLoad.R. The code path is not very clear to me but the main problem I have now is that it's hard to follow the code path used to install a package. Could someone enlighten me by pointing me to some docs or by briefly describing the path? Any help/comments are very welcome. Best, Philip PS: could you CC me, I'm not on the list. Thanks. [1] at least in <PKG>/R/<PKG>.rdb and <PKG>/help/<PKG>.rdb [2] at least in <PKG>/help/paths.rds [3] https://reproducible-builds.org
Jeff Newmiller
2017-Apr-12 06:09 UTC
[R] rdb and rds files include abolute file paths / help understanding how lazy-load dbs are created
Someone might respond here anyway, but I think this is more of an R-devel question. Anyway, as long as the package file after installation has appropriate file names for where it is installed, what does it matter what is in the files before installation? -- Sent from my phone. Please excuse my brevity. On April 11, 2017 9:40:39 PM PDT, Philip Rinn <rinni at inventati.org> wrote:>Hi, > >I'm trying to understand why/how absolute file paths are stored in >.rdb[1] and >.rds[2] files during package installation. As a consequence building >the same r >package in different directories does not produce identical .rdb and >.rds files. > >The background is that I work on reproducible builds[3] of R packages. >I think >this is important from an engineering point of view but also from a >scientists >perspective (that's actually my point). I want to be sure that my >research results >are reproducible and therefore I need software that builds >reproducible. > >To investigate further I'd like to ask for some help. From what I >understand so >far the lazy-load databases are built by code in >src/library/tools/R/makeLazyLoad.R. The code path is not very clear to >me but the >main problem I have now is that it's hard to follow the code path used >to install >a package. Could someone enlighten me by pointing me to some docs or by >briefly >describing the path? > >Any help/comments are very welcome. > >Best, >Philip > >PS: could you CC me, I'm not on the list. Thanks. > >[1] at least in <PKG>/R/<PKG>.rdb and <PKG>/help/<PKG>.rdb >[2] at least in <PKG>/help/paths.rds >[3] https://reproducible-builds.org > >______________________________________________ >R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >https://stat.ethz.ch/mailman/listinfo/r-help >PLEASE do read the posting guide >http://www.R-project.org/posting-guide.html >and provide commented, minimal, self-contained, reproducible code.
Philip Rinn
2017-Apr-19 21:40 UTC
[R] rdb and rds files include abolute file paths / help understanding how lazy-load dbs are created
Hi, On 12.04.2017 at 08:09, Jeff Newmiller wrote:> Someone might respond here anyway, but I think this is more of an R-devel > question.I tired R-devel before[1] with no response :(.> Anyway, as long as the package file after installation has appropriate file > names for where it is installed, what does it matter what is in the files > before installation?That's actually the point. In the installed .rd[bs] files the absolute file paths are still present but often[2] the referenced files don't even exist on the computer the packaged is installed. My approach therefore is to replace those absolute paths by relative[3] paths. But to do so I need to understand where exactly those absolute paths are injected in the files - that's why I asked for help in my fist mail - sorry for not being clear enough. Best, Philip [1] https://stat.ethz.ch/pipermail/r-devel/2017-April/074016.html [2] At least on Linux for packages installed via the distribution packages system. And I think this also holds for prebuild windows/mac builds from cran. [3] Relative to teh root directory of the package source -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20170419/17212163/attachment.sig>