Conversation
|
Test run on linux OS, where the lockfile was mutated to point to dplyr 1.1.3 when the available version is 1.1.4. PPM supports the archive at the linux binary end point to support them as complete CRAN-like repos, but serves sources in the Archive. NOTE: The package kind is determined at resolution by looking at the package's available in the binary repository db. Since it is listed, it gets labeled as source, even though it is truly installed as binary. |
|
Similar on mac, we see it trying to fetch |
Can we fix it? |
|
There's a couple reasons I would be fine leaving it:
To me, this case is small enough having the discrepency would be fine, but if we want to take the jump and start to report on a sync what the true source type is for all packages, I can include that in the PR (i.e. we assume local and URL are source, and return it as source, even if we do find a binary at sync time) |
src/sync/sources/repositories.rs
Outdated
| } | ||
| } | ||
|
|
||
| // 3. Download binary from archive |
There was a problem hiding this comment.
should we try binary from archive before source?
i'm confused on this ordering of it attempting the src first, then "falling back" to the binary archive. eg I'd basically expect the flow to be binary --> binary archive --> src --> src archive for the sequence of lookups |
@rzofchak-a2ai and I talked about it before implementing and thought we should defer to what is "available" before digging into the archive, but also see wanting the speed benefit of the archive. Fortunately, the case where we have both a valid archived binary and a valid non-archived source is quite low, so shouldn't matter very much. I'm also using the |
| &paths, | ||
| "testpkg", | ||
| &PackageType::Binary, | ||
| false, |
There was a problem hiding this comment.
i'm thinking this might be better as a struct for readability - reading this code trying to map what each oft hargs are gets tough. A struct is a little more boilerplate but is clear whats there, and even reading the tests could tell what falues are permuting.
In order to improve performance,
rvwill respect binary archive end points.In standard CRAN-like repositories, archived packages are only kept as source in the following structure:
This PR expands this concept for repositories that wish to expand the binary availability by adding the Archive structure to each binary end point