aboutsummaryrefslogtreecommitdiffstats
path: root/ports-mgmt/tinderbox-devel/Makefile
blob: 2dcc8749b1587a7600148a6eb0e6e1d22569c544 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# Created by: Edwin Groothuis <edwin@mavetju.org>
# $FreeBSD$

PORTNAME=   tinderbox
DISTVERSION=    4.0.0.b2
PORTREVISION=   1
PORTEPOCH=  1
CATEGORIES= ports-mgmt
MASTER_SITES=   http://tinderbox.marcuscom.com/ \
        http://T32.TecNik93.com/FreeBSD/ports/${PORTNAME}/sources/
PKGNAMESUFFIX=  -devel
DIST_SUBDIR=    ${PORTNAME}

MAINTAINER= crees@FreeBSD.org
COMMENT=    Port build tinderbox system, devel version

CONFLICTS=  tinderbox-[0-9]*

OPTIONS_MULTI=      DB
OPTIONS_MULTI_DB=   PGSQL MYSQL SQLITE

OPTIONS_RADIO=      WEB
OPTIONS_RADIO_WEB=  APACHE HIAWATHA LIGHTTPD NGINX

OPTIONS_DEFINE=     CHECK_ROOT EMAILS LSOF LOG_COMPRESS \
            PARALLEL TMPFS

CHECK_ROOT_DESC=    Check if ./tc is run by uid 0
EMAILS_DESC=        Support for build failure/completion emails
LSOF_DESC=      For killMountProcesses() when using nullfs
LOG_COMPRESS_DESC=  Support bzip log compression
PARALLEL_DESC=      Apply PARALLEL extra patch
TMPFS_DESC=     Apply TMPFS extra patch
HIAWATHA_DESC=      Hiawatha server
NGINX_DESC=     Nginx server

OPTIONS_DEFAULT=    MYSQL APACHE CHECK_ROOT EMAILS LSOF \
            LOG_COMPRESS PARALLEL

NO_BUILD=   yes
WANT_PERL=  yes
SUB_FILES=  pkg-message

#SNAP=      .r3-20120404
#SNAP=      -20110101 # 22:28:07 UTC

.include <bsd.port.options.mk>

.if ${PORT_OPTIONS:MAPACHE} || ${PORT_OPTIONS:MHIAWATHA} || ${PORT_OPTIONS:MLIGHTTPD} || ${PORT_OPTIONS:MNGINX}
WEBUI=      yes
.endif

.if defined(WEBUI)
WANT_PHP_WEB=   yes
USE_PHP=    session
PLIST_SUB+= WEBUI=""
.else
PLIST_SUB+= WEBUI="@comment "
.endif

.if ${PORT_OPTIONS:MPGSQL}
USE_PGSQL=  yes
.if defined(WEBUI)
USE_PHP+=   pgsql pdo_pgsql
.endif
RUN_DEPENDS+=   p5-DBD-Pg>=0:${PORTSDIR}/databases/p5-DBD-Pg
.endif

.if ${PORT_OPTIONS:MMYSQL}
.if defined(WEBUI)
USE_PHP+=   mysql pdo_mysql
.endif
USE_MYSQL=  yes
RUN_DEPENDS+=   p5-DBD-mysql>=0:${PORTSDIR}/databases/p5-DBD-mysql
.endif

.if ${PORT_OPTIONS:MSQLITE}
.if defined(WEBUI)
USE_PHP+=   sqlite3 pdo_sqlite
.endif
RUN_DEPENDS+=   p5-DBD-SQLite>=0:${PORTSDIR}/databases/p5-DBD-SQLite
.endif

.if ${PORT_OPTIONS:MAPACHE}
USE_APACHE_RUN= 22+
.elif ${PORT_OPTIONS:MLIGHTTPD}
RUN_DEPENDS+=   lighttpd:${PORTSDIR}/www/lighttpd
.elif ${PORT_OPTIONS:MHIAWATHA}
RUN_DEPENDS+=   hiawatha:${PORTSDIR}/www/hiawatha
.elif ${PORT_OPTIONS:MNGINX}
RUN_DEPENDS+=   nginx:${PORTSDIR}/www/nginx
.endif

.if ${PORT_OPTIONS:MEMAILS}
RUN_DEPENDS+=   p5-Net>=0:${PORTSDIR}/net/p5-Net
.endif

.if ${PORT_OPTIONS:MLSOF}
RUN_DEPENDS+=   lsof:${PORTSDIR}/sysutils/lsof
.endif

.if ${PORT_OPTIONS:MLOG_COMPRESS}
RUN_DEPENDS+=   p5-Compress-Bzip2>=0:${PORTSDIR}/archivers/p5-Compress-Bzip2
.endif

.if ${PORT_OPTIONS:MTMPFS} && ${PORT_OPTIONS:MPARALLEL}
EXTRA_PATCHES+=     ${FILESDIR}/extra-tmpfs_para.patch
.elif ${PORT_OPTIONS:MTMPFS}
EXTRA_PATCHES+=     ${FILESDIR}/extra-tmpfs.patch
.elif ${PORT_OPTIONS:MPARALLEL}
EXTRA_PATCHES+=     ${FILESDIR}/extra-parallel.patch
.endif

post-patch:
.if ! ${PORT_OPTIONS:MCHECK_ROOT}
    ${REINPLACE_CMD} -e 's/^if \[ `id -u` != 0 \]; then/if false; then/' \
        ${WRKSRC}/tc
.endif

do-install:
    @${MKDIR} ${STAGEDIR}${PREFIX}/tinderbox/scripts
    ${TAR} -C ${WRKSRC} --exclude man --exclude '*.orig' --exclude '*.bak' -cf - . \
        | tar -xf - --unlink -C ${STAGEDIR}${PREFIX}/tinderbox/scripts
    ${TAR} -C ${WRKSRC}/man/man1 --exclude '*.orig' --exclude '*.bak' -cf - . \
        | tar -xf - --unlink -C ${STAGEDIR}${MAN1PREFIX}/man/man1
    ${INSTALL_SCRIPT} ${WRKSRC}/etc/rc.d/tinderd ${STAGEDIR}${PREFIX}/etc/rc.d/${PORTNAME}

.include <bsd.port.mk>