Ошибка сборки рецепта для запросов unixsocket - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь создать следующий рецепт, который должен быть запрос-unixsocket

SUMMARY = "Use requests to talk HTTP via a UNIX domain socket"
HOMEPAGE = "https://github.com/msabramo/requests-unixsocket"
AUTHOR = "Marc Abramowitz <marc@marc-abramowitz.com>"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314"

SRC_URI = "https://files.pythonhosted.org/packages/4d/c/78b651fe0adbd4227578fa432d1bde03b4f4945a70c81e252a2b6a2d895f/requests-unixsocket-0.2.0.tar.gz"
SRC_URI[md5sum] = "ca405eabee3505e6d557752ba0d0db5e"
SRC_URI[sha256sum] = "9e5c1a20afc3cf786197ae59c79bcdb0e7565f218f27df5f891307ee8817c1ea"

S = "${WORKDIR}/requests-unixsocket-0.2.0"


DEPENDS_${PN} = "python3-pbr"
RDEPENDS_${PN} = "python3-requests python3-urllib3"

inherit setuptools

Однако это не удается с

ERROR: Logfile of failure stored in: /workdir/mender-qemu/build/tmp/work/core2-64-poky-linux/python3-requests-unixsocket/0.2.0-r0/temp/log.do_configure.89766
Log data follows:
| DEBUG: Executing shell function do_configure
| ERROR: Do not try to fetch `pbr' for building. Please add its native recipe to DEPENDS.

   ... elided
|   File "/workdir/mender-qemu/build/tmp/work/core2-64-poky-linux/python3-requests-    unixsocket/0.2.0-r0/recipe-sysroot-native/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 786, in resolve
|     raise DistributionNotFound(req, requirers)
| pkg_resources.DistributionNotFound: The 'pbr' distribution was not found and is required by the application
| WARNING: /workdir/mender-qemu/build/tmp/work/core2-64-poky-linux/python3-requests-unixsocket/0.2.0-r0/temp/run.do_configure.89766:1 exit 1 from 'NO_FETCH_BUILD=1 /workdir/mender-qemu/build/tmp/work/core2-64-poky-linux/python3-requests-unixsocket/0.2.0-r0/recipe-sysroot-native/usr/bin/python-native/python setup.py clean'

У меня есть рецепт для "python3 -pbr "который печет. Я не уверен в ошибках.

1 Ответ

1 голос
/ 09 апреля 2020

Зависимости времени сборки выражаются без _PN, поэтому оно должно быть DEPENDS и это должна быть нативная версия pbr, можно использовать inherit pypi и избегать ручного указания URI извлечения, так как при использовании python3 используется setuptools3 bbclass. что-то вроде ниже должно работать хорошо.

SUMMARY = "Use requests to talk HTTP via a UNIX domain socket"
HOMEPAGE = "https://github.com/msabramo/requests-unixsocket"
AUTHOR = "Marc Abramowitz <marc@marc-abramowitz.com>"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314"

inherit setuptools3 pypi

SRC_URI[md5sum] = "ca405eabee3505e6d557752ba0d0db5e"
SRC_URI[sha256sum] = "9e5c1a20afc3cf786197ae59c79bcdb0e7565f218f27df5f891307ee8817c1ea"

DEPENDS += "python3-pbr-native"
RDEPENDS_${PN} = "python3-requests python3-urllib3"
...