Skip to content

R.css missing in Fedora R-core rpm

7 messages · Iñaki Ucar, Jeroen Ooms

#
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
#
On Tue, 9 Mar 2021 at 13:26, Jeroen Ooms <jeroenooms at gmail.com> wrote:
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.
#
On Tue, Mar 9, 2021 at 2:27 PM I?aki Ucar <iucar at fedoraproject.org> wrote:
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.
#
On Tue, 9 Mar 2021 at 23:55, Jeroen Ooms <jeroenooms at gmail.com> wrote:
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.

  
    
#
On Wed, Mar 10, 2021 at 12:18 AM I?aki Ucar <iucar at fedoraproject.org> wrote:
Many systems (including devtools, and many others) are set more strict
such that installation warnings are turned into errors, to ensure
users or applications never ends up installing broken packages.
Raising this warning by default for every install.packages() is really
unfortunate default behaviour, especially because it is evidently
unclear to users why this happens.
#
On Wed, 10 Mar 2021 at 12:02, Jeroen Ooms <jeroenooms at gmail.com> wrote:
A warning is not an error. I would expect that R raises an error only
when the package is really broken. Otherwise, there's no point in
having warnings and errors. Users have been bitten quite a lot by this
[1], and as a result, the remotes package (which devtools uses)
recently stepped out from this odd default behaviour [2] (not yet
released though).
About what is unclear to users, I refer again to [1]. But note that
this is *not* default behaviour. It only happens in docker images,
which have this special setting for a special use case, defined in
order to minimize image sizes and enforced by the package manager. It
has nothing to do with the R-core package: it just follows the
official guidelines and marks documentation files as documentation.

I could add some notes about docker in [3]. Note too that there's an
easier way to install CRAN packages in Fedora [4].

[1] https://github.com/r-lib/remotes/issues/403
[2] https://github.com/r-lib/remotes/commit/5a546add30b4538d60d781bc2fa26cd33ccde092
[3] https://cran.r-project.org/bin/linux/fedora/
[4] https://cran.r-project.org/bin/linux/fedora/#additional-packages


--
I?aki ?car
1 day later
#
FYI, tracked here: https://pagure.io/R/fedora-r-packages/issue/2
On Wed, 10 Mar 2021 at 13:14, I?aki Ucar <iucar at fedoraproject.org> wrote: