summaryrefslogtreecommitdiffstats
path: root/source/ap/at
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/at')
-rwxr-xr-xsource/ap/at/at.SlackBuild15
-rw-r--r--source/ap/at/atd.default6
-rw-r--r--source/ap/at/doinst.sh33
-rw-r--r--source/ap/at/rc.atd39
-rw-r--r--source/ap/at/slack-desc2
5 files changed, 84 insertions, 11 deletions
diff --git a/source/ap/at/at.SlackBuild b/source/ap/at/at.SlackBuild
index 468379146..6d8af5580 100755
--- a/source/ap/at/at.SlackBuild
+++ b/source/ap/at/at.SlackBuild
@@ -23,8 +23,8 @@
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=at
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-3}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -62,7 +62,7 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf at-$VERSION
-tar xvf $CWD/at-${VERSION}.tar.?z* || exit 1
+tar xvf $CWD/at-${VERSION}.tar.?z || exit 1
cd at-$VERSION || exit 1
chown -R root:root .
@@ -89,6 +89,15 @@ make install IROOT=$PKG || exit
mv $PKG/etc/at.deny $PKG/etc/at.deny.new
chown root:root $PKG/var $PKG/var/spool
+# Add the init script:
+mkdir -p $PKG/etc/rc.d
+cat $CWD/rc.atd > $PKG/etc/rc.d/rc.atd.new
+chmod 755 $PKG/etc/rc.d/rc.atd.new
+
+# Add the default file:
+mkdir -p $PKG/etc/default
+cat $CWD/atd.default > $PKG/etc/default/atd.new
+
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
diff --git a/source/ap/at/atd.default b/source/ap/at/atd.default
new file mode 100644
index 000000000..b70fad0b3
--- /dev/null
+++ b/source/ap/at/atd.default
@@ -0,0 +1,6 @@
+# Default options for the atd daemon:
+#
+# -b 15: minimal interval in seconds between two jobs
+# -l 1: do not start new jobs if the load average is above 1
+
+ATD_OPTS="-b 15 -l 1"
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
diff --git a/source/ap/at/rc.atd b/source/ap/at/rc.atd
new file mode 100644
index 000000000..2e06f1695
--- /dev/null
+++ b/source/ap/at/rc.atd
@@ -0,0 +1,39 @@
+#!/bin/sh
+# /etc/rc.d/rc.atd - start/stop the at daemon
+
+# To change the default options, edit /etc/default/atd.
+if [ -r /etc/default/atd ]; then
+ . /etc/default/atd
+fi
+
+start_atd() {
+ if ! /usr/bin/pgrep --ns $$ --exact atd 1> /dev/null 2> /dev/null ; then
+ echo "Starting atd: /usr/sbin/atd $ATD_OPTS"
+ /usr/sbin/atd $CROND_OPTS
+ fi
+}
+
+stop_atd() {
+ echo "Stopping atd."
+ /usr/bin/pkill --ns $$ --exact atd 2> /dev/null
+}
+
+restart_atd() {
+ stop_atd
+ sleep 1
+ start_atd
+}
+
+case "$1" in
+'start')
+ start_atd
+ ;;
+'stop')
+ stop_atd
+ ;;
+'restart')
+ restart_atd
+ ;;
+*)
+ echo "usage $0 start|stop|restart"
+esac
diff --git a/source/ap/at/slack-desc b/source/ap/at/slack-desc
index cc37d8b80..532193fbd 100644
--- a/source/ap/at/slack-desc
+++ b/source/ap/at/slack-desc
@@ -14,6 +14,6 @@ at: time.
at:
at: The 'at' command was written by David Parsons and Thomas Koenig.
at:
-at: Homepage: http://anonscm.debian.org/cgit/collab-maint/at.git/
+at: Homepage: http://ftp.debian.org/debian/pool/main/a/at
at:
at: