diff mbox series

[1/2] package/python-paho-mqtt: bump to 1.6.1 to fix running on python 3.10

Message ID 20220823194732.701895-1-marcus.hoffmann@othermo.de
State Superseded
Headers show
Series [1/2] package/python-paho-mqtt: bump to 1.6.1 to fix running on python 3.10 | expand

Commit Message

Marcus Hoffmann Aug. 23, 2022, 7:47 p.m. UTC
Fixes the following error on calling mqtt.publish():

  File "/usr/lib/python3.10/site-packages/paho/mqtt/publish.py", line 222, in single
    multiple([msg], hostname, port, client_id, keepalive, will, auth, tls,
  File "/usr/lib/python3.10/site-packages/paho/mqtt/publish.py", line 126, in multiple
    if not isinstance(msgs, collections.Iterable):
AttributeError: module 'collections' has no attribute 'Iterable'

This was actually changed in release 1.5.0 but 1.6.1 is alaready out for
almost a year, so we just update to that version.

Changelog:
https://github.com/eclipse/paho.mqtt.python/blob/master/ChangeLog.txt
Signed-off-by: Marcus Hoffmann <marcus.hoffmann@othermo.de>
---
 package/python-paho-mqtt/python-paho-mqtt.hash | 6 +++---
 package/python-paho-mqtt/python-paho-mqtt.mk   | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

Comments

Arnout Vandecappelle Aug. 24, 2022, 8:48 p.m. UTC | #1
On 23/08/2022 21:47, Marcus Hoffmann wrote:
> Fixes the following error on calling mqtt.publish():
> 
>    File "/usr/lib/python3.10/site-packages/paho/mqtt/publish.py", line 222, in single
>      multiple([msg], hostname, port, client_id, keepalive, will, auth, tls,
>    File "/usr/lib/python3.10/site-packages/paho/mqtt/publish.py", line 126, in multiple
>      if not isinstance(msgs, collections.Iterable):
> AttributeError: module 'collections' has no attribute 'Iterable'
> 
> This was actually changed in release 1.5.0 but 1.6.1 is alaready out for
> almost a year, so we just update to that version.
> 
> Changelog:
> https://github.com/eclipse/paho.mqtt.python/blob/master/ChangeLog.txt

  Jumping from 1.4.0 to 1.6.1 at this point in the stabilisation month is not 
ideal...

> Signed-off-by: Marcus Hoffmann <marcus.hoffmann@othermo.de>
> ---
>   package/python-paho-mqtt/python-paho-mqtt.hash | 6 +++---
>   package/python-paho-mqtt/python-paho-mqtt.mk   | 4 ++--
>   2 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/package/python-paho-mqtt/python-paho-mqtt.hash b/package/python-paho-mqtt/python-paho-mqtt.hash
> index bf3993e9195..56783e3fc08 100644
> --- a/package/python-paho-mqtt/python-paho-mqtt.hash
> +++ b/package/python-paho-mqtt/python-paho-mqtt.hash
> @@ -1,6 +1,6 @@
> -# md5 from https://pypi.python.org/pypi/paho-mqtt/json, sha256 locally computed
> -md5  e3ac29cd5dc247a01083a2a8f3fddd08  paho-mqtt-1.4.0.tar.gz
> -sha256  e440a052b46d222e184be3be38676378722072fcd4dfd2c8f509fb861a7b0b79  paho-mqtt-1.4.0.tar.gz
> +# package hashes from from https://pypi.org/project/paho-mqtt/#copy-hash-modal-e8e8e0de-1aec-462d-8ae0-d858d4f5a0d7
> +md5  bdb20f88db291fdb4a0fe804c0f29316  paho-mqtt-1.6.1.tar.gz
> +sha256  2a8291c81623aec00372b5a85558a372c747cbca8e9934dfe218638b8eefc26f  paho-mqtt-1.6.1.tar.gz
>   sha256  76f13729e84e9222e543303df00f87d1b2c0995b6a505cd859a285667e44babb  LICENSE.txt

  Unfortunately, the LICENSE hash changed, because in fact the license changed:
@@ -1,3 +1,3 @@
-This project is dual licensed under the Eclipse Public License 1.0 and the
-Eclipse Distribution License 1.0 as described in the epl-v10 and edl-v10 files.
+This project is dual licensed under the Eclipse Public License 2.0 and the
+Eclipse Distribution License 1.0 as described in the epl-v20 and edl-v10 files.

  And to top things up, epl-v20 is missing in the tarball...

  Could you check if there is a version that does have the epl-v20 file? Perhaps 
even from an upstream git repo?

  Regards,
  Arnout

>   sha256  e8cf7d54ea46c19aba793983889b7f7425e1ebfcaaccec764a7db091646e203c  edl-v10
>   sha256  3b9be6b894d0769de796e653571ff6cef494913c0ce78c35a97db939e7d9087c  epl-v10
> diff --git a/package/python-paho-mqtt/python-paho-mqtt.mk b/package/python-paho-mqtt/python-paho-mqtt.mk
> index d192749e1e1..892f5f33c74 100644
> --- a/package/python-paho-mqtt/python-paho-mqtt.mk
> +++ b/package/python-paho-mqtt/python-paho-mqtt.mk
> @@ -4,9 +4,9 @@
>   #
>   ################################################################################
>   
> -PYTHON_PAHO_MQTT_VERSION = 1.4.0
> +PYTHON_PAHO_MQTT_VERSION = 1.6.1
>   PYTHON_PAHO_MQTT_SOURCE = paho-mqtt-$(PYTHON_PAHO_MQTT_VERSION).tar.gz
> -PYTHON_PAHO_MQTT_SITE = https://files.pythonhosted.org/packages/25/63/db25e62979c2a716a74950c9ed658dce431b5cb01fde29eb6cba9489a904
> +PYTHON_PAHO_MQTT_SITE = https://files.pythonhosted.org/packages/f8/dd/4b75dcba025f8647bc9862ac17299e0d7d12d3beadbf026d8c8d74215c12
>   PYTHON_PAHO_MQTT_LICENSE = EPL-1.0 or EDLv1.0
>   PYTHON_PAHO_MQTT_LICENSE_FILES = LICENSE.txt edl-v10 epl-v10
>   PYTHON_PAHO_MQTT_SETUP_TYPE = setuptools
Marcus Hoffmann Aug. 25, 2022, 10:40 a.m. UTC | #2
Hi Arnout,
thanks for the review.

On 24.08.22 22:48, Arnout Vandecappelle wrote:
> 
> 
> On 23/08/2022 21:47, Marcus Hoffmann wrote:
>> Fixes the following error on calling mqtt.publish():
>>
>>    File "/usr/lib/python3.10/site-packages/paho/mqtt/publish.py", line 
>> 222, in single
>>      multiple([msg], hostname, port, client_id, keepalive, will, auth, 
>> tls,
>>    File "/usr/lib/python3.10/site-packages/paho/mqtt/publish.py", line 
>> 126, in multiple
>>      if not isinstance(msgs, collections.Iterable):
>> AttributeError: module 'collections' has no attribute 'Iterable'
>>
>> This was actually changed in release 1.5.0 but 1.6.1 is alaready out for
>> almost a year, so we just update to that version.
>>
>> Changelog:
>> https://github.com/eclipse/paho.mqtt.python/blob/master/ChangeLog.txt
> 
>   Jumping from 1.4.0 to 1.6.1 at this point in the stabilisation month 
> is not ideal...

There's two other options I can think of, I wasn't sure what's best here:

* backport https://github.com/eclipse/paho.mqtt.python/pull/497/files, 
that should be easy enough
* Update to 1.5.1 (not 1.5.0 as I claimed above) which is the first 
release that includes the fix for the problem

Do you have a preference for one of the two over updating to the latest 
release? (I.e. defer the 1.6.1 update to next)

> 
>> Signed-off-by: Marcus Hoffmann <marcus.hoffmann@othermo.de>
>> ---
>>   package/python-paho-mqtt/python-paho-mqtt.hash | 6 +++---
>>   package/python-paho-mqtt/python-paho-mqtt.mk   | 4 ++--
>>   2 files changed, 5 insertions(+), 5 deletions(-)
>>
>> diff --git a/package/python-paho-mqtt/python-paho-mqtt.hash 
>> b/package/python-paho-mqtt/python-paho-mqtt.hash
>> index bf3993e9195..56783e3fc08 100644
>> --- a/package/python-paho-mqtt/python-paho-mqtt.hash
>> +++ b/package/python-paho-mqtt/python-paho-mqtt.hash
>> @@ -1,6 +1,6 @@
>> -# md5 from https://pypi.python.org/pypi/paho-mqtt/json, sha256 
>> locally computed
>> -md5  e3ac29cd5dc247a01083a2a8f3fddd08  paho-mqtt-1.4.0.tar.gz
>> -sha256  
>> e440a052b46d222e184be3be38676378722072fcd4dfd2c8f509fb861a7b0b79  
>> paho-mqtt-1.4.0.tar.gz
>> +# package hashes from from 
>> https://pypi.org/project/paho-mqtt/#copy-hash-modal-e8e8e0de-1aec-462d-8ae0-d858d4f5a0d7
>> +md5  bdb20f88db291fdb4a0fe804c0f29316  paho-mqtt-1.6.1.tar.gz
>> +sha256  
>> 2a8291c81623aec00372b5a85558a372c747cbca8e9934dfe218638b8eefc26f  
>> paho-mqtt-1.6.1.tar.gz
>>   sha256  
>> 76f13729e84e9222e543303df00f87d1b2c0995b6a505cd859a285667e44babb  
>> LICENSE.txt
> 
>   Unfortunately, the LICENSE hash changed, because in fact the license 
> changed:
> @@ -1,3 +1,3 @@
> -This project is dual licensed under the Eclipse Public License 1.0 and the
> -Eclipse Distribution License 1.0 as described in the epl-v10 and 
> edl-v10 files.
> +This project is dual licensed under the Eclipse Public License 2.0 and the
> +Eclipse Distribution License 1.0 as described in the epl-v20 and 
> edl-v10 files.
> 
>   And to top things up, epl-v20 is missing in the tarball...
> 
>   Could you check if there is a version that does have the epl-v20 file? 
> Perhaps even from an upstream git repo?

Ah, I suppose those hashes are only checked on `legal-info` and not a 
normal build of the package?

https://www.eclipse.org/paho/index.php?page=clients/python/index.php 
suggests installation via pypi/pip is the canonical way but offers from 
source installation as an alternative.

https://github.com/eclipse/paho.mqtt.python and the github 
auto-generated tarball contain the epl-20 license file, should I change 
the source download to that? (I remember github auto-generated tarballs 
being problematic in the past because they might silently change. Does 
the buildroot project have a policy here?)

> 
>   Regards,
>   Arnout
> 

[...]

Best,
Marcus
Arnout Vandecappelle Aug. 25, 2022, 2:17 p.m. UTC | #3
On 25/08/2022 12:40, Marcus Hoffmann wrote:
> Hi Arnout,
> thanks for the review.
> 
> On 24.08.22 22:48, Arnout Vandecappelle wrote:
>>
>>
>> On 23/08/2022 21:47, Marcus Hoffmann wrote:
>>> Fixes the following error on calling mqtt.publish():
>>>
>>>    File "/usr/lib/python3.10/site-packages/paho/mqtt/publish.py", line 222, 
>>> in single
>>>      multiple([msg], hostname, port, client_id, keepalive, will, auth, tls,
>>>    File "/usr/lib/python3.10/site-packages/paho/mqtt/publish.py", line 126, 
>>> in multiple
>>>      if not isinstance(msgs, collections.Iterable):
>>> AttributeError: module 'collections' has no attribute 'Iterable'
>>>
>>> This was actually changed in release 1.5.0 but 1.6.1 is alaready out for
>>> almost a year, so we just update to that version.
>>>
>>> Changelog:
>>> https://github.com/eclipse/paho.mqtt.python/blob/master/ChangeLog.txt
>>
>>   Jumping from 1.4.0 to 1.6.1 at this point in the stabilisation month is not 
>> ideal...
> 
> There's two other options I can think of, I wasn't sure what's best here:
> 
> * backport https://github.com/eclipse/paho.mqtt.python/pull/497/files, that 
> should be easy enough
> * Update to 1.5.1 (not 1.5.0 as I claimed above) which is the first release that 
> includes the fix for the problem
> 
> Do you have a preference for one of the two over updating to the latest release? 
> (I.e. defer the 1.6.1 update to next)

  If you feel up to it, both is ideal: backport the fix for master and 
2022.02.x, and do the bump for next.


>>> Signed-off-by: Marcus Hoffmann <marcus.hoffmann@othermo.de>
>>> ---
>>>   package/python-paho-mqtt/python-paho-mqtt.hash | 6 +++---
>>>   package/python-paho-mqtt/python-paho-mqtt.mk   | 4 ++--
>>>   2 files changed, 5 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/package/python-paho-mqtt/python-paho-mqtt.hash 
>>> b/package/python-paho-mqtt/python-paho-mqtt.hash
>>> index bf3993e9195..56783e3fc08 100644
>>> --- a/package/python-paho-mqtt/python-paho-mqtt.hash
>>> +++ b/package/python-paho-mqtt/python-paho-mqtt.hash
>>> @@ -1,6 +1,6 @@
>>> -# md5 from https://pypi.python.org/pypi/paho-mqtt/json, sha256 locally computed
>>> -md5  e3ac29cd5dc247a01083a2a8f3fddd08  paho-mqtt-1.4.0.tar.gz
>>> -sha256 e440a052b46d222e184be3be38676378722072fcd4dfd2c8f509fb861a7b0b79 
>>> paho-mqtt-1.4.0.tar.gz
>>> +# package hashes from from 
>>> https://pypi.org/project/paho-mqtt/#copy-hash-modal-e8e8e0de-1aec-462d-8ae0-d858d4f5a0d7 
>>>
>>> +md5  bdb20f88db291fdb4a0fe804c0f29316  paho-mqtt-1.6.1.tar.gz
>>> +sha256 2a8291c81623aec00372b5a85558a372c747cbca8e9934dfe218638b8eefc26f 
>>> paho-mqtt-1.6.1.tar.gz
>>>   sha256 76f13729e84e9222e543303df00f87d1b2c0995b6a505cd859a285667e44babb 
>>> LICENSE.txt
>>
>>   Unfortunately, the LICENSE hash changed, because in fact the license changed:
>> @@ -1,3 +1,3 @@
>> -This project is dual licensed under the Eclipse Public License 1.0 and the
>> -Eclipse Distribution License 1.0 as described in the epl-v10 and edl-v10 files.
>> +This project is dual licensed under the Eclipse Public License 2.0 and the
>> +Eclipse Distribution License 1.0 as described in the epl-v20 and edl-v10 files.
>>
>>   And to top things up, epl-v20 is missing in the tarball...
>>
>>   Could you check if there is a version that does have the epl-v20 file? 
>> Perhaps even from an upstream git repo?
> 
> Ah, I suppose those hashes are only checked on `legal-info` and not a normal 
> build of the package?

  Yes, I always do 'make foo-legal-info' on a version bump to check exactly this.


> https://www.eclipse.org/paho/index.php?page=clients/python/index.php suggests 
> installation via pypi/pip is the canonical way but offers from source 
> installation as an alternative.
> 
> https://github.com/eclipse/paho.mqtt.python and the github auto-generated 
> tarball contain the epl-20 license file, should I change the source download to 
> that? (I remember github auto-generated tarballs being problematic in the past 
> because they might silently change. Does the buildroot project have a policy here?)

  github autogenerated tarballs have been stable for the last 6 years or so. 
Please do use the github helper however.

  It's weird that the github tag does have the file, but the pip upload doesn't...

  Regards,
  Arnout


> 
>>
>>   Regards,
>>   Arnout
>>
> 
> [...]
> 
> Best,
> Marcus
Marcus Hoffmann Aug. 25, 2022, 3:08 p.m. UTC | #4
On 25.08.22 16:17, Arnout Vandecappelle wrote:
[...]
> 
> 
>   github autogenerated tarballs have been stable for the last 6 years or 
> so. Please do use the github helper however.
> 
>   It's weird that the github tag does have the file, but the pip upload 
> doesn't...
> 

In setuptools world everything to be packaged into the sdist (which is 
uploaded to pypi) needs to be manually specified: 
https://github.com/eclipse/paho.mqtt.python/blob/master/MANIFEST.in

Seems like Fabrice also noticed already: 
https://github.com/eclipse/paho.mqtt.python/pull/635

Marcus
diff mbox series

Patch

diff --git a/package/python-paho-mqtt/python-paho-mqtt.hash b/package/python-paho-mqtt/python-paho-mqtt.hash
index bf3993e9195..56783e3fc08 100644
--- a/package/python-paho-mqtt/python-paho-mqtt.hash
+++ b/package/python-paho-mqtt/python-paho-mqtt.hash
@@ -1,6 +1,6 @@ 
-# md5 from https://pypi.python.org/pypi/paho-mqtt/json, sha256 locally computed
-md5  e3ac29cd5dc247a01083a2a8f3fddd08  paho-mqtt-1.4.0.tar.gz
-sha256  e440a052b46d222e184be3be38676378722072fcd4dfd2c8f509fb861a7b0b79  paho-mqtt-1.4.0.tar.gz
+# package hashes from from https://pypi.org/project/paho-mqtt/#copy-hash-modal-e8e8e0de-1aec-462d-8ae0-d858d4f5a0d7
+md5  bdb20f88db291fdb4a0fe804c0f29316  paho-mqtt-1.6.1.tar.gz
+sha256  2a8291c81623aec00372b5a85558a372c747cbca8e9934dfe218638b8eefc26f  paho-mqtt-1.6.1.tar.gz
 sha256  76f13729e84e9222e543303df00f87d1b2c0995b6a505cd859a285667e44babb  LICENSE.txt
 sha256  e8cf7d54ea46c19aba793983889b7f7425e1ebfcaaccec764a7db091646e203c  edl-v10
 sha256  3b9be6b894d0769de796e653571ff6cef494913c0ce78c35a97db939e7d9087c  epl-v10
diff --git a/package/python-paho-mqtt/python-paho-mqtt.mk b/package/python-paho-mqtt/python-paho-mqtt.mk
index d192749e1e1..892f5f33c74 100644
--- a/package/python-paho-mqtt/python-paho-mqtt.mk
+++ b/package/python-paho-mqtt/python-paho-mqtt.mk
@@ -4,9 +4,9 @@ 
 #
 ################################################################################
 
-PYTHON_PAHO_MQTT_VERSION = 1.4.0
+PYTHON_PAHO_MQTT_VERSION = 1.6.1
 PYTHON_PAHO_MQTT_SOURCE = paho-mqtt-$(PYTHON_PAHO_MQTT_VERSION).tar.gz
-PYTHON_PAHO_MQTT_SITE = https://files.pythonhosted.org/packages/25/63/db25e62979c2a716a74950c9ed658dce431b5cb01fde29eb6cba9489a904
+PYTHON_PAHO_MQTT_SITE = https://files.pythonhosted.org/packages/f8/dd/4b75dcba025f8647bc9862ac17299e0d7d12d3beadbf026d8c8d74215c12
 PYTHON_PAHO_MQTT_LICENSE = EPL-1.0 or EDLv1.0
 PYTHON_PAHO_MQTT_LICENSE_FILES = LICENSE.txt edl-v10 epl-v10
 PYTHON_PAHO_MQTT_SETUP_TYPE = setuptools