summaryrefslogtreecommitdiff
path: root/www-apps/rt
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-10-02 01:26:11 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-10-02 01:26:11 +0100
commitd39b2406e1496a2848b3f450a5737ae3dbd8c6f7 (patch)
tree2f21fa7a75d2873c67fb5d3faab2a0f60fb785ce /www-apps/rt
parent95ce69d324747e9aa715e1761abab42204529b28 (diff)
gentoo auto-resync : 02:10:2024 - 01:26:10
Diffstat (limited to 'www-apps/rt')
-rw-r--r--www-apps/rt/Manifest7
-rw-r--r--www-apps/rt/files/config.layout-gentoo26
-rw-r--r--www-apps/rt/files/postinstall-en.txt19
-rw-r--r--www-apps/rt/files/reconfig56
-rw-r--r--www-apps/rt/files/rt-makefile-serialize-install-prereqs.patch12
-rw-r--r--www-apps/rt/metadata.xml17
-rw-r--r--www-apps/rt/rt-5.0.6.ebuild260
7 files changed, 397 insertions, 0 deletions
diff --git a/www-apps/rt/Manifest b/www-apps/rt/Manifest
new file mode 100644
index 000000000000..d873f758e6b1
--- /dev/null
+++ b/www-apps/rt/Manifest
@@ -0,0 +1,7 @@
+AUX config.layout-gentoo 741 BLAKE2B 9d817baa9be850f9da41cdbd9db49b2bc3fbfc394bbe2ea0cd66dc497f43cb426c83765cff371ab9c922d24cd0b57cb58f205bf954b8239c6f1c6478d0626159 SHA512 d3cb968a528ccb19f64ef249f2df503e82d1763a22ea939cd202b9a0626c1d335e2b8a8db65b191e2cff105926e422670c6d435b579069a10d9c433e6bd1e0fb
+AUX postinstall-en.txt 620 BLAKE2B a57e1a705fa31a2c5abb080be8e9ddea41017132c51429eb89b2ccf6f39b2052cab9d3b04b99aa0eb403187db809c8c0b35d13aa72123a0e1ec7fb75cc308383 SHA512 473acd53f962299a96b012b6c6e044590feb347efed208158ac8a1d4722c673fcddde2487556cf40fb97d201608fe066a9c243cd3f1682bea5e4039a4b5fb8dd
+AUX reconfig 2133 BLAKE2B fb5fdf3d68c1ff06b0e1becd25594b4544515aea3399ef2a563cbc541aa8ccf18f0781cbd08f97504bba0980010a7756a657c5ca0d7caa227cebf15b0d0f3231 SHA512 bfeedd02918240fb1b79fe9a5f62b6bda85e3f9df2c55dd9a93deb490495bb269579a999a71bd135fe43f247774039e34947c39689461ef4083b482f02fa3c56
+AUX rt-makefile-serialize-install-prereqs.patch 543 BLAKE2B 543b6e449635278aa6f114280acd4b882115bcc22f06815bc448907ca7e03ad230671e278f382de38c902075f1e345d6404b1df4d4114deb81cb1db8da555ad4 SHA512 9ba05dfe85f9575abccce23fff4b92a55890a8b657a60f00f436b15549ea8d354cf51b2d653372d199be01beb0c64a11f2f135123085a8c60af2e96fd57e8d1d
+DIST rt-5.0.6.tar.gz 19771599 BLAKE2B c4bfe5fc869f502ff27436fd53c1279144c6461102bd24d42aff1b7e7523dc3149dd5ab8fbdd5882d88a89960b32fd6a89df776b9fc0434969e98c346785f3b3 SHA512 7743967b55ad9eb606d09fc84d6ec2067431bc438515f5ec83b87222b2591e46002782f96c2fb488b5269875eb86dc0f96923dfb677239ed561494ec60db18c8
+EBUILD rt-5.0.6.ebuild 6432 BLAKE2B b7745b15cada24b64c31df0a17affbdacc16bace6b5d4022a395557fb4d6f1d91ba075ae2002fc8b9398d47ceab91a4d19643866148f31372bd4ef27c860c22a SHA512 588b0704312c6965889642503e8ec7ac5fcf4c0e123134dd2be3ba514869daa96fbf085286f7b2a8c881954959053f4459d55df5b17f2385ad523dfe02479d87
+MISC metadata.xml 595 BLAKE2B 421d99335da7358ed5669c9557912f355bed71f2df383354c4515355ca79e5c7788f2cb362e3cf54848bc0dda53be50d3a0437d438d6282682c3f7421b3750c2 SHA512 820114ed922534ace1f18028e1e01f16cfdaf9b15dab62868b74eb4cd3f778973c5ee6aaaabfb3c5e9c3e04b9edec0f62f939392b24e2d124616b29782bc4d1b
diff --git a/www-apps/rt/files/config.layout-gentoo b/www-apps/rt/files/config.layout-gentoo
new file mode 100644
index 000000000000..39dde0a3a7ba
--- /dev/null
+++ b/www-apps/rt/files/config.layout-gentoo
@@ -0,0 +1,26 @@
+
+<Layout Gentoo>
+ prefix: PREFIX
+ exec_prefix: ${prefix}
+ bindir: ${exec_prefix}/bin
+ sbindir: ${exec_prefix}/sbin
+ sysconfdir: ${prefix}/etc
+ mandir: ${prefix}/man
+ libdir: ${prefix}/lib
+ datadir: ${prefix}/share
+ htmldir: HTMLDIR
+ fontdir: ${datadir}/fonts
+ lexdir: ${datadir}/po
+ manualdir: ${datadir}/doc
+ staticdir: ${datadir}/static
+ localstatedir: ${prefix}/var
+ logfiledir: ${localstatedir}/log
+ masonstatedir: ${localstatedir}/mason_data
+ sessionstatedir: ${localstatedir}/session_data
+ customdir: ${prefix}/local
+ custometcdir: ${customdir}/etc
+ customhtmldir: ${customdir}/html
+ customlexdir: ${customdir}/po
+ customstaticdir: ${customdir}/static
+ customlibdir: ${customdir}/lib
+</Layout>
diff --git a/www-apps/rt/files/postinstall-en.txt b/www-apps/rt/files/postinstall-en.txt
new file mode 100644
index 000000000000..daa11ed9d14c
--- /dev/null
+++ b/www-apps/rt/files/postinstall-en.txt
@@ -0,0 +1,19 @@
+Please follow the Gentoo install guide found at:
+
+ https://wiki.gentoo.org/wiki/Request_Tracker
+
+Your local config files are located here:
+
+ ${VHOST_ROOT}/${PN}-${PVR}/etc
+
+************************************************************************
+* NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE *
+************************************************************************
+
+Some file locations have changed. Everything is now installed, for real
+this time, into:
+
+ ${VHOST_ROOT}
+
+RT executables are no longer in /usr/bin. You may need to modify your
+existing configuration files accordingly.
diff --git a/www-apps/rt/files/reconfig b/www-apps/rt/files/reconfig
new file mode 100644
index 000000000000..9a1919965386
--- /dev/null
+++ b/www-apps/rt/files/reconfig
@@ -0,0 +1,56 @@
+#!/bin/bash
+PF=${PN}-${PVR}
+
+die() {
+ echo "#####"
+ echo $1
+ echo "#####"
+ exit 1
+}
+
+if [ $1 = "install" ]; then
+ # So, some craziness happens during the install process. First, we
+ # have doubled slashes, which the ebuild dutifully removes, but
+ # then, at some point, ${ED} is removed including its trailing
+ # slash, which leaves us with relative path references. That's why
+ # we remove the leading slash instead of the trailing slash in the
+ # variables below so that the sed statement will actually match
+ # what we mean.
+ echo "Replacing ${ROOT#/}${MY_HOSTROOTDIR#/} with ${VHOST_ROOT}/${PF}"
+ echo "Replacing ${ROOT#/}${MY_HTDOCSDIR#/} with ${MY_INSTALLDIR}"
+ echo "Replacing RT_DIR with ${VHOST_ROOT}/${PF}"
+
+ for file in $(find ${VHOST_ROOT}/${PF} -type f) ; do
+ sed -e "s|${ROOT#/}${MY_HOSTROOTDIR#/}/${PF}|${VHOST_ROOT}/${PF}|g" \
+ -e "s|${ROOT#/}${MY_HTDOCSDIR#/}|${MY_INSTALLDIR}|g" \
+ -e "s|RT_DIR|${VHOST_ROOT}/${PF}|g" \
+ -i "${file}" || die
+ done
+
+ echo
+ echo "If you're upgrading RT, you may need to update your database."
+ echo "Take a look in:"
+ echo
+ echo " ${VHOST_ROOT}/${PF}/upgrade"
+ echo
+ echo "Iterate through each sub-directory, in order, whose name is greater"
+ echo "than your previously installed RT version, and run the following"
+ echo "commands:"
+ echo
+ for step in schema acl insert ; do
+ echo " ${VHOST_ROOT}/${PF}/sbin/rt-setup-database \\"
+ echo " --action ${step} --dba DBSUPERUSER --prompt-for-dba-password \\"
+ echo " --datadir ${VHOST_ROOT}/${PF}/upgrade/<version> "
+ echo
+ done
+ echo "Note that some upgrade directories don't have all 3 items (schema,"
+ echo "acl, insert) and you can skip them safely."
+ echo
+ echo "Don't forget to read the online installation guide for more details"
+elif [ $1 = "clean" ]; then
+ echo "Please examine the contents of the following directories and delete"
+ echo "anything that is no longer necessary:"
+ echo
+ echo " ${VHOST_ROOT}/${PF}"
+ echo " ${MY_INSTALLDIR}"
+fi
diff --git a/www-apps/rt/files/rt-makefile-serialize-install-prereqs.patch b/www-apps/rt/files/rt-makefile-serialize-install-prereqs.patch
new file mode 100644
index 000000000000..9565ea83e0d6
--- /dev/null
+++ b/www-apps/rt/files/rt-makefile-serialize-install-prereqs.patch
@@ -0,0 +1,12 @@
+diff -Naruw rt-4.2.11.orig/Makefile.in rt-4.2.11/Makefile.in
+--- rt-4.2.11.orig/Makefile.in 2015-04-27 20:56:16.000000000 -0400
++++ rt-4.2.11/Makefile.in 2015-05-14 13:50:05.279292835 -0400
+@@ -359,6 +359,8 @@
+ rm -rf $(DESTDIR)$(MASON_DATA_PATH)/etc/*
+ rm -rf $(DESTDIR)$(MASON_DATA_PATH)/obj/*
+
++.NOTPARALLEL: install
++
+ install: testdeps config-install dirs files-install fixperms instruct
+
+ files-install: libs-install etc-install config-install bin-install sbin-install html-install doc-install font-install po-install static-install
diff --git a/www-apps/rt/metadata.xml b/www-apps/rt/metadata.xml
new file mode 100644
index 000000000000..2deb9517c7c6
--- /dev/null
+++ b/www-apps/rt/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>titanofold@gentoo.org</email>
+ <name>Aaron W. Swenson</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>web-apps@gentoo.org</email>
+ <name>Gentoo Webapps</name>
+ </maintainer>
+ <use>
+ <flag name="apache">Add <pkg>www-servers/apache</pkg> support</flag>
+ <flag name="lighttpd">Add <pkg>www-servers/lighttpd</pkg> support</flag>
+ <flag name="nginx">Add <pkg>www-servers/nginx</pkg> support</flag>
+ </use>
+</pkgmetadata>
diff --git a/www-apps/rt/rt-5.0.6.ebuild b/www-apps/rt/rt-5.0.6.ebuild
new file mode 100644
index 000000000000..279a82837ac6
--- /dev/null
+++ b/www-apps/rt/rt-5.0.6.ebuild
@@ -0,0 +1,260 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit webapp depend.apache
+
+DESCRIPTION="RT is an enterprise-grade ticketing system"
+HOMEPAGE="https://bestpractical.com/rt/"
+SRC_URI="https://download.bestpractical.com/pub/${PN}/release/${P}.tar.gz"
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64"
+IUSE="mysql +postgres fastcgi lighttpd nginx +apache"
+REQUIRED_USE="^^ ( mysql postgres ) ^^ ( lighttpd nginx apache )"
+
+RESTRICT="test"
+
+DEPEND="
+ acct-group/rt
+ acct-user/rt
+ >=dev-lang/perl-5.10.1
+ >=dev-perl/Apache-Session-1.53
+ >=dev-perl/CGI-4
+ >=dev-perl/CSS-Squish-0.06
+ >=dev-perl/DBIx-SearchBuilder-1.800.0
+ >=dev-perl/Date-Extract-0.07
+ >=dev-perl/DateTime-Format-Natural-0.67
+ >=dev-perl/Email-Address-1.912.0
+ >=dev-perl/Email-Address-List-0.60.0
+ >=dev-perl/Locale-Maketext-Lexicon-0.32
+ >=dev-perl/MIME-tools-5.425
+ >=dev-perl/Module-Versions-Report-1.05
+ >=dev-perl/Role-Basic-0.12
+ >=dev-perl/Symbol-Global-Name-0.05
+ >=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
+ >=virtual/perl-Locale-Maketext-1.06
+ dev-perl/Business-Hours
+ dev-perl/CGI-Emulate-PSGI
+ dev-perl/CGI-PSGI
+ dev-perl/CSS-Minifier-XS
+ dev-perl/Class-Accessor
+ dev-perl/Convert-Color
+ dev-perl/Crypt-Eksblowfish
+ dev-perl/Crypt-X509
+ dev-perl/Data-GUID
+ dev-perl/Data-ICal
+ dev-perl/Data-Page
+ dev-perl/Date-Manip
+ dev-perl/Encode-Detect
+ dev-perl/Encode-HanExtra
+ dev-perl/File-ShareDir
+ dev-perl/GnuPG-Interface
+ dev-perl/HTML-FormatExternal
+ dev-perl/HTML-FormatText-WithLinks
+ dev-perl/HTML-FormatText-WithLinks-AndTables
+ dev-perl/HTML-Gumbo
+ dev-perl/HTML-Mason
+ dev-perl/HTML-Mason-PSGIHandler
+ dev-perl/HTML-Parser
+ dev-perl/HTML-Quoted
+ dev-perl/HTML-RewriteAttributes
+ dev-perl/HTML-Scrubber
+ dev-perl/HTTP-Message
+ dev-perl/IPC-Run3
+ dev-perl/JSON
+ dev-perl/JavaScript-Minifier-XS
+ dev-perl/List-MoreUtils
+ dev-perl/Locale-Maketext-Fuzzy
+ dev-perl/libwww-perl
+ dev-perl/MIME-Types
+ dev-perl/Module-Path
+ dev-perl/Module-Refresh
+ dev-perl/Moose
+ dev-perl/MooseX-NonMoose
+ dev-perl/MooseX-Role-Parameterized
+ dev-perl/Net-CIDR
+ dev-perl/Net-IP
+ dev-perl/Parallel-ForkManager
+ dev-perl/Path-Dispatcher
+ dev-perl/PerlIO-eol
+ dev-perl/Plack
+ dev-perl/Regexp-Common
+ dev-perl/Regexp-Common-net-CIDR
+ dev-perl/Regexp-IPv6
+ dev-perl/Scope-Upper
+ dev-perl/Starlet
+ dev-perl/String-ShellQuote
+ dev-perl/Text-Password-Pronounceable
+ dev-perl/Text-Template
+ dev-perl/Text-WordDiff
+ dev-perl/Text-Wrapper
+ dev-perl/Time-ParseDate
+ dev-perl/Web-Machine
+
+ fastcgi? (
+ dev-perl/FCGI
+ dev-perl/FCGI-ProcManager
+ )
+ apache? (
+ dev-perl/Apache-DBI
+ !fastcgi? ( >=www-apache/mod_perl-2 )
+ )
+ lighttpd? ( dev-perl/FCGI )
+ nginx? (
+ dev-perl/FCGI
+ )
+ mysql? ( >=dev-perl/DBD-mysql-2.1018 )
+ postgres? ( >=dev-perl/DBD-Pg-1.43 )
+"
+
+RDEPEND="${DEPEND}
+ virtual/mta
+ apache? ( ${APACHE2_DEPEND} )
+ lighttpd? (
+ >=www-servers/lighttpd-1.3.13
+ sys-apps/openrc
+ )
+ nginx? (
+ www-servers/nginx
+ sys-apps/openrc
+ www-servers/spawn-fcgi
+ )
+"
+
+need_httpd_cgi
+
+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
+}
+
+src_prepare() {
+ # add Gentoo-specific layout
+ cat "${FILESDIR}"/config.layout-gentoo >> config.layout
+ sed -e "s|PREFIX|${EPREFIX}/${MY_HOSTROOTDIR}/${PF}|g" \
+ -e "s|HTMLDIR|${EPREFIX}/${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'
+
+ eapply "${FILESDIR}/rt-makefile-serialize-install-prereqs.patch"
+ eapply_user
+}
+
+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 apache ; then
+ web="apache"
+ if use fastcgi ; then
+ myconf+=" --with-web-handler=fastcgi"
+ depsconf+=" --with-FASTCGI"
+ else
+ myconf+=" --with-web-handler=modperl2"
+ depsconf+=" --with-MODPERL2"
+ fi
+ elif use lighttpd ; then
+ web="lighttpd"
+ myconf+=" --with-web-handler=fastcgi"
+ depsconf+=" --with-FASTCGI"
+ elif use nginx ; then
+ myconf+=" --with-web-handler=fastcgi"
+ depsconf+=" --with-FASTCGI"
+ web="nginx"
+ else
+ die "Pick a webserver"
+ 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 DESTDIR="${D}" 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
+}