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]
Persönliche Werkzeuge
Link zur berliOS-Projektseite