Patching og Kompilering af Wine

Har du en guide til en funktion eller et program? Har du tips og trick, som du gerne vil dele med andre? Post dem her.
Munksgaard
Indlæg: 12
Tilmeldt: 20. jun 2008, 20:50
IRC nickname: Munksgaard
Geografisk sted: Danmark

Patching og Kompilering af Wine

Indlæg af Munksgaard »

Dette er en guide til at kompilere Wine fra bunden, evt. med en patch.
Dette kan f.eks. gøres hvis man vil have en nyere version af wine end repositories'ne indeholder eller hvis man har brug for at patche wine så et bestemt program eller feature virker.

At patche wine er en tidskrævende affære, da man skal kompilere wine fra grunden, hvilket kan tage flere timer.

I denne guide bruges en patch til Warcraft III som eksempel.

Det anbefales at man laver en midlertidig mappe til at kompilere wine i, f.eks. ~/Sources/wine/:

Kode: Vælg alt

mkdir -p ~/Sources/wine
cd ~/Sources/wine

Download Wine-kildefilerne
Først skal vi få fat i kildefilerne, og jeg anbefaler at downloade dem via winehq's ubuntu repository eftersom det er de mest up-to-date pakker.
Dette gøres ved at køre følgende kommandoer (i hardy):

Kode: Vælg alt

wget -q http://wine.budgetdedicated.com/apt/387EE263.gpg -O- | sudo apt-key add -
sudo wget http://wine.budgetdedicated.com/apt/sources.list.d/hardy.list -O /etc/apt/sources.list.d/winehq.list

Dernæst downloades kildefilerne:

Kode: Vælg alt

apt-get source wine
cd wine*

Installer afhængigheder
Når man skal kompilere et program som wine findes der en masse afhængigheder der skal installeres først. Dette gøres vha. følgende kommando:

Kode: Vælg alt

sudo apt-get build-dep wine
sudo apt-get install fakeroot

Det anbefales desuden at installere en masse valgfrie pakker som giver ekstra funktionalitet. Dette gøres på følgende måde:

Kode: Vælg alt

wget http://kegel.com/wine/hardy.sh
chmod +x hardy.sh
sudo ./hardy.sh

Download og installer patch
Først finder man den patch man vil installere, dette kunne f.eks. være denne patch:
http://bugs.winehq.org/attachment.cgi?id=13533
fra denne bug:
http://bugs.winehq.org/show_bug.cgi?id=13547#c14
Vi downloader og gemmer patchen som warcraft3.patch vha. følgende kommando:

Kode: Vælg alt

wget -O warcraft3.patch http://bugs.winehq.org/attachment.cgi?id=13533

Patchen installeres ved følgende kommando:

Kode: Vælg alt

patch -p0 < warcraft3.patch

Kompiler og installer wine
Så skal wine bygges/kompileres. Dette gøres ved følgende kommando:

Kode: Vælg alt

dpkg-buildpackage -rfakeroot -uc -b

Som sagt, dette kan tage meget lang tid.
Dernæst skal den nye pakke installeres, men først fjerner vi eventuelt installerede versioner af wine:

Kode: Vælg alt

sudo dpkg --purge wine

Så installerer vi:
[/code]
sudo dpkg -i ../wine_*.deb
[/code]
Oprydning
Hvis alt nu virker som det skal, kan man, hvis man vil spare plads rydde lidt ud i kildefilerne:

Kode: Vælg alt

cd wine*
make distclean


Jeg håber dette kan hjælpe nogen, og hvis der er spørgsmål/problemer, vil jeg selvfølgelig gøre mit bedste for at svare på den.
Mvh.
Philip Munksgaard
Jakobsen
Indlæg: 32
Tilmeldt: 25. jul 2008, 16:36
IRC nickname: Jakobsen

Re: Patching og Kompilering af Wine

Indlæg af Jakobsen »

heej.

nu kan det godt være du syntes jeg spøger dumt, men kan man instalere Need for Speed Carbon og alle de andre på samme måde?

hilsen simon..
Hilsen Simon.