Kompilieren (LinuxArch)
Aus PantheonWiki
This will be avaible in English, soon. Until then just click randomly on every hyperlink and type in anything that looks like a bash-command.
Ziel dieser Anleitung ist es Rastullahs Lockenpracht unter Archlinux lauffähig zu bekommen. Dazu wird versucht RL in Archlinux' COMMUNITY-Repository zu bekommen. Der Weg dahin führt über AUR-PKGBUILDS, die wir selbst verwalten. Über ein Wahlsystem können User schließlich wählen ob das AUR Paket wichtig/nützlich genug für ein Binärpaket ist.
Inhaltsverzeichnis |
Binärrepositories
In Archs Binärrepositories ist RL leider noch nicht vorhanden.
AUR - ArchLinux User-Community Repository
- Im AUR befinden sich PKGBUILDs, ein Script bestehend aus Download- und Kompilieranweisungen. Unser gemeinsame AUR-Account Pantheon übernimmt hierbei selbst die Maintainerfunktion für Rastullahs Lockenpracht.
- Es wird empfohlen Yaourt zur Vereinfachung des Buildprozesses zur Hilfe zu nehmen.
- Am Ende des Buildprozesses bitte für RL voten, entweder über die AUR-Webseite oder mit dem Paket aurvote.
Vorbereitung
Wichtige Anmerkung: Da jeweils die aktuelle SVN Version verwendet wird kann es vorkommen, dass Compilerfehler oder programminterne Fehler auftreten. Dies ist durch den Arch-Buildprozess leider nicht zu beheben und ist zu erwarten.
- Optional: Folgenden Befehl ausführen um das lokale Verzeichnis für den SVN-checkout beschreibbar zu machen. Dies macht eine dauerhafte Speicherung der RL-SVN Daten und Module möglich, so dass nicht jedesmal die kompletten Daten neu heruntergeladen werden müssen. Sehr empfehlenswert!
sudo mkdir -p /var/abs/local/yaourtbuild sudo chmod 777 /var/abs/local/yaourtbuild/
RL und Abhängigkeiten
- Befehl um zu RL zu suchen und den Status zu überprüfen
yaourt -Ss rastullah-svn
- Installieren. Als normaler Benutzer ausführen:
yaourt -S rastullah-svn
- Die folgende Frage mit Y beantworten.
Edit the PKGBUILD (highly recommended for security reasons) ? [Y/n]("A" to abort)
- Bevorzugten Texteditor eingeben. z.B.
nano
- In der sich öffnenden Datei überprüfen ob alles nach tatsächlichen RL-Daten aussieht. Sollte etwas nicht nach RL aussehen, an erster Stelle die Download-URL des Sourcecode, bitte den Buildprozess abbrechen und das Team-Pantheon kontaktieren.
Nun können Installationspfade und Buildoptionen dem eigenen System angepasst werden. Dies ist nicht zwingend notwendig und die Standardeinstellungen sollten völlig ausreichend für ein normales Archsystem sein.
- Optional bei Mehrkernprozessoren oder Multi-CPU Systemen: Die erste Zeile durch die zweite ersetzen. -jN muss hierbei durch einen Wert ersetzt werden, der angibt, wieviele Prozesse gleichzeitig gestartet werden sollen. Eine Faustregel besagt: Anzahl der CPUs/Kerne + 1. DualCore ergibt also make -j3, quadcore make -j5 usw.
#make || return make -jN || return 1
- Abspeichern, den Editor schließen und die erneute Frage nach PKGBUILD-edit mit N verneinen.
- Y zu:
Continue the building of rastullah-svn ? [Y/n]
- Warnings/Warnungeen zu evtl. nicht vorhandenen Schreibrechten in bestimmten Verzeichnissen ignorieren.
- Die Abhängigkeiten (Dependencies) werden überprüft und gegebenenfalls nachinstalliert.
Die Archmaintainer des Team-Pantheon bemühen sich RL stets mit in Arch/AUR verfügbaren Paketen lauffähig zu halten. Aufgrund zahlreicher Änderungen im RL Code ist dies nicht für jeden neuen SVN-Comit möglich. Eine gewisse Latenzzeit um einen defekten Buildprozess nach umfangreichen Änderungen zu reparieren ist zu erwarten.
- Die Abhängigkeiten bestehen teilweise aus Binärpaketen und werden automatisch mit Pacman installiert. In diesem Fall wird für sudo ein Passwort verlangt. Teilweise bestehen die Abhängigkeiten aus weiteren AUR-Paketen. Diese werden nach dem gleichen Schema wie rastullah-svn installiert und fordern evtl. selbst weitere Abhängigkeiten an.
- Sollte es hier zu umfangreichen Dependency-Installierungen kommen kann es sein, dass Yaourt nach einer erfolgreichen Teilinstallation abbricht. Dies ist ein bekanntes Yaourtverhalten und unterbricht den Buildprozess nicht. Einfach folgenden Befehl erneut eingeben:
yaourt -S rastullah-svn
- Das PKGBUILD-Script läd nun den eigentlichen Rastullahs Lockenpracht-Sourcecode und die Moduldaten aus der aktuellen SVN-Head version herunter und beginnt zu kompilieren.
- Die Frage mit Y beantworten. Evtl. wird erneut ein sudo-Passwort verlangt, Dieses eingeben.
Continue installing rastullah-svn [Y/n]
Module
- RL benötigt noch die Spieldaten, die in einem eigenen Paket geliefert werden. Der Download kann etwas länger dauern...
yaourt -S rastullah-modules-svn
RL starten
Aufgrund einiger Arch und RL Besonderheiten diesen Befehl (statt "rastullah") zum starten nutzen
rastullahstart
TODO
- Ausfindig machen wie ein SVN-checkout behalten werden kann und dies in die PKGBUILD oder install-datei integrieren, damit nicht jedesmal komplett alles neu geladen werden muss.[done]
- Evtl. Module zu einem eigenen Paket machen?[done]
- Die PKGBUILD mit einer auskommentierten nicht-anonymen svn-checkout zeile bestücken um Devs direkt ein schreibrecht zu geben.[not-done]
- Den Mapeditor nicht vergessen.
- Swigproblem: RL gepatchtes Swig evtl. als binärdatei 32bit+64bit mitliefern.[not-done: eigenes paket]
- Das Newtonpaket ist schrottig. Selbst ein neues aufmachen.[done]
- Meshmagick[done]
