Repository navigation
Replies: 2 comments 8 replies
|
Yes, this would indeed make a lot of sense. OTOH I am hoping that R-universe could be improved to serve better metadata and have stable URLs to older R universe builds. Otherwise using R universe packages in lock files is not very useful because the locked builds will be unavailable as soon as there is a new commit in the package's repository. @jeroen does R universe delete the older binary (and source) builds, or these still exist but they are not in the PACKAGES files? |
|
I looked at the information that R-universe provides. The Because both source and binary packages are deleted as soon as there is a new build, the user experience will not be great, at least not with lock files. But even simple @jeroen If you could keep the package file around for a bit that would improve the experience a lot. E.g. keep the last (say) 3 builds plus the builds that are newer than a day or week. That would improve Maybe keeping all binary builds could be an option for a universe, e.g. cran.r-universe.dev only has builds for proper versions. Especially for platforms that PPM does not have, like aarch64 Windows, that'd be quite valuable to keep. |
Uh oh!
There was an error while loading. Please reload this page.
Currently, rig treats R-universe repositories as generic CRAN-like repositories.
While this works for installing currently available packages, I think R-universe deserves a distinct source model.
R-universe exposes CRAN-compatible package indexes, but its underlying model is different from CRAN:
RemoteUrl,RemoteSha, andRemoteSubdir.For example, suppose a project depends on polars from R-multiverse Community.
https://community.r-multiverse.org/polars
After a newer version is published, its previous artifact may no longer be available.
The lockfile should ideally retain enough upstream Git provenance to restore the selected revision rather than relying solely on the original R-universe download URL.
I would suggest considering:
We have adopted a similar modeling approach in the experimental https://github.com/eitsupi/rsolve, which distinguishes
RUniversefromCranLikeand models R-universe package identities using Git provenance.This is a reference for the data model, not a claim that all of the restoration behavior described above is implemented there.
I am not suggesting that rig needs to adopt rsolve's implementation or schema. However, I think treating R-universe as a first-class source would provide a better foundation than adding special-case fallback behavior to a generic CRAN-like repository.
Would this approach make sense for rig's package management architecture?
All reactions