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
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
|
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/mail-client/squirrelmail/squirrelmail-1.5.1-r6.ebuild,v 1.5 2007/11/01 23:34:55 eradicator Exp $
IUSE="crypt ldap spell ssl filter mysql postgres nls"
inherit webapp eutils
DESCRIPTION="Webmail for nuts!"
# Plugin Versions
COMPATIBILITY_VER=2.0.8-1.0
USERDATA_VER=0.9-1.4.0
ADMINADD_VER=0.1-1.4.0
AMAVIS_VER=0.8.0-1.4
GPG_VER=2.1
LDAP_USERDATA_VER=0.4
SECURELOGIN_VER=1.3-1.2.8
SHOWSSL_VER=2.2-1.2.8
LOCALES_VER=1.5.1-20060219
DECODING_VER=1.2
MY_P=${P/_rc/-RC}
S="${WORKDIR}/${MY_P}"
PLUGINS_LOC="http://www.squirrelmail.org/plugins"
SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.bz2
mirror://sourceforge/${PN}/squirrelmail-decode-${DECODING_VER}.tar.bz2
mirror://sourceforge/retruserdata/retrieveuserdata.${USERDATA_VER}.tar.gz
${PLUGINS_LOC}/compatibility-${COMPATIBILITY_VER}.tar.gz
ssl? ( ${PLUGINS_LOC}/secure_login-${SECURELOGIN_VER}.tar.gz )
ssl? ( ${PLUGINS_LOC}/show_ssl_link-${SHOWSSL_VER}.tar.gz )
${PLUGINS_LOC}/admin_add.${ADMINADD_VER}.tar.gz
filter? ( ${PLUGINS_LOC}/amavisnewsql-0.8.0-1.4.tar.gz )
crypt? ( ${PLUGINS_LOC}/gpg-${GPG_VER}.tar.gz )
ldap? ( ${PLUGINS_LOC}/ldapuserdata-${LDAP_USERDATA_VER}.tar.gz )
nls? ( mirror://sourceforge/${PN}/all_locales-${LOCALES_VER}.tar.bz2 )"
HOMEPAGE="http://www.squirrelmail.org/"
LICENSE="GPL-2"
KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86"
DEPEND=""
RDEPEND="virtual/php
virtual/perl-DB_File
crypt? ( app-crypt/gnupg )
ldap? ( net-nds/openldap )
spell? ( || ( app-text/aspell app-text/ispell ) )
filter? ( mail-filter/amavisd-new dev-php/PEAR-Log dev-php/PEAR-DB dev-php/PEAR-Net_SMTP )
postgres? ( dev-php/PEAR-DB )
mysql? ( dev-php/PEAR-DB )"
src_unpack() {
unpack ${MY_P}.tar.bz2
unpack squirrelmail-decode-${DECODING_VER}.tar.bz2
cd ${S}
epatch ${FILESDIR}/squirrelmail-1.5.1-CVE-2006-4019.patch
epatch ${FILESDIR}/squirrelmail-1.5.1-CVE-2006-6142-draft_composesess.patch
epatch ${FILESDIR}/squirrelmail-1.5.1-CVE-2006-6142-mailto.patch
epatch ${FILESDIR}/squirrelmail-1.5.1-CVE-2006-6142-mime.patch
epatch ${FILESDIR}/squirrelmail-1.5.1-ie-mime.patch
epatch ${FILESDIR}/squirrelmail-1.5.1-CVE-2007-1262.patch
epatch ${FILESDIR}/squirrelmail-1.5.1-sqimap_get_message.patch
mv config/config_default.php config/config.php
sed -i "s:'/var/local/squirrelmail/data':SM_PATH . 'data/':" config/config.php
# Now do the plugins
cd ${S}/plugins
mv fortune/config_default.php fortune/config.php
sed -i 's:/usr/games/fortune:/usr/bin/fortune:g' fortune/config.php
mv bug_report/config_default.php bug_report/config.php
mv change_password/config_default.php change_password/config.php
mv filters/config_default.php filters/config.php
mv mail_fetch/config_sample.php mail_fetch/config.php
mv newmail/config_default.php newmail/config.php
mv translate/config_default.php translate/config.php
rm newmail/config_sample.php
rm translate/config_sample.php
unpack compatibility-${COMPATIBILITY_VER}.tar.gz
unpack admin_add.${ADMINADD_VER}.tar.gz
unpack retrieveuserdata.${USERDATA_VER}.tar.gz
use filter &&
unpack amavisnewsql-${AMAVIS_VER}.tar.gz &&
mv amavisnewsql/config.php.dist amavisnewsql/config.php
use crypt &&
unpack gpg-${GPG_VER}.tar.gz
use ldap &&
unpack ldapuserdata-${LDAP_USERDATA_VER}.tar.gz &&
epatch ${FILESDIR}/ldapuserdata-${LDAP_USERDATA_VER}-gentoo.patch &&
mv ldapuserdata/config_sample.php ldapuserdata/config.php
use ssl &&
unpack secure_login-${SECURELOGIN_VER}.tar.gz &&
mv secure_login/config.sample.php secure_login/config.php &&
unpack show_ssl_link-${SHOWSSL_VER}.tar.gz &&
mv show_ssl_link/config.php.sample show_ssl_link/config.php
use nls &&
cd ${S} &&
unpack all_locales-${LOCALES_VER}.tar.bz2
cd ${S}
use crypt && epatch ${FILESDIR}/squirrelmail-gpg-2.1-CVE-2005-1924.patch
}
src_compile() {
#we need to have this empty function ... default compile hangs
echo "Nothing to compile"
}
src_install() {
webapp_src_preinst
# Copy the app's main files
einfo "Installing squirrelmail files."
cp -r . ${D}${MY_HTDOCSDIR}
keepdir ${MY_HTDOCSDIR}/data
# handle documentation files
#
# NOTE that doc files go into /usr/share/doc as normal; they do NOT
# get installed per vhost!
for doc in AUTHORS COPYING ChangeLog INSTALL README ReleaseNotes UPGRADE ; do
dodoc ${doc}
rm -f ${D}${MY_HTDOCSDIR}/${doc}
done
for doc in plugins/{README.plugins,*/{INSTALL,README,COPYRIGHTS,CHANGELOG,API,UPGRADE,TODO,README.txt,INSTALL.txt,user_example.txt}} ; do
if [[ -f ${doc} ]] ; then
docinto $(dirname ${doc})
dodoc ${doc}
rm -f ${D}${MY_HTDOCSDIR}/${doc}
fi
done
cp ${WORKDIR}/squirrelmail-decode-${DECODING_VER}/*/*.php ${D}${MY_HTDOCSDIR}/functions/decode
# Identify the configuration files that this app uses
for file in config/config.php plugins/*/{config.php,sqspell_config.php,gpg_local_prefs.txt}; do
if [[ -f ${file} ]] ; then
webapp_configfile ${MY_HTDOCSDIR}/${file}
fi
done
# Identify any script files that need #! headers adding to run under
# a CGI script (such as PHP/CGI)
#
# for phpmyadmin, we *assume* that all .php files that don't end in
# .inc.php need to have CGI/BIN support added
#for x in `find . -name '*.php' -print | grep -v 'inc.php'` ; do
# webapp_runbycgibin php ${MY_HTDOCSDIR}/$x
#done
local server_owned="data index.php"
for file in ${server_owned}; do
webapp_serverowned ${MY_HTDOCSDIR}/${file}
done
# add the post-installation instructions
webapp_postinst_txt en ${FILESDIR}/postinstall-en.txt
# all done
#
# now we let the eclass strut its stuff ;-)
webapp_src_install
}
|