Gentoo Archives: gentoo-commits

From: "Aaron W. Swenson" <titanofold@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: www-apps/rt/
Date: Fri, 02 Aug 2019 10:10:26
Message-Id: 1564740604.004bdc640a10ed4dff0fea9fb833a3c7ae4ee827.titanofold@gentoo
1 commit: 004bdc640a10ed4dff0fea9fb833a3c7ae4ee827
2 Author: Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
3 AuthorDate: Fri Aug 2 10:08:18 2019 +0000
4 Commit: Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
5 CommitDate: Fri Aug 2 10:10:04 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=004bdc64
7
8 www-apps/rt: Bump to 4.4.4
9
10 Package-Manager: Portage-2.3.66, Repoman-2.3.11
11 Signed-off-by: Aaron W. Swenson <titanofold <AT> gentoo.org>
12
13 www-apps/rt/Manifest | 1 +
14 www-apps/rt/rt-4.4.4.ebuild | 308 ++++++++++++++++++++++++++++++++++++++++++++
15 2 files changed, 309 insertions(+)
16
17 diff --git a/www-apps/rt/Manifest b/www-apps/rt/Manifest
18 index 154b6649e6a..93b2a75fd49 100644
19 --- a/www-apps/rt/Manifest
20 +++ b/www-apps/rt/Manifest
21 @@ -1,2 +1,3 @@
22 DIST rt-4.4.2.tar.gz 9572361 BLAKE2B 26e14c187a6d1d741706e4ec1d3a0c718238c63faea6de6ace7c48fb54581b039897c3244f70421d915f5986fa60aa2c19df5f1a0504658f4b00fc4e7f72151d SHA512 23e318d10c49d39c1542664efa2b9f98d1dcd613c279dc8ceca0ad9aed89a5d989316e833492ed3281543ec85f6e0f5141a86f70852776bf0d54166aa126431e
23 DIST rt-4.4.3.tar.gz 9584927 BLAKE2B 9667e37a0f161d41ac1230e8573d05716ac17325d06924acf036d6098116a31e6e271d3a37ef4a415d1ff8dc04e28011b5125eebf2ad00d0b29702dba96730e1 SHA512 0b0b67e4716467aa5361c2756cee4caf661ba7377f0abc84e915cc9a300e7f93c41569d28375c295c2604a1e5fbaca48267920f9d21c2eca76c29bf5b0a45a49
24 +DIST rt-4.4.4.tar.gz 9977845 BLAKE2B bc27a68c880d305e43069887bd4c2dbf09e82413ee9b7f1e0e19252ad5249430f17bd980c94a4c74386a8c7fefc79af50a0e572adbb0ef707e46a4be63e8d3e4 SHA512 95335cfa9e7107300670a5e8631ffb6f402895dae051201d051ac01885b0cb185f838a666acaec773e0f670e1b9d16b7cede72f37ce9832fd83a9da8514e6972
25
26 diff --git a/www-apps/rt/rt-4.4.4.ebuild b/www-apps/rt/rt-4.4.4.ebuild
27 new file mode 100644
28 index 00000000000..97b2f5e9c73
29 --- /dev/null
30 +++ b/www-apps/rt/rt-4.4.4.ebuild
31 @@ -0,0 +1,308 @@
32 +# Copyright 1999-2019 Gentoo Authors
33 +# Distributed under the terms of the GNU General Public License v2
34 +
35 +EAPI=6
36 +
37 +inherit webapp eutils depend.apache user
38 +
39 +DESCRIPTION="RT is an enterprise-grade ticketing system"
40 +HOMEPAGE="https://www.bestpractical.com/rt/"
41 +SRC_URI="https://download.bestpractical.com/pub/${PN}/release/${P}.tar.gz"
42 +
43 +KEYWORDS="~amd64"
44 +LICENSE="GPL-2"
45 +IUSE="mysql +postgres fastcgi lighttpd"
46 +REQUIRED_USE="^^ ( mysql postgres )"
47 +
48 +RESTRICT="test"
49 +
50 +DEPEND="
51 + >=dev-lang/perl-5.10.1
52 +
53 + >=dev-perl/Apache-Session-1.53
54 + >=dev-perl/CGI-4
55 + >=dev-perl/CSS-Squish-0.06
56 + >=dev-perl/Class-Accessor-0.34
57 + >=dev-perl/Class-ReturnValue-0.550.0-r1
58 + >=dev-perl/DBI-1.37
59 + >=dev-perl/Date-Extract-0.02
60 + >=dev-perl/DateTime-Format-Natural-0.67
61 + >=dev-perl/Devel-StackTrace-1.19
62 + >=dev-perl/Email-Address-1.912.0
63 + >=dev-perl/Email-Address-List-0.60.0
64 + >=dev-perl/HTML-FormatText-WithLinks-0.14
65 + >=dev-perl/HTML-Mason-1.43
66 + >=dev-perl/HTML-Scrubber-0.08
67 + >=dev-perl/HTTP-Server-Simple-0.34
68 + >=dev-perl/HTTP-Server-Simple-Mason-0.14
69 + >=dev-perl/Locale-Maketext-Lexicon-0.32
70 + >=dev-perl/Log-Dispatch-2.410.0
71 + >=dev-perl/MIME-tools-5.425
72 + >=dev-perl/MailTools-1.60
73 + >=dev-perl/Module-Versions-Report-1.05
74 + >=dev-perl/Role-Basic-0.12
75 + >=dev-perl/Symbol-Global-Name-0.04
76 + >=dev-perl/Text-Quoted-2.80.0
77 + >=dev-perl/Text-WikiFormat-0.76
78 + >=dev-perl/Tree-Simple-1.04
79 + >=dev-perl/XML-RSS-1.05
80 + >=dev-perl/DBIx-SearchBuilder-1.660.0
81 + >=virtual/perl-Digest-MD5-2.27
82 + >=virtual/perl-Encode-2.730.0
83 + >=virtual/perl-File-Spec-0.8
84 + >=virtual/perl-Getopt-Long-2.24
85 + >=virtual/perl-Locale-Maketext-1.06
86 + >=virtual/perl-Storable-2.08
87 + dev-perl/Business-Hours
88 + dev-perl/CGI-Emulate-PSGI
89 + dev-perl/CGI-PSGI
90 + dev-perl/Cache-Simple-TimedExpiry
91 + dev-perl/Calendar-Simple
92 + dev-perl/Convert-Color
93 + dev-perl/Crypt-Eksblowfish
94 + dev-perl/Crypt-SSLeay
95 + dev-perl/Crypt-X509
96 + dev-perl/CSS-Minifier-XS
97 + dev-perl/Data-Page-Pageset
98 + dev-perl/DBD-SQLite
99 + dev-perl/Data-GUID
100 + dev-perl/Data-ICal
101 + dev-perl/Date-Manip
102 + dev-perl/Devel-GlobalDestruction
103 + dev-perl/File-ShareDir
104 + dev-perl/File-Which
105 + dev-perl/GDGraph
106 + dev-perl/GDTextUtil
107 + dev-perl/GD[png,gif]
108 + dev-perl/GnuPG-Interface
109 + dev-perl/GraphViz
110 + dev-perl/HTML-Formatter
111 + dev-perl/HTML-FormatText-WithLinks-AndTables
112 + dev-perl/HTML-Gumbo
113 + dev-perl/HTML-Mason-PSGIHandler
114 + dev-perl/HTML-Parser
115 + dev-perl/HTML-Quoted
116 + dev-perl/HTML-RewriteAttributes
117 + dev-perl/HTML-Tree
118 + dev-perl/IPC-Run3
119 + dev-perl/JSON
120 + dev-perl/JavaScript-Minifier-XS
121 + dev-perl/MIME-Types
122 + dev-perl/Module-Refresh
123 + dev-perl/Mozilla-CA
124 + dev-perl/Net-CIDR
125 + dev-perl/PerlIO-eol
126 + dev-perl/Plack
127 + dev-perl/Regexp-Common-net-CIDR
128 + dev-perl/Regexp-IPv6
129 + dev-perl/Scope-Upper
130 + dev-perl/Starlet
131 + dev-perl/String-ShellQuote
132 + dev-perl/TermReadKey
133 + dev-perl/Text-Autoformat
134 + dev-perl/Text-Password-Pronounceable
135 + dev-perl/Time-ParseDate
136 + dev-perl/TimeDate
137 + dev-perl/UNIVERSAL-require
138 + dev-perl/libwww-perl
139 + dev-perl/Locale-Maketext-Fuzzy
140 + dev-perl/Net-IP
141 + dev-perl/Net-Server
142 + dev-perl/Regexp-Common
143 + dev-perl/Text-Template
144 + dev-perl/Text-Wrapper
145 + virtual/perl-Digest
146 + virtual/perl-File-Temp
147 + virtual/perl-Scalar-List-Utils
148 + virtual/perl-Time-HiRes
149 + virtual/perl-libnet
150 +
151 + fastcgi? (
152 + dev-perl/FCGI
153 + dev-perl/FCGI-ProcManager
154 + )
155 + !lighttpd? (
156 + dev-perl/Apache-DBI
157 + !fastcgi? ( >=www-apache/mod_perl-2 )
158 + )
159 + lighttpd? ( dev-perl/FCGI )
160 + mysql? ( >=dev-perl/DBD-mysql-2.1018 )
161 + postgres? ( >=dev-perl/DBD-Pg-1.43 )
162 +"
163 +
164 +RDEPEND="${DEPEND}
165 + virtual/mta
166 + !lighttpd? ( ${APACHE2_DEPEND} )
167 + lighttpd? (
168 + >=www-servers/lighttpd-1.3.13
169 + sys-apps/openrc
170 + )
171 +"
172 +
173 +need_httpd_cgi
174 +
175 +add_user_rt() {
176 + # add new user
177 + # suexec2 requires uid >= 1000; enewuser is of no help here
178 + # From: Mike Frysinger <vapier@g.o>
179 + # Date: Fri, 17 Jun 2005 08:41:44 -0400
180 + # i'd pick a 5 digit # if i were you
181 +
182 + local euser="rt"
183 +
184 + # first check if username rt exists
185 + if [[ ${euser} == $(egetent passwd "${euser}" | cut -d: -f1) ]] ; then
186 + # check uid
187 + rt_uid=$(egetent passwd "${euser}" | cut -d: -f3)
188 + if $(expr ${rt_uid} '<' 1000 > /dev/null); then
189 + ewarn "uid of user rt is less than 1000. suexec2 will not work."
190 + ewarn "If you want to use FastCGI, please delete the user 'rt'"
191 + ewarn "from your system and re-emerge www-apps/rt"
192 + fi
193 + return 0 # all is well
194 + fi
195 +
196 + # add user
197 + # stolen from enewuser
198 + local pwrange euid
199 +
200 + pwrange=$(seq 10001 11001)
201 + for euid in ${pwrange} ; do
202 + [[ -z $(egetent passwd ${euid}) ]] && break
203 + done
204 + if [[ ${euid} == "11001" ]]; then
205 + # she gets around, doesn't she?
206 + die "No available uid's found"
207 + fi
208 +
209 + elog " - Userid: ${euid}"
210 +
211 + enewuser rt ${euid} -1 /dev/null rt
212 + return 0
213 +}
214 +
215 +pkg_setup() {
216 + webapp_pkg_setup
217 +
218 + ewarn
219 + ewarn "If you are upgrading from an existing RT installation"
220 + ewarn "make sure to read the related upgrade documentation in"
221 + ewarn "${ROOT}usr/share/doc/${PF}."
222 + ewarn
223 +
224 + enewgroup rt
225 + add_user_rt || die "Could not add user"
226 +}
227 +
228 +src_prepare() {
229 + # add Gentoo-specific layout
230 + cat "${FILESDIR}"/config.layout-gentoo >> config.layout
231 + sed -e "s|PREFIX|${ED}/${MY_HOSTROOTDIR}/${PF}|g" \
232 + -e "s|HTMLDIR|${ED}/${MY_HTDOCSDIR}|g" \
233 + -e 's|/\+|/|g' \
234 + -i ./config.layout || die 'config sed failed'
235 +
236 + # don't need to check dev dependencies
237 + sed -e "s|\$args{'with-DEV'} =1;|#\$args{'with-DEV'} =1;|" \
238 + -i sbin/rt-test-dependencies.in || die 'dev sed failed'
239 +
240 + eapply "${FILESDIR}/rt-makefile-serialize-install-prereqs.patch"
241 + eapply_user
242 +}
243 +
244 +src_configure() {
245 + local web
246 + local myconf
247 + local depsconf
248 +
249 + if use mysql ; then
250 + myconf="--with-db-type=mysql --with-db-dba=root"
251 + depsconf="--with-MYSQL"
252 + elif use postgres ; then
253 + myconf="--with-db-type=Pg --with-db-dba=postgres"
254 + depsconf="--with-PG"
255 + else
256 + die "Pick a database backend"
257 + fi
258 +
259 + if use fastcgi ; then
260 + myconf+=" --with-web-handler=fastcgi"
261 + web="apache"
262 + depsconf+=" --with-FASTCGI"
263 + elif use lighttpd ; then
264 + myconf+=" --with-web-handler=fastcgi"
265 + web="lighttpd"
266 + depsconf+=" --with-FASTCGI"
267 + else
268 + myconf+=" --with-web-handler=modperl2"
269 + web="apache"
270 + depsconf+=" --with-MODPERL2"
271 + fi
272 + # Any loading Date::Manip from here on
273 + # may fail if TZ=Factory as it is on gentoo install
274 + # media ( affects install as well )
275 + export TZ=UTC
276 +
277 + ./configure --enable-layout=Gentoo \
278 + --with-bin-owner=rt \
279 + --with-libs-owner=rt \
280 + --with-libs-group=rt \
281 + --with-rt-group=rt \
282 + --with-web-user=${web} \
283 + --with-web-group=${web} \
284 + ${myconf}
285 +
286 + # check for missing deps and ask to report if something is broken
287 + /usr/bin/perl ./sbin/rt-test-dependencies ${depsconf} > "${T}"/t
288 + if grep -q "MISSING" "${T}"/t; then
289 + ewarn "Missing Perl dependency!"
290 + ewarn
291 + cat "${T}"/t | grep MISSING
292 + ewarn
293 + ewarn "Please run perl-cleaner. If the problem persists,"
294 + ewarn "please file a bug in the Gentoo Bugzilla with the information above"
295 + die "Missing dependencies."
296 + fi
297 +}
298 +
299 +src_compile() { :; }
300 +
301 +src_install() {
302 + webapp_src_preinst
303 + emake install
304 +
305 + dodoc -r docs/*
306 + # Disable compression because `perldoc` doesn't decompress transparently
307 + docompress -x /usr/share/doc
308 +
309 + # make sure we don't clobber existing site configuration
310 + rm -f "${ED}"/${MY_HOSTROOTDIR}/${PF}/etc/RT_SiteConfig.pm
311 +
312 + # fix paths
313 + find "${ED}" -type f -print0 | xargs -0 sed -i -e "s:${ED}::g"
314 +
315 + # copy upgrade files
316 + insinto "${MY_HOSTROOTDIR}/${PF}"
317 + doins -r etc/upgrade
318 +
319 + # require the web server's permissions
320 + webapp_serverowned "${MY_HOSTROOTDIR}"/${PF}/var
321 + webapp_serverowned "${MY_HOSTROOTDIR}"/${PF}/var/mason_data/obj
322 +
323 + webapp_postinst_txt en "${FILESDIR}"/postinstall-en.txt
324 + webapp_hook_script "${FILESDIR}"/reconfig
325 +
326 + webapp_src_install
327 +}
328 +
329 +pkg_postinst() {
330 + webapp_pkg_postinst
331 +
332 + if use lighttpd ; then
333 + elog "We no longer install initscripts as Best Practical's recommended"
334 + elog "implementation is to let Lighttpd manage the FastCGI instance."
335 + elog
336 + elog "You may find the following helpful:"
337 + elog " perldoc /usr/share/doc/${P}/web_deployment.pod"
338 + fi
339 +}