Erstellen einer Deb-Datei in Debian mit Github-Quellcode und Debuild-Tools

1315
Vyacheslav

Ich möchte Nginx (mit benutzerdefinierten Bibliotheken) mit aktuellem Quellcode von GitHub kompilieren. Wenn ich den Code von GitHub herunterlade, gibt es natürlich keinen "debian" -Ordner und keine inneren Dateien.

Also, wenn ich debuild Befehl verwende: dh debuid clean sehe ich den Fehler:

debuild: fatal error at line 629: cannot find readable debian/changelog anywhere! Are you in the source code tree? 

Ist es möglich, alle Dateien im Debian-Ordner automatisch zu generieren? Oder muss ich es manuell machen?

0

1 Antwort auf die Frage

1
Thomas Dickey

Man könnte ein System zur automatischen Generierung einfacher Pakete erstellen, aber ich habe keine gesehen. Alle mir bekannten Debian-Pakete haben handgefertigte rulesDateien. Abgesehen davon sehen die meisten Dateien im debianUnterverzeichnis (mit skriptfähigen Unterschieden) zwischen Paketen ziemlich gleich aus.

Ich habe 48 verschiedene Pakete für meine eigene Arbeit zusammengestellt und die entsprechenden Skripts in den Quell-Tarballs bereitgestellt, aber in einem anderen Unterverzeichnis, um Konflikte mit Debians Paketierern zu vermeiden. Debian verteilt keinen ihren Build-Skripte innerhalb der Quelle tarballs, weil ihre Politik zu verteilen Patches gegen eine unberührte (unmodifiziert) vorgeschalteten Quelle. Wahrscheinlich sind die einzigen Quellen, in denen Sie die beiden zusammen sehen würden, von Entwicklern, die ihre eigenen Pakete erstellen.

Möglicherweise können Sie die Skripts eines bestimmten Debian-Pakets anpassen (obwohl einige merkwürdige Macken haben). Um zu beginnen, müssen Sie die Paketskripte finden. Normalerweise gehe ich zur Bug-Reporting-Seite

https://www.debian.org/Bugs/ 

und (nicht alle Pakete sind konsistent benannt), suchen Sie nach Fehlern in diesem Paket, z. B. nginx, geben Sie die Linkbeschreibung hier ein . Auf dieser Seite befindet sich ein Zeiger auf die Paketseite . Darin gibt es Links, die auf das Paket von verschiedenen Releases verweisen, z. B. jessie (stable), und wenn Sie diesem Link folgen , gelangen Sie zu einer Seite, zu der (rechts oben) Links vorhanden sind

Debians Build-System geht davon aus, dass diese Teile separat erhältlich sind. Für meine eigenen Builds habe ich ein Skript geschrieben, in dem davon ausgegangen wird, dass sich meine Skripte an einem anderen Ort befinden. Für beide Lösungen müssen Sie möglicherweise weitere Informationen lesen.