summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Elio Pettenò <flameeyes@gentoo.org>2011-11-18 15:22:35 +0000
committerDiego Elio Pettenò <flameeyes@gentoo.org>2011-11-18 15:22:35 +0000
commitb379234a2100554e4c59f5139853e0b1c1876066 (patch)
tree5c48c36fd218839cc3903d302e67ba5ed7b14e8d /www-apps
parentStable for HPPA (bug #388475). (diff)
downloadgentoo-2-b379234a2100554e4c59f5139853e0b1c1876066.tar.gz
gentoo-2-b379234a2100554e4c59f5139853e0b1c1876066.tar.bz2
gentoo-2-b379234a2100554e4c59f5139853e0b1c1876066.zip
Add a new revision with revised (no pun intended) init script, so that it actually seem to work and won't get stuck in an infinite loop if it fails to start.
(Portage version: 2.2.0_alpha75/cvs/Linux x86_64)
Diffstat (limited to 'www-apps')
-rw-r--r--www-apps/rt/ChangeLog10
-rw-r--r--www-apps/rt/files/rt.conf.d.211
-rw-r--r--www-apps/rt/files/rt.init.d.251
-rw-r--r--www-apps/rt/rt-3.8.10-r1.ebuild238
4 files changed, 309 insertions, 1 deletions
diff --git a/www-apps/rt/ChangeLog b/www-apps/rt/ChangeLog
index 59a5e0716a7a..df2173bdd979 100644
--- a/www-apps/rt/ChangeLog
+++ b/www-apps/rt/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for www-apps/rt
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/www-apps/rt/ChangeLog,v 1.68 2011/11/02 21:55:06 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-apps/rt/ChangeLog,v 1.69 2011/11/18 15:22:35 flameeyes Exp $
+
+*rt-3.8.10-r1 (18 Nov 2011)
+
+ 18 Nov 2011; Diego E. Pettenò <flameeyes@gentoo.org> +files/rt.conf.d.2,
+ +files/rt.init.d.2, +rt-3.8.10-r1.ebuild:
+ Add a new revision with revised (no pun intended) init script, so that it
+ actually seem to work and won't get stuck in an infinite loop if it fails to
+ start.
02 Nov 2011; Mike Frysinger <vapier@gentoo.org> rt-3.6.7.ebuild,
rt-3.8.10.ebuild:
diff --git a/www-apps/rt/files/rt.conf.d.2 b/www-apps/rt/files/rt.conf.d.2
new file mode 100644
index 000000000000..bab6f071d64c
--- /dev/null
+++ b/www-apps/rt/files/rt.conf.d.2
@@ -0,0 +1,11 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-apps/rt/files/rt.conf.d.2,v 1.1 2011/11/18 15:22:35 flameeyes Exp $
+
+# Config file for /etc/init.d/rt
+
+RTUSER=rt
+RTGROUP=lighttpd
+
+# set RTPATH to rt's root
+RTPATH=/var/www/localhost/@@PF@@
diff --git a/www-apps/rt/files/rt.init.d.2 b/www-apps/rt/files/rt.init.d.2
new file mode 100644
index 000000000000..a900ddc66de1
--- /dev/null
+++ b/www-apps/rt/files/rt.init.d.2
@@ -0,0 +1,51 @@
+#!/sbin/runscript
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-apps/rt/files/rt.init.d.2,v 1.1 2011/11/18 15:22:35 flameeyes Exp $
+
+depend() {
+ use mysql postgresql lighttpd
+}
+
+FCGI_SOCKET_PATH=${RTPATH}/var/appSocket
+PIDFILE=${RTPATH}/var/pid
+
+start() {
+ checkpath -d "${RTPATH}/var" -m 0755 -o "${RTUSER}:${RTGROUP}"
+
+ ebegin "Starting RT"
+ rm -f ${FCGI_SOCKET_PATH}
+ start-stop-daemon --start \
+ --exec ${RTPATH}/bin/mason_handler.fcgi \
+ --pidfile ${PIDFILE} --user "${RTUSER}:${RTGROUP}" \
+ --background --make-pidfile --chdir ${RTPATH} \
+ --stdout "${RTPATH}/var/service.log" \
+ --stderr "${RTPATH}/var/service.log" \
+ --env "PATH=$PATH" --env "FCGI_SOCKET_PATH=${FCGI_SOCKET_PATH}" \
+ --wait 1500
+
+ if [ "$?" != "0" ]; then
+ eerror "${SVCNAME} failed to start. Please see ${RTPATH}/var/service.log for the reason."
+ eend 1
+ return 1
+ fi
+
+ # make sure lighttpd can use the socket
+ for i in {0..10}; do
+ [ -a ${FCGI_SOCKET_PATH} ] && break
+ sleep 1
+ done
+
+ if [ -a ${FCGI_SOCKET_PATH} ]; then
+ chmod g+rwx ${FCGI_SOCKET_PATH}
+ eend 0
+ else
+ eend 1
+ fi
+}
+
+stop() {
+ ebegin "Stopping RT"
+ start-stop-daemon --stop --pidfile ${PIDFILE}
+ eend $?
+}
diff --git a/www-apps/rt/rt-3.8.10-r1.ebuild b/www-apps/rt/rt-3.8.10-r1.ebuild
new file mode 100644
index 000000000000..5a3c8397dca5
--- /dev/null
+++ b/www-apps/rt/rt-3.8.10-r1.ebuild
@@ -0,0 +1,238 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-apps/rt/rt-3.8.10-r1.ebuild,v 1.1 2011/11/18 15:22:35 flameeyes Exp $
+
+inherit webapp eutils depend.apache confutils
+
+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 ~x86"
+LICENSE="GPL-2"
+IUSE="mysql postgres fastcgi lighttpd"
+
+DEPEND="
+ >=dev-lang/perl-5.8.3
+
+ >=dev-perl/Apache-Session-1.53
+ dev-perl/Cache-Simple-TimedExpiry
+ dev-perl/Calendar-Simple
+ >=dev-perl/class-returnvalue-0.40
+ >=dev-perl/CSS-Squish-0.06
+ >=dev-perl/DBI-1.37
+ >=dev-perl/dbix-searchbuilder-1.53
+ >=dev-perl/Devel-StackTrace-1.19
+ dev-perl/GD
+ dev-perl/GDGraph
+ dev-perl/GDTextUtil
+ dev-perl/HTML-Format
+ >dev-perl/HTML-Mason-1.31
+ dev-perl/HTML-Parser
+ >=dev-perl/HTML-Scrubber-0.08
+ dev-perl/HTML-Tree
+ >=dev-perl/HTTP-Server-Simple-0.07
+ >=dev-perl/HTTP-Server-Simple-Mason-0.14
+ dev-perl/libwww-perl
+ dev-perl/locale-maketext-fuzzy
+ >=dev-perl/locale-maketext-lexicon-0.32
+ >=dev-perl/log-dispatch-2.0
+ >=dev-perl/MailTools-1.60
+ >=dev-perl/MIME-tools-5.417
+ >=dev-perl/Module-Versions-Report-1.05
+ dev-perl/regexp-common
+ dev-perl/TermReadKey
+ dev-perl/text-autoformat
+ >=dev-perl/Text-Quoted-2.02
+ dev-perl/text-template
+ >=dev-perl/Text-WikiFormat-0.76
+ dev-perl/text-wrapper
+ dev-perl/TimeDate
+ dev-perl/Time-modules
+ >=dev-perl/Tree-Simple-1.04
+ dev-perl/UNIVERSAL-require
+ >=dev-perl/XML-RSS-1.05
+ >=virtual/perl-CGI-2.92
+ virtual/perl-digest-base
+ >=virtual/perl-Digest-MD5-2.27
+ >=virtual/perl-File-Spec-0.8
+ virtual/perl-File-Temp
+ >=virtual/perl-Getopt-Long-2.24
+ virtual/perl-libnet
+ >=virtual/perl-locale-maketext-1.06
+ virtual/perl-Scalar-List-Utils
+ >=virtual/perl-Storable-2.08
+ virtual/perl-Time-HiRes
+ dev-perl/File-ShareDir
+ dev-perl/HTML-RewriteAttributes
+ dev-perl/Data-ICal
+ dev-perl/Email-Address
+
+ !lighttpd? ( dev-perl/Apache-DBI )
+ lighttpd? ( dev-perl/FCGI )
+ fastcgi? ( 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 <vapier@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"
+ epause
+ 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 _RT2_ installation,"
+ ewarn "stop this ebuild (Ctrl-C now), download the upgrade tool,"
+ ewarn "http://bestpractical.com/pub/rt/devel/rt2-to-rt3.tar.gz"
+ ewarn "and follow the included instructions."
+ ewarn
+ epause 5
+ enewgroup rt
+ add_user_rt || die "Could not add user"
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ # add Gentoo-specific layout
+ cat "${FILESDIR}"/config.layout-gentoo >> config.layout
+ sed -e "s|PREFIX|${D}/${MY_HOSTROOTDIR}/${PF}|
+ s|HTMLDIR|${D}/${MY_HTDOCSDIR}|g" -i ./config.layout || die
+
+ # 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
+}
+
+src_compile() {
+ local web myconf depsconf
+
+ if use mysql; then
+ myconf+=" --with-db-type=mysql --with-db-dba=root"
+ depsconf+=" --with-mysql"
+ fi
+ if use postgres;then
+ myconf+=" --with-db-type=Pg --with-db-dba=postgres"
+ depsconf+=" --with-postgresql"
+ fi
+ if use postgres && use mysql; then
+ ewarn "Both mysql and postgres USE flags enabled, default is mysql."
+ ewarn "You can set the default value in RT_SiteConfig before DB init."
+ myconf+=" --with-db-type=mysql --with-db-dba=root"
+ depsconf+=" --with-mysql"
+ 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
+
+ ./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_install() {
+ webapp_src_preinst
+ emake install || die
+
+ # make sure we don't clobber existing site configuration
+ rm -f "${D}"/${MY_HOSTROOTDIR}/${PF}/etc/RT_SiteConfig.pm
+
+ # fix paths
+ find "${D}" -type f -print0 | xargs -0 sed -i -e "s:${D}::g"
+
+ # copy upgrade files
+ insinto "${MY_HOSTROOTDIR}/${PF}"
+ doins -r etc/upgrade
+
+ if use lighttpd; then
+ newinitd "${FILESDIR}"/${PN}.init.d.2 ${PN}
+ newconfd "${FILESDIR}"/${PN}.conf.d.2 ${PN}
+ dosed "s/@@PF@@/${PF}/g" /etc/conf.d/${PN}
+ else
+ doins "${FILESDIR}"/{rt_apache2_fcgi.conf,rt_apache2.conf}
+ fi
+
+ webapp_serverowned "${MY_HOSTROOTDIR}"/${PF}/var
+
+ webapp_postinst_txt en "${FILESDIR}"/postinstall-en.txt
+ webapp_hook_script "${FILESDIR}"/reconfig
+
+ webapp_src_install
+}