www-apps/rt: revert treeclean

Reverts: dad331077a
Signed-off-by: timorl <timorl@disroot.org>
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
This commit is contained in:
timorl
2024-08-27 16:43:28 +02:00
committed by Arthur Zamarin
parent d52ab402f1
commit e78b988f2f
8 changed files with 403 additions and 0 deletions

View File

@@ -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.
#

1
www-apps/rt/Manifest Normal file
View File

@@ -0,0 +1 @@
DIST rt-4.4.4.tar.gz 9977845 BLAKE2B bc27a68c880d305e43069887bd4c2dbf09e82413ee9b7f1e0e19252ad5249430f17bd980c94a4c74386a8c7fefc79af50a0e572adbb0ef707e46a4be63e8d3e4 SHA512 95335cfa9e7107300670a5e8631ffb6f402895dae051201d051ac01885b0cb185f838a666acaec773e0f670e1b9d16b7cede72f37ce9832fd83a9da8514e6972

View File

@@ -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>

View File

@@ -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.

View File

@@ -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

View File

@@ -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

15
www-apps/rt/metadata.xml Normal file
View File

@@ -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>

View File

@@ -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
}