Как заставить bitbake sstate-cache работать для рецепта -native PythonPython

Программы на Python
Anonymous
Как заставить bitbake sstate-cache работать для рецепта -native Python

Сообщение Anonymous »

Необходимо создать рецепт покрытия различий. К сожалению, похоже, что setup.py больше не является стандартным подходом (заменен на pyproject.toml), поэтому я не мог просто использовать обычный подход с наследованием setuptools.
Пробывал разные подходы, но в конце концов остановился на этом : https://stackoverflow.com/a/78437670/2244766 (установка whl с помощью pip).
поэтому мой рецепт:

Код: Выделить всё

SRC_URI = "https://files.pythonhosted.org/packages/91/c2/6477e1e2124d7234dfb2cd54fb0628e52f251731592c6d18a935c9c7579b/diff_cover-9.0.0-py3-none-any.whl"
SRC_URI[md5sum] = "11d4454368f293c83b28863c64af29e9"
SRC_URI[sha1sum] = "b1fb7a8e66d8f05cc8d2868ba6d5fc29d36c5d1d"
SRC_URI[sha256sum] = "31b308259b79e2cab5f30aff499a3ea3ba9475f0d495d82ba9b6caa7487bca03"
SRC_URI[sha384sum] = "465d03d7ea1c9a1a29d94e805c82e3d8e898f588b3ffa3b6c3ff331469546228c35be2141a21967743d480b9cc491152"
SRC_URI[sha512sum] = "3c1c9685087cec3e0fd1539397a784dff45d0af7d97ed537770a0c0521dfaecbdcb105b9f1ee0dccfd9365e7a800e8741ab51d8d6078715811859b744c3a957b"
+

Код: Выделить всё

SUMMARY = "Run coverage and linting reports on diffs"
HOMEPAGE = "https://github.com/Bachmann1234/diff_cover"
LICENSE = "CLOSED"
LIC_FILES_CHKSUM = ""

BBCLASSEXTEND = "native nativesdk"

SRC_URI:append = ";unpack=false"

inherit python3-dir

DEPENDS = "python3-pip"

WHL_BPN="${@ d.getVar('BPN').replace(d.getVar('PYTHON_PN')+'-', '', 1)}"

do_install() {
python3 -m pip install --find-links "${WORKDIR}" "${WHL_BPN}"
}
теперь проблема: при построении "случайно"(

Код: Выделить всё

bitbake python3-diff-cover-native
) все работает (я получаю все файлы Python в соответствующих сайтах-пакетах, а также желаемую «точку входа» в usr/bin. Но при использовании sstate кеша - у меня есть ничего.
Это можно легко (?) воспроизвести с помощью:
  • создайте исходный рецепт в
  • создать второе рабочее пространство (prepare_env...)
  • Код: Выделить всё

    echo 'SSTATE_DIR:append = "/build/sstate-cache"' >> conf/local.conf
  • сборка (

    Код: Выделить всё

    bitbake python3-diff-cover-native
    )
Как заставить это работать с sstate-cache?

Подробнее здесь: https://stackoverflow.com/questions/786 ... hon-recipe

Вернуться в «Python»