2014-01-08 18:13:26 +04:00
|
|
|
# Copyright 1999-2014 Gentoo Foundation
|
2012-02-06 16:39:49 +04:00
|
|
|
# Distributed under the terms of the GNU General Public License v2
|
2014-01-08 18:13:26 +04:00
|
|
|
# $Header: /var/cvsroot/gentoo-x86/net-misc/ser/ser-0.9.7.ebuild,v 1.6 2014/01/08 06:39:49 vapier Exp $
|
2012-02-06 16:39:49 +04:00
|
|
|
|
2014-01-08 18:13:26 +04:00
|
|
|
inherit eutils flag-o-matic toolchain-funcs multilib user
|
2012-02-06 16:39:49 +04:00
|
|
|
|
|
|
|
IUSE="ipv6 mysql radius postgres jabber ldap ssl"
|
|
|
|
|
|
|
|
ETHZ_PV="1.0"
|
|
|
|
LDAP_PV="1.0"
|
|
|
|
LDAPS_PV="1.0"
|
|
|
|
SILOMAIL_PV="1.0"
|
|
|
|
MODULES_PV="0.9.0"
|
|
|
|
|
|
|
|
DESCRIPTION="SIP Express Router"
|
|
|
|
HOMEPAGE="http://www.iptel.org/ser"
|
|
|
|
SRC_URI="http://ftp.iptel.org/pub/ser/${PV}/src/${P}_src.tar.gz
|
|
|
|
mirror://gentoo/silomail-${SILOMAIL_PV}-${PN}-${MODULES_PV}.tar.gz
|
|
|
|
mirror://gentoo/ethz-${ETHZ_PV}-${PN}-${MODULES_PV}.tar.gz
|
|
|
|
ldap? ( mirror://gentoo/ldap-${LDAP_PV}-${PN}-${MODULES_PV}.tar.gz
|
|
|
|
mirror://gentoo/ldaps-${LDAPS_PV}-${PN}-${MODULES_PV}.tar.gz )"
|
|
|
|
|
|
|
|
SLOT="0"
|
|
|
|
LICENSE="GPL-2"
|
2012-08-13 00:14:53 +04:00
|
|
|
KEYWORDS="~amd64 ~ppc ~sparc x86"
|
2012-02-06 16:39:49 +04:00
|
|
|
|
|
|
|
RDEPEND="
|
|
|
|
mysql? ( virtual/mysql )
|
|
|
|
radius? ( >=net-dialup/radiusclient-ng-0.5.0 )
|
|
|
|
postgres? ( dev-db/postgresql-server )
|
|
|
|
jabber? ( dev-libs/expat )
|
|
|
|
ldap? (
|
|
|
|
net-nds/openldap
|
|
|
|
ssl? ( dev-libs/openssl )
|
|
|
|
)"
|
|
|
|
|
|
|
|
DEPEND="${RDEPEND}
|
|
|
|
>=sys-devel/bison-1.35
|
|
|
|
>=sys-devel/flex-2.5.4a"
|
|
|
|
|
|
|
|
pkg_setup() {
|
|
|
|
enewgroup ser
|
|
|
|
enewuser ser -1 -1 /dev/null ser
|
|
|
|
}
|
|
|
|
|
|
|
|
src_unpack() {
|
|
|
|
local modules extmodules MY_A MY_PATCH_A x
|
|
|
|
|
|
|
|
# unpack ser source
|
|
|
|
unpack ${P}_src.tar.gz
|
|
|
|
|
|
|
|
cd "${S}"
|
|
|
|
use ipv6 || \
|
|
|
|
sed -i -e "s/-DUSE_IPV6//g" Makefile.defs || die
|
|
|
|
sed -i -e 's/\(CFLAGS+=-mcpu=ultrasparc\) -minline-all-stringops/\1/g' \
|
|
|
|
Makefile.defs || die #157109
|
|
|
|
|
|
|
|
# external modules
|
|
|
|
extmodules="silomail ethz"
|
|
|
|
|
|
|
|
if use mysql; then
|
|
|
|
modules="${modules} mysql"
|
|
|
|
epatch "${FILESDIR}/${P}-mysql.diff"
|
|
|
|
fi
|
|
|
|
|
|
|
|
if use radius; then
|
|
|
|
modules="${modules} auth_radius group_radius uri_radius avp_radius"
|
|
|
|
epatch "${FILESDIR}/${P}-radius.diff"
|
|
|
|
fi
|
|
|
|
|
|
|
|
use jabber && \
|
|
|
|
modules="${modules} jabber"
|
|
|
|
|
|
|
|
use postgres && \
|
|
|
|
modules="${modules} postgres"
|
|
|
|
|
|
|
|
use ldap && \
|
|
|
|
extmodules="${extmodules} ldap"
|
|
|
|
|
|
|
|
use ldap && use ssl && \
|
|
|
|
extmodules="${extmodules} ldaps"
|
|
|
|
|
|
|
|
# put list of modules into Makefile, we need the list
|
|
|
|
# during compile and install phase...
|
|
|
|
sed -i -e "s:^\(include_modules.*\):\1 ${modules} ${extmodules}:" \
|
|
|
|
Makefile || die
|
|
|
|
|
|
|
|
# fix ser.cfg
|
|
|
|
sed -i -e "/force_send_socket(smaug:5080);/ d" \
|
|
|
|
etc/ser.cfg || die
|
|
|
|
|
|
|
|
# unpack external modules
|
|
|
|
# ugly i know...
|
|
|
|
for x in ${extmodules}; do
|
|
|
|
MY_A=$(eval echo ${x}-\${$(echo ${x} | tr "[:lower:]" "[:upper:]")_PV}-${PN}-${MODULES_PV})
|
|
|
|
MY_PATCH_A="${P}-extmod-${x}"
|
|
|
|
mkdir -p "${S}"/modules/${x}
|
|
|
|
cd "${S}"/modules/${x}
|
|
|
|
unpack ${MY_A}.tar.gz
|
|
|
|
# fix makefiles
|
|
|
|
if [[ -f "${FILESDIR}"/${MY_A}.diff ]]; then
|
|
|
|
epatch "${FILESDIR}"/${MY_A}.diff
|
|
|
|
fi
|
|
|
|
|
|
|
|
# additional patches
|
|
|
|
if [[ -f "${FILESDIR}"/${MY_PATCH_A}.diff ]]; then
|
|
|
|
epatch "${FILESDIR}"/${MY_PATCH_A}.diff
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
|
|
|
|
# remove sasl if openldap hasn't been built with it
|
|
|
|
if use ldap && ! built_with_use net-nds/openldap sasl; then
|
|
|
|
sed -i -e "s:-lsasl::g" \
|
|
|
|
"${S}"/modules/ldap/Makefile || die
|
|
|
|
|
|
|
|
if use ssl; then
|
|
|
|
sed -i -e "s:-lsasl::g" \
|
|
|
|
"${S}"/modules/ldaps/Makefile || die
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
src_compile() {
|
|
|
|
# add -fPIC
|
|
|
|
append-flags -fPIC
|
|
|
|
|
|
|
|
emake all \
|
|
|
|
CC="`tc-getCC`" \
|
|
|
|
CFLAGS="${CFLAGS}" \
|
|
|
|
cfg-prefix=/ \
|
|
|
|
cfg-target=/etc/ser/ || die "emake failed"
|
|
|
|
}
|
|
|
|
|
|
|
|
src_install () {
|
|
|
|
emake install \
|
|
|
|
prefix="" \
|
|
|
|
bin-prefix="${D}"/usr/sbin \
|
|
|
|
bin-dir="" \
|
|
|
|
cfg-prefix="${D}"/etc \
|
|
|
|
cfg-dir=ser/ \
|
|
|
|
cfg-target=/etc/ser/ \
|
|
|
|
modules-prefix="${D}"/usr/$(get_libdir)/ser \
|
|
|
|
modules-dir=modules \
|
|
|
|
modules-target=/usr/$(get_libdir)/ser/modules/ \
|
|
|
|
man-prefix="${D}"/usr/share/man \
|
|
|
|
man-dir="" \
|
|
|
|
doc-prefix="${D}"/usr/share/doc \
|
|
|
|
doc-dir="${P}" || die "emake install failed"
|
|
|
|
|
|
|
|
newinitd "${FILESDIR}"/ser.rc6 ser
|
|
|
|
newconfd "${FILESDIR}"/ser.confd ser
|
|
|
|
exeinto /usr/sbin
|
|
|
|
newexe scripts/harv_ser.sh harv_ser.sh
|
|
|
|
newexe scripts/sc serctl
|
|
|
|
newexe scripts/ser_mysql.sh ser_mysql.sh
|
|
|
|
|
|
|
|
chown -R root:ser "${D}"/etc/ser
|
|
|
|
chmod 750 "${D}"/etc/ser
|
|
|
|
chmod 640 "${D}"/etc/ser/*
|
|
|
|
|
|
|
|
# fix manpages
|
|
|
|
sed -i -e "s:^.B /ser-${PV}AUTHORS:.B /usr/share/doc/${PF}/AUTHORS:" \
|
|
|
|
-e "s:^.B /ser:.B /usr/sbin/ser:" \
|
|
|
|
"${D}"/usr/share/man/*/* || die
|
|
|
|
}
|
|
|
|
|
|
|
|
pkg_preinst() {
|
|
|
|
has_version "${CATEGORY}/${PN}"
|
|
|
|
previous_installed_version=$?
|
|
|
|
}
|
|
|
|
|
|
|
|
pkg_postinst() {
|
|
|
|
if [[ $previous_installed_version = 0 ]] ; then
|
|
|
|
einfo "Changing permissions on ${ROOT}etc/ser"
|
|
|
|
|
|
|
|
chown -R root:ser "${ROOT}"/etc/ser
|
|
|
|
chmod 750 "${ROOT}"/etc/ser
|
|
|
|
chmod 640 "${ROOT}"/etc/ser/*
|
|
|
|
fi
|
|
|
|
}
|