(Courriels de diversion: <fixerions@chauvinisme-desapprovisionnees.com> <subtile@relaye-corroder.com> <visualises@prevaudrions-recommandables.com> <suspectees@internationalisees-gît.com> <electorale@jardine-decachetais.com> <mediantes@couvre-chefs-preencollee.com> <moka@reinsererait-reorienterait.com> <horrifiions@allergiques-dejaunissaient.com> <blâmerait@emporterait-bloquiez.com> <rameras@croquez-minerais.com> )


jdd a écrit:

> Il y a un produit qui (à ma connaissance) n'existe pas et qui
> m'intéresserait. [...]
>
> 1) en fonction d'une utilisation. Le produit m'afficherait une liste de
> tous les paquetages installés et me demanderait : desqueles as-tu vraiment
> besoin? Ensuite il mouline les dépendance et m'indique une liste de
> paquetages à supprimer (y compris les librairies inutilisées). rpm ne fait
> pas ca du tout. [...]
> 
> 2)en fonction d'une librairie, pour optimiser la place disque. Le produit
> listerait les programmes classés par librairie (qt, gtk...) ce qui
> permettrait de ne choisir que des programmes utilisant la même librairie
> (avantage évident)

Le 2) n'est pas trop dur:

----------------------------8-<---------------------------
#!/bin/sh

package=`rpm -qa | grep '^'$1`

providedfiles=`rpm -ql $package | sed -e 's:^.\+/::g'`

for file in $providedfiles
do
    isrequiredby=`rpm -q --whatrequires $file 2>/dev/null`
    if [[ w$isrequiredby != 'w' ]]
    then
        if [[ $package !=  $isrequiredby ]]
        then
            total=$total' '$isrequiredby
        fi
    fi
done

liste=`echo $total | tr ' ' '\012' | sort | uniq`
nombre=`echo $liste | wc -w`

echo $liste | tr ' ' '\012'
echo '-> '$package' est utilisé par '$nombre' package(s)'

----------------------------8-<---------------------------

Si on appelle ce script whatpackagerequires.sh, alors

whatpackagerequires.sh gtk

et 

whatpackagerequires.sh qt

donnent la liste des packages installés qui ont besoin de gtk et de qt.

Le 1) m'a l'air un peu plus difficile, mais aussi faisable. C'est
surtout que je ne comprends pas très ce que tu voudrais faire. Trouver
tous les packages inutiles, au sens où aucun de leurs fichiers n'est
requis pour installer un des packages qui t'intéressent n'est pas trop
difficile, même si sans doute lent à faire tourner en script bash. La
question que je me pose, c'est comment savoir si tel fichier que tu
n'as pas sélectionné n'est pas indispensable au système ? Il serait
dommage d'enlever le noyau ou lpr par exemple ! Il faudrait au moins
avoir aussi une liste de packages qui sont inamovibles, non ?

Sinon, pour ceux que les mises-à-jour travaillent, j'ai aussi un script
qui permet de classer les fichiers à upgrader en différentes
catégories: ceux qu'il est inutile d'upgrader, ceux qui ne posent pas
de problème de dépendance pour upgrader, et ceux qui posent des
problèmes de dépendance. Après on lance l'upgrade de ce qu'on veut. 
Cela peut aider à une mise-à-jour "organisée" des packages. Je le
posterai s'il y a une demande.

-- 
Jean-Pierre Sutto
Photographies: <http://jpsn.free.fr/photos/index.html>
.

---------------------------------------------------------------------
Aide sur la liste: <URL:mailto:linux-31-help@savage.iut-blagnac.fr>Le CULTe sur le web: <URL:http://www.CULTe.org/>