[Linux] Dépendances et apt
Arthur Pons
arthur.pons@::1
Mer 13 Déc 16:15:55 CET 2023
Bonjour tout le monde !
J'apprends un peu comment créer des paquets simplistes avec mkcrapdeb
(git.unistra.fr/mc/mkcrapdeb) et je me rends compte que je ne comprends
pas comment fonctionne la gestion des dépendances avec apt.
Pour le contexte prenons un exemple. J'ai un projet nommé tp-ratp qui
pour fonctionner correctement a besoin des commandes :
* lowdown
* rsvg-convert
* groff avec la macro ms
Je me suis renseigné et j'ai trouvé ces commandes dans les paquets
* lowdown
* librsvg2-bin
* groff
J'aimerais créer un petit paquet de façon à pouvoir partager le projet
pour que les personnes puissent simplement faire :
apt install tp-ratp.deb
et obtenir tous les paquets nécessaires. Ainsi, pas de mauvaise surprise
quand elles feront un coup de make ! Je crois y être parvenu avec
mkcrapdeb, quand je fais l'apt install j'installe bien les trois paquets
(et leurs dépendances).
Les paquets supplémentaires suivants seront installés :
groff librsvg2-bin lowdown psutils
Les NOUVEAUX paquets suivants seront installés :
groff librsvg2-bin lowdown psutils tp-ratp
0 mis à jour, 5 nouvellement installés, 0 à enlever et 1 non mis à jour.
C'est ici que je me pose des questions. j'avais espoir qu'en faisant
apt remove tp-ratp
apt retire toutes les dépendances ajoutées. Après tout mon système
fonctionnait parfaitement bien sans ces paquets avant. Or, il ne me
propose de retirer que lowdown.
J'ai appris que l'on pouvait voir de quels paquets dépendaient un paquet
donné avec par exemple
apt-cache rdepends --installed lowdown
lowdown
Reverse Depends:
tp-ratp
lowdown:i386
ce qui fait sens mais pour groff
apt-cache rdepends --installed groff
groff
Reverse Depends:
tp-ratp
groff:i386
man-db
groff:i386
groff-base
groff:i386
Groff est donc nécessaire à groff-base ? Pourtant j'avais groff-base
mais pas groff. Clairement je crois avoir raté quelque chose. Ce qui me
perplexe aussi c'est que si j'essaye de retirer lowdown (pareil pour
librsvg2-bin et groff) à la main apt me fait retirer tp-ratp :
sudo apt remove lowdown
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Lecture des informations d'état... Fait
Les paquets suivants seront ENLEVÉS :
lowdown tp-ratp
0 mis à jour, 0 nouvellement installés, 2 à enlever et 1 non mis à jour.
Un peu comme si c'était tp-ratp qui était nécessaire pour lowdown et pas
l'inverse. Est-ce que ce comportement est tout à fait normal pour une
très bonne raison qui m'échappe ?
Est-ce que l'un ou l'une d'entre vous qui comprend vraiment comment tout
cela fonctionne pour éclairer ma lanterne ? Je suis quelque peu perdu.
Bonne journée ! :)
Arthur
Plus d'informations sur la liste de diffusion linux