Je voudrais créer une version mise à jour du package network-manager-openconnect dans Ubuntu. Apparemment, j'ai besoin d'obtenir la dernière source de package:
bzr branch lp:~network-manager/network-manager/openconnect-ubuntu.head
Alors quoi? Le paquet semble avoir un moyen de se mettre à jour à partir du dernier code en amont en utilisant git. Mais comment puis-je le faire?
Réponses:
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:
Ensuite, passez-y et mettez à jour le journal des modifications:
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:
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 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:
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:
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).
la source
Ok mis à jour sur la façon d'extraire le code de la zone de lancement
Ce que cette dose est de tirer le code du lp (service d'hébergement du tableau de bord). Nous devons trouver où se trouve le code.
Essayez de passer au répertoire dans lequel vous souhaitez travailler ou d'ajouter le répertoire dans lequel vous et le code aller.
Si vous l'avez déjà fait, vous avez probablement un répertoire dans votre répertoire personnel
Il devrait y avoir un fichier README dans ce répertoire pour voir ce qui devrait y être jeter un œil au code du projet , voici un lien vers README.source
README devrait avoir des instructions sur la construction de ce projet individuel.
Autres outils bzr utiles à installer
Le bzr-explorere vous permettra de parcourir vos référentiels bzr que vous avez créés sur votre machine dans une interface graphique.
Une autre note. Vous devrez peut-être extraire l'intégralité de la source du gestionnaire de réseau afin de créer l'unique composant.
Vous devez créer un correctif pour le package opneconnect actuel, puis créer un correctif à l'aide de tous les outils de diff que vous utilisez. Et envoyez-le au responsable du package.
Ou si vous souhaitez utiliser votre nouveau package de correctifs localement, vous souhaitez créer un fichier de package .deb.
Créer un paquet c'est assez compliqué lire les liens suivants
la source