diff options
author | Fernando ApesteguĂa <fernape@FreeBSD.org> | 2021-04-07 11:16:00 +0000 |
---|---|---|
committer | Fernando ApesteguĂa <fernape@FreeBSD.org> | 2021-04-07 11:20:03 +0000 |
commit | 1a76a776c71cf0cf74e8e66586cc64cc6896b558 (patch) | |
tree | 9d592b49271652d20a432acdb450007666f5b6aa /sysutils/anacron | |
parent | 7eb0f1e315d17df0baa2e4ca1c099ef589e6080d (diff) | |
download | ports-1a76a776c71cf0cf74e8e66586cc64cc6896b558.tar.gz ports-1a76a776c71cf0cf74e8e66586cc64cc6896b558.zip |
Diffstat (limited to 'sysutils/anacron')
-rw-r--r-- | sysutils/anacron/Makefile | 20 | ||||
-rw-r--r-- | sysutils/anacron/files/anacron.in | 31 | ||||
-rw-r--r-- | sysutils/anacron/files/patch-log.c | 10 | ||||
-rw-r--r-- | sysutils/anacron/files/patch-main.c | 10 | ||||
-rw-r--r-- | sysutils/anacron/files/patch-matchrx.c | 6 | ||||
-rw-r--r-- | sysutils/anacron/files/patch-runjob.c | 13 | ||||
-rw-r--r-- | sysutils/anacron/files/pkg-message.in | 15 | ||||
-rw-r--r-- | sysutils/anacron/pkg-plist | 12 |
8 files changed, 87 insertions, 30 deletions
diff --git a/sysutils/anacron/Makefile b/sysutils/anacron/Makefile index 944f2f537689..795bcf61a49d 100644 --- a/sysutils/anacron/Makefile +++ b/sysutils/anacron/Makefile @@ -2,7 +2,7 @@ PORTNAME= anacron PORTVERSION= 2.3 -PORTREVISION= 6 +PORTREVISION= 7 CATEGORIES= sysutils MASTER_SITES= SF @@ -13,20 +13,22 @@ LICENSE= GPLv2+ LICENSE_FILE= ${WRKSRC}/COPYING USES= gmake -USE_RC_SUBR= anacron +USE_RC_SUBR= ${PORTNAME} SUB_FILES= pkg-message +PLIST_SUB= PORTNAME=${PORTNAME} +SUB_LIST+= PORTNAME=${PORTNAME} COMMENT="${COMMENT}" post-patch: -.for f in Makefile anacron.8 anacrontab.5 - @${REINPLACE_CMD} -e 's|\(/etc/anacrontab\)|${PREFIX}\1|' ${WRKSRC}/${f} +.for f in Makefile ${PORTNAME}.8 ${PORTNAME}tab.5 + @${REINPLACE_CMD} -e 's|\(/etc/${PORTNAME}tab\)|${PREFIX}\1|' ${WRKSRC}/${f} .endfor @${REINPLACE_CMD} -e 's|^CFLAGS = .*||' ${WRKSRC}/Makefile do-install: - ${INSTALL_PROGRAM} ${WRKSRC}/anacron ${STAGEDIR}${PREFIX}/sbin - ${INSTALL_MAN} ${WRKSRC}/anacron.8 ${STAGEDIR}${MAN8PREFIX}/man/man8 - ${INSTALL_MAN} ${WRKSRC}/anacrontab.5 ${STAGEDIR}${MAN5PREFIX}/man/man5 - ${INSTALL_DATA} ${FILESDIR}/anacrontab.sample ${STAGEDIR}${PREFIX}/etc - @${MKDIR} ${STAGEDIR}/var/spool/anacron + ${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/sbin + ${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.8 ${STAGEDIR}${MAN8PREFIX}/man/man8 + ${INSTALL_MAN} ${WRKSRC}/${PORTNAME}tab.5 ${STAGEDIR}${MAN5PREFIX}/man/man5 + ${INSTALL_DATA} ${FILESDIR}/${PORTNAME}tab.sample ${STAGEDIR}${PREFIX}/etc + @${MKDIR} ${STAGEDIR}/var/spool/${PORTNAME} .include <bsd.port.mk> diff --git a/sysutils/anacron/files/anacron.in b/sysutils/anacron/files/anacron.in index b3698b7e5cac..9e32e4420335 100644 --- a/sysutils/anacron/files/anacron.in +++ b/sysutils/anacron/files/anacron.in @@ -1,21 +1,36 @@ #!/bin/sh -# PROVIDE: anacron +# PROVIDE: %%PORTNAME%% # REQUIRE: LOGIN +# KEYWORD: resume # -# Add the following line to /etc/rc.conf to enable anacron: +# Execute one of the following commands as root to enable %%PORTNAME%%: # -# anacron_enable="YES" +# service %%PORTNAME%% enable +# sysrc %%PORTNAME%%_enable=YES # . /etc/rc.subr -name=anacron -rcvar=anacron_enable +name=%%PORTNAME%% +command="%%PREFIX%%/sbin/%%PORTNAME%%" +desc="%%COMMENT%%" +extra_commands=resume +rcvar=%%PORTNAME%%_enable +required_vars=syslogd_enable load_rc_config $name -: ${anacron_enable:=NO} -command="%%PREFIX%%/sbin/anacron" +: ${%%PORTNAME%%_enable:=NO} -run_rc_command "$1" +if [ $# -gt 0 -a $1 = "resume" ]; then + arg=start + if checkyesno $rcvar; then + info "starting ${name} after resume" + fi +else + arg=$1 +fi +debug "$name: \$1 = $1, arg = $arg" + +run_rc_command "$arg" diff --git a/sysutils/anacron/files/patch-log.c b/sysutils/anacron/files/patch-log.c new file mode 100644 index 000000000000..320a83d8c606 --- /dev/null +++ b/sysutils/anacron/files/patch-log.c @@ -0,0 +1,10 @@ +--- log.c.orig 2000-06-22 22:55:13 UTC ++++ log.c +@@ -37,6 +37,7 @@ + #include <unistd.h> + #include <syslog.h> + #include <stdio.h> ++#include <stdlib.h> + #include <stdarg.h> + #include <errno.h> + #include <signal.h> diff --git a/sysutils/anacron/files/patch-main.c b/sysutils/anacron/files/patch-main.c new file mode 100644 index 000000000000..12dafcab98f3 --- /dev/null +++ b/sysutils/anacron/files/patch-main.c @@ -0,0 +1,10 @@ +--- main.c.orig 2000-06-22 22:58:07 UTC ++++ main.c +@@ -24,6 +24,7 @@ + + #include <time.h> + #include <stdio.h> ++#include <stdlib.h> + #include <unistd.h> + #include <signal.h> + #include <fcntl.h> diff --git a/sysutils/anacron/files/patch-matchrx.c b/sysutils/anacron/files/patch-matchrx.c index a8a5d456fbdd..ffba9b6baa56 100644 --- a/sysutils/anacron/files/patch-matchrx.c +++ b/sysutils/anacron/files/patch-matchrx.c @@ -1,6 +1,6 @@ --- matchrx.c.orig 2000-06-20 23:12:18 UTC +++ matchrx.c -@@ -23,6 +23,7 @@ +@@ -23,9 +23,11 @@ #include <stdio.h> @@ -8,3 +8,7 @@ #include <regex.h> #include <stdarg.h> #include <stdlib.h> ++#include <string.h> + #include "matchrx.h" + + int diff --git a/sysutils/anacron/files/patch-runjob.c b/sysutils/anacron/files/patch-runjob.c index a984d32ce1bb..781ea1693057 100644 --- a/sysutils/anacron/files/patch-runjob.c +++ b/sysutils/anacron/files/patch-runjob.c @@ -9,8 +9,6 @@ - int fd, i; + int fd; + char name[] = "/tmp/anacron.XXXXXX"; -+ -+ fd = mkstemp(name); - i = 0; - name = NULL; @@ -25,6 +23,8 @@ - /* I'm not sure we actually need to be so persistent here */ - } while (fd == -1 && errno == EEXIST && i < max_retries); - ++ fd = mkstemp(name); ++ if (fd == -1) die_e("Can't open temporary file"); if (unlink(name)) die_e("Can't unlink temporary file"); - free(name); @@ -32,3 +32,12 @@ fcntl(fd, F_SETFD, 1); /* set close-on-exec flag */ return fd; } +@@ -84,7 +72,7 @@ username() + } + + static void +-xputenv(const char *s) ++xputenv(char *s) + { + if (putenv(s)) die_e("Can't set the environment"); + } diff --git a/sysutils/anacron/files/pkg-message.in b/sysutils/anacron/files/pkg-message.in index 77c5d61d0db1..64d2be3ba0d6 100644 --- a/sysutils/anacron/files/pkg-message.in +++ b/sysutils/anacron/files/pkg-message.in @@ -2,12 +2,17 @@ { type: install message: <<EOM Configuration hints: -- Edit %%PREFIX%%/etc/anacrontab +- Edit %%PREFIX%%/etc/%%PORTNAME%%tab - Deactivate the 'periodic' commands in /etc/crontab -- Add a call to anacron to /etc/crontab, like - 0 0 * * * root %%PREFIX%%/sbin/anacron -- Add anacron_enable="YES" to /etc/rc.conf -- Read anacron(8) and anacrontab(5) +- Add a call to %%PORTNAME%% to /etc/crontab, like + 0 0 * * * root %%PREFIX%%/sbin/%%PORTNAME%% +- Add %%PORTNAME%%_enable="YES" to /etc/rc.conf + or execute one of the following commands as root: + service %%PORTNAME%% enable + sysrc %%PORTNAME%%_enable=YES +- Read %%PORTNAME%%(8) and %%PORTNAME%%tab(5) +- To avoid overlapping periodic(8) jobs, you may want to serialize jobs: + sysrc %%PORTNAME%%_flags+=" -s" EOM } ] diff --git a/sysutils/anacron/pkg-plist b/sysutils/anacron/pkg-plist index 7b449b2790e2..4206a632fe24 100644 --- a/sysutils/anacron/pkg-plist +++ b/sysutils/anacron/pkg-plist @@ -1,5 +1,7 @@ -sbin/anacron -@sample etc/anacrontab.sample -@unexec rmdir /var/spool/anacron 2>/dev/null || echo "If you are permanently removing this port, you should do a 'rm -rf /var/spool/anacron'." -man/man8/anacron.8.gz -man/man5/anacrontab.5.gz +sbin/%%PORTNAME%% +@sample etc/%%PORTNAME%%tab.sample +@postexec mkdir -p /var/spool/%%PORTNAME%% 2>/dev/null +@postunexec rmdir /var/spool/%%PORTNAME%% 2>/dev/null || echo "If you are permanently removing this port, you should do a 'rm -rf /var/spool/%%PORTNAME%%'." +man/man8/%%PORTNAME%%.8.gz +man/man5/%%PORTNAME%%tab.5.gz +@dir /var/spool/%%PORTNAME%% |