Index: missing-deps.sh =================================================================== --- missing-deps.sh (révision 1300) +++ missing-deps.sh (copie de travail) @@ -18,8 +18,43 @@ d="${repo}/${arch}" urpmf --requires --use-distrib $d : | cut -d: -f2- | sed 's/\[.*//' | sort -u | xargs urpmq -p --use-distrib $d 2>&1 >/dev/null | sed -n 's/No package named //p' } - +requirelist() { + arch=$1 + d="${repo}/${arch}" + urpmf --requires --use-distrib $d : + } +getsrpm() { + arch=$1 + rpm=$2 + deps=$3 + d="${repo}/${arch}" + echo "$rpm from" $(urpmf --sourcerpm --use-distrib $d $rpm |cut -d: -f2|sort -u) "is missing $deps" + } for arch in i586 x86_64 -do + do missing $arch > missing-deps.$arch.txt + requirelist $arch > listing.$arch.txt + if [ -a list.$arch.txt ] + then rm list.$arch.txt + fi + for deps in $(cat missing-deps.$arch.txt) + do + grep -w $deps listing.$arch.txt |sort -u >> list.$arch.txt + done + if [ -a final.$arch.list ] + then rm final.$arch.list + fi + + for list in $(cat list.$arch.txt|sed 's/\[.*//') + do + rpm=`echo $list|cut -d: -f1` + deps=`echo $list|cut -d: -f2-` + getsrpm $arch $rpm $deps >> final.$arch.list + + done + cat final.$arch.list |sort -u >| final.$arch.txt + rm final.$arch.list + rm listing.$arch.txt + rm list.$arch.txt + rm missing-deps.$arch.txt done