[Rd] Respecting custom repositories files in interactive/batch R sessions
Kurt Hornik
Kurt@Horn|k @end|ng |rom wu@@c@@t
Fri Sep 16 18:46:47 CEST 2022
>>>>> Gabriel Becker writes:
Thanks. Perhaps submit your patch via R-bugs?
(I would have hoped we can simply use tools:::.get_repositories() right
away ...)
Best
-k
> Hi Kurt,
> Thanks.
> On Fri, Sep 16, 2022 at 12:57 AM Kurt Hornik <Kurt.Hornik using wu.ac.at> wrote:
>> >>>>> Gabriel Becker writes:
>>
>> Friends,
>>
>> I always keep forgetting how these things currently/precisely work, but
>> I guess the principle is that utils:::.onLoad() does
>>
>> options(repos = c(CRAN = "@CRAN@"))
>>
>> unless the repos option was already set (in the user or site profiles).
>> As the latter are not used when checking, the check code in tools takes
>> advantage of the repositories file mechanism, see ? setRepositories:
>>
>> The default list of known repositories is stored in the file
>> ‘R_HOME/etc/repositories’. That file can be edited for a site, or
>> a user can have a personal copy in the file pointed to by the
>> environment variable ‘R_REPOSITORIES’, or if this is unset or does
>> not exist, in ‘HOME/.R/repositories’, which will take precedence.
>>
>> which also points to Startup etc).
>>
> Yes this is exactly what happens.
>>
>> I guess one could teach utils:::.onLoad() to use the user/site
>> repositories setting instead of the hard-wired CRAN = @CRAN@? Afaict,
>> that would make no difference if the repositories file was not
>> configured, and provide the configured setting in case repos was not set
>> in the user/site profile ...
>>
> Precisely, that is my proposal. I have a patch which does this and passes
> make check-devel for me (there is some slight technical gotchas because
> tools::get_repositories calls utils::read.delim which isn't available yet
> during utils::onLoad execution), but I have a workaround for that that
> works.
> If the consensus is that this is a good idea I'm more than happy to submit
> the patch, along with an update to the admin manual reflecting the change
> (either together or as separate issues).
> Best,
> ~G
>>
>> Best
>> -k
>>
>>
>> > Hi Dirk,
>> > So there's a couple of things going on. First off you're correct that
>> that
>> > works generally. There are a couple of reasons that made it not. The
>> first
>> > is a bug/design error in Rstudio which is causing the R_PROFILE to not be
>> > adhered to when you build there. I will be filing a bug regarding that
>> with
>> > them, as I know that is irrelevant to this list. There was some
>> indication
>> > that even raw R CMD check running via an R studio server installation was
>> > missing the profile, but that ended up being spurious upon deeper
>> testing.
>>
>> > That said, I do think that there is a case to be made for the ability to
>> > modify what repositories R knows about at a more fundamental level than
>> > setting options in a site profile, and that is, ostensibly, what the
>> > repositories file machinery does. I understand it was intended initially
>> > and is currently only (?) used for the windows repository gui menu and
>> > related setRepositories function, but I still think there is some value
>> in
>> > extending it in the ways I described.
>>
>> > One major difference is that in this case, even when run with --vanilla,
>> > administrators would still be in control of which repositories users hit
>> > (by default only, of course, but there is still value in that).
>>
>> > Best,
>> > ~G
>>
>> > On Thu, Sep 15, 2022 at 11:31 AM Dirk Eddelbuettel <edd using debian.org>
>> wrote:
>>
>> >>
>> >> I may be missing something here but aren't you overcomplicating things?
>> >> One
>> >> can avoid the repetitive dialog by setting options(repos)
>> accordingly,
>> >> and I have long done so. The Debian (and hence Ubuntu and other
>> >> derivatives)
>> >> package does so via the Rprofile.site I ship. See e.g. here
>> >>
>> >> https://sources.debian.org/src/r-base/4.2.1-2/debian/Rprofile.site/
>> >>
>> >> I have used the same mechanism to point to intra-company repositories,
>> >> easily
>> >> a decade or so ago. I had no problems with R CMD check of in-house
>> packages
>> >> using this.
>> >>
>> >> Dirk
>> >>
>> >> --
>> >> dirk.eddelbuettel.com | @eddelbuettel | edd using debian.org
>> >>
>>
>> > [[alternative HTML version deleted]]
>>
>> > ______________________________________________
>> > R-devel using r-project.org mailing list
>> > https://stat.ethz.ch/mailman/listinfo/r-devel
>>
> [[alternative HTML version deleted]]
> ______________________________________________
> R-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
More information about the R-devel
mailing list