View | Details | Raw Unified | Return to bug 157298
Collapse All | Expand All

(-)Makefile (-17 / +22 lines)
Lines 7-24 Link Here
7
7
8
PORTNAME=	runit
8
PORTNAME=	runit
9
PORTVERSION=	2.0.0
9
PORTVERSION=	2.0.0
10
PORTREVISION=	1
10
CATEGORIES=	sysutils
11
CATEGORIES=	sysutils
11
MASTER_SITES=	http://smarden.org/${PORTNAME}/
12
MASTER_SITES=	http://smarden.org/${PORTNAME}/
12
13
13
MAINTAINER=	ports@FreeBSD.org
14
MAINTAINER=	utisoft@gmail.com
14
COMMENT=	Service supervision tools compatible with DJB daemontools
15
COMMENT=	Service supervision tools compatible with DJB daemontools
15
16
16
USE_RC_SUBR=	runsvdir.sh
17
USE_RC_SUBR=	runsvdir.sh
17
WRKSRC=		${WRKDIR}/admin/${DISTNAME}
18
WRKSRC=		${WRKDIR}/admin/${DISTNAME}
18
ALL_TARGET=	default
19
19
20
SERVICE_DIR?=	/var/service
20
SERVICE_DIR?=	/var/service
21
SUB_LIST=	SERVICE_DIR="${SERVICE_DIR}"
21
SUB_LIST=	SERVICE_DIR="${SERVICE_DIR}"
22
PORTDOCS=	*
22
23
23
MAN8=		chpst.8 runit-init.8 runit.8 runsv.8 runsvchdir.8 \
24
MAN8=		chpst.8 runit-init.8 runit.8 runsv.8 runsvchdir.8 \
24
		runsvdir.8 sv.8 svlogd.8 utmpset.8
25
		runsvdir.8 sv.8 svlogd.8 utmpset.8
Lines 27-38 Link Here
27
CONFIG=		etc/freebsd/1 etc/2 etc/freebsd/3 etc/freebsd/ctrlaltdel \
28
CONFIG=		etc/freebsd/1 etc/2 etc/freebsd/3 etc/freebsd/ctrlaltdel \
28
	 	etc/freebsd/getty-ttyv4/run etc/freebsd/getty-ttyv4/finish
29
	 	etc/freebsd/getty-ttyv4/run etc/freebsd/getty-ttyv4/finish
29
30
30
.include <bsd.port.pre.mk>
31
32
.if ${OSVERSION} > 900007
33
BROKEN=		fails to build with new utmpx
34
.endif
35
36
do-configure:
31
do-configure:
37
	${ECHO_CMD} "${CC} ${CFLAGS}" > ${WRKSRC}/src/conf-cc
32
	${ECHO_CMD} "${CC} ${CFLAGS}" > ${WRKSRC}/src/conf-cc
38
33
Lines 40-61 Link Here
40
	cd ${WRKSRC} && package/compile && package/check
35
	cd ${WRKSRC} && package/compile && package/check
41
	@${MKDIR} ${WRKDIR}/etc/getty-ttyv4
36
	@${MKDIR} ${WRKDIR}/etc/getty-ttyv4
42
.for file in ${CONFIG}
37
.for file in ${CONFIG}
43
	@${SED} -e 's!/etc/runit!${PREFIX}/etc/runit!g' \
38
	@${SED} -e 's!/etc/runit!${ETCDIR}!g' \
44
		-e 's!/service!${SERVICE_DIR}!g' \
39
		-e 's!/service!${SERVICE_DIR}!g' \
45
		-e 's!/usr/local!${PREFIX}!g' \
40
		-e 's!/usr/local!${PREFIX}!g' \
46
		${WRKSRC}/${file} > ${WRKDIR}/${file:S!freebsd/!!}.sample
41
		${WRKSRC}/${file} > ${WRKDIR}/${file:S!freebsd/!!}.sample
47
.endfor
42
.endfor
48
43
49
do-install:
44
do-install:
50
	${INSTALL_PROGRAM} ${WRKSRC}/command/* ${PREFIX}/sbin
45
	@${INSTALL_PROGRAM} ${WRKSRC}/command/* ${PREFIX}/sbin
51
	${INSTALL_MAN} ${WRKSRC}/man/*.8 ${MANPREFIX}/man/man8
46
.for man in ${MAN8}
52
	@${MKDIR} ${PREFIX}/etc/runit/getty-ttyv4
47
	@${INSTALL_MAN} ${WRKSRC}/man/${man} ${MAN8PREFIX}/man/man8
53
	${INSTALL_SCRIPT} ${WRKDIR}/etc/[123c]* ${PREFIX}/etc/runit
48
.endfor
54
	${INSTALL_SCRIPT} ${WRKDIR}/etc/getty-ttyv4/* \
49
	@${MKDIR} ${ETCDIR}/getty-ttyv4
55
		${PREFIX}/etc/runit/getty-ttyv4
50
	@${INSTALL_SCRIPT} ${WRKDIR}/etc/[123c]* ${ETCDIR}
51
	@${INSTALL_SCRIPT} ${WRKDIR}/etc/getty-ttyv4/* \
52
		${ETCDIR}/getty-ttyv4
56
.if !defined(NOPORTDOCS)
53
.if !defined(NOPORTDOCS)
57
	@${MKDIR} ${DOCSDIR}
54
	@${MKDIR} ${DOCSDIR}
58
	cd ${WRKSRC} && ${INSTALL_DATA} ${DOCS} ${DOCSDIR}
55
.   for doc in ${DOCS}
56
	@${INSTALL_DATA} ${WRKSRC}/${doc} ${DOCSDIR}
57
.   endfor
59
.endif
58
.endif
60
59
61
.include <bsd.port.post.mk>
60
post-install:
61
	@for file in ${ETCDIR}/*.sample ${ETCDIR}/getty-ttyv4/*.sample ; \
62
	    do [ ! -f ${ETCDIR}/$${file%.sample} ] \
63
		&& ${CP} -p $${file} $${file%.sample} ; \
64
	    done
65
66
.include <bsd.port.mk>
(-)pkg-plist (-31 / +18 lines)
Lines 1-10 Link Here
1
@comment $FreeBSD: ports/sysutils/runit/pkg-plist,v 1.8 2006/08/09 11:47:39 sergei Exp $
1
@comment $FreeBSD: ports/sysutils/runit/pkg-plist,v 1.8 2006/08/09 11:47:39 sergei Exp $
2
etc/runit/1.sample
2
@unexec cmp -s %D/%%ETCDIR%%/1 %D/%%ETCDIR%%/1.sample && rm -f %D/%%ETCDIR%%/1
3
etc/runit/2.sample
3
%%ETCDIR%%/1.sample
4
etc/runit/3.sample
4
@exec [ ! -f %D/%%ETCDIR%%/1 ] && cp -p %D/%F %B/1
5
etc/runit/ctrlaltdel.sample
5
@unexec cmp -s %D/%%ETCDIR%%/2 %D/%%ETCDIR%%/2.sample && rm -f %D/%%ETCDIR%%/2
6
etc/runit/getty-ttyv4/run.sample
6
%%ETCDIR%%/2.sample
7
etc/runit/getty-ttyv4/finish.sample
7
@exec [ ! -f %D/%%ETCDIR%%/2 ] && cp -p %D/%F %B/2
8
@unexec cmp -s %D/%%ETCDIR%%/3 %D/%%ETCDIR%%/3.sample && rm -f %D/%%ETCDIR%%/3
9
%%ETCDIR%%/3.sample
10
@exec [ ! -f %D/%%ETCDIR%%/3 ] && cp -p %D/%F %B/3
11
@unexec cmp -s %D/%%ETCDIR%%/ctrlaltdel %D/%%ETCDIR%%/ctrlaltdel.sample && rm -f %D/%%ETCDIR%%/ctrlaltdel
12
%%ETCDIR%%/ctrlaltdel.sample
13
@exec [ ! -f %D/%%ETCDIR%%/ctrlaltdel ] && cp -p %D/%F %B/ctrlaltdel
14
@unexec cmp -s %D/%%ETCDIR%%/getty-ttyv4/run %D/%%ETCDIR%%/getty-ttyv4/run.sample && rm -f %D/%%ETCDIR%%/getty-ttyv4/run
15
%%ETCDIR%%/getty-ttyv4/run.sample
16
@exec [ ! -f %D/%%ETCDIR%%/getty-ttyv4/run ] && cp -p %D/%F %B/getty-ttyv4/run
17
@unexec cmp -s %D/%%ETCDIR%%/getty-ttyv4/finish %D/%%ETCDIR%%/getty-ttyv4/finish.sample && rm -f %D/%%ETCDIR%%/getty-ttyv4/finish
18
%%ETCDIR%%/getty-ttyv4/finish.sample
19
@exec [ ! -f %D/%%ETCDIR%%/getty-ttyv4/finish ] && cp -p %D/%F %B/getty-ttyv4/finish
8
sbin/chpst
20
sbin/chpst
9
sbin/runit
21
sbin/runit
10
sbin/runit-init
22
sbin/runit-init
Lines 14-43 Link Here
14
sbin/sv
26
sbin/sv
15
sbin/svlogd
27
sbin/svlogd
16
sbin/utmpset
28
sbin/utmpset
17
%%PORTDOCS%%%%DOCSDIR%%/CHANGES
18
%%PORTDOCS%%%%DOCSDIR%%/COPYING
19
%%PORTDOCS%%%%DOCSDIR%%/README
20
%%PORTDOCS%%%%DOCSDIR%%/THANKS
21
%%PORTDOCS%%%%DOCSDIR%%/benefits.html
22
%%PORTDOCS%%%%DOCSDIR%%/chpst.8.html
23
%%PORTDOCS%%%%DOCSDIR%%/dependencies.html
24
%%PORTDOCS%%%%DOCSDIR%%/faq.html
25
%%PORTDOCS%%%%DOCSDIR%%/index.html
26
%%PORTDOCS%%%%DOCSDIR%%/install.html
27
%%PORTDOCS%%%%DOCSDIR%%/replaceinit.html
28
%%PORTDOCS%%%%DOCSDIR%%/runit-init.8.html
29
%%PORTDOCS%%%%DOCSDIR%%/runit.8.html
30
%%PORTDOCS%%%%DOCSDIR%%/runlevels.html
31
%%PORTDOCS%%%%DOCSDIR%%/runscripts.html
32
%%PORTDOCS%%%%DOCSDIR%%/runsv.8.html
33
%%PORTDOCS%%%%DOCSDIR%%/runsvchdir.8.html
34
%%PORTDOCS%%%%DOCSDIR%%/runsvdir.8.html
35
%%PORTDOCS%%%%DOCSDIR%%/sv.8.html
36
%%PORTDOCS%%%%DOCSDIR%%/svlogd.8.html
37
%%PORTDOCS%%%%DOCSDIR%%/upgrade.html
38
%%PORTDOCS%%%%DOCSDIR%%/usedietlibc.html
39
%%PORTDOCS%%%%DOCSDIR%%/useinit.html
40
%%PORTDOCS%%%%DOCSDIR%%/utmpset.8.html
41
%%PORTDOCS%%@dirrm %%DOCSDIR%%
42
@dirrm etc/runit/getty-ttyv4
29
@dirrm etc/runit/getty-ttyv4
43
@dirrm etc/runit
30
@dirrm etc/runit
(-)files/patch-utmpx (+96 lines)
Added Link Here
1
$FreeBSD$
2
3
Since init lacks this code in FreeBSD (utx-logout is performed in pam_lastlog)
4
we will simply make utmpset.c a noop if utmpx is present.
5
6
http://lists.freebsd.org/pipermail/freebsd-ports/2011-May/067872.html
7
8
diff -ruN ../runit-2.0.0.orig/src/tryuwtmpx.c ./src/tryuwtmpx.c
9
--- ../runit-2.0.0.orig/src/tryuwtmpx.c	2008-06-15 21:53:26.000000000 +0100
10
+++ ./src/tryuwtmpx.c	2011-05-21 21:47:36.834727936 +0100
11
@@ -1,9 +1,9 @@
12
 #include <sys/types.h>
13
 #include <utmpx.h>
14
 
15
-struct futmpx ut;
16
+struct utmpx ut;
17
 
18
 int main(void) {
19
-  char *s =ut.ut_name;
20
+  char *s =ut.ut_user;
21
   return(0);
22
 }
23
diff -ruN ../runit-2.0.0.orig/src/utmpset.c ./src/utmpset.c
24
--- ../runit-2.0.0.orig/src/utmpset.c	2008-06-15 21:53:26.000000000 +0100
25
+++ ./src/utmpset.c	2011-05-24 19:11:50.186633061 +0100
26
@@ -22,6 +22,11 @@
27
 void usage(void) { strerr_die4x(1, "usage: ", progname, USAGE, "\n"); }
28
 
29
 int utmp_logout(const char *line) {
30
+
31
+#ifdef _UW_TMP_UTMPX
32
+  int ok = 1; /* do_nada(); */
33
+#else /* _UW_TMP_UTMP */
34
+
35
   int fd;
36
   uw_tmp ut;
37
   int ok =-1;
38
@@ -45,9 +50,13 @@
39
     break;
40
   }
41
   close(fd);
42
+#endif /* _UW_TMP_UTMPX */
43
   return(ok);
44
 }
45
 int wtmp_logout(const char *line) {
46
+#ifdef _UW_TMP_UTMPX
47
+  return 1; /* do_nada(); */
48
+#else /* _UW_TMP_UTMP */
49
   int fd;
50
   int len;
51
   struct stat st;
52
@@ -79,6 +88,7 @@
53
   }
54
   close(fd);
55
   return(1);
56
+#endif /* _UW_TMP_UTMPX */
57
 }
58
 
59
 int main (int argc, const char * const *argv, const char * const *envp) {
60
diff -ruN ../runit-2.0.0.orig/src/uw_tmp.h1 ./src/uw_tmp.h1
61
--- ../runit-2.0.0.orig/src/uw_tmp.h1	2008-06-15 21:53:26.000000000 +0100
62
+++ ./src/uw_tmp.h1	2011-05-24 19:12:55.575957224 +0100
63
@@ -3,6 +3,8 @@
64
 
65
 /* sysdep: -utmpx */
66
 
67
+#ifndef _UW_TMP_UTMP
68
+#define _UW_TMP_UTMP
69
 #ifdef _PATH_UTMP
70
 #define UW_TMP_UFILE _PATH_UTMP
71
 #define UW_TMP_WFILE _PATH_WTMP
72
@@ -17,3 +19,4 @@
73
 #endif
74
 
75
 typedef struct utmp uw_tmp;
76
+#endif /* _UW_TMP_UTMP */
77
diff -ruN ../runit-2.0.0.orig/src/uw_tmp.h2 ./src/uw_tmp.h2
78
--- ../runit-2.0.0.orig/src/uw_tmp.h2	2008-06-15 21:53:26.000000000 +0100
79
+++ ./src/uw_tmp.h2	2011-05-24 19:13:16.542222974 +0100
80
@@ -3,11 +3,12 @@
81
 
82
 /* sysdep: +utmpx */
83
 
84
-#define UW_TMP_UFILE _UTMPX_FILE
85
-#define UW_TMP_WFILE _WTMPX_FILE
86
-
87
+#ifndef _UW_TMP_UTMPX
88
+#define _UW_TMP_UTMPX
89
 #ifndef ut_time
90
 #define ut_time ut_tv.tv_sec
91
 #endif
92
 
93
-typedef struct futmpx uw_tmp;
94
+typedef struct utmpx uw_tmp;
95
+
96
+#endif /* _UW_TMP_UTMPX */
(-)files/runsvdir.sh.in (-2 lines)
Lines 2-10 Link Here
2
#
2
#
3
# $FreeBSD: ports/sysutils/runit/files/runsvdir.sh.in,v 1.6 2010/03/27 04:30:05 dougb Exp $
3
# $FreeBSD: ports/sysutils/runit/files/runsvdir.sh.in,v 1.6 2010/03/27 04:30:05 dougb Exp $
4
#
4
#
5
6
# PROVIDE: /service
5
# PROVIDE: /service
7
# REQUIRE: 
8
# BEFORE:  SERVERS
6
# BEFORE:  SERVERS
9
# KEYWORD: shutdown
7
# KEYWORD: shutdown

Return to bug 157298