Page 1 sur 1

[pacman / yaourt] pas d'accord avec la sortie -Qdt

Publié : sam. 26 avr. 2014, 14:04
par falke
Bonjour,

en faisant un peu de ménage aujourd'hui (via pacman -Qdt et yaourt -Qdt) que j'ai eu l'occasion (par hasard) de comparer à la sortie "orphans de pkgbrowser", je me suis rendu compte que je ne suis pas d'accord avec la sortie de pacman et de yaourt mais que je le suis avec celle de pkgbrowser.

Le cas est le suivant :

le paquet Ghostscript est signalé par pacman et yaourt comme orphelin (-Qdt ...)

En revanche il n'est pas considéré comme orphelin par pkgbrower qui à mon sens fait bien son boulot :

En effet, ghostsript est une dépendance optionnelle pour au moins deux paquets qui sont installés explicitement chez moi : cups-filters et gutenprint

Comment travaille pkgbrowser :

- j'enlève cups-filter ou gutenprint ==> ghostscript n'est pas considéré orphelin

car il reste toujours au minimun un paquet installé explicitement qui le nécessite comme dépendance optionnelle.

si j'enlève ces deux paquets ALORS pkgbrowser me signale le paquet ghostscript comme orphelins ce qui semble très bien

.. vous pourrez tester chez vous

Au lieu de ça pacman ou yaourt ,quelle que soit la situation des deux paquets cups-filters et gutenprint (qu'ils soient là tous les deux ou un seul ou aucun) me déclarent ghostscript comme orphelin.

Imaginons que je prenne pacman ou yaourt au mot et que j'enlève ghostscript les paquets les réquérant (même optionnellement) étant encore présents je supprime une fonctionnalité (optionnelle certes ;-) ) sans m'en rendre compte.

Peut-être je me trompe mais j'ai l'impression que pacman et yaourt auraient besoin d'un petit patch

Re: [pacman / yaourt] pas d'accord avec la sortie -Qdt

Publié : dim. 27 avr. 2014, 19:29
par oktoberfest
Salut,

pkgbrowser considère les dépendances optionnelles comme n'étant pas des orphelins, ce qui n'est pas le cas de pacman. Tout est question de philosophie sur "qu'est ce qu'une dépendance" (Bientôt proposée au bac philo :)).

Dans ton cas, tu considères qu'une dépendance ne devrait pas être optionnelle. Ce n'est pas le choix des développeurs d'Archlinux. Supprimer le côté optionel des dépendances ferait s'installer tout un tas de paquets supplémentaires.. Dans ton cas, si tu installes gutenprint, cela ajouterait d'office les paquets suivants : foomatic-db-engine, ghostscript, gimp (plus bien sur tous les paquets optionnels de ce paquets, etc...).

Pour ma part, cela va à l'encontre du côté KISS d'Archlinux qui doit rester léger pour ceux qui le désirent.

Re: [pacman / yaourt] pas d'accord avec la sortie -Qdt

Publié : lun. 28 avr. 2014, 08:14
par falke
salut,
Pour ma part, cela va à l'encontre du côté KISS d'Archlinux qui doit rester léger pour ceux qui le désirent.
Philosophie KISS tout ça ok. On n'installe que ce que l'on veut etc...

N'empêche que dans l'hypothèse où l'on aurait décidé de l'installer, un paquet (optionnellement dépendant) n'est pas un paquet comme un autre (c'est de fait devenu une dépendance d'un autre paquet).

La philosophie KISS n'interdit pas de le déclarer inutile (orphelin) qu'une fois qu'il n'y plus aucun paquet d'installé le nécessitant optionnellement ou pas.
Là pacman et yaourt le déclarent orphelin ce qu'il prouvent qu'ils le considèrent bien comme une dépendance et non un paquet autome et , au sens strict il n'est pas orphelin, les paquets qui le requièrent pour implémenter telle ou telle fonctionnalité même optionnelle sont bien présents.

Autrement, j'enlève bêtement une dépendance optionnelle dont j'ignore le rôle (pacman) je me retrouve avec une fonctionnalité manquante pas très KISS au final.

Re: [pacman / yaourt] pas d'accord avec la sortie -Qdt

Publié : lun. 28 avr. 2014, 08:50
par oktoberfest
Si tu as besoin d'une fonctionnalité supplémentaire pour un paquet (fonctionnalité fournie par une dépendance optionnelle) tu as la possibilité d'installer ce paquet via pacman. Par exemple pour ghostscript qui est une dépendance optionnelle de gutenprint, tu peux l'installer via le classique :

Code : Tout sélectionner

pacman -S ghostscript
Dans ce cas ghostscript est installé explicitement et ne sera donc pas considéré comme orphelin.

Dans ton cas, tu as installé un paquet X qui avait comme dépendance ghostscript, ce qui a amené une fonctionnalité supplémentaire à gutenprint, mais cette fonctionnalité tu ne la désirais pas (sinon tu aurais installé explicitement ghostscript). Et à priori tu as supprimé le paquet X sans utiliser l'option '-r' de pacman, ce qui a laissé ghostscript installé (

Tu as toujours le moyen de rendre explicite l'installation du paquet via :

Code : Tout sélectionner

pacman -D --asexplicit ghostscript