[vcpkg registries] Registries: Take 2#13590
Conversation
BillyONeal
left a comment
There was a problem hiding this comment.
Thanks for your great work!
|
The RFC is super interesting! 🤓 Something it doesn't talk about is triplets. Will it be possible to store them in the registry alongside the ports? A little more details about the context/motivations of my question might help. Right now, in our prototype integration of |
|
@klalumiere we may consider adding triplet registries at some point, but the plan at this point is to just add overlay triplets to the configuration file. |
docs/specifications/registries-2.md
Outdated
There was a problem hiding this comment.
Database generator implemented according to spec in PR #13777
|
I'm calling for an FCP. Please post all comments this next week; assuming no new blocking issues, this specification will be merged at 2020-11-06T17:00-0800 (2020-11-07T01:00Z) (i.e., at 5 pm next friday redmond time) |
|
I agree with @Neumann-A's assessment that the
I'd like to take input from the community. If you think that option 1 is better, please respond to this message with 🚀 ; if you think that option 2 is better, please respond to this message with 🎉 . If you have more complex thoughts, please respond in a reply :) |
docs/specifications/registries-2.md
Outdated
There was a problem hiding this comment.
Do you think it would be a good idea to add an option to the vcpkg add-port command so that this part is done "automatically" for us? Something like
vcpkg add-port ./ports/a-/asmjit/2020-10-08 --base ports/a-/asmjit/2020-07-22 --port-type registry-path- Make the edits required to
ports/a-/asmjit/2020-10-08to update to latest.
This would remove a manual manipulation, and it prevents repeating ports/a-/asmjit/2020-10-08 twice, removing at the same time an opportunity to make a typo. 🙂
unfortunately without all the history because I really screwed up the git commands This RFC is the new state of the world with regard to our plan for registries; it is very different from the old RFC. It includes registry databases, which are how one describes the set of versions of ports that one has access to. It also includes the specification for git registries, and updates the specification for filesystem registries with these new registry databases. Since this RFC completely changes how registries work, the existing implementation will be broken.
2a416ae to
0095a9b
Compare
docs/specifications/registries-2.md
Outdated
| "abseil": { "version-string": "2020-03-03" }, | ||
| "zlib": { "version-string": "1.2.11", "port-version": 9 } |
There was a problem hiding this comment.
I think we should make this a generic version field that does not imply any kind of scheme.
I would suggest "version" but it is kind of unfortunate that it overlaps with the "Relaxed" scheme.
"abseil": { "version": "2020-03-03" },
"zlib": { "version": "1.2.11", "port-version": 9 }
Another suggestion would be "version-text"
"abseil": { "version-text": "2020-03-03" }
"zlib": { "version-text": "1.2.11", "port-version": 9 }
Or we could change the spec for versioning so that "version" does not imply relaxed and instead make it explicit "version-relaxed".
| "version-string": "1.12.7", | ||
| "git-tree": "466e96fd2e17dd2453aa31dc0bc61bdcf53e7f61", |
There was a problem hiding this comment.
Same as with baselines use a generic version field.
{
"version": "1.12.7",
"git-tree": "466e96fd2e17dd2453aa31dc0bc61bdcf53e7f61"
}
There was a problem hiding this comment.
This definitely shouldn't use a generic field; there's no other place to grab the version scheme from.
This PR merges the Registries changes and the versioning changes, so that one can use both at the same time. There is one major difference between this PR and the RFC (microsoft#13590), which is that instead of version files looking like: ```json [ ... ] ``` version files look like: ``` { "versions": [ ... ] } ``` this is to support interop between this PR and existing demos and the like; fixing this, along with perhaps renaming `port_versions` to `port-versions` should be done after this is merged, should be a trivial change.
* [vcpkg registries] support versions This PR merges the Registries changes and the versioning changes, so that one can use both at the same time. There is one major difference between this PR and the RFC (#13590), which is that instead of version files looking like: ```json [ ... ] ``` version files look like: ``` { "versions": [ ... ] } ``` this is to support interop between this PR and existing demos and the like; fixing this, along with perhaps renaming `port_versions` to `port-versions` should be done after this is merged, should be a trivial change.
* [vcpkg registries] support versions This PR merges the Registries changes and the versioning changes, so that one can use both at the same time. There is one major difference between this PR and the RFC (microsoft#13590), which is that instead of version files looking like: ```json [ ... ] ``` version files look like: ``` { "versions": [ ... ] } ``` this is to support interop between this PR and existing demos and the like; fixing this, along with perhaps renaming `port_versions` to `port-versions` should be done after this is merged, should be a trivial change.
|
@strega-nil Given that this feature has now landed, shouldn't we merge this RFC? |
|
@BillyONeal yes. |
* [vcpkg registries] support versions This PR merges the Registries changes and the versioning changes, so that one can use both at the same time. There is one major difference between this PR and the RFC (microsoft#13590), which is that instead of version files looking like: ```json [ ... ] ``` version files look like: ``` { "versions": [ ... ] } ``` this is to support interop between this PR and existing demos and the like; fixing this, along with perhaps renaming `port_versions` to `port-versions` should be done after this is merged, should be a trivial change.
This RFC is the new state of the world with regard to our plan for registries; it is very different from the old RFC. It includes registry databases, which are how one describes the set of versions of ports that one has access to. It also includes the specification for git registries, and updates the specification for filesystem registries with these new registry databases.
Since this RFC completely changes how registries work, the existing implementation will be broken.
Rendered