RPM-Pakete für Spiele selbst bauen.

Status
Für weitere Antworten geschlossen.

Rain_Maker

Administrator
Teammitglied
Hier eine _kurze_ Anleitung für besonders Ungeduldige, die sich den OpenSource Flugsimlator FlightGear unter openSUSE 10.2/10.3 als RPM installieren wollen.

Hierbei werden die RPM-Pakete aus sogenannten "nosrc.rpm" erzeugt, welche einfach gesagt ein "Source RPM ohne den Quellcode" darstellen.

Die entsprechenden Quellcode-Pakete müssen also getrennt heruntergeladen und an den richtigen Ort kopiert werden, anschließend werden mittels rpmbuild die RPM-Pakete gebaut.

Als Vorlage dienten die (no)src.rpm der Vorversion 0.9.10 aus diesem Repository:

Index of /pub/ftp.opensuse.org/opensuse/repositories/games:/action

0. BuildRequires installieren

Folgende Pakete sind nötig, damit der anschliessende RPM-Bau gelingt.

Code:
freeglut-devel [COLOR='Blue']freealut-deve[/COLOR]l gcc-c++ openal-devel 
[COLOR='Red']OpenSceneGraph-devel plib-devel[/COLOR] update-desktop-files 
xorg-x11 libdrm-devel
Die rot markierten Pakete, kann man sich aus diesem Repository installieren:

Index of /pub/ftp.opensuse.org/opensuse/repositories/games:/libs

Das blau markierte Paket "freealut-devel" ist entweder bei packman oder ebenfalls aus dem oben genanntem Repository erhältlich, die restlichen Pakete findet man im OSS-Repository.

Am einfachsten ist es, dieses Repository -temporär- einzubinden und sich dann die benötigten Pakete über den Paketmanager (YaST, apt, smart ....) zu installieren.

Also folgende URL als Quelle in den Paketmanager einbinden:

openSUSE 10.2:

[noparse]ftp://ftp.skynet.be/pub/ftp.opensuse.org/opensuse/repositories/games:/libs/openSUSE_10.2[/noparse]

openSUSE 10.3

[noparse]ftp://ftp.skynet.be/pub/ftp.opensuse.org/opensuse/repositories/games:/libs/openSUSE_10.3[/noparse]

1. Quellcode herunterladen und ins richtige Verzeichnis kopieren.

Folgende Seiten können als Ansatzpunkt dienen, da die Server zur Zeit sehr stark belastet (überlastet?) sind, sollte man bei Problemen auch die angegebenen Mirrors versuchen.

FlightGear Flight Simulator

SimGear

Es werden folgende Dateien benötigt.

Code:
FlightGear-1.0.0.tar.gz
SimGear-1.0.0.tar.gz
getstart.pdf
fgfs-base-1.0.0.tar.bz2
Ich konnte die Dateien mittels wget in recht ordentlicher Geschwindigkeit herunterladen.

Code:
[COLOR='Red'][B]cd /usr/src/packages/SOURCES/[/B][/COLOR]

wget http://mirrors.ibiblio.org/pub/mirrors/flightgear/ftp/Source/FlightGear-1.0.0.tar.gz
wget ftp://ftp.simgear.org/pub/simgear/Source/SimGear-1.0.0.tar.gz
wget http://mirrors.ibiblio.org/pub/mirrors/flightgear/ftp/Docs/getstart.pdf
wget ftp://ftp.planetmirror.com/pub/fgfs/Shared/fgfs-base-1.0.0.tar.bz2
Die Dateien _müssen_ in das obige Verzeichnis abgelegt werden, damit der anschliessende Build gelingt.

Wer die Dateien in ein anderes Verzeichnis herunterlädt, der muss sie vor dem Aufruf von rpmbuild in /usr/src/packages/SOURCES/ kopieren/verschieben.

1a. Handbuch "passend" vorbereiten.

Da ich das SPEC-file der Vorgängerversion nur so wenig wie möglich abändern wollte, muß das Handbuch "getstart.pdf" noch entsprechend angepasst werden, damit der Bau der entsprechenden RPM-Pakete gelingt. Das Handbuch muss als FG_getstart.pdf im Archiv FG_getstart.pdf.tar.bz2 vorliegen.

- Umbenennen und "verpacken"

Code:
cd /us/src/packages/SOURCES/

mv getstart.pdf FG_getstart.pdf 

tar -cvfj FG_getstart.pdf.tar.bz2 FG_getstart.pdf
2a. Prüfen, ob alles vorhanden ist:

Code:
cd /us/src/packages/SOURCES/

ls *FlightGear* *getstart* *SimGear* *fgfs*

FG_getstart.pdf.tar.bz2       
SimGear-1.0.0.tar.gz
FlightGear-1.0.0.tar.gz
fgfs-base-1.0.0.tar.bz2
alles da.

2b. Entsprechende nosrc.rpm-Pakete herunterladen.

FlightGear-1.0.0-1.nosrc.rpm

FlightGear-data-1.0.0-1.nosrc.rpm

3. Rebuild der RPM-Pakete

Die nosrc.rpm müssen im Gegensatz zu den oben genannten Paketen mit dem Quellcode _nicht_ in ein bestimmtes Verzeichnis entpackt werden.

Code:
cd [I]/Verzeichnis/in_dem_sich/die/heruntergeladenen/nosrc.rpm/befinden/[/I]

rpmbuild --rebuild FlightGear-data-1.0.0-1.nosrc.rpm

--------- Ratter Ratter ---------

 Checking for unpackaged file(s): /usr/lib/rpm/check-files /var/tmp/FlightGear-data-1.0.0-build
[B]Wrote: /usr/src/packages/RPMS/noarch/FlightGear-data-1.0.0-1.noarch.rpm[/B]
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.18627
+ umask 022
+ cd /usr/src/packages/BUILD
+ rm -rf /var/tmp/FlightGear-data-1.0.0-build
+ exit 0
Executing(--clean): /bin/sh -e /var/tmp/rpm-tmp.10657
+ umask 022
+ cd /usr/src/packages/BUILD
+ exit 0
Und

Code:
rpmbuild --rebuild FlightGear-1.0.0-1.nosrc.rpm

--------- Ratter Ratter ---------

Checking for unpackaged file(s): /usr/lib/rpm/check-files /var/tmp/FlightGear-1.0.0-build
[B]Wrote: /usr/src/packages/RPMS/i586/FlightGear-1.0.0-1.i586.rpm
Wrote: /usr/src/packages/RPMS/i586/FlightGear-startup-manual-1.0.0-1.i586.rpm[/B]
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.65143
+ umask 022
+ cd /usr/src/packages/BUILD
+ cd FlightGear-1.0.0
+ rm -rf /var/tmp/FlightGear-1.0.0-build
+ exit 0
Executing(--clean): /bin/sh -e /var/tmp/rpm-tmp.95475
+ umask 022
+ cd /usr/src/packages/BUILD
+ rm -rf FlightGear-1.0.0
+ exit 0
Wer ein 64-Bit System hat, der findet die Dateien hier:

Code:
Wrote: /usr/src/packages/RPMS/x86_64/FlightGear-1.0.0-1.x86_64.rpm
Wrote: /usr/src/packages/RPMS/x86_64/FlightGear-startup-manual-1.0.0-1.x86_64.rpm
4. Pakete installieren:

a) Paket FlightGear-data-1.0.0-1.noarch.rpm (für 32 und 64 Bit)
Code:
su

Passwort von Root

rpm -Uvh /usr/src/packages/RPMS/noarch/FlightGear-data-1.0.0-1.noarch.rpm
b) Pakete FlightGear-1.0.0-1.i586.rpm und FlightGear-startup-manual-1.0.0-1.i586.rpm

Für ein 32 Bit-System:

Code:
cd /usr/src/packages/RPMS/i586/

su

Passwort von Root

rpm -Uvh FlightGear-startup-manual-1.0.0-1.i586.rpm FlightGear-1.0.0-1.i586.rpm
Für ein 64 Bit-System:

Code:
cd /usr/src/packages/RPMS/x86_64/

su

Passwort von Root 

rpm -Uvh FlightGear-startup-manual-1.0.0-1.x86_64.rpm FlightGear-1.0.0-1.x86_64.rpm
Viel Spaß.

Greetz,

RM
 
Status
Für weitere Antworten geschlossen.
Oben