]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - src/pakfire/lib/unpak_pak.sh
Hinzugefügt:
[people/pmueller/ipfire-2.x.git] / src / pakfire / lib / unpak_pak.sh
1 #!/bin/bash
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 # Source Verzeichnis
8 DOWN_DEST=$(get_conf.sh DOWN_DEST)
9
10 # Logfile festlegen
11 LOG_file=$(get_conf.sh LOG)
12
13 # Programmpaket
14 PAK_PROG=$(get_conf.sh PAK_PROG)
15
16 # Abhängigkeitsliste
17 PAK_ABH=$(get_conf.sh PAK_ABH)
18
19 # Installations Script
20 PAK_INST=$(get_conf.sh PAK_INST)
21
22 # Uninstallations Script
23 PAK_UNINST=$(get_conf.sh PAK_UNINST)
24
25 # Cache Verzeichnis
26 CACHE_DIR=$(get_conf.sh CACHE_DIR)
27
28 # Überprüfen ob Hauptpaket angegeben wurde
29 if [ -z $1 ]
30 then
31 echo "$(/bin/date) | $0 | kein Paketnamen angegeben">>$LOG_file
32 exit 1
33 fi
34
35 # Überprüfe ob Paket vorhanden
36 if [ ! -e ${DOWN_DEST}${1}.tar.gz ]
37 then
38 echo "$(/bin/date) | $0 | Paket nicht vorhanden">>$LOG_file
39 exit 1
40 fi
41
42 # Überprüfe ob das Paket richtig geschnürt wurde
43 tester=$(/bin/tar -tzf ${DOWN_DEST}${1}.tar.gz)
44 if [ ! 0 -lt $(echo $tester | grep $PAK_PROG | wc -l) ]
45 then
46 echo "$(/bin/date) | $0 | Programm im Paket nichtvorhanden">>$LOG_file
47 exit 1
48 fi
49 if [ ! 0 -lt $(echo $tester | grep $PAK_ABH | wc -l) ]
50 then
51 echo "$(/bin/date) | $0 | Abhängigkeit im Paket nichtvorhanden">>$LOG_file
52 exit 1
53 fi
54 if [ ! 0 -lt $(echo $tester | grep $PAK_INST | wc -l) ]
55 then
56 echo "$(/bin/date) | $0 | Installations-Script im Paket nichtvorhanden">>$LOG_file
57 exit 1
58 fi
59 if [ ! 0 -lt $(echo $tester | grep $PAK_UNINST | wc -l) ]
60 then
61 echo "$(/bin/date) | $0 | Uninstallatoins-Script im Paket nichtvorhanden">>$LOG_file
62 exit 1
63 fi
64
65 # Cache leeren
66 rm -f ${CACHE_DIR}$PAK_PROG
67 rm -f ${CACHE_DIR}$PAK_ABH
68 rm -f ${CACHE_DIR}$PAK_INST
69 rm -f ${CACHE_DIR}$PAK_UNINST
70
71 # Entpaken des Hauptpaketes
72 /bin/tar -xzf ${DOWN_DEST}${1}.tar.gz -C $CACHE_DIR
73
74 # Files neu benennen
75 /bin/mv ${CACHE_DIR}$PAK_PROG ${CACHE_DIR}${1}_$PAK_PROG
76 /bin/mv ${CACHE_DIR}$PAK_ABH ${CACHE_DIR}${1}_$PAK_ABH
77 /bin/mv ${CACHE_DIR}$PAK_INST ${CACHE_DIR}${1}_$PAK_INST
78 /bin/mv ${CACHE_DIR}$PAK_UNINST ${CACHE_DIR}${1}_$PAK_UNINST
79
80 ################################### EOF ####################################################