From: Tim Orling Date: Wed, 23 Feb 2022 22:09:13 +0000 (-0800) Subject: python3-wheel-native: install ${bindir}/wheel X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~5076 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=19e83270d17984cf6b471c387eb08103816b359f;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git python3-wheel-native: install ${bindir}/wheel pip install would normally install [project.scripts] to ${D}${bindir} but our naïve bootstrapping only unzipps the wheel to ${D}${PYTHON_SITEPACKAGES_DIR}. Correct this by creating the equivalent script in do_install:class-native [YOCTO #14739] Signed-off-by: Tim Orling Signed-off-by: Richard Purdie --- 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 c7354c9d982..91bff825097 100644 --- a/meta/recipes-devtools/python/python3-wheel_0.37.1.bb +++ b/meta/recipes-devtools/python/python3-wheel_0.37.1.bb @@ -18,6 +18,22 @@ do_install:class-native () { PYPA_WHEEL="${B}/dist/${PYPI_PACKAGE}-${PV}-*.whl" unzip -d ${D}${PYTHON_SITEPACKAGES_DIR} ${PYPA_WHEEL} || \ bbfatal_log "Failed to install" + + # pip install would normally generate [project.scripts] in ${bindir} + install -d ${D}/${bindir} + cat << EOF >> ${D}/${bindir}/wheel +#!/bin/sh +'''exec' ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} "\$0" "\$@" +' ''' +# -*- coding: utf-8 -*- +import re +import sys +from wheel.cli import main +if __name__ == '__main__': + sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) + sys.exit(main()) +EOF + chmod 0755 ${D}${bindir}/wheel } BBCLASSEXTEND = "native nativesdk"