From patchwork Fri Mar 11 12:02:04 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ross Burton X-Patchwork-Id: 5092 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 40E5EC433F5 for ; Fri, 11 Mar 2022 12:02:12 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web08.4599.1647000131150839092 for ; Fri, 11 Mar 2022 04:02:11 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: ross.burton@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id E62B91762 for ; Fri, 11 Mar 2022 04:02:09 -0800 (PST) Received: from oss-tx204.lab.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 958AA3FA8E for ; Fri, 11 Mar 2022 04:02:09 -0800 (PST) From: Ross Burton To: openembedded-core@lists.openembedded.org Subject: [PATCH 1/2] meta: remove obsolete PIP_INSTALL_PACKAGE Date: Fri, 11 Mar 2022 12:02:04 +0000 Message-Id: <20220311120205.3020751-1-ross.burton@arm.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 11 Mar 2022 12:02:12 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/163048 PIP_INSTALL_PACKAGE isn't used anymore, so remove all instances of it from the recipes. Signed-off-by: Ross Burton --- meta/recipes-devtools/meson/meson_0.61.2.bb | 2 -- meta/recipes-devtools/python/python3-dbusmock_0.26.1.bb | 1 - meta/recipes-devtools/python/python3-flit-core_3.7.1.bb | 1 - meta/recipes-devtools/python/python3-libarchive-c_4.0.bb | 2 -- meta/recipes-devtools/python/python3-magic_0.4.25.bb | 1 - meta/recipes-devtools/python/python3-more-itertools_8.12.0.bb | 2 -- meta/recipes-devtools/python/python3-numpy_1.22.2.bb | 1 - meta/recipes-devtools/python/python3-strict-rfc3339_0.7.bb | 2 -- meta/recipes-devtools/python/python3-subunit_1.4.0.bb | 2 -- meta/recipes-extended/asciidoc/asciidoc_10.1.4.bb | 1 - meta/recipes-gnome/gi-docgen/gi-docgen_git.bb | 1 - meta/recipes-support/bmap-tools/bmap-tools_git.bb | 2 -- 12 files changed, 18 deletions(-) diff --git a/meta/recipes-devtools/meson/meson_0.61.2.bb b/meta/recipes-devtools/meson/meson_0.61.2.bb index a51db1e3d4..8304bfdac9 100644 --- a/meta/recipes-devtools/meson/meson_0.61.2.bb +++ b/meta/recipes-devtools/meson/meson_0.61.2.bb @@ -23,8 +23,6 @@ UPSTREAM_CHECK_REGEX = "meson-(?P\d+(\.\d+)+)\.tar" inherit setuptools_build_meta -PIP_INSTALL_PACKAGE = "meson" - RDEPENDS:${PN} = "ninja python3-modules python3-pkg-resources" FILES:${PN} += "${datadir}/polkit-1" diff --git a/meta/recipes-devtools/python/python3-dbusmock_0.26.1.bb b/meta/recipes-devtools/python/python3-dbusmock_0.26.1.bb index d892ac9804..dc98810726 100644 --- a/meta/recipes-devtools/python/python3-dbusmock_0.26.1.bb +++ b/meta/recipes-devtools/python/python3-dbusmock_0.26.1.bb @@ -7,7 +7,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02" SRC_URI[sha256sum] = "0e95ef6ec1e6b58aeb0e08839a76972debea94184570f09e29e5f12551399e55" PYPI_PACKAGE = "python-dbusmock" -PIP_INSTALL_PACKAGE = "python_dbusmock" inherit pypi setuptools3 diff --git a/meta/recipes-devtools/python/python3-flit-core_3.7.1.bb b/meta/recipes-devtools/python/python3-flit-core_3.7.1.bb index c6bc24555e..1f14345d50 100644 --- a/meta/recipes-devtools/python/python3-flit-core_3.7.1.bb +++ b/meta/recipes-devtools/python/python3-flit-core_3.7.1.bb @@ -19,7 +19,6 @@ DEPENDS:append:class-native = " unzip-native" # We need the full flit tarball PYPI_PACKAGE = "flit" PEP517_SOURCE_PATH = "${S}/flit_core" -PIP_INSTALL_PACKAGE = "flit_core" do_install:class-native () { pip_install_wheel_do_bootstrap_install diff --git a/meta/recipes-devtools/python/python3-libarchive-c_4.0.bb b/meta/recipes-devtools/python/python3-libarchive-c_4.0.bb index 99837848a6..3c6bc1e1ca 100644 --- a/meta/recipes-devtools/python/python3-libarchive-c_4.0.bb +++ b/meta/recipes-devtools/python/python3-libarchive-c_4.0.bb @@ -9,8 +9,6 @@ PYPI_PACKAGE = "libarchive-c" inherit pypi setuptools3 -PIP_INSTALL_PACKAGE = "libarchive_c" - SRC_URI[sha256sum] = "a5b41ade94ba58b198d778e68000f6b7de41da768de7140c984f71d7fa8416e5" RDEPENDS:${PN} += "\ diff --git a/meta/recipes-devtools/python/python3-magic_0.4.25.bb b/meta/recipes-devtools/python/python3-magic_0.4.25.bb index bd46b294ae..efc8b6daaa 100644 --- a/meta/recipes-devtools/python/python3-magic_0.4.25.bb +++ b/meta/recipes-devtools/python/python3-magic_0.4.25.bb @@ -8,7 +8,6 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=61495c152d794e6be5799a9edca149e3" PYPI_PACKAGE = "python-magic" -PIP_INSTALL_PACKAGE = "python_magic" inherit pypi setuptools3 diff --git a/meta/recipes-devtools/python/python3-more-itertools_8.12.0.bb b/meta/recipes-devtools/python/python3-more-itertools_8.12.0.bb index 5788af3f71..c1e34b205d 100644 --- a/meta/recipes-devtools/python/python3-more-itertools_8.12.0.bb +++ b/meta/recipes-devtools/python/python3-more-itertools_8.12.0.bb @@ -7,8 +7,6 @@ SRC_URI[sha256sum] = "7dc6ad46f05f545f900dd59e8dfb4e84a4827b97b3cfecb175ea0c7d24 inherit pypi setuptools3 ptest -PIP_INSTALL_PACKAGE = "more_itertools" - SRC_URI += " \ file://run-ptest \ " diff --git a/meta/recipes-devtools/python/python3-numpy_1.22.2.bb b/meta/recipes-devtools/python/python3-numpy_1.22.2.bb index 43e7427eab..6ceb451ff3 100644 --- a/meta/recipes-devtools/python/python3-numpy_1.22.2.bb +++ b/meta/recipes-devtools/python/python3-numpy_1.22.2.bb @@ -20,7 +20,6 @@ UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)\.tar" DEPENDS += "python3-cython-native" inherit ptest setuptools3 -PIP_INSTALL_PACKAGE = "numpy" S = "${WORKDIR}/numpy-${PV}" diff --git a/meta/recipes-devtools/python/python3-strict-rfc3339_0.7.bb b/meta/recipes-devtools/python/python3-strict-rfc3339_0.7.bb index b592cb95d4..c377c3bfb0 100644 --- a/meta/recipes-devtools/python/python3-strict-rfc3339_0.7.bb +++ b/meta/recipes-devtools/python/python3-strict-rfc3339_0.7.bb @@ -8,6 +8,4 @@ SRC_URI[sha256sum] = "5cad17bedfc3af57b399db0fed32771f18fc54bbd917e85546088607ac inherit pypi setuptools3 -PIP_INSTALL_PACKAGE = "strict_rfc3339" - BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/python/python3-subunit_1.4.0.bb b/meta/recipes-devtools/python/python3-subunit_1.4.0.bb index bc49a2b69e..e4e3bf191d 100644 --- a/meta/recipes-devtools/python/python3-subunit_1.4.0.bb +++ b/meta/recipes-devtools/python/python3-subunit_1.4.0.bb @@ -10,8 +10,6 @@ SRC_URI[sha256sum] = "042039928120fbf392e8c983d60f3d8ae1b88f90a9f8fd7188ddd9c26c inherit pypi setuptools3 -PIP_INSTALL_PACKAGE = "python_subunit" - RDEPENDS:${PN} = " python3-testtools" BBCLASSEXTEND = "nativesdk" diff --git a/meta/recipes-extended/asciidoc/asciidoc_10.1.4.bb b/meta/recipes-extended/asciidoc/asciidoc_10.1.4.bb index 484250b33e..4ab9edbce4 100644 --- a/meta/recipes-extended/asciidoc/asciidoc_10.1.4.bb +++ b/meta/recipes-extended/asciidoc/asciidoc_10.1.4.bb @@ -21,7 +21,6 @@ S = "${WORKDIR}/git" export SGML_CATALOG_FILES="file://${STAGING_ETCDIR_NATIVE}/xml/catalog" inherit setuptools3 -PIP_INSTALL_PACKAGE = "asciidoc" CLEANBROKEN = "1" BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-gnome/gi-docgen/gi-docgen_git.bb b/meta/recipes-gnome/gi-docgen/gi-docgen_git.bb index 67617fca39..6a7124c3fe 100644 --- a/meta/recipes-gnome/gi-docgen/gi-docgen_git.bb +++ b/meta/recipes-gnome/gi-docgen/gi-docgen_git.bb @@ -16,7 +16,6 @@ SRCREV = "37b04455ff58cb2ec3f58917d0737c435344f2fb" S = "${WORKDIR}/git" inherit setuptools3 -PIP_INSTALL_PACKAGE = "gi_docgen" RDEPENDS:${PN} += "python3-asyncio python3-core python3-jinja2 python3-json python3-markdown python3-markupsafe python3-pygments python3-toml python3-typogrify python3-xml" diff --git a/meta/recipes-support/bmap-tools/bmap-tools_git.bb b/meta/recipes-support/bmap-tools/bmap-tools_git.bb index 2999fdcea1..78c51e7731 100644 --- a/meta/recipes-support/bmap-tools/bmap-tools_git.bb +++ b/meta/recipes-support/bmap-tools/bmap-tools_git.bb @@ -23,6 +23,4 @@ RDEPENDS:${PN} = "python3-core python3-compression python3-mmap python3-setuptoo inherit setuptools3 -PIP_INSTALL_PACKAGE = "bmap_tools" - BBCLASSEXTEND = "native nativesdk" From patchwork Fri Mar 11 12:02:05 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ross Burton X-Patchwork-Id: 5093 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2A86BC433FE for ; Fri, 11 Mar 2022 12:02:13 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web10.4497.1647000131756506165 for ; Fri, 11 Mar 2022 04:02:12 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: ross.burton@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 787921763 for ; Fri, 11 Mar 2022 04:02:10 -0800 (PST) Received: from oss-tx204.lab.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 27E693F99C for ; Fri, 11 Mar 2022 04:02:10 -0800 (PST) From: Ross Burton To: openembedded-core@lists.openembedded.org Subject: [PATCH 2/2] meta: rename pip_install_wheel.bbclass to python_pep517.bbclass Date: Fri, 11 Mar 2022 12:02:05 +0000 Message-Id: <20220311120205.3020751-2-ross.burton@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220311120205.3020751-1-ross.burton@arm.com> References: <20220311120205.3020751-1-ross.burton@arm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 11 Mar 2022 12:02:13 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/163049 pip_install_wheel shouldn't restricted to just using Pip to install wheels (the installer module is simplier and likely a better option), and in the future may be extended to also provide do_compile() using the build module. Signed-off-by: Ross Burton --- meta/classes/flit_core.bbclass | 6 ++--- ...ll_wheel.bbclass => python_pep517.bbclass} | 27 ++++++++++--------- meta/classes/setuptools3.bbclass | 8 +++--- meta/classes/setuptools_build_meta.bbclass | 6 ++--- .../python/python3-flit-core_3.7.1.bb | 2 +- .../python/python3-wheel_0.37.1.bb | 2 +- 6 files changed, 27 insertions(+), 24 deletions(-) rename meta/classes/{pip_install_wheel.bbclass => python_pep517.bbclass} (56%) diff --git a/meta/classes/flit_core.bbclass b/meta/classes/flit_core.bbclass index ce162bb75b..1ef8ce9429 100644 --- a/meta/classes/flit_core.bbclass +++ b/meta/classes/flit_core.bbclass @@ -1,4 +1,4 @@ -inherit pip_install_wheel python3native python3-dir setuptools3-base +inherit python_pep517 python3native python3-dir setuptools3-base DEPENDS += "python3 python3-flit-core-native" @@ -12,8 +12,8 @@ PEP517_SOURCE_PATH ?= "${S}" # TODO: ideally this uses pypa/build flit_core_do_compile () { cd ${PEP517_SOURCE_PATH} - nativepython3 -mflit_core.wheel --outdir ${PIP_INSTALL_DIST_PATH} + nativepython3 -mflit_core.wheel --outdir ${PEP517_WHEEL_PATH} } -do_compile[cleandirs] += "${PIP_INSTALL_DIST_PATH}" +do_compile[cleandirs] += "${PEP517_WHEEL_PATH}" EXPORT_FUNCTIONS do_configure do_compile diff --git a/meta/classes/pip_install_wheel.bbclass b/meta/classes/python_pep517.bbclass similarity index 56% rename from meta/classes/pip_install_wheel.bbclass rename to meta/classes/python_pep517.bbclass index 29cd544aa3..76660e70f8 100644 --- a/meta/classes/pip_install_wheel.bbclass +++ b/meta/classes/python_pep517.bbclass @@ -1,9 +1,12 @@ +# Common infrastructure for Python packages that use PEP-517 compliant packaging. +# https://www.python.org/dev/peps/pep-0517/ + DEPENDS:append = " python3-pip-native" # The directory where wheels should be written too. Build classes # will ideally [cleandirs] this but we don't do that here in case # a recipe wants to install prebuilt wheels. -PIP_INSTALL_DIST_PATH ?= "${WORKDIR}/dist" +PEP517_WHEEL_PATH ?= "${WORKDIR}/dist" PIP_INSTALL_ARGS = "\ -vvvv \ @@ -15,24 +18,24 @@ PIP_INSTALL_ARGS = "\ --prefix=${prefix} \ " -PIP_INSTALL_PYTHON = "python3" -PIP_INSTALL_PYTHON:class-native = "nativepython3" +PEP517_INSTALL_PYTHON = "python3" +PEP517_INSTALL_PYTHON:class-native = "nativepython3" -pip_install_wheel_do_install () { - COUNT=$(find ${PIP_INSTALL_DIST_PATH} -name '*.whl' | wc -l) +python_pep517_do_install () { + COUNT=$(find ${PEP517_WHEEL_PATH} -name '*.whl' | wc -l) if test $COUNT -eq 0; then - bbfatal No wheels found in ${PIP_INSTALL_DIST_PATH} + bbfatal No wheels found in ${PEP517_WHEEL_PATH} elif test $COUNT -gt 1; then - bbfatal More than one wheel found in ${PIP_INSTALL_DIST_PATH}, this should not happen + bbfatal More than one wheel found in ${PEP517_WHEEL_PATH}, this should not happen fi - nativepython3 -m pip install ${PIP_INSTALL_ARGS} ${PIP_INSTALL_DIST_PATH}/*.whl + nativepython3 -m pip install ${PIP_INSTALL_ARGS} ${PEP517_WHEEL_PATH}/*.whl cd ${D} for i in ${D}${bindir}/* ${D}${sbindir}/*; do if [ -f "$i" ]; then - sed -i -e "1s,#!.*nativepython3,#!${USRBINPATH}/env ${PIP_INSTALL_PYTHON}," $i - sed -i -e "s:${PYTHON}:${USRBINPATH}/env\ ${PIP_INSTALL_PYTHON}:g" $i + sed -i -e "1s,#!.*nativepython3,#!${USRBINPATH}/env ${PEP517_INSTALL_PYTHON}," $i + sed -i -e "s:${PYTHON}:${USRBINPATH}/env\ ${PEP517_INSTALL_PYTHON}:g" $i sed -i -e "s:${STAGING_BINDIR_NATIVE}:${bindir}:g" $i # Not everything we find may be Python, so ignore errors nativepython3 -mpy_compile $(realpath --relative-to=${D} $i) || true @@ -41,9 +44,9 @@ pip_install_wheel_do_install () { } # A manual do_install that just uses unzip for bootstrapping purposes. Callers should DEPEND on unzip-native. -pip_install_wheel_do_bootstrap_install () { +python_pep517_do_bootstrap_install () { install -d ${D}${PYTHON_SITEPACKAGES_DIR} - unzip -d ${D}${PYTHON_SITEPACKAGES_DIR} ${PIP_INSTALL_DIST_PATH}/*.whl + unzip -d ${D}${PYTHON_SITEPACKAGES_DIR} ${PEP517_WHEEL_PATH}/*.whl } EXPORT_FUNCTIONS do_install diff --git a/meta/classes/setuptools3.bbclass b/meta/classes/setuptools3.bbclass index dcf3561b8d..556bc801af 100644 --- a/meta/classes/setuptools3.bbclass +++ b/meta/classes/setuptools3.bbclass @@ -1,4 +1,4 @@ -inherit setuptools3-base pip_install_wheel +inherit setuptools3-base python_pep517 # bdist_wheel builds in ./dist #B = "${WORKDIR}/build" @@ -17,14 +17,14 @@ setuptools3_do_compile() { STAGING_INCDIR=${STAGING_INCDIR} \ STAGING_LIBDIR=${STAGING_LIBDIR} \ ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py \ - bdist_wheel --verbose --dist-dir ${PIP_INSTALL_DIST_PATH} ${SETUPTOOLS_BUILD_ARGS} || \ + bdist_wheel --verbose --dist-dir ${PEP517_WHEEL_PATH} ${SETUPTOOLS_BUILD_ARGS} || \ bbfatal_log "'${PYTHON_PN} setup.py bdist_wheel ${SETUPTOOLS_BUILD_ARGS}' execution failed." } setuptools3_do_compile[vardepsexclude] = "MACHINE" -do_compile[cleandirs] += "${PIP_INSTALL_DIST_PATH}" +do_compile[cleandirs] += "${PEP517_WHEEL_PATH}" setuptools3_do_install() { - pip_install_wheel_do_install + python_pep517_do_install } EXPORT_FUNCTIONS do_configure do_compile do_install diff --git a/meta/classes/setuptools_build_meta.bbclass b/meta/classes/setuptools_build_meta.bbclass index 787fbd5f36..424be85608 100644 --- a/meta/classes/setuptools_build_meta.bbclass +++ b/meta/classes/setuptools_build_meta.bbclass @@ -1,4 +1,4 @@ -inherit pip_install_wheel setuptools3-base +inherit setuptools3-base python_pep517 DEPENDS += "python3-setuptools-native python3-wheel-native" @@ -12,8 +12,8 @@ setuptools_build_meta_do_configure () { # TODO: ideally this uses pypa/build setuptools_build_meta_do_compile () { cd ${PEP517_SOURCE_PATH} - nativepython3 -c "from setuptools import build_meta; build_meta.build_wheel('${PIP_INSTALL_DIST_PATH}')" + nativepython3 -c "from setuptools import build_meta; build_meta.build_wheel('${PEP517_WHEEL_PATH}')" } -do_compile[cleandirs] += "${PIP_INSTALL_DIST_PATH}" +do_compile[cleandirs] += "${PEP517_WHEEL_PATH}" EXPORT_FUNCTIONS do_configure do_compile diff --git a/meta/recipes-devtools/python/python3-flit-core_3.7.1.bb b/meta/recipes-devtools/python/python3-flit-core_3.7.1.bb index 1f14345d50..b12b8e42d7 100644 --- a/meta/recipes-devtools/python/python3-flit-core_3.7.1.bb +++ b/meta/recipes-devtools/python/python3-flit-core_3.7.1.bb @@ -21,7 +21,7 @@ PYPI_PACKAGE = "flit" PEP517_SOURCE_PATH = "${S}/flit_core" do_install:class-native () { - pip_install_wheel_do_bootstrap_install + python_pep517_do_bootstrap_install } PACKAGES =+ "${PN}-tests" diff --git a/meta/recipes-devtools/python/python3-wheel_0.37.1.bb b/meta/recipes-devtools/python/python3-wheel_0.37.1.bb index cf0d8191b4..a339e65824 100644 --- a/meta/recipes-devtools/python/python3-wheel_0.37.1.bb +++ b/meta/recipes-devtools/python/python3-wheel_0.37.1.bb @@ -13,7 +13,7 @@ SRC_URI += " file://0001-Backport-pyproject.toml-from-flit-backend-branch.patch" DEPENDS:remove:class-native = "python3-pip-native" do_install:class-native () { - pip_install_wheel_do_bootstrap_install + python_pep517_do_bootstrap_install # pip install would normally generate [project.scripts] in ${bindir} install -d ${D}/${bindir}