Merge remote-tracking branch 'meta-telephony/master' into dora

This commit is contained in:
Holger Hans Peter Freyther 2014-03-28 11:42:01 +01:00
commit 8ac87f34cf
80 changed files with 2328 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,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 = "11"

View File

@ -0,0 +1,87 @@
# Copyright (C) 2007-2008, Stelios Koroneos - Digital OPSiS, All Rights Reserved
# Copyright (C) 2011-2012, sysmocom - systems for mobile communications GmbH
# Released under the MIT license (see packages/COPYING)
DESCRITOPN = "asterisk PBX"
DEPENDS = "openssl ncurses"
HOMEPAGE = "http://www.asterisk.org"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=3c6764ffcbe996d1d8f919b393ccdd67"
PR = "r4"
SRC_URI = "http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-${PV}.tar.gz \
file://modules.conf \
file://asterisk.init \
file://stop-crash.patch "
SRC_URI[md5sum] = "783b2da2036745edeea8885c62bbc8bf"
SRC_URI[sha256sum] = "ed98204f6261e1362c673e595823c668ae39b9833daec9127a4936cf9f4890e1"
EXTRA_OECONF = " \
--without-curses \
--with-sm=internal \
--without-gtk \
--without-gtk2 \
--without-isdnnet \
--without-kde \
--without-misdn \
--without-nbs \
--with-ncurses \
--without-netsnmp \
--without-newt \
--without-odbc \
--without-ogg \
--without-osptk \
--without-popt \
--without-pri \
--without-qt \
--without-radius \
--without-sdl \
--without-spandsp \
--without-suppserv \
--without-tds \
--without-termcap \
--without-tinfo \
--without-vorbis \
--without-vpb \
--without-postgres \
--without-openais \
--without-lua \
--disable-xmldoc"
inherit autotools update-rc.d
FILES_${PN}-dbg += "${libdir}/asterisk/modules/.debug"
do_configure_prepend() {
# Due to menuselect below we want to save off these configures
mv ${S}/menuselect/configure ${S}/menuselect/configure.SAVE
mv ${S}/menuselect/mxml/configure ${S}/menuselect/mxml/configure.SAVE
mv ${S}/main/editline/configure ${S}/main/editline/configure.SAVE
}
do_configure_append() {
# Put this back
mv ${S}/menuselect/configure.SAVE ${S}/menuselect/configure
mv ${S}/menuselect/mxml/configure.SAVE ${S}/menuselect/mxml/configure
mv ${S}/main/editline/configure.SAVE ${S}/main/editline/configure
}
INITSCRIPT_PACKAGES = "${PN}"
INITSCRIPT_NAME_${PN} = "asterisk"
INITSCRIPT_PARAMS_${PN} = "defaults 29 29"
PACKAGES =+ "${PN}-moh"
DESCRIPTION_${PN}-moh = "Asterisk MusicOnHold sound"
FILES_${PN}-moh = "${localstatedir}/lib/${PN}/moh"
do_install_append() {
install -d ${D}${sysconfdir}/init.d
install -d ${D}${sysconfdir}/asterisk
install -m 0775 ${WORKDIR}/asterisk.init ${D}${sysconfdir}/init.d/asterisk
install -m 0660 ${WORKDIR}/modules.conf ${D}${sysconfdir}/asterisk/
}

View File

@ -0,0 +1,21 @@
#!/bin/sh
NAME=asterisk
set -e
case "$1" in
start)
/usr/sbin/asterisk
echo "Forked asterisk"
;;
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,2 @@
[modules]
autoload=yes

View File

@ -0,0 +1,13 @@
Index: asterisk-1.8.8.1/res/res_rtp_asterisk.c
===================================================================
--- asterisk-1.8.8.1.orig/res/res_rtp_asterisk.c 2011-09-20 08:56:20.000000000 +0800
+++ asterisk-1.8.8.1/res/res_rtp_asterisk.c 2012-01-16 02:45:57.227713136 +0800
@@ -1902,7 +1902,7 @@
"IAJitter: %u\r\n"
"LastSR: %lu.%010lu\r\n"
"DLSR: %4.4f(sec)\r\n",
- ast_sockaddr_stringify(&addr),
+ "NA" /*ast_sockaddr_stringify(&addr)*/,
pt, (pt == 200) ? "Sender Report" : (pt == 201) ? "Receiver Report" : (pt == 192) ? "H.261 FUR" : "Unknown",
rc,
rtcpheader[i + 1],

View File

@ -0,0 +1,78 @@
DESCRITOPN = "Digium Asterisk Hardware Driver Interface - Linux kernel part"
SECTION = "base"
HOMEPAGE = "http://www.asterisk.org"
LICENSE = "GPLv2"
RDEPENDS_${PN} = "kernel (${KERNEL_VERSION})"
DEPENDS = "virtual/kernel"
RRECOMMENDS_${PN} = "dahdi-firmware"
# 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-hx8-2.06.tar.gz \
http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fw-oct6114-064-1.05.01.tar.gz \
http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fw-oct6114-128-1.05.01.tar.gz \
http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fw-tc400m-MR6.12.tar.gz \
http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fw-vpmadt032-1.07.tar.gz \
http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fw-vpmoct032-1.11.0.tar.gz \
http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fw-vpmoct032-1.8.0.tar.gz \
http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fwload-vpmadt032-1.17.0.tar.gz \
http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fwload-vpmadt032-1.18.0.tar.gz \
http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fwload-vpmadt032-1.19.0.tar.gz \
http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fwload-vpmadt032-1.20.0.tar.gz \
http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fwload-vpmadt032-1.22.0.tar.gz \
http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fwload-vpmadt032-1.25.0.tar.gz \
http://downloads.digium.com/pub/telephony/firmware/releases/zaptel-fw-oct6114-064-1.05.01.tar.gz \
http://downloads.digium.com/pub/telephony/firmware/releases/zaptel-fw-oct6114-128-1.05.01.tar.gz \
http://downloads.digium.com/pub/telephony/firmware/releases/zaptel-fw-tc400m-MR5.6.tar.gz \
http://downloads.digium.com/pub/telephony/firmware/releases/zaptel-fw-tc400m-MR6.12.tar.gz \
http://downloads.digium.com/pub/telephony/firmware/releases/zaptel-fw-vpmadt032-1.07.tar.gz\
"
SRC_URI = "http://downloads.asterisk.org/pub/telephony/dahdi-linux/releases/dahdi-linux-${PV}.tar.gz "
SRC_URI =+ "${FIRMWARE_URI}"
INC_PR="r9"
LIC_FILES_CHKSUM = "file://LICENSE;md5=ea5bed2f60d357618ca161ad539f7c0a"
inherit module
do_configure() {
# make sure the extracted firmware.bin are where Makefile expects
mv ../dahdi-fw-*.bin ../zaptel-fw-*.bin drivers/dahdi/firmware/
cp ${DL_DIR}/dahdi-fwload-*.tar.gz drivers/dahdi/firmware/
cp ${DL_DIR}/zaptel-fw-*.tar.gz drivers/dahdi/firmware/
cp ${DL_DIR}/dahdi-fw-*.tar.gz drivers/dahdi/firmware/
# Enable the mirror for pcap..
sed -i s,"\/\* #define CONFIG_DAHDI_MIRROR \*\/","#define CONFIG_DAHDI_MIRROR", ${S}/include/dahdi/dahdi_config.h
}
do_compile () {
do_make_scripts
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
oe_runmake KSRC=${STAGING_KERNEL_DIR} \
KVERS=${KERNEL_VERSION} \
CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
AR="${KERNEL_AR}" \
${MAKE_TARGETS}
}
do_install () {
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
oe_runmake DEPMOD=echo DESTDIR="${D}" \
KSRC=${STAGING_KERNEL_DIR} \
KVERS=${KERNEL_VERSION} \
CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
install
}
PACKAGES =+ "dahdi-firmware"
FILES_${PN} = "${base_libdir}/modules/ ${sysconfdir}/udev/rules.d"
FILES_dahdi-firmware = "${base_libdir}/firmware ${datadir}/dahdi"
PACKAGE_ARCH_dahdi-firmware = "all"

View File

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

View File

@ -0,0 +1,36 @@
DESCRITOPN = "Utilities for the DAHDI Asterisk Linux kernel drivers"
DEPENDS = "dahdi-linux libnewt libpcap"
RDEPENDS_${PN} += "perl perl-module-strict perl-module-file-basename perl-module-config \
perl-module-warnings perl-module-getopt perl-module-getopt-std \
perl-module-file perl-module-file-glob perl-module-xsloader \
perl-module-dynaloader perl-module-carp perl-module-errno"
HOMEPAGE = "http://www.asterisk.org"
LICENSE = "GPLv2"
SRC_URI = "http://downloads.asterisk.org/pub/telephony/dahdi-tools/releases/dahdi-tools-${PV}.tar.gz \
file://perl_install.patch "
INC_PR="r19"
LIC_FILES_CHKSUM = "file://LICENSE;md5=ea5bed2f60d357618ca161ad539f7c0a \
file://LICENSE.LGPL;md5=fb504b67c50331fc78734fed90fb0e09"
FILES_${PN} += "${datadir}/dahdi"
inherit autotools_stage pkgconfig perlnative cpan-base
do_configure() {
oe_runconf
}
do_compile() {
base_do_compile
oe_runmake dahdi_pcap
}
export DAHDI_PERLLIBDIR="${PERLLIBDIRS}/${@get_perl_version(d)}"
do_install() {
autotools_do_install
install -m 755 ${S}/dahdi_pcap ${D}${sbindir}/
}

View File

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

View File

@ -0,0 +1,13 @@
Index: dahdi-tools-2.6.0/xpp/Makefile
===================================================================
--- dahdi-tools-2.6.0.orig/xpp/Makefile 2011-07-11 00:25:18.000000000 +0800
+++ dahdi-tools-2.6.0/xpp/Makefile 2012-07-21 23:30:58.244897984 +0800
@@ -28,7 +28,7 @@
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))

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 asterisk"
;;
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,44 @@
DESCRITOPN = "Linux Call Router"
DEPENDS = "asterisk libgsm libopencore-amr sofia-sip"
HOMEPAGE = "http://isdn.eversberg.eu/"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=de9327a12ae1ccc94dade892a360f996"
PV = "1.13+gitr${SRCPV}"
PR = "r2"
SRCREV = "f3b94bf3a9599359805eaf20f3b036272c7af522"
SRC_URI = "git://git.misdn.eu/lcr.git \
file://lcr-disable-gsmfr.diff \
file://lcr-no_amr.diff \
file://lcr.init "
S = "${WORKDIR}/git"
EXTRA_OECONF = "--with-gsm-bs --with-asterisk --without-misdn --with-sip"
inherit autotools update-rc.d
PACKAGES =+ "${PN}-tones-de ${PN}-vbox-de \
${PN}-tones-en ${PN}-vbox-en \
${PN}-asterisk"
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"
FILES_${PN}-asterisk = "/usr/lib/asterisk/modules/chan_lcr.so"
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,71 @@
diff -urNad libgsm-1.0.12~/Makefile libgsm-1.0.12/Makefile
--- libgsm-1.0.12~/Makefile 2007-11-01 15:37:52.000000000 +0100
+++ libgsm-1.0.12/Makefile 2007-11-01 15:43:06.000000000 +0100
@@ -96,7 +96,7 @@
# Other tools
SHELL = /bin/sh
-LN = ln
+LN = ln -s
BASENAME = basename
AR = ar
ARFLAGS = cr
@@ -140,6 +140,7 @@
# Targets
LIBGSM = $(LIB)/libgsm.a
+LIBGSMSO= $(LIB)/libgsm.so
TOAST = $(BIN)/toast
UNTOAST = $(BIN)/untoast
@@ -279,7 +280,7 @@
# 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 @@
# 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 @@
# 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 @@
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

View File

@ -0,0 +1,25 @@
diff -urNad libgsm-1.0.10~/inc/gsm.h libgsm-1.0.10/inc/gsm.h
--- libgsm-1.0.10~/inc/gsm.h 2007-11-01 15:37:52.000000000 +0100
+++ libgsm-1.0.10/inc/gsm.h 2007-11-01 15:44:52.000000000 +0100
@@ -54,6 +54,10 @@
#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_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 */

View File

@ -0,0 +1,154 @@
diff -urNad libgsm-1.0.10~/Makefile libgsm-1.0.10/Makefile
--- libgsm-1.0.10~/Makefile 2007-11-01 15:37:52.000000000 +0100
+++ libgsm-1.0.10/Makefile 2007-11-01 15:48:02.000000000 +0100
@@ -151,7 +151,7 @@
HEADERS = $(INC)/proto.h \
$(INC)/unproto.h \
- $(INC)/config.h \
+ $(INC)/gsm_config.h \
$(INC)/private.h \
$(INC)/gsm.h \
$(INC)/toast.h \
diff -urNad libgsm-1.0.10~/inc/config.h libgsm-1.0.10/inc/config.h
--- libgsm-1.0.10~/inc/config.h 2007-11-01 15:37:52.000000000 +0100
+++ libgsm-1.0.10/inc/config.h 1970-01-01 01:00:00.000000000 +0100
@@ -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 -urNad libgsm-1.0.10~/inc/gsm_config.h libgsm-1.0.10/inc/gsm_config.h
--- libgsm-1.0.10~/inc/gsm_config.h 1970-01-01 01:00:00.000000000 +0100
+++ libgsm-1.0.10/inc/gsm_config.h 2007-11-01 15:46:19.000000000 +0100
@@ -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 -urNad libgsm-1.0.10~/inc/toast.h libgsm-1.0.10/inc/toast.h
--- libgsm-1.0.10~/inc/toast.h 2007-11-01 15:37:52.000000000 +0100
+++ libgsm-1.0.10/inc/toast.h 2007-11-01 15:48:17.000000000 +0100
@@ -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 -urNad libgsm-1.0.10~/src/code.c libgsm-1.0.10/src/code.c
--- libgsm-1.0.10~/src/code.c 2007-11-01 15:37:52.000000000 +0100
+++ libgsm-1.0.10/src/code.c 2007-11-01 15:48:34.000000000 +0100
@@ -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_STDLIB_H
diff -urNad libgsm-1.0.10~/src/gsm_create.c libgsm-1.0.10/src/gsm_create.c
--- libgsm-1.0.10~/src/gsm_create.c 1996-07-02 16:32:44.000000000 +0200
+++ libgsm-1.0.10/src/gsm_create.c 2007-11-01 15:48:48.000000000 +0100
@@ -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 -urNad libgsm-1.0.10~/src/gsm_destroy.c libgsm-1.0.10/src/gsm_destroy.c
--- libgsm-1.0.10~/src/gsm_destroy.c 1996-07-02 16:32:39.000000000 +0200
+++ libgsm-1.0.10/src/gsm_destroy.c 2007-11-01 15:48:57.000000000 +0100
@@ -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 -urNad libgsm-1.0.10~/tls/taste.c libgsm-1.0.10/tls/taste.c
--- libgsm-1.0.10~/tls/taste.c 1996-07-02 16:33:05.000000000 +0200
+++ libgsm-1.0.10/tls/taste.c 2007-11-01 15:49:54.000000000 +0100
@@ -10,7 +10,7 @@
#include <string.h>
#include <memory.h>
-#include "config.h"
+#include "gsm_config.h"
#ifdef HAS_STDLIB_H
# include <stdlib.h>

View File

@ -0,0 +1,43 @@
diff -urNad libgsm-1.0.10~/inc/toast.h libgsm-1.0.10/inc/toast.h
--- libgsm-1.0.10~/inc/toast.h 2007-11-01 15:37:52.000000000 +0100
+++ libgsm-1.0.10/inc/toast.h 2007-11-01 15:52:33.000000000 +0100
@@ -16,11 +16,12 @@
#include <stdio.h>
#include <ctype.h>
+#include <pthread.h>
#include <signal.h>
#include <errno.h>
-#ifndef HAS_ERRNO_DECL
- extern int errno;
+#ifndef errno
+ extern int errno;
#endif
#ifdef HAS_LIMITS_H
@@ -37,6 +38,10 @@
# endif
#endif
+#ifdef HAS_STDIO_H
+# include <stdio.h>
+#endif
+
#include "gsm.h"
#ifndef S_ISREG
diff -urNad libgsm-1.0.10~/src/code.c libgsm-1.0.10/src/code.c
--- libgsm-1.0.10~/src/code.c 2007-11-01 15:37:52.000000000 +0100
+++ libgsm-1.0.10/src/code.c 2007-11-01 15:52:33.000000000 +0100
@@ -9,8 +9,8 @@
#include "config.h"
-#ifdef HAS_STDLIB_H
-#include <stdlib.h>
+#ifdef HAS_STRING_H
+#include <string.h>
#else
# include "proto.h"
extern char * memcpy P((char *, char *, int));

View File

@ -0,0 +1,98 @@
diff -urNad libgsm-1.0.10~/src/debug.c libgsm-1.0.10/src/debug.c
--- libgsm-1.0.10~/src/debug.c 2007-11-01 15:37:52.000000000 +0100
+++ libgsm-1.0.10/src/debug.c 2007-11-01 15:53:42.000000000 +0100
@@ -49,7 +49,7 @@
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 @@
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 -urNad libgsm-1.0.10~/src/toast.c libgsm-1.0.10/src/toast.c
--- libgsm-1.0.10~/src/toast.c 2007-11-01 15:37:52.000000000 +0100
+++ libgsm-1.0.10/src/toast.c 2007-11-01 15:53:42.000000000 +0100
@@ -251,8 +251,8 @@
{
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 @@
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 @@
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 @@
}
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 @@
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 P1((name), char * name)
{
- int step = 0;
-
out = (FILE *)0;
in = (FILE *)0;
@@ -779,7 +777,6 @@
case 'h': help(); exit(0);
default:
- usage:
fprintf(stderr,
"Usage: %s [-fcpdhvuaslFC] [files...] (-h for help)\n",
progname);

View File

@ -0,0 +1,34 @@
DESCRIPTION = "GSM Audio Library"
SECTION = "libs"
PRIORITY = "optional"
LICENSE = "libgsm"
LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=fc1372895b173aaf543a122db37e04f5"
INC_PR = "r2"
SRC_URI = "http://www.quut.com/gsm/gsm-${PV}.tar.gz \
file://01_makefile.patch \
file://02_cplusplus.patch \
file://03_config.patch \
file://04_includes.patch \
file://05_compiler_warnings.patch \
"
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}"
}
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,8 @@
require libgsm.inc
PR = "${INC_PR}.0"
S = "${WORKDIR}/gsm-1.0-pl13/"
SRC_URI[md5sum] = "c1ba392ce61dc4aff1c29ea4e92f6df4"
SRC_URI[sha256sum] = "52c518244d428c2e56c543b98c9135f4a76ff780c32455580b793f60a0a092ad"

View File

@ -0,0 +1,13 @@
diff --git a/include/mISDN/mbuffer.h b/include/mISDN/mbuffer.h
index 5e3dc96..8e6ed52 100644
--- a/include/mISDN/mbuffer.h
+++ b/include/mISDN/mbuffer.h
@@ -54,7 +54,7 @@ struct mbuffer {
struct l3_msg l3;
} __attribute__((__may_alias__));
-#define MBUFFER_DATA_SIZE 280
+#define MBUFFER_DATA_SIZE 400
/*
* init mbuffer caching

View File

@ -0,0 +1,18 @@
DESCRITOPN = "mISDNutils userspace library"
HOMEPAGE = "http://misdn.org"
LICENSE = "LGPLv2+"
LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605"
PR = "r4"
SRC_URI = "git://git.misdn.eu/mISDNuser.git \
file://misdn-ph-size.diff"
SRCREV = "fd246f6bbbf2f4692f507018bcd1a526fab16499"
S = "${WORKDIR}/git"
PACKAGES =+ "misdn-tools-dbg misdn-tools"
inherit autotools
FILES_misdn-tools = "${bindir} ${sbindir}"
FILES_misdn-tools-dbg = "${bindir}/.debug ${sbindir}/.debug"
RDEPENDS_misdn-tools-dbg = "${PN}-dbg"

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,6 @@
require ${PN}.inc
PR = "${INC_PR}.0"
SRC_URI[md5sum] = "4de79b323162a5a7652b65b608eca6cd"
SRC_URI[sha256sum] = "4ab9944398ce769c0deeb64d2f73555c67bc25ccd2ade1ccf552226c7b2acf72"

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 = "a18bad989696b5047fab20e579a6e5a886a4904f"
SRC_URI = "git://git.osmocom.org/libsmpp34.git;protocol=git"
PV = "1.10+gitr${SRCPV}"
PR = "0"
PARALLEL_MAKE = ""
inherit autotools_stage pkgconfig
PACKAGES =+ "${PN}-apps"
FILES_${PN}-apps = "${bindir}/*"

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 "
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,19 @@
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"
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,3 @@
require sofia-sip.inc
PR = "r1"

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,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_stage pkgconfig
ALLOW_EMPTY_libosmo-abis = "1"

View File

@ -0,0 +1,11 @@
require ${PN}.inc
S = "${WORKDIR}/git"
SRCREV = "346374a001ba42e8d3612fefd76a061f4d494a34"
SRC_URI = "git://git.osmocom.org/libosmo-abis.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,11 @@
require ${PN}.inc
S = "${WORKDIR}/git"
SRCREV = "65a50893d5f9577c17dc4485d585c12d349c8e30"
SRC_URI = "git://git.osmocom.org/libosmo-abis.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,11 @@
require ${PN}.inc
S = "${WORKDIR}/git"
SRCREV = "fe05cf5b3980bf4778a21b3d311a835b7e19a704"
SRC_URI = "git://git.osmocom.org/libosmo-abis.git;protocol=git"
PR = "${INC_PR}.5"
# 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,11 @@
require ${PN}.inc
S = "${WORKDIR}/git"
SRCREV = "55467f0478e37b35cceec3051c645b8a407110bc"
SRC_URI = "git://git.osmocom.org/libosmo-abis.git;protocol=git"
PR = "${INC_PR}.0"
# 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,11 @@
require ${PN}.inc
S = "${WORKDIR}/git"
SRCREV = "e5ae7f52175411a498ed30560624d0abed0feed7"
SRC_URI = "git://git.osmocom.org/libosmo-abis.git;protocol=git"
PR = "${INC_PR}.0"
# 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,7 @@
require ${PN}.inc
S = "${WORKDIR}/git"
SRCREV = "f6415ea5a6bfd796c854dc0bace326de26bf26f1"
SRC_URI = "git://git.osmocom.org/libosmo-abis.git;protocol=git"
PV = "0.1.6+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_stage pkgconfig
ALLOW_EMPTY_libosmo-sccp = "1"

View File

@ -0,0 +1,11 @@
require ${PN}.inc
S = "${WORKDIR}/git"
SRCREV = "8be06bc2885460d6a6ed7c9daa7df8ab8f02a2dc"
SRC_URI = "git://git.osmocom.org/libosmo-sccp.git;protocol=git"
PR = "${INC_PR}.0"
# 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,11 @@
require ${PN}.inc
S = "${WORKDIR}/git"
SRCREV = "ef8fc3bf28634d361adeec5490f807efb0ab3341"
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_stage pkgconfig

View File

@ -0,0 +1,11 @@
require ${PN}.inc
S = "${WORKDIR}/git"
SRCREV = "ee50081daa3a80586f3044056517337a8e8fac9f"
SRC_URI = "git://git.osmocom.org/libosmocore.git;protocol=git"
PR = "${INC_PR}.0"
# 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,11 @@
require ${PN}.inc
S = "${WORKDIR}/git"
SRCREV = "c7ddbe63da535e62f9a10444f8966bf0a6565a74"
SRC_URI = "git://git.osmocom.org/libosmocore.git;protocol=git"
PR = "${INC_PR}.2"
# 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,11 @@
require ${PN}.inc
S = "${WORKDIR}/git"
SRCREV = "7e1a622124a6ca6c98e1f3170bf65649ad4321d9"
SRC_URI = "git://git.osmocom.org/libosmocore.git;protocol=git"
PR = "${INC_PR}.0"
# 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,11 @@
require ${PN}.inc
S = "${WORKDIR}/git"
SRCREV = "8264e09ca2f3bd93eba5eefa342267f303085629"
SRC_URI = "git://git.osmocom.org/libosmocore.git;protocol=git"
PR = "${INC_PR}.0"
# 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,11 @@
require ${PN}.inc
S = "${WORKDIR}/git"
SRCREV = "ee876c91723267d913a12e76f46bd537700ab9e9"
SRC_URI = "git://git.osmocom.org/libosmocore.git;protocol=git"
PR = "${INC_PR}.0"
# 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,11 @@
require ${PN}.inc
S = "${WORKDIR}/git"
SRCREV = "d61d517a2e35f482519561bd325652ee7144679a"
SRC_URI = "git://git.osmocom.org/libosmocore.git;protocol=git"
PR = "${INC_PR}.0"
# 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,11 @@
require ${PN}.inc
S = "${WORKDIR}/git"
SRCREV = "72bd4eb3b9e674d771d911e27cacb45468d51487"
SRC_URI = "git://git.osmocom.org/libosmocore.git;protocol=git"
PR = "${INC_PR}.0"
# 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,11 @@
require ${PN}.inc
S = "${WORKDIR}/git"
SRCREV = "335aedabf204ac025a79801c15c8488d35cc9981"
SRC_URI = "git://git.osmocom.org/libosmocore.git;protocol=git"
PR = "${INC_PR}.0"
# 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,7 @@
require ${PN}.inc
S = "${WORKDIR}/git"
SRCREV = "e47523874da2e79e79f149f433d6a53f230dc30c"
SRC_URI = "git://git.osmocom.org/libosmocore.git;protocol=git"
PV = "0.6.5+gitr${SRCPV}"
PR = "r0"

View File

@ -0,0 +1,6 @@
#TOOLCHAIN_TARGET_OSMOTASK ?= "task-core-standalone-osmo-sdk-target task-core-standalone-osmo-sdk-target-dbg"
TOOLCHAIN_TARGET_OSMOTASK ?= "task-core-standalone-osmo-sdk-target"
TOOLCHAIN_TARGET_TASK = "${TOOLCHAIN_TARGET_OSMOTASK}"
TOOLCHAIN_OUTPUTNAME = "${SDK_NAME}-toolchain-osmo-${DISTRO_VERSION}-${DATETIME}"
PROVIDES = "meta-toolchain-sdk"
require recipes-core/meta/meta-toolchain.bb

View File

@ -0,0 +1,95 @@
DESCRIPTION = "OpenBSC a Free Software GSM BaseStationController"
DEPENDS = "libdbi libosmocore libosmo-sccp libosmo-abis openggsn libsmpp34"
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 = "r17.${META_TELEPHONY_OSMO_INC}"
EXTRA_OECONF += " --enable-nat --enable-osmo-bsc --enable-smpp"
inherit autotools update-rc.d
# 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"
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 "
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/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,9 @@
require ${PN}.inc
PV = "0.13.0+gitr${SRCPV}"
PR = "${INC_PR}.3"
SRCREV = "8a158bb1ea36d0f88da18d0f034884b30f09fda2"
SRC_URI += "git://git.osmocom.org/openbsc.git;protocol=git"
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,38 @@
DESCRITOPN = "OpenGGSN a Free Software GGSN"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
PV = "0.91+gitr${SRCPV}"
PR = "r12"
SRCREV = "9c0ff4fafe4276396125a52c89d36967566fe08c"
SRC_URI = "git://git.osmocom.org/openggsn \
file://openggsn.init \
file://libgtp-queue_depth_32.patch \
"
S = "${WORKDIR}/git"
PACKAGES =+ " libgtp libgtp-dev libgtp-staticdev openggsn-sgsnemu"
RDEPENDS_${PN} += "kernel-module-tun"
inherit autotools update-rc.d
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}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58"
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}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58"
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,24 @@
#
# Copyright (C) 2007 OpenedHand Ltd.
#
DESCRIPTION = "Software Development Kit for Osmocom devices"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
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 task-sdk-osmo.inc
PACKAGES = "${PN} ${PN}-dbg"
RDEPENDS_${PN} = "\
task-core-standalone-sdk-target \
${SDK-OSMO} \
${SDK-EXTRAS}"

View File

@ -0,0 +1,12 @@
DESCRIPTION = "Task for Osmocom tools and header files"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
DEPENDS = "virtual/kernel"
ALLOW_EMPTY_${PN} = "1"
PR = "r2"
RDEPENDS_task-osmocom = "\
libosmocore \
"

View File

@ -0,0 +1,15 @@
SDK-OSMO = " \
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,25 @@
DESCRIPTION = "Task for the meta-telephony layer. This is to build everything"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
ALLOW_EMPTY_${PN} = "1"
PR = "r2"
DEPENDS = "\
libosmo-abis \
libosmo-sccp \
libosmocore \
openbsc \
task-osmocom \
openggsn \
misdn-utils \
dahdi-linux \
dahdi-tools \
lcr \
asterisk \
libgsm \
ortp \
libdbi \
libdbi-drivers \
"