Bug 14556 - python-crossbar fails to build
Summary: python-crossbar fails to build
Status: RESOLVED FIXED
Alias: None
Product: buildroot
Classification: Unclassified
Component: Other (show other bugs)
Version: unspecified
Hardware: All Linux
: P5 normal
Target Milestone: ---
Assignee: unassigned
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-01-27 23:22 UTC by Emile Cormier
Modified: 2022-08-08 20:28 UTC (History)
4 users (show)

See Also:
Host:
Target:
Build:


Attachments
Simple tests (3.68 KB, text/plain)
2022-04-04 01:06 UTC, Emile Cormier
Details

Note You need to log in before you can comment on or make changes to this bug.
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.