X-Git-Url: http://git.ipfire.org/?p=people%2Fteissler%2Fipfire-2.x.git;a=blobdiff_plain;f=src%2Fpakfire%2Flib%2Ffunctions.sh;h=bc05bd01e0112d137715241c36e5cfc8faed9a69;hp=28ede3ce2a55483259d4893b6e60b23dc3ca6e90;hb=ace40c90eceaf77ed20ba39a45a2f883aaafa3fe;hpb=b8e5a9c576b628aef8b83495b9c8fc12cc4b306a diff --git a/src/pakfire/lib/functions.sh b/src/pakfire/lib/functions.sh index 28ede3ce2..bc05bd01e 100644 --- a/src/pakfire/lib/functions.sh +++ b/src/pakfire/lib/functions.sh @@ -2,7 +2,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007 Michael Tremer & Christian Schmidt # +# Copyright (C) 2007-2012 IPFire Team # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # @@ -24,31 +24,38 @@ extract_files() { echo "Extracting files..." - tar xvf /opt/pakfire/tmp/files --preserve --numeric-owner -C / + tar xvf /opt/pakfire/tmp/files --no-overwrite-dir -p --numeric-owner -C / + echo "...Finished." +} + +extract_backup_includes() { + echo "Extracting backup includes..." + tar xvf /opt/pakfire/tmp/files --no-overwrite-dir -p --numeric-owner -C / \ + var/ipfire/backup/addons/includes echo "...Finished." } remove_files() { echo "Removing files..." - for i in $(cat /opt/pakfire/tmp/ROOTFILES); do - rm -rfv ${i} + for i in $(cat /opt/pakfire/db/rootfiles/${NAME}); do + rm -rfv /${i} done echo "...Finished." } make_backup() { - if [ -e "/var/ipfire/backup/addons/includes/${1}" ];then - echo "Creating Backup..." - /usr/local/bin/backupctrl addonbackup ${1} - echo "...Finished." + 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." + if [ -e "/var/ipfire/backup/addons/backup/${1}.ipf" ]; then + echo "Restoring Backup..." + /usr/local/bin/backupctrl restoreaddon ${1}.ipf + echo "...Finished." fi } @@ -75,18 +82,28 @@ start_service() { ;; *) break - ;; + ;; esac done - - if [ -e "/etc/init.d/${1}" ];then - sleep ${DELAY} - /etc/init.d/${1} start ${BACKGROUND} - fi + + 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() { - if [ -e "/etc/init.d/${1}" ];then - /etc/init.d/${1} stop + if [ -e "/etc/init.d/${1}" ]; then + /etc/init.d/${1} stop fi } + +rebuild_langcache() { + echo "Rebuilding language cache..." + perl -e "require '/var/ipfire/lang.pl'; &Lang::BuildCacheLang" + echo "...Finished." +} +