如何修补 Wine 并在 playonlinux 中使用它

如何修补 Wine 并在 playonlinux 中使用它

我的系统上已经通过 ppa 安装了 Wine,并且我不想更改它。

我想要做的是应用补丁到(这个) 并在 Playonlinux 中使用它。

我知道我可以在 playonlinux 中使用自定义的 Wine 版本,很久以前有一位好心人给我发送了一个修补过的 Wine,我把它放在 playonlinux wine 文件夹中,它就可以正常工作了。

那么有人可以帮我吗?

提前感谢

答案1

我不确定你真正想要做什么(在 POL 中使用你的 PPA 葡萄酒?从源代码为 POL 构建葡萄酒?)但这是我为修补测试版葡萄酒(撰写本文时为 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 文件(这是 wine 在 amd64 上的工作原理,因为它必须加载 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. 现在,接下来的部分有点复杂,因为 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

相关内容