Login
Newsletter
Werbung

Mo, 25. Februar 2013, 14:00

LibreOffice 4.0 selbst compilieren

Eine der Eigenschaften freier Software ist ganz offensichtlich, dass man den Quellcode beziehen und die Software selbst compilieren kann. Das heißt aber nicht, dass es immer einfach ist. Generell gilt die Regel, dass der Schwierigkeitsgrad mit der Projektgröße zunimmt. Vom Aufwand ganz abgesehen. Wir wollen hier am Beispiel LibreOffice 4.0 sehen, wie es um die Compilierbarkeit eines sehr großen Projektes bestellt ist.

Einige allgemeine Hinweise zum Compilieren von Programmen hatte Pro-Linux bereits 2003 in einem Einsteiger-Artikel. Es wäre eigentlich an der Zeit, diesen etwas zu verallgemeinern und zu erweitern. Doch hier soll es nur um das gerade erschienene LibreOffice 4.0 gehen. Warum gerade LibreOffice 4.0? Erstens, weil es ein sehr großes Projekt ist, das gemäß der in der Einleitung genannten Regel vielleicht nicht gerade einfach zu bauen ist. Die Tatsache, dass neben C++ auch Python für einige zentrale und Java für einige zusätzliche Funktionen benötigt werden, macht es sicher nicht einfacher.

Vor langer Zeit, bei OpenOffice.org 1.1, war das Compilieren ein sehr komplizierter Vorgang. Doch LibreOffice hat in den letzten zwei Jahren sehr stark am Code gearbeitet und das Generiersystem komplett umgestellt. Dadurch sollte die Sache erleichtert werden. Also an die Arbeit!

Direkt nach der Freigabe von LibreOffice 4.0 begann ich mit dem Herunterladen des Quellcodes. Während die Webserver der Document Foundation überlastet waren, waren die Download-Server bereit und der Download lief zügig. Unter der URL http://download.documentfoundation.org/libreoffice/src/4.0.0/ findet man acht Dateien, davon vier mit dem Quellcode und vier mit der PGP-Signatur.

libreoffice-4.0.0.3.tar.xz
libreoffice-4.0.0.3.tar.xz.asc
libreoffice-dictionaries-4.0.0.3.tar.xz
libreoffice-dictionaries-4.0.0.3.tar.xz.asc
libreoffice-help-4.0.0.3.tar.xz
libreoffice-help-4.0.0.3.tar.xz.asc
libreoffice-translations-4.0.0.3.tar.xz
libreoffice-translations-4.0.0.3.tar.xz.asc

Während der eigentliche Quellcode im 99 MB großen libreoffice-4.0.0.3.tar.xz zu finden ist, enthält libreoffice-dictionaries-4.0.0.3.tar.xz die Wörterbücher bei 34 MB Umfang, libreoffice-help-4.0.0.3.tar.xz die Online-Hilfe mit lediglich 1,8 MB und libreoffice-translations-4.0.0.3.tar.xz die Übersetzungen, 123 MB groß. Wir benötigen nur libreoffice-4.0.0.3.tar.xz und libreoffice-translations-4.0.0.3.tar.xz; warum, nur diese beiden, werden wir später noch sehen. Zwar sind die Übersetzungen optional, aber wer ein nicht-englisches LibreOffice verwenden will, wird sie benötigen. Der Download beträgt insgesamt also etwa 222 MB.

Verifikation der Archive

Nun ein Punkt, der gerne einmal übersprungen wird. Das LibreOffice-Team, genauer gesagt das LibreOffice Build-Team, hat die Quellcode-Archive mit PGP signiert, so dass die Benutzer verifizieren können, dass sie tatsächlich den originalen und unmodifizierten Quellcode heruntergeladen haben. Eine andere, nicht ganz so sichere Methode wäre es, den kryptografischen Hash (bevorzugt SHA-1 oder besser) der Dateien zu publizieren. Zum Schutz vor Manipulationen sollten die Hashes nicht (nur) bei den Dateien abgelegt, sondern auch an anderer Stelle publiziert sein. Bei GPG-Signaturen ist das nicht nötig, da ein Angreifer für eine Manipulation den geheimen Teil des Schlüssels besitzen müsste.

Zur Verifikation der Archive muss man den öffentlichen Teil des Schlüssels von LibreOffice kennen. Dieser ist aber glücklicherweise auf den öffentlichen Schlüsselservern abgelegt, so dass man ihn mit einem Befehl holen kann:

gpg --recv-keys AFEEAEA3

Nun ist die Verifikation sehr einfach:

gpg --verify libreoffice-4.0.0.3.tar.xz.asc

Dieser Aufruf setzt voraus, dass libreoffice-4.0.0.3.tar.xz im gleichen Verzeichnis wie libreoffice-4.0.0.3.tar.xz.asc liegt. Ist das nicht der Fall, kann man trotzdem verifizieren:

gpg --verify libreoffice-4.0.0.3.tar.xz.asc <Pfad>/libreoffice-4.0.0.3.tar.xz

Zwar wird möglicherweise eine Warnung ausgeben, aber die Unterschrift selbst wird als korrekt erkannt und der Haupt-Fingerabdruck wird ausgegeben:

gpg: Unterschrift vom Mi 30 Jan 2013 17:38:12 CET mittels RSA-Schlüssel ID AFEEAEA3
gpg: Korrekte Unterschrift von "LibreOffice Build Team (CODE SIGNING KEY) <build@documentfoundation.org>"
gpg: WARNUNG: Dieser Schlüssel trägt keine vertrauenswürdige Signatur!
gpg:          Es gibt keinen Hinweis, daß die Signatur wirklich dem vorgeblichen Besitzer gehört.
Haupt-Fingerabdruck  = C283 9ECA D940 8FBE 9531  C3E9 F434 A1EF AFEE AEA3

Kommentare (Insgesamt: 26 || Alle anzeigen )
Re[2]: Ist doch ganz einfach ;) (Erdie, Do, 28. Februar 2013)
Re[4]: make beschleunigen (ah, Mi, 27. Februar 2013)
Re[2]: make beschleunigen (macher, Di, 26. Februar 2013)
Re[4]: Ist doch ganz einfach ;) (openWeb, Di, 26. Februar 2013)
Re[3]: Ist doch ganz einfach ;) (lilili, Di, 26. Februar 2013)
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung