我的系統上安裝了 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,那么生活對您來說會更簡單,但不幸的是本指南無法很好地涵蓋您。要嘛自己解決,要嘛聯絡我,我會看看如何提供協助。
指示
- 安裝 ubuntu 開發工具:
sudo apt-get install ubuntu-dev-tools
- 按照說明將 Wine beta PPA 加入到 ubuntu這裡:(
sudo apt-add-repository -sy ppa:ubuntu-wine/ppa && sudo apt-get update
需要 -s 標誌才能啟用來源下載) 按照指示下載並修補 wine這裡:
- 安裝建置依賴項:
sudo apt-add-repository -y ppa:ubuntu-wine/ppa
- 將來源下載到建置目錄:
mkdir -p ~/src/wine-patches; cd ~/src/wine-patches; apt-get source wine
修補你的來源:
cd wine*-*; patch -p1 < your.patch
(您可能需要稍微按摩貼片以使其貼合)
- 安裝建置依賴項:
提交對包的更改:
dpkg-source --commit
這將詢問您的補丁名稱(只需輸入有意義的內容),然後打開一個編輯器,其中包含大量模板文本,後跟補丁文本。確保編輯描述欄位並刪除所有樣板註釋,然後儲存。
- 建構 deb:
dpkg-buildpackage
- 等等...去喝杯咖啡...再等一下...去看電視節目...再等等...直到結束。
- 回到建置樹的根目錄,dpkg 放置我們的 deb 檔案的地方:
cd ..
現在,因為我們在AMD64,我們剛剛得到了一些AMD64deb 文件,我們還需要i386deb 檔案(這就是 amd64 上 wine 的工作原理,因為它必須載入 32 位元 Windows 二進位)。所以我們需要交叉構建i386二進位檔案(如果您已經使用 i386,則可以跳過此步驟):
- 載入一些變數:(
source /etc/lsb-release
我使用它所以我不必知道環境程式碼名稱) - 創建pbuilder環境i386:
pbuilder-dist $DISTRIB_CODENAME i386 create
- 使用 pbuilder 再次建構 wine:
pbuilder-dist $DISTRIB_CODENAME i386 build wine*.dsc --buildresult .
- 再等等...你知道該怎麼做。
- 載入一些變數:(
現在接下來有點 hacky,因為 dpkg 為我們建立了一些 deb 文件,這些文件旨在安裝到符合 FSH 的 Linux 系統的根目錄中,因此將所有內容都放在目錄中
/usr
,而PlayOnLinux 類型安裝不需要該目錄,所以我們需要將 deb 檔案提取到對 POL 有意義的結構中:- 建立臨時工作區:
mkdir root
- 提取 deb 檔案:(
for deb in *.deb; do dpkg -x $deb root; done
這也會提取dev
和dbg
包。我不在乎,但如果你這樣做 - 編寫你自己的命令 :-p )。 - 上面的命令創建了很多文件,
root/usr
我們需要在其中移動到新的 POL wine 樹,但首先我們需要創建一個基本目錄:(mkdir -p ~/.PlayOnLinux/wine/linux-x86/<version>-<your-patch-name>
我正在安裝到 wine 32 位元目錄中,因為我只如果您有興趣在POL 下使用32 位,則可以安裝到amd64(如果您是在amd64 上建置的)。 - 移動一些文件:
mv root/usr/{bin,share} <your-pol-wine-dir>
- 移動正確的 lib 目錄:
mv root/usr/lib/i386-linux-gnu <your-pol-wine-dir>/lib
- 建立臨時工作區:
就是這樣 - 你的新 wine 版本應該列在 PlayOnLinux 的 UI 中,並且你應該能夠使用它。這套說明適用於測試版,有時會有點不穩定 - 所以 YMMV。如果看起來不太好,請嘗試使用穩定版本(例如wine1.6
.