質問: マルチアーキテクチャppaを作成および管理する方法 すべてのubuntuバージョンで再コンパイルする必要があるプログラムがあります。現在、現在のディストリビューション用にubuntuのppaを使用してパッケージ化しています。最終的に、以前のubuntuバージョンのパッケージを提供する必要があります。これを達成する方法がわかりません。ubuntu ppaビルドサーバーはどのように機能しますか?(debian/changelogファイル内の)最新のchangelogエントリの配布フィールドを見て、パッケージをビルドするディストリビューションを決定しますか?debian仕様では、複数の分布を分布フィールドに追加できます。しかし、これは私を助けるために継ぎ目ではありません。 いくつかのubuntuドキュメント ディストリビューション名をバージョン番号にエンコードすることについて話します(debian changelogファイル内)。しかし、これは実際にはどのように機能しますか?プログラムの新しいバージョンが利用可能になりましたが、それでは何ですかディストリビューションごとに新しいchangelogエントリを追加し、ppa buildserverは、ディストリビューションごとに新しいパッケージを作成した後、自動的にビルドしますか?または、ppa buildserverは最初の変更ログエントリだけを参照しますか?
回答: 命名規則に関して、標準は次のようなことをすることです。 ubuntuの公式アーカイブに含まれるパッケージの場合は1.0-0ubuntu1 1.0-0ubuntu1〜lucidppa1は、lucidのppaに入れたそのパッケージのバージョン用です karmic用のそのパッケージのバージョンでは1.0-0ubuntu1〜karmicppa1 その理由は、バージョンフィールドの〜が、バージョン番号の「なし」を表すためです。したがって、誰かがkarmicでppaを追加すると、〜karmicppa1パッケージが取得されます。その後、彼らがlucidにアップグレード(およびppaを読み取り)すると、lucid ppaパッケージに置き換えられます。その後、パッケージが公式アーカイブに入ると、ppaからの移行はスムーズに進みます。もう1つの利点は、リリースをバージョンフィールドに入れると、ファイルが適用されるリリースが明確になることです(そして、リリースごとに1つアップロードすることを微妙に思い出させます)。たとえば、異なる依存関係がある場合のために、ubuntuリリースごとに異なるブランチが必要になる場合もあります。