Skip to content

[R-pkg-devel] List of reverse dependencies, including archived packages

7 messages · Peter Carbonetto, Iñaki Ucar, Oliver Dechant +2 more

#
I'm wondering if there is a way to get a list of reverse dependencies on
CRAN that includes archived packages.

I am asking because "ashr", an R package I maintain, was recently removed
from CRAN, and now it is back after I fixed the critical problem. However,
some of the downstream packages that were affected by this removal are no
longer listed as a reverse dependency.

For example, the CorShrink package (
https://cran.r-project.org/package=CorShrink) imports ashr, and was
therefore removed when ashr was removed. But as you can see from the ashr
page (https://cran.r-project.org/package=ashr), CorShrink is no longer
listed as a reverse dependency.

I would like to notify all the maintainers of the packages that depend on
ashr---including maintainers of the packages that were removed---so that
they can take appropriate action.

I suspect that I am not the first one to confront this situation, but I
couldn't find anything in the R-pkg-devel archives that was relevant.

Thank you,

Peter Carbonetto
Computational Scientist, Statistics & Genetics,
Research Computing Center & Dept. of Human Genetics
University of Chicago
#
On Tue, 26 Feb 2019 at 05:29, Peter Carbonetto
<peter.carbonetto at gmail.com> wrote:
I think that the easiest way is to use Microsoft's CRAN time machine
[1]. Simply set the session's repo to the day before the archiving
date, and then you can get the complete list using regular procedures.

[1] https://mran.microsoft.com/timemachine

I?aki
#
That works quite well! Thank you for the suggestion.

Peter
On Tue, Feb 26, 2019 at 1:45 AM I?aki Ucar <iucar at fedoraproject.org> wrote:

            

  
  
#
Somewhat relatedly is there a way to monitor when a package has new
reverse depends or imports added?
#
On Tue, 26 Feb 2019 at 18:38, Oliver Dechant <dechant at dal.ca> wrote:
I don't know of any service currently providing this, if that's what
you're asking. But it's pretty straightforward to set up a cron job to
monitor the DESCRIPTION file of interest.

I?aki
#
On 26.02.2019 18:59, I?aki Ucar wrote:
Well, if *reverse* dependencies are of interest, rather monitor he 
package's CRAN webpage which lists reverse dependencis.

Best,
Uwe Ligges
#
On 26 February 2019 at 20:38, Uwe Ligges wrote:
| 
|
| On 26.02.2019 18:59, I?aki Ucar wrote:
| > On Tue, 26 Feb 2019 at 18:38, Oliver Dechant <dechant at dal.ca> wrote:
| >>
| >> Somewhat relatedly is there a way to monitor when a package has new
| >> reverse depends or imports added?
| > 
| > I don't know of any service currently providing this, if that's what
| > you're asking. But it's pretty straightforward to set up a cron job to
| > monitor the DESCRIPTION file of interest.
| 
| Well, if *reverse* dependencies are of interest, rather monitor he 
| package's CRAN webpage which lists reverse dependencis.

Or access the already-parsed-and-ready-to-use info:

R> crandb <- tools::CRAN_package_db()
R> colnames(crandb)
 [1] "Package"                 "Version"                 "Priority"               
 [4] "Depends"                 "Imports"                 "LinkingTo"              
 [7] "Suggests"                "Enhances"                "License"                
[10] "License_is_FOSS"         "License_restricts_use"   "OS_type"                
[13] "Archs"                   "MD5sum"                  "NeedsCompilation"       
[16] "Additional_repositories" "Author"                  "Authors at R"              
[19] "Biarch"                  "BugReports"              "BuildKeepEmpty"         
[22] "BuildManual"             "BuildResaveData"         "BuildVignettes"         
[25] "Built"                   "ByteCompile"             "Classification/ACM"     
[28] "Classification/ACM-2012" "Classification/JEL"      "Classification/MSC"     
[31] "Classification/MSC-2010" "Collate"                 "Collate.unix"           
[34] "Collate.windows"         "Contact"                 "Copyright"              
[37] "Date"                    "Description"             "Encoding"               
[40] "KeepSource"              "Language"                "LazyData"               
[43] "LazyDataCompression"     "LazyLoad"                "MailingList"            
[46] "Maintainer"              "Note"                    "Packaged"               
[49] "RdMacros"                "SysDataCompression"      "SystemRequirements"     
[52] "Title"                   "Type"                    "URL"                    
[55] "VignetteBuilder"         "ZipData"                 "Published"              
[58] "Path"                    "X-CRAN-Comment"          "Reverse depends"        
[61] "Reverse imports"         "Reverse linking to"      "Reverse suggests"       
[64] "Reverse enhances"        "MD5sum"                 
R> 
R> dim(crandb)
[1] 13776    65
R>

Now, if Oliver wants this _through time_ he will have snapshot it. The
information provided is always 'as is' for 'right now'.

Dirk