Skip to content

community/py3-rsa: add missing dependency

Keith Maxwell requested to merge maxwell-k/aports:py3-rsa into master

Before this change:

$ sudo apk add py3-rsa && pyrsa-verify --help
(1/11) Installing libbz2 (1.0.8-r1)
(2/11) Installing libffi (3.3-r1)
(3/11) Installing gdbm (1.13-r1)
(4/11) Installing xz-libs (5.2.5-r0)
(5/11) Installing ncurses-terminfo-base (6.2_p20200404-r0)
(6/11) Installing ncurses-libs (6.2_p20200404-r0)
(7/11) Installing readline (8.0.4-r0)
(8/11) Installing sqlite-libs (3.31.1-r1)
(9/11) Installing python3 (3.8.2-r5)
(10/11) Installing py3-asn1 (0.4.7-r2)
(11/11) Installing py3-rsa (4.0-r0)
Executing busybox-1.31.1-r14.trigger
OK: 276 MiB in 68 packages
Traceback (most recent call last):
  File "/usr/bin/pyrsa-verify", line 6, in <module>
    from pkg_resources import load_entry_point
ModuleNotFoundError: No module named 'pkg_resources'

After this change:

$ sudo apk add py3-rsa && pyrsa-verify --help
(1/17) Installing libbz2 (1.0.8-r1)
(2/17) Installing libffi (3.3-r1)
(3/17) Installing gdbm (1.13-r1)
(4/17) Installing xz-libs (5.2.5-r0)
(5/17) Installing ncurses-terminfo-base (6.2_p20200404-r0)
(6/17) Installing ncurses-libs (6.2_p20200404-r0)
(7/17) Installing readline (8.0.4-r0)
(8/17) Installing sqlite-libs (3.31.1-r1)
(9/17) Installing python3 (3.8.2-r5)
(10/17) Installing py3-asn1 (0.4.7-r2)
(11/17) Installing py3-ordered-set (3.1.1-r0)
(12/17) Installing py3-appdirs (1.4.3-r2)
(13/17) Installing py3-parsing (2.4.7-r0)
(14/17) Installing py3-six (1.14.0-r1)
(15/17) Installing py3-packaging (20.3-r0)
(16/17) Installing py3-setuptools (46.1.3-r0)
(17/17) Installing py3-rsa (4.0-r1)
Executing busybox-1.31.1-r14.trigger
OK: 278 MiB in 74 packages
Usage: pyrsa-verify [options] public_key signature_file

Verifies a signature, exits with status 0 upon success, prints an error
message and exits with status 1 upon error.

Options:
  -h, --help            show this help message and exit
  -i INPUT, --input=INPUT
                        Name of the file to verify. Reads from stdin if not
                        specified.
  --keyform=KEYFORM     Key format of the public key - default PEM

The above commands were run inside docker-abuild with dabuild sh.

The change is required because /usr/bin/pyrsa-verify includes the line:

from pkg_resources import load_entry_point

That means that py3-setuptools is required at runtime:

$ python3 -c 'import pkg_resources; print(pkg_resources.__file__)'
/usr/lib/python3.8/site-packages/pkg_resources/__init__.py
$ apk info -q -W /usr/lib/python3.8/site-packages/pkg_resources/__init__.py
py3-setuptools

Merge request reports