aboutsummaryrefslogtreecommitdiff
path: root/sysutils/runit
diff options
context:
space:
mode:
authorBoris Samorodov <bsam@FreeBSD.org>2011-05-27 15:26:01 +0000
committerBoris Samorodov <bsam@FreeBSD.org>2011-05-27 15:26:01 +0000
commit55452e601aee06d7e661223420d628c27e0c21e6 (patch)
tree575fa4ff8d4142c79a7288c66a760ad7c494aad9 /sysutils/runit
parent1b07b69df5ea14596b52f0c2b90d2873d878e4e5 (diff)
downloadports-55452e601aee06d7e661223420d628c27e0c21e6.tar.gz
ports-55452e601aee06d7e661223420d628c27e0c21e6.zip
- Unbreak on CURRENT;
- Pass maintainership from ports@ to submitter; - Remove utmp code if utmpx is present; - Handle configuration files correctly; - Use ETCDIR; - Remove empty REQUIRE line from runsvdir.sh.in. PR: ports/157298 Submitted by: Chris Rees <utisoft@gmail.com>
Notes
Notes: svn path=/head/; revision=274736
Diffstat (limited to 'sysutils/runit')
-rw-r--r--sysutils/runit/Makefile39
-rw-r--r--sysutils/runit/files/patch-utmpx96
-rw-r--r--sysutils/runit/files/runsvdir.sh.in2
-rw-r--r--sysutils/runit/pkg-plist49
4 files changed, 136 insertions, 50 deletions
diff --git a/sysutils/runit/Makefile b/sysutils/runit/Makefile
index 6b56367a0f12..b152b6ea9b96 100644
--- a/sysutils/runit/Makefile
+++ b/sysutils/runit/Makefile
@@ -7,18 +7,19 @@
PORTNAME= runit
PORTVERSION= 2.0.0
+PORTREVISION= 1
CATEGORIES= sysutils
MASTER_SITES= http://smarden.org/${PORTNAME}/
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= utisoft@gmail.com
COMMENT= Service supervision tools compatible with DJB daemontools
USE_RC_SUBR= runsvdir.sh
WRKSRC= ${WRKDIR}/admin/${DISTNAME}
-ALL_TARGET= default
SERVICE_DIR?= /var/service
SUB_LIST= SERVICE_DIR="${SERVICE_DIR}"
+PORTDOCS= *
MAN8= chpst.8 runit-init.8 runit.8 runsv.8 runsvchdir.8 \
runsvdir.8 sv.8 svlogd.8 utmpset.8
@@ -27,12 +28,6 @@ DOCS= package/CHANGES package/COPYING package/README \
CONFIG= etc/freebsd/1 etc/2 etc/freebsd/3 etc/freebsd/ctrlaltdel \
etc/freebsd/getty-ttyv4/run etc/freebsd/getty-ttyv4/finish
-.include <bsd.port.pre.mk>
-
-.if ${OSVERSION} > 900007
-BROKEN= fails to build with new utmpx
-.endif
-
do-configure:
${ECHO_CMD} "${CC} ${CFLAGS}" > ${WRKSRC}/src/conf-cc
@@ -40,22 +35,32 @@ do-build:
cd ${WRKSRC} && package/compile && package/check
@${MKDIR} ${WRKDIR}/etc/getty-ttyv4
.for file in ${CONFIG}
- @${SED} -e 's!/etc/runit!${PREFIX}/etc/runit!g' \
+ @${SED} -e 's!/etc/runit!${ETCDIR}!g' \
-e 's!/service!${SERVICE_DIR}!g' \
-e 's!/usr/local!${PREFIX}!g' \
${WRKSRC}/${file} > ${WRKDIR}/${file:S!freebsd/!!}.sample
.endfor
do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/command/* ${PREFIX}/sbin
- ${INSTALL_MAN} ${WRKSRC}/man/*.8 ${MANPREFIX}/man/man8
- @${MKDIR} ${PREFIX}/etc/runit/getty-ttyv4
- ${INSTALL_SCRIPT} ${WRKDIR}/etc/[123c]* ${PREFIX}/etc/runit
- ${INSTALL_SCRIPT} ${WRKDIR}/etc/getty-ttyv4/* \
- ${PREFIX}/etc/runit/getty-ttyv4
+ @${INSTALL_PROGRAM} ${WRKSRC}/command/* ${PREFIX}/sbin
+.for man in ${MAN8}
+ @${INSTALL_MAN} ${WRKSRC}/man/${man} ${MAN8PREFIX}/man/man8
+.endfor
+ @${MKDIR} ${ETCDIR}/getty-ttyv4
+ @${INSTALL_SCRIPT} ${WRKDIR}/etc/[123c]* ${ETCDIR}
+ @${INSTALL_SCRIPT} ${WRKDIR}/etc/getty-ttyv4/* \
+ ${ETCDIR}/getty-ttyv4
.if !defined(NOPORTDOCS)
@${MKDIR} ${DOCSDIR}
- cd ${WRKSRC} && ${INSTALL_DATA} ${DOCS} ${DOCSDIR}
+. for doc in ${DOCS}
+ @${INSTALL_DATA} ${WRKSRC}/${doc} ${DOCSDIR}
+. endfor
.endif
-.include <bsd.port.post.mk>
+post-install:
+ @for file in ${ETCDIR}/*.sample ${ETCDIR}/getty-ttyv4/*.sample ; \
+ do [ ! -f ${ETCDIR}/$${file%.sample} ] \
+ && ${CP} -p $${file} $${file%.sample} ; \
+ done
+
+.include <bsd.port.mk>
diff --git a/sysutils/runit/files/patch-utmpx b/sysutils/runit/files/patch-utmpx
new file mode 100644
index 000000000000..6b82109f1d91
--- /dev/null
+++ b/sysutils/runit/files/patch-utmpx
@@ -0,0 +1,96 @@
+$FreeBSD$
+
+Since init lacks this code in FreeBSD (utx-logout is performed in pam_lastlog)
+we will simply make utmpset.c a noop if utmpx is present.
+
+http://lists.freebsd.org/pipermail/freebsd-ports/2011-May/067872.html
+
+diff -ruN ../runit-2.0.0.orig/src/tryuwtmpx.c ./src/tryuwtmpx.c
+--- ../runit-2.0.0.orig/src/tryuwtmpx.c 2008-06-15 21:53:26.000000000 +0100
++++ ./src/tryuwtmpx.c 2011-05-21 21:47:36.834727936 +0100
+@@ -1,9 +1,9 @@
+ #include <sys/types.h>
+ #include <utmpx.h>
+
+-struct futmpx ut;
++struct utmpx ut;
+
+ int main(void) {
+- char *s =ut.ut_name;
++ char *s =ut.ut_user;
+ return(0);
+ }
+diff -ruN ../runit-2.0.0.orig/src/utmpset.c ./src/utmpset.c
+--- ../runit-2.0.0.orig/src/utmpset.c 2008-06-15 21:53:26.000000000 +0100
++++ ./src/utmpset.c 2011-05-24 19:11:50.186633061 +0100
+@@ -22,6 +22,11 @@
+ void usage(void) { strerr_die4x(1, "usage: ", progname, USAGE, "\n"); }
+
+ int utmp_logout(const char *line) {
++
++#ifdef _UW_TMP_UTMPX
++ int ok = 1; /* do_nada(); */
++#else /* _UW_TMP_UTMP */
++
+ int fd;
+ uw_tmp ut;
+ int ok =-1;
+@@ -45,9 +50,13 @@
+ break;
+ }
+ close(fd);
++#endif /* _UW_TMP_UTMPX */
+ return(ok);
+ }
+ int wtmp_logout(const char *line) {
++#ifdef _UW_TMP_UTMPX
++ return 1; /* do_nada(); */
++#else /* _UW_TMP_UTMP */
+ int fd;
+ int len;
+ struct stat st;
+@@ -79,6 +88,7 @@
+ }
+ close(fd);
+ return(1);
++#endif /* _UW_TMP_UTMPX */
+ }
+
+ int main (int argc, const char * const *argv, const char * const *envp) {
+diff -ruN ../runit-2.0.0.orig/src/uw_tmp.h1 ./src/uw_tmp.h1
+--- ../runit-2.0.0.orig/src/uw_tmp.h1 2008-06-15 21:53:26.000000000 +0100
++++ ./src/uw_tmp.h1 2011-05-24 19:12:55.575957224 +0100
+@@ -3,6 +3,8 @@
+
+ /* sysdep: -utmpx */
+
++#ifndef _UW_TMP_UTMP
++#define _UW_TMP_UTMP
+ #ifdef _PATH_UTMP
+ #define UW_TMP_UFILE _PATH_UTMP
+ #define UW_TMP_WFILE _PATH_WTMP
+@@ -17,3 +19,4 @@
+ #endif
+
+ typedef struct utmp uw_tmp;
++#endif /* _UW_TMP_UTMP */
+diff -ruN ../runit-2.0.0.orig/src/uw_tmp.h2 ./src/uw_tmp.h2
+--- ../runit-2.0.0.orig/src/uw_tmp.h2 2008-06-15 21:53:26.000000000 +0100
++++ ./src/uw_tmp.h2 2011-05-24 19:13:16.542222974 +0100
+@@ -3,11 +3,12 @@
+
+ /* sysdep: +utmpx */
+
+-#define UW_TMP_UFILE _UTMPX_FILE
+-#define UW_TMP_WFILE _WTMPX_FILE
+-
++#ifndef _UW_TMP_UTMPX
++#define _UW_TMP_UTMPX
+ #ifndef ut_time
+ #define ut_time ut_tv.tv_sec
+ #endif
+
+-typedef struct futmpx uw_tmp;
++typedef struct utmpx uw_tmp;
++
++#endif /* _UW_TMP_UTMPX */
diff --git a/sysutils/runit/files/runsvdir.sh.in b/sysutils/runit/files/runsvdir.sh.in
index 1a87ee8b184d..944706da0b56 100644
--- a/sysutils/runit/files/runsvdir.sh.in
+++ b/sysutils/runit/files/runsvdir.sh.in
@@ -2,9 +2,7 @@
#
# $FreeBSD$
#
-
# PROVIDE: /service
-# REQUIRE:
# BEFORE: SERVERS
# KEYWORD: shutdown
diff --git a/sysutils/runit/pkg-plist b/sysutils/runit/pkg-plist
index b95718e25b14..d1eb99aa1a6a 100644
--- a/sysutils/runit/pkg-plist
+++ b/sysutils/runit/pkg-plist
@@ -1,10 +1,22 @@
@comment $FreeBSD$
-etc/runit/1.sample
-etc/runit/2.sample
-etc/runit/3.sample
-etc/runit/ctrlaltdel.sample
-etc/runit/getty-ttyv4/run.sample
-etc/runit/getty-ttyv4/finish.sample
+@unexec cmp -s %D/%%ETCDIR%%/1 %D/%%ETCDIR%%/1.sample && rm -f %D/%%ETCDIR%%/1
+%%ETCDIR%%/1.sample
+@exec [ ! -f %D/%%ETCDIR%%/1 ] && cp -p %D/%F %B/1
+@unexec cmp -s %D/%%ETCDIR%%/2 %D/%%ETCDIR%%/2.sample && rm -f %D/%%ETCDIR%%/2
+%%ETCDIR%%/2.sample
+@exec [ ! -f %D/%%ETCDIR%%/2 ] && cp -p %D/%F %B/2
+@unexec cmp -s %D/%%ETCDIR%%/3 %D/%%ETCDIR%%/3.sample && rm -f %D/%%ETCDIR%%/3
+%%ETCDIR%%/3.sample
+@exec [ ! -f %D/%%ETCDIR%%/3 ] && cp -p %D/%F %B/3
+@unexec cmp -s %D/%%ETCDIR%%/ctrlaltdel %D/%%ETCDIR%%/ctrlaltdel.sample && rm -f %D/%%ETCDIR%%/ctrlaltdel
+%%ETCDIR%%/ctrlaltdel.sample
+@exec [ ! -f %D/%%ETCDIR%%/ctrlaltdel ] && cp -p %D/%F %B/ctrlaltdel
+@unexec cmp -s %D/%%ETCDIR%%/getty-ttyv4/run %D/%%ETCDIR%%/getty-ttyv4/run.sample && rm -f %D/%%ETCDIR%%/getty-ttyv4/run
+%%ETCDIR%%/getty-ttyv4/run.sample
+@exec [ ! -f %D/%%ETCDIR%%/getty-ttyv4/run ] && cp -p %D/%F %B/getty-ttyv4/run
+@unexec cmp -s %D/%%ETCDIR%%/getty-ttyv4/finish %D/%%ETCDIR%%/getty-ttyv4/finish.sample && rm -f %D/%%ETCDIR%%/getty-ttyv4/finish
+%%ETCDIR%%/getty-ttyv4/finish.sample
+@exec [ ! -f %D/%%ETCDIR%%/getty-ttyv4/finish ] && cp -p %D/%F %B/getty-ttyv4/finish
sbin/chpst
sbin/runit
sbin/runit-init
@@ -14,30 +26,5 @@ sbin/runsvdir
sbin/sv
sbin/svlogd
sbin/utmpset
-%%PORTDOCS%%%%DOCSDIR%%/CHANGES
-%%PORTDOCS%%%%DOCSDIR%%/COPYING
-%%PORTDOCS%%%%DOCSDIR%%/README
-%%PORTDOCS%%%%DOCSDIR%%/THANKS
-%%PORTDOCS%%%%DOCSDIR%%/benefits.html
-%%PORTDOCS%%%%DOCSDIR%%/chpst.8.html
-%%PORTDOCS%%%%DOCSDIR%%/dependencies.html
-%%PORTDOCS%%%%DOCSDIR%%/faq.html
-%%PORTDOCS%%%%DOCSDIR%%/index.html
-%%PORTDOCS%%%%DOCSDIR%%/install.html
-%%PORTDOCS%%%%DOCSDIR%%/replaceinit.html
-%%PORTDOCS%%%%DOCSDIR%%/runit-init.8.html
-%%PORTDOCS%%%%DOCSDIR%%/runit.8.html
-%%PORTDOCS%%%%DOCSDIR%%/runlevels.html
-%%PORTDOCS%%%%DOCSDIR%%/runscripts.html
-%%PORTDOCS%%%%DOCSDIR%%/runsv.8.html
-%%PORTDOCS%%%%DOCSDIR%%/runsvchdir.8.html
-%%PORTDOCS%%%%DOCSDIR%%/runsvdir.8.html
-%%PORTDOCS%%%%DOCSDIR%%/sv.8.html
-%%PORTDOCS%%%%DOCSDIR%%/svlogd.8.html
-%%PORTDOCS%%%%DOCSDIR%%/upgrade.html
-%%PORTDOCS%%%%DOCSDIR%%/usedietlibc.html
-%%PORTDOCS%%%%DOCSDIR%%/useinit.html
-%%PORTDOCS%%%%DOCSDIR%%/utmpset.8.html
-%%PORTDOCS%%@dirrm %%DOCSDIR%%
@dirrm etc/runit/getty-ttyv4
@dirrm etc/runit