![Peter Korsgaard](/assets/img/avatar_default.png)
Fixes https://gitlab.com/buildroot.org/buildroot/-/jobs/332656041
The recent bump of a number of python packages broke docker-compose, as
docker-compose specifies both minimum and maximum versions for (most of) its
dependencies:
Dependencies of docker-compse 1.20.1 (! = unmet):
cached-property: < 2 (currently 1.51)
docopt: < 0.7 (currently 0.6.2)
! pyyaml: < 4.0, patched to < 4.3 (currently 5.1.2)
requests: < 2.19, patched to < 3 (currently 2.22.0)
! texttable: < 0.10 (currently 1.6.2)
websocket-client: < 1.0 (currently 0.56.0)
! docker: < 4.0 (currently 4.1.0)
dockerpty: < 0.5 (currently 0.4.1)
six: < 2 (currently 1.12.0)
jsonschema: < 3 (currently 2.5.1)
enum34: < 2 (currently 1.1.6)
backports.ssl-match-hostname: >= 3.5 (currently 3.7.0.1)
ipaddress: >= 1.0.16 (currently 1.0.23)
To fix this, bump docker-compose to the most recent release (1.24.1). This
is unfortunately not enough, as our docker, pyyaml, requests and texttable
packages are too new, so add 3 patches from upstream to relax the version
checks of dependencies. Notice that patch 0003 is from
https://github.com/docker/compose/pull/6623 and has not been merged yet.
Discussions around the problem of these maximum versions of the dependencies
and the fact that all downstream users have to patch it is ongoing here:
https://github.com/docker/compose/issues/6756
docker-compose 1.24.1 added a requirement for ssh support in python-docker in:
7b82b2e8c7
So add a dependency for python-paramiko and update the toolchain dependency
for C++ (from python-paramiko -> python-cryptography) and adjust the
toolchain configuration of the runtime test to match.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
33 lines
1.3 KiB
Plaintext
33 lines
1.3 KiB
Plaintext
config BR2_PACKAGE_DOCKER_COMPOSE
|
|
bool "docker-compose"
|
|
depends on BR2_USE_MMU # python
|
|
depends on BR2_USE_WCHAR # python
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS # python
|
|
depends on !BR2_STATIC_LIBS # python
|
|
depends on BR2_INSTALL_LIBSTDCPP # python-paramiko -> python-cryptography
|
|
select BR2_PACKAGE_PYTHON3 if !BR2_PACKAGE_PYTHON
|
|
select BR2_PACKAGE_PYTHON_BACKPORTS_SSL_MATCH_HOSTNAME \
|
|
if BR2_PACKAGE_PYTHON # runtime
|
|
select BR2_PACKAGE_PYTHON_ENUM34 if BR2_PACKAGE_PYTHON # runtime
|
|
select BR2_PACKAGE_PYTHON_IPADDRESS if BR2_PACKAGE_PYTHON # runtime
|
|
select BR2_PACKAGE_PYTHON_CACHED_PROPERTY # runtime
|
|
select BR2_PACKAGE_PYTHON_DOCOPT # runtime
|
|
select BR2_PACKAGE_PYTHON_PARAMIKO # runtime
|
|
select BR2_PACKAGE_PYTHON_PYYAML # runtime
|
|
select BR2_PACKAGE_PYTHON_REQUESTS # runtime
|
|
select BR2_PACKAGE_PYTHON_TEXTTABLE # runtime
|
|
select BR2_PACKAGE_PYTHON_WEBSOCKET_CLIENT # runtime
|
|
select BR2_PACKAGE_PYTHON_DOCKER # runtime
|
|
select BR2_PACKAGE_PYTHON_DOCKERPTY # runtime
|
|
select BR2_PACKAGE_PYTHON_SIX # runtime
|
|
select BR2_PACKAGE_PYTHON_JSONSCHEMA # runtime
|
|
help
|
|
Multi-container orchestration for Docker.
|
|
|
|
https://www.docker.com/
|
|
|
|
comment "docker-compose needs a toolchain w/ C++, wchar, threads, dynamic library"
|
|
depends on BR2_USE_MMU
|
|
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
|
|
BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP
|