Files
bpfire/lfs/asterisk
Jan Lentfer e659ba5b3a asterisk: Update to 1.8.13.0.
The 1.4 branch of asterisk does not build with the new flex and bison.
Also, the 1.4 branch was EOL'ed April 2012. The 1.8 branch has long
term support until 2015.

This patch also update chan_capi to the most recent version (HEAD),
as this is the only one that compiles with asterisk 1.8.

Asterisk 1.8 ships addons as part of the main tarball.
Asterisk 1.8 has no build in mp3 support anymore, mp3 libs need to be
downloaded seperatly via svn
(see asterisk-1.8.13.0/contrib/scripts/get_mp3_source.sh).
This patch DOES NOT include mp3 support.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2012-06-17 17:00:15 +02:00

159 lines
6.4 KiB
Plaintext

###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2011 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. #
# #
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with this program. If not, see <http://www.gnu.org/licenses/>. #
# #
###############################################################################
###############################################################################
# Definitions
###############################################################################
include Config
VER = 1.8.13.0
THISAPP = asterisk-$(VER)
DL_FILE = $(THISAPP).tar.gz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = asterisk
PAK_VER = 7
CHAN_CAPI = chan_capi-20120614
DEPS = "libpri libtiff libvorbis libogg spandsp netsnmpd"
###############################################################################
# Top-level Rules
###############################################################################
objects = $(DL_FILE) \
asterisk-1.4-de-prompts.tar.gz \
asterisk-core-sounds-en-gsm-1.4.22.tar.gz \
asterisk-extra-sounds-en-gsm-1.4.11.tar.gz \
asterisk-moh-opsound-gsm-2.03.tar.gz \
$(CHAN_CAPI).tgz
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
asterisk-core-sounds-en-gsm-1.4.22.tar.gz = $(URL_IPFIRE)/asterisk-core-sounds-en-gsm-1.4.22.tar.gz
asterisk-extra-sounds-en-gsm-1.4.11.tar.gz = $(URL_IPFIRE)/asterisk-extra-sounds-en-gsm-1.4.11.tar.gz
asterisk-moh-opsound-gsm-2.03.tar.gz = $(URL_IPFIRE)/asterisk-moh-opsound-gsm-2.03.tar.gz
asterisk-1.4-de-prompts.tar.gz = $(URL_IPFIRE)/asterisk-1.4-de-prompts.tar.gz
$(CHAN_CAPI).tgz = $(URL_IPFIRE)/$(CHAN_CAPI).tgz
$(DL_FILE)_MD5 = e7f2cb19068c1211c907062f9e96c47a
asterisk-core-sounds-en-gsm-1.4.22.tar.gz_MD5 = 2a99a45c0675135255bc65796b12f7c6
asterisk-extra-sounds-en-gsm-1.4.11.tar.gz_MD5 = 5479cb4cb81d678304d96f35e4933a11
asterisk-moh-opsound-gsm-2.03.tar.gz_MD5 = 09066f55f1358f298bc1a6e4678a3ddf
asterisk-1.4-de-prompts.tar.gz_MD5 = 626a2b95071a5505851e43874dfbfd5c
$(CHAN_CAPI).tgz_MD5 = c190f44eb362bf258b27f92c3458e4bf
install : $(TARGET)
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
download :$(patsubst %,$(DIR_DL)/%,$(objects))
md5 : $(subst %,%_MD5,$(objects))
dist:
$(PAK)
###############################################################################
# Downloading, checking, md5sum
###############################################################################
$(patsubst %,$(DIR_CHK)/%,$(objects)) :
@$(CHECK)
$(patsubst %,$(DIR_DL)/%,$(objects)) :
@$(LOAD)
$(subst %,%_MD5,$(objects)) :
@$(MD5)
###############################################################################
# Installation Details
###############################################################################
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
# remove old directories and extract asterisk
@rm -rf $(DIR_APP) $(DIR_SRC)/asterisk-* $(DIR_SRC)/$(CHAN_CAPI) $(DIR_SRC)/agx-ast-addons && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
# confiure asterisk
cd $(DIR_APP) && ./configure --prefix=/usr --sysconfdir=/var/ipfire
# enable additional features (include following sound-tars)
cd $(DIR_APP) && cp -fv $(DIR_SRC)/config/asterisk/asterisk.makeopts menuselect.makeopts
# add additional sounds
cd $(DIR_APP) && cp -fv $(DIR_DL)/asterisk-core-sounds-en-gsm-1.4.22.tar.gz $(DIR_APP)/sounds/
cd $(DIR_APP) && cp -fv $(DIR_DL)/asterisk-extra-sounds-en-gsm-1.4.11.tar.gz $(DIR_APP)/sounds/
cd $(DIR_APP) && cp -fv $(DIR_DL)/asterisk-moh-opsound-gsm-2.03.tar.gz $(DIR_APP)/sounds/
# Fix wrong cpu optimization (march=armv5tel)
cd $(DIR_APP) && sed -i -e "s|^PROC=armv5te.*|PROC=armv5te|g" makeopts
# Add armv5te to gsm codecs
cd $(DIR_APP) && sed -i -e "s|armv5b |*armv5te |g" codecs/gsm/Makefile
# compile and install
cd $(DIR_APP) && make $(MAKETUNING) all
cd $(DIR_APP) && make install
cd $(DIR_APP) && make samples
# add german sounds and remove README.txt
tar xfz $(DIR_DL)/asterisk-1.4-de-prompts.tar.gz -C /var/lib/asterisk/sounds/
-rm -f /var/lib/asterisk/sounds/README.txt
# remove build directories
@rm -rf $(DIR_APP) $(DIR_SRC)/asterisk-*
# copy additional ipfire scripts for asterisk
-mkdir -p /var/ipfire/asterisk
cp -vrf $(DIR_SRC)/config/asterisk/* /var/ipfire/asterisk/
chmod o+w /var/ipfire/asterisk
chown nobody:nobody -R /var/ipfire/asterisk
ln -f -s /var/ipfire/asterisk/wakeup/wakeup.sh /etc/fcron.minutely/wakeup.sh
# build and install chan capi (needed for isdn)
cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(CHAN_CAPI).tgz
cd $(DIR_SRC)/chan-capi-HEAD && sed -i -e 's/^CFLAGS+=-Wno-unused-but-set-variable$$//' Makefile
cd $(DIR_SRC)/chan-capi-HEAD && make $(MAKETUNING)
cd $(DIR_SRC)/chan-capi-HEAD && make install
@rm -rf $(DIR_SRC)/chan-capi-HEAD
# be sure all source is removed
@rm -rf $(DIR_APP) $(DIR_SRC)/asterisk-*
# remember backup-location
install -v -m 644 $(DIR_SRC)/config/backup/includes/asterisk /var/ipfire/backup/addons/includes/asterisk
# generate softlink (or asterisk will not work properly)
ln -sf /var/ipfire/asterisk /etc/asterisk
# make asterisk start with reboot
ln -sf /etc/rc.d/init.d/asterisk /etc/rc.d/rc0.d/K30asterisk
ln -sf /etc/rc.d/init.d/asterisk /etc/rc.d/rc6.d/K30asterisk
ln -sf /etc/rc.d/init.d/asterisk /etc/rc.d/rc3.d/S30asterisk
# all done
@$(POSTBUILD)