[R] rdb and rds files include abolute file paths / help understanding how lazy-load dbs are created

Philip Rinn rinni at inventati.org
Thu Apr 20 00:56:38 CEST 2017


Hi,

Am 20.04.2017 um 00:32 schrieb Jeff Newmiller:
> I think we are (I certainly am) going to need a more concrete example. As in,
> point us at a specific package and filename in this package that illustrates
> your concern. Such precision would also be expected on R-devel, so the lack of
> response may have been self-inflicted.

Ok, let's give you an example:

philip at debian:~$ wget https://cran.r-project.org/src/contrib/ald_1.1.tar.gz
philip at debian:~$ mkdir test
philip at debian:~$ mkdir test1
philip at debian:~$ cp ald_1.1.tar.gz test/
philip at debian:~$ cp ald_1.1.tar.gz test1/
philip at debian:~$ cd test
philip at debian:~/test$ R CMD INSTALL --build ald_1.1.tar.gz
philip at debian:~/test$ tar -zxvf ald_1.1_R_x86_64-pc-linux-gnu.tar.gz
ald/help/paths.rds
philip at debian:~/test$ cd ../test1
philip at debian:~/test1$ R CMD INSTALL --build ald_1.1.tar.gz
philip at debian:~/test1$ tar -zxvf ald_1.1_R_x86_64-pc-linux-gnu.tar.gz
ald/help/paths.rds
philip at debian:~/test1$ cd ..
philip at debian:~$ Rscript -e "readRDS('test/ald/help/paths.rds')"
[1] "/tmp/RtmpXhF0y3/R.INSTALLd717b7b387a/ald/man/ALD.Rd"
[2] "/tmp/RtmpXhF0y3/R.INSTALLd717b7b387a/ald/man/ald-package.Rd"
[3] "/tmp/RtmpXhF0y3/R.INSTALLd717b7b387a/ald/man/likALD.Rd"
[4] "/tmp/RtmpXhF0y3/R.INSTALLd717b7b387a/ald/man/mleALD.Rd"
[5] "/tmp/RtmpXhF0y3/R.INSTALLd717b7b387a/ald/man/momentsALD.Rd"
attr(,"first")
[1] 46
philip at debian:~$ Rscript -e "readRDS('test1/ald/help/paths.rds')"
[1] "/tmp/RtmpqjNKva/R.INSTALLe362823e45a/ald/man/ALD.Rd"
[2] "/tmp/RtmpqjNKva/R.INSTALLe362823e45a/ald/man/ald-package.Rd"
[3] "/tmp/RtmpqjNKva/R.INSTALLe362823e45a/ald/man/likALD.Rd"
[4] "/tmp/RtmpqjNKva/R.INSTALLe362823e45a/ald/man/mleALD.Rd"
[5] "/tmp/RtmpqjNKva/R.INSTALLe362823e45a/ald/man/momentsALD.Rd"
attr(,"first")
[1] 46

As you see, the file help/paths.rds contains absolute paths which doe not exist
(after compilation) on the PC. I therefore try to find a way to replace these
absolute paths by relative. My favorite output would be:

philip at debian:~$ Rscript -e "readRDS('test2/ald/help/paths.rds')"
[1] "./ald/man/ALD.Rd"
[2] "./ald/man/ald-package.Rd"
[3] "./ald/man/likALD.Rd"
[4] "./ald/man/mleALD.Rd"
[5] "./ald/man/momentsALD.Rd"
attr(,"first")
[1] 46

I just ask for help to understand where those paths got inject (see my first mail
for details). I'm willing to write/test the patches needed.

Hope that helps to understand my idea.

Best,
Philip



More information about the R-help mailing list