décembre 2006 Archives
dimanche 03 décembre 2006 14:01
créer une version modifiée d'un paquet deb
Ceci est un pense-bête pour le cas où
j'aurais à nouveau à créer une version modifiée d'un paquet deb. Il
s'agissait simplement de modifier une information concernant les
dépendances d'un paquet.
Première étape : dépaqueter le paquet dans un répertoire. Ici j'ai choisi de l'appeler « monpaquet » mais il est bien sûr plus judicieux de lui donner un nom en rapport avec le paquet d'origine.
Vérifier :
Extraire les informations de contrôle :
Les informations à modifier sont dans le fichier ~/monpaquet/DEBIAN/control. Ne pas oublier de changer la première ligne (nom du paquet) et éventuellement la deuxième (numéro de la version). Encore qu'il est peut-être judicieux de conserver le numéro de version ce qui permettra au paquet modifié d'évoluer en parallèle avec le paquet d'origine.
Faire les modifications voulues sur le fichier (par exemple sur les dépendances).
Puis reconstruire le paquet :
Après avoir éventuellement désinstallé le paquet d'origine, installer le paquet modifié. Cette opération ne peut être réalisée que par le superutilisateur. En utilisant la commande « su » on devient superutilisateur tout en restant dans le même répertoire.
Et voilà.
Merci à Luc de Marmottux à qui j'ai pompé ce mode d'emploi.
PS : j'ai laissé tomber emacs-multi-tty pour emacs-snapshot et planner pour org-mode. Le problème pour lequel j'ai eu à employer la méthode ci-dessus vient du fait que emacs-snapshot n'était pas cité comme paquet duquel dépend w3m-el. Dans un premier temps, j'ai maintenu emacs21 juste pour cette question de dépendance. Créer mon propre paquet m'a permis d'enlever emacs21. Le bug a été signalé, il y a un certain temps au responsable du paquet w3m-el. Ce paquet est celui qui me permet de naviguer sur internet dans emacs.
Première étape : dépaqueter le paquet dans un répertoire. Ici j'ai choisi de l'appeler « monpaquet » mais il est bien sûr plus judicieux de lui donner un nom en rapport avec le paquet d'origine.
~$ dpkg-deb -x lepaquet.deb monpaquet/
Vérifier :
~$ cd monpaquet && ls -al total 56 drwxr-xr-x 4 bernard bernard 4096 2006-09-29 17:15 . drwxr-xr-x 95 bernard bernard 45056 2006-12-03 13:08 .. drwxr-xr-x 3 bernard bernard 4096 2006-09-29 17:15 etc drwxr-xr-x 4 bernard bernard 4096 2006-09-29 17:15 usr
Extraire les informations de contrôle :
~$ dpkg-deb -e lepaquet.deb ./monpaquet/DEBIAN
Les informations à modifier sont dans le fichier ~/monpaquet/DEBIAN/control. Ne pas oublier de changer la première ligne (nom du paquet) et éventuellement la deuxième (numéro de la version). Encore qu'il est peut-être judicieux de conserver le numéro de version ce qui permettra au paquet modifié d'évoluer en parallèle avec le paquet d'origine.
Faire les modifications voulues sur le fichier (par exemple sur les dépendances).
Puis reconstruire le paquet :
~$ dpkg-deb -b monpaquet dpkg-deb : construction du paquet « monpaquet » dans « monpaquet.deb ». ~$
Après avoir éventuellement désinstallé le paquet d'origine, installer le paquet modifié. Cette opération ne peut être réalisée que par le superutilisateur. En utilisant la commande « su » on devient superutilisateur tout en restant dans le même répertoire.
# dpkg -i monpaquet.deb
Et voilà.
Merci à Luc de Marmottux à qui j'ai pompé ce mode d'emploi.
PS : j'ai laissé tomber emacs-multi-tty pour emacs-snapshot et planner pour org-mode. Le problème pour lequel j'ai eu à employer la méthode ci-dessus vient du fait que emacs-snapshot n'était pas cité comme paquet duquel dépend w3m-el. Dans un premier temps, j'ai maintenu emacs21 juste pour cette question de dépendance. Créer mon propre paquet m'a permis d'enlever emacs21. Le bug a été signalé, il y a un certain temps au responsable du paquet w3m-el. Ce paquet est celui qui me permet de naviguer sur internet dans emacs.