X-Git-Url: http://git.ipfire.org/?p=people%2Fpmueller%2Fipfire-2.x.git;a=blobdiff_plain;f=src%2Fpakfire%2Flib%2Ffunctions.sh;h=8bc09a82170d40732657ff86eb61f7ba5adcbf0e;hp=6fa682ee88e81ea704a1492c41b0bc5fa325fe30;hb=c0faa0efafca5b9e7881d3570e0c79bbc9a6af77;hpb=c3bbdb219f6fb68b916720d8dbd8e2d6503347ee diff --git a/src/pakfire/lib/functions.sh b/src/pakfire/lib/functions.sh index 6fa682ee88..8bc09a8217 100644 --- a/src/pakfire/lib/functions.sh +++ b/src/pakfire/lib/functions.sh @@ -24,27 +24,42 @@ extract_files() { echo "Extracting files..." - tar xvf /opt/pakfire/tmp/files --preserve --numeric-owner -C / + tar xvf /opt/pakfire/tmp/files -p --numeric-owner -C / 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." } -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,28 @@ 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 +} +rebuild_langcache() { + echo "Rebuilding language cache..." + perl -e "require '/var/ipfire/lang.pl'; &Lang::BuildCacheLang" + echo "...Finished." } +