In multilib builds python3-config gets renamed to eg python3-config-lib64 but
this ends up being packaged in python3-core not python3-dev.
The manifest uses an extended glob to package all python* binaries that are not
python-config into python3-core:
"${bindir}/python*[!-config]",
However, this doesn't do what was intended, as [] is a range match.
Replace the globs with more verbose but precise matches, and clear out
FILES_${PN} to ensure that new binaries don't end up in ${PN} (which shouldn't
exist).
[ YOCTO #13592 ]
Signed-off-by: Ross Burton <ross.burton@intel.com>
"summary": "Python interpreter and core modules",
"rdepends": [],
"files": [
- "${bindir}/python*[!-config]",
+ "${bindir}/python3",
+ "${bindir}/python${PYTHON_MAJMIN}",
+ "${bindir}/python${PYTHON_MAJMIN}.real",
+ "${bindir}/python${PYTHON_BINABI}",
"${includedir}/python${PYTHON_BINABI}/pyconfig*.h",
"${prefix}/lib/python${PYTHON_MAJMIN}/config*/*[!.a]",
"${libdir}/python${PYTHON_MAJMIN}/UserDict.py",
"files": [
"${base_libdir}/*.a",
"${base_libdir}/*.o",
- "${bindir}/python*-config",
+ "${bindir}/python*-config*",
"${datadir}/aclocal",
"${datadir}/pkgconfig",
"${includedir}",
do_create_manifest[depends] += "${PN}:do_patch"
# manual dependency additions
-RPROVIDES_${PN}-modules = "${PN}"
RRECOMMENDS_${PN}-core_append_class-nativesdk = " nativesdk-python3-modules"
RRECOMMENDS_${PN}-crypt_append_class-target = " openssl ca-certificates"
RRECOMMENDS_${PN}-crypt_append_class-nativesdk = " openssl ca-certificates"
+# For historical reasons PN is empty and provided by python3-modules
+FILES_${PN} = ""
+RPROVIDES_${PN}-modules = "${PN}"
+
FILES_${PN}-pydoc += "${bindir}/pydoc${PYTHON_MAJMIN} ${bindir}/pydoc3"
FILES_${PN}-idle += "${bindir}/idle3 ${bindir}/idle${PYTHON_MAJMIN}"