Inhalt
1 Voraussetzungen................................................................................................................................3 1.1 Windows....................................................................................................................................3 1.2 Linux..........................................................................................................................................3 1.3 MacOS.......................................................................................................................................3 2 Oberflche.........................................................................................................................................4 2.1 berblick...................................................................................................................................4 2.1.1 Profilverwaltung.................................................................................................................4 2.1.2 Tabelle der Aufgaben.........................................................................................................5 2.1.3 Revisionen..........................................................................................................................5 2.2 Start............................................................................................................................................6 2.2.1 Los......................................................................................................................................6 2.2.2 Stopp..................................................................................................................................7 2.2.3 Zeige Log...........................................................................................................................7 2.2.4 Ausgabe Speichern.............................................................................................................7 2.2.5 ber....................................................................................................................................7 2.2.6 Ausgabe..............................................................................................................................7 2.3 FPC............................................................................................................................................8 2.3.1 Aktualisieren......................................................................................................................8 2.3.2 Pfad fr die FPC-Sourcen..................................................................................................8 2.3.3 CheckOut-URL fr FPC.....................................................................................................9 2.3.4 Optionen fr svn update.................................................................................................9 2.3.5 Erstellen.............................................................................................................................9 2.3.6 Optionen fr Make.........................................................................................................9 2.3.7 Immer.................................................................................................................................9 2.3.8 Installieren........................................................................................................................10 2.3.9 Pfad zum FPC-Installations-Verzeichnis(INSTALL_PREFIX=).................................10 2.3.10 Optionen fr make install...........................................................................................10 2.4 Lazarus.....................................................................................................................................11 2.4.1 Aktualisieren.....................................................................................................................11 2.4.2 Pfad fr Lazarus ..............................................................................................................11 2.4.3 CheckOut-URL fr Lazarus ............................................................................................12 2.4.4 Optionen fr svn update ..............................................................................................12 2.4.5 Lazarus mit make erstellen ..........................................................................................12 2.4.6 Optionen fr Make ......................................................................................................12 2.4.7 Lazarus mit LazBuild erstellen ....................................................................................12 2.4.8 Optionen fr LazBuild .................................................................................................13 2.4.9 Immer nach FPC .............................................................................................................13 2.4.10 Immer ............................................................................................................................13 2.4.11 Strip................................................................................................................................13 2.5 Werkzeuge................................................................................................................................14 2.6 Konfigurationsdatei.................................................................................................................14 2.6.1 PATH erweitern................................................................................................................15 2.6.2 Erstelle Sym-Links...........................................................................................................15 2.6.3 XXX-Binrdatei...............................................................................................................16 3 Praktische Beispiele.........................................................................................................................17 3.1 Vorhandene SVN-Installation aktualisieren.............................................................................17 3.2 Neue SVN-Installation erstellen..............................................................................................17 4 FAQ.................................................................................................................................................19 1
1 Voraussetzungen
LazUpdater selbst hat keine besonderen Systemvoraussetzungen, aber damit das herunterladen und anschlieende kompilieren funktioniert, mssen einige Voraussetzungen erfllt sein.
1.1 Windows
SVN -Client: LazUpdater benutzt das Kommandozeilenprogramm svn um die Quellen herunter zu laden. Das Paket Silk-SVN wurde erfolgreich getestet und kann unter http://www.sliksvn.com/en/download heruntergeladen werden. Entwicklerwerkzeuge: Zum erstellen von Binrdateien sind mehrere Programme notwendig, welche nicht direkt vom FPC-/Lazarus-Projekt gepflegt werden. Sie knnen von http://svn.freepascal.org/svn/fpcbuild/trunk/install/binw32/ heruntergeladen werden. Das Zielverzeichnis auf der Festplatte sollte anschlieend der Umgebungsvariable PATH hinzugefgt werden. Bootstrap-Compiler: Ist noch keine FPC-Installation auf dem System vorhanden, dann wird ein Compiler bentigt. Dieser kann von ftp://ftp.freepascal.org/pub/fpc/dist/2.4.2/bootstrap/ heruntergeladen und anschlieend entpackt werden.
1.2 Linux
SVN-Client: Es wird das Paket subversion bentigt. Entwicklerwerkzeuge und -bibliotheken: Unter Ubuntu 10.10 konnte ich folgende Abhngigkeiten erkennen: make, libatk1.0-0 (>=1.29.3), libc6 (>=2.2.5), libcairo2 (>=1.2.4), libgdk-pixbuf2.0-0 (>=2.21.6), libglib2.0-0 (>=2.12.0), libgtk2.0-0 (>=2.8.0), libpango1.0-0 (>=1.14.0), libx11-6, libgtk2.0-dev, libogg-dev, libvorbis-dev, a52dec-dev, libdts-dev, libmad0-dev, libmodplug-dev Bootstrap-Compiler: Ist noch keine FPC-Installation auf dem System vorhanden, dann wird ein Compiler bentigt. Dieser kann von ftp://ftp.freepascal.org/pub/fpc/dist/2.4.2/bootstrap/ heruntergeladen und anschlieend entpackt werden.
1.3 MacOS
Xcode-Tools: Diese Paket enthlt alle bentigten Entwicklerwerkzeuge und -bibliotheken und den SVN-Client. Es befindet sich auf der MacOS-InstallationsDVD. Fpc-xcode-<version>.pkg: Enthlt zustzliche Templates fr die Xcode-Tools. Es ist im fpc<version>.<cpu>-macos.dmg enthalten und kann unter http://sourceforge.net/projects/freepascal/files/Mac%20OS%20X/ heruntergeladen werden. Bootstrap-Compiler: Ist noch keine FPC-Installation auf dem System vorhanden, dann wird ein Compiler bentigt. Dieser kann von ftp://ftp.freepascal.org/pub/fpc/dist/2.4.2/bootstrap/ heruntergeladen und anschlieend entpackt werden.
2 Oberflche
In diesem Kapitel wird die Oberflche und Funktionsweise von LazUpdater beschrieben.
2.1 berblick
Der Kopf von LazUpdater besteht aus der Profilverwaltung, einer Tabelle der Aufgaben und Informationen ber die installierte Revision, von Lazarus und FPC. Diese bersicht ist jederzeit sichtbar.
2.1.1 Profilverwaltung
Mit den Profilen lassen sich verschieden Installationen und Installations-/Updateeinstellungen verwalten. Man kann z.B. eine Installation der aktuellen Entwicklerversion (trunk) und eine andere Installation der letzten stabilen Version mit Updates (fixes) einrichten. Die Namen der Profile sind frei whlbar. Gespeichert werden die Profile beim beenden von LazUpdater, beim Wechsel des Profils und beim Start der Aktualisierung.
2.1.3 Revisionen
Unterhalb des LazUpdater-Logos wird angezeigt welche SVN-Revision, in dem Quellcodeverzeichnis von FPC bzw. Lazarus, gefunden wurde. Dafr wird die Datei entries, im .svn-Verzeichnis im Basisverzeichnis des Quellcodes, ausgewertet. Die Revisionsnummer ndert, whrend einer Aktualisierung, die Farbe von schwarz zu grn, wenn eine neue Revision heruntergeladen wurde. Wurde keine Revision erkannt, erscheint eine rote Null.
2.2 Start
Diese Seite steuert den Aktualisierungsvorgang und verwaltet die erzeugte Ausgabe.
2.2.1 Los
Startet den Aktualisierungsvorgang. Dabei wird als erstes das aktuelle Profil gespeichert. Anschlieend wird berprft, ob die Einstellungen komplett sind. Soll eine Lazarusinstallation aktualisiert werden, wird eine Warnung ausgegeben, dass Lazarus geschlossen sein muss. Jetzt werden die Aufgaben abgearbeitet und deren Ausgaben in Ausgabe angezeigt. [INFO] Die Kommandozeilenbefehle der Aufgaben, werden mit TProcess ausgefhrt und die Ausgabe in das TMemo umgeleitet.
2.2.2 Stopp
Bricht den aktuell laufenden Prozess ab. ACHTUNG! Wenn man einen Aktualisierungsvorgang (svn update) abbricht, fhrt das blicherweise dazu, dass die Versionsverwaltung zerstrt wird. Das kann meist nur mit einem erneuten, kompletten Download der Quelltexte berichtigt werden. Wird ein Erstellen-Vorgang (make) abgebrochen, dann kann es passieren, dass dieser im Hintergrund dennoch weiter luft. Der Grund sind von dem Hauptprozess gestartete Kindprozesse. Der Stopp-knopf kann immer nur den Hauptprozess stoppen. Deshalb sollte dieser Knopf nur benutzt werden, wenn man sich der Konsequenzen bewusst ist. [INFO] Entspricht TProcess.Terminate;
2.2.5 ber
Informationen ber LazUpdater werden angezeigt.
2.2.6 Ausgabe
Zeigt die Ausgaben der laufenden Aufgabe an. Die Ausgaben sind blicherweise sehr detailliert und daher sehr lang. ber das Kontextmen (rechte Maustaste) stehen 2 Optionen zur Verfgung. Kopieren: kopiert den markierten Text in die Zwischenablage Zeilenumbruch: Ist diese Option aktiviert, wird der Text automatisch in das Fenster eingepasst. Andernfalls erscheint ein horizontaler Scrollbalken.
2.3 FPC
Diese Seite beinhaltet alle Pfadangaben und Parameter die zum installieren oder aktualisieren von FPC notwendig sind.
2.3.1 Aktualisieren
Abhngig davon ob unter Pfad fr die FPC-Sourcen eine versionierte Installation von FPC gefunden wird, wird Aufgabe FPC aktualisieren bzw. FPC auschecken aktiviert. Diese Aufgabe ldt den (die nderungen am) Quellcode von FPC herunter. Gibt es zum Zeitpunkt der Aktualisierung keine nderungen am Quelltext, werden die weiteren Aufgaben dieser Seite bersprungen. Ist die Option deaktiviert, knnen keine anderen Einstellungen auf dieser Seite gendert werden. [Info] Entspricht svn update bzw. svn checkout <CheckOut-URL fr FPC> <Pfad zum FPCInstallations-Verzeichnis>
2.3.5 Erstellen
Aktiviert die Aufgabe FPC erstellen. Diese Aufgabe kompiliert die Quelldateien innerhalb der Ordnerstruktur des Quellcodes. [Info] Entspricht make <Optionen fr Make>
2.3.7 Immer
Erzwingt die Aufgabe FPC erstellen, auch wenn keine nderung am Quelltext erfolgte. Ist die Option aktiv, wird das, in der Tabelle der Aufgaben, angezeigt.
2.3.8 Installieren
Aktiviert die Aufgabe FPC installieren. Damit der FPC alle seine Dateien findet, bentigt er eine spezielle Ordnerstruktur. Diese Aufgabe erstellt diese Struktur, unterhalb von Pfad zum FPC-Installations-Verzeichnis und kopiert die bereits kompilierten Daten hinein. [Info] Entspricht make install INSTALL_PREFIX=< Pfad zum FPC-Installations-Verzeichnis>
2.3.10
10
2.4 Lazarus
Diese Seite beinhaltet alle Pfadangaben und Parameter die zum installieren oder aktualisieren von Lazarus notwendig sind.
2.4.1 Aktualisieren
Abhngig davon ob unter Pfad fr Lazarus eine versionierte Installation von Lazarus gefunden wird, wird Aufgabe Lazarus aktualisieren bzw. Lazarus auschecken aktiviert. Diese Aufgabe ldt den (die nderungen am) Quellcode von Lazarus herunter. Gibt es zum Zeitpunkt der Aktualisierung keine nderungen am Quelltext, werden die weiteren Aufgaben dieser Seite bersprungen. Ist die Option deaktiviert, knnen keine anderen Einstellungen auf dieser Seite gendert werden. [Info] Entspricht svn update bzw. svn checkout <CheckOut-URL fr Lazarus> <Pfad fr Lazarus>
11
2.4.10
Immer
Fhrt die Aufgaben Lazarus erstellen und/oder Lazarus mit LazBuild erstellen aus, auch wenn keine Aktualisierung fr Lazarus oder FPC gefunden wurde.
2.4.11
Strip
Aktiviert die Aufgabe Lazarus-Binrdateien strippen. Unter strippen versteht man die Debuggersymbole, aus den ausfhrbaren Binrdateien, zu entfernen. Damit kann die Dateigre enorm verringert werden. Mehr Informationen findet man unter http://wiki.freepascal.org/Size_Matters/de. [Info] Enspricht strip strip-all lazarus / startlazarus / lazbuild
13
2.5 Werkzeuge
2.6 Konfigurationsdatei
Hier kann die Konfigurationsdatei von FPC bearbeitet, neu erstellt oder gelscht werden. Werden mehrere Dateien angezeigt, wird gewhnlich die oberste vom Compiler gelesen. Mehr Informationen findet man in der Manpage (z.B. unter http://linux.die.net/man/5/fpc.cfg).
Mit bearbeiten wird die gewhlte Datei, in einem minimalistischen Texteditor, geffnet und kann verndert werden. Entspricht einem Doppelklick auf die gewnschte Datei in der Liste. Mit lschen wird die gewhlte Datei von der Festplatte entfernt. 14
Mit neu erstellen wird eine Vorlage, in welcher die Pfade der FPC-Installation bereits angepasst sind,in dem Editor geffnet.
Der Editor bietet grundlegende Mglichkeiten, die Datei zu bearbeiten und zu speichern. Mit speichern als... kann der Dateiname und -pfad frei gewhlt werden. Mit speichern wird die Datei unter dem ursprnglichen Namen gespeichert bzw. neue Dateien im Compilerpfad abgelegt.
15
2.6.3 XXX-Binrdatei
Die angegebenen Programme knnen hier explizit ausgesucht werden. Damit ist es mglich Programmversionen zu nutzen, die nicht im PATH liegen. Sind die Eingabefelder leer, wird die erste Datei im PATH genutzt. Eine Ausnahme bildet LazBuild, da diese im Lazarusverzeichnis liegt, welcher fr gewhnlich nicht im PATH ist. Hier wird die Datei lazbuild im Pfad fr Lazarus ausgefhrt. Mit dem Knopf dahinter [..] kann die Datei ausgewhlt werden.
16
3 Praktische Beispiele
In diesem Kapitel wird, anhand typischer Situationen, die Bedienung von LazUpdater erklrt.
17
Abschlieend wird mit dem Knopf Los auf der Seite Start der Checkout fr Lazarus gestartet. Sollten zu diesem Zeitpunkt bereits Aktualisierungen fr FPC vorliegen, werden diese eingespielt und FPC neu erstellt. Bei zuknftige Updates muss lediglich berprft werden, ob das richtige Profil geladen ist und der Knopf Los bettigt werden.
18
4 FAQ
F: In einer lteren Version von LazUpdater hatte ich die Mglichkeit Nachrichten an den laufenden Prozess zu schicken. Warum geht das jetzt nicht mehr? A: Diese Funktion hat nur unter bestimmten Voraussetzungen funktioniert (GTK2 mit asynchroner Ausgabe). Deshalb wurde es in der Version 1.0.0 deaktiviert. Sollte die Funktion jedoch bentigt werden, kann LazUpdater mit dem Parameter -async gestartet und die Funktion unter Werkzeuge/benutze asynchrone Ausgabe aktiviert werden. F: Ich mchte LazUpdater gern in eine andere Sprache bersetzten. Was muss ich tun? A: Das ist technisch gesehen nicht schwer. Im Verzeichnis languages liegt die Datei lazupdater.po diese muss kopiert und in lazupdater.<Krzel>.po umbenannt werden. Das <Krzel> entspricht dem zweistelligen Sprachkrzel, z.B. de fr deutsch oder es fr spanisch. Anschlieend kann diese neue Sprachdatei mit einem geeigneten Werkzeug, wie POEdit, oder einem einfachen Texteditor bearbeitet werden. F: Wie kann ich eine andere Sprache whlen? A: LazUpdater erkennt automatisch die im System eingestellte Sprache und benutzt die entsprechende po-Datei im Verzeichnis languages. Um diese Automation zu umgehen kann LazUpdater mit dem Parameter -l <Krzel> gestartet werden. Das <Krzel> entspricht dem zweistelligen Sprachkrzel, z.B. de fr deutsch oder es fr spanisch. F: Warum kann ich erstellen nur auswhlen, wenn ich aktualisieren gewhlt habe? A: LazUpdater wurde konzipiert, den typischen Ablauf eines Updatevorgangs nachzubilden. Das bedeutet, erst die Quellen zu aktualisieren, dann das Programm zu kompilieren und abschlieend, wenn ntig, zu installieren. Daraus ergab sich die Reihenfolge und der Zwang diese Reihenfolge einzuhalten, damit man nichts vergisst. Man kann jedoch das aktualisieren unterbinden, in dem man mit -r<Revisionsnummer> eine feste Revision angibt. Zustzlich kann man den Punkt immer aktivieren und damit das kompilieren erzwingen, obwohl sich die Revision nicht verndert hat.
19