Re: [R-sig-Fedora] R 4.0.0

2020-05-14 Thread Iñaki Ucar
On Fri, 15 May 2020 at 00:23, José Abílio Matos  wrote:
>
> On Thursday, 14 May 2020 21.30.13 WEST Iñaki Ucar wrote:
> > Mmmh... but then you have to change that in the packages' SPEC and
> > rebuild them anyway when you update R. So... what's the advantage of
> > this?
>
> We already have other examples of how to do this with less steps. :-)
>
> Create macros like
>
> %{r_sitearch}
> %{r_sitelib}
>
> that expand with the R version being used and place them in R-rpm-macros and
> change all the R srpms to use them. We can also contribute changes to srpm
> generators like https://pagure.io/r2spec.
>
> This is a one-time change.
>
> Then when a new R version shows up it is enough to bump the release and
> rebuild the package. With the added advantage that all the cobwebs and dust
> are cleaned. :-)
>
> Another advantage is that the boilerplate code required to create a srpm
> package decreases. :-)

But we still have to rebuild the packages anyway, and this setup
doesn't force us to actually rebuild them, nor the user to update
them. So a user could end up with R major.minor and a bunch of
packages installed in some major.minor-1 path that are just junk. Or
the other way around: a bunch of packages updated under major.minor+1
with a previous version of R.

I mean, +1 to less boilerplate for packages, but changing the release
+ the ABI specification is not a big deal and solves those issues. For
me, having a path with full version specification only makes sense if
there is more than one version installed at the same time, like
Python.

-- 
Iñaki Úcar

___
R-SIG-Fedora mailing list
R-SIG-Fedora@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-fedora


Re: [R-sig-Fedora] R 4.0.0

2020-05-14 Thread José Abílio Matos
On Thursday, 14 May 2020 21.30.13 WEST Iñaki Ucar wrote:
> Mmmh... but then you have to change that in the packages' SPEC and
> rebuild them anyway when you update R. So... what's the advantage of
> this?

We already have other examples of how to do this with less steps. :-)

Create macros like

%{r_sitearch}
%{r_sitelib}

that expand with the R version being used and place them in R-rpm-macros and 
change all the R srpms to use them. We can also contribute changes to srpm 
generators like https://pagure.io/r2spec.

This is a one-time change.

Then when a new R version shows up it is enough to bump the release and 
rebuild the package. With the added advantage that all the cobwebs and dust 
are cleaned. :-)

Another advantage is that the boilerplate code required to create a srpm 
package decreases. :-)

Regards,
-- 
José Abílio

___
R-SIG-Fedora mailing list
R-SIG-Fedora@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-fedora


Re: [R-sig-Fedora] R 4.0.0

2020-05-14 Thread Iñaki Ucar
On Thu, 14 May 2020 at 21:41, José Abílio Matos  wrote:
>
> On Monday, 11 May 2020 16.47.55 WEST Iñaki Ucar wrote:
> > AFAIK, there's this commitment only for patch versions. In fact, the
> > path for the personal library is:
> >
> > ~/R/x86_64-redhat-linux-gnu-library/./
> >
> > so, when you install a new minor version, you don't have any package
> > in your personal library. Most of the time, for many packages, it just
> > works if you copy the old packages into the new folder, but many times
> > things break and reinstallation is needed. And this may happen for
> > compiled packages, but also for non-compiled ones (e.g.: "Packages
> > defining S4 classes with the above S3/S4 classes as slots should be
> > reinstalled", in R 3.3.0).
> >
> > So maybe we should streamline mass rebuild of R packages, and do it
> > for all minor updates. The virtual provide you proposed will force us
> > to do that, and will prevent breakages and complaints.
>
> Something that I have been wondering for some time, previous to this thread,
> is why is not this the default also for system installation and not just for
> users installs.
>
> With this I mean to have the system directories to be respectively:
>
> %{__libdir}|%{__datadir}/R.
>
> Is this due to inertia or are there other reasons. That would naturally solve
> the need to rebuild for each minor release. The major point here is that would
> apply not only to our packages but also for others installed using R itself.

Mmmh... but then you have to change that in the packages' SPEC and
rebuild them anyway when you update R. So... what's the advantage of
this?

-- 
Iñaki Úcar

___
R-SIG-Fedora mailing list
R-SIG-Fedora@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-fedora


Re: [R-sig-Fedora] R 4.0.0

2020-05-14 Thread José Abílio Matos
On Monday, 11 May 2020 16.47.55 WEST Iñaki Ucar wrote:
> AFAIK, there's this commitment only for patch versions. In fact, the
> path for the personal library is:
> 
> ~/R/x86_64-redhat-linux-gnu-library/./
> 
> so, when you install a new minor version, you don't have any package
> in your personal library. Most of the time, for many packages, it just
> works if you copy the old packages into the new folder, but many times
> things break and reinstallation is needed. And this may happen for
> compiled packages, but also for non-compiled ones (e.g.: "Packages
> defining S4 classes with the above S3/S4 classes as slots should be
> reinstalled", in R 3.3.0).
> 
> So maybe we should streamline mass rebuild of R packages, and do it
> for all minor updates. The virtual provide you proposed will force us
> to do that, and will prevent breakages and complaints.

Something that I have been wondering for some time, previous to this thread, 
is why is not this the default also for system installation and not just for 
users installs.

With this I mean to have the system directories to be respectively:

%{__libdir}|%{__datadir}/R.

Is this due to inertia or are there other reasons. That would naturally solve 
the need to rebuild for each minor release. The major point here is that would 
apply not only to our packages but also for others installed using R itself.

Best regards,
-- 
José Abílio

___
R-SIG-Fedora mailing list
R-SIG-Fedora@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-fedora