[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Build-Depends for CRAN packages



Am Freitag, 21. August 2020, 06:18:21 CEST schrieb Dirk Eddelbuettel:
> On 21 August 2020 at 05:58, Johannes Ranke wrote:
> | Hi all,
> | 
> | yesterday I wondered why the Build-Depends of CRAN packages that are
> | uploaded to unstable are adapted to the current R version, as mentioned
> | in the Changelog e.g. of yesterdays upload of mgcv:
> | 
> | --------------------
> | 
> | Betreff: Accepted mgcv 1.8-32-1 (source) into unstable
> | Datum: Donnerstag, 20. August 2020, 18:06:49 CEST
> | Von: Debian FTP Masters <ftpmaster@ftp-master.debian.org>
> | An: debian-devel-changes@lists.debian.org
> | 
> | Format: 1.8
> | Date: Thu, 20 Aug 2020 10:41:33 -0500
> | Source: mgcv
> | Architecture: source
> | Version: 1.8-32-1
> | Distribution: unstable
> | Urgency: medium
> | Maintainer: Dirk Eddelbuettel <edd@debian.org>
> | Changed-By: Dirk Eddelbuettel <edd@debian.org>
> | 
> | Changes:
> |  mgcv (1.8-32-1) unstable; urgency=medium
> |  .
> |  
> |    * New upstream release
> |  
> |  .
> |  
> |    * debian/control: Set Build-Depends: to current R version
> | 
> | --------------------
> | 
> | I never got the point of why the adaptation of the build dependency is
> | necessary or beneficial for these uploads of CRAN packages to unstable.
> | Shouldn't they build at least on the previous R version, as demonstrated
> | by
> | the CRAN checks on r-oldrel [1]? It seems to me that compatibility with
> | the
> | previous release is implicitly required and -- at least to some degree --
> | guaranteed by these checks.
> 
> Debian is independent of CRAN.

Good point. But it would still appear reasonable to me to make use of our 
knowledge of the CRAN testing infrastructure when packaging for Debian.
 
> So when I as a Debian developer upload to _Debian unstable_ we ensure it
> builds with Debian unstable in order to migrate to testing in order to be
> cast one day into a new stable release.

I do not think that this build dependency is necessary for this. In my 
experience, CRAN packages build on the previous R version as well. Migration 
of binary packages can sufficiently be controlled by the r-api version as far as 
I understand.

> That is simply a different set of requirements than we have at CRAN (where I
> also upload a few things as a CRAN package author -- but into a very
> different system).
> 
> | [1] https://cran.r-project.org/web/checks/check_flavors.html
> 
> While CRAN has Debian flavours for testing, these tend to be the "testing"
> rolling releases so we can't directly rely on them.

Well, the checks on r-oldrel that I am referring to are for Windows and Mac 
anyways. So my argument is not specifically strong here.
 
> I think we are in basic agreement, and having done this here for so long I
> often wondered if we could not have a more formal Debian <-> CRAN link.  But
> we don't right now.  Hence Debian requirements only in the upload.
> 
> That said, it is also possible to systematically patch this.  Michael seems
> to cope fine at his PPA with the over 4600 r-cran-* packages for three
> Ubuntu flavours.

This is what I started doing in 2008 [2] for the backports to Debian. I 
recently removed this code [3] as I generally compile CRAN packages using the 
current R version backported from unstable, so the build dependency is 
fulfilled anyways.

I do not want to push this too hard. The discussion already helped my to 
understand it better.

Thanks,

Johannes

[2] https://cgit.jrwb.de/r-backports/commit/?id=ea37b5789aec00d47c
[3] https://cgit.jrwb.de/r-backports/commit/?id=b0e1bc37ded73e




Reply to: