web-dev-qa-db-fra.com

Comment construire un paquet source?

Je suis le développeur principal d'un logiciel open source appelé GDevelop ( https://github.com/4ian/Gd ): j'aimerais le distribuer sur Ubuntu et bénéficier de la plateforme Launchpad pour obtenez-le automatiquement compilé pour les versions les plus récentes d'Ubuntu.

Pour l'instant, je distribue un package .deb qui peut être installé normalement. Le package est construit "manuellement" à l'aide d'un script fait maison appelant dpkg. Cela fonctionne bien mais je ne peux construire le logiciel que pour une seule version d'Ubuntu (celle que j'utilise pour développer le logiciel) et il serait évidemment préférable que GDevelop ait un PPA, au lieu de demander aux utilisateurs d'aller sur le site Web de GDevelop pour téléchargez le dernier fichier .deb à chaque sortie d'une nouvelle version.

Mais j'ai du mal à construire un package source: j'ai lu cet article https://help.launchpad.net/Packaging/PPA/BuildingASourcePackage , mais le lien vers le guide de packaging Ubuntu est rompu. J'ai cherché des informations et il y a beaucoup d'articles sur l'emballage partout sur le Web, mais la plupart n'ont pas de guide étape par étape qui commence à partir de la source jusqu'à ce que je reçoive un paquet prêt à être envoyé à Launchpad: /

Pourriez-vous m'aider en me pointant vers des articles/tutoriels Nice/Demander des réponses Ubuntu? Je dois admettre que je suis un peu perdu. Par exemple, je ne peux pas obtenir d'informations sur certains détails très spécifiques:

  • Mon logiciel est construit à l'aide de CMake. Comment le système de construction peut-il s'intégrer au processus d'emballage? L'utilisation de make est-elle obligatoire?
  • Comment spécifier les dépendances de mon logiciel? GDevelop utilise wxWidgets et [~ # ~] sfml [~ # ~] par exemple.
  • Existe-t-il un moyen d'obtenir la sortie d'une build faite sur Launchpad? J'ai essayé de télécharger un paquet source, mais je n'ai reçu aucune notification lorsque le téléchargement a été terminé (sauf pour obtenir au moins des messages d'erreur ou une notification, mais rien). Comment puis-je simuler la construction d'un package source lorsque j'en reçois un?

Merci pour toute aide :)

3
4ian

Je viens de voir que je n'ai jamais expliqué comment j'obtiens finalement que ce paquet source soit construit et accepté par Launchpad :) Comme GDevelop est open source, la meilleure chose à faire pour quelqu'un qui cherche à créer un tel paquet serait de regarder le script faisant le package source pour le logiciel: https://github.com/4ian/Gd/blob/master/Binaries/Packaging/PackageForUbuntu.sh

La plupart du travail est effectué par debuild. Le système de construction est deviné automatiquement , ce qui est bien, mais cela ne fonctionnera pas si votre logiciel a besoin de paramètres supplémentaires: vous pouvez remplacer la plupart des arguments transmis aux outils de packaging en utilisant le fichier rule .

Les dépendances de construction doivent être répertoriées dans le fichier control. Les dépendances réelles sont ensuite calculées lorsqu'elles sont construites sur Launchpad.

Enfin, comme vous l'avez peut-être vu en regardant divers tutoriels/documentation, certains fichiers (compat, source/format) avec un contenu ésotérique doit être ajouté;)

0
4ian