v4 -> v5 upgrade path
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 30/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- rust
- 领域
- build-system, security
调研方向
首先检查 boring-sys v4 和 v5 的 Cargo 依赖项及构建配置,尤其是 links 属性和提议的可选依赖项。首先验证 v5 在 crates.io 上可用后的行为,然后测试同时使用 boring v4 和 boring-sys v5 的升级路径。完成的标准是兼容性版本能够避免冲突的 links,同时保留受支持的 v4 功能。
由索引模型根据 Issue 内容生成。
描述
Cargo won't allow boring-sys v4 and boring-sys v5 coexist in one project (thanks to links property), which generally is a good idea, because their C symbols would conflict. However, this means that projects can't upgrade to boring v5 if any of their dependencies use boring v4. Such all-at-once upgrade is much harder and gets slowed down by the slowest-to-upgrade dependency.
It's relatively easy to make boring v5 support being used with boring-sys v4, but it's the less interesting combination, since the sys crate is more important to upgrade.
Unfortunately, making boring v4 use boring-sys v5 is more complicated. We can't simply release a version of boring v4 that accepts both versions of the sys crate, because the sys v5 crate has has only a subset of sys v4 functionality. cargo update eagerly picks the latest version of dependencies, so it would be a breaking change.
I can't simply use a feature flag as an opt-in to sys v5, because Cargo is overly restrictive with links, and wants to make a single universal Cargo.lock that takes into account even optional disabled dependencies.
Given the limitations, my current idea is to release a version of boring-sys v4 that doesn't have a links property, but optionally depends on boring-sys v5. Make it skip its own build and re-export v5 crate when a feature flag is enabled. This will be easier to test once v5 is on crates.io, so we should release v5 first.
- 主要语言
- Rust
- 星标
- 526
- 派生
- 178
- 平均合并
- 15 小时 34 分钟
- 30 天内合并 PR
- 9
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
cloudflare/boring 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 82/100
cloudflare/boring#527 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
cloudflare/boring#526 ·
维护者通常 1 天内回复
-
5.3.0 regression: SSL_set_cert_cb(..., NULL, ...) stores a null function pointer instead of clearing, crashing the next handshake可能已有人在做 @dorianverlaine 于 1 天前认领。 未关闭
难度 3/5 半天 新手友好度 62/100
cloudflare/boring#537 ·
维护者通常 1 天内回复
-
SLH-DSA support可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 4/5 3-5 天 新手友好度 45/100
cloudflare/boring#522 ·
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 45/100
cloudflare/boring#517 ·
维护者通常 1 天内回复
查看 cloudflare/boring 的全部 Issue
相似的 Issue
-
[1.x Bug] run-operation --sql reports success but rolls back writes on transaction-capable adapters未关闭triage
难度 2/5 1-3 小时 新手友好度 64/100
维护者通常 1 天内回复
-
area:cli bug good first issue priority:medium
难度 2/5 1-3 小时 新手友好度 74/100
维护者通常 1 天内回复
-
bnv-manager-v2: accept_invite creates the Mailcow domain admin before the commit可能已有人在做 @myOmikron 今天认领。 未关闭bug ready-for-agent
难度 2/5 1-3 小时 新手友好度 82/100
-
platform:windows tool triaged wontfix
难度 2/5 1-3 小时 新手友好度 62/100
维护者通常 1 天内回复
-
resources: add a regression test confirming admin mint still works after the #16 SAC handoff可能已有人在做 @Daniexie 今天认领。 未关闭contracts good first issue Stellar Wave
难度 2/5 1-3 小时 新手友好度 72/100
OlaGreat/starbound-realms#137 · 1 条评论 ·