LevelDB Debian (.deb)-Pakete bauen
Problem:
Du beabsichtigst, LevelDB zu installieren, möchtest es aber nicht manuell installieren & kompilieren, wie hier beschrieben.
Stattdessen möchtest du einfach das Debian-Paketsystem und eine reproduzierbare Methode zur Erstellung eines DEB-Pakets aus LevelDB verwenden.
Gründe, manuelles Kompilieren & Installieren vorzuziehen:
- Du möchtest LevelDB auf eine oder mehrere Umgebungen ausliefern, die keine vollständige Build-Umgebung haben
- Du bevorzugst eine saubere Install-Deinstall-Purge-Paket-Lebenszyklusverwaltung
- Du benötigst einen reproduzierbaren Prozess zum Ausliefern von LevelDB
Lösung
Du kannst das hier aufgelistete Skript verwenden, um dein eigenes DEB-Paket zu bauen.
Um dieses Skript auszuführen, musst du zuerst einige Abhängigkeiten installieren.
sudo apt-get install devscripts debhelper libsnappy-devBeachte jedoch, dass dieses Skript kein Paket generiert, das den Debian-Paketierungsspezifikationen entspricht – das Changelog enthält nur eine Dummy-Nachricht, kein Maintainer ist angegeben usw.
Das Skript kompiliert LevelDB immer mit Snappy-Unterstützung, daher können die Pakete nicht ohne Snappy installiert werden. Beachte, dass das Paket libsnappy-dev nur in Ubuntu vorhanden ist; für Debian musst du Snappy manuell installieren und/oder die Snappy-Abhängigkeit im Build-Skript entfernen.
Platziere es einfach in einem (vorzugsweise leeren) Verzeichnis deiner Wahl und führe es aus – LevelDB wird automatisch heruntergeladen und gebaut. Nach Abschluss sollten drei DEB-Dateien (Bibliothek, C++-Header und Dokumentation) plus einige Debuild-Metadateien in dem Verzeichnis vorhanden sein, in dem du das Skript platziert hast. Wenn dies nicht der Fall ist, lies die Fehlermeldungen und handle entsprechend.
Siehe http://wiki.debian.org/IntroDebianPackaging für eine allgemeine Einführung in die Debian-Paketierung. Möglicherweise benötigst du tiefergehende Kenntnisse des DEB-Paketbaus, um das Skript zu verstehen und zu modifizieren.
Das Skript wurde auf Ubuntu 12.04 und Ubuntu 13.04 getestet.
Das Skript ist in meinem deb-buildscripts-Repository gehostet, das nun verschiedene Skripte für Standalone-Builds verschiedener Software als DEB ohne besondere Voraussetzungen enthält.
Beachte, dass du deb-buildscripts Commit e4666142 auschecken musst, da LevelDB im aktuellen Master nicht unterstützt wird.
Klicke auf diesen Link, um das Skript zu sehen: deb-leveldb.sh