У меня в системе установлен Wine с PPA, и я не хочу его менять.
Я хочу применить патч к (Вот этот) и использовать его в Playonlinux.
Я знаю, что могу использовать пользовательские версии Wine в playonlinux. Когда-то давно один хороший человек прислал мне пропатченный Wine, который я поместил в папку Wine playonlinux, и он работал.
Так может ли кто-нибудь мне с этим помочь?
Заранее благодарю
решение1
Я не уверен, что вы на самом деле хотите сделать (использовать Wine из PPA в POL? собрать Wine из исходников для POL?), но вот что я сделал, чтобы пропатчить бета-версию Wine (1.7 на момент написания статьи) для тестирования с POL.
Примечания:
- Я использую
wine
вместо этого ,wine1.7
потому что он соответствует новейшей версии Wine, поэтому он будет работать, когда бета-версия достигнет 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 файлы (так работает wine на amd64, поскольку ему приходится загружать 32-битные двоичные файлы windows). Поэтому нам нужно будет выполнить кросс-сборкуi386двоичные файлы (если у вас уже i386, то вы можете пропустить этот шаг):
- Загрузите некоторые переменные:
source /etc/lsb-release
(я использую это, чтобы мне не пришлось знать кодовое имя окружения) - Создайте среду pbuilder дляi386:
pbuilder-dist $DISTRIB_CODENAME i386 create
- Снова соберите Wine с помощью pbuilder:
pbuilder-dist $DISTRIB_CODENAME i386 build wine*.dsc --buildresult .
- Подождите еще немного... вы знаете, как это сделать.
- Загрузите некоторые переменные:
Теперь следующий шаг немного хакерский, потому что 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
которые нам нужно будет переместить в новое дерево Wine POL, но сначала нам нужно создать базовый каталог:mkdir -p ~/.PlayOnLinux/wine/linux-x86/<version>-<your-patch-name>
(Я устанавливаю в каталог Wine 32 bit, потому что меня интересует только использование 32 bit под POL. Если вы собирали на 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, и вы сможете ее использовать. Этот набор инструкций предназначен для бета-релизов, которые, как правило, иногда немного нестабильны - так что YMMV. Если все выглядит не очень хорошо, попробуйте повторить процесс со стабильной версией, например wine1.6
.