Ajouter des fichiers texte modifiés ou nouveaux à mon package PPA est assez simple:
Étape 1:
apt-get source [foo-package]
cd [foo-package]
Étape 2: ajouter ou modifier de nouveaux fichiers texte contenant les modifications
Étape 3 - Mettez à jour le journal des modifications:
dch -i
Étape 4 - créer un patch
dpkg-source --commit
Étape 5 - créer un package source
debuild -S
Étape 6 - télécharger sur le tableau de bord
cd ..
dput [myppa]/[foo_source.changes]
Cependant, je dois maintenant ajouter un nouveau fichier d'icône (un fichier .png) au package existant.
Donc à l' étape 2 - juste copié dans le [foo-package]
À l' étape 4 - j'obtiens les erreurs suivantes:
dpkg-source: error: cannot represent change to foo-package/foo-icon.png: binary file contents changed
dpkg-source: error: unrepresentable changes to source
Si j'essaie de passer à l'étape 5, j'obtiens les erreurs supplémentaires suivantes:
dpkg-source: error: add foo-package/foo-icon.png in debian/source/include-binaries if you want to store the modified binary in the Debian tar-ball
...
dpkg-buildpackage -rfakeroot -d -us -uc -S failed
Des idées comment ajouter un fichier d'icône binaire à mon package PPA existant?
Plus d'information
En exécutant:
debuild -S --source-option=--include-binaries
Cela permet alors de construire le paquet source et l' étape 6 est possible.
Cependant, ce n'est pas vraiment la réponse - car je ne peux pas ensuite apporter d'autres modifications de code ( étape 2 ) car je reçois toujours les mêmes erreurs.
Cela ne ressemble pas à ce que je peux faire dpkg-source --commit --source-option=--include-binaries
car cela donne juste des erreurs:
dpkg-source --commit --source-option=--include-binaries
dpkg-source: warning: --source-option=--include-binaries is not a valid option for Dpkg::Source::Package::V3::quilt
dpkg-source: error: cannot represent change to foo-package/foo-icon.png: binary file contents changed
dpkg-source: error: unrepresentable changes to source
la source
Obtenez simplement dpkg-source --commit pour ignorer les fichiers binaires avec le
extend-diff-ignore
commutateurVoici une autre façon plus simple de le faire: vous dites essentiellement à dpkg-source d'ignorer ce qu'il ne peut pas comprendre (c'est-à-dire les fichiers binaires) et de s'occuper de ses propres affaires;)
Après avoir ajouté un ou plusieurs fichiers binaires la première fois, la clé est d'utiliser
dpkg-source --commit
avec le--extend-diff-ignore
commutateur, ainsi que les chemins / noms de fichiers à ignorer (format regex Perl).Par exemple, supposons que vous colliez un groupe de fichiers PNG dans le
llyrics
répertoire, puis que vous modifiez certains fichiers texte. L'appel de validation correct est:Suivez cela avec:
pour obtenir votre téléchargement PPA.
rhythmbox-plugin-llyrics
Testons cela avec le package du PPA "terrain de jeu" de fossfreedom:Obtenez la source:
apt-get source rhythmbox-plugin-llyrics
Modifiez un fichier texte et ajoutez un PNG:
Ajouter au journal des modifications et incrémenter la version avec
dch -v 0.1-3ubuntu6~izx1
Validez les modifications de texte tout en ignorant le PNG avec:
Générer la source / les modifications:
Et ... voila! ( Deb construit par Launchpad - notez la différence de taille ~ 200k ... )
la source
C'est un peu plus difficile que d'ajouter simplement un fichier.
Tout d'abord, vous devrez reconstruire le .orig.tar.gz avec les fichiers binaires inclus dans le nouveau package source, et vous devrez probablement incrémenter la version du logiciel (
package_1.0.0.orig.tar.gz
->package_1.0.1.orig.tar.gz
ou quelque chose) à la fois dans le tar et dans ledebian/changelog
.Après avoir modifié orig.tar.gz avec les nouveaux fichiers (n'incluez PAS debian / files dans orig.tar.gz), vous ajouteriez alors une
debian/changelog
entrée, en changeant la version pour l'incrémenter comme vous l'avez fait pour orig.tar. gz.Reconstruisez ensuite le package source (
debuild -S
) et téléchargez le nouveau package source dans le PPA. Ce nouveau package source remplacera le "plus ancien" du PPA.Depuis le chat:
la source