Le script dont l'auteur, Romuald DELAVERGNE <[EMAIL PROTECTED]>, et
que j'ai modifie (pour eviter les boucles infinies) comportait un bug.

Il ne comptait pas les niveaux convenablement...

Voici la version corrigee:

-------------------------------------------------------------------------
#!/bin/sh

ok=1
pack=""
maxniv=0
niveau=0
tab=""

ndep() {
   echo "${tab}$1 ($niveau)"
   tab="  $tab"
   for package in `apt-cache depends $1 | awk '/  Depends: / {print $2}'`;
   do

     for i in $pack
     do
       if [ "$i" == "$package" ]; then
         ok=0
       fi
     done

     pack="$pack ${package}"


     if [ $ok == 1 ]; then
       [ "$package" = "$1" ] && continue
       niveau=$((niveau+1))
       [ $niveau -gt $maxniv ] && maxniv=$niveau
       ndep $package
     fi

     ok=1
   done

   tab=`echo "$tab" | cut -c 3-`
   niveau=$((niveau-1))
}

ndep $1
echo -e "\nn($1)=${maxniv}"
exit 0
----------------------------------------------------------------


Répondre à