Wie baue ich Ubuntu-Pakete, damit das Installationslayout genau der Ubuntu-Distribution entspricht?

828
Xiè Jìléi

Ich arbeite an apache2-Quellcodes, die aus dem Ubuntu-Repository `apt-get source 'stammen.

Das apt-get dekomprimiert die Datei apache2-xxx.tar.gz und fügt sie mit apache2-xxx-ubuntu.diff zusammen. Ich denke, das Verzeichnis apache2-xxx / enthält die Ubuntu-ized apache2-Quelle.

Aber nach configure und make install habe ich festgestellt, dass die erstellte Ergebnisverzeichnisstruktur sich von dem unterscheidet, was ich von apt-get install apache2 installiert habe.

Beispiel: apt-get install apache2 teilt die modulspezifischen Konfigurationen von httpd.conf in mods-available / * auf, und alle Module werden in gemeinsam genutzten Objekten kompiliert. Die Standardkonfiguration (./configure ohne Option) kompiliert jedoch alle Module in einer einzigen ausführbaren Datei. Ich kann zwar --enable-mods-shared = all für ./configure angeben, aber die Kompilierung schlug fehl.

Die Frage ist nicht nur an die Option --enable-mods-shared, ich möchte wissen, wie man Apache2 oder allgemein ein Ubuntu-Quellpaket zum Verteilen kompiliert. Welche Konfigurationsoptionen sollte ich angeben, um allgemeinere Ubuntu-ähnliche Binärdateien zu erstellen?

2

2 Antworten auf die Frage

2
Tobu

Sie können make -f ./debian/rulesund die Bash-Vollendung darauf verwenden, um Stück für Stück zu bauen. Oder verwenden Sie debuild, um alles auf einmal zu erstellen. Die Kompilierungsregeln, Konfigurationsoptionen und Anpassungen werden im debian/Verzeichnis angezeigt .

0
dag729

Kennen Sie Checkinstall ? Kann es den Trick tun?