Je voudrais ajouter le dernier paquet gourmet de Debian Sid au PPA de notre équipe afin que les utilisateurs d'Ubuntu qui souhaitent exécuter une version à jour de Gourmet puissent ajouter ce PPA à leurs sources logicielles. (Du point de vue de la dépendance, cela ne devrait pas être un gros problème car presque toutes nos dépendances actuelles sont déjà disponibles dans toutes les versions d'Ubuntu actuellement prises en charge.)
J'ai téléchargé le *.dsc
fichier et debian et orig tarballs, et même pensé que je pouvais utiliser ce pour l'ensemble source.changes
du dossier. J'ai également téléchargé la clé publique du responsable Debian afin de dput
pouvoir valider le paquet. J'ai ensuite essayé de télécharger le package sur notre PPA en utilisant dput ppa:~gourmet/ppa gourmet_0.17.3-1_source.changes
(j'ai également essayé sans le tilda.) Cela semblait réussir, mais je n'ai pas reçu d'e-mail de confirmation, et aucun package n'est désormais affiché sur notre PPA , ce qui m'amène à croire que le paquet a été rejeté car la clé du responsable Debian ne fait évidemment pas partie des clés des membres de notre équipe.
Alors, quelle est la façon la plus simple de «copier» un paquet de Debian (Sid) vers un Launchpad PPA? Dois-je vraiment reconstruire le package entier localement avant de pouvoir le télécharger?
Réponses:
Vous devez reconstruire le package source localement avant le téléchargement afin d'ajuster le journal des modifications et de régénérer le fichier des modifications. Bien que le rétroportage d'un package soit une tâche assez courante, cela a été scripté. Découvrez le package de
backportpackage
commande ubuntu-dev-tools .Pour rétroporter un paquet depuis Debian, il suffit de fournir la série de distribution cible, PPA et le fichier dsc pour le paquet:
Il est encore plus simple de rétroporter un package d'une version d'Ubuntu à une autre car vous n'avez pas besoin de trouver le fichier dsc. Disons que nous voulons revenir de l'utopique au fidèle:
la source
~gourmet/ppa
comme argument au-u
paramètre. (Mais j'ai heureusement pu le copier de mon PPA vers l'équipe Gourmet via Launchpad.)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
b. Décompressez la source (.orig.tar.xz)
c. renommer le dossier source quelque chose comme
rhythmbox-3.0.3
c. décompressez le fichier debian (.debian.tar.xz)
ré. déplacer le dossier debian sous le répertoire source
e.
dch -i
changer le fichier du journal des modificationsF. changez le nom du paquet "instable" 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
g. créer un nouveau paquet source:
dh_build --createorig
h. Créez juste la source avec votre clé:
debuild -S -k0xABCDEFG
oùABCDEFG
est votre cléje. téléchargez votre package pour la construction:
la source
dget
commande dudevscripts
package. Cela simplifiera un peu cela.dget
=) Le fichier dsc contient toutes les informations sur les autres parties du package source. Doncdget
, tout sera récupéré et extrait correctement si vous lui donnez un lien vers le fichier dsc.dget -ux http://http.debian.net/debian/pool/main/r/rhythmbox/rhythmbox_3.0.3-1.dsc