R.css missing in Fedora R-core rpm
On Tue, 9 Mar 2021 at 23:55, Jeroen Ooms <jeroenooms at gmail.com> wrote:
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
install.packages doesn't fail. devtools does. I see:
Warning in file.create(f.tg) :
cannot create file '/usr/share/doc/R/html/packages.html', reason 'No
such file or directory'
Warning in utils::make.packages.html(.Library, docdir = R.home("doc")) :
cannot update HTML package index
The package is correctly installed and usable.
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.
I?aki ?car