diff mbox series

[1/1] package/mosquitto: bump to v1.6.11

Message ID 20200817091055.203521-1-titouan.christophe@railnova.eu
State Changes Requested
Headers show
Series [1/1] package/mosquitto: bump to v1.6.11 | expand

Commit Message

Titouan Christophe Aug. 17, 2020, 9:10 a.m. UTC
Mosquitto 1.6.11 is a bugfix release, read the whole announcement on
http://mosquitto.org/blog/2020/08/version-1-6-11-released/

From the changelog of the client library:
mosquitto_loop_start() now sets a thread name on Linux, FreeBSD, NetBSD,
and OpenBSD. Closes #1777.
This is done with pthread_setname_np; so mosquitto now requires
BR2_TOOLCHAIN_HAS_THREADS_NPTL.

Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu>
---
 package/mosquitto/Config.in      | 4 ++++
 package/mosquitto/mosquitto.hash | 4 ++--
 package/mosquitto/mosquitto.mk   | 2 +-
 3 files changed, 7 insertions(+), 3 deletions(-)

Comments

Thomas Petazzoni Aug. 17, 2020, 1:13 p.m. UTC | #1
On Mon, 17 Aug 2020 11:10:55 +0200
Titouan Christophe <titouan.christophe@railnova.eu> wrote:

> Mosquitto 1.6.11 is a bugfix release, read the whole announcement on
> http://mosquitto.org/blog/2020/08/version-1-6-11-released/
> 
> From the changelog of the client library:
> mosquitto_loop_start() now sets a thread name on Linux, FreeBSD, NetBSD,
> and OpenBSD. Closes #1777.
> This is done with pthread_setname_np; so mosquitto now requires
> BR2_TOOLCHAIN_HAS_THREADS_NPTL.
> 
> Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu>
> ---
>  package/mosquitto/Config.in      | 4 ++++
>  package/mosquitto/mosquitto.hash | 4 ++--
>  package/mosquitto/mosquitto.mk   | 2 +-
>  3 files changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/package/mosquitto/Config.in b/package/mosquitto/Config.in
> index b4effa36be..21cd56c492 100644
> --- a/package/mosquitto/Config.in
> +++ b/package/mosquitto/Config.in
> @@ -1,5 +1,6 @@
>  config BR2_PACKAGE_MOSQUITTO
>  	bool "mosquitto"
> +	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL  # pthread_setname_np

It seems like this new dependency was not propagated to all reverse
dependencies of mosquitto. Could you double check this ?

Thanks!

Thomas
Peter Korsgaard Aug. 17, 2020, 2:42 p.m. UTC | #2
>>>>> "Titouan" == Titouan Christophe <titouan.christophe@railnova.eu> writes:

 > Mosquitto 1.6.11 is a bugfix release, read the whole announcement on
 > http://mosquitto.org/blog/2020/08/version-1-6-11-released/

 > From the changelog of the client library:
 > mosquitto_loop_start() now sets a thread name on Linux, FreeBSD, NetBSD,
 > and OpenBSD. Closes #1777.
 > This is done with pthread_setname_np; so mosquitto now requires
 > BR2_TOOLCHAIN_HAS_THREADS_NPTL.

 > Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu>
 > ---
 >  package/mosquitto/Config.in      | 4 ++++
 >  package/mosquitto/mosquitto.hash | 4 ++--
 >  package/mosquitto/mosquitto.mk   | 2 +-
 >  3 files changed, 7 insertions(+), 3 deletions(-)

 > diff --git a/package/mosquitto/Config.in b/package/mosquitto/Config.in
 > index b4effa36be..21cd56c492 100644
 > --- a/package/mosquitto/Config.in
 > +++ b/package/mosquitto/Config.in
 > @@ -1,5 +1,6 @@
 >  config BR2_PACKAGE_MOSQUITTO
 >  	bool "mosquitto"
 > +	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL  # pthread_setname_np

We have logic to build mosquitto without threading support
(WITH_THREADING=no), so this should normally not be needed. From a quick
look, it does look like the pthread.h include in the new code isn't
inside the WITH_THREADING conditional, but that is easy to fix.

For non-NPTL threads we could perhaps just build mosquitto without
threading support rather than having to propagate the NPTL dependency
(unless collectd/shairport-sync needs the threading API).
Titouan Christophe Aug. 17, 2020, 10:18 p.m. UTC | #3
Hi Thomas,

On 17/08/20 15:13, Thomas Petazzoni wrote:
> On Mon, 17 Aug 2020 11:10:55 +0200
> Titouan Christophe <titouan.christophe@railnova.eu> wrote:
> 
>> Mosquitto 1.6.11 is a bugfix release, read the whole announcement on
>> http://mosquitto.org/blog/2020/08/version-1-6-11-released/
>>
>>  From the changelog of the client library:
>> mosquitto_loop_start() now sets a thread name on Linux, FreeBSD, NetBSD,
>> and OpenBSD. Closes #1777.
>> This is done with pthread_setname_np; so mosquitto now requires
>> BR2_TOOLCHAIN_HAS_THREADS_NPTL.
>>
>> Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu>
>> ---
>>   package/mosquitto/Config.in      | 4 ++++
>>   package/mosquitto/mosquitto.hash | 4 ++--
>>   package/mosquitto/mosquitto.mk   | 2 +-
>>   3 files changed, 7 insertions(+), 3 deletions(-)
>>
>> diff --git a/package/mosquitto/Config.in b/package/mosquitto/Config.in
>> index b4effa36be..21cd56c492 100644
>> --- a/package/mosquitto/Config.in
>> +++ b/package/mosquitto/Config.in
>> @@ -1,5 +1,6 @@
>>   config BR2_PACKAGE_MOSQUITTO
>>   	bool "mosquitto"
>> +	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL  # pthread_setname_np
> 
> It seems like this new dependency was not propagated to all reverse
> dependencies of mosquitto. Could you double check this ?

Oh right, and I now realize that it hasn't been done for a while, and 
several reverse dependencies are outdated (still requiring SYNC4, no 
static libs, etc...).

> Thanks!
> 
> Thomas
> 

Thank you for the review,

Titouan
Titouan Christophe Aug. 18, 2020, 10:08 a.m. UTC | #4
Hello Peter,

On 17/08/20 16:42, Peter Korsgaard wrote:
>>>>>> "Titouan" == Titouan Christophe <titouan.christophe@railnova.eu> writes:
> 
>   > Mosquitto 1.6.11 is a bugfix release, read the whole announcement on
>   > http://mosquitto.org/blog/2020/08/version-1-6-11-released/
> 
>   > From the changelog of the client library:
>   > mosquitto_loop_start() now sets a thread name on Linux, FreeBSD, NetBSD,
>   > and OpenBSD. Closes #1777.
>   > This is done with pthread_setname_np; so mosquitto now requires
>   > BR2_TOOLCHAIN_HAS_THREADS_NPTL.
> 
>   > Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu>
>   > ---
>   >  package/mosquitto/Config.in      | 4 ++++
>   >  package/mosquitto/mosquitto.hash | 4 ++--
>   >  package/mosquitto/mosquitto.mk   | 2 +-
>   >  3 files changed, 7 insertions(+), 3 deletions(-)
> 
>   > diff --git a/package/mosquitto/Config.in b/package/mosquitto/Config.in
>   > index b4effa36be..21cd56c492 100644
>   > --- a/package/mosquitto/Config.in
>   > +++ b/package/mosquitto/Config.in
>   > @@ -1,5 +1,6 @@
>   >  config BR2_PACKAGE_MOSQUITTO
>   >  	bool "mosquitto"
>   > +	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL  # pthread_setname_np
> 
> We have logic to build mosquitto without threading support
> (WITH_THREADING=no), so this should normally not be needed. From a quick
> look, it does look like the pthread.h include in the new code isn't
> inside the WITH_THREADING conditional, but that is easy to fix.

I'll send a v2 with this patch 
https://github.com/eclipse/mosquitto/pull/1794.

> 
> For non-NPTL threads we could perhaps just build mosquitto without
> threading support rather than having to propagate the NPTL dependency
> (unless collectd/shairport-sync needs the threading API).
> 

Indeed, propagating the NPTL dependency is too restrictive. This should 
only be enforced when BR2_TOOLCHAIN_HAS_THREADS.

It looks like shairport-sync [1] and domoticz [2] are using 
mosquitto_loop_start from the threaded API, but I did not find it in 
collectd. However, both domoticz and shairport-sync already directly 
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL anyway.

Best regards,

Titouan

[1] https://github.com/mikebrady/shairport-sync/blob/master/mqtt.c#L227-L229
[2] 
https://github.com/domoticz/domoticz/blob/master/main/mosquitto_helper.cpp#L344
diff mbox series

Patch

diff --git a/package/mosquitto/Config.in b/package/mosquitto/Config.in
index b4effa36be..21cd56c492 100644
--- a/package/mosquitto/Config.in
+++ b/package/mosquitto/Config.in
@@ -1,5 +1,6 @@ 
 config BR2_PACKAGE_MOSQUITTO
 	bool "mosquitto"
+	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL  # pthread_setname_np
 	help
 	  Eclipse Mosquitto is an open source (EPL/EDL licensed) message
 	  broker that implements the MQTT protocol versions 5.0, 3.1.1
@@ -19,6 +20,9 @@  config BR2_PACKAGE_MOSQUITTO
 
 	  http://mosquitto.org/
 
+comment "mosquitto needs nptl"
+	depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL
+
 config BR2_PACKAGE_MOSQUITTO_BROKER
 	bool "install the mosquitto broker"
 	default y
diff --git a/package/mosquitto/mosquitto.hash b/package/mosquitto/mosquitto.hash
index 482962490e..1470a93aa7 100644
--- a/package/mosquitto/mosquitto.hash
+++ b/package/mosquitto/mosquitto.hash
@@ -1,6 +1,6 @@ 
 # Locally calculated after checking gpg signature
-# from https://mosquitto.org/files/source/mosquitto-1.6.10.tar.gz.asc
-sha256  92d1807717f0f6d57d1ac1207ffdb952e8377e916c7b0bb4718f745239774232  mosquitto-1.6.10.tar.gz
+# from https://mosquitto.org/files/source/mosquitto-1.6.11.tar.gz.asc
+sha256  b02d8f1368c40d5779ee125c37daf9003608eb47d7fbb04c5b938c76c1230a1f  mosquitto-1.6.11.tar.gz
 
 # License files
 sha256  cc77e25bafd40637b7084f04086d606f0a200051b61806f97c93405926670bc1  LICENSE.txt
diff --git a/package/mosquitto/mosquitto.mk b/package/mosquitto/mosquitto.mk
index cdd515e1a4..1e3e854bda 100644
--- a/package/mosquitto/mosquitto.mk
+++ b/package/mosquitto/mosquitto.mk
@@ -4,7 +4,7 @@ 
 #
 ################################################################################
 
-MOSQUITTO_VERSION = 1.6.10
+MOSQUITTO_VERSION = 1.6.11
 MOSQUITTO_SITE = https://mosquitto.org/files/source
 MOSQUITTO_LICENSE = EPL-1.0 or EDLv1.0
 MOSQUITTO_LICENSE_FILES = LICENSE.txt epl-v10 edl-v10