diff options
Diffstat (limited to 'network/spamassassin/doinst.sh')
-rw-r--r-- | network/spamassassin/doinst.sh | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/network/spamassassin/doinst.sh b/network/spamassassin/doinst.sh index 0f1a4cd01e..e18d25482e 100644 --- a/network/spamassassin/doinst.sh +++ b/network/spamassassin/doinst.sh @@ -11,22 +11,22 @@ config() { # Otherwise, we leave the .new copy for the admin to consider... } -# Keep same permissions on rc.spamd.new as an existing rc.spamd: -if [ -e etc/rc.d/rc.spamd ]; then - cp -a etc/rc.d/rc.spamd etc/rc.d/rc.spamd.new.incoming - cat etc/rc.d/rc.spamd.new > etc/rc.d/rc.spamd.new.incoming - mv etc/rc.d/rc.spamd.new.incoming etc/rc.d/rc.spamd.new -else - # If rc.spamd does not exist, make the new one executable by default, - # which won't matter unless it's called from rc.local anyway - chmod 0755 etc/rc.d/rc.spamd.new -fi +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 +} +preserve_perms etc/rc.d/rc.spamd.new config etc/mail/spamassassin/init.pre.new config etc/mail/spamassassin/local.cf.new config etc/mail/spamassassin/v310.pre.new config etc/mail/spamassassin/v312.pre.new config etc/mail/spamassassin/v320.pre.new config etc/mail/spamassassin/v330.pre.new -config etc/rc.d/rc.spamd.new config etc/spamassassin.conf.new |