blob: 3b56421ba5358e8e0fc8f510dca85e2a2cf66c85 (
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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
|
PORTNAME= rt
DISTVERSION= 5.0.2
CATEGORIES= www
MASTER_SITES= http://download.bestpractical.com/pub/rt/release/
PKGNAMESUFFIX= 50
MAINTAINER= mikael@FreeBSD.org
COMMENT= Industrial-grade ticketing system written in Perl
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
CONFLICTS_INSTALL= rt42-4.2* rt44-4.4* brlcad
NO_ARCH= yes
# See docs/web_deployment.pod for info on the choices of webserver /
# webapp combinations. Note: if using apache, apache-2.4+ is
# recommended. For deployment with nginx, use the SPAWN_FCGI method
# or the builtin webserver with a FCGI handler.
#
# The builtin standalone PSGI based webserver is always available, no
# matter what choice of web deployment platform, or none, that you
# make. Best Practical state that this is really only suitable for
# development usage, although I have heard reports of people using it
# successfully for medium sized deployments. If you only want the
# builtin webserver, simply deselect all of the web options.
#
# See docs/full_text_indexing.pod if you need to set up full text
# indexes on your ticket database. PostgreSQL is
# recommended in this case: the MYSQL / SphinxSearch combination
# mentioned in the docs is currently unsupported in the ports, but see
# http://www.infracaninophile.co.uk/articles/sphinxse.html
OPTIONS_DEFINE= DEVELOPER EXTERNALAUTH GD GPG GRAPHVIZ SMIME DOCS
OPTIONS_SINGLE= DB
OPTIONS_SINGLE_DB= MYSQL PGSQL SQLITE
OPTIONS_RADIO= WEB
OPTIONS_RADIO_WEB= AP_MODFASTCGI AP_MODPERL LIGHTTPD SPAWN_FCGI
OPTIONS_DEFAULT= AP_MODFASTCGI EXTERNALAUTH GD GPG MYSQL
USERS?= www
GROUPS?= rt www
.include "${.CURDIR}/Makefile.cpan"
RUN_DEPENDS+= ${CLI_DEPS} \
${CORE_DEPS} \
${DASHBOARDS_DEPS} \
${ICAL_DEPS} \
${MAILGATE_DEPS} \
${REST2_DEPS} \
${USERLOGO_DEPS} \
${HTML_DOC_DEPS}
USES= cpe perl5
CPE_VENDOR= bestpractical
RT_LAYOUT= FreeBSD
RT_ETC_DIR?= etc/${PORTNAME}${PKGNAMESUFFIX}
DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}${PKGNAMESUFFIX}
DATADIR= ${PREFIX}/share/${PORTNAME}${PKGNAMESUFFIX}
RT_ETC_PATH= ${PREFIX}/${RT_ETC_DIR}
AP_MODPERL_DESC= Deploy with apache and mod_perl
AP_MODPERL_RUN_DEPENDS= ${MODPERL2_DEPS}
AP_MODFASTCGI_DESC= Deploy with apache and mod_fastcgi
AP_MODFASTCGI_USE= APACHE_RUN=22+
AP_MODFASTCGI_RUN_DEPENDS= ${LOCALBASE}/${APACHEMODDIR}/mod_fastcgi.so:www/mod_fastcgi \
${FASTCGI_DEPS}
EXTERNALAUTH_DESC= Extension to authenticate users against an external source
EXTERNALAUTH_DEPENDS= ${EXTERNALAUTH_DEPS}
LIGHTTPD_DESC= Deploy with lighttpd and mod_fastcgi
LIGHTTPD_RUN_DEPENDS= ${LOCALBASE}/sbin/lighttpd:www/lighttpd \
${FASTCGI_DEPS}
SPAWN_FCGI_DESC= Deploy with spawn_fcgi
SPAWN_FCGI_RUN_DEPENDS= ${LOCALBASE}/bin/spawn-fcgi:www/spawn-fcgi \
${FASTCGI_DEPS}
MYSQL_RUN_DEPENDS= ${MYSQL_DEPS}
MYSQL_VARS= DB_TYPE=mysql DB_DBA_USER=root
PGSQL_RUN_DEPENDS= ${PGSQL_DEPS}
PGSQL_VARS= DB_TYPE=Pg DB_DBA_USER=pgsql
SQLITE_RUN_DEPENDS= ${SQLITE_DEPS}
SQLITE_VARS= DB_TYPE=SQLite DB_DBA_USER=root
DEVELOPER_DESC= Configure for Developers
DEVELOPER_RUN_DEPENDS= ${DEVELOPER_DEPS}
DEVELOPER_CONFIGURE_ENABLE= developer
SMIME_DESC= Enable Secure MIME support
SMIME_RUN_DEPENDS= ${SMIME_DEPS}
SMIME_CONFIGURE_ENABLE= smime
GRAPHVIZ_RUN_DEPENDS= ${GRAPHVIZ_DEPS}
GRAPHVIZ_CONFIGURE_ENABLE= graphviz
GPG_DESC= Enable GnuPG support
GPG_RUN_DEPENDS= ${GPG_DEPS}
GPG_CONFIGURE_ENABLE= gpg
GD_DESC= Enable GD Graphs and Charts
GD_RUN_DEPENDS= ${GD_DEPS}
GD_CONFIGURE_ENABLE= gd
BUILD_DEPENDS+= ${RUN_DEPENDS}
DB_DBA_PASSWORD?=
DB_USER?= rt_user
DB_PASSWORD?= rt_pass
DB_HOST?= localhost
DB_DATABASE?= rt5
WEB_USER?= ${WWWOWN}
WEB_GROUP?= ${WWWGRP}
LIBS_GROUP?= wheel
HAS_CONFIGURE= yes
NO_BUILD= yes
CONFIGURE_ARGS+= --enable-layout=${RT_LAYOUT} \
--with-web-user=${WEB_USER} \
--with-web-group=${WEB_GROUP} \
--with-libs-group=${LIBS_GROUP} \
--with-db-host=${DB_HOST} \
--with-db-port=${DB_PORT} \
--with-db-type=${DB_TYPE} \
--with-db-rt-user=${DB_USER} \
--with-db-rt-pass=${DB_PASSWORD} \
--with-db-database=${DB_DATABASE} \
--with-db-dba=${DB_DBA_USER}
CONFIGURE_ENV+= PERL=${LOCALBASE}/bin/perl
SUB_FILES= pkg-message
SUB_LIST= RT_ETC_PATH=${RT_ETC_PATH}
PLIST_SUB= RT_ETC_DIR=${RT_ETC_DIR}
pre-fetch:
@${ECHO} ""
@${ECHO} "Additional database related settings you can use:"
@${ECHO} " DB_HOST=hostname The database host (localhost)"
@${ECHO} " DB_PORT=port The database port"
@${ECHO} " DB_DATABASE=dbname The database name (rt5)"
@${ECHO} ""
@${ECHO} " DB_DBA_USER=username Name of database administrator (root)"
@${ECHO} " DB_DBA_PASSWORD=password Password of database administrator"
@${ECHO} " DB_USER=username Name of database user for RT (rt_user)"
@${ECHO} " DB_PASSWORD=password Name of database password for RT (rt_pass)"
pre-fetch-SQLITE-on:
@${ECHO} ""
@${ECHO} "SQLITE is not recommended for production use"
post-patch:
@${RM} ${WRKSRC}/lib/RT.pm.in.orig
@${REINPLACE_CMD} -e 's!%%PREFIX%%!${PREFIX}!g' ${WRKSRC}/config.layout
@${REINPLACE_CMD} -e 's!%%SITE_PERL%%!${PREFIX}/${SITE_PERL_REL}!g' ${WRKSRC}/config.layout
@${REINPLACE_CMD} -e 's!/path/to/your/etc!${RT_ETC_PATH}!g' ${WRKSRC}/etc/RT_SiteConfig.pm
@${REINPLACE_CMD} -e 's!RT_ETC_DIR!${RT_ETC_DIR}!' ${WRKSRC}/sbin/rt-test-dependencies.in
pre-install:
@${RM} ${WRKSRC}/lib/RT.pm.in
post-install:
@${RM} -r ${STAGEDIR}/${WWWDIR}${PKGNAMESUFFIX}
${MKDIR} ${STAGEDIR}${DOCSDIR}/upgrade
(cd ${WRKSRC}/etc && \
${COPYTREE_SHARE} upgrade ${STAGEDIR}${DOCSDIR} "! -name *\.in")
.include <bsd.port.mk>
|