Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow registries to patch crates #14458

Open
epage opened this issue Aug 27, 2024 · 2 comments
Open

Allow registries to patch crates #14458

epage opened this issue Aug 27, 2024 · 2 comments
Labels
A-patch Area: [patch] table override A-registries Area: registries C-enhancement Category: enhancement

Comments

@epage
Copy link
Contributor

epage commented Aug 27, 2024

Cargo has a patch feature today to address bugs and other issues in packages. When people are blocked, there are security issues, or legal issues, an organization managing may want to quickly deploy these patches.

One venue for doing this is through the registry itself, especially when the registry is managed by a company where software policy is top-down. This would need

In rare circumstances, a community registry like crates.io may want to do this as well, e.g. to do something like #14452.

  • Users would need a way to opt-out
    • this could also be important for testing within an organization

Policy for crates.io is being left to a future RFC by that team. It should likely consider audit tools and rules including

  • Who all signs off on patches? Suggestion: at least someone with publish permissions along with someone from the Project
  • How do we verify patches? Suggestion: a crater run
  • What rules apply to patches? Suggestion: must match behavior in a newer published version (requires audit)
@epage epage added C-enhancement Category: enhancement A-registries Area: registries A-patch Area: [patch] table override labels Aug 27, 2024
@epage
Copy link
Contributor Author

epage commented Aug 27, 2024

First steps

  • Yanked messages as its the first place for us to explore mutable metadata for registries
  • Starting back up on [experiment] patch with patch files #13779
    • unidiff format would need to be worked out (delegating to a tool is not ideal)
    • Resolving with patched Cargo.toml was a problem, maybe we can punt on that

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-patch Area: [patch] table override A-registries Area: registries C-enhancement Category: enhancement
Projects
None yet
Development

No branches or pull requests

2 participants
@epage and others