如何為 Wine 打補丁並在 playonlinux 中使用它

如何為 Wine 打補丁並在 playonlinux 中使用它

我的系統上安裝了 Wine 和 ppa,但我不想更改它。

我想做的是將補丁應用到(這個)並在 Playonlinux 中使用它。

我知道我可以在 playonlinux 中使用自訂 Wine 版本,很久以前一個好人給我發送了一個修補過的 Wine,我將其放在 playonlinux wine 資料夾中並且它曾經可以工作。

有人可以幫我解決這個問題嗎?

提前謝謝您

答案1

我不確定你真正想要做什麼(在 POL 中使用你的 PPA 葡萄酒?從 POL 源頭構建葡萄酒?)但是這是我為測試而修補 beta 葡萄酒(在撰寫本文時為 1.7)所做的工作POL。

筆記

  • 我使用wine而不是wine1.7因為它映射到最新的 Wine,所以當 beta 為 1.8 時它就會工作
  • 我正在 amd64 架構上構建,這意味著我正在以困難的方式做這件事。我假設現在大多數人都使用 amd64,所以你應該沒問題。如果您使用 i386,那么生活對您來說會更簡單,但不幸的是本指南無法很好地涵蓋您。要嘛自己解決,要嘛聯絡我,我會看看如何提供協助。

指示

  1. 安裝 ubuntu 開發工具:sudo apt-get install ubuntu-dev-tools
  2. 按照說明將 Wine beta PPA 加入到 ubuntu這裡:(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. 現在,因為我們在AMD64,我們剛剛得到了一些AMD64deb 文件,我們還需要i386deb 檔案(這就是 amd64 上 wine 的工作原理,因為它必須載入 32 位元 Windows 二進位)。所以我們需要交叉構建i386二進位檔案(如果您已經使用 i386,則可以跳過此步驟):

    1. 載入一些變數:(source /etc/lsb-release我使用它所以我不必知道環境程式碼名稱)
    2. 創建pbuilder環境i386pbuilder-dist $DISTRIB_CODENAME i386 create
    3. 使用 pbuilder 再次建構 wine:pbuilder-dist $DISTRIB_CODENAME i386 build wine*.dsc --buildresult .
    4. 再等等...你知道該怎麼做。
  9. 現在接下來有點 hacky,因為 dpkg 為我們建立了一些 deb 文件,這些文件旨在安裝到符合 FSH 的 Linux 系統的根目錄中,因此將所有內容都放在目錄中/usr,而PlayOnLinux 類型安裝不需要該目錄,所以我們需要將 deb 檔案提取到對 POL 有意義的結構中:

    1. 建立臨時工作區:mkdir root
    2. 提取 deb 檔案:(for deb in *.deb; do dpkg -x $deb root; done這也會提取devdbg包。我不在乎,但如果你這樣做 - 編寫你自己的命令 :-p )。
    3. 上面的命令創建了很多文件,root/usr我們需要在其中移動到新的 POL wine 樹,但首先我們需要創建一個基本目錄:(mkdir -p ~/.PlayOnLinux/wine/linux-x86/<version>-<your-patch-name>我正在安裝到 wine 32 位元目錄中,因為我只如果您有興趣在POL 下使用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 中,並且你應該能夠使用它。這套說明適用於測試版,有時會有點不穩定 - 所以 YMMV。如果看起來不太好,請嘗試使用穩定版本(例如wine1.6.

相關內容