Bug 14556

Summary: python-crossbar fails to build
Product: buildroot Reporter: Emile Cormier <emile.cormier.jr>
Component: OtherAssignee: unassigned
Status: RESOLVED FIXED    
Severity: normal CC: asafka7, buildroot, thomas.petazzoni, yegorslists
Priority: P5    
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: Linux   
Host: Target:
Build:
Attachments: Simple tests

Description Emile Cormier 2022-01-27 23:22:09 UTC
The buildroot crossbar package does not work in the latest release/head of buildroot. After two days of playing dependency whac-a-mole, I've been able to make it work again with the following steps:

1. Remove the package-crossbar/0002-Remove-idna-requirement.patch and replace it with another patch which does the following:

- Change the idna requirement to >=2.5,<4 to match that of the Requests v2.27.1 package included with the latest buildroot. The idna v3.3 package is the one currently bundled with buildroot.

- Change the urllib3 requirement to >=1.21.1,<1.27 to match that of the Requests v2.27.1 package included with the latest buildroot. The urllib3 v1.26.8 package is the one currently bundled with buildroot.

- Remove the importlib-resources>=4.1.1 requirement. The importlib-resources 5.0 features have been merged into the CPython 3.10 included with the latest buildroot.

2. Generate a new python-zlmdb package via utility/scanpypi. scanpypi fails before terminating, but it generates a viable python-zlmdb package nonetheless.

3. Add a patch for the new python-zlmdb package which removes pytest-runner from the setup-requirements in setup.py.

4. Bump buildroot's python-pyopenssl version to 21.0.0.

5. Bump buildroot's python-snappy version to 0.6.0.

6. Bump buildroot's python-trek version to 21.5.0.

7. Add these missing dependencies in python-crossbar/Config.in: bcrypt, cffi, colorama, wsaccel, zlmdb, argon_cffi, cbor2, flatbuffers, msgpack, snappy, ujson

I will submit a patch with the above changes, but I first need some time to familiarize myself with your submission conventions.

(Cross-posted to https://github.com/crossbario/crossbar/issues/1936)
Comment 1 Emile Cormier 2022-02-07 22:16:59 UTC
I can launch Crossbar with the changes I made in my personal fork: https://github.com/ecorm/buildroot/tree/issue-14556-crossbar

I will submit a patch once I confirm Crossbar works with our (proprietary) app.
Comment 2 Emile Cormier 2022-04-03 22:25:34 UTC
Submitted patch set starting with:

https://lists.buildroot.org/pipermail/buildroot/2022-April/640097.html
Comment 3 Emile Cormier 2022-04-03 22:38:03 UTC
Submitted patch originated from my more recent fork on GitHub:

https://github.com/ecorm/buildroot/tree/bump-crossbar

Due to some Python packages having been bumped since I first starting working on this bug, the submitted patch does not correspond directly to the steps described in my original post in this bug report.
Comment 4 Emile Cormier 2022-04-04 01:06:52 UTC
Created attachment 9266 [details]
Simple tests

Python commands issued via the command line, as well as their outputs. Not exhaustive, but at least demonstrates that the affected Python modules can still be imported and used.