La construction d'un package mis à jour à partir d'une branche bzr a tendance à différer sensiblement selon qui gère les branches ou comment le package fonctionne en général. Cependant, voici quelques directives pour une mise à jour rapide et sale de n'importe quel paquet, à pousser vers un PPA:
Obtenez la succursale:
bzr branch lp:~network-manager/network-manager/openconnect-ubuntu.head
Ensuite, passez-y et mettez à jour le journal des modifications:
dch -i
dch -i ouvrira simplement une nouvelle entrée dans debian / changelog, augmentant la révision de version d'une unité . Si vous souhaitez ajouter un correctif, c'est parfait, mais si vous souhaitez mettre à jour vers une version plus récente du logiciel en amont, vous devrez mettre à jour le numéro de version avant le tiret (-). Disons, une version dans 1.2-0ubuntu1 , si vous démarrez dch -i, elle passera à 1.2-0ubuntu2 , ce qui est bon pour les correctifs, mais si vous avez besoin d'une nouvelle version, vous voudrez probablement la changer en 1.3-0ubuntu1 .
Si vous avez besoin de patcher, il est maintenant temps d'ajouter vos modifications. Dans les branches qui n'ont qu'un répertoire debian / , vous pouvez utiliser bzr bd-do (nécessite le paquet bzr-builddeb) pour basculer vers une arborescence de travail où vous pouvez effectuer des modifications, utiliser quilt ou tout système de correctifs, puis "quitter 0" pour recopiez vos modifications.
Si vous voulez une nouvelle version en amont, une fois le journal des modifications modifié, vous exécuterez probablement une commande similaire à celle-ci:
debian/rules get-orig-source
Cela télécharge généralement l'archive tar appropriée de l'éditeur en amont pour vous aider à démarrer. Si d'autres modifications sont nécessaires, procédez comme ci-dessus pour "patcher" ou changer d'autres fichiers dans le répertoire debian / , sinon vous avez presque terminé:
bzr bd -S
bzr bd se chargera de la construction. L'appeler sans argument commence à s'appuyer sur votre système, tandis que l'appeler avec -S lui dit de préparer un paquet source, qui comprendra un fichier ..._ source.changes qui est ce que vous voulez télécharger sur votre PPA (utilisez dput ppa: <yourname> / <nom de votre ppa> <fichier de modifications> pour cela).
Pour les packages NetworkManager, c'est un peu différent. Voyons plus précisément openconnect:
bzr branch lp:~network-manager/network-manager/openconnect-ubuntu.head network-manager-openconnect
Assurez-vous que vous disposez également de toutes les dépendances de génération: sudo get-build-deps
Une fois la branche récupérée, ceci lira le fichier debian / control et essaiera de télécharger tout ce dont vous avez besoin pour construire network-manager-openconnect. Vous pourriez aussi avoir besoin de git. Une fois cela fait, exécutez get-orig-source pour obtenir simplement l'archive tar du dernier instantané de git:
debian/rules get-orig-source
Vous verrez le texte passer et une archive tar avec un long numéro de version apparaît. C'est le dernier code que vous pouvez obtenir pour nm-openconnect.
Vous devrez ensuite mettre à jour le journal des modifications avec le numéro de version de l'archive tar, tout en conservant le suffixe -0ubuntu1 intact.
Ou, changez debian / changelog avec le numéro de version spécifique que vous voulez, puis exécutez: debian / rules get-current-source
Étant donné que les plugins ne changent pas beaucoup, vous devriez pouvoir simplement construire le package à partir de là, en utilisant bzr bd comme ci-dessus. Sinon, appliquez les modifications nécessaires comme ci-dessus.
N'oubliez pas de valider bzr après avoir apporté des modifications.
J'ai d'abord oublié d'ajouter, n'hésitez pas à utiliser le système de proposition de fusion ( Proposer de fusionner le lien de la page de votre branche sur LP) lorsque les modifications que vous apportez pourraient bénéficier à d'autres. Habituellement, vous pouvez simplement proposer de fusionner avec la branche sur laquelle votre base est basée (par exemple lp: ~ network-manager / network-manager / openconnect-ubuntu.head dans ce cas).