Korrekt verstaut
RPM-Pakete selbst erstellen
Baumeister
Damit ist das Spec-File endlich vollständig, und dem Bauen des RPM-Pakets steht nichts mehr im Wege. Dazu wechseln Sie in einem Terminal-Fenster in das Verzeichnis SPECS und starten dort per rpmbuild -ba bomberclone.spec den Prozess. In einigen älteren Distributionen ist diese Funktion noch im Paketmanager selbst enthalten. In einem solchen Fall führt der Befehl rpm -ba bomberclone.spec zum Ziel.
Der Parameter -ba steht für Build All und weist das Programm Rpmbuild an, zwei RPM-Pakete zu erstellen: Eines mit dem fertigen Programm in Form von Binärdateien und eines mit dem Quellcode. Alle diese Schritte begleiten mehr als üppig ausfallende Meldungen. Ein vorangestelltes + signalisiert, dass sie von Rpmbuild selbst stammen.
Habe fertig
Die Ergebnisse finden Sie anschließend im Ordner SRPMS und RPMS des Arbeitsverzeichnisses /usr/src/packages. Rpmbuild sortiert dabei alle RPM-Pakete nach Prozessortyp. Falls Sie einen herkömmlichen Pentium- oder Athlon-Prozessor mit 32-Bit-Architektur einsetzen, landen die fertigen Dateien im Unterverzeichnis RPMS/i386 oder RPMS/i686. Möchten Sie das Paket für einen anderen Computer erstellen, wie zum Beispiel einem iMac mit PowerPC-Prozesser, hängen Sie dem obigen Rpmbuild-Aufruf einfach noch ein --target Prozessortyp
an.
Verzichten Sie auf das zusätzliche Quellcode-Paket, so genügt ein Aufruf von rpmbuild -bb bomberclone.spec beziehungsweise rpm -bb bomberclone.spec auf der Kommandozeile. Das -bb steht hier für Build Binary. Das fertige Paket können Sie nun auf dem herkömmlichen Weg über ihren Paketmanager einspielen. Auf der Kommandozeile führt beispielsweise ein rpm -i bomberclone-0.11.6.2-meinrelease.i686.rpm zum Ziel.
Abhängigkeiten
Bevor Rpmbuild alle Dateien in das Paket stopft, ruft es noch das Programm Ldd zur Hilfe. Letzteres teilt dem Werkzeug mit, welche Bibliotheken die zu verpackende Anwendung voraussetzt. Bomberclone verlangt unter anderem nach der SDL-Bibliothek. Diese Information taucht dann im Paket als Abhängigkeit wieder auf.
Leider klappt dieser Automatismus nicht immer zuverlässig. Sicherer fahren Sie, wenn Sie in die Präambel das zusätzliche Tag Required: aufnehmen, Hinter ihm reihen Sie alle Pakete auf, die das zu verpackende Programm benötigt. Sie finden die entsprechenden Informationen normalerweise in der mitgelieferten README-Datei oder auf der Homepage des Programmautors. Für Bomberclone würde die entsprechende Zeile folgendermaßen aussehen:
Requires: SDL_mixer, SDL_image, SDL >= 1.1.0



