Update:
[people/pmueller/ipfire-2.x.git] / src / pakfire / lib / check_pak.sh
1 #!/bin/sh
2 ############################################################################################
3 # Version 0.1a, Copyright (C) 2006 by IPFire.org #
4 # IPFire ist freie Software, die Sie unter bestimmten Bedingungen weitergeben dürfen. #
5 ############################################################################################
6
7 check_pak() {
8
9 #if [ ! -f $PAKHOME/cache/$PACKAGES_LIST ]; then
10 # exit 1
11 #fi
12
13 # Zerlegte Listen
14 ZERL_PATCH=$TMP_DIR/zerl_
15
16 # Zerlegen der Liste erst jede Zeile fuer sich bei maximal 9998 Einträgen
17 for (( i=1 ; i<9999 ; i++))
18 do
19
20 patch=$(head -${i} $PAKHOME/cache/${PACKAGE_LIST} | tail -1)
21 echo $patch >${ZERL_PATCH}$i
22
23 if [ "${patch}" = "###EOF###" ]
24 then
25 rm ${ZERL_PATCH}$i
26 break
27 fi
28
29 if [ $i -ge 9999 ]
30 then
31 echo "Defektes Patchfile!!!"
32 /bin/rm -f ${ZERL_PATCH}*
33 return 1
34 fi
35
36 done
37
38 # Errechnen wieviele Patches eingetragen sind
39 (( i-- ))
40
41 # Jedes Paket nach Name zerlegen
42 for list in $(find $TMP_DIR -type f -name "zerl_*")
43 do
44 # Zeile lesen Zeile
45 zeile=$(cat $list)
46
47 # Auf Namen reduzieren
48 name=${zeile%%-*}
49
50 # Auf Version reduzieren
51 vers=${zeile#*-}
52 vers=${vers%%_*}
53 vers=${vers%% *}
54 ipfver=${zeile#*_*}
55 # Testen ob aktuelle Verson schon installiert ist
56 # Erst alte Paket Vorschläge löschen
57 /bin/rm -f $DB_DIR/${name}
58 /bin/echo "VER=${vers}" > $DB_DIR/${name}
59 /bin/echo "IPFVER=${ipfver}" >> $DB_DIR/${name}
60 done
61
62 # Löschen der Hilfslisten
63 /bin/rm -f ${ZERL_PATCH}*
64
65 }
66
67 ################################### EOF ####################################################