]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blobdiff - src/pakfire/lib/functions.sh
fix
[people/teissler/ipfire-2.x.git] / src / pakfire / lib / functions.sh
index 6fa682ee88e81ea704a1492c41b0bc5fa325fe30..21aaee22a4ffee963f854f16634c53cb756a09c8 100644 (file)
@@ -31,20 +31,35 @@ extract_files() {
 remove_files() {
        echo "Removing files..."
        for i in $(cat /opt/pakfire/tmp/ROOTFILES); do
-               rm -rfv ${i}
+       rm -rfv /${i}
        done
        echo "...Finished."
 }
 
-restart_service() {
-       
-       /etc/init.d/$1 restart
+make_backup() {
+       if [ -e "/var/ipfire/backup/addons/includes/${1}" ]; then
+               echo "Creating Backup..."
+               /usr/local/bin/backupctrl addonbackup ${1}
+               echo "...Finished."
+       fi
+}
 
+restore_backup() {
+       if [ -e "/var/ipfire/backup/addons/backup/${1}.ipf" ]; then
+               echo "Restoring Backup..."
+               /usr/local/bin/backupctrl restoreaddon ${1}.ipf
+               echo "...Finished."
+       fi
+}
+
+restart_service() {
+       /etc/init.d/${1} restart
 }
 
 start_service() {
        DELAY=0
        while true
+        do
                case "${1}" in
                        --delay|-d)
                                DELAY=${2}
@@ -60,15 +75,21 @@ start_service() {
                                ;;
                        *)
                                break
-                               ;;                      
+                               ;;
                esac
-               
-               [ -e "/etc/init.d/${1}" ] && \
-                (sleep ${DELAY} && /etc/init.d/${1} start ${BACKGROUND})
+       done
+
+       if [ -e "/etc/init.d/${1}" ]; then
+           if [ -n "${BACKGROUND}" ]; then
+                               (sleep ${DELAY} && /etc/init.d/${1} start) &
+                       else
+                               sleep ${DELAY} && /etc/init.d/${1} start
+                       fi
+       fi
 }
 
 stop_service() {
-       
-       [ -e "/etc/init.d/${1}" ] && /etc/init.d/${1} stop
-
+       if [ -e "/etc/init.d/${1}" ]; then
+               /etc/init.d/${1} stop
+       fi
 }