summaryrefslogtreecommitdiffstats
path: root/zarb-ml/mageia-dev/attachments/20110309/23e5e7db/attachment-0001.bin
blob: dd2c4bef037c11ccccd7ef3a555606102390670f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
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