Add a new revision with revised (no pun intended) init script, so that it actually...
authorDiego Elio Pettenò <flameeyes@gentoo.org>
Fri, 18 Nov 2011 15:22:35 +0000 (15:22 +0000)
committerDiego Elio Pettenò <flameeyes@gentoo.org>
Fri, 18 Nov 2011 15:22:35 +0000 (15:22 +0000)
Package-Manager: portage-2.2.0_alpha75/cvs/Linux x86_64

www-apps/rt/ChangeLog
www-apps/rt/Manifest
www-apps/rt/files/rt.conf.d.2 [new file with mode: 0644]
www-apps/rt/files/rt.init.d.2 [new file with mode: 0644]
www-apps/rt/rt-3.8.10-r1.ebuild [new file with mode: 0644]

index 59a5e0716a7ad81a6a4466215c1267e2bd170caa..df2173bdd9797de26d1cb88023fc4d7cd1156ef0 100644 (file)
@@ -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:
index 6e9a2653102aad21c1eb5612cafb3eef1daca14e..1d19f4bd35ae4973346737469b16a3576e5e2f4a 100644 (file)
@@ -1,23 +1,26 @@
 -----BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA256
+Hash: SHA1
 
 AUX config.layout-gentoo 645 RMD160 d668f10a015333d1443b6025be78add90e917895 SHA1 21aba8a149707ff80d488d8a4725791d77b63260 SHA256 039f261c3471690434d73b9175a754ecafb8b4a65fad3fdcca7c0680f11dbdc0
 AUX postinstall-en.txt 703 RMD160 5bddbc2097afd96da1ff2993befdb1c8b27769ef SHA1 c212a6095f9191885ea335de1981a6a89437dd7f SHA256 497e75437529d61f69b628b0f7ab4ffa51dd0be9292220e657c4148345ab5a35
 AUX reconfig 1867 RMD160 0ac8d9dca3ce42e8bec0878362c0104213824c18 SHA1 c94f867b816bb08d1634f93f869f11666f758b45 SHA256 109c8db26ae98a84c27ddb896b613bc248a4a216a9f6e463fc52f8c380c38ff1
 AUX rt.conf.d 399 RMD160 3ff349449e9722497becf7f32cf8bb9667b98d33 SHA1 73f85eb60abb165f413aa2deda67f9ad4464ebc6 SHA256 26f04b0e22c1291cc806b115b66f8c17824c765607a3fd4797aecf184cbdff1e
+AUX rt.conf.d.2 336 RMD160 02c409fed671bc5925eb61e332f9a77f293127d2 SHA1 ec36a0697105e97a4e126c3a3e608ac4d5083465 SHA256 f41dd245b73b65de21c04307994048c6517523deb36dd753891cce510ee3ea53
 AUX rt.init.d 1013 RMD160 c6853447d8653cfbcf26316c0a432e3474298467 SHA1 bf7408b6c3a30a7a80ece3e51bf1b0446f68e5df SHA256 45f75de68ee588538d093eb6d57d8368004e075fecafff2f82bb0f2978da79d7
+AUX rt.init.d.2 1424 RMD160 0cee664f0d18e50d97c0e6fb0e62e7cf7ab8e369 SHA1 4332c055fcfb0acf106f2ae8373f59a9b299baf3 SHA256 dcaddd4045fbc05f44b78505ebd6429026602910a65851eaab0ddca078ab282e
 AUX rt_apache2.conf 550 RMD160 a9f463c8f7c4803a32f0e8380e594c2eb6f5f05a SHA1 b11218515f2c43cd2738be71e4e3b25ce8b4bb38 SHA256 db52d05f10cb6ed1bb236ed9e6fc5cc7574b5949c5cb85b5719d0132cbb072cc
 AUX rt_apache2_fcgi.conf 989 RMD160 f88807ad0db9806ee2c638e998ab10e9339a9ed6 SHA1 92ea95bae0a8c2b31b058385b789e9b7fce4f8b1 SHA256 7dff43c9fb73daa06c9c4841199e7618758250129946ec9d20adf5a1852e4e91
 DIST rt-3.6.7.tar.gz 1764471 RMD160 f14ce94a2d9fcb243c6fae274fc5602cae4692cd SHA1 990fd47899bed1ec8e7d23556853fb3a70d95479 SHA256 5916fe002d3739e670aef49a4b12aa385e45eea4602adcf12feaef583a73f6c1
 DIST rt-3.8.10.tar.gz 5642566 RMD160 779ba2e04e87d20f30b03a9e7348c23b09062038 SHA1 98678a4ce4dbdfb13ceeeb88236d49bd0f5562c7 SHA256 d121ec6463ce919cef74c3ce3ab7e7213cb235726d05abd26c717a7eab6c1448
 EBUILD rt-3.6.7.ebuild 6149 RMD160 a7f511ec11ab9082ec2e0b41aedf6285ddf9d210 SHA1 ebe358088453c3b1f1949eca09881ebd6152ff83 SHA256 bf547e087476e150c5e1975bf9bf2b0f23db2b62c150bbc9003162156c5af888
+EBUILD rt-3.8.10-r1.ebuild 6320 RMD160 db5c46defb60fabb5ed58ee8b60627fa450f95ff SHA1 1eda74491078c261b41958c7d98f9055eb409b9e SHA256 7543f68f5f5bfc1318143fe52536276e7c0e6f54f65481c22ffe8c919fdf06b3
 EBUILD rt-3.8.10.ebuild 6289 RMD160 12422129759e9d16eb65f888f8a8275d27f28a77 SHA1 538cffa56ce20080306e5e38b08a4969ea0fcf1e SHA256 fa1f53e08308af5fe113ea568f112018b863435ba9c47c92c2512465358a9a53
-MISC ChangeLog 10629 RMD160 b6bc6c13db16eca208e535b8e0c1610ec25865f2 SHA1 0fbc338701e642571943a47067bd80f3c43f3836 SHA256 5320c054a9f11cd1acdf7f313cb06fe7da6a82dae858d5cba8278e97ba6e98c6
+MISC ChangeLog 10946 RMD160 2fefacb513932a9259c890bf4b43728a3b21802a SHA1 eb64771d57daf62dc0b315092af47f33a4934452 SHA256 b1af395ff7d240626f13e2babdf9788a997a5eac3b9beb18cf6b089f3dc0607e
 MISC metadata.xml 524 RMD160 295179b59cac47383471772520c6afaca965a448 SHA1 6e4ee23e5e9f00ce247226aacb3c133c9b35e3bc SHA256 589ec91d467e77ce4708fe59d3e4818137dd8188647461fbd68da4e4fcabfb92
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.18 (GNU/Linux)
 
-iF4EAREIAAYFAk6xvEUACgkQaC/OocHi7JZdvgD9E8RvnIhz5hzweZEi9UUl2KLL
-NPwHE7liGtQtvzPJSSEA/is0AwvfuiHEaxErFGPFMBYQMtfLyXltpF3vyjbWBOFA
-=mY/V
+iEYEARECAAYFAk7GeGoACgkQAiZjviIA2XgYlACg2BPqXWlSpSfEhS1QipvzqYv3
+/IEAoK9r78cLjI8U1tODMnAP1eY652LZ
+=KjbQ
 -----END PGP SIGNATURE-----
diff --git a/www-apps/rt/files/rt.conf.d.2 b/www-apps/rt/files/rt.conf.d.2
new file mode 100644 (file)
index 0000000..bab6f07
--- /dev/null
@@ -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 (file)
index 0000000..a900ddc
--- /dev/null
@@ -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 (file)
index 0000000..5a3c839
--- /dev/null
@@ -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
+}