]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - src/pakfire/lib/functions.sh
Fix permission change of existing directories at core updates.
[people/pmueller/ipfire-2.x.git] / src / pakfire / lib / functions.sh
index 28ede3ce2a55483259d4893b6e60b23dc3ca6e90..e4e3d5bc09bbe7f7b076d8c5b494609ddd0a76e9 100644 (file)
 
 extract_files() {
        echo "Extracting files..."
-       tar xvf /opt/pakfire/tmp/files --preserve --numeric-owner -C /
+       tar xvf /opt/pakfire/tmp/files --no-overwrite-dir --preserve --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."
 }
 
 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 +75,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."
+}
+