]> git.ipfire.org Git - people/ms/ipfire-2.x.git/blobdiff - src/pakfire/lib/functions.sh
pakfire: Do not delay directory restore
[people/ms/ipfire-2.x.git] / src / pakfire / lib / functions.sh
index bc05bd01e0112d137715241c36e5cfc8faed9a69..f784cf79267566daf8244c6a2e85e394d53aa382 100644 (file)
 . /etc/sysconfig/rc
 . $rc_functions
 
+TAR_OPTIONS=(
+       --acls
+       --xattrs
+       --xattrs-include='*'
+       --no-overwrite-dir
+       --no-delay-directory-restore
+       --preserve-permissions
+       --numeric-owner
+)
+
 extract_files() {
        echo "Extracting files..."
-       tar xvf /opt/pakfire/tmp/files --no-overwrite-dir -p --numeric-owner -C /
+       tar -xavf /opt/pakfire/tmp/files* "${TAR_OPTIONS[@]}" -C /
        echo "...Finished."
 }
 
 extract_backup_includes() {
        echo "Extracting backup includes..."
-       tar xvf /opt/pakfire/tmp/files --no-overwrite-dir -p --numeric-owner -C / \
+       tar xavf /opt/pakfire/tmp/files* "${TAR_OPTIONS[@]}" -C / \
                var/ipfire/backup/addons/includes
        echo "...Finished."
 }
@@ -86,7 +96,7 @@ start_service() {
                esac
        done
 
-       if [ -e "/etc/init.d/${1}" ]; then
+       if [ -f "/etc/init.d/${1}" ]; then
            if [ -n "${BACKGROUND}" ]; then
                                (sleep ${DELAY} && /etc/init.d/${1} start) &
                        else
@@ -96,7 +106,7 @@ start_service() {
 }
 
 stop_service() {
-       if [ -e "/etc/init.d/${1}" ]; then
+       if [ -f "/etc/init.d/${1}" ]; then
                /etc/init.d/${1} stop
        fi
 }