diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-10-02 01:26:11 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-10-02 01:26:11 +0100 |
commit | d39b2406e1496a2848b3f450a5737ae3dbd8c6f7 (patch) | |
tree | 2f21fa7a75d2873c67fb5d3faab2a0f60fb785ce /www-apps/rt | |
parent | 95ce69d324747e9aa715e1761abab42204529b28 (diff) |
gentoo auto-resync : 02:10:2024 - 01:26:10
Diffstat (limited to 'www-apps/rt')
-rw-r--r-- | www-apps/rt/Manifest | 7 | ||||
-rw-r--r-- | www-apps/rt/files/config.layout-gentoo | 26 | ||||
-rw-r--r-- | www-apps/rt/files/postinstall-en.txt | 19 | ||||
-rw-r--r-- | www-apps/rt/files/reconfig | 56 | ||||
-rw-r--r-- | www-apps/rt/files/rt-makefile-serialize-install-prereqs.patch | 12 | ||||
-rw-r--r-- | www-apps/rt/metadata.xml | 17 | ||||
-rw-r--r-- | www-apps/rt/rt-5.0.6.ebuild | 260 |
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 +} |