DeveloperWiki:パッチ
パッチ
このポリシーは *提案* することを目的としていて、強制ではありません。
バニラパッケージ
Arch は可能な限り元の作者の意図の通りにパッケージを提供しようとしています。これは、パッチを追加するときは毎回彼らの意図から一歩ずつ外れていくということを意味します。加えて、たくさんのパッケージを管理していると、パッチの維持は困難になります。
パッチが許される場合
いくつかのソフトウェアで機能させるために修正が必要になることは避けられません。
- *ビルドシステム* へのパッチはほとんどいつでも許されています。これは普通 Arch のツールが元のスクリプトに対して新しすぎて、うまく動かない場合に必要になります(libtool はよくパッチを当てられます)。
- *新しすぎる* コンパイラが原因のパッチは普通許されています。GCC リリースはより厳密になる傾向にあり、過去に許されていたものが許されなくなってきています。コンパイラエラーを修正してソースを Arch 上でビルドできるようにすることは一般的で容認できます。
- アプリケーションの *主要な機能* が動かないときは、バグフィックスのパッチが許されています。'主要な機能' を説明するために、DVD を書き込むアプリケーションについて考えてください。そのアプリケーションがバグにより DVD に書き込めないときは、主要な機能とみなされます。'ヘルプ' メニューが動かないときは、主要でない機能とみなされます。
パッチが推奨されない場合
- Fixing minor features is not our job and patches should not be applied to fix things not directly related to the app's functionality. Patches to fix typos or images are discouraged.
- Additional features should *NOT* be added by Arch. Patches that add completely new features should be sent to upstream. As said before - we ship packages as the ORIGINAL AUTHORS intended them. Not as WE intend them.
- Features denied by upstream. If a patch was sent and the original developers denied it, we should *NEVER* apply that patch, no matter how opinionated we are. You are welcome to fork the app and supply a package for your own app.