Availability of Windows binaries of older package versions

Hi,

Unfortunately, I was not able to find any clarification whether older
binaries should still be available on P3M after a newer version was released.

Concrete example: There does not seem to be a Windows binary of OpenSSL 2.3.1 after 2.3.2 was released.
Older snapshot URLs still provide the binary.

For Ubuntu 22.04, a binary is still available.
Unfortunately, the P3M web interface does not seem to show binaries for archived versions at all.

Does someone have any info on that?

1 Like

Hey @MaxAtoms, R (or more like CRAN) unfortunately does not support archived versions of binary packages for Windows and macOS, so we are not able to provide those in Package Manager. The only way to install an old version of a Windows/macOS binary today is to use an old snapshot URL, as you've found.

For Linux, we're only able to provide archived binaries because R doesn't have native support for Linux binaries, so we're serving Linux binaries in a nonstandard way. We can't really do this for Windows and macOS though.

Some client packages like renv may be able to automatically install old versions of Windows/macOS binaries, however, by looking through snapshots on P3M.

2 Likes

P3M may not always display older binaries after newer versions are released, which is causing the issue you're seeing with OpenSSL 2.3.1. While the snapshot URLs may still provide access to older versions, the web interface might not show them for easy access. For Ubuntu 22.04, it's likely that older versions are retained. To get the older Windows binary (like OpenSSL 2.3.1), you may need to directly access the snapshot URL or check the P3M documentation for any specifics on how archived binaries are handled.

Thanks for your answers. I promptly found old renv documentation for MRAN which states that older binaries are not kept for Windows and MacOS: Using MRAN Binaries • renv. Unfortunately, in our case the automatic renv fallback to an old snapshot does not seem to work for the openssl package. We chose to set an old snapshot for now.

I recently went on a deep dive of the renv/P3M architecture for Linux and realized that there are indeed no bin paths. I had to pass the right user agent header via curl to get the archives containing the .so files ^^