Skip to contentSkip to conversation

package/asterisk: bump version to 14.7.8

PATCH New Bernd Kuhls 5 participants 12 messages Oct 3, 2018 – Dec 23, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/4 package/asterisk: bump version to 14.7.8

---
 package/asterisk/asterisk.hash | 2 +-
 package/asterisk/asterisk.mk   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
package/asterisk/asterisk.hash +1 -1
index a3e9d10aff..2449aeb4d1 100644
@@ -1,5 +1,5 @@
 # Locally computed
-sha256  249cf223ef4dd7aea01f0d250a6b9cad661ebd78910c73adb7f59c1c46f9fed8  asterisk-14.7.6.tar.gz
+sha256  41c99bd2236af95d056e15f9d044c28b69e00935e67791b18fa70b0614402012  asterisk-14.7.8.tar.gz
 
 # sha1 from: http://downloads.asterisk.org/pub/telephony/sounds/releases
 # sha256 locally computed
package/asterisk/asterisk.mk +1 -1
index f31e2394f7..ea779cc8f6 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-ASTERISK_VERSION = 14.7.6
+ASTERISK_VERSION = 14.7.8
 # Use the github mirror: it's an official mirror maintained by Digium, and
 # provides tarballs, which the main Asterisk git tree (behind Gerrit) does not.
 ASTERISK_SITE = $(call github,asterisk,asterisk,$(ASTERISK_VERSION))
Signature · 1 line
2.19.0
#1 lore raw

PATCH 2/4 package/asterisk: enable for non-glibc toolchains

Quoting Yann:
http://lists.busybox.net/pipermail/buildroot/2017-September/203004.html

"As a final stroke of genius, asterisk checks for the re-entrant variant of res_ninit(), and concludes that all such functions are available, including res_nsearch(). Uclibc-ng has the former but not the latter, so the build fails. Since there is no cache variable for that check, we can't pre-feed that result to configure, and fixing it is a bigger endeavour. So we make asterisk depend on glibc for now, until someone is brave enough to fix it."

This hack was copied from Optware:
https://github.com/Optware/Optware-ng/blob/master/make/asterisk13.mk#L331

---
 package/asterisk/Config.in   | 6 ++----
 package/asterisk/asterisk.mk | 4 ++++
 2 files changed, 6 insertions(+), 4 deletions(-)
package/asterisk/Config.in +2 -4
index 17ac22bfd4..2cf2369749 100644
@@ -1,7 +1,5 @@
 config BR2_PACKAGE_ASTERISK
 	bool "asterisk"
-	# Uses glibc resolver function res_nsearch()
-	depends on BR2_TOOLCHAIN_USES_GLIBC
 	depends on BR2_INSTALL_LIBSTDCPP
 	select BR2_PACKAGE_JANSSON
 	select BR2_PACKAGE_LIBCURL
@@ -22,5 +20,5 @@ config BR2_PACKAGE_ASTERISK
 
 	  http://www.asterisk.org/
 
-comment "asterisk needs a glibc toolchain w/ C++"
-	depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_INSTALL_LIBSTDCPP
+comment "asterisk needs a toolchain w/ C++"
+	depends on !BR2_INSTALL_LIBSTDCPP
package/asterisk/asterisk.mk +4 -0
index ea779cc8f6..46fe4de947 100644
@@ -117,6 +117,10 @@ ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y)
 ASTERISK_CONF_OPTS += --with-execinfo
 else
 ASTERISK_CONF_OPTS += --without-execinfo
+define ASTERISK_NO_RESINIT
+	sed -i -e '/AC_DEFINE(\[HAVE_RES_NINIT\]/d' $(@D)/configure.ac
+endef
+ASTERISK_POST_PATCH_HOOKS += ASTERISK_NO_RESINIT
 endif
 
 ifeq ($(BR2_PACKAGE_LIBGSM),y)
Signature · 1 line
2.19.0
#2 lore raw

PATCH 2/4 package/asterisk: enable for non-glibc toolchains

Quoted 45 lines · Bernd Kuhls

Quoting Yann:
http://lists.busybox.net/pipermail/buildroot/2017-September/203004.html

"As a final stroke of genius, asterisk checks for the re-entrant variant of res_ninit(), and concludes that all such functions are available, including res_nsearch(). Uclibc-ng has the former but not the latter, so the build fails. Since there is no cache variable for that check, we can't pre-feed that result to configure, and fixing it is a bigger endeavour. So we make asterisk depend on glibc for now, until someone is brave enough to fix it."

This hack was copied from Optware:
https://github.com/Optware/Optware-ng/blob/master/make/asterisk13.mk#L331

---
 package/asterisk/Config.in   | 6 ++----
 package/asterisk/asterisk.mk | 4 ++++
 2 files changed, 6 insertions(+), 4 deletions(-)
package/asterisk/Config.in +2 -4
index 17ac22bfd4..2cf2369749 100644
@@ -1,7 +1,5 @@
 config BR2_PACKAGE_ASTERISK
 	bool "asterisk"
-	# Uses glibc resolver function res_nsearch()
-	depends on BR2_TOOLCHAIN_USES_GLIBC
 	depends on BR2_INSTALL_LIBSTDCPP
 	select BR2_PACKAGE_JANSSON
 	select BR2_PACKAGE_LIBCURL
@@ -22,5 +20,5 @@ config BR2_PACKAGE_ASTERISK
 
 	  http://www.asterisk.org/
 
-comment "asterisk needs a glibc toolchain w/ C++"
-	depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_INSTALL_LIBSTDCPP
+comment "asterisk needs a toolchain w/ C++"
+	depends on !BR2_INSTALL_LIBSTDCPP
package/asterisk/asterisk.mk +0 -0
index ea779cc8f6..46fe4de947 100644

package/asterisk/asterisk.mk ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y) · line 122

Quoted 6 lines
package/asterisk/asterisk.mk +3 -0
@@ -117,6 +117,10 @@ ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y)
 ASTERISK_CONF_OPTS += --with-execinfo
 else
 ASTERISK_CONF_OPTS += --without-execinfo
+define ASTERISK_NO_RESINIT
+	sed -i -e '/AC_DEFINE(\[HAVE_RES_NINIT\]/d' $(@D)/configure.ac
+endef

Meh, I'm dead against such sed-patching, and I'm also against conditional
"patching" of a package.

Is it htat much of a problem to extend the autoconf test with a call to
res_nsearch?

Regards,
Arnout

Quoted 5 lines
package/asterisk/asterisk.mk +1 -0
+ASTERISK_POST_PATCH_HOOKS += ASTERISK_NO_RESINIT
 endif
 
 ifeq ($(BR2_PACKAGE_LIBGSM),y)
Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
#3 lore raw

PATCH 2/4 package/asterisk: enable for non-glibc toolchains

Arnout, Bernd, All,

On 2018-10-08 19:19 +0200, Arnout Vandecappelle spake thusly:

Quoted 1 line · Bernd Kuhls

[--SNIP--]

Quoted 6 lines
Quoted 6 lines
package/asterisk/asterisk.mk +0 -0
index ea779cc8f6..46fe4de947 100644
@@ -117,6 +117,10 @@ ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y)
 ASTERISK_CONF_OPTS += --with-execinfo
Quoted 8 lines

package/asterisk/asterisk.mk ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y) · line 122

Quoted 5 lines
package/asterisk/asterisk.mk +3 -0
 else
 ASTERISK_CONF_OPTS += --without-execinfo
+define ASTERISK_NO_RESINIT
+	sed -i -e '/AC_DEFINE(\[HAVE_RES_NINIT\]/d' $(@D)/configure.ac
+endef

Meh, I'm dead against such sed-patching, and I'm also against conditional
"patching" of a package.

Agreed.

Quoted 2 lines

Is it htat much of a problem to extend the autoconf test with a call to
res_nsearch?

It should not, no. It should be possible to change (in master), configure.ac line 1391, from:

[int foo = res_ninit(NULL);]

... to something like:

    [
        int foo;
        foo = res_ninit(NULL);
        foo = res_nsearch(NULL, NULL, 0, 0, NULL, 0);
    ]

... and potentially adding all such functions.

Since this is an AC_LINK_IFELSE(), we don't care what values we pas to the the functions, as long as they have the proper types.

Regards,
Yann E. MORIN.

Quoted 16 lines

Regards,
Arnout

Quoted 5 lines
package/asterisk/asterisk.mk +1 -0
+ASTERISK_POST_PATCH_HOOKS += ASTERISK_NO_RESINIT
 endif
 
 ifeq ($(BR2_PACKAGE_LIBGSM),y)
Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#4 lore raw

PATCH 2/4 package/asterisk: enable for non-glibc toolchains

In reply to Bernd Kuhls

Hello,

Quoted 11 lines · Bernd Kuhls

Quoting Yann:
http://lists.busybox.net/pipermail/buildroot/2017-September/203004.html

"As a final stroke of genius, asterisk checks for the re-entrant variant of res_ninit(), and concludes that all such functions are available, including res_nsearch(). Uclibc-ng has the former but not the latter, so the build fails. Since there is no cache variable for that check, we can't pre-feed that result to configure, and fixing it is a bigger endeavour. So we make asterisk depend on glibc for now, until someone is brave enough to fix it."

Quoted 8 lines

This hack was copied from Optware:
https://github.com/Optware/Optware-ng/blob/master/make/asterisk13.mk#L331

---
 package/asterisk/Config.in   | 6 ++----
 package/asterisk/asterisk.mk | 4 ++++
 2 files changed, 6 insertions(+), 4 deletions(-)

I agree with Arnout here, we want to fix this with a proper autoconf check. I've marked this patch as Changes Requested. Could you rework it?

Thanks a lot!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
#5 lore raw

PATCH 3/4 package/spandsp: new package

In reply to Bernd Kuhls

From: "Yann E. MORIN" <[email protected]>

[Bernd:
- bumped version to 20180108
- removed 0001-fix-msse4.x.patch, applied upstream
- removed autoreconf after patch removal
- added license hash (Arnout)
- added SPDX license codes (Arnout)]

---
 package/Config.in            |  1 +
 package/spandsp/Config.in    |  9 +++++++++
 package/spandsp/spandsp.hash |  3 +++
 package/spandsp/spandsp.mk   | 27 +++++++++++++++++++++++++++
 4 files changed, 40 insertions(+)
 create mode 100644 package/spandsp/Config.in
 create mode 100644 package/spandsp/spandsp.hash
 create mode 100644 package/spandsp/spandsp.mk
package/Config.in +1 -0
index 02660a4164..d378e2401f 100644
@@ -1094,6 +1094,7 @@ menu "Audio/Sound"
 	source "package/opusfile/Config.in"
 	source "package/portaudio/Config.in"
 	source "package/sbc/Config.in"
+	source "package/spandsp/Config.in"
 	source "package/speex/Config.in"
 	source "package/speexdsp/Config.in"
 	source "package/taglib/Config.in"
package/spandsp/Config.in new file +9 -0
new file mode 100644
index 0000000000..a2d5b85d79
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_SPANDSP
+	bool "spandsp"
+	select BR2_PACKAGE_TIFF
+	help
+	  Spandsp is a library of many DSP functions for telephony.
+	  These range from simple modules, such as DTMF detection, to
+	  a complete software FAX machine.
+
+	  http://www.soft-switch.org/
package/spandsp/spandsp.hash new file +3 -0
new file mode 100644
index 0000000000..1123e29c1b
@@ -0,0 +1,3 @@
+# sha256 locally computed
+sha256 0fcdda74bd9703dd66c3e9721bf2d81bd7c185c539d1887768c2b332ab703d51  spandsp-20180108.tar.gz
+sha256 366576cb0b869cd9e95a4882878607314650488ac635e5df0692180382e9666a  COPYING
package/spandsp/spandsp.mk new file +27 -0
new file mode 100644
index 0000000000..4b1f89cf4b
@@ -0,0 +1,27 @@
+################################################################################
+#
+# spandsp
+#
+################################################################################
+
+SPANDSP_VERSION = 20180108
+SPANDSP_SITE = https://www.soft-switch.org/downloads/spandsp/snapshots
+
+SPANDSP_LICENSE = LGPL-2.1 (library), GPL-2.0 (test suite)
+SPANDSP_LICENSE_FILES = COPYING
+
+SPANDSP_DEPENDENCIES = tiff
+SPANDSP_INSTALL_STAGING = YES
+
+SPANDSP_CONF_OPTS = \
+	--disable-doc \
+	--disable-builtin-tiff \
+	$(if $(BR2_X86_CPU_HAS_MMX),--enable-mmx,--disable-mmx) \
+	$(if $(BR2_X86_CPU_HAS_SSE),--enable-sse,--disable-sse) \
+	$(if $(BR2_X86_CPU_HAS_SSE2),--enable-sse2,--disable-sse2) \
+	$(if $(BR2_X86_CPU_HAS_SSE3),--enable-sse3,--disable-sse3) \
+	$(if $(BR2_X86_CPU_HAS_SSSE3),--enable-ssse3,--disable-ssse3) \
+	$(if $(BR2_X86_CPU_HAS_SSE4),--enable-sse4-1,--disable-sse4-1) \
+	$(if $(BR2_X86_CPU_HAS_SSE42),--enable-sse4-2,--disable-sse4-2)
+
+$(eval $(autotools-package))
Signature · 1 line
2.19.0
#6 lore raw

PATCH 3/4 package/spandsp: new package

Hello,

Quoted 12 lines · Bernd Kuhls

From: "Yann E. MORIN" <[email protected]>

[Bernd:
- bumped version to 20180108
- removed 0001-fix-msse4.x.patch, applied upstream
- removed autoreconf after patch removal
- added license hash (Arnout)
- added SPDX license codes (Arnout)]

Quoted 9 lines
---
 package/Config.in            |  1 +
 package/spandsp/Config.in    |  9 +++++++++
 package/spandsp/spandsp.hash |  3 +++
 package/spandsp/spandsp.mk   | 27 +++++++++++++++++++++++++++
 4 files changed, 40 insertions(+)
 create mode 100644 package/spandsp/Config.in
 create mode 100644 package/spandsp/spandsp.hash
 create mode 100644 package/spandsp/spandsp.mk

I am wondering why a signal processing library for telephony needs the TIFF library, but OK, it seems to be the case. I've applied, after adding the missing entry to the DEVELOPERS file.

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
#7 lore raw

PATCH 3/4 package/spandsp: new package

Thomas, All,

On 2018-10-09 15:14 +0200, Thomas Petazzoni spake thusly:

Quoted 23 lines · Bernd Kuhls
Quoted 12 lines

From: "Yann E. MORIN" <[email protected]>

[Bernd:
- bumped version to 20180108
- removed 0001-fix-msse4.x.patch, applied upstream
- removed autoreconf after patch removal
- added license hash (Arnout)
- added SPDX license codes (Arnout)]

Quoted 9 lines
---
 package/Config.in            |  1 +
 package/spandsp/Config.in    |  9 +++++++++
 package/spandsp/spandsp.hash |  3 +++
 package/spandsp/spandsp.mk   | 27 +++++++++++++++++++++++++++
 4 files changed, 40 insertions(+)
 create mode 100644 package/spandsp/Config.in
 create mode 100644 package/spandsp/spandsp.hash
 create mode 100644 package/spandsp/spandsp.mk
Quoted 2 lines

I am wondering why a signal processing library for telephony needs the TIFF library, but OK, it seems to be the case.

Because it is more than a simple 'DSP' library: it specialises in telephony DSP, including FAX generation/recognition.

So, you give it a tiff file, and it generates the sounds to send on the line. Conversely, when receiving a FAX, you feed it the sound from the line, and it generates a tiff file. More or less... ;-)

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#8 lore raw

PATCH 4/4 package/asterisk: add optional spandsp support

In reply to Bernd Kuhls

From: "Yann E. MORIN" <[email protected]>

---
 package/asterisk/asterisk.mk | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
package/asterisk/asterisk.mk +7 -1
index 46fe4de947..e094d5546d 100644
@@ -84,7 +84,6 @@ ASTERISK_CONF_OPTS = \
 	--without-resample \
 	--without-sdl \
 	--without-SDL_image \
-	--without-spandsp \
 	--without-sqlite \
 	--without-suppserv \
 	--without-tds \
@@ -233,6 +232,13 @@ else
 ASTERISK_CONF_OPTS += --without-ssl
 endif
 
+ifeq ($(BR2_PACKAGE_SPANDSP),y)
+ASTERISK_DEPENDENCIES += spandsp
+ASTERISK_CONF_OPTS += --with-spandsp
+else
+ASTERISK_CONF_OPTS += --without-spandsp
+endif
+
 ifeq ($(BR2_PACKAGE_SPEEX)$(BR2_PACKAGE_SPEEXDSP),yy)
 ASTERISK_DEPENDENCIES += speex
 ASTERISK_CONF_OPTS += --with-speex --with-speexdsp
Signature · 1 line
2.19.0
#9 lore raw

PATCH 4/4 package/asterisk: add optional spandsp support

Hello,

Quoted 7 lines · Bernd Kuhls

From: "Yann E. MORIN" <[email protected]>

---
 package/asterisk/asterisk.mk | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

Applied to master, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
#10 lore raw

PATCH 1/4 package/asterisk: bump version to 14.7.8

In reply to Bernd Kuhls

Hello,

Quoted 5 lines · Bernd Kuhls
---
 package/asterisk/asterisk.hash | 2 +-
 package/asterisk/asterisk.mk   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Applied to master, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com