| 1 |
# Copyright 1999-2006 Gentoo Foundation
|
| 2 |
# Distributed under the terms of the GNU General Public License v2
|
| 3 |
# $Header: /var/cvsroot/gentoo-x86/net-misc/ser/ser-0.9.4.ebuild,v 1.2 2005/09/16 14:21:56 stkn Exp $
|
| 4 |
|
| 5 |
inherit eutils flag-o-matic
|
| 6 |
|
| 7 |
IUSE="ipv6 mysql radius postgres jabber ldap ssl"
|
| 8 |
|
| 9 |
ETHZ_PV="1.0"
|
| 10 |
LDAP_PV="1.0"
|
| 11 |
LDAPS_PV="1.0"
|
| 12 |
SILOMAIL_PV="1.0"
|
| 13 |
|
| 14 |
DESCRIPTION="SIP Express Router"
|
| 15 |
HOMEPAGE="http://www.iptel.org/ser"
|
| 16 |
SRC_URI="ftp://ftp.berlios.de/pub/ser/${PV}/src/${P}_src.tar.gz
|
| 17 |
mirror://gentoo/silomail-${SILOMAIL_PV}-${PN}-0.9.0.tar.gz
|
| 18 |
mirror://gentoo/ethz-${ETHZ_PV}-${PN}-0.9.0.tar.gz
|
| 19 |
ldap? ( mirror://gentoo/ldap-${LDAP_PV}-${PN}-0.9.0.tar.gz
|
| 20 |
mirror://gentoo/ldaps-${LDAPS_PV}-${PN}-0.9.0.tar.gz )"
|
| 21 |
|
| 22 |
SLOT="0"
|
| 23 |
LICENSE="GPL-2"
|
| 24 |
KEYWORDS="~ppc ~sparc ~x86"
|
| 25 |
|
| 26 |
RDEPEND="
|
| 27 |
mysql? ( >=dev-db/mysql-3.23.52 )
|
| 28 |
radius? ( >=net-dialup/radiusclient-ng-0.5.0 )
|
| 29 |
postgres? ( dev-db/postgresql )
|
| 30 |
jabber? ( dev-libs/expat )
|
| 31 |
ldap? (
|
| 32 |
net-nds/openldap
|
| 33 |
ssl? ( dev-libs/openssl )
|
| 34 |
)"
|
| 35 |
|
| 36 |
DEPEND="${RDEPEND}
|
| 37 |
>=sys-devel/bison-1.35
|
| 38 |
>=sys-devel/flex-2.5.4a"
|
| 39 |
|
| 40 |
pkg_setup() {
|
| 41 |
enewgroup ser
|
| 42 |
enewuser ser -1 -1 /dev/null ser
|
| 43 |
}
|
| 44 |
|
| 45 |
src_unpack() {
|
| 46 |
local modules extmodules MY_A
|
| 47 |
|
| 48 |
# unpack ser source
|
| 49 |
unpack ${P}_src.tar.gz
|
| 50 |
|
| 51 |
cd ${S}
|
| 52 |
use ipv6 || \
|
| 53 |
sed -i -e "s/-DUSE_IPV6//g" Makefile.defs
|
| 54 |
|
| 55 |
# external modules
|
| 56 |
extmodules="silomail ethz"
|
| 57 |
|
| 58 |
use mysql && \
|
| 59 |
modules="${modules} mysql"
|
| 60 |
|
| 61 |
use radius && \
|
| 62 |
modules="${modules} auth_radius group_radius uri_radius avp_radius"
|
| 63 |
|
| 64 |
use jabber && \
|
| 65 |
modules="${modules} jabber"
|
| 66 |
|
| 67 |
use postgres && \
|
| 68 |
modules="${modules} postgres"
|
| 69 |
|
| 70 |
use ldap && \
|
| 71 |
extmodules="${extmodules} ldap"
|
| 72 |
|
| 73 |
use ldap && use ssl && \
|
| 74 |
extmodules="${extmodules} ldaps"
|
| 75 |
|
| 76 |
# put list of modules into Makefile, we need the list
|
| 77 |
# during compile and install phase...
|
| 78 |
sed -i -e "s:^\(include_modules.*\):\1 ${modules} ${extmodules}:" \
|
| 79 |
Makefile
|
| 80 |
|
| 81 |
# fix ser.cfg
|
| 82 |
sed -i -e "/force_send_socket(smaug:5080);/ d" \
|
| 83 |
etc/ser.cfg
|
| 84 |
|
| 85 |
# unpack external modules
|
| 86 |
# ugly i know...
|
| 87 |
for x in ${extmodules}; do
|
| 88 |
MY_A=$(eval echo ${x}-\${$(echo ${x} | tr "[:lower:]" "[:upper:]")_PV}-${PN}-0.9.0)
|
| 89 |
mkdir -p ${S}/modules/${x}
|
| 90 |
cd ${S}/modules/${x}
|
| 91 |
unpack ${MY_A}.tar.gz
|
| 92 |
# fix makefiles
|
| 93 |
if [[ -f ${FILESDIR}/${MY_A}.diff ]]; then
|
| 94 |
epatch ${FILESDIR}/${MY_A}.diff
|
| 95 |
fi
|
| 96 |
done
|
| 97 |
|
| 98 |
# remove sasl if openldap hasn't been built with it
|
| 99 |
if use ldap && ! built_with_use net-nds/openldap sasl; then
|
| 100 |
sed -i -e "s:-lsasl::g" \
|
| 101 |
${S}/modules/ldap/Makefile
|
| 102 |
|
| 103 |
if use ssl; then
|
| 104 |
sed -i -e "s:-lsasl::g" \
|
| 105 |
${S}/modules/ldaps/Makefile
|
| 106 |
fi
|
| 107 |
fi
|
| 108 |
}
|
| 109 |
|
| 110 |
src_compile() {
|
| 111 |
# add -fPIC
|
| 112 |
append-flags -fPIC
|
| 113 |
|
| 114 |
make all \
|
| 115 |
CFLAGS="${CFLAGS}" \
|
| 116 |
cfg-prefix=/ \
|
| 117 |
cfg-target=/etc/ser/ \
|
| 118 |
${myconf} || die
|
| 119 |
}
|
| 120 |
|
| 121 |
src_install () {
|
| 122 |
make install \
|
| 123 |
prefix="" \
|
| 124 |
bin-prefix=${D}/usr/sbin \
|
| 125 |
bin-dir="" \
|
| 126 |
cfg-prefix=${D}/etc \
|
| 127 |
cfg-dir=ser/ \
|
| 128 |
cfg-target=/etc/ser/ \
|
| 129 |
modules-prefix=${D}/usr/lib/ser \
|
| 130 |
modules-dir=modules \
|
| 131 |
modules-target=/usr/lib/ser/modules/ \
|
| 132 |
man-prefix=${D}/usr/share/man \
|
| 133 |
man-dir="" \
|
| 134 |
doc-prefix=${D}/usr/share/doc \
|
| 135 |
doc-dir=${P} || die
|
| 136 |
|
| 137 |
newinitd ${FILESDIR}/ser.rc6 ser
|
| 138 |
newconfd ${FILESDIR}/ser.confd ser
|
| 139 |
exeinto /usr/sbin
|
| 140 |
newexe scripts/harv_ser.sh harv_ser.sh
|
| 141 |
newexe scripts/sc serctl
|
| 142 |
newexe scripts/ser_mysql.sh ser_mysql.sh
|
| 143 |
|
| 144 |
chown -R root:ser ${D}/etc/ser
|
| 145 |
chmod 750 ${D}/etc/ser
|
| 146 |
chmod 640 ${D}/etc/ser/*
|
| 147 |
|
| 148 |
# fix manpages
|
| 149 |
sed -i -e "s:^.B /ser-${PV}AUTHORS:.B /usr/share/doc/${PF}/AUTHORS:" \
|
| 150 |
-e "s:^.B /ser:.B /usr/sbin/ser:" \
|
| 151 |
${D}/usr/share/man/*/*
|
| 152 |
}
|
| 153 |
|
| 154 |
pkg_postinst() {
|
| 155 |
if has_version ${CATEGORY}/${PN}; then
|
| 156 |
einfo "Changing permissions on ${ROOT}etc/ser"
|
| 157 |
|
| 158 |
chown -R root:ser ${ROOT}/etc/ser
|
| 159 |
chmod 750 ${ROOT}/etc/ser
|
| 160 |
chmod 640 ${ROOT}/etc/ser/*
|
| 161 |
fi
|
| 162 |
}
|