add basic asterisk 1.6.x package based on 1.6.1-rc1
git-svn-id: svn://svn.openwrt.org/openwrt/packages@14304 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
754ce8a42f
commit
ff7131de18
246
net/asterisk-1.6.x/Makefile
Normal file
246
net/asterisk-1.6.x/Makefile
Normal file
@ -0,0 +1,246 @@
|
||||
#
|
||||
# Copyright (C) 2008 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
# $Id$
|
||||
|
||||
# TODO:
|
||||
# - create smaller default config files (sip.conf and extensions.conf)
|
||||
# - ldd /usr/sbin/asterisk result:
|
||||
# + libssl.so.0.9.8 dep. is missing (and zlib sub dep.) => libopenssl
|
||||
# + libcrypto.so.0.9.8 dep. is missing => libopenssl
|
||||
# => need 1063071 and 223551 bytes!
|
||||
# - asterisk -cvvv
|
||||
# + load_dynamic_module: Error loading module 'func_strings.so': File not found
|
||||
# + Unable to open Asterisk database '/var/lib/asterisk/astdb
|
||||
# + Error loading module 'res_musiconhold.so': File not found
|
||||
# - mkdir -p /var/lib/asterisk/
|
||||
# - app_echo.so need app_playback.so
|
||||
# - I need app_macro.so
|
||||
# - Function "CALLERID not registered
|
||||
#
|
||||
# Changelog:
|
||||
# 20090111 nm build brcm47xx failde: add --without-sdl to CONFIGURE_ARGS
|
||||
# build x86: Package gtk+-2.0 was not found in the pkg-config search path.
|
||||
# => --without-gtk and --without-gtk2 added to CONFIGURE_ARGS but libpopt
|
||||
# is needed
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=asterisk
|
||||
PKG_VERSION:=1.6.1-rc1
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=http://downloads.digium.com/pub/asterisk/releases/
|
||||
PKG_MD5SUM:=29f7285b673d52b49d91c8e797acbbb0
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/asterisk16/Default
|
||||
SUBMENU:=asterisk16 (Complete Open Source PBX), v1.6.x
|
||||
SECTION:=net
|
||||
CATEGORY:=Network
|
||||
URL:=http://www.asterisk.org/
|
||||
endef
|
||||
|
||||
define Package/asterisk16/Default/description
|
||||
Asterisk is a complete PBX in software. It provides all of the features
|
||||
you would expect from a PBX and more. Asterisk does voice over IP in three
|
||||
protocols, and can interoperate with almost all standards-based telephony
|
||||
equipment using relatively inexpensive hardware.
|
||||
endef
|
||||
|
||||
|
||||
define Package/asterisk16
|
||||
$(call Package/asterisk16/Default)
|
||||
TITLE:=Complete open source PBX
|
||||
DEPENDS:= +libncurses +libpopt +libpthread +zlib @!TARGET_avr32
|
||||
endef
|
||||
|
||||
define Package/asterisk16/description
|
||||
$(call Package/asterisk16/Default/description)
|
||||
endef
|
||||
|
||||
define Package/asterisk16-sounds
|
||||
$(call Package/asterisk16/Default)
|
||||
TITLE:=Sound files
|
||||
DEPENDS:= +asterisk16
|
||||
endef
|
||||
|
||||
define Package/asterisk16-sounds/description
|
||||
$(call Package/asterisk16/Default/description)
|
||||
This package contains sound files for Asterisk.
|
||||
endef
|
||||
|
||||
|
||||
define Package/asterisk16-voicemail
|
||||
$(call Package/asterisk16/Default)
|
||||
TITLE:=Voicemail support
|
||||
DEPENDS:= +asterisk16
|
||||
endef
|
||||
|
||||
define Package/asterisk16-voicemail/description
|
||||
$(call Package/asterisk16/Default/description)
|
||||
This package contains voicemail related modules for Asterisk.
|
||||
endef
|
||||
|
||||
define Package/asterisk16-app-meetme
|
||||
$(call Package/asterisk16/Default)
|
||||
TITLE:=conferencing support
|
||||
DEPENDS:= +asterisk16 +dahdi-tools-libtonezone +kmod-dahdi-linux
|
||||
endef
|
||||
|
||||
define Package/asterisk16-app-meetme/description
|
||||
$(call Package/asterisk16/Default/description)
|
||||
This package provides the MeetMe application driver Conferencing support to
|
||||
Asterisk.
|
||||
endef
|
||||
|
||||
CONFIGURE_ARGS+= \
|
||||
--without-curl \
|
||||
--without-curses \
|
||||
--with-gsm=internal \
|
||||
--without-gtk \
|
||||
--without-gtk2 \
|
||||
--without-isdnnet \
|
||||
--without-kde \
|
||||
--without-misdn \
|
||||
--without-nbs \
|
||||
--with-ncurses="$(STAGING_DIR)/usr" \
|
||||
--without-netsnmp \
|
||||
--without-newt \
|
||||
--without-odbc \
|
||||
--without-ogg \
|
||||
--without-osptk \
|
||||
--with-popt="$(STAGING_DIR)/usr" \
|
||||
--without-pri \
|
||||
--without-qt \
|
||||
--without-radius \
|
||||
--without-sdl \
|
||||
--without-spandsp \
|
||||
--without-suppserv \
|
||||
--without-tds \
|
||||
--without-termcap \
|
||||
--without-tinfo \
|
||||
--without-vorbis \
|
||||
--without-vpb \
|
||||
--with-z="$(STAGING_DIR)/usr" \
|
||||
|
||||
ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk16-app-meetme),)
|
||||
CONFIGURE_ARGS+= \
|
||||
--with-dahdi="$(STAGING_DIR)/usr"
|
||||
else
|
||||
CONFIGURE_ARGS+= \
|
||||
--without-dahdi
|
||||
endif
|
||||
|
||||
EXTRA_CFLAGS:= $(TARGET_CPPFLAGS)
|
||||
EXTRA_LDFLAGS:= $(TARGET_LDFLAGS)
|
||||
|
||||
define Build/Configure
|
||||
-rm $(PKG_BUILD_DIR)/menuselect.makeopts
|
||||
$(call Build/Configure/Default,,$(SITE_VARS))
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
$(MAKE) -C "$(PKG_BUILD_DIR)" \
|
||||
include/asterisk/version.h \
|
||||
include/asterisk/buildopts.h defaults.h \
|
||||
makeopts.embed_rules
|
||||
ASTCFLAGS="$(EXTRA_CFLAGS) -DLOW_MEMORY $(TARGET_CFLAGS)" \
|
||||
ASTLDFLAGS="$(EXTRA_LDFLAGS)" \
|
||||
$(MAKE) -C "$(PKG_BUILD_DIR)" \
|
||||
ASTVARLIBDIR="/usr/lib/asterisk" \
|
||||
NOISY_BUILD="1" \
|
||||
DEBUG="" \
|
||||
OPTIMIZE="" \
|
||||
DESTDIR="$(PKG_INSTALL_DIR)" \
|
||||
all install samples
|
||||
$(SED) 's|/var/lib/asterisk|/usr/lib/asterisk|g' $(PKG_INSTALL_DIR)/etc/asterisk/musiconhold.conf
|
||||
endef
|
||||
|
||||
define Build/InstallDev
|
||||
mkdir -p $(1)/usr/include/asterisk/
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/asterisk/*.h $(1)/usr/include/asterisk/
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/asterisk.h $(1)/usr/include/
|
||||
endef
|
||||
|
||||
define Package/asterisk16/conffiles
|
||||
/etc/asterisk/asterisk.conf
|
||||
/etc/asterisk/modules.conf
|
||||
/etc/asterisk/extensions.conf
|
||||
/etc/asterisk/sip.conf
|
||||
/etc/asterisk/sip_notify.conf
|
||||
/etc/asterisk/features.conf
|
||||
/etc/asterisk/logger.conf
|
||||
/etc/asterisk/manager.conf
|
||||
/etc/asterisk/rtp.conf
|
||||
/etc/default/asterisk
|
||||
/etc/init.d/asterisk
|
||||
endef
|
||||
|
||||
define Package/asterisk16/install
|
||||
$(INSTALL_DIR) $(1)/etc/asterisk
|
||||
for f in asterisk extensions features \
|
||||
logger manager modules \
|
||||
sip sip_notify rtp; do \
|
||||
$(CP) $(PKG_INSTALL_DIR)/etc/asterisk/$$$$f.conf $(1)/etc/asterisk/ ; \
|
||||
done
|
||||
$(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
|
||||
for f in app_dial chan_sip \
|
||||
codec_ulaw codec_gsm \
|
||||
format_gsm format_pcm format_wav format_wav_gsm \
|
||||
pbx_config func_timeout; do \
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$$$$f.so $(1)/usr/lib/asterisk/modules/ ; \
|
||||
done
|
||||
$(INSTALL_DIR) $(1)/usr/sbin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/asterisk $(1)/usr/sbin/
|
||||
$(INSTALL_DIR) $(1)/etc/default
|
||||
$(INSTALL_DATA) ./files/asterisk.default $(1)/etc/default/asterisk
|
||||
$(INSTALL_DIR) $(1)/etc/init.d
|
||||
$(INSTALL_BIN) ./files/asterisk.init $(1)/etc/init.d/asterisk
|
||||
endef
|
||||
|
||||
define Package/asterisk16-sounds/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/asterisk/sounds/
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/sounds/en/* $(1)/usr/lib/asterisk/sounds/
|
||||
rm -f $(1)/usr/lib/asterisk/sounds/vm-*
|
||||
rm -f $(1)/usr/lib/asterisk/sounds/conf-*
|
||||
endef
|
||||
|
||||
|
||||
define Package/asterisk16-voicemail/conffiles
|
||||
/etc/asterisk/voicemail.conf
|
||||
endef
|
||||
|
||||
define Package/asterisk16-voicemail/install
|
||||
$(INSTALL_DIR) $(1)/etc/asterisk
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/voicemail.conf $(1)/etc/asterisk/
|
||||
$(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/*voicemail.so $(1)/usr/lib/asterisk/modules/
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_adsi.so $(1)/usr/lib/asterisk/modules/
|
||||
$(INSTALL_DIR) $(1)/usr/lib/asterisk/sounds/
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/sounds/en/vm-*.gsm $(1)/usr/lib/asterisk/sounds/
|
||||
endef
|
||||
|
||||
define Package/asterisk16-app-meetme/conffiles
|
||||
/etc/asterisk/meetme.conf
|
||||
endef
|
||||
|
||||
define Package/asterisk16-app-meetme/install
|
||||
$(INSTALL_DIR) $(1)/etc/asterisk
|
||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/meetme.conf $(1)/etc/asterisk/
|
||||
$(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/app_meetme.so $(1)/usr/lib/asterisk/modules/
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/chan_dahdi.so $(1)/usr/lib/asterisk/modules/
|
||||
$(INSTALL_DIR) $(1)/usr/lib/asterisk/sounds/
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/sounds/en/conf-*.gsm $(1)/usr/lib/asterisk/sounds/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,asterisk16))
|
||||
$(eval $(call BuildPackage,asterisk16-voicemail))
|
||||
$(eval $(call BuildPackage,asterisk16-sounds))
|
||||
#$(eval $(call BuildPackage,asterisk16-app-meetme))
|
4
net/asterisk-1.6.x/files/asterisk.default
Normal file
4
net/asterisk-1.6.x/files/asterisk.default
Normal file
@ -0,0 +1,4 @@
|
||||
## startup options for /etc/init.d/asterisk
|
||||
|
||||
ENABLE_ASTERISK="yes"
|
||||
OPTIONS=""
|
21
net/asterisk-1.6.x/files/asterisk.init
Normal file
21
net/asterisk-1.6.x/files/asterisk.init
Normal file
@ -0,0 +1,21 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
# Copyright (C) 2008 OpenWrt.org
|
||||
START=50
|
||||
|
||||
DEST=
|
||||
DEFAULT=$DEST/etc/default/asterisk
|
||||
OPTIONS=""
|
||||
|
||||
start() {
|
||||
[ -f $DEFAULT ] && . $DEFAULT
|
||||
[ -d $DEST/var/run ] || mkdir -p $DEST/var/run
|
||||
[ -d $DEST/var/log/asterisk ] || mkdir -p $DEST/var/log/asterisk
|
||||
[ -d $DEST/var/spool/asterisk ] || mkdir -p $DEST/var/spool/asterisk
|
||||
[ -d /var/spool/asterisk ] || mkdir -p /var/spool/asterisk
|
||||
[ -h $DEST/usr/lib/asterisk/astdb ] || ln -sf /var/spool/asterisk/astdb $DEST/usr/lib/asterisk/astdb
|
||||
$DEST/usr/sbin/asterisk $OPTIONS
|
||||
}
|
||||
|
||||
stop() {
|
||||
[ -f $DEST/var/run/asterisk.pid ] && kill $(cat $DEST/var/run/asterisk.pid) >/dev/null 2>&1
|
||||
}
|
12
net/asterisk-1.6.x/patches/100-build_tools-iconv.patch
Normal file
12
net/asterisk-1.6.x/patches/100-build_tools-iconv.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -Nru asterisk-1.6.1-beta4.org/build_tools/menuselect-deps.in asterisk-1.6.1-beta4/build_tools/menuselect-deps.in
|
||||
--- asterisk-1.6.1-beta4.org/build_tools/menuselect-deps.in 2008-08-03 18:14:14.000000000 +0200
|
||||
+++ asterisk-1.6.1-beta4/build_tools/menuselect-deps.in 2008-12-22 21:49:16.000000000 +0100
|
||||
@@ -10,7 +10,7 @@
|
||||
GTK=@PBX_GTK@
|
||||
H323=@PBX_H323@
|
||||
HOARD=@PBX_HOARD@
|
||||
-ICONV=@PBX_ICONV@
|
||||
+ICONV=0
|
||||
IKSEMEL=@PBX_IKSEMEL@
|
||||
IMAP_TK=@PBX_IMAP_TK@
|
||||
ISDNNET=@PBX_ISDNNET@
|
44
net/asterisk-1.6.x/patches/200-uclibc-daemon.patch
Normal file
44
net/asterisk-1.6.x/patches/200-uclibc-daemon.patch
Normal file
@ -0,0 +1,44 @@
|
||||
diff -Nru asterisk-1.6.1-beta4.org/main/asterisk.c asterisk-1.6.1-beta4/main/asterisk.c
|
||||
--- asterisk-1.6.1-beta4.org/main/asterisk.c 2008-12-12 23:05:58.000000000 +0100
|
||||
+++ asterisk-1.6.1-beta4/main/asterisk.c 2008-12-23 15:28:21.000000000 +0100
|
||||
@@ -3295,9 +3295,40 @@
|
||||
#if HAVE_WORKING_FORK
|
||||
if (ast_opt_always_fork || !ast_opt_no_fork) {
|
||||
#ifndef HAVE_SBIN_LAUNCHD
|
||||
+#ifndef __UCLIBC__
|
||||
if (daemon(1, 0) < 0) {
|
||||
ast_log(LOG_ERROR, "daemon() failed: %s\n", strerror(errno));
|
||||
}
|
||||
+#else
|
||||
+ /*
|
||||
+ * workaround for uClibc-0.9.29 mipsel bug:
|
||||
+ * recursive mutexes do not work if uClibc daemon() function has been called,
|
||||
+ * if parent thread locks a mutex
|
||||
+ * the child thread cannot acquire a lock with the same name
|
||||
+ * (same code works if daemon() is not called)
|
||||
+ * but duplication of uClibc daemon.c code in here does work.
|
||||
+ */
|
||||
+ int fd;
|
||||
+ switch (fork()) {
|
||||
+ case -1:
|
||||
+ exit(1);
|
||||
+ case 0:
|
||||
+ break;
|
||||
+ default:
|
||||
+ _exit(0);
|
||||
+ }
|
||||
+ if (setsid() == -1)
|
||||
+ exit(1);
|
||||
+ if (fork())
|
||||
+ _exit(0);
|
||||
+ if ((fd = open("/dev/null", O_RDWR, 0)) != -1) {
|
||||
+ dup2(fd, STDIN_FILENO);
|
||||
+ dup2(fd, STDOUT_FILENO);
|
||||
+ dup2(fd, STDERR_FILENO);
|
||||
+ if (fd > 2)
|
||||
+ close(fd);
|
||||
+ }
|
||||
+#endif
|
||||
ast_mainpid = getpid();
|
||||
/* Blindly re-write pid file since we are forking */
|
||||
unlink(ast_config_AST_PID);
|
Loading…
x
Reference in New Issue
Block a user