Sporadic build failures are visible on the build bots.
libyate.so: undefined reference to `TelEngine::ClientLogic::initStaticData()'
libyate.so: undefined reference to `TelEngine::DefaultLogic::DefaultLogic(char const*, int)'
collect2: error: ld returned 1 exit status
Turning off parallel builds should (hopefully) work around this.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This
- updates the dependencies
- makes rtpengine use spandsp3 (it supports this version now)
- fixes /etc/modules.d/ipt-rtpengine (needs user and group ids instead
of names)
- adds user as well when kmod is installed so that abovementioned user
and group ids are available
- adds /etc/modules.d/ipt-rtpengine to conffiles
- removes 01-cflags.patch since upstream fixed the flag handling
- removes 200-openssl-deprecated.patch as it was integrated upstream
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Issue #672 shows that the current macro has some pitfalls, at least when
running within OpenWrt's buildroot.
The macro is used to detect these tools:
1. xml2-config
2. mysql_config
3. neon-config
4. net-snmp-config
5. sdl-config (we're not using SDL)
The macro also adds configure arguments that allow to specify a path
like so:
--with-mysqlclient=PATH
Macro problems:
1. If no PATH is specified, it adds "/bin" to the search path.
Obviously this is a bad thing when cross-compiling.
2. If a PATH is specified, it adds it to the start of every include
and library path it encounters. These paths are then broken.
This commit makes problem 1 go away by making the addition of
"${$1_DIR}/bin" to the PATH dependent on there being a PATH handed to
the macro. An alternative would be to remove the PATH addition
altogether, but then the macro wouldn't behave as expected.
It also removes the path filtering of the include and lib dirs to
address problem 2.
Closes#672
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This sets STOP to 10 to allow for a graceful shutdown. Users may
additionally need to set "term_timeout" in /etc/config/freeswitch to a
sensible value.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Update deps of asterisk-res-pjproject. It depends on res_sorcery_config,
which is part of asterisk-res-sorcery.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
On the build bots the patch patches clashes with Build/Prepare. This
commit removes it in favor of a simple sed script. The resulting change
is identical.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
src/Makefile.defs adds "-march=..." to target flags for ARM targets.
This can clash with the OpenWrt target flags in
CONFIG_TARGET_OPTIMIZATION. If for example the latter is set to
"-mcpu=cortex-a9" the following warning is issued:
cc1: warning: switch '-mcpu=cortex-a9' conflicts with '-march=armv5t' switch
This commit removes these flags. The addition is unwanted when
cross-compiling.
An issue was raised for this recently, see [1].
[1] https://github.com/openwrt/packages/issues/16135
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Some SIP UAs support lots of features and codecs which results in
large SIP messages. YATE, with its default configuration, truncates
and fails to parse received SIP messages which are larger than 1500
bytes. Let's increase the default max message size for OpenWrt users
to make it easier to use yate out-of-the-box.
The new max size of 8192 bytes has been arbitrarily chosen.
I've seen the SIP UA baresip produce messages larger than 1500 bytes
with its default configuration when authentication is used.
Signed-off-by: Robert Högberg <robert.hogberg@gmail.com>
New yate modules in this release:
yate-mod-ilbcwebrtc
yate-mod-speexcodec
yate-mod-wiresniff
Some patches were removed:
110-no-libnsl.patch - not needed
120-create-thread-key-on-access.patch - not needed
150-video-codecs-mapping.patch - already applied upstream
Some additional changes:
* An upstream fix (r6470) is cherry-picked to avoid crashing when YATE
receives an invalid SIP message.
* Build directory changed to include package version.
* Set PKG_BUILD_PARALLEL to allow parallelized build of yate.
* Speed up build if yate-mod-ilbccodec or yate-mod-sqlitedb is
disabled (disable ilbc and sqlite in configure step).
* Removing umbrella package yate-collection-basic. It isn't built and
hasn't been built for years and I think the modules it wants to
install are a bit strange and probably not useful to most
users. From the name yate-collection-basic I would expect to get
some basic functionality, but why would I then need
yate-mod-dumbchan, yate-mod-rmanager and yate-mod-tonegen? What is
the use case? I think it's better that users themselves install the
packages needed for their use case, especially in OpenWrt where
flash space usually is limited and you don't want to install more
packages than what you really need.
Signed-off-by: Robert Högberg <robert.hogberg@gmail.com>
Upstream implemented or updated IPv6 support.
This commit also updates the package title and fixes some
spelling/grammar in the package's description.
PKG_MIRRIR_HASH removed from Makefile as per suggestion in [1] (svn
checkouts aren't reproducible).
[1] https://openwrt.org/docs/guide-developer/packages
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This adds a term_timeout uci option which can be used to change the
default timeout that procd uses while waiting for freeswitch to exit
once the TERM signal is sent. freeswitch may take a bit longer to exit,
so adding this option is likely appreciated. By default procd's default
is used, though.
Logging is updated in init script and hotplug script. The used facility
is changed from user to daemon, for instance.
An issue was fixed in the parsing of the ntpq output. In case a positive
offset was printed the parsing failed. Apparently ntpq is now adding a
'+', so this is now accounted for.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- patches which are now upstream were removed
- some patches were refreshed
- 003-modmake-fix.patch was amended a bit because of upstream commit
91f12b5 (it changed tests/unit/Makefile.am so that it doesn't
redefine AM_CFLAGS and AM_CPPFLAGS, which results in duplicated flags)
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This sets PKG_EXTMOD_SUBDIRS so kernel.mk can find the rtpengine
Module.symvers file.
Also, this puts KERNEL_MAKE_FLAGS into the make flags used to compile
the kernel module. This way Module.symvers files of other modules are
made available, plus there is no need anymore to specify ARCH and
CROSS_COMPILE, as KERNEL_MAKE_FLAGS already takes care of that.
While updating make flags this also adds PKG_JOBS for completeness'
sake.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
rtpengine is not primarily about kernel modules. It's an application
(which also offers a kernel module). So build it in BUILD_DIR instead of
KERNEL_BUILD_DIR.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Uriparser is a compliant URI parsing and handling library for RFC 3986.
For now, this is not included in OpenWrt feeds, but in Turris OS
uriparser is used as dependency for Updater-ng.
When Asterisk finds in build system there is uriparser or anything else mentioned in configure,
it tries to enable it by default. This applies to every package in
OpenWrt and because of that new packages which are added to OpenWrt tries to disable almost
everything by default. Because if someone adds library, some packages
are not compiled or tested.
Fixes:
Package asterisk is missing dependencies for the following libraries:
liburiparser.so.1
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Variable 'UID' is set readonly in some calling contexts, yielding errors
during e.g. ImageBuilder usage:
Enabling rpcd
./etc/init.d/siproxd: line 14: UID: readonly variable
Enabling siproxd
Enabling sysctl
Rename UID and GID variables as SIPROXD_UID and SIPROXD_GID.
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
This commit makes asterisk-chan-rtp depend on
asterisk-res-rtp-multicast. Without the res-rtp-multicast module
chan-rtp cannot be loaded:
OpenWrt*CLI> module load chan_rtp.so
Unable to load module chan_rtp.so
Command 'module load chan_rtp.so' failed.
[Jan 9 08:51:01] ERROR[16337]: loader.c:281 module_load_error: Error loading module 'chan_rtp.so': Error relocating /usr/lib/asterisk/modules/chan_rtp.so: ast_multicast_rtp_create_options: symbol not found
This issue was mentioned in the OpenWrt forum ([1]).
[1] https://forum.openwrt.org/t/asterisk-makes-a-problem-with-loading/84816
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This reverts commit 150b85ab35.
OpenWrt upstream updated the lua package so that liblua now is linked
to libdl.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Backport upstream patch fixing this issue.
Remove uClibc-ng patch as it's no longer in the tree.
Refresh patches.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Currently building for archs target against glibc fails:
checking for mandatory modules: CAP GSM ILBC LIBEDIT LIBXML2 LUA PJPROJECT SQLITE3 SRTP ZLIB... fail
configure: ***
configure: *** The LUA installation appears to be missing or broken.
Checking config.log reveals:
/home/sk/tmp/sdk/openwrt-sdk-archs38-generic_gcc-8.4.0_glibc.Linux-x86_64/staging_dir/toolchain-arc_archs_gcc-8.4.0_glibc/bin/../lib/gcc/arc-openwrt-linux-gnu/8.4.0/../../../../arc-openwrt-linux-gnu/bin/ld: /home/sk/tmp/sdk/openwrt-sdk-archs38-generic_gcc-8.4.0_glibc.Linux-x86_64/staging_dir/target-arc_archs_glibc/usr/lib/liblua.so: undefined reference to `dlopen'
/home/sk/tmp/sdk/openwrt-sdk-archs38-generic_gcc-8.4.0_glibc.Linux-x86_64/staging_dir/toolchain-arc_archs_gcc-8.4.0_glibc/bin/../lib/gcc/arc-openwrt-linux-gnu/8.4.0/../../../../arc-openwrt-linux-gnu/bin/ld: /home/sk/tmp/sdk/openwrt-sdk-archs38-generic_gcc-8.4.0_glibc.Linux-x86_64/staging_dir/target-arc_archs_glibc/usr/lib/liblua.so: undefined reference to `dlclose'
/home/sk/tmp/sdk/openwrt-sdk-archs38-generic_gcc-8.4.0_glibc.Linux-x86_64/staging_dir/toolchain-arc_archs_gcc-8.4.0_glibc/bin/../lib/gcc/arc-openwrt-linux-gnu/8.4.0/../../../../arc-openwrt-linux-gnu/bin/ld: /home/sk/tmp/sdk/openwrt-sdk-archs38-generic_gcc-8.4.0_glibc.Linux-x86_64/staging_dir/target-arc_archs_glibc/usr/lib/liblua.so: undefined reference to `dlerror'
/home/sk/tmp/sdk/openwrt-sdk-archs38-generic_gcc-8.4.0_glibc.Linux-x86_64/staging_dir/toolchain-arc_archs_gcc-8.4.0_glibc/bin/../lib/gcc/arc-openwrt-linux-gnu/8.4.0/../../../../arc-openwrt-linux-gnu/bin/ld: /home/sk/tmp/sdk/openwrt-sdk-archs38-generic_gcc-8.4.0_glibc.Linux-x86_64/staging_dir/target-arc_archs_glibc/usr/lib/liblua.so: undefined reference to `dlsym'
This commit adds "-ldl" to lua linker flags so compilation against glibc
works. This has no ill effect on musl where libdl is just an empty
library archive.
This is not something that should be sent upstream, as they maybe
support non-Linux platforms as well.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Fix patch 230 as it's a patch of a patch with fuzz and wrong offsets.
It seems something on CentOS 7 doesn't like fuzz.
The AC_TRY_RUN section was removed as upstream added a check whether or
not cross compilation is being done, making it no/op.
Refresh other patches.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
This is a response to [1] and [2]. In short, since upstream commit
"channel.c: Resolve issue with receiving SIP INFO packets for DTMF" a
segmentation fault occurs during DTMF when no timing module is loaded.
This commit adds the timerfd timing module to the asterisk base package.
Other possibilities would have been res_timing_pthread and
res_timing_dahdi, but timerfd is the obvious choice because it's
efficient and OpenWrt offers the required kernel support (see [3] for
more details).
Note: even without any timing module the segmentation fault should not
occur according to upstream. Upstream is still working on that. But in
general it makes sense to have a timing module available (loaded) and
the module is tiny anyway.
[1] https://github.com/openwrt/telephony/issues/597
[2] https://issues.asterisk.org/jira/browse/ASTERISK-28800
[3] https://wiki.asterisk.org/wiki/display/AST/Timing+Interfaces
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>