summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'www-apps/rt/rt-4.4.2.ebuild')
-rw-r--r--www-apps/rt/rt-4.4.2.ebuild306
1 files changed, 306 insertions, 0 deletions
diff --git a/www-apps/rt/rt-4.4.2.ebuild b/www-apps/rt/rt-4.4.2.ebuild
new file mode 100644
index 00000000000..3148082aaf3
--- /dev/null
+++ b/www-apps/rt/rt-4.4.2.ebuild
@@ -0,0 +1,306 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit webapp eutils depend.apache user
+
+DESCRIPTION="RT is an enterprise-grade ticketing system"
+HOMEPAGE="http://www.bestpractical.com/rt/"
+SRC_URI="http://download.bestpractical.com/pub/${PN}/release/${P}.tar.gz"
+
+KEYWORDS="~amd64"
+LICENSE="GPL-2"
+IUSE="mysql +postgres fastcgi lighttpd"
+REQUIRED_USE="^^ ( mysql postgres )"
+
+RESTRICT="test"
+
+DEPEND="
+ >=dev-lang/perl-5.10.1
+
+ >=dev-perl/Apache-Session-1.53
+ >=dev-perl/CGI-4
+ >=dev-perl/CSS-Squish-0.06
+ >=dev-perl/Class-Accessor-0.34
+ >=dev-perl/Class-ReturnValue-0.550.0-r1
+ >=dev-perl/DBI-1.37
+ >=dev-perl/Date-Extract-0.02
+ >=dev-perl/DateTime-Format-Natural-0.67
+ >=dev-perl/Devel-StackTrace-1.19
+ >=dev-perl/Email-Address-1.908.0
+ >=dev-perl/HTML-FormatText-WithLinks-0.14
+ >=dev-perl/HTML-Mason-1.43
+ >=dev-perl/HTML-Scrubber-0.08
+ >=dev-perl/HTTP-Server-Simple-0.34
+ >=dev-perl/HTTP-Server-Simple-Mason-0.14
+ >=dev-perl/Locale-Maketext-Lexicon-0.32
+ >=dev-perl/Log-Dispatch-2.410.0
+ >=dev-perl/MIME-tools-5.425
+ >=dev-perl/MailTools-1.60
+ >=dev-perl/Module-Versions-Report-1.05
+ >=dev-perl/Role-Basic-0.12
+ >=dev-perl/Symbol-Global-Name-0.04
+ >=dev-perl/Text-Quoted-2.80.0
+ >=dev-perl/Text-WikiFormat-0.76
+ >=dev-perl/Tree-Simple-1.04
+ >=dev-perl/XML-RSS-1.05
+ >=dev-perl/DBIx-SearchBuilder-1.660.0
+ >=virtual/perl-Digest-MD5-2.27
+ >=virtual/perl-Encode-2.730.0
+ >=virtual/perl-File-Spec-0.8
+ >=virtual/perl-Getopt-Long-2.24
+ >=virtual/perl-Locale-Maketext-1.06
+ >=virtual/perl-Storable-2.08
+ dev-perl/Business-Hours
+ dev-perl/CGI-Emulate-PSGI
+ dev-perl/CGI-PSGI
+ dev-perl/Cache-Simple-TimedExpiry
+ dev-perl/Calendar-Simple
+ dev-perl/Convert-Color
+ dev-perl/Crypt-Eksblowfish
+ dev-perl/Crypt-SSLeay
+ dev-perl/Crypt-X509
+ dev-perl/CSS-Minifier-XS
+ dev-perl/Data-Page-Pageset
+ dev-perl/DBD-SQLite
+ dev-perl/Data-GUID
+ dev-perl/Data-ICal
+ dev-perl/Date-Manip
+ dev-perl/Devel-GlobalDestruction
+ dev-perl/Email-Address-List
+ dev-perl/File-ShareDir
+ dev-perl/File-Which
+ dev-perl/GDGraph
+ dev-perl/GDTextUtil
+ dev-perl/GD[png,gif]
+ dev-perl/GnuPG-Interface
+ dev-perl/GraphViz
+ dev-perl/HTML-Formatter
+ dev-perl/HTML-FormatText-WithLinks-AndTables
+ dev-perl/HTML-Mason-PSGIHandler
+ dev-perl/HTML-Parser
+ dev-perl/HTML-Quoted
+ dev-perl/HTML-RewriteAttributes
+ dev-perl/HTML-Tree
+ dev-perl/IPC-Run3
+ dev-perl/JSON
+ dev-perl/JavaScript-Minifier-XS
+ dev-perl/MIME-Types
+ dev-perl/Module-Refresh
+ dev-perl/Mozilla-CA
+ dev-perl/Net-CIDR
+ dev-perl/PerlIO-eol
+ dev-perl/Plack
+ dev-perl/Regexp-Common-net-CIDR
+ dev-perl/Regexp-IPv6
+ dev-perl/Scope-Upper
+ dev-perl/Starlet
+ dev-perl/String-ShellQuote
+ dev-perl/TermReadKey
+ dev-perl/Text-Autoformat
+ dev-perl/Text-Password-Pronounceable
+ dev-perl/Time-ParseDate
+ dev-perl/TimeDate
+ dev-perl/UNIVERSAL-require
+ dev-perl/libwww-perl
+ dev-perl/Locale-Maketext-Fuzzy
+ dev-perl/Net-IP
+ dev-perl/Net-Server
+ dev-perl/Regexp-Common
+ dev-perl/Text-Template
+ dev-perl/Text-Wrapper
+ virtual/perl-Digest
+ virtual/perl-File-Temp
+ virtual/perl-Scalar-List-Utils
+ virtual/perl-Time-HiRes
+ virtual/perl-libnet
+
+ fastcgi? (
+ dev-perl/FCGI
+ dev-perl/FCGI-ProcManager
+ )
+ !lighttpd? (
+ dev-perl/Apache-DBI
+ !fastcgi? ( >=www-apache/mod_perl-2 )
+ )
+ lighttpd? ( dev-perl/FCGI )
+ mysql? ( >=dev-perl/DBD-mysql-2.1018 )
+ postgres? ( >=dev-perl/DBD-Pg-1.43 )
+"
+
+RDEPEND="${DEPEND}
+ virtual/mta
+ !lighttpd? ( ${APACHE2_DEPEND} )
+ lighttpd? (
+ >=www-servers/lighttpd-1.3.13
+ sys-apps/openrc
+ )
+"
+
+need_httpd_cgi
+
+add_user_rt() {
+ # add new user
+ # suexec2 requires uid >= 1000; enewuser is of no help here
+ # From: Mike Frysinger <vapier@gentoo.org>
+ # Date: Fri, 17 Jun 2005 08:41:44 -0400
+ # i'd pick a 5 digit # if i were you
+
+ local euser="rt"
+
+ # first check if username rt exists
+ if [[ ${euser} == $(egetent passwd "${euser}" | cut -d: -f1) ]] ; then
+ # check uid
+ rt_uid=$(egetent passwd "${euser}" | cut -d: -f3)
+ if $(expr ${rt_uid} '<' 1000 > /dev/null); then
+ ewarn "uid of user rt is less than 1000. suexec2 will not work."
+ ewarn "If you want to use FastCGI, please delete the user 'rt'"
+ ewarn "from your system and re-emerge www-apps/rt"
+ fi
+ return 0 # all is well
+ fi
+
+ # add user
+ # stolen from enewuser
+ local pwrange euid
+
+ pwrange=$(seq 10001 11001)
+ for euid in ${pwrange} ; do
+ [[ -z $(egetent passwd ${euid}) ]] && break
+ done
+ if [[ ${euid} == "11001" ]]; then
+ # she gets around, doesn't she?
+ die "No available uid's found"
+ fi
+
+ elog " - Userid: ${euid}"
+
+ enewuser rt ${euid} -1 /dev/null rt
+ return 0
+}
+
+pkg_setup() {
+ webapp_pkg_setup
+
+ ewarn
+ ewarn "If you are upgrading from an existing RT installation"
+ ewarn "make sure to read the related upgrade documentation in"
+ ewarn "${ROOT}usr/share/doc/${PF}."
+ ewarn
+
+ enewgroup rt
+ add_user_rt || die "Could not add user"
+}
+
+src_prepare() {
+ # add Gentoo-specific layout
+ cat "${FILESDIR}"/config.layout-gentoo >> config.layout
+ sed -e "s|PREFIX|${ED}/${MY_HOSTROOTDIR}/${PF}|g" \
+ -e "s|HTMLDIR|${ED}/${MY_HTDOCSDIR}|g" \
+ -e 's|/\+|/|g' \
+ -i ./config.layout || die 'config sed failed'
+
+ # don't need to check dev dependencies
+ sed -e "s|\$args{'with-DEV'} =1;|#\$args{'with-DEV'} =1;|" \
+ -i sbin/rt-test-dependencies.in || die 'dev sed failed'
+
+ epatch "${FILESDIR}/rt-makefile-serialize-install-prereqs.patch"
+}
+
+src_configure() {
+ local web
+ local myconf
+ local depsconf
+
+ if use mysql ; then
+ myconf="--with-db-type=mysql --with-db-dba=root"
+ depsconf="--with-MYSQL"
+ elif use postgres ; then
+ myconf="--with-db-type=Pg --with-db-dba=postgres"
+ depsconf="--with-PG"
+ else
+ die "Pick a database backend"
+ fi
+
+ if use fastcgi ; then
+ myconf+=" --with-web-handler=fastcgi"
+ web="apache"
+ depsconf+=" --with-FASTCGI"
+ elif use lighttpd ; then
+ myconf+=" --with-web-handler=fastcgi"
+ web="lighttpd"
+ depsconf+=" --with-FASTCGI"
+ else
+ myconf+=" --with-web-handler=modperl2"
+ web="apache"
+ depsconf+=" --with-MODPERL2"
+ fi
+ # Any loading Date::Manip from here on
+ # may fail if TZ=Factory as it is on gentoo install
+ # media ( affects install as well )
+ export TZ=UTC
+
+ ./configure --enable-layout=Gentoo \
+ --with-bin-owner=rt \
+ --with-libs-owner=rt \
+ --with-libs-group=rt \
+ --with-rt-group=rt \
+ --with-web-user=${web} \
+ --with-web-group=${web} \
+ ${myconf}
+
+ # check for missing deps and ask to report if something is broken
+ /usr/bin/perl ./sbin/rt-test-dependencies ${depsconf} > "${T}"/t
+ if grep -q "MISSING" "${T}"/t; then
+ ewarn "Missing Perl dependency!"
+ ewarn
+ cat "${T}"/t | grep MISSING
+ ewarn
+ ewarn "Please run perl-cleaner. If the problem persists,"
+ ewarn "please file a bug in the Gentoo Bugzilla with the information above"
+ die "Missing dependencies."
+ fi
+}
+
+src_compile() { :; }
+
+src_install() {
+ webapp_src_preinst
+ emake install
+
+ dodoc -r docs/*
+ # Disable compression because `perldoc` doesn't decompress transparently
+ docompress -x /usr/share/doc
+
+ # make sure we don't clobber existing site configuration
+ rm -f "${ED}"/${MY_HOSTROOTDIR}/${PF}/etc/RT_SiteConfig.pm
+
+ # fix paths
+ find "${ED}" -type f -print0 | xargs -0 sed -i -e "s:${ED}::g"
+
+ # copy upgrade files
+ insinto "${MY_HOSTROOTDIR}/${PF}"
+ doins -r etc/upgrade
+
+ # require the web server's permissions
+ webapp_serverowned "${MY_HOSTROOTDIR}"/${PF}/var
+ webapp_serverowned "${MY_HOSTROOTDIR}"/${PF}/var/mason_data/obj
+
+ webapp_postinst_txt en "${FILESDIR}"/postinstall-en.txt
+ webapp_hook_script "${FILESDIR}"/reconfig
+
+ webapp_src_install
+}
+
+pkg_postinst() {
+ webapp_pkg_postinst
+
+ if use lighttpd ; then
+ elog "We no longer install initscripts as Best Practical's recommended"
+ elog "implementation is to let Lighttpd manage the FastCGI instance."
+ elog
+ elog "You may find the following helpful:"
+ elog " perldoc /usr/share/doc/${P}/web_deployment.pod"
+ fi
+}