Créer un fichier deb dans Debian en utilisant le code source github et les outils debuild

0

Je veux compiler nginx (avec des bibliothèques personnalisées) en utilisant le code source à jour de GitHub. Mais si je télécharge le code depuis GitHub, il n’existe évidemment pas de dossier "debian" et de fichiers internes.

Ainsi, lorsque j'utilise la commande debuild: i.e., debuid clean, je vois l'erreur:

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

Est-il possible de générer automatiquement tous les fichiers du dossier debian? Ou je dois le faire manuellement?

Vyacheslav
la source

Réponses:

1

Un pourrait faire un système pour l'auto-génération de paquets simples, mais je n'en ai vu aucun. Tous les paquets Debian que je connais ont été construits à la main rules des dossiers. En dehors de cela, la plupart des fichiers de la debian Les sous-répertoires se ressemblent beaucoup (avec des différences scriptables) d’un paquet à l’autre.

Pour ce que ça vaut, j'ai construit 48 paquets différents pour mon propre travail , et fournit les scripts correspondants dans les sources-tarballs, mais dans un sous-répertoire différent pour éviter les conflits avec les emballeurs de Debian. Debian ne distribue pas ses scripts de construction dans les archives source, car leur stratégie est de distribuer des patchs contre un parfait source en amont (non modifiée). Il est donc probable que les seules sources où vous verriez les deux combinés proviennent de développeurs qui construisent leurs propres packages.

Vous pourrez peut-être adapter les scripts d'un paquet Debian donné (même si certains ont des bizarreries étranges). Pour commencer, vous devez trouver les scripts de package. Je vais habituellement à la page de rapport de bogue

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

et (tous les packages ne sont pas nommés de manière cohérente), recherchez les bogues sur ce package, par exemple, nginx entrer la description du lien ici . Sur cette page, est un pointeur sur la page de paquet . Dans celui-ci, il y a des liens pointant vers le paquet de différentes versions, par exemple, jessie (stable) et suivant cette lien vous amène à une page sur laquelle se trouvent (à l'extrême droite) des liens vers

Le système de compilation de Debian suppose que ces éléments sont disponibles séparément. pour mes propres constructions, j'ai écrit un script qui suppose que mon les scripts se trouvent à l’emplacement différent auquel il est fait référence. Quelle que soit la solution, vous pouvez avoir des lectures supplémentaires à faire.

Thomas Dickey
la source