diff options
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 |
commit | d8095c1e90c817c5c1bd4cbb892be7218946279b (patch) | |
tree | 031d60b6fcf278de9783be42a3a77d253a03a1ea /source/a/dcron/doinst.sh | |
parent | 2c20c6847e0caa3b62f6e5a0506790393c141932 (diff) | |
download | current-d8095c1e90c817c5c1bd4cbb892be7218946279b.tar.gz |
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/a/dcron/doinst.sh')
-rw-r--r-- | source/a/dcron/doinst.sh | 35 |
1 files changed, 30 insertions, 5 deletions
diff --git a/source/a/dcron/doinst.sh b/source/a/dcron/doinst.sh index ce8dc7f3..0d5f1ee8 100644 --- a/source/a/dcron/doinst.sh +++ b/source/a/dcron/doinst.sh @@ -1,5 +1,30 @@ -if [ ! -r var/spool/cron/crontabs/root ]; then - mv var/spool/cron/crontabs/root.new var/spool/cron/crontabs/root -else - rm -f var/spool/cron/crontabs/root.new -fi +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 [ -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.crond.new +config etc/default/crond.new +config var/spool/cron/crontabs/root.new +rm -f var/spool/cron/crontabs/root.new |