mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-29 13:00:32 +01:00
b2b78b8bc2
This commit creates if needed (otherwise, updates timestamps on) the log files during package install as opposed to creating them inside the package itself - if they're present inside the package, then a package upgrade clobbers the files on the installed system if they happen to already exist. This commit also installs the init script and a couple of config files with .new extensions and then does the config() routine on them (or preserve_perms() in the case of the init script). The downside is that this will cause any .new'd files *and* the logs to be removed on this upgrade; I hope this doesn't cause much pain for users, but it's got to happen sooner or later, so let's get it over with... Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
30 lines
716 B
Bash
30 lines
716 B
Bash
config() {
|
|
NEW="$1"
|
|
OLD="$(dirname $NEW)/$(basename $NEW .new)"
|
|
# If there's no config file by that name, mv it over:
|
|
if [ ! -r $OLD ]; then
|
|
mv $NEW $OLD
|
|
elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
|
|
# toss the redundant copy
|
|
rm $NEW
|
|
fi
|
|
# 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
|
|
}
|
|
|
|
preserve_perms etc/rc.d/rc.etherpad-lite.new
|
|
config etc/etherpad-lite/settings.json.new
|
|
|
|
touch var/log/$PRGNAM/etherpad.log
|
|
touch var/log/$PRGNAM/error.log
|
|
|