X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=src%2Fpakfire%2Flib%2Ffunctions.sh;h=ccd58dbda23b816273b4dec69bd387048e8f32cc;hb=0dde24facca311852b3d861eb2132880be1b492e;hp=aad067fafaae9e6860a90d8363327c4e75f3f0ba;hpb=4c7fa778d4029d359f4401d271d152c65f599a03;p=ipfire-2.x.git diff --git a/src/pakfire/lib/functions.sh b/src/pakfire/lib/functions.sh index aad067fafa..ccd58dbda2 100644 --- a/src/pakfire/lib/functions.sh +++ b/src/pakfire/lib/functions.sh @@ -19,26 +19,73 @@ # # ############################################################################### +. /etc/sysconfig/rc +. $rc_functions + extract_files() { echo "Extracting files..." - tar xvf /opt/pakfire/tmp/files -C / + tar xvf /opt/pakfire/tmp/files --preserve --numeric-owner -C / echo "...Finished." } -reload_libs() { - echo "(Re-)Initializing the lib-cache..." - ldconfig -vv +remove_files() { + echo "Removing files..." + for i in $(cat /opt/pakfire/tmp/ROOTFILES); do + rm -rfv ${i} + done echo "...Finished." } -reload_modules() { - echo "(Re-)Initializing the module-dependencies..." - depmod -va - echo "...Finished." +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 + /etc/init.d/${1} restart +} + +start_service() { + DELAY=0 + while true + do + case "${1}" in + --delay|-d) + DELAY=${2} + shift 2 + ;; + --background|-b) + BACKGROUND="&" + shift + ;; + -*) + log_failure_msg "Unknown Option: ${1}" + return 2 #invalid or excess argument(s) + ;; + *) + break + ;; + esac + done + + if [ -e "/etc/init.d/${1}" ]; then + (sleep ${DELAY} && /etc/init.d/${1} start) ${BACKGROUND} + fi +} +stop_service() { + if [ -e "/etc/init.d/${1}" ]; then + /etc/init.d/${1} stop + fi }