Quelle est la convention de dénomination correcte pour un paquet patché?
J'essaie de mettre sur pied une version de exiv2 avec correctif pour ajouter un schéma supplémentaire.
voici ce que j'ai fait jusqu'à présent:
$ Sudo apt-get build-dep exiv2
$ cd src/exiv2
$ apt-get source exiv2
$ cd exiv2-0.23-1ubuntu2
... apply patch
$ dpkg-source --commit
$ dch -i
exiv2 (0.23-1ubuntu2-DwC1) trusty; urgency=medium
$ debuild -S -sd -k1230CB40
Mais je reçois alors un message d'erreur:
Ce paquet a un numéro de révision Debian, mais il ne semble pas y avoir de fichier tar original ni de répertoire .orig dans le répertoire parent; (on s'attend à ce que l'une soit exiv2_0.23-1ubuntu2.orig.tar.gz, exiv2_0.23-1ubuntu2.orig.tar.bz2, exiv2_0.23-1ubuntu2.orig.tar.lzma, exiv2_0.23-1ubuntu2.orig.tar. xz ou exiv2-0.23-1ubuntu2.orig) continuer malgré tout? (y/n) y
dpkg-source -b exiv2-0.23-1ubuntu2 dpkg-source: erreur: impossible de construire avec le format source "3.0 (quilt)": aucune archive tar en amont n'a été trouvée à l'adresse ../exiv2_0.23-1ubuntu2.orig.tar.tar. , gz, lzma, xz} dpkg-buildpackage: erreur: dpkg-source -b exiv2-0.23-1ubuntu2 a donné le statut de sortie d'erreur 255 debuild: erreur fatale à la ligne 1364: dpkg-buildpackage -rfakeroot -d -us -uc -S - sd a échoué
$ ls ..
exiv2-0.23-1ubuntu2 exiv2_0.23-1ubuntu2.debian.tar.gz exiv2_0.23-1ubuntu2.dsc exiv2_0.23-1ubuntu2-DwC1_source.build exiv2_0.23.orig.tar.gz
Que dois-je faire pour permettre à debuild de reconnaître le fichier tar d'origine?
Le problème est le -DwC1
dans votre chaîne de version. Par stratégie Debian la version amont peut contenir . + - : ~
mais la révision Debian ne peut contenir que + . ~
, de sorte que tout ce qui précède -DwC1
est considéré comme faisant partie de la version amont, et il recherche donc une archive originale avec cette version.
dch
donne un indice à ce sujet lorsque vous avez ajouté cette entrée:
dch warning: your current directory has been renamed to:
../exiv2-0.23-1ubuntu2
dch warning: no orig tarball found for the new version.
Habituellement, lorsque je fais un téléchargement ppa d'un paquet, je supprime la version d'ubuntu et ajoute quelque chose comme ~ppa0
et généralement la version cible, par exemple ~trusty
. Ainsi, par exemple, 1ubuntu2
à 1ubuntu3~ppa0~trusty
. Les chaînes supplémentaires avec ~
feront que la version comparera moins que 1ubuntu3
donc si le paquet est mis à jour dans les référentiels principaux, l'utilisateur obtiendra la version la plus récente.
Bien que tout ce que vous avez à faire est de supprimer le trait d'union de votre version, ainsi 1ubuntu2DwC1
fonctionnerait ou peut-être 1ubuntu2.DwC1
.