openwrt recently stopped using libiconv-stub in the BUILD_NLS=n case.
Instead the libc's iconv has to be used.
This commit changes the iconv include path passed to
asterisk-chan-dongle for the BUILD_NLS=n case to
$(TOOLCHAIN_DIR)/include. That's where musl and glibc store iconv.h.
Also, the patch 200-fix-iconv-detection.patch gets replaced with a sed
script that only runs in the BUILD_NLS=y case.
And finally, $(AUTORELEASE) is added.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Catch up with the changes in the packages repository. All changes are
manual cherry picks from the packages repo and listed below.
github: adapt templates
Remove refs to LEDE and use "OpenWrt" instead of "OpenWRT"
Remove instructions on self-checking pull request content for the
following considerations
- The checks are now enforced by travis autocheck scripts
- Github now prompts users to refer to the contributing guide on
submitting new issue and pull request
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
(cherry picked from commit f552f738e2d4bb1fc15acde8b7410e3d37586e2f)
repo: Add more information to the issue template
Rephrase the template a bit and add information about
older releases and forks.
Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
(cherry picked from commit 31179ef2a414412871c1c23a9b3e506a5eab1ef8)
CI: use new `openwrt` Docker username
We now own `openwrtorg` and `openwrt`, where the latter replaces the
former. Slowly migrate over.
Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit b164a3aa32caa181feff8074ecce3a42b052b060)
CI: define matrix individually and add targets
This allows more specific definition per test, like on which target
packages should be compiled.
Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit 3701000051afe81c0f6c166a924828706cf21b05)
CI: reformat extra long line
Better readability on split screens.
Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit 81f7461e66c877a9d1f6c751fd92252e950370c3)
CI: test build dependent packages
By using OPKGs `whatdepends` all packages dependent on a library are
printed. Use that feature to obtain packages which a version change may
break and build them as well.
Change "default" packages to contain a lib on which other packages
depend, instead of compiling `tmux` compile `attendedsysupgrade-common`
on which other packages depend.
Ignore any LuCI packages which only contains translations.
Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit c0d0c64f6ca1cbed2586812cad9d7da7b6e5e542)
CI: revert adding of *depending* packages
While the idea may make sense the current implementation is faulty.
Problem is that OpenWrt uses the folder name of packages within the
build system while `opkg` spits out the actual packages names.
An example, compiling the packages of folder `vim` (`make
package/vim/compile`) creates a package called `xxd`, where `make
package/xxd/compile` would fail.
The current implementation uses `opkg` to figure out dependent packages,
but the resulting names do not match the above mentioned folders.
Revert this for now until we come up with a better implementation to
avoid false positive CI failures.
Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit a2bda4cc69e4121dccba097578bbd0bd40d0675d)
github-ci: fix small typo
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
(cherry picked from commit 05a3011b00f7128c5f46c2d05999937fc01dc2ca)
CI: update SDK action to v3
No also check mirror hashes and badly formated init files
Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit 291d1f255abefbc05e53bb3019ed7a13e1826ef2)
github-ci: also build mipsel_24kc / mt7621
Signed-off-by: Kevin David <kevin.p.david@gmail.com>
This seems like a fairly popular configuration and is at least handy for me for temporary testing.
(cherry picked from commit a5de3d04557eccd1db58a35ab9f76b38eab4bfb4)
artifacts: use git commit sha in name
Signed-off-by: Peter van Dijk <peter.van.dijk@powerdns.com>
(cherry picked from commit bbf983721cf41fd94388b16ce90f018d6c0496f5)
CI: add PKG-INFO metadata file
Signed-off-by: Peter van Dijk <peter.van.dijk@powerdns.com>
(cherry picked from commit a40c1b3e442eccbf0619f06b473705f4a4a0ac6d)
CI: do not crash during PKG-INFO generation if there are no packages
Signed-off-by: Peter van Dijk <peter.van.dijk@powerdns.com>
(cherry picked from commit b5132de5cf4f7d0562445cf3c65f9f1a4bcb1bbf)
CI: fix runtime testing for non master branch
The runtime testing always ran on master branch aka snapshots since the
branch wasn't passed over to the container execution!
Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit f535d770901674d7d9f3d8cd9abe566d9db63ebe)
ci: use openwrt/gh-action-sdk@v4
In order to use feeds from GH mirror for GH actions, thus saving a lot
of resources being wasted. While at it fix whitespace issue.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit b1355832a05f96d96081044a90b4c9137eb15fad)
github: fix typo in issue template
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
(cherry picked from commit ffdc2b09eada82dd563f23a9a51e4ef8e233920f)
ci: Look for changed packages in the PR branch only
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
(cherry picked from commit 6b2294ac379ecae55993a8faa583910423f620e7)
ci: Use openwrt/gh-action-sdk@v5
The previous build errors with v5 have been fixed. This version builds
packages as a normal user instead of as root.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
(cherry picked from commit 37f9b77b01fd148c946dc313869602fb8203eaea)
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Some security issues were fixed. Upstream labelled them as follows:
GHSA-79jq-hh82-cv9g: Fix Out-of-bound read in sip_method_d
GHSA-g3x6-p824-x6hm: Fix Out-of-bound read in url_canonize2 and
url_canonize3
GHSA-8w5j-6g2j-pxcp: Fix Heap-buffer-overflow in parse_descs and
parse_message
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Use OpenSSL instead of the internal crypto backend. Everything in
OpenWrt that links to libsrtp2 depends on OpenSSL anyway.
Upsides:
- the libsrtp2 package size shrinks a bit (for example from 35 to 24
KiB on ath79)
- allows to use more cipher suites
- may allow for hardware acceleration
Closes#763
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Since upstream commit b40c4d59b1dd803cad79060fb5b5a48d249ba578
"--disable-xmldoc" does no longer prevent the linking to libxslt, if
available. If that's the case one is greeted with the following error:
Package asterisk is missing dependencies for the following libraries:
libxslt.so.1
This commit explicitly disables the use of libxslt, to avoid the
dependency.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
FS is not yet ready for FFMPEG 5.0. Upstream has a related issue already
([1]).
Also move to AUTORELEASE.
[1] https://github.com/signalwire/freeswitch/issues/1560
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
utils/const_str_hash is called by rtpengine build system. The Perl
script uses shebang "#!/usr/bin/perl" and depends on perl-IPC-Cmd. If
this is missing the build will fail:
../utils/const_str_hash < "control_ng.c" > "control_ng.strhash.c"
Can't locate IPC/Cmd.pm in @INC (you may need to install the IPC::Cmd module) (@INC contains: /usr/local/lib64/perl5/5.34 /usr/local/share/perl5/5.34 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at ../utils/const_str_hash line 6.
BEGIN failed--compilation aborted at ../utils/const_str_hash line 6.
make[4]: *** [../lib/common.Makefile:46: control_ng.strhash.c] Error 2
OpenWrt does not depend on perl-IPC-Cmd being available, so this commit
makes rtpengine build depend on perl/host, which provides this Perl
module.
Closes#748
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This includes time64 fixes plus allows reproducible builds.
Also switch to $(AUTORELEASE)
Closes#613Closes#742
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
kamailio macos build fails due to kamailio Makefile checks OS
(`uname -s`) and OSREL (`uname -r`). If build host is not Linux,
then these checks will provide different results, but OpenWrt is
always Linux so target OS should be always Linux.
This patch explicitly specifies OS=linux and OSREL=$(LINUX_UNAME_VERSION)
to avoid using build host values for target build.
Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
Most gstreamer packages aren't build when the target does not have
AUDIO_SUPPORT. This can be seen with realtek target (4kec).
This commit makes the gst plugins depend on AUDIO_SUPPORT, because
otherwise the build dies with this error:
Package baresip-mod-gst-video is missing dependencies for the following libraries:
libgstapp-1.0.so.0
Note: compiling baresip on a target without AUDIO_SUPPORT may be
questionable anyway.
Close#730
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
yate configure script uses `uname -s` to determine OS and changes
build logic regarding to build host OS. OpenWrt is always Linux so
it should be built as for Linux.
This patch uses fakeuname tool to pass `uname -s` checks as Linux
on macos build host.
Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
coturn build fails on macos due using `ar -r` by default, but macos
system `ar` is not compatible with the objects generated by OpenWrt
GCC toolchain.
This patch redefines ARCHIVERCMD="$(TARGET_AR) -r" to make it possible
to build coturn on macos build host.
Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
coturn package is reproducible unless the build OS is Ubuntu
coturn configure script detects Ubuntu build host([1]) and changes
compilation flags so produced OpenWrt binaries are different on
Ubuntu and any other build OS (e.g. Debian). It might be necessary
for native build but this check is not valid for cross-compiling.
This patch set LIBEV_OK=1 to generate the same binaries on Ubuntu
and other build OS
Refs:
[1] https://github.com/coturn/coturn/blob/upstream/4.5.2/configure#L426-L435
Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
libpri can not be built on macos for OpenWrt Linux target due to:
1. Makefile uses `ar` and `ranlib` (without using make variables).
MacOS system ar and ranlib are not compatible with the objects
generated by OpenWrt GCC toolchain. This commit adds patch to
add an ability to redefine `ar` and `ranlib` tools.
Upstream issue: https://issues.asterisk.org/jira/browse/PRI-188
2. Makefile detects Darwin using `uname -s` and changes build logic
but it is not need for cross-platfrom build. This commit
redefines OSARCH=Linux in OpenWrt Makefile
3. After redefining OSARCH=Linux, libpri Makefile uses /sbin/ldconfig
that does not exist on MacOS. This commit redefines LDCONFIG=ldconfig
in OpenWrt Makefile to use ldconfig provided by OpenWrt.
Patch '001-fix-include-signal-h-warning.patch' was refreshed to pass
CI checks. The payload of this patch was not changed.
Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>