[Rd] write_PACKAGES's fields default
Uwe Ligges
||gge@ @end|ng |rom @t@t|@t|k@tu-dortmund@de
Mon Mar 10 14:36:57 CET 2025
On 01.03.2025 13:07, Lluís Revilla wrote:
> Dear list,
>
> I'm trying to get some details from repositories with
> available.packages. However, despite being included on the DESCRIPTION
> files they are not available.
>
> ap <- utils::available.packages(fields = "Additional_repositories",
> filters = c("CRAN", "duplicates"),
> ignore_repo_cache = TRUE,
> repos = "https://cran.r-project.org")
> ap[, "Additional_repositories"] |> is.na() |> all()
> ## [1] TRUE
>
> However, some packages like Seurat have the Additional_repositories
> field [2]. If I try with another repository (Bioconductor software
> repository):
>
> ap <- available.packages(fields = "biocViews",
> ignore_repo_cache = TRUE,
> repos = "https://bioconductor.org/packages/3.21/bioc")
> ap[, "biocViews"] |> is.na() |> all()
> ## [1] TRUE
>
> It also misses the BiocViews field compulsory on that repository.
> Both repositories use tools::write_PACKAGES [3][4] to generate the
> file read by available.packages. This function writes by default
> fields "needed by available.packages".
>
> However, it is unclear what is needed for available.packages.
> According to its documentation, it returns "details corresponding to
> packages currently available at one or more repositories". To me this
> would mean that fields on the DESCRIPTION files should appear, but the
> default of write_PACKAGES doesn't write other fields besides
> '"Package"', '"Version"', '"Priority"', '"Depends"', '"Imports"',
> '"LinkingTo"', '"Suggests"', '"Enhances"', '"OS_type"', '"License"'
> and '"Archs"'.
>
> I could approach each repository and ask to include more fields.
> However, to match the documentation on available.packages and help all
> repository administrators it would make sense to change the default on
> write_PACKAGES.
> Could the default fields be changed, so
> that all fields available on packages' DESCRIPTION to
> PACKAGES(.gz,.rds). Perhaps with fields = TRUE?
> If this is too much it would be great if fields documented by Writing
> R Extensions are written on PACKAGES.
> This modification would make it easier for all to reuse repository data.
>
> Many thanks for your consideration,
>
> Lluís
>
> PD: From CRAN perspective CRAN_packages_db() function can be used to
> get Additional_repositories, but this is limited to CRAN and won't
> work for BiocViews on Bioconductor or for other arbitrary fields like
> '"RoxygenNote"'.
I'd indeed use
Cpdb <- tools:::CRAN_package_db()
Bpdb <- tools:::BioC_package_db()
for the two mentioned repos. ALso, PACLAGES.... is downloaded very
frequently and should not grow too much.
Is there a use case why available.packages() should provide this info
while not being less performant for package installatons etc.?
Best,
Uwe Ligges
>
> [1]: https://stat.ethz.ch/pipermail/r-devel/2024-June/083477.html
> [2]: https://cran.r-project.org/package=Seurat
> [3]: https://svn.r-project.org/R-dev-web/trunk/CRAN/QA/Uwe/make/writeCRANPackages.R
> [4]: https://github.com/Bioconductor/BBS/blob/devel/utils/makePropagationStatusDb.R#L348
>
> ______________________________________________
> R-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
More information about the R-devel
mailing list