web-dev-qa-db-fra.com

Versionnage d'un paquet à télécharger sur PPA

J'ai un paquet nommé Artha que je distribue en tant que source et binaires (deb) pour les architectures x86 et x86_64, c'est-à-dire que j'ai l'expérience de la création de fichiers deb. J'ai reçu pas mal de demandes pour la mise en place d'un PPA. Je pensais que je le ferais pour la prochaine version. Artha dans le référentiel Ubuntu est de la version 1.0.2 et j'essaie de créer un PPA pour Artha 1.0.3.

J'ai lu Personal Package Archive docs du Launchpad , et le PPA est maintenant configuré, mais cette page sur la gestion des versions dit cela pour un paquet comme Artha qui est déjà dans le dépôt d'Ubuntu , nommé artha-1.0.2-1ubuntu1, la version de PPA doit être artha-1.0.3-1ubuntu1ppa1, de sorte que, lorsque le dépôt d'Ubuntu est mis à jour vers la version 1.0.3 d'Artha, il remplace le paquet de mon PPA.

Quand je fais habituellement mon paquet .deb, je récupère ces fichiers

  • artha_1.0.3.orig.tar.bz2
  • artha_1.0.3-1.debian.tar.gz
  • artha_1.0.3-1.dsc
  • artha_1.0.3-1_AMD64.build
  • artha_1.0.3-1_AMD64.changes
  • artha_1.0.3-1_AMD64.deb

et leurs équivalents pour i386. Cette page lors du téléchargement sur un PPA indique que les fichiers .dsc, .changes et .debian.tar.gz seront téléchargés.

Voici ma confusion. Comment ai-je pu faire en sorte que ces fichiers aient la version susmentionnée? c'est-à-dire avec le suffixe "ppa"? Certes, j’ai le sentiment que renommer manuellement le répertoire extrait du paquet source d’Artha ne semble pas être la bonne solution.

Aussi dois-je debuild -S -sd ou debuild -S -sa? La page du tableau de bord indique que la version de remplacement d'un package existant doit utiliser l'ancienne. Cela semble ambigu pour moi. Qu'est-ce que ça veut dire? Une version mise à jour compte-t-elle comme une version alternative?

Il existe de nombreuses pages détaillées sur la mise en place d’un PPA. Mais ils ne sont configurés qu’une seule fois, alors que les AAE concernent essentiellement la mise à jour plus rapide des mises à jour d’un paquet donné et que la facilité de maintenance est très importante. Je serais bien de pouvoir indiquer à un tel document de faire la mise à jour, etc. c'est à dire des choses qui arrivent à un PPA après le téléchargement initial.

6
legends2k

La version du package résultant provient du numéro de version indiqué dans debian/changelog Vous devez donc disposer de la version appropriée.

1.0.3-1 remplacera un téléchargement Ubuntu uniquement versionalisé 1.0.3-0ubuntu1

$ dpkg --compare-versions 1.0.3-1 le 1.0.3-0ubuntu1 || echo "False"
False

Mais il ne remplacera pas une version issue de Debian avec des modifications d’Ubuntu, c.-à-d. 1.0.3-1ubuntu1

$ dpkg --compare-versions 1.0.3-1 le 1.0.3-1ubuntu1 || echo "False"
$

Le caractère tilda (~) a une signification particulière dans les numéros de version. Par exemple:

$ dpkg --compare-versions 1.0.3-1 le 1.0.3-1~ppa1 || echo "False"
False

Comme votre paquet ne provient pas de Debian, je vous attribue un numéro de version tel que 1.0.3-0~ppa1. Cela garantit qu’il est inférieur à une version synchronisée directement à partir de Debian ou introduite dans Ubuntu.

Donc, votre journal des modifications devrait ressembler à ceci:

artha (1.0.3-0~ppa1) quantal; urgency=low

  * New upstream release.

 -- Your Name <[email protected]>  Sun, 07 Oct 2012 13:06:56 -0400

Que ce soit d'utiliser debuild -S -sd ou debuild -S -sa est une question vraiment différente, mais voici une réponse brève.

-sa veille à ce que le .orig.tar.bz2 soit chargé. Si vous n'avez pas encore téléchargé cette version en amont, utilisez ceci.

-sd fait explicitement en sorte que seuls les debian.tar.gz ou diff.tar.gz soient téléchargés. Ceci est valable lorsque vous modifiez une version en amont déjà disponible dans votre archive cible ou votre PPA. C’est parce que l’archive originale devrait déjà y être présente.

7
andrewsomething