aboutsummaryrefslogtreecommitdiff
path: root/system/rox-filer/doinst.sh
diff options
context:
space:
mode:
Diffstat (limited to 'system/rox-filer/doinst.sh')
-rw-r--r--system/rox-filer/doinst.sh26
1 files changed, 14 insertions, 12 deletions
diff --git a/system/rox-filer/doinst.sh b/system/rox-filer/doinst.sh
index 84a3539df9c18..3f20c437354d2 100644
--- a/system/rox-filer/doinst.sh
+++ b/system/rox-filer/doinst.sh
@@ -11,6 +11,17 @@ config() {
# Otherwise, we leave the .new copy for the admin to consider...
}
+preserve_perms() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ if [ -e $OLD ]; then
+ cp -a $OLD ${NEW}.incoming
+ cat $NEW > ${NEW}.incoming
+ mv ${NEW}.incoming $NEW
+ fi
+ config $NEW
+}
+
if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
fi
@@ -19,20 +30,11 @@ if [ -x /usr/bin/update-mime-database ]; then
/usr/bin/update-mime-database usr/share/mime >/dev/null 2>&1
fi
-# Keep same perms on profile scripts
-if [ -e etc/profile.d/rox-filer.sh ]; then
- cp -a etc/profile.d/rox-filer.sh etc/profile.d/rox-filer.sh.new.incoming
- cat etc/profile.d/rox-filer.sh.new > etc/profile.d/rox-filer.sh.new.incoming
- mv etc/profile.d/rox-filer.sh.new.incoming etc/profile.d/rox-filer.sh.new
-fi
-if [ -e etc/profile.d/rox-filer.csh ]; then
- cp -a etc/profile.d/rox-filer.csh etc/profile.d/rox-filer.csh.new.incoming
- cat etc/profile.d/rox-filer.csh.new > etc/profile.d/rox-filer.csh.new.incoming
- mv etc/profile.d/rox-filer.csh.new.incoming etc/profile.d/rox-filer.csh.new
-fi
-
config etc/rox/xdg/rox.sourceforge.net/MIME-types/application_postscript.new
config etc/rox/xdg/rox.sourceforge.net/MIME-types/text.new
config etc/rox/xdg/rox.sourceforge.net/MIME-types/text_html.new
config etc/profile.d/rox-filer.sh.new
config etc/profile.d/rox-filer.csh.new
+
+preserve_perms etc/profile.d/rox-filer.sh.new
+preserve_perms etc/profile.d/rox-filer.csh.new