v4 -> v5 upgrade path
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 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分
- マージ済み PR(30日)
- 9
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- 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対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
cloudflare/boring#522 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
cloudflare/boring#517 ·
メンテナーはふだん 1 日以内に返信
cloudflare/boring の issue をすべて見る
似ている issue
-
area: compat area: parsing bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
reubeno/brush#1526 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
OFN writer emits `DocIRI` as a bare IRI, which becomes a version IRI or a parse error on re-readオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
phillord/horned-owl#338 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
type/bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
stackabletech/operator-rs#1301 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
jmcnamara/rust_xlsxwriter#205 · コメント 4 件 ·