-
Notifications
You must be signed in to change notification settings - Fork 82
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
build cron on RHEL <= 6 and Fedora <= 18. Still defaults to systemd.
- Loading branch information
1 parent
87fd258
commit 86da092
Showing
3 changed files
with
201 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,26 @@ | ||
UNITDIR=/lib/systemd/system | ||
|
||
INIT=systemd | ||
|
||
all: | ||
echo "Nothing to do" | ||
|
||
clean: | ||
rm -f *~ | ||
|
||
install: | ||
install: install-$(INIT) | ||
|
||
install-systemd: install-common | ||
install -D -m 644 yum-cron.service $(DESTDIR)/$(UNITDIR)/yum-cron.service | ||
|
||
install-sysv: install-common | ||
install -D -m 755 yum-cron.sysvinit $(DESTDIR)/etc/rc.d/init.d/yum-cron | ||
|
||
install-common: | ||
mkdir -p $(DESTDIR)/etc/cron.daily | ||
mkdir -p $(DESTDIR)/etc/rc.d/init.d | ||
mkdir -p $(DESTDIR)/usr/sbin | ||
# Install yum-update.cron as 0yum-update.cron so it runs before items like | ||
# manpage update, mlocate, and prelink | ||
install -D -m 755 yum-update.cron.sh $(DESTDIR)/etc/cron.daily/0yum-update.cron | ||
install -D -m 644 yum-cron.service $(DESTDIR)/$(UNITDIR)/yum-cron.service | ||
install -D -m 755 yum-cron.py $(DESTDIR)/usr/sbin/yum-cron |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,108 @@ | ||
#!/bin/bash | ||
# | ||
# yum-cron Enable or disable scheduled yum system updates. | ||
# | ||
# chkconfig: - 50 01 | ||
# | ||
# description: This controls whether yum-cron runs. If this service is \ | ||
# off, the yum-cron scripts in /etc/cron.daily exit \ | ||
# immediately; otherwise, they download and/or apply package \ | ||
# updates as configured in /etc/sysconfig/yum-cron. | ||
# processname: yum-cron | ||
# config: /etc/yum/yum-daily.yum | ||
# | ||
|
||
# source function library | ||
. /etc/rc.d/init.d/functions | ||
|
||
test -f /etc/sysconfig/yum-cron && . /etc/sysconfig/yum-cron | ||
|
||
lockfile=/var/lock/subsys/yum-cron | ||
|
||
# This is generated by /usr/sbin/yum-cron and will exist when that script | ||
# is running and not otherwise. | ||
pidfile=/var/lock/yum-cron.pid | ||
|
||
RETVAL=0 | ||
|
||
start() { | ||
echo -n $"Enabling scheduled yum updates: " | ||
# The cron script exits silently if this file doesn't exist. | ||
touch "$lockfile" && success || failure | ||
RETVAL=$? | ||
echo | ||
} | ||
|
||
stop() { | ||
# Disabling this is just removing the so-called lock file. But we | ||
# also have logic to delay shutdown if a transaction is in-progress. | ||
# All that affects is the exit of _this_ script, which may be | ||
# waited on by other things in the shutdown process. | ||
echo -n $"Disabling scheduled yum updates: " | ||
if [ "$SERVICE_WAITS" = "yes" ]; then | ||
# if SERVICE_WAITS is yes, we check for an active pid | ||
# file and recheck in 5 second increments up to | ||
# SERVICE_WAIT_TIME before continuing. | ||
if (set -o noclobber; ! echo "$$" > $pidfile ) 2>/dev/null; then | ||
# yum-cron has the lock. Read the pid, and wait and then loop | ||
# until it's done. | ||
activepid="$(< $pidfile)" 2>/dev/null | ||
if [ $? != 0 ]; then | ||
echo; echo -n $"Stale yum-cron lock ignored. " | ||
else | ||
echo; echo -n $"Waiting for in-progress yum transaction" | ||
end=$( expr $( date +%s ) + ${SERVICE_WAIT_TIME:-300} ) | ||
while checkpid $activepid 2>/dev/null ; do | ||
echo -n "." | ||
if [ $( date +%s ) -gt $end ]; then | ||
echo -n " Timed out. " | ||
break | ||
fi | ||
sleep 5 | ||
done | ||
fi | ||
else | ||
# we got the lock. we don't really want it; remove and move on. | ||
rm -f "$pidfile" | ||
fi | ||
fi | ||
rm -f "$lockfile" && success || failure | ||
RETVAL=$? | ||
echo | ||
} | ||
|
||
restart() { | ||
stop | ||
start | ||
} | ||
|
||
case "$1" in | ||
start) | ||
start | ||
;; | ||
stop) | ||
stop | ||
;; | ||
restart|force-reload) | ||
restart | ||
;; | ||
reload) | ||
;; | ||
condrestart) | ||
[ -f "$lockfile" ] && restart | ||
;; | ||
status) | ||
if [ -f $lockfile ]; then | ||
echo $"Scheduled yum updates are enabled." | ||
RETVAL=0 | ||
else | ||
echo $"Scheduled yum updates are disabled." | ||
RETVAL=3 | ||
fi | ||
;; | ||
*) | ||
echo $"Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}" | ||
exit 1 | ||
esac | ||
|
||
exit $RETVAL |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters