public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: www-apps/rt/, www-apps/rt/files/, profiles/
@ 2024-10-01 16:23 Arthur Zamarin
  0 siblings, 0 replies; only message in thread
From: Arthur Zamarin @ 2024-10-01 16:23 UTC (permalink / raw
  To: gentoo-commits

commit:     e78b988f2f09121e1b397db382a7f5f1e85965a5
Author:     timorl <timorl <AT> disroot <DOT> org>
AuthorDate: Tue Aug 27 14:43:28 2024 +0000
Commit:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Tue Oct  1 16:22:40 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e78b988f

www-apps/rt: revert treeclean

Reverts: dad331077a019561290ee2f024fcdfe7a52231e0
Signed-off-by: timorl <timorl <AT> disroot.org>
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>

 profiles/package.mask                              |   5 +
 www-apps/rt/Manifest                               |   1 +
 www-apps/rt/files/config.layout-gentoo             |  26 ++
 www-apps/rt/files/postinstall-en.txt               |  19 ++
 www-apps/rt/files/reconfig                         |  56 +++++
 .../rt-makefile-serialize-install-prereqs.patch    |  12 +
 www-apps/rt/metadata.xml                           |  15 ++
 www-apps/rt/rt-4.4.4-r4.ebuild                     | 269 +++++++++++++++++++++
 8 files changed, 403 insertions(+)

diff --git a/profiles/package.mask b/profiles/package.mask
index fc4ee0f04cca..8fca2c493fd7 100644
--- a/profiles/package.mask
+++ b/profiles/package.mask
@@ -297,6 +297,11 @@ kde-misc/kio-locate
 =dev-python/ensurepip-setuptools-72.0.0
 =dev-python/setuptools-72.0.0
 
+# Arthur Zamarin <arthurzam@gentoo.org> (2024-07-27)
+# EAPI=6 package, awaits version bump.
+# Removal on 2024-08-26.  Bug #936756.
+www-apps/rt
+
 # Alfred Wingate <parona@protonmail.com> (2024-07-24)
 # Includes change that breaks firewalld notably.
 #

diff --git a/www-apps/rt/Manifest b/www-apps/rt/Manifest
new file mode 100644
index 000000000000..3f0816423d25
--- /dev/null
+++ b/www-apps/rt/Manifest
@@ -0,0 +1 @@
+DIST rt-4.4.4.tar.gz 9977845 BLAKE2B bc27a68c880d305e43069887bd4c2dbf09e82413ee9b7f1e0e19252ad5249430f17bd980c94a4c74386a8c7fefc79af50a0e572adbb0ef707e46a4be63e8d3e4 SHA512 95335cfa9e7107300670a5e8631ffb6f402895dae051201d051ac01885b0cb185f838a666acaec773e0f670e1b9d16b7cede72f37ce9832fd83a9da8514e6972

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..d0488918d5f9
--- /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: testdeps config-install dirs files-install fixperms instruct
++
+ 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..cd9ae3bd2177
--- /dev/null
+++ b/www-apps/rt/metadata.xml
@@ -0,0 +1,15 @@
+<?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="lighttpd">Add <pkg>www-servers/lighttpd</pkg> support</flag>
+	</use>
+</pkgmetadata>

diff --git a/www-apps/rt/rt-4.4.4-r4.ebuild b/www-apps/rt/rt-4.4.4-r4.ebuild
new file mode 100644
index 000000000000..3fe14b2b7d6d
--- /dev/null
+++ b/www-apps/rt/rt-4.4.4-r4.ebuild
@@ -0,0 +1,269 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit webapp depend.apache
+
+DESCRIPTION="RT is an enterprise-grade ticketing system"
+HOMEPAGE="https://www.bestpractical.com/rt/"
+SRC_URI="https://download.bestpractical.com/pub/${PN}/release/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~riscv"
+LICENSE="GPL-2"
+IUSE="mysql +postgres fastcgi lighttpd"
+REQUIRED_USE="^^ ( mysql postgres )"
+
+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/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.912.0
+	>=dev-perl/Email-Address-List-0.60.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/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-Gumbo
+	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
+			sys-apps/openrc-navi
+		)
+	)
+"
+
+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 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 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
+}


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2024-10-01 16:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-01 16:23 [gentoo-commits] repo/gentoo:master commit in: www-apps/rt/, www-apps/rt/files/, profiles/ Arthur Zamarin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox