Cas pratique - corriger un paquet debian existant
Sane ne détectait pas un scanner particulier. Après moultes recherches, un renseignement est trouvé, il faudrait légèrement modifier un fichier des sources.
Pas à pas, la construction d'un paquet Debian contenant cette modification.
D'abord récupérer les sources, apt-get source nom-du-paquet fonctionne quand des lignes deb-src sont présentes dans le fichier sources.list.
$ apt-get source libsane $ cd sane-backends-1.0.14
Ensuite, apporter la modification au fichier.
$ vi backend/hp5400_internal.c
Tout éditeur conviendrait, il s'agit ici d'ajouter la ligne suivante
#define NO_STRING_VERSION_MATCH
en haut du fichier.
$ debchange -i
Ça, c'est pour augmenter le numéro de version, ça vient du paquet devscripts; comme numéro de version, je mets 1.0.14-7.0.1, c'est supérieur au -7 actuel mais d'un chouia seulement, ça permettrait à un paquet officiel apportant la correction de s'installer sans soucis…
$ dpkg-checkbuilddeps
Du paquet dpkg-dev, il vérifie si tous les paquets nécessaires sont installés et affiche ceux qui manqueraient à l'appel. Ensuite, petit détour pour installer ceux-ci:
# apt-get install dpatch libgphoto2-2-dev libusb-dev ibieee1284-3-dev chrpath
Et le tour est joué,
$ dpkg-checkbuilddeps
N'affiche plus rien, c'est bon. La construction peut être lancée.
$ fakeroot debian/rules binary
(fakeroot vient du paquet du même nom)
Maintenant ça compile, crr crr fait le disque, et ça se termine sur un succès total:
dpkg-deb : construction du paquet « sane-utils » dans « ../sane-utils_1.0.14-7.0.1_i386.deb ». dpkg-deb : construction du paquet « libsane » dans « ../libsane_1.0.14-7.0.1_i386.deb ». dpkg-deb : construction du paquet « libsane-dev » dans « ../libsane-dev_1.0.14-7.0.1_i386.deb ».
Ne reste plus qu'à installer ces nouveaux paquets.
$ su # dpkg -i ../*sane*.deb
Et voilà.