blob: b303a8fc7f3cd4549e9ef2c22a77526c7772ebde (
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
157
158
159
160
161
|
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/www-apps/postfixadmin/postfixadmin-2.1.0.ebuild,v 1.1 2006/02/02 19:35:13 wrobel Exp $
# Source: http://bugs.gentoo.org/show_bug.cgi?id=50035
# Submitted-By: SteveB <tp22a@softhome.net>
# Reviewed-By: wrobel 2005-12-14
# $Id: postfixadmin-2.1.0.ebuild,v 1.1 2006/02/02 19:35:13 wrobel Exp $
inherit eutils webapp
IUSE="mysql postgres vhosts"
DESCRIPTION="Postfix Admin is a Web Based Management tool for Postfix when you are dealing with Postfix Style Virtual Domains and Virtual Users that are stored in MySQL."
HOMEPAGE="http://high5.net/postfixadmin/"
SRC_URI="http://high5.net/${PN}/${PN}-${PV}.tgz"
RESTRICT="nomirror"
KEYWORDS="~x86"
DEPEND="virtual/httpd-php
>=mail-mta/postfix-2.0.0
>=net-www/apache-1.3.27
mysql? ( >=dev-db/mysql-3.23
>=dev-lang/perl-5.0
dev-perl/DBI
dev-perl/DBD-mysql )
postgres? ( >=dev-db/postgresql-7.4.3 )"
RDEPEND=">=sys-apps/sed-4.0.5
sys-apps/grep
sys-apps/findutils"
LICENSE="MPL-1.1"
pkg_setup() {
webapp_pkg_setup
if use mysql; then
id vacation 2>/dev/null || enewgroup vacation
id vacation 2>/dev/null || enewuser vacation -1 -1 /dev/null vacation
if ! built_with_use virtual/httpd-php mysql ; then
eerror "PHP is missing MySQL support."
eerror "Please add 'mysql' to your USE flags, and re-emerge PHP."
die "PHP needs MySQL support"
fi
fi
if use postgres; then
if ! built_with_use virtual/httpd-php postgres ; then
eerror "PHP is missing Postgres support."
eerror "Please add 'postgres' to your USE flags, and re-emerge PHP."
die "PHP needs Postgres support"
fi
fi
if ! built_with_use virtual/httpd-php pcre ; then
eerror "PHP is missing regular expression support."
eerror "Please add 'pcre' to your USE flags, and re-emerge PHP."
die "PHP needs regular expression support"
fi
if ! built_with_use virtual/httpd-php session ; then
eerror "PHP is missing session support."
eerror "Please add 'session' to your USE flags, and re-emerge PHP."
die "PHP needs regular expression support"
fi
}
src_unpack() {
unpack ${A} || die
cd ${S}
# Remove .cvs* files and CVS directories
find ${S} -name .cvs\* -or \( -type d -name CVS -prune \) -exec rm -rf {} \;
# Database support (we don't care wich one is used. Allow both of them!)
if use mysql; then
cp ./DATABASE_MYSQL.TXT ${T}/mysql-setup.sql || die "Creating MySQL setup script failed!"
cp ./TABLE_CHANGES.TXT ${T}/mysql-update.sql || die "Creating MySQL update script failed!"
cp ./VIRTUAL_VACATION/INSTALL.TXT ${T}/VIRTUAL_VACATION_INSTALL.TXT
fi
if use postgres ; then
cp ./DATABASE_PGSQL.TXT ${T}/pgsql-setup.sql || die "Creating PostgreSQL setup script failed!"
fi
# Rename config.inc.php
cp ./config.inc.php.sample ${T}/config.inc.php || die "Creating config file failed!"
}
src_install() {
webapp_src_preinst
# Virtual Vacation only works with MySQL
if use mysql; then
diropts -m0770 -o vacation -g vacation
dodir /var/spool/vacation
keepdir /var/spool/vacation
insinto /var/spool/vacation
insopts -m770 -o vacation -g vacation
doins ${S}/VIRTUAL_VACATION/vacation.pl
fi
# Documentation
#
local docs="BACKUP_MX.TXT CHANGELOG.TXT INSTALL.TXT LANGUAGE.TXT LICENSE.TXT TABLE_BACKUP_MX.TXT TABLE_CHANGES.TXT UPGRADE.TXT"
if use mysql; then
docs="${docs} DATABASE_MYSQL.TXT ${T}/VIRTUAL_VACATION_INSTALL.TXT"
fi
if use postgres ; then
docs="${docs} DATABASE_PGSQL.TXT"
fi
# install the SQL scripts available to us
#
# unfortunately, we do not have scripts to upgrade from older versions
# these are things we need to add at a later date
#
if use mysql; then
webapp_sqlscript mysql ${T}/mysql-setup.sql
webapp_sqlscript mysql ${T}/mysql-update.sql 2.0.x
webapp_sqlscript mysql ${T}/mysql-update.sql 1.5x
fi
if use postgres ; then
webapp_sqlscript pgsql ${T}/pgsql-setup.sql
fi
# Copy the app's main files
#
einfo "Installing main files"
mkdir -p ${D}${MY_HTDOCSDIR}
cp -r . ${D}${MY_HTDOCSDIR} || die "cp failed"
cp ${T}/config.inc.php ${D}${MY_HTDOCSDIR} || die "cp failed"
# handle documentation files
#
# NOTE that doc files go into /usr/share/doc as normal; they do NOT
# get installed per vhost!
#
dodoc ${docs}
for foo in ${docs} DATABASE_MYSQL.TXT DATABASE_PGSQL.TXT ADDITIONS VIRTUAL_VACATION
do
rm -f ${D}${MY_HTDOCSDIR}/${foo}
done
# Identify the configuration files that this app uses
#
webapp_configfile ${MY_HTDOCSDIR}/config.inc.php
webapp_configfile ${MY_HTDOCSDIR}/admin/.htpasswd
# Add the hook file to fix the .htaccess file
webapp_hook_script ${FILESDIR}/config-hook.sh
# 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
}
|