]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blob - src/pakfire/lib/check_pak.sh
Geaendert:
[people/teissler/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 /bin/rm -f $DB_DIR/${name}
56 /bin/echo -e VER=\"${vers}\" > $DB_DIR/${name}
57 /bin/echo -e IPFVER=\"${ipfver}\" >> $DB_DIR/${name}
58 cat $DB_DIR/${name} | tr -d "\015" > $DB_DIR/${name}
59 done
60
61 # Löschen der Hilfslisten
62 /bin/rm -f ${ZERL_PATCH}* >/dev/null 2>&1
63
64 }
65
66 ################################### EOF ####################################################