Add 'meta-telephony/' from commit '3b2076a5563a27e114b02a1e41cf4f62330e9575'

git-subtree-dir: meta-telephony
git-subtree-mainline: f35e8e0c10
git-subtree-split: 3b2076a556
This commit is contained in:
Holger Hans Peter Freyther 2017-05-16 10:27:48 +08:00
commit bfc438b1f4
85 changed files with 3653 additions and 0 deletions

1
meta-telephony/README Normal file
View File

@ -0,0 +1 @@
This is a collection of OE recipes for Osmocom and things related to Osmocom

View File

@ -0,0 +1,54 @@
# waf is a build system which is used by samba related project.
# Obtain details from https://wiki.samba.org/index.php/Waf
#
inherit qemu pythonnative
DEPENDS += "qemu-native python"
CONFIGUREOPTS = " --prefix=${prefix} \
--bindir=${bindir} \
--sbindir=${sbindir} \
--libexecdir=${libexecdir} \
--datadir=${datadir} \
--sysconfdir=${sysconfdir} \
--sharedstatedir=${sharedstatedir} \
--localstatedir=${localstatedir} \
--libdir=${libdir} \
--includedir=${includedir} \
--oldincludedir=${oldincludedir} \
--infodir=${infodir} \
--mandir=${mandir} \
"
do_configure() {
qemu_binary="${@qemu_target_binary(d)}"
if [ "${qemu_binary}" = "qemu-allarch" ]; then
qemu_binary="qemuwrapper"
fi
libdir_qemu="${STAGING_DIR_HOST}/${libdir}"
base_libdir_qemu="${STAGING_DIR_HOST}/${base_libdir}"
CROSS_EXEC="${qemu_binary} \
${QEMU_OPTIONS} \
-L ${STAGING_DIR_HOST} \
-E LD_LIBRARY_PATH=${libdir_qemu}:${base_libdir_qemu}"
export BUILD_SYS=${BUILD_SYS}
export HOST_SYS=${HOST_SYS}
export BUILD_ARCH=${BUILD_ARCH}
export HOST_ARCH=${HOST_ARCH}
export STAGING_LIBDIR=${STAGING_LIBDIR}
export STAGING_INCDIR=${STAGING_INCDIR}
export PYTHONPATH=${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR}
./configure ${CONFIGUREOPTS} ${EXTRA_OECONF} --cross-compile --cross-execute="${CROSS_EXEC}"
}
do_compile () {
python ./buildtools/bin/waf ${PARALLEL_MAKE}
}
do_install() {
oe_runmake install DESTDIR=${D}
}

View File

@ -0,0 +1,12 @@
# We have a conf and classes directory, add to BBPATH
BBPATH .= ":${LAYERDIR}"
# We have a packages directory, add to BBFILES
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "telephony"
BBFILE_PATTERN_telephony = "^${LAYERDIR}/"
BBFILE_PRIORITY_telephony = "5"
META_TELEPHONY_OSMO_INC = "18"

View File

@ -0,0 +1,158 @@
DESCRIPTION = "Asterisk is an Open Source PBX and telephony toolkit."
HOMEPAGE = "http://www.asterisk.org/"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3aa955c628d43053f8ba9569d173105a"
DEPENDS += "jansson sqlite3 libedit alsa-lib util-linux"
SRC_URI = "\
http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-${PV}.tar.gz \
file://0001-Use-pkgconfig-to-find-sdl.patch \
file://0002-Use-pkgconfig-to-find-libxml2.patch \
file://asterisk.init.d \
"
SRC_URI[md5sum] = "2fb7d247aacdbb9736c82b133053dfdf"
SRC_URI[sha256sum] = "e8b8d071f783edea82de510194dd272070ffbb7cdb2f5f6b020be5d15b67e8b9"
S = "${WORKDIR}/asterisk-${PV}"
inherit autotools pkgconfig useradd update-rc.d
# dora doesn't have autotools-brokensep. Still needed for sysmocom
B = "${S}"
USERADD_PACKAGES = "${PN}"
USERADD_PARAM_${PN} = "--system -g asterisk --shell /bin/false asterisk"
GROUPADD_PARAM_${PN} = "--system asterisk"
PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'largefile', 'largefile', '', d)}"
# Optional features
PACKAGECONFIG[dev-mode] = "--enable-dev-mode,--disable-dev-mode"
PACKAGECONFIG[coverage] = "--enable-coverage,--disable-coverage"
PACKAGECONFIG[xmldoc] = "--enable-xmldoc,--disable-xmldoc"
PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile"
PACKAGECONFIG[internal-poll] = "--enable-internal-poll,--disable-internal-poll"
PACKAGECONFIG[asteriskssl] = "--enable-asteriskssl,--disable-asteriskssl,openssl"
PACKAGECONFIG[rpath] = "--enable-rpath,--disable-rpath"
# Optional packages
PACKAGECONFIG[bfd] = "--with-bfd,--without-bfd"
PACKAGECONFIG[bluetooth] = "--with-bluetooth,--without-bluetooth,bluez5"
PACKAGECONFIG[backtrace] = "--with-execinfo,--without-execinfo"
PACKAGECONFIG[cap] = "--with-cap,--without-cap,libcap"
PACKAGECONFIG[corosync] = "--with-cpg,--without-cpg,corosync"
PACKAGECONFIG[curses] = "--with-curses,--without-curses,ncurses"
PACKAGECONFIG[crypt] = "--with-crypt,--without-crypt"
PACKAGECONFIG[crypto] = "--with-crypto,--without-crypto"
PACKAGECONFIG[dahdi] = "--with-dahdi,--without-dahdi,dahdi-tools"
# To enable FFMPEG add LICENSE_FLAGS_WHITELIST = "commercial" to your local.conf
PACKAGECONFIG[ffmpeg] = "--with-avcodec,--without-avcodec,libav"
PACKAGECONFIG[gsm] = "--with-gsm,--without-gsm,libgsm"
PACKAGECONFIG[ilbc] = "--with-ilbc,--without-ilbc"
PACKAGECONFIG[gtk2] = "--with-gtk2,--without-gtk2,gtk+"
PACKAGECONFIG[gmime] = "--with-gmime,--without-gmime"
PACKAGECONFIG[openh323] = "--with-h323,--without-h323"
PACKAGECONFIG[hoard] = "--with-hoard,--without-hoard"
PACKAGECONFIG[ical] = "--with-ical,--without-ical"
PACKAGECONFIG[iconv] = "--with-iconv,--without-iconv,libiconv"
PACKAGECONFIG[iksemel] = "--with-iksemel,--without-iksemel,iksemel"
PACKAGECONFIG[imap_tk] = "--with-imap,--without-imap,uw-imap"
PACKAGECONFIG[inotify] = "--with-inotify,--without-inotify"
PACKAGECONFIG[iodbc] = "--with-iodbc,--without-iodbc"
PACKAGECONFIG[isdnnet] = "--with-isdnnet,--without-isdnnet"
# Jack depends on kqeueu
PACKAGECONFIG[jack] = "--with-jack,--without-jack,jack"
PACKAGECONFIG[uriparser] = "--with-uriparser,--without-uriparser"
PACKAGECONFIG[kqueue] = "--with-kqueue,--without-kqueue"
PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
PACKAGECONFIG[libcurl] = "--with-libcurl,--without-libcurl,curl"
PACKAGECONFIG[libxml2] = "--with-libxml2,--without-libxml2,libxml2"
PACKAGECONFIG[libxslt] = "--with-libxslt,--without-libxslt,libxslt"
PACKAGECONFIG[ltdl] = "--with-ltdl,--without-ltdl,libtool"
PACKAGECONFIG[lua] = "--with-lua,--without-lua,lua"
PACKAGECONFIG[misdn] = "--with-misdn,--without-misdn,misdn-utils"
PACKAGECONFIG[mysqlclient] = "--with-mysqlclient,--without-mysqlclient,mariadb"
PACKAGECONFIG[nbs] = "--with-nbs,--without-nbs"
PACKAGECONFIG[ncurses] = "--with-curses,--without-curses,ncurses"
PACKAGECONFIG[neon] = "--with-neon,--without-neon,neon"
PACKAGECONFIG[netsnmp] = "--with-netsnmp,--without-netsnmp,net-snmp"
PACKAGECONFIG[newt] = "--with-newt,--without-newt,libnewt"
PACKAGECONFIG[ogg] = "--with-ogg,--without-ogg,libogg"
PACKAGECONFIG[openr2] = "--with-openr2,--without-openr2"
PACKAGECONFIG[opus] = "--with-opus,--without-opus,libopus"
PACKAGECONFIG[osptk] = "--with-osptk,--without-osptk"
PACKAGECONFIG[oss] = "--with-oss,--without-oss,alsa-oss"
PACKAGECONFIG[pgsql] = "--with-postgres,--without-postgres,postgresql"
PACKAGECONFIG[pjproject] = "--with-pjproject,--without-pjproject,pjproject"
PACKAGECONFIG[popt] = "--with-popt,--without-popt,popt"
PACKAGECONFIG[portaudio] = "--with-portaudio,--without-portaudio,portaudio-v19"
PACKAGECONFIG[pri] = "--with-pri,--without-pri,misdn-utils"
PACKAGECONFIG[pwlib] = "--with-pwlib,--without-pwlib,pwlib"
PACKAGECONFIG[radius] = "--with-radius,--without-radius,radiusclient-ng"
PACKAGECONFIG[resample] = "--with-resample,--without-resample,ncurses"
# Need to enable sdl_images to use sdl
PACKAGECONFIG[sdl] = "--with-sdl,--without-sdl,libsdl"
PACKAGECONFIG[sdl_image] = "--with-SDL_image,--without-SDL_image,libsdl-image"
PACKAGECONFIG[sounds-cache] = "--with-sounds-cache,--without-sounds-cache"
PACKAGECONFIG[spandsp] = "--with-spandsp,--without-spandsp"
PACKAGECONFIG[ss7] = "--with-ss7,--without-ss7"
PACKAGECONFIG[speex] = "--with-speex,--without-speex,speex"
PACKAGECONFIG[speexdsp] = "--with-speexdsp,--without-speexdsp,speexdsp"
PACKAGECONFIG[srtp] = "--with-srtp,--without-srtp"
PACKAGECONFIG[openssl] = "--with-ssl,--without-ssl,openssl"
PACKAGECONFIG[suppserv] = "--with-suppserv,--without-suppserv,misdn-utils"
PACKAGECONFIG[freetds] = "--with-tds,--without-tds"
PACKAGECONFIG[termcap] = "--with-termcap,--without-termcap,libcap"
PACKAGECONFIG[timerfd] = "--with-timerfd,--without-timerfd"
PACKAGECONFIG[tinfo] = "--with-tinfo,--without-tinfo,ncurses"
PACKAGECONFIG[tonezone] = "--with-tonezone,--without-tonezone"
PACKAGECONFIG[unixodbc] = "--with-unixodbc,--without-unixodbc,libodbc"
PACKAGECONFIG[vorbis] = "--with-vorbis,--without-vorbis,libvorbis"
PACKAGECONFIG[vpb] = "--with-vpb,--without-vpb"
PACKAGECONFIG[x11] = "--with-x11,--without-x11,libx11"
PACKAGECONFIG[zlib] = "--with-z,--without-z,zlib"
EXTRA_OECONF += " \
--with-libedit=${STAGING_INCDIR} \
"
INITSCRIPT_NAME = "asterisk"
INITSCRIPT_PARAMS = "defaults"
do_configure_append() {
echo "Regenerate the configure scripts"
for d in ${S}/menuselect; do
echo " - $d"
(cd $d; autoreconf -I ${S}/autoconf)
done
echo "Starting the build of menuselect"
cd ${B}/menuselect
CC="${HOST_CC}" \
CXX="${HOST_CXX}" \
LD="" \
AR="" \
RANLIB="" \
CFLAGS="${HOST_CFLAGS}" \
LDFLAGS="${HOST_LDFLAGS}" \
./configure
}
do_install_append() {
oe_runmake DESTDIR=${D} samples
install -Dm 0755 ${WORKDIR}/asterisk.init.d ${D}${sysconfdir}/init.d/asterisk
# Set file permissions and ownerships
chown -R root:asterisk ${D}${sysconfdir}/asterisk
chmod -R u=rwX,g=rwX,o= ${D}${sysconfdir}/asterisk
for x in spool run lib log; do
chown -R asterisk:asterisk ${D}${localstatedir}/${x}/asterisk
chmod -R u=rwX,g=rwX,o= ${D}${localstatedir}/${x}/asterisk
done
}
FILES_${PN} += "\
/run/asterisk \
${datadir}/dahdi/* \
${libdir}/hotplug/firmware \
"
FILES_${PN}-dbg += "${libdir}/*/*/.debug"

View File

@ -0,0 +1,26 @@
Upstream-Status: Pending
Subject: [PATCH 1/2] Use pkgconfig to find sdl
Organization: O.S. Systems Software LTDA.
Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 971f9bf..c371d19 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2427,7 +2427,7 @@ AC_SUBST(PBX_IXJUSER)
AST_C_DEFINE_CHECK([MSG_NOSIGNAL], [MSG_NOSIGNAL], [sys/socket.h])
AST_C_DEFINE_CHECK([SO_NOSIGPIPE], [SO_NOSIGPIPE], [sys/socket.h])
-AST_EXT_TOOL_CHECK([SDL], [sdl-config])
+AST_PKG_CONFIG_CHECK([SDL], [sdl])
AST_EXT_LIB_CHECK([SDL_IMAGE], [SDL_image], [IMG_Load], [SDL_image.h], [${SDL_LIB}], [${SDL_INCLUDE}])
AST_EXT_LIB_CHECK([FFMPEG], [avcodec], [sws_getContext], [ffmpeg/avcodec.h], [${PTHREAD_LIBS} -lz -lm], [${PTHREAD_CFLAGS}])
--
2.1.4

View File

@ -0,0 +1,73 @@
Upstream-Status: Pending
Subject: [PATCH 2/2] Use pkgconfig to find libxml2
Organization: O.S. Systems Software LTDA.
Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
---
configure.ac | 12 +-----------
menuselect/configure.ac | 11 +++--------
2 files changed, 4 insertions(+), 19 deletions(-)
diff --git a/configure.ac b/configure.ac
index c371d19..17f0d2d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -575,17 +575,6 @@ if test "x$JANSSON_LIB" == "x"; then
AC_MSG_ERROR([*** JSON support not found (this typically means the libjansson development package is missing)])
fi
-AST_EXT_TOOL_CHECK([LIBXML2], [xml2-config], , ,
- [#include <libxml/tree.h>
- #include <libxml/parser.h>],
- [LIBXML_TEST_VERSION])
-
-if test "${PBX_LIBXML2}" != 1; then
- AC_MSG_NOTICE(*** The Asterisk menuselect tool requires the 'libxml2' development package.)
- AC_MSG_NOTICE(*** Please install the 'libxml2' development package.)
- exit 1
-fi
-
AST_EXT_LIB_CHECK([URIPARSER], [uriparser], [uriParseUriA], [uriparser/Uri.h])
# Another mandatory item (unless it's explicitly disabled)
@@ -1280,6 +1269,7 @@ PKG_PROG_PKG_CONFIG()
# do the package library checks now
+AST_PKG_CONFIG_CHECK([LIBXML2], [libxml-2.0])
AST_EXT_LIB_CHECK([ALSA], [asound], [snd_spcm_init], [alsa/asoundlib.h], [-lm -ldl])
diff --git a/menuselect/configure.ac b/menuselect/configure.ac
index 5989f5c..675113b 100644
--- a/menuselect/configure.ac
+++ b/menuselect/configure.ac
@@ -125,14 +125,6 @@ AST_EXT_LIB_SETUP([LIBXML2], [LibXML2], [libxml2])
AST_EXT_LIB_CHECK([NEWT], [newt], [newtBell], [newt.h])
AST_EXT_LIB_CHECK([CURSES], [curses], [initscr], [curses.h])
AST_EXT_LIB_CHECK([NCURSES], [ncurses], [initscr], [curses.h])
-AST_EXT_TOOL_CHECK([LIBXML2], [xml2-config], , ,
- [#include <libxml/tree.h>
- #include <libxml/parser.h>],
- [LIBXML_TEST_VERSION])
-
-if test "${PBX_LIBXML2}" != 1; then
- AC_MSG_ERROR([Could not find required 'Libxml2' development package])
-fi
PBX_GTK2=0
AC_CHECK_TOOL(PKGCONFIG, pkg-config, No)
@@ -146,6 +138,9 @@ AC_SUBST(PBX_GTK2)
AC_SUBST(GTK2_INCLUDE)
AC_SUBST(GTK2_LIB)
+PKG_PROG_PKG_CONFIG()
+AST_PKG_CONFIG_CHECK([LIBXML2], [libxml-2.0])
+
test "$silent"=yes && ac_sub_configure_args="${ac_sub_configure_args} --silent"
AC_CONFIG_FILES([makeopts])
--
2.1.4

View File

@ -0,0 +1,150 @@
#! /bin/sh
### BEGIN INIT INFO
# Provides: asterisk
# Required-Start: $network $syslog $named $local_fs $remote_fs
# Required-Stop: $network $syslog $named $local_fs $remote_fs
# Should-Start: dahdi misdn lcr wanrouter mysql postgresql
# Should-Stop: dahdi misdn lcr wanrouter mysql postgresql
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Asterisk PBX
# Description: Asterisk Open Source PBX
### END INIT INFO
# Do NOT "set -e"
log_daemon_msg() {
echo $*
}
log_end_msg() {
if [ $1 -eq 0 ]; then
success $*
else
failure $*
fi
}
log_failure_msg() {
echo $*
}
log_success_msg() {
echo $*
}
# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="Asterisk PBX"
NAME=asterisk
DAEMON=/usr/sbin/$NAME
DAEMON_ARGS=""
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
CHROOT=/var/run/$NAME
# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0
# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
# LSB log_* functions
. /etc/init.d/functions
do_start()
{
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
$DAEMON_ARGS \
|| return 2
}
do_stop()
{
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
RETVAL="$?"
[ "$RETVAL" = 2 ] && return 2
start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
[ "$?" = 2 ] && return 2
rm -f $PIDFILE
return "$RETVAL"
}
do_reload() {
start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
return 0
}
#
# Function that shows the daemon/service status
#
status_of_proc () {
local pid status
status=0
# pidof output null when no program is running, so no "2>/dev/null".
pid=`pidofproc $NAME` || status=$?
case $status in
0)
echo "$DESC is running ($pid)."
exit 0
;;
*)
echo "$DESC is not running." >&2
exit $status
;;
esac
}
case "$1" in
start)
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
do_start
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
stop)
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
do_stop
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
reload)
log_daemon_msg "Reloading $DESC" "$NAME"
do_reload
log_end_msg $?
;;
restart|force-reload)
log_daemon_msg "Restarting $DESC" "$NAME"
do_stop
case "$?" in
0|1)
do_start
case "$?" in
0) log_end_msg 0 ;;
1) log_end_msg 1 ;; # Old process is still running
*) log_end_msg 1 ;; # Failed to start
esac
;;
*)
# Failed to stop
log_end_msg 1
;;
esac
;;
status)
status_of_proc $DAEMON $NAME -p $PIDFILE && exit 0 || exit $?
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload|status}" >&2
exit 3
;;
esac
:

View File

@ -0,0 +1 @@
BBCLASSEXTEND_append = " nativesdk"

View File

@ -0,0 +1,142 @@
DESCRITOPN = "Digium Asterisk Hardware Driver Interface - Linux kernel part"
SECTION = "base"
HOMEPAGE = "http://www.asterisk.org"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://LICENSE;md5=ea5bed2f60d357618ca161ad539f7c0a"
DEPENDS = "virtual/kernel"
# those firmware images are normally downloaded as part of the 'make'
# process of dahdi-linux. In the context of OE, we want to list them
# here so they are part of the 'downloads' directory and thus don't need
# to be downloaded all the time.
FIRMWARE_URI = "\
http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fw-a4a-a0017.tar.gz;name=dahdi-fw-a4a-a0017 \
http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fw-a4b-d001e.tar.gz;name=dahdi-fw-a4b-d001e \
http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fw-a8a-1d0017.tar.gz;name=dahdi-fw-a8a-1d0017 \
http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fw-a8b-1f001e.tar.gz;name=dahdi-fw-a8b-1f001e \
http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fw-hx8-2.06.tar.gz;name=dahdi-fw-hx8 \
http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fw-oct6114-032-1.05.01.tar.gz;name=dahdi-fw-oct6114-032 \
http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fw-oct6114-064-1.05.01.tar.gz;name=dahdi-fw-oct6114-064 \
http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fw-oct6114-128-1.05.01.tar.gz;name=dahdi-fw-oct6114-128 \
http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fw-oct6114-256-1.05.01.tar.gz;name=dahdi-fw-oct6114-256 \
http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fw-tc400m-MR6.12.tar.gz;name=dahdi-fw-tc400m-MR6 \
http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fw-te133-7a001e.tar.gz;name=dahdi-fw-te133-7a001e \
http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fw-te134-780017.tar.gz;name=dahdi-fw-te134-780017 \
http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fw-te435-13001e.tar.gz;name=dahdi-fw-te435-13001e \
http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fw-te436-10017.tar.gz;name=dahdi-fw-te436-10017 \
http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fw-te820-1.76.tar.gz;name=dahdi-fw-te820-1.76 \
http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fw-vpmoct032-1.12.0.tar.gz;name=dahdi-fw-vpmoct032 \
http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fwload-vpmadt032-1.25.0.tar.gz;name=dahdi-fwload-vpmadt032 \
"
SRC_URI[dahdi-fw-a4a-a0017.md5sum] = "7fab377be2dff23188e234475bc044f9"
SRC_URI[dahdi-fw-a4a-a0017.sha256sum] = "d5b6ab6851e431afcfec2ecc39d95fa88fe3939ffdb2e3d4f28a43cabf30e95b"
SRC_URI[dahdi-fw-a4b-d001e.md5sum] = "f16247c3d92d9b1d183de28230fa85b1"
SRC_URI[dahdi-fw-a4b-d001e.sha256sum] = "e039af8bec36407b74e1dd9ebdd49ba077469eda79d4e6093721ed2836d4536f"
SRC_URI[dahdi-fw-a8a-1d0017.md5sum] = "1e771e250721105013cbdb6b6e66f9dc"
SRC_URI[dahdi-fw-a8a-1d0017.sha256sum] = "5064f9877b8aec99b19fd57988216fe1a9c0b7c07853dd3b32b5a55ab7b418e6"
SRC_URI[dahdi-fw-a8b-1f001e.md5sum] = "014b46ac0b04cd93327908a082304dd0"
SRC_URI[dahdi-fw-a8b-1f001e.sha256sum] = "09a8992786309e025aa60b400a2c7d21226ac9bb6f1b66f562a5e7e9dc892b03"
SRC_URI[dahdi-fw-hx8.md5sum] = "a7f3886942bb3e9fed349a41b3390c9f"
SRC_URI[dahdi-fw-hx8.sha256sum] = "449ab3fd03d55d808e999efb7677cd04de202b92c9fcb039539a7e48a39a80f5"
SRC_URI[dahdi-fw-oct6114-032.md5sum] = "5e0b48da8a9912f2a40a0e0508c96948"
SRC_URI[dahdi-fw-oct6114-032.sha256sum] = "7a006073202d67e45f1d5ff1e9c6e8663e6056cef9dc4c5abae86a1018db349c"
SRC_URI[dahdi-fw-oct6114-064.md5sum] = "88db9b7a07d8392736171b1b3e6bcc66"
SRC_URI[dahdi-fw-oct6114-064.sha256sum] = "56bac1f2024c76ecf9b6f40992eeea29a1fbee676bb2a37a058179bacfbb1c91"
SRC_URI[dahdi-fw-oct6114-128.md5sum] = "c1f1a18d3e20d283f42c71e580a64b5a"
SRC_URI[dahdi-fw-oct6114-128.sha256sum] = "e1146749d205c41603b9b76852c3f8104dac233d0025d700db24504d10c99775"
SRC_URI[dahdi-fw-oct6114-256.md5sum] = "4b3b763fc89f81d569a42da7c9ef0eee"
SRC_URI[dahdi-fw-oct6114-256.sha256sum] = "5fe5036a2766cf0e8a968b0c58b700507d86e1cde9296ca437170cc626a9c79c"
SRC_URI[dahdi-fw-tc400m-MR6.md5sum] = "2ea860bb8a9d8ede2858b9557b74ee3c"
SRC_URI[dahdi-fw-tc400m-MR6.sha256sum] = "11dd8d009809e41fc9a3a36766f59ff73d29075eede5b8724331d9a6e5259774"
SRC_URI[dahdi-fw-te133-7a001e.md5sum] = "74f0ca211d31dc6683126cfaf399de91"
SRC_URI[dahdi-fw-te133-7a001e.sha256sum] = "511c1966295a20df673bb87af30245f0ad165efd6ccb92b4d8ed535ca7f5ac65"
SRC_URI[dahdi-fw-te134-780017.md5sum] = "71eda5003be050e9cd2f9ecea4fc898b"
SRC_URI[dahdi-fw-te134-780017.sha256sum] = "99f7c410bf47d2a5ae687d717e51448ce5b52aca902830bf39bffe683150fa2d"
SRC_URI[dahdi-fw-te435-13001e.md5sum] = "19bd5ac1ac886c38258d7079ff18ca83"
SRC_URI[dahdi-fw-te435-13001e.sha256sum] = "c8f55d57cc0bf332e8d96cdf9ff6dd0e322f33581e1efc24c2b9a0e0c5eb7ee4"
SRC_URI[dahdi-fw-te436-10017.md5sum] = "44b5a653aeab6f0e1e73348195c04a58"
SRC_URI[dahdi-fw-te436-10017.sha256sum] = "0980f4a8d191c6872aa27d971758046f0e7827ac161549f2cc1b0eeab0ae9333"
SRC_URI[dahdi-fw-te820-1.76.md5sum] = "07b389e2a4f2a2513240187f1c295626"
SRC_URI[dahdi-fw-te820-1.76.sha256sum] = "5b823e25828e2c1c6548886ad408b2e31dbc8cd17170c52592792d9c754a199c"
SRC_URI[dahdi-fw-vpmoct032.md5sum] = "2c7d5b17c23c34624158ee640818043b"
SRC_URI[dahdi-fw-vpmoct032.sha256sum] = "6b199cf836f150f9cb35f763f0f502fb52cfa2724a449b500429c746973904ad"
SRC_URI[dahdi-fwload-vpmadt032.md5sum] = "19a660c2073749641072ca644e983cbc"
SRC_URI[dahdi-fwload-vpmadt032.sha256sum] = "3ff26cf80555fd7470b43a87c51d03c1db2a75abcd4561d79f69b6c48298e4a1"
SRC_URI = "\
http://downloads.asterisk.org/pub/telephony/dahdi-linux/releases/dahdi-linux-${PV}.tar.gz;name=dahdi-linux \
file://0001-Use-objcopy-from-toolchain.patch \
"
SRC_URI[dahdi-linux.md5sum] = "0281de245f4fa056f765ae2a6e1f1a4b"
SRC_URI[dahdi-linux.sha256sum] = "6270444cb9b345941267b162038cc45f5ef4485139176e88e2c4d22fa35a2c59"
SRC_URI =+ "${FIRMWARE_URI}"
inherit module
export TARGET_SYS
EXTRA_OEMAKE += "KSRC=${STAGING_KERNEL_BUILDDIR}"
do_configure() {
# make sure the extracted firmware.bin are where Makefile expects
cp ../*.bin drivers/dahdi/firmware/
cp ${DL_DIR}/dahdi-fwload-*.tar.gz drivers/dahdi/firmware/
cp ${DL_DIR}/dahdi-fw-*.tar.gz drivers/dahdi/firmware/
}
do_install() {
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
oe_runmake DEPMOD=echo DESTDIR="${D}" \
CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
O=${STAGING_KERNEL_BUILDDIR} \
install
}
DAHDI_KERNEL_MODULE = "\
kernel-module-oct612x \
kernel-module-dahdi-echocan-jpah \
kernel-module-dahdi \
kernel-module-xpd-fxo \
kernel-module-wctdm \
kernel-module-dahdi-dynamic-loc \
kernel-module-xpp-usb \
kernel-module-xpp \
kernel-module-wcb4xxp \
kernel-module-wcte43x \
kernel-module-wctdm24xxp \
kernel-module-pciradio \
kernel-module-wcte12xp \
kernel-module-dahdi-voicebus \
kernel-module-dahdi-dynamic-ethmf \
kernel-module-dahdi-dynamic \
kernel-module-wctc4xxp \
kernel-module-dahdi-echocan-sec2 \
kernel-module-xpd-bri \
kernel-module-wcaxx \
kernel-module-dahdi-transcode \
kernel-module-wcte11xp \
kernel-module-dahdi-echocan-kb1 \
kernel-module-wcte13xp \
kernel-module-dahdi-dynamic-eth \
kernel-module-dahdi-echocan-mg2 \
kernel-module-wct1xx \
kernel-module-wct4xxp \
kernel-module-tor2 \
kernel-module-xpd-pri \
kernel-module-wct1xxp \
kernel-module-wcfxo \
kernel-module-dahdi-echocan-sec \
kernel-module-xpd-echo \
kernel-module-xpd-fxs \
kernel-module-dahdi-vpmadt032-loader \
"
PACKAGE_ARCH_dahdi-firmware = "all"
PACKAGES =+ "dahdi-firmware ${DAHDI_KERNEL_MODULE}"
FILES_${PN} = "${base_libdir}/modules/ ${sysconfdir}/udev/rules.d"
FILES_dahdi-firmware = "${base_libdir}/firmware ${datadir}/dahdi ${libdir}/hotplug/firmware "
RRECOMMENDS_${PN} = "dahdi-firmware"

View File

@ -0,0 +1,39 @@
Upstream-Status: Inappropriate [configuration]
Subject: [PATCH] Use objcopy from toolchain
Organization: O.S. Systems Software LTDA.
Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
---
drivers/dahdi/firmware/Makefile | 4 ++--
drivers/dahdi/firmware/make_firmware_object.in | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/dahdi/firmware/Makefile b/drivers/dahdi/firmware/Makefile
index fbd6582..1f9ce7f 100644
--- a/drivers/dahdi/firmware/Makefile
+++ b/drivers/dahdi/firmware/Makefile
@@ -158,8 +158,8 @@ hotplug-uninstall:
fi
make_firmware_object: make_firmware_object.in ../dahdi-base.o
- @export BFDNAME=`LANG=C objdump -f ../dahdi-base.o | grep -e "dahdi-base.o:" | sed "s/.*file format \(.*\)/\1/"`; \
- export BFDARCH=`LANG=C objdump -f ../dahdi-base.o | grep -e "architecture:" | sed "s/.*ture: \(.*\),.*/\1/"`; \
+ @export BFDNAME=`LANG=C ${TARGET_SYS}-objdump -f ../dahdi-base.o | grep -e "dahdi-base.o:" | sed "s/.*file format \(.*\)/\1/"`; \
+ export BFDARCH=`LANG=C ${TARGET_SYS}-objdump -f ../dahdi-base.o | grep -e "architecture:" | sed "s/.*ture: \(.*\),.*/\1/"`; \
sed -e s/BFDNAME/$${BFDNAME}/ -e s/BFDARCH/$${BFDARCH}/ $< > $@
@chmod +x $@
diff --git a/drivers/dahdi/firmware/make_firmware_object.in b/drivers/dahdi/firmware/make_firmware_object.in
index 0effb32..6fe232a 100644
--- a/drivers/dahdi/firmware/make_firmware_object.in
+++ b/drivers/dahdi/firmware/make_firmware_object.in
@@ -5,4 +5,4 @@
# 1 - firmware file
# 2 - output file
-objcopy -I binary ${1} -B BFDARCH -O BFDNAME ${2} --rename-section .data=.rodata,alloc,load,data,contents,readonly
+${TARGET_SYS}-objcopy -I binary ${1} -B BFDARCH -O BFDNAME ${2} --rename-section .data=.rodata,alloc,load,data,contents,readonly
--
2.1.4

View File

@ -0,0 +1,46 @@
DESCRITOPN = "Utilities for the DAHDI Asterisk Linux kernel drivers"
HOMEPAGE = "http://www.asterisk.org"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "\
file://LICENSE;md5=ea5bed2f60d357618ca161ad539f7c0a \
file://LICENSE.LGPL;md5=fb504b67c50331fc78734fed90fb0e09 \
"
DEPENDS = "dahdi-linux libnewt libusb"
SRC_URI = "\
http://downloads.asterisk.org/pub/telephony/dahdi-tools/releases/dahdi-tools-${PV}.tar.gz \
file://0001-Set-perllibdir.patch \
file://0002-Use-sh-not-bash.patch \
file://0003-Remove-Werror-from-Makefile.patch \
file://dahdi.init.d \
"
SRC_URI[md5sum] = "6928cdf6f7710299ecbcacbac20d5c92"
SRC_URI[sha256sum] = "9e904815dedab231084c542d2d7d5dcc832ebec4b5d5d999a5d757df8b2d571a"
S = "${WORKDIR}/${PN}-${PV}"
inherit autotools pkgconfig perlnative cpan-base update-rc.d
# dora doesn't have autotools-brokensep. Still needed for sysmocom
B = "${S}"
export DAHDI_PERLLIBDIR="${PERLLIBDIRS}/${@get_perl_version(d)}"
INITSCRIPT_NAME = "dahdi"
INITSCRIPT_PARAMS = "defaults"
do_install_append(){
oe_runmake DESTDIR=${D} config
install -Dm 0755 ${WORKDIR}/dahdi.init.d ${D}${sysconfdir}/init.d/dahdi
chown -R root:root ${D}${datadir}/dahdi/
}
FILES_${PN} += "${datadir}/dahdi"
RDEPENDS_${PN} += "\
perl perl-module-strict perl-module-file-basename perl-module-config \
perl-module-warnings perl-module-getopt-std perl-module-file-glob \
perl-module-xsloader perl-module-dynaloader perl-module-carp \
perl-module-errno perl-module-file-basename dahdi-linux \
"

View File

@ -0,0 +1,26 @@
Upstream-Status: Inappropriate [configuration]
Subject: [PATCH 1/3] Set perllibdir
Organization: O.S. Systems Software LTDA.
Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
---
xpp/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/xpp/Makefile b/xpp/Makefile
index 12909f2..8e8b6c9 100644
--- a/xpp/Makefile
+++ b/xpp/Makefile
@@ -30,7 +30,7 @@ SBINDIR = $(prefix)/sbin
DATADIR = $(datadir)/dahdi
MANDIR = $(mandir)/man8
HOTPLUG_USB_DIR = $(sysconfdir)/hotplug/usb
-PERLLIBDIR := $(shell eval `perl -V:sitelib`; echo "$$sitelib")
+PERLLIBDIR = $(DAHDI_PERLLIBDIR)
PERL_DIRS := $(shell cd perl_modules; find * -name '[A-Z]*' -type d| xargs)
PERL_MODS_PAT := *.pm $(PERL_DIRS:%=%/*.pm)
PERL_MODS := $(shell cd perl_modules; echo $(PERL_MODS_PAT))
--
2.1.4

View File

@ -0,0 +1,23 @@
Upstream-Status: Inappropriate [configuration]
Subject: [PATCH 2/3] Use sh not bash
Organization: O.S. Systems Software LTDA.
Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
---
xpp/xpp_fxloader | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/xpp/xpp_fxloader b/xpp/xpp_fxloader
index 5135ebf..8598004 100644
--- a/xpp/xpp_fxloader
+++ b/xpp/xpp_fxloader
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
# xpp_fxloader: load Xorcom Astribank (XPP) firmware
# $Id$
--
2.1.4

View File

@ -0,0 +1,42 @@
Upstream-Status: Pending
Fix error: "cc1: all warnings being treated as errors"
Subject: [PATCH 3/3] Remove Werror from Makefile
Organization: O.S. Systems Software LTDA.
Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
---
Makefile | 2 +-
xpp/Makefile | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
index 69741e6..1a5eefc 100644
--- a/Makefile
+++ b/Makefile
@@ -27,7 +27,7 @@ CFLAGS+=-m64
endif
ifeq ($(DAHDI_DEVMODE),yes)
- CFLAGS+=-Werror -Wunused -Wundef $(DAHDI_DECLARATION_AFTER_STATEMENT) -Wmissing-format-attribute -Wformat-security #-Wformat=2
+ CFLAGS+= -Wunused -Wundef $(DAHDI_DECLARATION_AFTER_STATEMENT) -Wmissing-format-attribute -Wformat-security #-Wformat=2
endif
ROOT_PREFIX=
diff --git a/xpp/Makefile b/xpp/Makefile
index 8e8b6c9..001e476 100644
--- a/xpp/Makefile
+++ b/xpp/Makefile
@@ -146,7 +146,7 @@ ifneq (,$(PERLLIBDIR))
done
endif
-CFLAGS += -I. -Ixtalk -Wall -Werror
+CFLAGS += -I. -Ixtalk -Wall
astribank_hexload: $(ABHEXLOAD_OBJS)
astribank_hexload: LIBS+=$(EXTRA_LIBS) $(USB_LIB)
--
2.1.4

View File

@ -0,0 +1,343 @@
#!/bin/sh
#
# dahdi This shell script takes care of loading and unloading \
# DAHDI Telephony interfaces
# chkconfig: 2345 9 92
# description: The DAHDI drivers allow you to use your linux \
# computer to accept incoming data and voice interfaces
#
# config: /etc/dahdi/init.conf
### BEGIN INIT INFO
# Provides: dahdi
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
# Should-Start: $network $syslog
# Should-Stop: $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: DAHDI kernel modules
# Description: dahdi - load and configure DAHDI modules
### END INIT INFO
initdir=/etc/init.d
# Don't edit the following values. Edit /etc/dahdi/init.conf instead.
DAHDI_CFG=/usr/sbin/dahdi_cfg
DAHDI_CFG_CMD=${DAHDI_CFG_CMD:-"$DAHDI_CFG"} # e.g: for a custom system.conf location
FXOTUNE=/usr/sbin/fxotune
# The default syncer Astribank. Usually set automatically to a sane
# value by xpp_sync(1) if you have an Astribank. You can set this to an
# explicit Astribank (e.g: 01).
XPP_SYNC=auto
# The maximal timeout (seconds) to wait for udevd to finish generating
# device nodes after the modules have loaded and before running dahdi_cfg.
DAHDI_DEV_TIMEOUT=20
# A list of modules to unload when stopping.
# All of their dependencies will be unloaded as well.
DAHDI_UNLOAD_MODULES="dahdi"
#
# Determine which kind of configuration we're using
#
system=debian # assume debian
if [ -f /etc/debian_version ]; then
system=debian
fi
if [ -f /etc/gentoo-release ]; then
system=debian
fi
if [ -f /etc/SuSE-release -o -f /etc/novell-release ]
then
system=debian
fi
# Source function library.
if [ $system = debian ]; then
. $initdir/functions || exit 0
fi
DAHDI_MODULES_FILE="/etc/dahdi/modules"
[ -r /etc/dahdi/init.conf ] && . /etc/dahdi/init.conf
if [ $system = redhat ]; then
LOCKFILE=/var/lock/subsys/dahdi
fi
# recursively unload a module and its dependencies, if possible.
# where's modprobe -r when you need it?
# inputs: module to unload.
# returns: the result from
unload_module() {
module="$1"
line=`lsmod 2>/dev/null | grep "^$1 "`
if [ "$line" = '' ]; then return; fi # module was not loaded
set -- $line
# $1: the original module, $2: size, $3: refcount, $4: deps list
mods=`echo $4 | tr , ' '`
ec_modules=""
# xpp_usb keeps the xpds below busy if an xpp hardware is
# connected. Hence must be removed before them:
case "$module" in xpd_*) mods="xpp_usb $mods";; esac
for mod in $mods; do
case "$mod" in
dahdi_echocan_*)
ec_modules="$mod $ec_modules"
;;
*)
# run in a subshell, so it won't step over our vars:
(unload_module $mod)
;;
esac
done
# Now that all the other dependencies are unloaded, we can unload the
# dahdi_echocan modules. The drivers that register spans may keep
# references on the echocan modules before they are unloaded.
for mod in $ec_modules; do
(unload_module $mod)
done
rmmod $module
}
unload_modules() {
for module in $DAHDI_UNLOAD_MODULES; do
unload_module $module
done
}
# In (xpp) hotplug mode, the init script is also executed from the
# hotplug hook. In that case it should not attempt to loade modules.
#
# This function only retunrs false (1) if we're in hotplug mode and
# coming from the hotplug hook script.
hotplug_should_load_modules() {
if [ "$XPP_HOTPLUG_DAHDI" = yes -a "$CALLED_FROM_ATRIBANK_HOOK" != '' ]
then
return 1
fi
return 0
}
# In (xpp) hotplug mode: quit after we loaded modules.
#
# In hotplug mode, the main run should end here, whereas the rest of the
# script should be finished by the instance running from the hook.
# Note that we only get here if there are actually Astribanks on the
# system (otherwise noone will trigger the run of the hotplug hook
# script).
hotplug_exit_after_load() {
if [ "$XPP_HOTPLUG_DAHDI" = yes -a "$CALLED_FROM_ATRIBANK_HOOK" = '' ]
then
exit 0
fi
}
# Initialize the Xorcom Astribank (xpp/) using perl utiliites:
xpp_startup() {
if [ "$ASTERISK_SUPPORTS_DAHDI_HOTPLUG" = yes ]; then
aas_param='/sys/module/dahdi/parameters/auto_assign_spans'
aas=`cat "$aas_param" 2>/dev/null`
if [ "$aas" = 0 ]; then
echo 1>&2 "Don't wait for Astribanks (use Asterisk hotplug-support)"
return 0
fi
fi
# do nothing if there are no astribank devices:
if ! /usr/share/dahdi/waitfor_xpds; then return 0; fi
hotplug_exit_after_load
}
hpec_start() {
# HPEC license found
if ! echo /var/lib/digium/licenses/HPEC-*.lic | grep -v '\*' | grep -q .; then
return
fi
# dahdihpec_enable not installed in /usr/sbin
if [ ! -f /usr/sbin/dahdihpec_enable ]; then
echo -n "Running dahdihpec_enable: Failed"
echo -n "."
echo " The dahdihpec_enable binary is not installed in /usr/sbin."
return
fi
# dahdihpec_enable not set executable
if [ ! -x /usr/sbin/dahdihpec_enable ]; then
echo -n "Running dahdihpec_enable: Failed"
echo -n "."
echo " /usr/sbin/dahdihpec_enable is not set as executable."
return
fi
# dahdihpec_enable properly installed
if [ $system = debian ]; then
echo -n "Running dahdihpec_enable: "
/usr/sbin/dahdihpec_enable 2> /dev/null
elif [ $system = redhat ]; then
action "Running dahdihpec_enable: " /usr/sbin/dahdihpec_enable
fi
if [ $? = 0 ]; then
echo -n "done"
echo "."
else
echo -n "Failed"
echo -n "."
echo " This can be caused if you had already run dahdihpec_enable, or if your HPEC license is no longer valid."
fi
}
shutdown_dynamic() {
if ! grep -q ' DYN/' /proc/dahdi/* 2>/dev/null; then return; fi
# we should only get here if we have dynamic spans. Right?
$DAHDI_CFG_CMD -s
}
load_modules() {
# Some systems, e.g. Debian Lenny, add here -b, which will break
# loading of modules blacklisted in modprobe.d/*
unset MODPROBE_OPTIONS
modules=`sed -e 's/#.*$//' $DAHDI_MODULES_FILE 2>/dev/null`
#if [ "$modules" = '' ]; then
# what?
#fi
echo "Loading DAHDI hardware modules:"
modprobe dahdi
for line in $modules; do
if [ $system = debian ]; then
echo -n " ${line}: "
if modprobe $line 2> /dev/null; then
echo -n "done"
else
echo -n "error"
fi
elif [ $system = redhat ]; then
action " ${line}: " modprobe $line
fi
done
echo ""
}
# Make sure that either dahdi is loaded or modprobe-able
dahdi_modules_loadable() {
modinfo dahdi >/dev/null 2>&1 || lsmod | grep -q -w ^dahdi
}
if [ ! -x "$DAHDI_CFG" ]; then
echo "dahdi_cfg not executable"
exit 0
fi
RETVAL=0
# See how we were called.
case "$1" in
start)
if ! dahdi_modules_loadable; then
echo "No DAHDI modules on the system. Not starting"
exit 0
fi
if hotplug_should_load_modules; then
load_modules
fi
TMOUT=$DAHDI_DEV_TIMEOUT # max secs to wait
while [ ! -d /dev/dahdi ] ; do
sleep 1
TMOUT=`expr $TMOUT - 1`
if [ $TMOUT -eq 0 ] ; then
echo "Error: missing /dev/dahdi!"
exit 1
fi
done
xpp_startup
# Assign all spans that weren't handled via udev + /etc/dahdi/assigned-spans.conf
/usr/share/dahdi/dahdi_auto_assign_compat
if [ $system = debian ]; then
echo -n "Running dahdi_cfg: "
$DAHDI_CFG_CMD 2> /dev/null && echo -n "done"
echo "."
elif [ $system = redhat ]; then
action "Running dahdi_cfg: " $DAHDI_CFG_CMD
fi
RETVAL=$?
if [ "$LOCKFILE" != '' ]; then
[ $RETVAL -eq 0 ] && touch $LOCKFILE
fi
if [ -x "$FXOTUNE" ] && [ -r /etc/fxotune.conf ]; then
# Allowed to fail if e.g. Asterisk already uses channels:
$FXOTUNE -s || :
fi
# Do not try to call xpp_sync if there are no Astribank devices
# installed.
if test -e /sys/bus/astribanks; then
# Set the right Astribanks ticker:
LC_ALL=C xpp_sync "$XPP_SYNC"
fi
hpec_start
;;
stop)
# Unload drivers
#shutdown_dynamic # FIXME: needs test from someone with dynamic spans
echo -n "Unloading DAHDI hardware modules: "
if unload_modules; then
echo "done"
else
echo "error"
fi
if [ "$LOCKFILE" != '' ]; then
[ $RETVAL -eq 0 ] && rm -f $LOCKFILE
fi
;;
unload)
unload_modules
;;
restart|force-reload)
$0 stop
$0 start
;;
reload)
if [ $system = debian ]; then
echo -n "Rerunning dahdi_cfg: "
$DAHDI_CFG_CMD 2> /dev/null && echo -n "done"
echo "."
elif [ $system = redhat ]; then
action "Rerunning dahdi_cfg: " $DAHDI_CFG_CMD
fi
RETVAL=$?
;;
status)
if [ -d /proc/dahdi ]; then
/usr/sbin/lsdahdi
RETVAL=0
else
RETVAL=3
fi
;;
*)
echo "Usage: dahdi {start|stop|restart|status|reload|unload}"
exit 1
esac
exit $RETVAL

View File

@ -0,0 +1,167 @@
From 2aac6a668be131c610b6705a99817e6baf10599f Mon Sep 17 00:00:00 2001
From: Andreas Eversberg <jolly@eversberg.eu>
Date: Tue, 15 Dec 2015 20:49:18 +0100
Subject: [PATCH] Fixed compiler warnings
---
alawulaw.c | 18 +++++++++---------
gentones.c | 8 ++++----
genwave.c | 10 +++++-----
3 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/alawulaw.c b/alawulaw.c
index cafe1af..f38fa46 100644
--- a/alawulaw.c
+++ b/alawulaw.c
@@ -13,7 +13,7 @@ signed int *audio_law_to_s32;
unsigned char silence;
/* ulaw -> signed 16-bit */
-static signed int audio_ulaw_to_s32[] =
+static unsigned int audio_ulaw_to_s32[] =
{
0xffff8284, 0xffff8684, 0xffff8a84, 0xffff8e84,
0xffff9284, 0xffff9684, 0xffff9a84, 0xffff9e84,
@@ -82,7 +82,7 @@ static signed int audio_ulaw_to_s32[] =
};
/* alaw -> signed 16-bit */
-static signed int audio_alaw_to_s32[] =
+static unsigned int audio_alaw_to_s32[] =
{
0x000013fc, 0xffffec04, 0x00000144, 0xfffffebc,
0x0000517c, 0xffffae84, 0x0000051c, 0xfffffae4,
@@ -155,7 +155,7 @@ unsigned char audio_s16_to_law[65536];
/* table is used to generate s16_to_alaw */
-static short audio_alaw_relations[] =
+static unsigned short audio_alaw_relations[] =
{
0x8684, 0x55, 0x8a84, 0xd5, 0x8e84, 0x15, 0x9284, 0x95,
0x9684, 0x75, 0x9a84, 0xf5, 0x9e84, 0x35, 0xa284, 0xb5,
@@ -231,32 +231,32 @@ void generate_tables(char law)
if (law == 'a') {
silence = 0x2a;
- audio_law_to_s32=audio_alaw_to_s32;
+ audio_law_to_s32 = (signed int *)audio_alaw_to_s32;
/* generating alaw-table */
i = j = 0;
while(i < 65536) {
- if (i-32768 > audio_alaw_relations[j<<1])
+ if (i-32768 > (signed short)audio_alaw_relations[j<<1])
j++;
if (j>255)
j=255;
audio_s16_to_law[(i-32768) & 0xffff]
- = audio_alaw_relations[(j<<1)|1];
+ = (signed short)audio_alaw_relations[(j<<1)|1];
i++;
}
} else {
silence = 0xff;
- audio_law_to_s32=audio_ulaw_to_s32;
+ audio_law_to_s32 = (signed int *)audio_ulaw_to_s32;
/* generating ulaw-table */
i = j = 0;
while(i < 32768) {
- if (i-32768 > audio_ulaw_to_s32[j])
+ if (i-32768 > (signed int)audio_ulaw_to_s32[j])
j++;
audio_s16_to_law[(i-32768) & 0xffff] = j;
i++;
}
j = 255;
while(i < 65536) {
- if (i-0x32768 > audio_ulaw_to_s32[j])
+ if (i-0x32768 > (signed int)audio_ulaw_to_s32[j])
j--;
audio_s16_to_law[(i-32768) & 0xffff] = j;
i++;
diff --git a/gentones.c b/gentones.c
index aaac659..a712f1a 100644
--- a/gentones.c
+++ b/gentones.c
@@ -10,7 +10,7 @@
/* ulaw -> signed 16-bit */
-static short isdn_audio_ulaw_to_s16[] =
+static unsigned short isdn_audio_ulaw_to_s16[] =
{
0x8284, 0x8684, 0x8a84, 0x8e84, 0x9284, 0x9684, 0x9a84, 0x9e84,
0xa284, 0xa684, 0xaa84, 0xae84, 0xb284, 0xb684, 0xba84, 0xbe84,
@@ -47,7 +47,7 @@ static short isdn_audio_ulaw_to_s16[] =
};
/* alaw -> signed 16-bit */
-static short isdn_audio_alaw_to_s16[] =
+static unsigned short isdn_audio_alaw_to_s16[] =
{
0x13fc, 0xec04, 0x0144, 0xfebc, 0x517c, 0xae84, 0x051c, 0xfae4,
0x0a3c, 0xf5c4, 0x0048, 0xffb8, 0x287c, 0xd784, 0x028c, 0xfd74,
@@ -92,7 +92,7 @@ unsigned char encode_isdn(short sample, char law)
i=0;
while(i<256) {
- diff = (law=='u')?isdn_audio_ulaw_to_s16[i]:isdn_audio_alaw_to_s16[i]-sample;
+ diff = (law=='u')?((signed short)isdn_audio_ulaw_to_s16[i]):((signed short)isdn_audio_alaw_to_s16[i])-sample;
//printf("s16=%d sample%d diff=%d\n",isdn_audio_to_s16[i],sample,diff);
if (diff<0)
diff=0-diff;
@@ -150,7 +150,7 @@ void write_wav(FILE *fp, char *wav, char law)
short sample, sample2;
signed int size, chunk;
int gotfmt = 0, gotdata = 0;
- int ret;
+ int __attribute__((__unused__)) ret;
if ((wfp=fopen(wav,"r"))) {
ret=fread(buffer,8,1,wfp);
diff --git a/genwave.c b/genwave.c
index 685b5fa..fe74658 100644
--- a/genwave.c
+++ b/genwave.c
@@ -9,7 +9,7 @@
/* ulaw -> signed 16-bit */
-static short isdn_audio_ulaw_to_s16[] =
+static unsigned short isdn_audio_ulaw_to_s16[] =
{
0x8284, 0x8684, 0x8a84, 0x8e84, 0x9284, 0x9684, 0x9a84, 0x9e84,
0xa284, 0xa684, 0xaa84, 0xae84, 0xb284, 0xb684, 0xba84, 0xbe84,
@@ -46,7 +46,7 @@ static short isdn_audio_ulaw_to_s16[] =
};
/* alaw -> signed 16-bit */
-static short isdn_audio_alaw_to_s16[] =
+static unsigned short isdn_audio_alaw_to_s16[] =
{
0x13fc, 0xec04, 0x0144, 0xfebc, 0x517c, 0xae84, 0x051c, 0xfae4,
0x0a3c, 0xf5c4, 0x0048, 0xffb8, 0x287c, 0xd784, 0x028c, 0xfd74,
@@ -100,7 +100,7 @@ void write_law(FILE *fp, char *name, char law)
unsigned int i;
short sample;
unsigned int size, wsize;
- int ret;
+ int __attribute__((__unused__)) ret;
if ((lfp=fopen(name,"r"))) {
/* get size */
@@ -134,9 +134,9 @@ void write_law(FILE *fp, char *name, char law)
while(i < size) {
ret = fread(buffer, 1, 1, lfp);
if (law == 'a')
- sample = isdn_audio_alaw_to_s16[*buffer];
+ sample = (signed short)isdn_audio_alaw_to_s16[*buffer];
else
- sample = isdn_audio_ulaw_to_s16[*buffer];
+ sample = (signed short)isdn_audio_ulaw_to_s16[*buffer];
ret = fwrite(&sample, 2, 1, fp);
i+=2;
}
--
1.9.1

View File

@ -0,0 +1,44 @@
diff --git a/Makefile.am b/Makefile.am
index b1fab38..df19a20 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -53,23 +53,14 @@ MISDN_LIB = -lmisdn
endif
-SUBDIRS =
-
GSM_INCLUDE =
GSM_SOURCE =
GSM_LIB =
if ENABLE_GSM
-#if ENABLE_GSMFR
-
GSM_INCLUDE += -DWITH_GSMFR
-
-GSM_LIB += libgsmfr/lib/libgsm.a
-
-SUBDIRS += libgsmfr
-
-#endif
+GSM_LIB += -lgsm
if ENABLE_GSMHR
@@ -205,14 +196,6 @@ TONEDIRS = tones_american tones_efi tones_german vbox_english vbox_german
EXTRA_DIST = default debian $(TONEDIRS)
install-data-hook:
- @fns='strcpy strncpy strcat strncat sprintf snprintf' ; \
- files=$$( find $(srcdir) -type f -name "*.c*" \
- | $(GREP) -v -e chan_lcr.c -e callerid.c ) ; \
- test -z "$$files" || { for fn in $$fns ; do \
- $(GREP) -n $$fn $$files ; if test $$? = 0 ; then \
- ( echo "dont use $$fn, use makro instead." ; exit -1 ) ; \
- fi ; \
- done ; }
mkdir -p '$(DESTDIR)$(CONFIGdir)'
mkdir -p '$(DESTDIR)$(SHAREdir)'
mkdir -p '$(DESTDIR)$(LOGdir)'

View File

@ -0,0 +1,21 @@
#!/bin/sh
NAME=lcr
set -e
case "$1" in
start)
/usr/sbin/lcr fork
echo "Forked LCR"
;;
stop)
echo "Can not stop it"
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
esac
exit 0

View File

@ -0,0 +1,42 @@
DESCRITOPN = "Linux Call Router"
DEPENDS = "libgsm libopencore-amr sofia-sip"
HOMEPAGE = "http://isdn.eversberg.eu/"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=de9327a12ae1ccc94dade892a360f996"
PV = "1.14+gitr${SRCPV}"
PR = "r4"
SRCREV = "38fce218f8897d120aeba56e811ef7dada898c2c"
SRC_URI = "git://git.misdn.eu/lcr.git \
file://lcr-disable-gsmfr.diff \
file://0001-Fixed-compiler-warnings.patch \
file://lcr.init "
S = "${WORKDIR}/git"
EXTRA_OECONF = "--with-gsm-bs --without-asterisk --without-misdn --with-sip"
inherit autotools update-rc.d pkgconfig
PACKAGES =+ "${PN}-tones-de ${PN}-vbox-de \
${PN}-tones-en ${PN}-vbox-en"
CONFFILES_${PN} = "${sysconfdir}/lcr/options.conf"
INITSCRIPT_PACKAGES = "${PN}"
INITSCRIPT_NAME_${PN} = "lcr"
INITSCRIPT_PARAMS_${PN} = "defaults 30 30"
FILES_${PN}-tones-de = "/usr/share/lcr/tones_german"
FILES_${PN}-tones-en = "/usr/share/lcr/tones_american"
FILES_${PN}-vbox-de = "/usr/share/lcr/vbox_german"
FILES_${PN}-vbox-en = "/usr/share/lcr/vbox_english"
do_install_append() {
install -d ${D}${sysconfdir}/init.d
install -m 0775 ${WORKDIR}/lcr.init ${D}${sysconfdir}/init.d/lcr
rm ${D}${sysconfdir}/lcr/routing.conf
rm ${D}${sysconfdir}/lcr/interface.conf
rm ${D}${sysconfdir}/lcr/directory.list
}

View File

@ -0,0 +1,85 @@
Upstream-Status: Inappropriate [configuration]
Subject: [PATCH 1/5] Configure Makefile
Organization: O.S. Systems Software LTDA.
Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
---
Makefile | 20 ++++++++++++++------
1 file changed, 14 insertions(+), 6 deletions(-)
diff --git a/Makefile b/Makefile
index cfab74f..410d3f6 100644
--- a/Makefile
+++ b/Makefile
@@ -96,7 +96,7 @@ TOAST_INSTALL_MAN = $(TOAST_INSTALL_ROOT)/man/man1
# Other tools
SHELL = /bin/sh
-LN = ln
+LN = ln -s
BASENAME = basename
AR = ar
ARFLAGS = cr
@@ -140,6 +140,7 @@ LFLAGS = $(LDFLAGS) $(LDINC)
# Targets
LIBGSM = $(LIB)/libgsm.a
+LIBGSMSO = $(LIB)/libgsm.so
TOAST = $(BIN)/toast
UNTOAST = $(BIN)/untoast
@@ -279,7 +280,7 @@ TOAST_INSTALL_TARGETS = \
# Target rules
-all: $(LIBGSM) $(TOAST) $(TCAT) $(UNTOAST)
+all: $(LIBGSM) $(LIBGSMSO) $(TOAST) $(TCAT) $(UNTOAST)
@-echo $(ROOT): Done.
tst: $(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/test-result
@@ -299,6 +300,11 @@ install: toastinstall gsminstall
# The basic API: libgsm
+$(LIBGSMSO): $(LIB) $(GSM_OBJECTS)
+ $(LD) -o $@.1.0.12 -shared -Xlinker -soname -Xlinker libgsm.so.1 $(GSM_OBJECTS) -lc $(LDFLAGS)
+ ln -fs libgsm.so.1.0.12 lib/libgsm.so.1
+ ln -fs libgsm.so.1.0.12 lib/libgsm.so
+
$(LIBGSM): $(LIB) $(GSM_OBJECTS)
-rm $(RMFLAGS) $(LIBGSM)
$(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS)
@@ -308,15 +314,15 @@ $(LIBGSM): $(LIB) $(GSM_OBJECTS)
# Toast, Untoast and Tcat -- the compress-like frontends to gsm.
$(TOAST): $(BIN) $(TOAST_OBJECTS) $(LIBGSM)
- $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSM) $(LDLIB)
+ $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSMSO) $(LDLIB)
$(UNTOAST): $(BIN) $(TOAST)
-rm $(RMFLAGS) $(UNTOAST)
- $(LN) $(TOAST) $(UNTOAST)
+ $(LN) toast $(UNTOAST)
$(TCAT): $(BIN) $(TOAST)
-rm $(RMFLAGS) $(TCAT)
- $(LN) $(TOAST) $(TCAT)
+ $(LN) toast $(TCAT)
# The local bin and lib directories
@@ -426,7 +432,9 @@ semi-clean:
clean: semi-clean
-rm $(RMFLAGS) $(LIBGSM) $(ADDTST)/add \
- $(TOAST) $(TCAT) $(UNTOAST) \
+ $(LIBGSMSO) $(LIB)/libgsm.so.1.0.12 \
+ $(LIB)libgsm.so.1 \
+ $(TOAST) $(TCAT) $(UNTOAST) \
$(ROOT)/gsm-1.0.tar.Z
--
2.1.4

View File

@ -0,0 +1,39 @@
Upstream-Status: Inappropriate [configuration]
Subject: [PATCH 2/5] Add defines to c++
Organization: O.S. Systems Software LTDA.
Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
---
inc/gsm.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/inc/gsm.h b/inc/gsm.h
index 4714ab6..eb2d5e7 100644
--- a/inc/gsm.h
+++ b/inc/gsm.h
@@ -54,6 +54,10 @@ typedef gsm_byte gsm_frame[33]; /* 33 * 8 bits */
#define GSM_OPT_FRAME_INDEX 5
#define GSM_OPT_FRAME_CHAIN 6
+#ifdef __cplusplus
+extern "C" {
+#endif
+
extern gsm gsm_create GSM_P((void));
extern void gsm_destroy GSM_P((gsm));
@@ -66,6 +70,10 @@ extern int gsm_decode GSM_P((gsm, gsm_byte *, gsm_signal *));
extern int gsm_explode GSM_P((gsm, gsm_byte *, gsm_signal *));
extern void gsm_implode GSM_P((gsm, gsm_signal *, gsm_byte *));
+#ifdef __cplusplus
+}
+#endif
+
#undef GSM_P
#endif /* GSM_H */
--
2.1.4

View File

@ -0,0 +1,186 @@
Upstream-Status: Inappropriate [configuration]
Subject: [PATCH 3/5] Use gsm_config. header instead of config.h
Organization: O.S. Systems Software LTDA.
Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
---
Makefile | 2 +-
inc/config.h | 37 -------------------------------------
inc/gsm_config.h | 37 +++++++++++++++++++++++++++++++++++++
inc/toast.h | 2 +-
src/code.c | 2 +-
src/gsm_create.c | 2 +-
src/gsm_destroy.c | 2 +-
tls/taste.c | 2 +-
8 files changed, 43 insertions(+), 43 deletions(-)
delete mode 100644 inc/config.h
create mode 100644 inc/gsm_config.h
diff --git a/Makefile b/Makefile
index 410d3f6..c8c5b58 100644
--- a/Makefile
+++ b/Makefile
@@ -152,7 +152,7 @@ GSM_HEADERS = $(INC)/gsm.h
HEADERS = $(INC)/proto.h \
$(INC)/unproto.h \
- $(INC)/config.h \
+ $(INC)/gsm_config.h \
$(INC)/private.h \
$(INC)/gsm.h \
$(INC)/toast.h \
diff --git a/inc/config.h b/inc/config.h
deleted file mode 100644
index dfb1ead..0000000
--- a/inc/config.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
- * Universitaet Berlin. See the accompanying file "COPYRIGHT" for
- * details. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
- */
-
-/*$Header: /tmp_amd/presto/export/kbs/jutta/src/gsm/RCS/config.h,v 1.5 1996/07/02 11:26:20 jutta Exp $*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-/*efine SIGHANDLER_T int /* signal handlers are void */
-/*efine HAS_SYSV_SIGNAL 1 /* sigs not blocked/reset? */
-
-#define HAS_STDLIB_H 1 /* /usr/include/stdlib.h */
-#define HAS_LIMITS_H 1 /* /usr/include/limits.h */
-#define HAS_FCNTL_H 1 /* /usr/include/fcntl.h */
-#define HAS_ERRNO_DECL 1 /* errno.h declares errno */
-
-#define HAS_FSTAT 1 /* fstat syscall */
-#define HAS_FCHMOD 1 /* fchmod syscall */
-#define HAS_CHMOD 1 /* chmod syscall */
-#define HAS_FCHOWN 1 /* fchown syscall */
-#define HAS_CHOWN 1 /* chown syscall */
-/*efine HAS__FSETMODE 1 /* _fsetmode -- set file mode */
-
-#define HAS_STRING_H 1 /* /usr/include/string.h */
-/*efine HAS_STRINGS_H 1 /* /usr/include/strings.h */
-
-#define HAS_UNISTD_H 1 /* /usr/include/unistd.h */
-#define HAS_UTIME 1 /* POSIX utime(path, times) */
-/*efine HAS_UTIMES 1 /* use utimes() syscall instead */
-#define HAS_UTIME_H 1 /* UTIME header file */
-#define HAS_UTIMBUF 1 /* struct utimbuf */
-/*efine HAS_UTIMEUSEC 1 /* microseconds in utimbuf? */
-
-#endif /* CONFIG_H */
diff --git a/inc/gsm_config.h b/inc/gsm_config.h
new file mode 100644
index 0000000..28cee6d
--- /dev/null
+++ b/inc/gsm_config.h
@@ -0,0 +1,37 @@
+/*
+ * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
+ * Universitaet Berlin. See the accompanying file "COPYRIGHT" for
+ * details. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
+ */
+
+/*$Header: /tmp_amd/presto/export/kbs/jutta/src/gsm/RCS/config.h,v 1.5 1996/07/02 11:26:20 jutta Exp $*/
+
+#ifndef CONFIG_H
+#define CONFIG_H
+
+/*efine SIGHANDLER_T int -* signal handlers are void */
+/*efine HAS_SYSV_SIGNAL 1 -* sigs not blocked/reset? */
+
+#define HAS_STDLIB_H 1 /* /usr/include/stdlib.h */
+#define HAS_STDIO_H 1 /* /usr/include/stdio.h */
+/*efine HAS_LIMITS_H 1 -* /usr/include/limits.h */
+#define HAS_FCNTL_H 1 /* /usr/include/fcntl.h */
+
+#define HAS_FSTAT 1 /* fstat syscall */
+#define HAS_FCHMOD 1 /* fchmod syscall */
+#define HAS_CHMOD 1 /* chmod syscall */
+#define HAS_FCHOWN 1 /* fchown syscall */
+#define HAS_CHOWN 1 /* chown syscall */
+/*efine HAS__FSETMODE 1 -* _fsetmode -- set file mode */
+
+#define HAS_STRING_H 1 /* /usr/include/string.h */
+/*efine HAS_STRINGS_H 1 -* /usr/include/strings.h */
+
+#define HAS_UNISTD_H 1 /* /usr/include/unistd.h */
+#define HAS_UTIME 1 /* POSIX utime(path, times) */
+/*efine HAS_UTIMES 1 -* use utimes() syscall instead */
+#define HAS_UTIME_H 1 /* UTIME header file */
+/*efine HAS_UTIMBUF 1 -* struct utimbuf */
+/*efine HAS_UTIMEUSEC 1 -* microseconds in utimbuf? */
+
+#endif /* CONFIG_H */
diff --git a/inc/toast.h b/inc/toast.h
index b42d9ae..911769d 100644
--- a/inc/toast.h
+++ b/inc/toast.h
@@ -9,7 +9,7 @@
#ifndef TOAST_H
#define TOAST_H /* Guard against multiple includes */
-#include "config.h"
+#include "gsm_config.h"
#include <sys/types.h>
#include <sys/stat.h>
diff --git a/src/code.c b/src/code.c
index 402f614..5222727 100644
--- a/src/code.c
+++ b/src/code.c
@@ -6,7 +6,7 @@
/* $Header: /tmp_amd/presto/export/kbs/jutta/src/gsm/RCS/code.c,v 1.3 1996/07/02 09:59:05 jutta Exp $ */
-#include "config.h"
+#include "gsm_config.h"
#ifdef HAS_STRING_H
diff --git a/src/gsm_create.c b/src/gsm_create.c
index a0bf634..9cc2670 100644
--- a/src/gsm_create.c
+++ b/src/gsm_create.c
@@ -6,7 +6,7 @@
static char const ident[] = "$Header: /tmp_amd/presto/export/kbs/jutta/src/gsm/RCS/gsm_create.c,v 1.4 1996/07/02 09:59:05 jutta Exp $";
-#include "config.h"
+#include "gsm_config.h"
#ifdef HAS_STRING_H
#include <string.h>
diff --git a/src/gsm_destroy.c b/src/gsm_destroy.c
index 03c8659..274dc4c 100644
--- a/src/gsm_destroy.c
+++ b/src/gsm_destroy.c
@@ -7,7 +7,7 @@
/* $Header: /tmp_amd/presto/export/kbs/jutta/src/gsm/RCS/gsm_destroy.c,v 1.3 1994/11/28 19:52:25 jutta Exp $ */
#include "gsm.h"
-#include "config.h"
+#include "gsm_config.h"
#include "proto.h"
#ifdef HAS_STDLIB_H
diff --git a/tls/taste.c b/tls/taste.c
index 4bc84ad..56d1a93 100644
--- a/tls/taste.c
+++ b/tls/taste.c
@@ -10,7 +10,7 @@
#include <string.h>
#include <memory.h>
-#include "config.h"
+#include "gsm_config.h"
#ifdef HAS_STDLIB_H
# include <stdlib.h>
--
2.1.4

View File

@ -0,0 +1,41 @@
Upstream-Status: Inappropriate [configuration]
Subject: [PATCH 4/5] Add includes
Organization: O.S. Systems Software LTDA.
Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
---
inc/toast.h | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/inc/toast.h b/inc/toast.h
index 911769d..3e710d0 100644
--- a/inc/toast.h
+++ b/inc/toast.h
@@ -16,10 +16,11 @@
#include <stdio.h>
#include <ctype.h>
+#include <pthread.h>
#include <signal.h>
#include <errno.h>
-#ifndef HAS_ERRNO_DECL
+#ifndef errno
extern int errno;
#endif
@@ -37,6 +38,10 @@
# endif
#endif
+#ifdef HAS_STDIO_H
+# include <stdio.h>
+#endif
+
#include "gsm.h"
#ifndef S_ISREG
--
2.1.4

View File

@ -0,0 +1,114 @@
Upstream-Status: Inappropriate [configuration]
Subject: [PATCH 5/5] Change compiler warnings
Organization: O.S. Systems Software LTDA.
Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
---
src/debug.c | 6 +++---
src/toast.c | 17 +++++++----------
2 files changed, 10 insertions(+), 13 deletions(-)
diff --git a/src/debug.c b/src/debug.c
index 04c3907..a2a5136 100644
--- a/src/debug.c
+++ b/src/debug.c
@@ -49,7 +49,7 @@ void gsm_debug_longwords P4( (name, from, to, ptr),
fprintf( stderr, "%s [%d .. %d]: ", name, from, to );
while (from <= to) {
- fprintf(stderr, "%d ", ptr[ from ] );
+ fprintf(stderr, "%ld ", ptr[ from ] );
from++;
if (nprinted++ >= 7) {
nprinted = 0;
@@ -63,14 +63,14 @@ void gsm_debug_longword P2( (name, value),
char * name,
longword value )
{
- fprintf(stderr, "%s: %d\n", name, (long)value );
+ fprintf(stderr, "%s: %ld\n", name, (long)value );
}
void gsm_debug_word P2( (name, value),
char * name,
word value )
{
- fprintf(stderr, "%s: %d\n", name, (long)value);
+ fprintf(stderr, "%s: %ld\n", name, (long)value);
}
#endif
diff --git a/src/toast.c b/src/toast.c
index 9823642..55606d7 100644
--- a/src/toast.c
+++ b/src/toast.c
@@ -251,8 +251,8 @@ static char * emalloc P1((len), size_t len)
{
char * s;
if (!(s = malloc(len))) {
- fprintf(stderr, "%s: failed to malloc %d bytes -- abort\n",
- progname, len);
+ fprintf(stderr, "%s: failed to malloc %ld bytes -- abort\n",
+ progname, (long) len);
onintr();
exit(1);
}
@@ -270,7 +270,7 @@ static char* normalname P3((name, want, cut), char *name, char *want,char *cut)
maxlen = strlen(name) + 1 + strlen(want) + strlen(cut);
p = strcpy(emalloc(maxlen), name);
- if (s = suffix(p, cut)) strcpy(s, want);
+ if ((s = suffix(p, cut))) strcpy(s, want);
else if (*want && !suffix(p, want)) strcat(p, want);
return p;
@@ -386,7 +386,7 @@ static void update_times P0()
ut[0] = instat.st_atime;
ut[1] = instat.st_mtime;
- (void) utime(outname, ut);
+ (void) utime(outname, (struct utimbuf *)ut);
#endif /* UTIMBUF */
}
@@ -416,7 +416,7 @@ static int okay_as_input P3((name,f,st), char* name, FILE* f, struct stat * st)
}
if (st->st_nlink > 1 && !f_cat && !f_precious) {
fprintf(stderr,
- "%s: \"%s\" has %s other link%s -- unchanged.\n",
+ "%s: \"%s\" has %d other link%s -- unchanged.\n",
progname,name,st->st_nlink - 1,"s" + (st->st_nlink<=2));
return 0;
}
@@ -585,8 +585,8 @@ static int process_decode P0()
if (cc != sizeof(s)) {
if (cc >= 0) fprintf(stderr,
- "%s: incomplete frame (%d byte%s missing) from %s\n",
- progname, sizeof(s) - cc,
+ "%s: incomplete frame (%ld byte%s missing) from %s\n",
+ progname, (long) sizeof(s) - cc,
"s" + (sizeof(s) - cc == 1),
inname ? inname : "stdin" );
gsm_destroy(r);
@@ -624,8 +624,6 @@ static int process_decode P0()
static int process P1((name), char * name)
{
- int step = 0;
-
out = (FILE *)0;
in = (FILE *)0;
@@ -779,7 +777,6 @@ int main P2((ac, av), int ac, char **av)
case 'h': help(); exit(0);
default:
- usage:
fprintf(stderr,
"Usage: %s [-fcpdhvuaslFC] [files...] (-h for help)\n",
progname);
--
2.1.4

View File

@ -0,0 +1,37 @@
DESCRIPTION = "GSM Audio Library"
SECTION = "libs"
PRIORITY = "optional"
LICENSE = "ISC"
LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=fc1372895b173aaf543a122db37e04f5"
SRC_URI = "\
http://www.quut.com/gsm/gsm-${PV}.tar.gz \
file://0001-Configure-Makefile.patch \
file://0002-Add-defines-to-c.patch \
file://0003-Use-gsm_config.-header-instead-of-config.h.patch \
file://0004-Add-includes.patch \
file://0005-Change-compiler-warnings.patch \
"
SRC_URI[md5sum] = "4cbb4e7b73842de3d12d30b0d74200d4"
SRC_URI[sha256sum] = "5814a16a30b3c026871b3739812dc4a2a84299331182c987da1c212c93e9352c"
S = "${WORKDIR}/gsm-1.0-pl14/"
CFLAGS += "-c -g -fPIC -Wall -D_GNU_SOURCE -D_REENTRANT -DNeedFunctionPrototypes=1 -DWAV49 -I./inc"
PARALLEL_MAKE = ""
do_compile(){
unset LD
oe_runmake CCFLAGS="${CFLAGS}" CC="${CC}"
}
do_install(){
oe_libinstall -a -C lib libgsm ${D}${libdir}
oe_libinstall -so -C lib libgsm ${D}${libdir}
install -d ${D}${includedir}/gsm
install -m 0644 ${S}/inc/gsm.h ${D}${includedir}/gsm/
cd ${D}${includedir}
ln -s gsm/gsm.h gsm.h
}

View File

@ -0,0 +1,26 @@
Upstream-Status: Pending
Subject: [PATCH] mbuffer data size
Organization: O.S. Systems Software LTDA.
Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
---
include/mISDN/mbuffer.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/mISDN/mbuffer.h b/include/mISDN/mbuffer.h
index 96afa5e..fe1a1e9 100644
--- a/include/mISDN/mbuffer.h
+++ b/include/mISDN/mbuffer.h
@@ -72,7 +72,7 @@ struct mbuffer {
#endif
} __attribute__((__may_alias__));
-#define MBUFFER_DATA_SIZE 280
+#define MBUFFER_DATA_SIZE 400
/*
* init mbuffer caching
--
2.1.4

View File

@ -0,0 +1,22 @@
DESCRITOPN = "mISDNutils userspace library"
HOMEPAGE = "http://misdn.org"
LICENSE = "LGPLv2+"
LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605"
SRC_URI = "\
git://git.misdn.eu/mISDNuser.git;branch=socket \
file://0001-mbuffer-data-size.patch \
"
# Release v2.0.19
SRCREV = "3638cf36df506b96015e1f37ce3bb36ec94a01fb"
S = "${WORKDIR}/git"
inherit autotools
PACKAGES =+ "misdn-tools-dbg misdn-tools"
FILES_misdn-tools = "${bindir} ${sbindir}"
FILES_misdn-tools-dbg = "${bindir}/.debug ${sbindir}/.debug"
RDEPENDS_misdn-tools-dbg = "${PN}-dbg"

View File

@ -0,0 +1,12 @@
DESCRIPTION = "G729 codec library"
HOMEPAGE = "http://www.linphone.org/eng/documentation/dev/bcg729.html"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
SRC_URI = "git://git.linphone.org/bcg729.git"
SRCREV = "2e36a5d4bc6e992c654eee6b0a8db729da7b1d31"
PV = "0+gitr${SRCPV}"
S = "${WORKDIR}/git"
inherit autotools pkgconfig

View File

@ -0,0 +1,13 @@
DESCRIPTION = "C library for asynchronous DNS requests (including name resolves)"
HOMEPAGE = "http://c-ares.haxx.se/"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://README;beginline=17;endline=23;md5=d08205a43bc63c12cf394ac1d2cce7c3"
PR = "r0"
SRC_URI = "http://c-ares.haxx.se/download/c-ares-${PV}.tar.gz"
SRC_URI[md5sum] = "1196067641411a75d3cbebe074fd36d8"
SRC_URI[sha256sum] = "3d701674615d1158e56a59aaede7891f2dde3da0f46a6d3c684e0ae70f52d3db"
inherit autotools

View File

@ -0,0 +1,17 @@
This is a backport of a fix from Holger Freyther to the
libdbd sqlite3 driver.
Index: libdbi-drivers-0.8.3-1/drivers/sqlite3/dbd_sqlite3.c
===================================================================
--- libdbi-drivers-0.8.3-1.orig/drivers/sqlite3/dbd_sqlite3.c
+++ libdbi-drivers-0.8.3-1/drivers/sqlite3/dbd_sqlite3.c
@@ -502,7 +502,8 @@ size_t dbd_quote_binary(dbi_conn_t *conn
unsigned char *temp;
size_t len;
- if ((temp = malloc(from_length*2)) == NULL) {
+ /* allocate an extra byte for NULL and two for the quotes */
+ if ((temp = malloc(2*from_length+1+2)) == NULL) {
return 0;
}

View File

@ -0,0 +1,35 @@
# libdbi-drivers OE build file
# Copyright (C) 2005, Koninklijke Philips Electronics NV. All Rights Reserved
# Released under the MIT license (see packages/COPYING)
DESCRIPTION = "Database Drivers for libdbi"
HOMEPAGE = "http://libdbi-drivers.sourceforge.net/"
LICENSE = "LGPLv2.1+"
LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499"
SECTION = "libs"
PROVIDES = "libdbd-sqlite"
DEPENDS = "libdbi sqlite3"
INC_PR = "r1"
SRC_URI = "${SOURCEFORGE_MIRROR}/libdbi-drivers/libdbi-drivers-${PV}.tar.gz"
inherit autotools
PACKAGES += "libdbd-sqlite3"
EXTRA_OECONF = "--with-dbi-incdir=${STAGING_INCDIR} \
--with-dbi-libdir=${STAGING_LIBDIR} \
--with-sqlite3 \
--with-sqlite3-incdir=${STAGING_INCDIR} \
--with-sqlite3-libdir=${STAGING_LIBDIR} \
--disable-docs"
FILES_${PN}-dbg += " ${libdir}/dbd/.debug/*.so"
FILES_${PN}-dev += " ${libdir}/dbd/*.la "
FILES_${PN}-staticdev += " ${libdir}/dbd/*.a"
DESCRIPTION_libdbd-sqlite3 = "SQLite3 database driver for libdbi"
FILES_libdbd-sqlite3 = "${libdir}/dbd/libdbdsqlite3.so"

View File

@ -0,0 +1,8 @@
require ${PN}.inc
PR = "${INC_PR}.1"
SRC_URI[md5sum] = "4de79b323162a5a7652b65b608eca6cd"
SRC_URI[sha256sum] = "4ab9944398ce769c0deeb64d2f73555c67bc25ccd2ade1ccf552226c7b2acf72"
SRC_URI += "file://memory-corruption-fixes.patch"

View File

@ -0,0 +1,21 @@
# libdbi OE build file
# Copyright (C) 2005, Koninklijke Philips Electronics NV. All Rights Reserved
# Released under the MIT license (see packages/COPYING)
DESCRIPTION = "Database Independent Abstraction Layer for C"
HOMEPAGE = "http://libdbi.sourceforge.net/"
LICENSE = "LGPLv2.1+"
LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499"
SECTION = "libs"
INC_PR = "r1"
SRC_URI = "${SOURCEFORGE_MIRROR}/libdbi/libdbi-${PV}.tar.gz"
inherit autotools
EXTRA_OECONF = "--disable-docs"
do_configure () {
autotools_do_configure
}

View File

@ -0,0 +1,3 @@
require ${PN}.inc
PR = "${INC_PR}.0"

View File

@ -0,0 +1,7 @@
require ${PN}.inc
PR = "${INC_PR}.0"
SRC_URI[md5sum] = "ca66db78d479cbfa727cf3245b5864ae"
SRC_URI[sha256sum] = "72e41856bebb1da7b1fd1e6369358c294913f329c5e594e338b3983e6369a5e3"

View File

@ -0,0 +1,13 @@
DESCRIPTION = "OpenCORE AMR decoder library"
SECTION = "libs"
LICENSE="Apache-2.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=dd2c2486aca02190153cf399e508c7e7"
PR = "r0"
SRC_URI = "${SOURCEFORGE_MIRROR}/opencore-amr/opencore-amr-${PV}.tar.gz"
S = "${WORKDIR}/opencore-amr-${PV}"
inherit autotools
SRC_URI[md5sum] = "09d2c5dfb43a9f6e9fec8b1ae678e725"
SRC_URI[sha256sum] = "106bf811c1f36444d7671d8fd2589f8b2e0cca58a2c764da62ffc4a070595385"

View File

@ -0,0 +1,19 @@
DESCRIPTION = "C Open SMPP library"
HOMEPAGE = "http://sourceforge.net/projects/c-open-smpp-34/"
LICENSE = "LGPLv2.1+"
LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
SECTION = "libs"
DEPENDS = "libxml2"
PR = "r3"
SRC_URI = "${SOURCEFORGE_MIRROR}/c-open-smpp-34/c-open-smpp-34/libsmpp34-1.10%20%28LGPL%29/libsmpp34-${PV}.tar.gz"
SRC_URI = "git://git.osmocom.org/${PN}"
SRCREV = "9288d59cfdc452fa3a92728149537372ee5c6c56"
S = "${WORKDIR}/git"
PARALLEL_MAKE = ""
inherit autotools

View File

@ -0,0 +1,20 @@
DESCRIPTION = "C Open SMPP library"
HOMEPAGE = "http://sourceforge.net/projects/c-open-smpp-34/"
LICENSE = "LGPLv2.1+"
LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
SECTION = "libs"
DEPENDS = "libxml2"
S = "${WORKDIR}/git"
SRCREV = "84f2905c5bfed2e1f5bae52a2bb9bc771fd8b895"
SRC_URI = "git://git.osmocom.org/libsmpp34.git;protocol=git"
PV = "1.10+gitr${SRCPV}"
PR = "r1"
PARALLEL_MAKE = ""
inherit autotools pkgconfig
PACKAGES =+ "${PN}-apps"
FILES_${PN}-apps = "${bindir}/*"

View File

@ -0,0 +1,5 @@
#!/bin/sh
sh v4test.sh
sh v6test.sh

View File

@ -0,0 +1,11 @@
#!/bin/sh
echo "v4test starting:"
for t in $(find -maxdepth 1 -type f \! -name test\*_v6 -name test\*); do
echo "$t";
if $t; then
echo "PASS: $t"; echo "";
else
echo "FAIL: $t"; echo "";
fi
sleep 1;
done

View File

@ -0,0 +1,11 @@
#!/bin/sh
echo "v6test starting:"
for t in $(find -maxdepth 1 -name test\*_v6); do
echo "$t";
if $t; then
echo "PASS: $t"; echo "";
else
echo "FAIL: $t"; echo "";
fi
sleep 1;
done

View File

@ -0,0 +1,65 @@
SUMMARY = "The Linux Kernel Stream Control Transmission Protocol (lksctp) project"
HOMEPAGE = "http://lksctp.org"
SECTION = "net"
LICENSE = "LGPLv2.1 & GPLv2"
LIC_FILES_CHKSUM = " \
file://COPYING.lib;md5=0a1b79af951c42a9c8573533fbba9a92 \
file://COPYING;md5=0c56db0143f4f80c369ee3af7425af6e \
"
SRC_URI = "${SOURCEFORGE_MIRROR}/lksctp/${BP}.tar.gz \
file://run-ptest \
file://v4test.sh \
file://v6test.sh \
"
SRC_URI[md5sum] = "708bb0b5a6806ad6e8d13c55b067518e"
SRC_URI[sha256sum] = "0903dd526b7f30a89d5031aa2c82757612becc38ed7bc6e4f972f8deae351f26"
#| arm-oe-linux-gnueabi-libtool: link: arm-oe-linux-gnueabi-gcc -march=armv5te -marm -mthumb-interwork --sysroot=/home/jenkins/oe/world/shr-core/tmp-eglibc/sysroots/qemuarm -shared -fPIC -DPIC .libs/bindx.o .libs/connectx.o .libs/peeloff.o .libs/opt_info.o .libs/addrs.o .libs/sendmsg.o .libs/recvmsg.o -march=armv5te -marm -mthumb-interwork --sysroot=/home/jenkins/oe/world/shr-core/tmp-eglibc/sysroots/qemuarm -O2 -Wl,--version-script=/home/jenkins/oe/world/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/lksctp-tools/1.0.16-r0/lksctp-tools-1.0.16/src/lib/Versions.map -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-soname -Wl,libsctp.so.1 -o .libs/libsctp.so.1.0.16
#| /home/jenkins/oe/world/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.9.0/ld: error: symbol sctp_connectx has undefined version
#| collect2: error: ld returned 1 exit status
#| make[4]: *** [libsctp.la] Error 1
PNBLACKLIST[lksctp-tools] ?= "${@base_contains('DISTRO_FEATURES', 'ld-is-gold', "BROKEN: fails to link against sctp_connectx symbol", '', d)}"
S = "${WORKDIR}/${BP}"
BBCLASSEXTEND = "native"
inherit autotools pkgconfig binconfig ptest
do_install_ptest () {
install -m 0755 ${WORKDIR}/v4test.sh ${D}${PTEST_PATH}
install -m 0755 ${WORKDIR}/v6test.sh ${D}${PTEST_PATH}
for testcase in `find ${B}/src/apps/.libs ${B}/src/func_tests/.libs -maxdepth 1 -type f -executable`; do
install $testcase ${D}${PTEST_PATH}
done
}
SOLIBVERSION="${PV}"
SOLIBMAJORVERSION="1"
PACKAGES =+ "${PN}-withsctp ${PN}-utils"
FILES_${PN} = " \
${libdir}/libsctp.so.${SOLIBVERSION} \
${libdir}/libsctp.so.${SOLIBMAJORVERSION} \
"
FILES_${PN}-withsctp = " \
${libdir}/lksctp-tools/libwithsctp.so.${SOLIBVERSION} \
${libdir}/lksctp-tools/libwithsctp.so.${SOLIBMAJORVERSION} \
"
FILES_${PN}-dev += " \
${libdir}/libsctp.so \
${libdir}/lksctp-tools/libwithsctp.so \
${datadir}/lksctp-tools/*.c \
${datadir}/lksctp-tools/*.h \
"
FILES_${PN}-utils = "${bindir}/*"
RRECOMMENDS_${PN}-utils += "kernel-module-sctp"
RRECOMMENDS_${PN}-ptest += "kernel-module-sctp"

View File

@ -0,0 +1,75 @@
From eb4f54377e2560a76a05f62a22c961edbce8f4c2 Mon Sep 17 00:00:00 2001
From: Simon Morlat <simon.morlat@linphone.org>
Date: Tue, 31 May 2011 10:52:49 +0200
Subject: [PATCH] fix unused variables
---
src/stun.c | 10 +++++-----
src/tests/rtprecv.c | 6 +++++-
2 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/src/stun.c b/src/stun.c
index ccac58f..e0d7c80 100644
--- a/src/stun.c
+++ b/src/stun.c
@@ -1993,7 +1993,6 @@ stunSendTest( Socket myFd, StunAddress4 *dest,
bool_t changePort=FALSE;
bool_t changeIP=FALSE;
- bool_t discard=FALSE;
StunMessage req;
char buf[STUN_MAX_MESSAGE_SIZE];
@@ -2015,9 +2014,10 @@ stunSendTest( Socket myFd, StunAddress4 *dest,
case 4:
changeIP=TRUE;
break;
- case 5:
+ /* case 5:
discard=TRUE;
break;
+ */
default:
ortp_error("stun: Test %i is unkown\n", testNum);
return ; /* error */
@@ -2162,7 +2162,7 @@ stunNatType( StunAddress4 *dest,
bool_t respTestI=FALSE;
bool_t isNat=TRUE;
- StunAddress4 testIchangedAddr;
+ /*StunAddress4 testIchangedAddr;*/
StunAddress4 testImappedAddr;
bool_t respTestI2=FALSE;
bool_t mappedIpSame = TRUE;
@@ -2345,8 +2345,8 @@ stunNatType( StunAddress4 *dest,
if ( !respTestI )
{
- testIchangedAddr.addr = resp.changedAddress.ipv4.addr;
- testIchangedAddr.port = resp.changedAddress.ipv4.port;
+ /*testIchangedAddr.addr = resp.changedAddress.ipv4.addr;
+ testIchangedAddr.port = resp.changedAddress.ipv4.port;*/
testImappedAddr.addr = resp.mappedAddress.ipv4.addr;
testImappedAddr.port = resp.mappedAddress.ipv4.port;
diff --git a/src/tests/rtprecv.c b/src/tests/rtprecv.c
index 1861592..5eee649 100644
--- a/src/tests/rtprecv.c
+++ b/src/tests/rtprecv.c
@@ -163,8 +163,12 @@ int main(int argc, char*argv[])
/* this is to avoid to write to disk some silence before the first RTP packet is returned*/
if ((stream_received) && (err>0)) {
size_t ret = fwrite(buffer,1,err,outfile);
- if (sound_fd>0)
+ if (sound_fd>0){
ret = write(sound_fd,buffer,err);
+ if (ret==-1){
+ fprintf(stderr,"write to sound card failed (%s)",strerror(errno));
+ }
+ }
}
}
ts+=160;
--
1.7.5.4

View File

@ -0,0 +1,13 @@
Index: ortp-0.16.5/src/stun.c
===================================================================
--- ortp-0.16.5.orig/src/stun.c
+++ ortp-0.16.5/src/stun.c
@@ -399,7 +399,7 @@ stunParseMessage( char* buf, unsigned in
char* body;
unsigned int size;
ortp_debug("stun: Received stun message: %i bytes\n", bufLen);
- memset(msg, 0, sizeof(msg));
+ memset(msg, 0, sizeof(*msg));
if (sizeof(StunMsgHdr) > bufLen)
{

View File

@ -0,0 +1,18 @@
DESCRIPTION = "An LGPL implementation of RTP - RFC3550"
LICENSE = "LGPLv2.1+"
INC_PR = "r1"
inherit autotools pkgconfig
SRC_URI = "http://download.savannah.nongnu.org/releases/linphone/${PN}/sources/${P}.tar.gz"
LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
do_compile_append() {
sed -i -e s:${STAGING_DIR_TARGET}::g \
-e s:/${TARGET_SYS}::g \
ortp.pc
}

View File

@ -0,0 +1,9 @@
require ortp.inc
DEPENDS = "glib-2.0 openssl"
PR = "${INC_PR}.1"
SRC_URI += "file://0001-fix-unused-variables.patch;patch=1 \
file://compile-fixes-newer-gcc.diff"
SRC_URI[md5sum] = "94546901d14b85f97342f4ecf39489b1"
SRC_URI[sha256sum] = "3b655a79f9122afd298e9cd702e542908bbd6ea1337c02553110c57e0b3c5835"

View File

@ -0,0 +1,35 @@
--- sofia-sip-1.12.11+20110422.1.orig/libsofia-sip-ua/msg/msg_parser.c
+++ sofia-sip-1.12.11+20110422.1/libsofia-sip-ua/msg/msg_parser.c
@@ -2468,8 +2468,6 @@
msg_header_t **
msg_hclass_offset(msg_mclass_t const *mc, msg_pub_t const *mo, msg_hclass_t *hc)
{
- int i;
-
assert(mc && hc);
if (mc == NULL || hc == NULL)
@@ -2484,9 +2482,20 @@
}
else
/* Header has no name. */
- for (i = 0; i <= 6; i++)
- if (hc->hc_hash == mc->mc_request[i].hr_class->hc_hash)
- return (msg_header_t **)((char *)mo + mc->mc_request[i].hr_offset);
+ if (hc->hc_hash == mc->mc_request[0].hr_class->hc_hash)
+ return (msg_header_t **)((char *)mo + mc->mc_request[0].hr_offset);
+ else if (hc->hc_hash == mc->mc_status[0].hr_class->hc_hash)
+ return (msg_header_t **)((char *)mo + mc->mc_status[0].hr_offset);
+ else if (hc->hc_hash == mc->mc_separator[0].hr_class->hc_hash)
+ return (msg_header_t **)((char *)mo + mc->mc_separator[0].hr_offset);
+ else if (hc->hc_hash == mc->mc_payload[0].hr_class->hc_hash)
+ return (msg_header_t **)((char *)mo + mc->mc_payload[0].hr_offset);
+ else if (hc->hc_hash == mc->mc_unknown[0].hr_class->hc_hash)
+ return (msg_header_t **)((char *)mo + mc->mc_unknown[0].hr_offset);
+ else if (hc->hc_hash == mc->mc_error[0].hr_class->hc_hash)
+ return (msg_header_t **)((char *)mo + mc->mc_error[0].hr_offset);
+ else if (hc->hc_hash == mc->mc_multipart[0].hr_class->hc_hash)
+ return (msg_header_t **)((char *)mo + mc->mc_multipart[0].hr_offset);
return NULL;
}

View File

@ -0,0 +1,22 @@
DESCRIPTION = "Sofia-SIP is an open-source SIP User-Agent library, compliant with the IETF RFC3261 specification."
HOMEPAGE = "http://sofia-sip.sourceforge.net/"
LICENSE = "LGPL-2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=03068f550c635f6520e0f0252da412fc"
SECTION = "libs"
DEPENDS = "glib-2.0 openssl"
SRC_URI = "\
${SOURCEFORGE_MIRROR}/${PN}/${P}.tar.gz \
file://msg_parser.c.diff \
"
inherit autotools pkgconfig
PACKAGES += " ${PN}-bin ${PN}-glib"
FILES_${PN}-bin = "${bindir}"
FILES_${PN} = "${libdir}/libsofia-sip-ua.so.*"
FILES_${PN}-dev += "${datadir}/sofia-sip/*.awk"
FILES_${PN}-glib = "${libdir}/libsofia-sip-ua-glib.so.*"
LEAD_SONAME = "libsofia-sip-ua.so"

View File

@ -0,0 +1,6 @@
require sofia-sip.inc
PR = "r1"
SRC_URI[md5sum] = "f3582c62080eeecd3fa4cd5d4ccb4225"
SRC_URI[sha256sum] = "2b01bc2e1826e00d1f7f57d29a2854b15fd5fe24695e47a14a735d195dd37c81"

View File

@ -0,0 +1,39 @@
#! /bin/sh
#
# cell-log This shell script starts and stops cell-log.
#
# chkconfig: 345 90 40
# description: Cell-log monitors cell in the neighborhood.
# processname: cell_log
PATH=/bin:/usr/bin:/sbin:/usr/sbin
PIDFILE=/var/run/cell_log.pid
case "$1" in
start)
echo -n "Starting cell-log: "
start-stop-daemon -S -b -p $PIDFILE \
-x /usr/bin/osmo-service-respawn.sh /usr/bin/cell_log
if [ $? = 0 ]; then
echo "cell-log"
else
echo "(failed.)"
fi
;;
stop)
echo -n "Stopping cell-log daemon: "
start-stop-daemon -K -x bash -p $PIDFILE
echo "cell-log."
;;
restart|force-reload)
$0 stop
$0 start
;;
*)
echo "Usage: /etc/init.d/cell-log {start|stop|restart|force-reload}"
exit 1
;;
esac
exit 0

View File

@ -0,0 +1,58 @@
# gsmd This shell script configures for the gsmd init script.
. /etc/init.d/functions
case `machine_id` in
"gta01"|"gta02")
GSMD_OPTS="-s 115200 -F"
if [ -d '/sys/bus/platform/devices/gta01-pm-gsm.0' ] ; then
GSM_POW="/sys/bus/platform/devices/gta01-pm-gsm.0/power_on"
GSM_RES="/sys/bus/platform/devices/gta01-pm-gsm.0/reset"
else
GSM_POW="/sys/bus/platform/devices/neo1973-pm-gsm.0/power_on"
GSM_RES="/sys/bus/platform/devices/neo1973-pm-gsm.0/reset"
fi
GSM_DEV="/dev/ttySAC0"
GSM_DL="/sys/devices/platform/neo1973-pm-gsm.0/download"
;;
"htc_apache"|"htc_blueangel"|"htc_universal")
GSMD_OPTS="-s 115200 -F"
GSM_DEV="/dev/ttyS0"
;;
"htc_himalaya")
GSMD_OPTS="-s 115200 -F"
GSM_DEV="/dev/ttyS2"
;;
"htc_magician")
GSMD_OPTS="-s 115200 -F"
GSM_DEV="/dev/ttyS1"
;;
"palm_treo_650")
GSMD_OPTS="-s 460800 -F -w 1"
GSM_DEV="/dev/ttyS0"
;;
"motorola_ezx_platform")
GSMD_OPTS="-s 115200 -F -v ti"
GSM_DEV="/dev/mux0"
;;
"sysmocom_sysmobts_v2")
GSMD_OPTS="-v wavecom"
GSM_DEV="/dev/ttyS2"
;;
*)
# Unknown board
# If you must specify special options, uncomment and modify the next line
#GSMD_OPTS="-s 115200 -F"
# If your GSM device needs to be powered up, uncomment and modify the next line
#GSM_POW="/sys/bus/platform/devices/gta01-pm-gsm.0/power_on"
# If your GSM device then needs to be reset, uncomment and modify the next line
#GSM_RES="/sys/bus/platform/devices/gta01-pm-gsm.0/reset"
# This should be in a common /etc/default/serial, together with
# BT_DEV and IR_DEV for devices that have those on a serial port
#GSM_DEV="/dev/ttyS1"
;;
esac

View File

@ -0,0 +1,49 @@
#! /bin/sh
#
# gsmd This shell script starts and stops gsmd.
#
# chkconfig: 345 90 40
# description: Gsmd manages access to a serial- or USB-connected GSM
# processname: gsmd
PATH=/bin:/usr/bin:/sbin:/usr/sbin
PIDFILE=/var/run/gsmd.pid
[ -f /etc/default/rcS ] && . /etc/default/rcS
[ -f /etc/default/gsmd ] && . /etc/default/gsmd
case "$1" in
start)
[ -n "$GSM_POW" ] && ( echo "0" >$GSM_POW; sleep 1 )
[ -n "$GSM_POW" ] && ( echo "1" >$GSM_POW; sleep 1 )
[ -n "$GSM_RES" ] && ( echo "1" >$GSM_RES; sleep 1 )
[ -n "$GSM_RES" ] && ( echo "0" >$GSM_RES; sleep 2 )
echo -n "Starting GSM daemon: "
start-stop-daemon -S -p $PIDFILE -b \
-x /usr/bin/osmo-service-respawn.sh /usr/sbin/gsmd -- gsmd -p $GSM_DEV $GSMD_OPTS -l syslog
if [ $? = 0 ]; then
echo "gsmd."
else
echo "(failed.)"
fi
;;
stop)
[ -n "$GSM_POW" ] && echo "0" >$GSM_POW
echo -n "Stopping GSM daemon: "
start-stop-daemon -K -x bash -p $PIDFILE
echo "gsmd."
;;
restart|force-reload)
$0 stop
$0 start
;;
*)
echo "Usage: /etc/init.d/gsmd {start|stop|restart|force-reload}"
exit 1
;;
esac
exit 0

View File

@ -0,0 +1,92 @@
DESCRIPTION = "GSM libraries and daemons implementing the ETSI 07.10 specification"
HOMEPAGE = "http://www.openmoko.org"
SECTION = "telephony"
LICENSE = "GPLv2+ & LGPLv2.1+"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
file://COPYING.library;md5=2d5025d4aa3495befef8f17206a5b0a1 "
# Fork with wavecom support
SRC_URI = "git://git.gnumonks.org/openmoko-gsmd.git;branch=master \
file://gsmd \
file://cell-log \
file://default"
SRCREV = "ea175de97e6ecf87129a7412a67ce3146f56b5d1"
S = "${WORKDIR}/git"
PR = "r19.0"
inherit autotools pkgconfig update-rc.d
# handle update-rc.d RDEPENDS_${PN} manually, we don't need it on
# anything but gsmd
INITSCRIPT_PACKAGES = "${PN} ${PN}-tools-cell-log"
INITSCRIPT_NAME_${PN} = "gsmd"
INITSCRIPT_PARAMS_${PN} = "defaults 35"
INITSCRIPT_NAME_${PN}-tools-cell-log = "cell-log"
INITSCRIPT_PARAMS_${PN}-tools-cell-log = "defaults 40"
do_install_append() {
install -d ${D}/${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/gsmd ${D}/${sysconfdir}/init.d/
install -m 0755 ${WORKDIR}/cell-log ${D}/${sysconfdir}/init.d/
install -d ${D}/${sysconfdir}/default
install ${WORKDIR}/default ${D}/${sysconfdir}/default/gsmd
}
PACKAGES =+ "\
${PN}-tools-cell-log \
${PN}-tools \
${PN}-plugins \
${PN}-plugin-machine-generic \
${PN}-plugin-machine-tihtc \
${PN}-plugin-machine-gta01 \
${PN}-plugin-machine-telit \
${PN}-plugin-vendor-bcm \
${PN}-plugin-vendor-qc \
${PN}-plugin-vendor-telit \
${PN}-plugin-vendor-ti \
${PN}-plugin-vendor-tihtc \
${PN}-plugin-vendor-wavecom \
"
RDEPENDS_${PN}-plugins = "\
${PN}-plugin-machine-generic \
${PN}-plugin-machine-tihtc \
${PN}-plugin-machine-gta01 \
${PN}-plugin-machine-telit \
${PN}-plugin-vendor-bcm \
${PN}-plugin-vendor-qc \
${PN}-plugin-vendor-telit \
${PN}-plugin-vendor-ti \
${PN}-plugin-vendor-tihtc \
${PN}-plugin-vendor-wavecom \
"
RDEPENDS_${PN} += "update-rc.d osmo-service-respawn"
RDEPENDS_${PN}-tools-cell-log += "update-rc.d ${PN} osmo-service-respawn"
FILES_${PN}-dbg += "${libdir}/gsmd/.debug/*"
FILES_${PN}-tools-cell-log = "${bindir}/cell_log ${sysconfdir}/cell-log"
FILES_${PN}-tools = "${bindir}/*"
FILES_${PN}-plugins = ""
FILES_${PN}-dev += " ${libdir}/gsmd/*.la "
FILES_${PN}-staticdev += " ${libdir}/gsmd/*.a"
FILES_${PN}-plugin-machine-generic = "${libdir}/gsmd/libgsmd-machine_generic.so*"
FILES_${PN}-plugin-machine-tihtc = "${libdir}/gsmd/libgsmd-machine_tihtc.so*"
FILES_${PN}-plugin-machine-gta01 = "${libdir}/gsmd/libgsmd-machine_gta01.so*"
FILES_${PN}-plugin-machine-telit = "${libdir}/gsmd/libgsmd-machine_telit.so*"
FILES_${PN}-plugin-vendor-qc = "${libdir}/gsmd/libgsmd-vendor_qc.so*"
FILES_${PN}-plugin-vendor-bcm = "${libdir}/gsmd/libgsmd-vendor_bcm.so*"
FILES_${PN}-plugin-vendor-telit = "${libdir}/gsmd/libgsmd-vendor_telit.so*"
FILES_${PN}-plugin-vendor-ti = "${libdir}/gsmd/libgsmd-vendor_ti.so*"
FILES_${PN}-plugin-vendor-tihtc = "${libdir}/gsmd/libgsmd-vendor_tihtc.so*"
FILES_${PN}-plugin-vendor-wavecom = "${libdir}/gsmd/libgsmd-vendor_wavecom.so*"
PACKAGES_DYNAMIC = "lib${PN}* ${PN}"
ALLOW_EMPTY_${PN}-plugins = "1"

View File

@ -0,0 +1,21 @@
The line is not initiliazed to E1INP_TS_TYPE_SIGN by default
diff --git a/src/input/ipaccess.c b/src/input/ipaccess.c
index 145e471..49424e7 100644
--- a/src/input/ipaccess.c
+++ b/src/input/ipaccess.c
@@ -915,12 +915,14 @@ int e1inp_ipa_bts_rsl_connect_n(struct e1inp_line *line,
"trx_nr (%d) out of range\n", trx_nr);
return -EINVAL;
}
+/*
if (line->ts[E1INP_SIGN_RSL+trx_nr-1].type != E1INP_TS_TYPE_SIGN) {
LOGP(DLINP, LOGL_ERROR, "cannot create RSL BTS link: "
"trx_nr (%d) does not refer to a signalling link\n",
trx_nr);
return -EINVAL;
}
+*/
rsl_link = ipa_client_conn_create(tall_ipa_ctx,
&line->ts[E1INP_SIGN_RSL+trx_nr-1],

View File

@ -0,0 +1,13 @@
DESCRITOPN = "An utility library for Open Source Mobile Communications"
DEPENDS = "libosmocore ortp"
DEPENDS_append_geode = "dahdi-linux"
HOMEPAGE = "http://openbsc.gnumonks.org"
LICENSE = "AGPLv3"
INC_PR="r2.${META_TELEPHONY_OSMO_INC}"
LIC_FILES_CHKSUM = "file://COPYING;md5=73f1eb20517c55bf9493b7dd6e480788"
inherit autotools pkgconfig
ALLOW_EMPTY_libosmo-abis = "1"

View File

@ -0,0 +1,7 @@
require ${PN}.inc
S = "${WORKDIR}/git"
SRCREV = "3cef39b03cb46de4a7aba65137d724a000b184cb"
SRC_URI = "git://git.osmocom.org/libosmo-abis.git;protocol=git"
PV = "0.3.2+gitr${SRCPV}"
PR = "${INC_PR}.1"

View File

@ -0,0 +1,10 @@
DESCRITOPN = "Osmux utility classes"
DEPENDS = "libosmo-abis"
HOMEPAGE = "http://git.osmocom.org"
LICENSE = "GPLv2+"
INC_PR="r2.${META_TELEPHONY_OSMO_INC}"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
inherit autotools pkgconfig

View File

@ -0,0 +1,7 @@
require ${PN}.inc
S = "${WORKDIR}/git"
SRCREV = "efb9af4dada5e2426e69d670f4549f8fec3c9cb2"
SRC_URI = "git://git.osmocom.org/libosmo-netif.git;protocol=git"
PV = "0.4.0+gitr${SRCPV}"
PR = "${INC_PR}.2"

View File

@ -0,0 +1,12 @@
DESCRITOPN = "An utility library for Open Source Mobile Communications"
DEPENDS = "libosmocore"
HOMEPAGE = "http://openbsc.gnumonks.org"
LICENSE = "AGPLv3"
INC_PR="r1.${META_TELEPHONY_OSMO_INC}"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
inherit autotools pkgconfig
ALLOW_EMPTY_libosmo-sccp = "1"

View File

@ -0,0 +1,11 @@
require ${PN}.inc
S = "${WORKDIR}/git"
SRCREV = "2d2d885bd124b8ae2d3a04f3583a756029820dc0"
SRC_URI = "git://git.osmocom.org/libosmo-sccp.git;protocol=git"
PR = "${INC_PR}.1"
# because "${WORKDIR}/git" is not a git repo, it can't figure out the version
do_configure_prepend() {
echo "${PV}" > ${S}/.tarball-version
}

View File

@ -0,0 +1,10 @@
DESCRITOPN = "An utility library for Open Source Mobile Communications"
HOMEPAGE = "http://openbsc.gnumonks.org"
LICENSE = "GPLv2+"
INC_PR="r1.${META_TELEPHONY_OSMO_INC}"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
inherit autotools pkgconfig

View File

@ -0,0 +1,26 @@
require ${PN}.inc
S = "${WORKDIR}/git"
SRCREV = "70fcbda6dd733a503e9a046e01986d8bfc2e2bb2"
SRC_URI = "git://git.osmocom.org/libosmocore.git;protocol=git;nobranch=1"
PV = "0.9.0+gitr${SRCPV}"
PR = "r1"
PACKAGES =+ "libosmoctrl libosmocodec libosmogb libosmogsm libosmovty osmo-arfcn osmo-auc-gen"
FILES_libosmoctrl = "${libdir}/libosmoctrl${SOLIBS}"
FILES_libosmocodec = "${libdir}/libosmocodec${SOLIBS}"
FILES_libosmogb = "${libdir}/libosmogb${SOLIBS}"
FILES_libosmogsm = "${libdir}/libosmogsm${SOLIBS}"
FILES_libosmovty = "${libdir}/libosmovty${SOLIBS}"
FILES_osmo-arfcn = "${bindir}/osmo-arfcn"
FILES_osmo-auc-gen = "${bindir}/osmo-auc-gen"
# Requires fix for upgrades
RREPLACES_libosmocore = "DONOTREPLACElibosmocore"
RREPLACES_libosmoctrl = "DONOTREPLACElibosmocore"
RREPLACES_libosmocodec = "DONOTREPLACElibosmocore"
RREPLACES_libosmogb = "DONOTREPLACElibosmocore"
RREPLACES_libosmogsm = "DONOTREPLACElibosmocore"
RREPLACES_libosmovty = "DONOTREPLACElibosmocore"
EXTRA_OECONF += "--disable-pcsc"

View File

@ -0,0 +1,25 @@
TOOLCHAIN_TARGET_OSMOTASK ?= "packagegroup-core-standalone-osmo-sdk-target"
TOOLCHAIN_TARGET_TASK = "${TOOLCHAIN_TARGET_OSMOTASK}"
TOOLCHAIN_OUTPUT_BASENAME = "${SDK_NAME}-toolchain-osmo-${DISTRO_VERSION}"
TOOLCHAIN_OUTPUTNAME = "${TOOLCHAIN_OUTPUT_BASENAME}-${DATETIME}"
TOOLCHAIN_OUTPUTNAME[vardepsexclude] = "DATETIME"
TOOLCHAIN_HOST_TASK_append = " nativesdk-python-argparse"
PROVIDES = "meta-toolchain-sdk"
require recipes-core/meta/meta-toolchain.bb
do_populate_sdk_append() {
bb.build.exec_func("create_symlink", d)
}
create_symlink() {
# master or dora?
if [ -e ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.sh ]; then
cd ${SDKDEPLOYDIR}/
else
cd ${SDK_DEPLOY}/
fi
rm -f ${TOOLCHAIN_OUTPUT_BASENAME}.sh
ln -s ${TOOLCHAIN_OUTPUTNAME}.sh ${TOOLCHAIN_OUTPUT_BASENAME}.sh
}

View File

@ -0,0 +1,100 @@
DESCRIPTION = "OpenBSC a Free Software GSM BaseStationController"
DEPENDS = "libdbi libosmocore libosmo-sccp libosmo-abis libosmo-netif openggsn libsmpp34 bcg729 libgsm libpcap c-ares"
HOMEPAGE = "http://openbsc.osmocom.org/"
LICENSE = "AGPLv3+"
LIC_FILES_CHKSUM = "file://COPYING;md5=73f1eb20517c55bf9493b7dd6e480788"
RDEPENDS_osmo-nitb = "libdbd-sqlite3"
SRC_URI = "file://osmo-nitb.init \
file://osmo-bsc_mgcp.init \
file://osmo-bsc.init \
file://osmo-sgsn.init"
INC_PR = "r21.${META_TELEPHONY_OSMO_INC}"
EXTRA_OECONF += " --enable-nat --enable-osmo-bsc --enable-smpp --enable-mgcp-transcoding --with-g729"
inherit autotools update-rc.d pkgconfig
# because "${WORKDIR}/git" is not a git repo, it can't figure out the version
do_configure_prepend() {
echo "${PV}" > ${S}/.tarball-version
}
do_install_append() {
install -d ${D}${sysconfdir}/osmocom
install -m 0660 ${S}/doc/examples/osmo-nitb/nanobts/openbsc.cfg ${D}${sysconfdir}/osmocom/osmo-nitb.cfg
install -m 0660 ${S}/doc/examples/osmo-bsc/osmo-bsc.cfg ${D}${sysconfdir}/osmocom/osmo-bsc.cfg
install -m 0660 ${S}/doc/examples/osmo-bsc_mgcp/mgcp.cfg ${D}${sysconfdir}/osmocom/osmo-bsc-mgcp.cfg
install -m 0660 ${S}/doc/examples/osmo-sgsn/osmo-sgsn.cfg ${D}${sysconfdir}/osmocom/osmo-sgsn.cfg
# Install sysv-init files
install -d ${D}${sysconfdir}/init.d
install -d ${D}${sysconfdir}/rc5.d
install -m 0775 ${WORKDIR}/osmo-nitb.init ${D}${sysconfdir}/init.d/osmo-nitb
install -m 0775 ${WORKDIR}/osmo-bsc_mgcp.init ${D}${sysconfdir}/init.d/osmo-bsc-mgcp
install -m 0775 ${WORKDIR}/osmo-bsc.init ${D}${sysconfdir}/init.d/osmo-bsc
install -m 0775 ${WORKDIR}/osmo-sgsn.init ${D}${sysconfdir}/init.d/osmo-sgsn
# Install systemd files and enable on sysinit
install -d ${D}${systemd_unitdir}/system
for i in `ls ${S}/contrib/systemd`; do
install -m 0644 ${S}/contrib/systemd/$i ${D}${systemd_unitdir}/system/
done
install -d ${D}/var/lib/osmocom
}
PACKAGES =+ "osmo-bsc osmo-nitb osmo-gbproxy osmo-gbproxy-dbg osmo-sgsn ipaccess-utils osmo-bsc-mgcp osmo-bsc-nat"
INITSCRIPT_PACKAGES = "osmo-bsc osmo-bsc-mgcp osmo-nitb osmo-sgsn"
# Do not start any of the services by default
SYSTEMD_AUTO_ENABLE = "disable"
CONFFILES_osmo-bsc = "${sysconfdir}/osmocom/osmo-bsc.cfg"
INITSCRIPT_NAME_osmo-bsc = "osmo-bsc"
INITSCRIPT_PARAMS_osmo-bsc = "defaults 30 30"
FILES_osmo-bsc = " ${bindir}/osmo-bsc \
${sysconfdir}/osmocom/osmo-bsc.cfg \
${sysconfdir}/init.d/osmo-bsc \
${systemd_unitdir}/system/osmo-bsc.service \
"
CONFFILES_osmo-bsc-mgcp = "${sysconfdir}/osmocom/osmo-bsc-mgcp.cfg"
INITSCRIPT_NAME_osmo-bsc-mgcp = "osmo-bsc-mgcp"
INITSCRIPT_PARAMS_osmo-bsc-mgcp = "defaults 30 30"
FILES_osmo-bsc-mgcp = " ${bindir}/osmo-bsc_mgcp \
${sysconfdir}/osmocom/osmo-bsc-mgcp.cfg \
${sysconfdir}/init.d/osmo-bsc-mgcp \
${systemd_unitdir}/system/osmo-bsc-mgcp.service \
"
CONFFILES_osmo-nitb = "${sysconfdir}/osmocom/osmo-nitb.cfg"
INITSCRIPT_NAME_osmo-nitb = "osmo-nitb"
INITSCRIPT_PARAMS_osmo-nitb = "defaults 30 30"
FILES_osmo-nitb = " ${bindir}/osmo-nitb \
/var/lib/osmocom \
${sysconfdir}/init.d/osmo-nitb \
${sysconfdir}/osmocom/osmo-nitb.cfg \
${systemd_unitdir}/system/osmo-nitb.service \
"
CONFFILES_osmo-sgsn = "${sysconfdir}/osmocom/osmo-sgsn.cfg"
INITSCRIPT_NAME_osmo-sgsn = "osmo-sgsn"
INITSCRIPT_PARAMS_osmo-sgsn = "defaults 30 30"
FILES_osmo-sgsn = " ${bindir}/osmo-sgsn \
${sysconfdir}/init.d/osmo-sgsn \
${sysconfdir}/osmocom/osmo-sgsn.cfg \
${systemd_unitdir}/system/osmo-sgsn.service \
"
FILES_ipaccess-utils = " ${bindir}/ipaccess-find ${bindir}/ipaccess-config ${bindir}/ipaccess-proxy "
FILES_osmo-bsc-nat = " ${bindir}/osmo-bsc_nat "
FILES_osmo-gbproxy = " ${bindir}/osmo-gbproxy \
${systemd_unitdir}/system/osmo-gbproxy.service \
"
FILES_osmo-gbproxy-dbg = " ${bindir}/.debug/osmo-gbproxy "

View File

@ -0,0 +1,48 @@
#!/bin/sh
### BEGIN INIT INFO
# Provides: osmo-bsc
# Required-Start: $syslog $networking
# Required-Stop: $syslog
# Default-Start: 5
# Default-Stop: 1
# Short-Description: Osmocom GSM Base Station Controller
### END INIT INFO
DAEMON=/usr/bin/osmo-bsc
NAME=osmo-bsc
DESC="Osmocom GSM Base Station Controller"
NORMAL_ARGS="-D -c /etc/osmocom/osmo-bsc.cfg -r /var/run/openbsc.ctl"
OSMOBTS_EXTRA_ARGS=""
NO_START=1
set -e
test ! -r /etc/default/osmo-bsc || . /etc/default/osmo-bsc
test "$NO_START" = "0" || exit 0
test -x "$DAEMON" || exit 0
case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon -S \
-x "$DAEMON" -- $NORMAL_ARGS $OSMOBTS_EXTRA_ARGS
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon -K -x "$DAEMON"
echo "$NAME."
;;
restart)
$0 stop
$0 start
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart}" >&2
exit 1
;;
esac
exit 0

View File

@ -0,0 +1,48 @@
#!/bin/sh
### BEGIN INIT INFO
# Provides: osmo-bsc_mgcp
# Required-Start: $syslog $networking
# Required-Stop: $syslog
# Default-Start: 5
# Default-Stop: 1
# Short-Description: Osmocom GSM BSC MGCP proxy
### END INIT INFO
DAEMON=/usr/bin/osmo-bsc_mgcp
NAME=osmo-bsc_mgcp
DESC="Osmocom GSM BSC MGCP proxy"
NORMAL_ARGS="-D -c /etc/osmocom/osmo-bsc-mgcp.cfg"
OSMOBTS_EXTRA_ARGS=""
NO_START=1
set -e
test ! -r /etc/default/osmo-bsc_mgcp || . /etc/default/osmo-bsc_mgcp
test "$NO_START" = "0" || exit 0
test -x "$DAEMON" || exit 0
case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon -S \
-x "$DAEMON" -- $NORMAL_ARGS $OSMOBTS_EXTRA_ARGS
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon -K -x "$DAEMON"
echo "$NAME."
;;
restart)
$0 stop
$0 start
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart}" >&2
exit 1
;;
esac
exit 0

View File

@ -0,0 +1,48 @@
#!/bin/sh
### BEGIN INIT INFO
# Provides: osmo-nitb
# Required-Start: $syslog $networking
# Required-Stop: $syslog
# Default-Start: 5
# Default-Stop: 1
# Short-Description: Osmocom GSM Network in the Box
### END INIT INFO
DAEMON=/usr/bin/osmo-nitb
NAME=osmo-nitb
DESC="Osmocom GSM Network in the Box"
NORMAL_ARGS="-C -D -c /etc/osmocom/osmo-nitb.cfg -l /var/lib/osmocom/hlr.sqlite3"
OSMOBTS_EXTRA_ARGS=""
NO_START=1
set -e
test ! -r /etc/default/osmo-nitb || . /etc/default/osmo-nitb
test "$NO_START" = "0" || exit 0
test -x "$DAEMON" || exit 0
case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon -S \
-x "$DAEMON" -- $NORMAL_ARGS $OSMOBTS_EXTRA_ARGS
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon -K -x "$DAEMON"
echo "$NAME."
;;
restart|force-reload)
$0 stop
$0 start
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart}" >&2
exit 1
;;
esac
exit 0

View File

@ -0,0 +1,48 @@
#!/bin/sh
### BEGIN INIT INFO
# Provides: osmo-sgsn
# Required-Start: $syslog $networking
# Required-Stop: $syslog
# Default-Start: 5
# Default-Stop: 1
# Short-Description: Osmocom Serving GPRS Support Node
### END INIT INFO
DAEMON=/usr/bin/osmo-sgsn
NAME=osmo-sgsn
DESC="Osmocom Serving GPRS Support Node"
NORMAL_ARGS="-D -c /etc/osmocom/osmo-sgsn.cfg"
OSMOSGSN_EXTRA_ARGS=""
NO_START=0
set -e
test ! -r /etc/default/osmo-sgsn || . /etc/default/osmo-sgsn
test "$NO_START" = "0" || exit 0
test -x "$DAEMON" || exit 0
case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon -S \
-x "$DAEMON" -- $NORMAL_ARGS $OSMOSGSN_EXTRA_ARGS
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon -K -x "$DAEMON"
echo "$NAME."
;;
restart|force-reload)
$0 stop
$0 start
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart}" >&2
exit 1
;;
esac
exit 0

View File

@ -0,0 +1,19 @@
OpenBSC has bumped the version from 2 to 4 but only introduced
new defines so the actual wire protocol has not been changed
yet. This is why we can just turn the version back. At least I
hope so.
Index: openbsc/include/openbsc/mncc.h
===================================================================
--- openbsc.orig/include/openbsc/mncc.h
+++ openbsc/include/openbsc/mncc.h
@@ -163,7 +163,7 @@ struct gsm_data_frame {
unsigned char data[0];
};
-#define MNCC_SOCK_VERSION 4
+#define MNCC_SOCK_VERSION 2
struct gsm_mncc_hello {
uint32_t msg_type;
uint32_t version;

View File

@ -0,0 +1,17 @@
lcr uses MNCC_SOCK_VERSION 5, but this is binary compatible to
what openbsc thinks is version 4. The only difference is the added
RTP related commands, which are optional.
Index: openbsc/include/openbsc/mncc.h
===================================================================
--- openbsc.orig/include/openbsc/mncc.h
+++ openbsc/include/openbsc/mncc.h
@@ -163,7 +163,7 @@ struct gsm_data_frame {
unsigned char data[0];
};
-#define MNCC_SOCK_VERSION 4
+#define MNCC_SOCK_VERSION 5
struct gsm_mncc_hello {
uint32_t msg_type;
uint32_t version;

View File

@ -0,0 +1,11 @@
require ${PN}.inc
PV = "0.14.0+gitr${SRCPV}"
PRINC = "0"
PR = "${INC_PR}.6"
SRCREV = "57ee78078905c7499bd4e6857f8981d22badfcac"
SRC_URI += "git://git.osmocom.org/openbsc.git;protocol=git \
file://upgrade-mncc-version.patch"
S = "${WORKDIR}/git/openbsc"

View File

@ -0,0 +1,13 @@
diff --git a/gtp/queue.h b/gtp/queue.h
index 556b6ef..d59a1a3 100644
--- a/gtp/queue.h
+++ b/gtp/queue.h
@@ -19,7 +19,7 @@
#define QUEUE_DEBUG 0 /* Print debug information */
-#define QUEUE_SIZE 1024 /* Size of retransmission queue */
+#define QUEUE_SIZE 32 /* Size of retransmission queue */
#define QUEUE_HASH_SIZE 65536 /* Size of hash table (2^16) */
struct qmsg_t { /* Holder for queued packets */

View File

@ -0,0 +1,169 @@
#!/bin/sh
### BEGIN INIT INFO
# Provides: openggsn
# Required-Start: $network $local_fs
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Osmocom GSM network-in-a-box
# Description: A minimal implementation of the GSM Base Station Controller,
# Mobile Switching Center, Home Location regster and all other
# components to run a self-contained GSM network.
### END INIT INFO
# Author: Harald Welte <laforge@gnumonks.org>
# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="OpenGGSN Gateway GPRS Support Node"
NAME=openggsn
DAEMON=/usr/bin/ggsn
DAEMON_ARGS="" # Arguments to run the daemon with
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
CONFIG_FILE=/etc/ggsn.conf
# Exit if the package is not installed
[ -x $DAEMON ] || exit 0
# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
# Load the VERBOSE setting and other rcS variables
# . /lib/init/vars.sh
# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
# . /lib/lsb/init-functions
DAEMON_ARGS="$DAEMON_ARGS -c $CONFIG_FILE"
#
# Function that starts the daemon/service
#
do_start()
{
# Return
# 0 if daemon has been started
# 1 if daemon was already running
# 2 if daemon could not be started
/sbin/modprobe tun
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
|| return 1
# Check for runtime directory of nonvolatile data
if [ ! -d /var/lib/ggsn ]; then
mkdir /var/lib/ggsn
fi
# Check for GTP restart counter
if [ ! -f /var/lib/ggsn/gsn_restart ]; then
echo 0 > /var/lib/ggsn/gsn_restart
fi
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
$DAEMON_ARGS \
|| return 2
# Add code here, if necessary, that waits for the process to be ready
# to handle requests from services started subsequently which depend
# on this one. As a last resort, sleep for some time.
}
#
# Function that stops the daemon/service
#
do_stop()
{
# Return
# 0 if daemon has been stopped
# 1 if daemon was already stopped
# 2 if daemon could not be stopped
# other if a failure occurred
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
RETVAL="$?"
[ "$RETVAL" = 2 ] && return 2
# Wait for children to finish too if this is a daemon that forks
# and if the daemon is only ever run from this initscript.
# If the above conditions are not satisfied then add some other code
# that waits for the process to drop all resources that could be
# needed by services started subsequently. A last resort is to
# sleep for some time.
start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
[ "$?" = 2 ] && return 2
# Many daemons don't delete their pidfiles when they exit.
rm -f $PIDFILE
return "$RETVAL"
}
#
# Function that sends a SIGHUP to the daemon/service
#
do_reload() {
#
# If the daemon can reload its configuration without
# restarting (for example, when it is sent a SIGHUP),
# then implement that here.
#
start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
return 0
}
case "$1" in
start)
#[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC " "$NAME"
do_start
#case "$?" in
# 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
# 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
# esac
;;
stop)
#[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
do_stop
#case "$?" in
# 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
# 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
#esac
;;
status)
status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
;;
#reload|force-reload)
#
# If do_reload() is not implemented then leave this commented out
# and leave 'force-reload' as an alias for 'restart'.
#
#log_daemon_msg "Reloading $DESC" "$NAME"
#do_reload
#log_end_msg $?
#;;
restart|force-reload)
#
# If the "reload" option is implemented then remove the
# 'force-reload' alias
#
#log_daemon_msg "Restarting $DESC" "$NAME"
do_stop
case "$?" in
0|1)
do_start
#case "$?" in
# 0) log_end_msg 0 ;;
# 1) log_end_msg 1 ;; # Old process is still running
# *) log_end_msg 1 ;; # Failed to start
#esac
;;
*)
# Failed to stop
#log_end_msg 1
;;
esac
;;
*)
#echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
exit 3
;;
esac
:

View File

@ -0,0 +1,40 @@
DESCRITOPN = "OpenGGSN a Free Software GGSN"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
PV = "0.91+gitr${SRCPV}"
PR = "r14"
SRCREV = "b07d07072e70ac4f920be9dfdf45615193b4ec2d"
SRC_URI = "git://git.osmocom.org/openggsn \
file://openggsn.init \
file://libgtp-queue_depth_32.patch \
"
S = "${WORKDIR}/git"
DEPENDS = "libosmocore"
PACKAGES =+ " libgtp libgtp-dev libgtp-staticdev openggsn-sgsnemu"
RDEPENDS_${PN} += "kernel-module-tun"
inherit autotools update-rc.d pkgconfig
do_install_append() {
install -d ${D}${sysconfdir}/init.d
install -d ${D}${systemd_unitdir}/system
install -m 0776 ${WORKDIR}/openggsn.init ${D}${sysconfdir}/init.d/openggsn
install -m 0644 ${S}/contrib/openggsn.service ${D}${systemd_unitdir}/system/
}
INITSCRIPT_PACKAGES = "openggsn"
INITSCRIPT_NAME_openggsn = "openggsn"
INITSCRIPT_PARAMS_openggsn = "defaults 29 29"
RDEPENDS_${PN} += "iptables kernel-module-ipt-masquerade"
FILES_libgtp = "${libdir}/*${SOLIBS}"
FILES_libgtp-dev = "${includedir} ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la"
FILES_libgtp-staticdev = "${libdir}/*.a"
FILES_openggsn-sgsnemu = "${bindir}/sgsnemu"
FILES_${PN} += "${systemd_unitdir}/system/*"

View File

@ -0,0 +1,19 @@
#!/usr/bin/env bash
NAME=`basename $1`
PIDFILE="/var/run/$NAME.pid"
PID=$$
echo "$PID" > $PIDFILE
echo "-1000" > /proc/$PID/oom_score_adj
trap "{ rm -f $PIDFILE ; kill 0; }" EXIT
while true;
do
echo "Restarting not dealing well with spaces.."
(echo "0" > /proc/self/oom_score_adj && exec $@) &
LAST_PID=$!
wait $LAST_PID
sleep 10s
done

View File

@ -0,0 +1,13 @@
DESCRIPTION = "Shell script to start, nice and respawn services"
HOMEPAGE = "http://openbsc.osmocom.org/"
LICENSE = "AGPLv3+"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
SRC_URI = "file://osmo-service-respawn.sh"
RDEPENDS_${PN} = "bash"
do_install() {
install -d ${D}${bindir}
install -m 0775 ${WORKDIR}/osmo-service-respawn.sh ${D}${bindir}
}

View File

@ -0,0 +1,111 @@
#!/bin/sh
### BEGIN INIT INFO
# Provides: osmocom-tcpdump
# Required-Start: $remote_fs $network
# Should-Start: udev
# Required-Stop: $remote_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
### END INIT INFO
# Do NOT "set -e"
# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="Osmocom traffic capture"
NAME="tcpdump"
DAEMON=/usr/sbin/$NAME
PIDFILE=/var/run/osmocom-tcpdump-$NAME.pid
SCRIPTNAME=/etc/init.d/osmocom-tcpdump
CAPTURE_ENABLED="0"
CAPTURE_LIMIT="8"
CAPTURE_SIZE="1"
CAPTURE_BASENAME="/tmp/tcpdump-capture-"
CAPTURE_COMPRESS="-z /usr/sbin/tcpdump-compress"
if [ -e /etc/default/osmocom-tcpdump ]; then
. /etc/default/osmocom-tcpdump
fi
CAPTURE_OPTIONS="-pi $CAPTURE_DEVICE -s0 -w $CAPTURE_BASENAME -C $CAPTURE_SIZE -W $CAPTURE_LIMIT $CAPTURE_COMPRESS"
#
# Function that starts the daemon/service
#
do_start()
{
# Return
# 0 if daemon has been started
# 1 if daemon was already running
# 2 if daemon could not be started
if [ -z "$CAPTURE_DEVICE" -o -z "$CAPTURE_FILTER" ]; then
echo "Unable to start $DESC" "$NAME" "(unconfigured)"
exit 2
fi
if [ "$CAPTURE_ENABLED" != "1" ]; then
echo "Not starting $DESC" "$NAME" "(disabled)"
exit 0
fi
#start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
# || return 1
echo "Starting $DESC" "$NAME"
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON \
--background --make-pidfile -- $CAPTURE_OPTIONS $CAPTURE_FILTER \
|| return 2
}
#
# Function that stops the daemon/service
#
do_stop()
{
# Return
# 0 if daemon has been stopped
# 1 if daemon was already stopped
# 2 if daemon could not be stopped
# other if a failure occurred
echo "Stopping $DESC" "$NAME"
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
RETVAL="$?"
[ "$RETVAL" = 2 ] && return 2
# Many daemons don't delete their pidfiles when they exit.
rm -f $PIDFILE
return "$RETVAL"
}
case "$1" in
start)
do_start
exit $?
;;
stop)
do_stop
exit $?
;;
restart)
#
# If the "reload" option is implemented then remove the
# 'force-reload' alias
#
do_stop
case "$?" in
0|1)
do_start
exit $?
;;
*)
# Failed to stop
exit 1
;;
esac
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2
exit 3
;;
esac
:

View File

@ -0,0 +1,4 @@
#!/bin/bash
rm -f $1.pcap.gz || true
gzip -c $1 > $1.pcap.gz && rm -f $1 || true

View File

@ -0,0 +1,25 @@
DESCRIPTION = "Osmocom round-robin tcpdump/capture"
LICENSE = "GPLv3+"
RDEPENDS_${PN} = "tcpdump bash"
PR = "r11"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
SRC_URI = " \
file://osmocom-tcpdump \
file://tcpdump-compress \
"
do_install () {
install -d ${D}${sysconfdir}/init.d
install -d ${D}${sysconfdir}/default
install -d ${D}${sbindir}
install -m 0755 ${WORKDIR}/osmocom-tcpdump ${D}${sysconfdir}/init.d/
install -m 0755 ${WORKDIR}/tcpdump-compress ${D}${sbindir}/
}
inherit update-rc.d
INITSCRIPT_NAME = "osmocom-tcpdump"
INITSCRIPT_PARAMS = "defaults 21"

View File

@ -0,0 +1,23 @@
#
# Copyright (C) 2007 OpenedHand Ltd.
#
DESCRIPTION = "Software Development Kit for Osmocom devices"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
PR = "r5"
ALLOW_EMPTY_${PN} = "1"
# TODO: We need to rename this task to packagegroup but for now we
# will need to skip this test.
INSANE_SKIP_${PN} += "dev-deps"
require packagegroup-sdk-osmo.inc
PACKAGES = "${PN} ${PN}-dbg"
RDEPENDS_${PN} = "\
packagegroup-core-standalone-sdk-target \
${SDK-OSMO} \
${SDK-EXTRAS}"

View File

@ -0,0 +1,16 @@
DESCRIPTION = "Task for Osmocom tools and header files"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
DEPENDS = "virtual/kernel"
ALLOW_EMPTY_${PN} = "1"
PR = "r2"
# For backwards compatibility after rename
RPROVIDES_${PN} = "task-osmocom"
RREPLACES_${PN} = "task-osmocom"
RCONFLICTS_${PN} = "task-osmocom"
RDEPENDS_${PN} = "\
libosmocore \
"

View File

@ -0,0 +1,18 @@
SDK-OSMO = " \
lksctp-tools-dev \
libusb1-dev \
libtalloc-dev \
libosmocore-dev \
libosmo-sccp-staticdev \
libosmo-abis-dev \
libgtp-dev \
libdbi-dev \
libsmpp34-dev \
gpsd-dev \
"
SDK-EXTRAS ?= ""
#SDK-EXTRAS_qemux86 ?= " valgrind lttng-ust-dev"
#SDK-EXTRAS_qemux86-64 ?= " lttng-ust-dev"
#SDK-EXTRAS_qemuppc ?= " lttng-ust-dev"
#SDK-EXTRAS_qemuarm ?= " lttng-ust-dev"

View File

@ -0,0 +1,20 @@
--- a/lib/replace/wscript 2015-11-13 16:04:04.000000000 +0100
+++ b/lib/replace/wscript 2015-11-13 16:23:20.000000000 +0100
@@ -636,8 +636,6 @@
if not bld.CONFIG_SET('HAVE_INET_ATON'): REPLACE_SOURCE += ' inet_aton.c'
if not bld.CONFIG_SET('HAVE_INET_NTOP'): REPLACE_SOURCE += ' inet_ntop.c'
if not bld.CONFIG_SET('HAVE_INET_PTON'): REPLACE_SOURCE += ' inet_pton.c'
- if not bld.CONFIG_SET('HAVE_GETXATTR') or bld.CONFIG_SET('XATTR_ADDITIONAL_OPTIONS'):
- REPLACE_SOURCE += ' xattr.c'
bld.SAMBA_LIBRARY('replace',
source=REPLACE_SOURCE,
@@ -648,7 +646,7 @@
# at the moment:
# hide_symbols=bld.BUILTIN_LIBRARY('replace'),
private_library=True,
- deps='crypt dl nsl socket rt attr' + extra_libs)
+ deps='crypt dl nsl socket rt ' + extra_libs)
bld.SAMBA_SUBSYSTEM('replace-test',
source='''test/testsuite.c test/strptime.c

View File

@ -0,0 +1,41 @@
SUMMARY = "Hierarchical, reference counted memory pool system with destructors"
HOMEPAGE = "http://talloc.samba.org"
SECTION = "libs"
LICENSE = "LGPL-3.0+ & GPL-3.0+"
DEPENDS += "libbsd"
SRC_URI = "http://samba.org/ftp/talloc/talloc-${PV}.tar.gz"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/LGPL-3.0;md5=bfccfe952269fff2b407dd11f2f3083b \
file://${COREBASE}/meta/files/common-licenses/GPL-3.0;md5=c79ff39f19dfec6d293b95dea7b07891"
SRC_URI[md5sum] = "3e285de2228ae67ff0a0f5cec658f627"
SRC_URI[sha256sum] = "7aa5f75b22d4ef9c737b25515f2a2837ddc13014ff4ac6e58dd9e311f41f2cb0"
inherit waf-samba
PACKAGECONFIG[attr] = ",,attr"
SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'attr', '', 'file://avoid-attr-unless-wanted.patch', d)}"
S = "${WORKDIR}/talloc-${PV}"
EXTRA_OECONF += "--disable-rpath \
--disable-rpath-install \
--bundled-libraries=NONE \
--builtin-libraries=replace \
--disable-silent-rules \
--with-libiconv=${STAGING_DIR_HOST}${prefix}\
"
DISABLE_STATIC = ""
PACKAGES += "pytalloc pytalloc-dbg pytalloc-dev"
FILES_pytalloc = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/* \
${libdir}/libpytalloc-util.so.2 \
${libdir}/libpytalloc-util.so.2.1.1 \
"
FILES_pytalloc-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug \
${libdir}/.debug/libpytalloc-util.so.2.1.1"
FILES_pytalloc-dev = "${libdir}/libpytalloc-util.so"
RDEPENDS_pytalloc = "python"

View File

@ -0,0 +1,24 @@
DESCRIPTION = "Task for the meta-telephony layer. This is to build everything"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420 \
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
ALLOW_EMPTY_${PN} = "1"
PR = "r4"
DEPENDS = "\
libosmo-abis \
libosmo-sccp \
libosmocore \
openbsc \
packagegroup-osmocom \
openggsn \
misdn-utils \
dahdi-linux \
dahdi-tools \
lcr \
libgsm \
ortp \
libdbi \
libdbi-drivers \
"