web-dev-qa-db-fra.com

Comment copier un paquet de Debian dans mon PPA?

J'aimerais ajouter le dernier paquet gourmet de Debian sid à notre PPA de l'équipe afin que les utilisateurs Ubuntu qui souhaitent utiliser une version à jour de Gourmet puissent l'ajouter. ce PPA à leurs sources de logiciels. (En ce qui concerne les dépendances, cela ne devrait pas poser trop de problèmes, car toutes nos dépendances actuelles sont déjà disponibles dans toutes les versions actuellement prises en charge par Ubuntu.)

J'ai téléchargé le fichier *.dsc et les archives debian et orig, et j'ai même pensé que je pourrais utiliser this pour le fichier source.changes du paquet. J'ai également téléchargé la clé publique du responsable Debian pour que dput puisse valider le paquet. J'ai ensuite essayé de télécharger le paquet sur notre PPA en utilisant dput ppa:~gourmet/ppa gourmet_0.17.3-1_source.changes (j'ai également essayé sans tilda.) Cela a semblé réussir, mais je n'ai pas reçu de courrier électronique de confirmation, et aucun paquet n'est maintenant affiché à notre - PPA , ce qui m'amène à croire que le paquet a été rejeté parce que la clé du mainteneur Debian ne fait évidemment pas partie des clés des membres de notre équipe.

Alors quel est le moyen le plus simple de "copier" un paquet de Debian (Sid) vers un PPA Launchpad? Dois-je vraiment reconstruire l'intégralité du paquet localement avant de pouvoir le télécharger?

10
Bernhard Reiter

Vous devez reconstruire le package source source localement avant le téléchargement afin d'ajuster le journal des modifications et de régénérer le fichier de modifications. Bien que le portage d’un paquet soit une tâche assez courante, cela a été écrit dans un script. Découvrez le backportpackage Manpage icon commande buntu-dev-tools Install ubuntu-dev-tools package.

Pour rétroporter un paquet de Debian, fournissez simplement la série de distribution cible, PPA, et le fichier dsc du paquet:

backportpackage -d trusty -u ppa:gourmet/ppa http://ftp.de.debian.org/debian/pool/main/g/gourmet/gourmet_0.17.3-1.dsc

Il est encore plus simple de transférer un paquet d'une version Ubuntu vers une autre, car vous n'avez pas besoin de trouver le fichier dsc. Disons que nous voulons passer de l'utopique au fidèle:

backportpackage -s utopic -d trusty -u ppa:gourmet/ppa gourmet
12
andrewsomething

Il y a quelques façons de le faire.

Quand j'ai fait cela pour Rhythmbox, j'ai suivi la recette suivante:

une. Prenez le fichier source et les fichiers debian

enter image description here

b. Décompressez le source (.orig.tar.xz)

c. renommer le dossier source quelque chose comme rhythmbox-3.0.3

c. décompresser le fichier debian (.debian.tar.xz)

ré. déplace le dossier debian sous le répertoire source

e. dch -i pour changer le fichier changelog

f. remplacez le nom du paquetage "unstable" par le nom de la cible Ubuntu - ici, j'ai utilisé précis pour 12.04. Modifiez la version en fonction de votre application. Ici rhythmbox était 3.0.3 - donc je viens d'ajouter -1~ppafossfreedom

rhythmbox (3.0.3-1~ppafossfreedom) precise; urgency=low

  * rebuild

 -- fossfreedom <[email protected]>  Thur, 07 Jun 2012 13:19:18 +0100

g. créer un nouveau paquet source: dh_build --createorig

h. Construisez simplement la source avec votre clé: debuild -S -k0xABCDEFGABCDEFG est votre clé

je. télécharger votre paquet pour la construction:

cd ..
dput ppa:fossfreedom/rhythmbox rhythmbox_3.0.3-1_sources.changes    
1
fossfreedom