blob: 66010905b08de9e626fdfab2137fd887770e3300 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
|
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/www-apps/otrs/otrs-3.2.3.ebuild,v 1.2 2014/01/08 06:13:45 vapier Exp $
EAPI=2
inherit eutils confutils user
DESCRIPTION="OTRS is an Open source Ticket Request System"
HOMEPAGE="http://otrs.org/"
SRC_URI="http://ftp.otrs.org/pub/${PN}/${P}.tar.bz2"
LICENSE="AGPL-3"
KEYWORDS="~amd64 ~x86"
IUSE="apache2 fastcgi +gd ldap mod_perl +mysql pdf postgres soap"
SLOT="0"
#WEBAPP_MANUAL_SLOT="yes"
# FIXME add oracle/mssql/DB2 DB support
# FIXME #cjk? ( >=dev-perl/Encode-HanExtra-0.23 ) unsatisfied dep
DEPEND=""
RDEPEND="${DEPEND}
dev-perl/Authen-SASL
dev-perl/Crypt-PasswdMD5
dev-perl/CSS-Minifier
dev-perl/Date-Pcalc
mysql? ( dev-perl/DBD-mysql )
postgres? ( dev-perl/DBD-Pg )
dev-perl/DBI
gd? ( dev-perl/GD
dev-perl/GDTextUtil
dev-perl/GDGraph )
dev-perl/IO-Socket-SSL
>=dev-perl/JavaScript-Minifier-1.05
>=dev-perl/JSON-2.21
dev-perl/JSON-XS
dev-perl/LWP-UserAgent-Determined
dev-perl/Mail-POP3Client
dev-perl/MailTools
>=dev-perl/MIME-tools-5.427
dev-perl/NetxAP
dev-perl/Net-IMAP-Simple-SSL
>dev-perl/Net-DNS-0.60
dev-perl/Net-SMTP-SSL
dev-perl/Net-SMTP-TLS
dev-perl/IO-stringy
pdf? ( >=dev-perl/PDF-API2-0.73
virtual/perl-Compress-Raw-Zlib )
ldap? ( dev-perl/perl-ldap )
soap? (
dev-perl/SOAP-Lite
!=dev-perl/SOAP-Lite-0.711
!=dev-perl/SOAP-Lite-0.712 )
dev-perl/Text-CSV
dev-perl/Text-CSV_XS
dev-perl/TimeDate
dev-perl/XML-Parser
virtual/perl-MIME-Base64
>=virtual/perl-CGI-3.33
virtual/perl-libnet
virtual/perl-Digest-MD5
>=virtual/perl-Digest-SHA-5.48
virtual/mta
apache2? ( mod_perl? ( www-servers/apache:2
=www-apache/libapreq2-2* www-apache/mod_perl )
fastcgi? ( || ( www-apache/mod_fcgid www-apache/mod_fastcgi )
www-servers/apache:2[suexec] )
!fastcgi? (
!mod_perl? ( www-servers/apache:2[suexec] ) )
)
fastcgi? ( dev-perl/FCGI virtual/httpd-fastcgi )
!fastcgi? (
!apache2? ( virtual/httpd-cgi ) )"
# dev-perl/libwww-perl
OTRS_HOME="/var/lib/otrs"
pkg_setup() {
# The enewuser otrs will fail if apache isn't there, but it's an optional dep
# so we create the apache user here just in case
enewgroup apache 81
enewuser apache 81 -1 /var/www apache
enewuser otrs -1 -1 ${OTRS_HOME} apache
confutils_require_any mysql postgres
}
src_prepare() {
rm -fr "${S}/scripts"/{auto_*,redhat*,suse*,*.spec} || die
cp Kernel/Config.pm{.dist,} || die
# procmail/fetchmail/mailfilter
# local mailrc=".fetchmailrc .mailfilter .procmailrc"
# for i in ${mailrc}; do
# mv ${i}{.dist,} || die
# done
# fperms 600 ${mailrc} || die
# fowners otrs ${mailrc} || die
sed -i -e "s:/opt/otrs:${OTRS_HOME}:g" "${S}"/Kernel/Config.pm \
|| die "sed failed"
grep -lR "/opt" "${S}"/scripts | \
xargs sed -i -e "s:/opt/otrs:${OTRS_HOME}:g" \
|| die "sed failed"
cd Kernel/Config/ || die
for i in *.dist; do
cp ${i} $(basename ${i} .dist) || die
done
perl "${S}"/bin/otrs.SetPermissions.pl \
--otrs-user=otrs \
--web-user=apache \
--otrs-group=apache \
--web-group=apache "${S}" \
|| die "Could not set permissions"
echo "CONFIG_PROTECT=\"${OTRS_HOME}/Kernel/Config.pm \
${OTRS_HOME}/Kernel/Config/GenericAgent.pm\"" > "${T}/50${PN}"
}
src_install() {
dodoc CHANGES README* \
doc/X-OTRS-Headers.txt || die
dodoc doc/manual/en/otrs_admin_book.pdf
insinto "${OTRS_HOME}"
doins -r .fetchmailrc.dist .mailfilter.dist .procmailrc.dist RELEASE \
Custom Kernel bin scripts var || die "doins failed"
cat "${S}"/var/cron/*.dist > crontab
insinto /usr/share/doc/${PF}/
doins crontab
for a in article log pics/images pics/stats pics sessions spool tmp tmp/CacheFileStorable; do
keepdir "${OTRS_HOME}/var/${a}"
done
doenvd "${T}/50${PN}" || die
}
# This is too automagic, either einfo telling user or installing to /etc/cron.d/ should be preferred
pkg_config() {
einfo "Installing cronjobs"
crontab -u otrs /usr/share/doc/${PF}/crontab
}
pkg_postinst() {
elog "Enable cronjobs with the following command:"
elog "crontab -u otrs crontab"
}
|