リリースとメタデータ
artifact 名
Section titled “artifact 名”Wine runtime artifact は、runtime ディレクトリ、tarball、checksum、sidecar JSON を一緒に生成します。
artifacts/wine-$BUILD_NAME/ wine-$BUILD_NAME-build/ wine-$BUILD_NAME-install/ wine-$BUILD_NAME/ wine-$BUILD_NAME.tar.gz wine-$BUILD_NAME.tar.gz.sha256 wine-$BUILD_NAME.json現在の基準名は次のとおりです。
| BUILD_NAME | 配布名 |
|---|---|
winehq-11.11 | wine-winehq-11.11 |
winehq-11 | wine-winehq-11 |
crossover-26.1.0 | wine-crossover-26.1.0 |
DXMT runtime は別 artifact として管理します。
artifacts/dxmt-v0.80-builtin.tar.gzartifacts/dxmt-v0.80-builtin.tar.gz.sha256launcher metadata
Section titled “launcher metadata”Wine package 段階では、ランチャーが読む metadata を runtime 内部と artifact の横に書き出します。
<WINE_ROOT>/share/bdhi/launcher-options.jsonartifacts/wine-$BUILD_NAME/wine-$BUILD_NAME.jsonmetadata ファイルの選択順序は次のとおりです。
BDHI_LAUNCHER_OPTIONS_FILEmetadata/bdhi-launcher-options.$BUILD_NAME.jsonmetadata/bdhi-launcher-options.$PATCH_SET.jsonmetadata/bdhi-launcher-options.jsonランチャーは、展開済み runtime 内部の manifest を優先して使います。 ダウンロード前の一覧表示には artifact 横の sidecar JSON を使えます。 新しい runtime flavor を追加するときは、意図的に既存 patch-set manifest を共有する場合を除き、専用 metadata ファイルを用意するのが基本です。
capabilities 基準
Section titled “capabilities 基準”metadata の capabilities はランチャー内部の契約です。
通常のユーザー設定として表示するものではありません。
process telemetry capability は、Wine server process table を prefix-scoped FIFO へ送るための契約です。
{ "protocol": 1, "transport": "fifo", "activationEnvironment": "WINE_BDIH_PROCESS_TELEMETRY", "pipeEnvironment": "WINE_BDIH_PROCESS_PIPE"}Wine は process lifecycle fact だけを報告します。 そのプロセスがインストーラー、ランチャー、ゲーム、helper のどれかを分類する責任は、バブトンイリホヨ ランチャー側にあります。
WineHQ 系列の metadata は HoYoPlay proxy capability も宣言します。 宣言された helper が artifact 内にない場合は、不完全な runtime として明確に失敗させるのがよいです。
process telemetry ポリシー
Section titled “process telemetry ポリシー”process telemetry は Steam や HoYoPlay だけに結び付いた機能ではありません。 prefix 全体の Wine process lifecycle を報告する共通機能です。
有効化には次の環境変数を使います。
WINE_BDIH_PROCESS_TELEMETRY=1WINE_BDIH_PROCESS_PIPE=/absolute/native/path/to/process-events.fifoFIFO は 0600 権限で作成します。
command line には token やユーザーパスが含まれる可能性があるため、raw payload をそのままログに残さない方がよいです。
reader がない、pipe が満杯、write に失敗した場合、Wine はイベントを捨てるべきです。
telemetry が原因で Wine process や wineserver が遅延または失敗してはいけません。
ライセンスと配布
Section titled “ライセンスと配布”Wine runtime archive には third-party binary が含まれます。 リポジトリ自体のライセンスと runtime 配布上の義務は別に扱う必要があります。
package 段階では runtime 内に次の license bundle を生成します。
<WINE_ROOT>/share/licenses/ README.md BUILD-PROVENANCE.txt source/ homebrew/ dwproton/ dxmt/dwproton/ は WineHQ Proton extras を含める場合に使います。
dxmt/ は DXMT を明示的に bundle する場合だけ使います。
GStreamer、FFmpeg、x264、x265 などの multimedia component は Homebrew 更新で依存関係とライセンス構成が変わることがあるため、リリース前に再確認してください。
リリースチェック
Section titled “リリースチェック”リリース前に次の項目を確認します。
clean.sh後に同じ patch set を再適用できるか確認します。- 一時的な debug counter、tracing、local-only patch が release source に残っていないか確認します。
- tarball、
.sha256、sidecar JSON が同じビルド結果を指しているか確認します。 - runtime 内部の
share/bdhi/launcher-options.jsonと sidecar JSON が一致しているか確認します。 share/licenses/が実際に含まれる binary と一致しているか確認します。- Steam、Eternal Return、HoYoPlay backend など、その runtime が宣言した workload を再確認します。