testing/py2-ansible-lint 3.4.20-r0 dependencies are broken
`ansible-lint` has three Python dependencies: ansible, pyyaml and
six
https://github.com/willthames/ansible-lint/blob/master/setup.py\#L22
These are not recorded in the APKBUILD.
`py2-ansible-lint` does not work even with manual workarounds. First test without any workarounds:
localhost:~$ printf "http://dl-cdn.alpinelinux.org/alpine/edge/testing\n" | sudo tee -a /etc/apk/repositories
http://dl-cdn.alpinelinux.org/alpine/edge/testing
localhost:~$ sudo apk add py2-ansible-lint
(1/4) Installing python2 (2.7.15-r0)
(2/4) Installing py-setuptools (39.1.0-r0)
(3/4) Installing py3-setuptools (39.1.0-r0)
(4/4) Installing py2-ansible-lint (3.4.20-r0)
Executing busybox-1.28.4-r1.trigger
OK: 235 MiB in 65 packages
localhost:~$ ansible-lint --version
Traceback (most recent call last):
File "/usr/bin/ansible-lint", line 6, in <module>
from pkg_resources import load_entry_point
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3086, in <module>
@_call_aside
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3070, in _call_aside
f(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3099, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 574, in _build_master
ws.require(__requires__)
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 892, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 778, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'six' distribution was not found and is required by ansible-lint
Trying again after installing `py2-six` manually:
localhost:~$ sudo apk add py2-six
(1/1) Installing py2-six (1.11.0-r0)
OK: 235 MiB in 66 packages
localhost:~$ ansible-lint --version
Traceback (most recent call last):
File "/usr/bin/ansible-lint", line 6, in <module>
from pkg_resources import load_entry_point
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3086, in <module>
@_call_aside
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3070, in _call_aside
f(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3099, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 574, in _build_master
ws.require(__requires__)
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 892, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 778, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'pyyaml' distribution was not found and is required by ansible-lint
Trying again after installing `py2-yaml` manually:
localhost:~$ sudo apk add py2-yaml
(1/1) Installing py2-yaml (4.1-r0)
OK: 236 MiB in 67 packages
localhost:~$ ansible-lint --version
Traceback (most recent call last):
File "/usr/bin/ansible-lint", line 6, in <module>
from pkg_resources import load_entry_point
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3086, in <module>
@_call_aside
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3070, in _call_aside
f(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3099, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 574, in _build_master
ws.require(__requires__)
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 892, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 778, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'ansible' distribution was not found and is required by ansible-lint
Ansible is not available for Python 2 on Alpine Linux, so it cannot be installed manually.
localhost:~$ apk policy ansible
ansible policy:
2.6.1-r0:
lib/apk/db/installed
etc/apk/cache
http://dl-cdn.alpinelinux.org/alpine/edge/main
localhost:~$ ansible --version
ansible 2.6.1
config file = None
configured module search path = ['/home/chronos/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3.6/site-packages/ansible
executable location = /usr/bin/ansible
python version = 3.6.4 (default, Apr 6 2018, 05:23:32) [GCC 6.4.0]
(from redmine: issue id 9145, created on 2018-07-27, closed on 2019-06-19)