]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - src/pakfire/lib/get_pak.sh
Direkt ein Fix fuer eben genannte Sachen...
[ipfire-2.x.git] / src / pakfire / lib / get_pak.sh
index 194836810fdfd819174f6e403024284ef91d0032..13b49208846b6b96f05531a318b15b4400a05d7a 100644 (file)
@@ -1,48 +1,45 @@
 #!/bin/bash
 ############################################################################################
-# Version 0.1a, Copyright (C) 2006  Peter Schaelchli Für IPFire besteht KEINERLEI GARANTIE;#
-# IPFire ist freie Software, die Sie unter bestimmten Bedingungen weitergeben dürfen;      #
+# Version 0.1a, Copyright (C) 2006  by IPFire.org                                                #
+# IPFire ist freie Software, die Sie unter bestimmten Bedingungen weitergeben dürfen.      #
 ############################################################################################
 
-# Download Zielverzeichnis
-DOWN_DEST=$(get_conf.sh DOWN_DEST)
+get_pak() {
 
-# Mirror Liste
-PURL=$(get_conf.sh PURL print)
+URL=$(. $HOST_TEST "$PURL")
 
-# Logfile festlegen
-LOG_file=$(get_conf.sh LOG)
-
-# Version des IPFire ermitteln
-VERS=$(get_conf.sh VERS print)
-
-# Host Tester
-HOST_TEST=$(get_conf.sh HOST_TEST)
-
-# Alle URLs durcharbeiten bis erste per ping erreichbar erreichbar
-URL=$($HOST_TEST "$PURL")
-
-# Falls URL nicht gesetzt wurde abbruch des Scripts
 if [ -z $URL ]
- then echo "Kann keinen Patchserver finden">>$LOG_file
+ then pakfire_logger "Cannot find a mirror."
   exit 1
 fi
 
-# Verzeichnis in Zielverzeichnis wechseln für Download
-cd $DOWN_DEST
-
-# Download Source festlegen
-DOWN_SRC=${URL}/${VERS}/${1}.tar.gz
-
-# Paket Downloaden
-if /usr/bin/wget -q ${DOWN_SRC} >/dev/null 2>&1
- then
-  cd -
-  exit 0
- else
-  cd -
-  echo "Probleme mit dem Download ${DOWN_SRC}"
-  exit 1
+. $DB_DIR/$1
+
+FILE="$1-${VER}_${IPFVER}.ipfire"
+
+if [ ! -f $CACHE_DIR/$FILE ]; then
+  cd /var/tmp
+  pakfire_logger "Downloading $FILE from $URL..."
+  if /usr/bin/wget $URL/packages/$FILE{,.md5} >> $LOG 2>&1
+   then
+      if [ "`md5sum $FILE`" = "`cat ${FILE}.md5`" ]; then
+      mv -f /var/tmp/$FILE{,.md5} $CACHE_DIR
+      pakfire_logger "MD5 sum OK in $FILE!"
+    else
+      pakfire_logger "Wrong MD5 sum in $FILE."
+      rm -f /var/tmp/$FILE{,.md5}
+      exit 1
+    fi
+    cd -
+   else
+    cd -
+    pakfire_logger "Cannot download $URL/packages/$FILE"
+    exit 1
+  fi
+else
+  pakfire_logger "No need to download $FILE."
 fi
 
+}
+
 ################################### EOF ####################################################