たとえば(必ずしもそうではありません)、Gentooにはソースコードにハードコードされたデフォルトの分岐名を持つebuildがありますgit
。main
Gentooユーザーとして、Aliceはmaster
元のデフォルトのブランチ名を復元するためにビルド前に変更しようとします。
Gentooがそのようなパッチを受け入れなくても、AliceはPortage ebuildの前にユーザースペースパッチを適用できます。
これを達成する方法はありますか?
答え1
/etc/portage/patches
ディレクトリを探しているようです。https://wiki.gentoo.org/wiki//etc/portage/patches
ここに配置されたパッチ(特に/etc/portage/patches/${CATEGORY}/${P}
tec.)はビルド中に適用され(通常)ebuildに何の変更も必要ありません。 WikiページではEAPI 5と6について説明していますが、現在ほとんどのツリーはEAPI 6以降を使用しているため、問題が発生する可能性はありません。バージョンなしでパッケージ名の下にパッチを置くと、Portageはビルドするパッケージのすべてのバージョンにパッチを適用しようとします。
KDEなどの主要ソフトウェア用に別々の開発/ビルド環境を設定することなく、埋め込む前にアップストリーム修正をテストするのに役立ちます。
答え2
悪い例は、デフォルトのブランチgit
として使用され、デフォルトのブランチとして別の名前を選択することです。master
2.28.0 サポート。
しかし、私が知っている限り、あなたの要件を達成するための簡単で直接的な方法はありません。私のアプローチは、現在ebuildを次にコピーすることです。ローカルカスタムストア(私は/usr/local/portage
この目的に使用します)おそらく改訂番号を増やして(*-r100 + x
Gentooバージョンよりも先に行くことができます)、そこにパッチを適用することもできます。このebuildを最新の状態に保つことはあなた次第です。