summaryrefslogtreecommitdiffstats
path: root/source/ap/at/doinst.sh
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2018-06-13 05:43:00 +0000
committer Eric Hameleers <alien@slackware.com>2018-06-13 09:44:21 +0200
commitd8095c1e90c817c5c1bd4cbb892be7218946279b (patch)
tree031d60b6fcf278de9783be42a3a77d253a03a1ea /source/ap/at/doinst.sh
parent2c20c6847e0caa3b62f6e5a0506790393c141932 (diff)
downloadcurrent-d8095c1e90c817c5c1bd4cbb892be7218946279b.tar.gz
current-d8095c1e90c817c5c1bd4cbb892be7218946279b.tar.xz
Wed Jun 13 05:43:00 UTC 201820180613054300
a/dcron-4.5-x86_64-7.txz: Rebuilt. Added init script and defaults file. Moved TMPDIR to /run/cron. Thanks to Robby Workman and shasta. a/efibootmgr-16-x86_64-1.txz: Upgraded. a/efivar-36-x86_64-1.txz: Added. a/elilo-3.16-x86_64-7.txz: Rebuilt. a/glibc-solibs-2.27-x86_64-4.txz: Rebuilt. Don't restart init in the install script, let rc.6 handle it. a/haveged-1.9.2-x86_64-1.txz: Added. a/pkgtools-15.0-noarch-18.txz: Rebuilt. setup.services: add support for rc.atd and rc.crond a/sysvinit-scripts-2.1-noarch-10.txz: Rebuilt. rc.6: restart init when shutting down - this prevents it from holding file handles to removed/upgraded versions of the glibc shared libraries which would interfere with shutdown. rc.K: use full path to telinit rc.M: start rc.atd and rc.crond rc.M: don't remove cron tempfiles (moved to /run/cron) rc.S: start rc.haveged ap/at-3.1.20-x86_64-3.txz: Rebuilt. Added init script and defaults file. l/glibc-2.27-x86_64-4.txz: Rebuilt. Don't restart init in the install script, let rc.6 handle it. l/glibc-i18n-2.27-x86_64-4.txz: Rebuilt. l/glibc-profile-2.27-x86_64-4.txz: Rebuilt. l/gnu-efi-3.0.8-x86_64-1.txz: Upgraded.
Diffstat (limited to 'source/ap/at/doinst.sh')
-rw-r--r--source/ap/at/doinst.sh33
1 files changed, 26 insertions, 7 deletions
diff --git a/source/ap/at/doinst.sh b/source/ap/at/doinst.sh
index 6c4b54313..8c0311015 100644
--- a/source/ap/at/doinst.sh
+++ b/source/ap/at/doinst.sh
@@ -1,16 +1,35 @@
#!/bin/sh
+
config() {
+ for infile in $1; do
+ NEW="$infile"
+ 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...
+ done
+}
+
+preserve_perms() {
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
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ if [ -e $OLD ]; then
+ cp -a $OLD ${NEW}.incoming
+ cat $NEW > ${NEW}.incoming
+ mv ${NEW}.incoming $NEW
fi
- # Otherwise, we leave the .new copy for the admin to consider...
+ config $NEW
}
+
+preserve_perms etc/rc.d/rc.atd.new
+config etc/default/atd.new
config etc/at.deny.new
+
if [ ! -r var/spool/atjobs/.SEQ ]; then
touch var/spool/atjobs/.SEQ
chmod 660 var/spool/atjobs/.SEQ