On Tue, Mar 9, 2021 at 2:27 PM I?aki Ucar <iucar at fedoraproject.org>
wrote:>
> On Tue, 9 Mar 2021 at 13:26, Jeroen Ooms <jeroenooms at gmail.com>
wrote:
> >
> > When installing an R package from source on Fedora using the standard
> > R-core rpm, we always get a warning at the end because of a missing
> > css file /usr/share/doc/R/html/R.css:
> >
> > ** byte-compile and prepare package for lazy loading
> > ** help
> > *** installing help indices
> > Error in file.copy(file.path(R.home("doc"),
"html", "R.css"), outman) :
> > (converted from warning) problem copying /usr/share/doc/R/html/R.css
> > to
/usr/lib64/R/library/00LOCK-systemfonts/00new/systemfonts/html/R.css:
> > No such file or directory
> >
> > But when I try to install the missing file, yum says it is already
installed:
> >
> > yum install /usr/share/doc/R/html/R.css
> > ## Package R-core-4.0.3-1.fc32.x86_64 is already installed.
> >
> > However it does not actually exist. Perhaps the rpm could make a copy
> > or symlink from /usr/lib64/R/library/base/html/R.css
>
> I assume you are doing this in a docker image. That file is not
> installed because our base images have "tsflags=nodocs" set in
> /etc/dnf/dnf.conf. Unset this before installing R-core, or, even
> better, install packages with --no-docs.
Perhaps --no-docs should then be the default if tsflags=nodocs? The
default behavior is unfortunate, because it makes install.packages()
fail even if the user is not even interested in documentation, and
people come up with all sorts of workarounds eg:
https://github.com/r-lib/devtools/issues/2084
Alternatively, perhaps it makes sense to consider the file
/usr/share/doc/R/html/R.css to be not part of the documentation,
because R assumes this file to be available during install.packages().
Exactly the same R.css file is also included in every installed
package under html/R.css, even when tsflags=nodocs, so I don't see the
point of omitting it in the once place where R expects to find it.