web-dev-qa-db-ja.com

カスタムPPAにWineをパッチする適切な方法は何ですか?

私は自分のマシンで使用するためにWineにパッチを手動で適用してきましたが、友人や関係者のためにPPAに入れたいと思います。

現在、私はこの手順に従います:

  1. apt-get source経由でアップストリームPPAから最新のソースを取得します
  2. patchを使用して、サポートされていない非公式のパッチを適用します。
  3. dpkg-buildpackage -rfakeroot -uc -bを使用してパッケージを作成します

これは、ローカルマシンで実行するパッケージの作成に適しています。ただし、このカスタムビルドをPPAを介して他のユーザーに配布したいと考えています。

この手順は十分ですか、それともWine専用に従うべきより正確な、および/または保守しやすい手順がありますか?

9
jbowtie

あなたはあなたの例の手順にかなり近づいていますが、ここに私が提案するものがあります:

  1. apt-get source winecdでソースを新しいディレクトリに取り込みます
  2. Wineパッケージのベースとなるパッチシステムの種類を見つけます:what-patch;この場合、wineパッケージはパッチ管理にquiltを使用することを示しています
  3. キルトを使用しているので、カスタムパッチをキルトシリーズに追加します。
    QUILT_PATCHES = debian/patches quilt import <your-patchfile.patch>
    複数のパッチがある場合は、パッチごとに、適用したい順にこれを実行します。
  4. debian/changelogファイルに適切なエントリを追加します-PPAバージョンが公式バージョンと区別されるようにバージョン番号を変更する必要があります。通常、最後のバージョン番号を増やし、ティルダ(〜)の後にカスタムバージョン文字列(たとえば、~jbowtie1)を追加する必要があります。 dch -iコマンドもこれに役立ちます。
  5. ソースパッケージをビルドします。
    debuild -S
  6. ソースパッケージをPPAビルドシステムにアップロードします。
    dput ppa:<your-ppa> ../wine*.changes
    <your-ppa>パラメーターは、アップロードするPPAのランチパッドページで指定されます(事前に作成する必要があります)。

通常、dputを実行する前にテストビルドを実行することをお勧めします。pbuilderコマンドを使用すると、PPAビルドシステムがパッケージで行うことを再作成できます(つまり、クリーンインストールから開始し、必要なdepを追加し、その後ビルド)。

この場合、最初にpbuilderを設定する必要があります( https://wiki.ubuntu.com/PbuilderHowto を参照)。次に、dputの前にこれを実行します。

Sudo pbuilder build ../*.dsc
16
Jeremy Kerr

buntu Packaging Guide には、パッチの対処方法など、Ubuntu用のパッケージ化方法に関するすべての情報が記載されています。

4
txwikinger

最初にソースパッケージをビルドする必要があります

https://wiki.ubuntu.com/PackagingGuide/Basic#Building%20the%20Source%20Package

Ubuntu 9.10以降では、PPAにプッシュするのは非常に簡単です

ターミナルに移動して入力するだけです

dput ppa:your-lp-id/ppa <source.changes>
1
akshatj

ジェレミーの答えはまさにその通りです。

または、bzrを使用して、ソース、パッチ、およびビルド/アップロードを処理できます。

https://wiki.ubuntu.com/DistributedDevelopment を参照してください。 https://wiki.ubuntu.com/DistributedDevelopment/Documentation で始まります。
いくつかの手順を簡素化する一方で、たとえば新しいアップストリームバージョンのマージ(元のUbuntuパッケージより先に取得する予定の場合)、元の「apt-get source」アプローチは、おそらく最終的にはより簡単で簡単です。

1
blueyed