Add runwhen 2003.10.31, tools for running commands at particular times.

The biggest difference between runwhen and other schedulers is that
runwhen doesn't have a single daemon overseeing multiple jobs.
The runwhen tools essentially act as a glorified sleep command.
Perhaps runwhen does nothing that at(1) doesn't, and there are
lots of things at(1) does that runwhen doesn't:

- runwhen doesn't change user IDs - thus it will never run
  anything as the wrong user.
- It doesn't keep a central daemon running at all times -
  thus it won't break if that daemon dies.
- It doesn't require any modifications to the system boot procedure.
- It doesn't log through syslog(3) - thus it won't make a mess
  on the console if syslogd(1) isn't running.
- It doesn't centralize storage of scheduled jobs (or any other
  per-job information) - thus unprivileged users can install and use it
  without cooperation from root, and without the use of a setuid program
  to handle changes.
- It doesn't send output through mail - thus it doesn't break
  if there is no mail system installed.
- It doesn't check access control files - thus it doesn't gratuitously
  deny users.

Author:	Paul Jarc <prj@po.cwru.edu>
WWW:	http://multivac.cwru.edu/runwhen/

PR:		58789
Submitted by:	David Thiel <lx@redundancy.redundancy.org>
This commit is contained in:
Sergei Kolobov 2003-11-01 20:50:36 +00:00
parent f6a5689295
commit a0e5aa5641
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=92791
6 changed files with 100 additions and 0 deletions

View file

@ -269,6 +269,7 @@
SUBDIR += ruby-log4r
SUBDIR += ruby-quota
SUBDIR += runit
SUBDIR += runwhen
SUBDIR += safecat
SUBDIR += samefile
SUBDIR += sarah

44
sysutils/runwhen/Makefile Normal file
View file

@ -0,0 +1,44 @@
# New ports collection makefile for: runwhen
# Date created: 2003-10-31
# Whom: David Thiel <lx@redundancy.redundancy.org>
#
# $FreeBSD$
#
PORTNAME= runwhen
PORTVERSION= 2003.10.31
CATEGORIES= sysutils
MASTER_SITES= http://multivac.cwru.edu/${PORTNAME}/releases/
MAINTAINER= lx@redundancy.redundancy.org
COMMENT= Tools for running commands at particular times
BUILD_DEPENDS= ${LOCALBASE}/include/skalibs:${PORTSDIR}/devel/skalibs
USE_BZIP2= yes
USE_REINPLACE= yes
WRKSRC= ${WRKDIR}/admin/${DISTNAME}
ALL_TARGET= default
DOCS= src/CHANGES src/TODO package/README
post-patch:
@${REINPLACE_CMD} -e 's!gcc -O2!${CC} ${CFLAGS}!' \
${WRKSRC}/conf-compile/host_compile.sh
do-configure:
${ECHO_CMD} ${PREFIX} > ${WRKSRC}/conf-compile/package_home
${ECHO_CMD} ${LOCALBASE} > ${WRKSRC}/conf-compile/depend_skalibs
do-build:
cd ${WRKSRC} && package/compile
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/command/* ${PREFIX}/bin
.if !defined(NOPORTDOCS)
@${MKDIR} ${DOCSDIR}
cd ${WRKSRC} && ${INSTALL_DATA} ${DOCS} ${DOCSDIR}
.endif
.include <bsd.port.mk>

View file

@ -0,0 +1 @@
MD5 (runwhen-2003.10.31.tar.bz2) = 9553d896befbec0fec417131dee56053

View file

@ -0,0 +1,14 @@
--- package/compile Thu Oct 30 20:56:44 2003
+++ package/compile.new Fri Oct 31 16:07:38 2003
@@ -1426,7 +1426,10 @@
make_37() {
echo && echo_ Making compile/host/skalibs &&
- ln -s "$depend_skalibs" compile/move/skalibs
+ mkdir compile/move/skalibs &&
+ ln -s "$depend_skalibs/include/skalibs" compile/move/skalibs/include &&
+ ln -s "$depend_skalibs/lib/skalibs" compile/move/skalibs/library
+
}
find_sums_37() {
rm -f compile/tmpdir/sums &&

View file

@ -0,0 +1,24 @@
The biggest difference between runwhen and other schedulers is that
runwhen doesn't have a single daemon overseeing multiple jobs.
The runwhen tools essentially act as a glorified sleep command.
Perhaps runwhen does nothing that at(1) doesn't, and there are
lots of things at(1) does that runwhen doesn't:
- runwhen doesn't change user IDs - thus it will never run
anything as the wrong user.
- It doesn't keep a central daemon running at all times -
thus it won't break if that daemon dies.
- It doesn't require any modifications to the system boot procedure.
- It doesn't log through syslog(3) - thus it won't make a mess
on the console if syslogd(1) isn't running.
- It doesn't centralize storage of scheduled jobs (or any other
per-job information) - thus unprivileged users can install and use it
without cooperation from root, and without the use of a setuid program
to handle changes.
- It doesn't send output through mail - thus it doesn't break
if there is no mail system installed.
- It doesn't check access control files - thus it doesn't gratuitously
deny users.
Author: Paul Jarc <prj@po.cwru.edu>
WWW: http://multivac.cwru.edu/runwhen/

View file

@ -0,0 +1,16 @@
@comment $FreeBSD$
bin/caldelay
bin/delayrun
bin/maxinterval
bin/mininterval
bin/rw-add
bin/rw-match
bin/rw-max
bin/rw-min
bin/rw-sleep
bin/rw-sub
bin/rw-touch
%%PORTDOCS%%%%DOCSDIR%%/CHANGES
%%PORTDOCS%%%%DOCSDIR%%/README
%%PORTDOCS%%%%DOCSDIR%%/TODO
%%PORTDOCS%%@dirrm %%DOCSDIR%%