Suite à une discussion sur le forum, j'ai pris l'exemple d'easytag. Une demande visant à limiter la liste des genres proposés se prétant bien à cet exercice.
Installer micro pour une édition facile des fichiers (sinon nano, vim font aussi très bien l'affaire...)
Code : Tout sélectionner
sudo apt install micro
Code : Tout sélectionner
sudo micro /etc/apt/sources.list.d/official-source-repositories.list
Code : Tout sélectionner
deb-src http://mirror6.layerjet.com/linuxmint/packages uma main upstream import backport
deb-src http://ubuntu.univ-reims.fr/ubuntu focal main restricted universe multiverse
deb-src http://ubuntu.univ-reims.fr/ubuntu focal-updates main restricted universe multiverse
deb-src http://ubuntu.univ-reims.fr/ubuntu focal-backports main restricted universe multiverse
deb-src http://security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://archive.canonical.com/ubuntu/ focal partner
Mettre à jour la base de données d'apt
Code : Tout sélectionner
sudo apt update
Installer les paquets nécessaires à la compilation de paquets debian
Code : Tout sélectionner
sudo apt install devscripts
Si on veut modifier un paquet déjà installer, commence par le desinstaller et le purger
Code : Tout sélectionner
sudo apt purge easytag
Créer un dossier de travail temporaire et s'y rendre
Code : Tout sélectionner
cd mkdir easytag && cd easytag
Code : Tout sélectionner
apt source easytag
Code : Tout sélectionner
ls
easytag-2.4.3 easytag_2.4.3-4build1.debian.tar.xz easytag_2.4.3-4build1.dsc easytag_2.4.3.orig.tar.xz
Code : Tout sélectionner
cd easytag-2.4.3
Dans notre cas, le fichier à modifier est src/genres.h
Et apporter les modifications souhaitées
Code : Tout sélectionner
micro src/genres.h
A partir de ce moment il faut régénérer un nouveau paquet format deb.
On commence par installer les dépendances de construction du paquet.
Code : Tout sélectionner
sudo apt build-dep easytag
Extrait du man de bch :
Numéro de version Debian pour un envoi d'un non-responsable soit en ajoutant « .1 » à une version non-NMU (à moins qu'il s'agisse d'un paquet Debian natif, auquel cas « +nmu1 » est ajouté) soit en incrémentant un numéro de NMU. Ceci se produit automatiquement si l'auteur du paquet n'est pas dans les champs Maintainer ou Uploaders de debian/control, à moins que DEBCHANGE_AUTO_NMU soit définie à no ou que l'option --no-auto-nmu soit utilisée.
Code : Tout sélectionner
dch -n "Modification de la liste des genres. 25/02/2022. Par Cyrille<cyrille@cbiot.fr>"
Code : Tout sélectionner
cat debian/changelog
easytag (2.4.3-4build1.1) UNRELEASED; urgency=medium
* Non-maintainer upload.
* Modification de la liste des genres. 25/02/2022. Par
Cyrille<cyrille@cbiot.fr>
-- ragnarok <ragnarok@ragnarok-VirtualBox> Fri, 25 Feb 2022 19:01:54 +0100
Code : Tout sélectionner
debuild -b -uc -us
C'est parti :
Code : Tout sélectionner
cd ..
Code : Tout sélectionner
ls
easytag-2.4.3 easytag_2.4.3-4build1.1_amd64.buildinfo easytag_2.4.3-4build1.1_amd64.deb easytag_2.4.3-4build1.dsc easytag-dbgsym_2.4.3-4build1.1_amd64.ddeb easytag-nautilus-dbgsym_2.4.3-4build1.1_amd64.ddeb
easytag_2.4.3-4build1.1_amd64.build easytag_2.4.3-4build1.1_amd64.changes easytag_2.4.3-4build1.debian.tar.xz easytag_2.4.3.orig.tar.xz easytag-nautilus_2.4.3-4build1.1_amd64.deb
Il suffit alors de l'installer
Code : Tout sélectionner
sudo dpkg -i easytag_2.4.3-4build1.1_amd64.deb
Code : Tout sélectionner
easytag
Afin d'éviter une mise à jour du paquet qui ferait perdre les modifications, geler le paquet :
Code : Tout sélectionner
sudo apt hold easytag
easytag passé en figé (« hold »).
Lister les paquets geler
Code : Tout sélectionner
dpkg --list | grep ^hi
hi easytag 2.4.3-4build1.1 amd64 GTK+ editor for audio file tags
Code : Tout sélectionner
sudo dpkg -r easytag
Bon voilà, c'est pour easytag, mais le processus est le même pour tous les logiciels.....
Prochaine étape, si j'ai le temps : "Ecrire un patch pour faire cela plus proprement....." (man patch, man diff)