]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blobdiff - src/pakfire/lib/functions.sh
started creation of the first update
[people/teissler/ipfire-2.x.git] / src / pakfire / lib / functions.sh
index 6d23ecf64653a0e72ac55c610d51bb4df73a15af..21aaee22a4ffee963f854f16634c53cb756a09c8 100644 (file)
 #                                                                             #
 ###############################################################################
 
+. /etc/sysconfig/rc
+. $rc_functions
+
 extract_files() {
        echo "Extracting files..."
        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
+           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
+       fi
 }