On Fri, Sep 16, 2022 at 12:57 AM Kurt Hornik <Kurt.Hornik at wu.ac.at> wrote:
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).
Hi Dirk,
So there's a couple of things going on. First off you're correct that
works generally. There are a couple of reasons that made it not. The
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
them, as I know that is irrelevant to this list. There was some
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
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
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).
On Thu, Sep 15, 2022 at 11:31 AM Dirk Eddelbuettel <edd at debian.org>
I may be missing something here but aren't you overcomplicating things?
One
can avoid the repetitive dialog by setting options(repos)
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
using this.
Dirk
--
dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
[[alternative HTML version deleted]]