#!/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 ####################################################