Wineにパッチを当ててplayonlinuxで使用する方法

Wineにパッチを当ててplayonlinuxで使用する方法

私のシステムには PPA 付きの Wine がインストールされていますが、変更したくありません。

私がやりたいのは、(これです) をダウンロードし、Playonlinux で使用します。

playonlinux でカスタム Wine バージョンを使用できることはわかっています。以前、親切な人がパッチを適用した Wine を送ってくれたので、それを playonlinux の wine フォルダーに配置したら、正常に動作しました。

それで、誰か私を助けてくれませんか?

よろしくお願いします

答え1

あなたが本当に何をしたいのかはわかりませんが (PPA のワインを POL で使用するのか、ソースからワインを POL 用にビルドするのか)、ここではベータ版のワイン (執筆時点では 1.7) にパッチを適用して POL でテストするために行ったことを説明します。

ノート:

  • wine最新のワインにマップされるため、代わりにを使用しています。wine1.7ベータが1.8のときに機能します。
  • 私は amd64 アーキテクチャ上に構築しています。つまり、難しいやり方です。現在、ほとんどの人が amd64 を使用していると想定しているので、問題ないはずです。i386 を使用している場合は、作業はより簡単になりますが、残念ながらこのガイドでは十分にカバーできません。自分で解決するか、私に連絡していただければ、私がお手伝いできることを検討します。

説明書

  1. Ubuntu 開発ツールをインストールします。sudo apt-get install ubuntu-dev-tools
  2. 説明に従って、UbuntuにWineベータPPAを追加します。ここ: sudo apt-add-repository -sy ppa:ubuntu-wine/ppa && sudo apt-get update(ソースのダウンロードを有効にするには -s フラグが必要です)
  3. 説明に従ってWineをダウンロードしてパッチを当てるここ:

    1. ビルド依存関係をインストールします。sudo apt-add-repository -y ppa:ubuntu-wine/ppa
    2. ソースをビルド ディレクトリにダウンロードします。mkdir -p ~/src/wine-patches; cd ~/src/wine-patches; apt-get source wine
    3. ソースにパッチを適用します:cd wine*-*; patch -p1 < your.patch

      (フィットさせるためにパッチを少しマッサージする必要があるかもしれません)

  4. パッケージへの変更をコミットします。dpkg-source --commit

    パッチ名を尋ねられます(意味のある名前を入力してください)。その後、テンプレートテキストとパッチのテキストが並んだエディタが開きます。説明フィールドを削除し、定型コメントをすべて削除して保存します。

  5. deb をビルドします:dpkg-buildpackage
  6. 待って…コーヒーを飲みに行き…もう少し待って…テレビ番組を見に行き…さらに待って…それが終わるまで。
  7. dpkg が deb ファイルを配置したビルド ツリーのルートに戻ります。cd ..
  8. さて、私たちは64ビット、私たちはちょうど64ビットdebファイルも必要です。386 さんdebファイル(amd64上のwineは32ビットのWindowsバイナリをロードする必要があるため、このように動作します)。そのため、386 さんバイナリ (すでに i386 を使用している場合は、この手順をスキップできます):

    1. いくつかの変数をロードします: source /etc/lsb-release(env コード名を知らなくても済むように使用します)
    2. pbuilder環境を作成する386 さん:pbuilder-dist $DISTRIB_CODENAME i386 create
    3. pbuilder で再度 wine をビルドします。pbuilder-dist $DISTRIB_CODENAME i386 build wine*.dsc --buildresult .
    4. もう少し待ってください...やり方はご存知のとおりです。
  9. さて、次の部分は少しハッキーです。dpkg は、FSH 準拠の Linux システムのルートにインストールされることを目的とした deb ファイルをいくつか作成し、そのためすべてがディレクトリ内に含まれるようになりますが/usr、PlayOnLinux タイプのインストールではこれは必要ないため、deb ファイルを POL にとって意味のある構造に抽出する必要があります。

    1. 一時的な作業領域を作成します。mkdir root
    2. deb ファイルを抽出します: (これにより、パッケージもfor deb in *.deb; do dpkg -x $deb root; done抽出されます。私は気にしませんが、必要な場合は独自のコマンドを記述してください :-p )。devdbg
    3. root/usr上記のコマンドは、新しい POL Wine ツリーに移動する必要がある多くのファイルを作成しますが、最初にベース ディレクトリを作成する必要があります: mkdir -p ~/.PlayOnLinux/wine/linux-x86/<version>-<your-patch-name>(POL で 32 ビットのみを使用する予定なので、Wine 32 ビット ディレクトリにインストールします。amd64 でビルドした場合は、amd64 にインストールできます)。
    4. いくつかのファイルを移動します:mv root/usr/{bin,share} <your-pol-wine-dir>
    5. 正しい lib ディレクトリを移動します。mv root/usr/lib/i386-linux-gnu <your-pol-wine-dir>/lib

これで完了です。新しい Wine バージョンが PlayOnLinux の UI に表示され、使用できるようになります。この一連の手順はベータ リリース用であり、時々少し不安定になる傾向があるため、結果は異なる場合があります。うまくいかない場合は、 などの安定したバージョンでこのプロセスを繰り返してみてくださいwine1.6

関連情報