commit: e6d148f87ec34a6a433d80d3a57fde9c9e78f70d Author: Aaron W. Swenson <titanofold <AT> gentoo <DOT> org> AuthorDate: Fri Jan 26 16:59:37 2018 +0000 Commit: Aaron Swenson <titanofold <AT> gentoo <DOT> org> CommitDate: Fri Jan 26 17:00:00 2018 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e6d148f8
www-apps/rt: Bump to 4.4.2 Bug: https://bugs.gentoo.org/626196 Package-Manager: Portage-2.3.19, Repoman-2.3.6 www-apps/rt/Manifest | 1 + www-apps/rt/rt-4.4.2.ebuild | 306 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 307 insertions(+) diff --git a/www-apps/rt/Manifest b/www-apps/rt/Manifest index e1efb22407f..936a0a859d0 100644 --- a/www-apps/rt/Manifest +++ b/www-apps/rt/Manifest @@ -1,2 +1,3 @@ DIST rt-4.2.12.tar.gz 7537620 BLAKE2B 3dc678a99f00fe26bbf483c73211563a121b77f06f6414d1ba67dff2c95b168f299c2a7e665256c8c9e8d0bd3c0eddfca505c1fb3648244a157412428b256132 SHA512 e816c5481bdb158209bd78bc82af4abc0243af500abe55ae3aac666259e983282d82577de6207899745b4781fb0a50d3094901a248e7ac958dd852343b6f2676 DIST rt-4.4.1.tar.gz 9057212 BLAKE2B faaf27bdfe131dc02cc308dcada674885fbe7d2711bab70e0c0dfdb18bdcf2aaf1e10c82b5064626965be04313a2693e9c36a34ed58c28adc55586e5575ae203 SHA512 2cb797e013b14201ececec2c408257fe3a998fefdafd0944efda0236caac40be4cc45878cbda7bf9ae82b3757de6167263db2b90331d925db1f916a8420adf94 +DIST rt-4.4.2.tar.gz 9572361 BLAKE2B 26e14c187a6d1d741706e4ec1d3a0c718238c63faea6de6ace7c48fb54581b039897c3244f70421d915f5986fa60aa2c19df5f1a0504658f4b00fc4e7f72151d SHA512 23e318d10c49d39c1542664efa2b9f98d1dcd613c279dc8ceca0ad9aed89a5d989316e833492ed3281543ec85f6e0f5141a86f70852776bf0d54166aa126431e 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 <vap...@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 +}