異なるディストリビューションがそれぞれのリポジトリで利用可能なパッケージにパッチを当てていることは知っていますが、なぜそうする必要があるのか理解できません。誰かがオンラインで関連ドキュメントを説明したり指摘したりできるとありがたいです。ありがとう。
何度か試してみましたが、あなたが今何を求めているのか理解できたと思います。
パッケージ化の前に特定のソフトウェアにパッチを適用するための配布には、いくつかの理由が考えられます。私は非排他的なリストを提供してみます。他の理由が考えられます。
この説明の目的上、「上流」とは、ソフトウェアの公式開発者によるオリジナルのソースコードを指します。
上流にあるパッチは、何らかの理由でメインブランチに組み込まれていない(またはまだ組み込まれていない)。通常、そのパッケージのディストリビューションのパッケージメンテナーは、上記のパッチに価値があると考えているか、またはディストリビューションの継続性を維持するために必要であるためです(Webサーバーがあり、php
への定期的な更新後にいくつかの関数があるとします頼りにしていることはもう機能しない、または古いスタイルから設定ファイルを読み取ることができない)
ディストリビューションは、/etc/
のファイルシステム階層の標準化されたパターンを好む傾向があります。すべてのソフトウェア開発者は、適切な標準を構成するものについて独自のアイデアを持っている場合と持っていない場合があります。したがって、配布パッケージのメンテナが最初に行う傾向があることの1つは、ビルドスクリプトにパッチを適用して、残りの配布に対応する階層パターンで構成ファイルを構成および予期することです。
構成のトピックを続けると、最初の「パッチ」の1つは、いわば「箱から出して」ディストリビューションの残りで機能する一連のデフォルト構成ファイルである傾向があり、エンドユーザーはすぐに開始できますインストール後に手動で作業構成を整理する必要はありません。
それは私の頭の上にあります。他にもたくさんあるかもしれませんが、これがあなたにいくつかのアイデアを与えることを願っています。
私の頭の上から、@ Shadurの答えに加えて:
最も差し迫った理由:ビルドエラー。
少なくともDebianの一般的な理由は、パッケージがDebianポリシーに準拠するためです。間違いなく、他のディストリビューションにも、パッケージに満足してほしい同様の基準があります。 Debianポリシーは厳格なマスターであるため、これらのパッチはさまざまな形を取り、次のようなさまざまな目的を果たします。
ビルドシステムを変更して、正常またはより柔軟にします。ビルドシステムは、Debianパッケージのビルドを処理するのに十分な柔軟性がない場合があります。または、ポリシーやFHSに準拠した場所にファイルが配置されるようにビルドシステムを変更します。
manページを追加する( Debianポリシーでは、各パッケージにmanページが必要です )。
非フリーライセンスまたは明確なライセンスがないファイルを削除する。
そのバージョンのDebianで実際に利用可能なパッケージでビルドできるように、ソフトウェア(おそらくビルドシステムを含む)にパッチを適用します。
アーキテクチャ固有の修正。 Debianはさまざまなアーキテクチャに基づいて構築されており、その一部はソフトウェアの作成者がそれを使ったことがなかったかもしれません。