On Mon, Aug 9, 2021 at 9:08 PM Purushottam choudhary
<[email protected]> wrote:
>
> Currently in dunfell branch python3 version is 3.8.11.
> so, python3_3.8.10.bb is not needed.
> Hence, removed.

I don't feel good about removing a recipe from a stable release.
There may be people who are using 3.8.10 for whatever reason and
removing the recipe would break their builds.

Steve

> ---
>  meta/recipes-devtools/python/python3_3.8.10.bb | 363 
> -------------------------
>  1 file changed, 363 deletions(-)
>  delete mode 100644 meta/recipes-devtools/python/python3_3.8.10.bb
>
> diff --git a/meta/recipes-devtools/python/python3_3.8.10.bb 
> b/meta/recipes-devtools/python/python3_3.8.10.bb
> deleted file mode 100644
> index 7295c63..0000000
> --- a/meta/recipes-devtools/python/python3_3.8.10.bb
> +++ /dev/null
> @@ -1,363 +0,0 @@
> -SUMMARY = "The Python Programming Language"
> -HOMEPAGE = "http://www.python.org";
> -DESCRIPTION = "Python is a programming language that lets you work more 
> quickly and integrate your systems more effectively."
> -LICENSE = "PSF-2.0 & BSD-0-Clause"
> -SECTION = "devel/python"
> -
> -LIC_FILES_CHKSUM = "file://LICENSE;md5=c22d2438294c784731bf9dd224a467b7"
> -
> -SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
> -           file://run-ptest \
> -           file://create_manifest3.py \
> -           file://get_module_deps3.py \
> -           file://python3-manifest.json \
> -           file://check_build_completeness.py \
> -           file://cgi_py.patch \
> -           
> file://0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch \
> -           ${@bb.utils.contains('PACKAGECONFIG', 'tk', '', 
> 'file://avoid_warning_about_tkinter.patch', d)} \
> -           
> file://0001-Do-not-use-the-shell-version-of-python-config-that-w.patch \
> -           file://python-config.patch \
> -           
> file://0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch \
> -           
> file://0001-Do-not-hardcode-lib-as-location-for-site-packages-an.patch \
> -           
> file://0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch \
> -           
> file://0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch \
> -           
> file://0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch \
> -           
> file://0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch \
> -           file://crosspythonpath.patch \
> -           file://reformat_sysconfig.py \
> -           file://0001-Use-FLAG_REF-always-for-interned-strings.patch \
> -           file://0001-test_locale.py-correct-the-test-output-format.patch \
> -           
> file://0017-setup.py-do-not-report-missing-dependencies-for-disa.patch \
> -           
> file://0001-setup.py-pass-missing-libraries-to-Extension-for-mul.patch \
> -           file://0001-Makefile-do-not-compile-.pyc-in-parallel.patch \
> -           file://0001-configure.ac-fix-LIBPL.patch \
> -           file://0001-python3-Do-not-hardcode-lib-for-distutils.patch \
> -           
> file://0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch \
> -           file://0001-test_ctypes.test_find-skip-without-tools-sdk.patch \
> -           "
> -
> -SRC_URI_append_class-native = " \
> -           
> file://0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch \
> -           file://12-distutils-prefix-is-inside-staging-area.patch \
> -           file://0001-Don-t-search-system-for-headers-libraries.patch \
> -           "
> -
> -SRC_URI[md5sum] = "d9eee4b20155553830a2025e4dcaa7b3"
> -SRC_URI[sha256sum] = 
> "6af24a66093dd840bcccf371d4044a3027e655cf24591ce26e48022bc79219d9"
> -
> -# exclude pre-releases for both python 2.x and 3.x
> -UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar"
> -
> -CVE_PRODUCT = "python"
> -
> -# Upstream consider this expected behaviour
> -CVE_CHECK_WHITELIST += "CVE-2007-4559"
> -# This is not exploitable when glibc has CVE-2016-10739 fixed.
> -CVE_CHECK_WHITELIST += "CVE-2019-18348"
> -
> -# This is windows only issue.
> -CVE_CHECK_WHITELIST += "CVE-2020-15523"
> -
> -PYTHON_MAJMIN = "3.8"
> -
> -S = "${WORKDIR}/Python-${PV}"
> -
> -BBCLASSEXTEND = "native nativesdk"
> -
> -inherit autotools pkgconfig qemu ptest multilib_header update-alternatives
> -
> -MULTILIB_SUFFIX = "${@d.getVar('base_libdir',1).split('/')[-1]}"
> -
> -ALTERNATIVE_${PN}-dev = "python3-config"
> -ALTERNATIVE_LINK_NAME[python3-config] = 
> "${bindir}/python${PYTHON_MAJMIN}-config"
> -ALTERNATIVE_TARGET[python3-config] = 
> "${bindir}/python${PYTHON_MAJMIN}-config-${MULTILIB_SUFFIX}"
> -
> -
> -DEPENDS = "bzip2-replacement-native libffi bzip2 openssl sqlite3 zlib 
> virtual/libintl xz virtual/crypt util-linux libtirpc libnsl2 autoconf-archive"
> -DEPENDS_append_class-target = " python3-native"
> -DEPENDS_append_class-nativesdk = " python3-native"
> -
> -EXTRA_OECONF = " --without-ensurepip --enable-shared"
> -EXTRA_OECONF_append_class-native = " --bindir=${bindir}/${PN}"
> -
> -export 
> CROSSPYTHONPATH="${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/"
> -
> -EXTRANATIVEPATH += "python3-native"
> -
> -CACHED_CONFIGUREVARS = " \
> -                ac_cv_file__dev_ptmx=yes \
> -                ac_cv_file__dev_ptc=no \
> -                ac_cv_working_tzset=yes \
> -"
> -python() {
> -    # PGO currently causes builds to not be reproducible, so disable it for
> -    # now. See YOCTO #13407
> -    if bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', True, False, 
> d) and d.getVar('BUILD_REPRODUCIBLE_BINARIES') != '1':
> -        d.setVar('PACKAGECONFIG_PGO', 'pgo')
> -    else:
> -        d.setVar('PACKAGECONFIG_PGO', '')
> -}
> -
> -PACKAGECONFIG_class-target ??= "readline ${PACKAGECONFIG_PGO} gdbm"
> -PACKAGECONFIG_class-native ??= "readline gdbm"
> -PACKAGECONFIG_class-nativesdk ??= "readline gdbm"
> -PACKAGECONFIG[readline] = ",,readline"
> -# Use profile guided optimisation by running PyBench inside qemu-user
> -PACKAGECONFIG[pgo] = "--enable-optimizations,,qemu-native"
> -PACKAGECONFIG[tk] = ",,tk"
> -PACKAGECONFIG[gdbm] = ",,gdbm"
> -
> -do_configure_prepend () {
> -    mkdir -p ${B}/Modules
> -    cat > ${B}/Modules/Setup.local << EOF
> -*disabled*
> -${@bb.utils.contains('PACKAGECONFIG', 'gdbm', '', '_gdbm _dbm', d)}
> -${@bb.utils.contains('PACKAGECONFIG', 'readline', '', 'readline', d)}
> -EOF
> -}
> -
> -CPPFLAGS_append = " -I${STAGING_INCDIR}/ncursesw -I${STAGING_INCDIR}/uuid"
> -
> -EXTRA_OEMAKE = '\
> -  STAGING_LIBDIR=${STAGING_LIBDIR} \
> -  STAGING_INCDIR=${STAGING_INCDIR} \
> -  LIB=${baselib} \
> -'
> -
> -do_compile_prepend_class-target() {
> -       if ${@bb.utils.contains('PACKAGECONFIG', 'pgo', 'true', 'false', d)}; 
> then
> -                qemu_binary="${@qemu_wrapper_cmdline(d, 
> '${STAGING_DIR_TARGET}', ['${B}', '${STAGING_DIR_TARGET}/${base_libdir}'])}"
> -                cat >pgo-wrapper <<EOF
> -#!/bin/sh
> -cd ${B}
> -$qemu_binary "\$@"
> -EOF
> -                chmod +x pgo-wrapper
> -        fi
> -}
> -
> -do_install_prepend() {
> -        ${WORKDIR}/check_build_completeness.py ${T}/log.do_compile
> -}
> -
> -do_install_append_class-target() {
> -        oe_multilib_header python${PYTHON_MAJMIN}/pyconfig.h
> -}
> -
> -do_install_append_class-native() {
> -        # Make sure we use /usr/bin/env python
> -        for PYTHSCRIPT in `grep -rIl ${bindir}/${PN}/python 
> ${D}${bindir}/${PN}`; do
> -                sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' $PYTHSCRIPT
> -        done
> -        # Add a symlink to the native Python so that scripts can just invoke
> -        # "nativepython" and get the right one without needing absolute paths
> -        # (these often end up too long for the #! parser in the kernel as the
> -        # buffer is 128 bytes long).
> -        ln -s python3-native/python3 ${D}${bindir}/nativepython3
> -}
> -
> -do_install_append() {
> -        mkdir -p ${D}${libdir}/python-sysconfigdata
> -        sysconfigfile=`find ${D} -name _sysconfig*.py`
> -        cp $sysconfigfile 
> ${D}${libdir}/python-sysconfigdata/_sysconfigdata.py
> -
> -        sed -i  \
> -                -e "s,^ 'LIBDIR'.*, 'LIBDIR': '${STAGING_LIBDIR}'\,,g" \
> -                -e "s,^ 'INCLUDEDIR'.*, 'INCLUDEDIR': 
> '${STAGING_INCDIR}'\,,g" \
> -                -e "s,^ 'CONFINCLUDEDIR'.*, 'CONFINCLUDEDIR': 
> '${STAGING_INCDIR}'\,,g" \
> -                -e "/^ 'INCLDIRSTOMAKE'/{N; 
> s,/usr/include,${STAGING_INCDIR},g}" \
> -                -e "/^ 'INCLUDEPY'/s,/usr/include,${STAGING_INCDIR},g" \
> -                ${D}${libdir}/python-sysconfigdata/_sysconfigdata.py
> -}
> -
> -do_install_append_class-nativesdk () {
> -    create_wrapper ${D}${bindir}/python${PYTHON_MAJMIN} 
> TERMINFO_DIRS='${sysconfdir}/terminfo:/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo'
>  PYTHONNOUSERSITE='1'
> -}
> -
> -SSTATE_SCAN_FILES += "Makefile _sysconfigdata.py"
> -PACKAGE_PREPROCESS_FUNCS += "py_package_preprocess"
> -
> -py_package_preprocess () {
> -        # Remove references to buildmachine paths in target Makefile and 
> _sysconfigdata
> -        sed -i -e 's:--sysroot=${STAGING_DIR_TARGET}::g' -e 
> s:'--with-libtool-sysroot=${STAGING_DIR_TARGET}'::g \
> -                -e 's|${DEBUG_PREFIX_MAP}||g' \
> -                -e 's:${HOSTTOOLS_DIR}/::g' \
> -                -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
> -                -e 's:${RECIPE_SYSROOT}::g' \
> -                -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \
> -                
> ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}${PYTHON_ABI}*/Makefile
>  \
> -                ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py \
> -                ${PKGD}/${bindir}/python${PYTHON_MAJMIN}-config
> -
> -        # Reformat _sysconfigdata after modifying it so that it remains
> -        # reproducible
> -        for c in 
> ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py; do
> -            python3 ${WORKDIR}/reformat_sysconfig.py $c
> -        done
> -
> -        # Recompile _sysconfigdata after modifying it
> -        cd ${PKGD}
> -        sysconfigfile=`find . -name _sysconfigdata_*.py`
> -        ${STAGING_BINDIR_NATIVE}/python3-native/python3 \
> -             -c "from py_compile import compile; compile('$sysconfigfile')"
> -        ${STAGING_BINDIR_NATIVE}/python3-native/python3 \
> -             -c "from py_compile import compile; compile('$sysconfigfile', 
> optimize=1)"
> -        ${STAGING_BINDIR_NATIVE}/python3-native/python3 \
> -             -c "from py_compile import compile; compile('$sysconfigfile', 
> optimize=2)"
> -        cd -
> -
> -        mv ${PKGD}/${bindir}/python${PYTHON_MAJMIN}-config 
> ${PKGD}/${bindir}/python${PYTHON_MAJMIN}-config-${MULTILIB_SUFFIX}
> -
> -        #Remove the unneeded copy of target sysconfig data
> -        rm -rf ${PKGD}/${libdir}/python-sysconfigdata
> -}
> -
> -# We want bytecode precompiled .py files (.pyc's) by default
> -# but the user may set it on their own conf
> -INCLUDE_PYCS ?= "1"
> -
> -python(){
> -    import collections, json
> -
> -    filename = os.path.join(d.getVar('THISDIR'), 'python3', 
> 'python3-manifest.json')
> -    # This python changes the datastore based on the contents of a file, so 
> mark
> -    # that dependency.
> -    bb.parse.mark_dependency(d, filename)
> -
> -    with open(filename) as manifest_file:
> -        manifest_str =  manifest_file.read()
> -        json_start = manifest_str.find('# EOC') + 6
> -        manifest_file.seek(json_start)
> -        manifest_str = manifest_file.read()
> -        python_manifest = json.loads(manifest_str, 
> object_pairs_hook=collections.OrderedDict)
> -
> -    # First set RPROVIDES for -native case
> -    # Hardcoded since it cant be python3-native-foo, should be 
> python3-foo-native
> -    pn = 'python3'
> -    rprovides = d.getVar('RPROVIDES').split()
> -
> -    # ${PN}-misc-native is not in the manifest
> -    rprovides.append(pn + '-misc-native')
> -
> -    for key in python_manifest:
> -        pypackage = pn + '-' + key + '-native'
> -        if pypackage not in rprovides:
> -              rprovides.append(pypackage)
> -
> -    d.setVar('RPROVIDES_class-native', ' '.join(rprovides))
> -
> -    # Then work on the target
> -    include_pycs = d.getVar('INCLUDE_PYCS')
> -
> -    packages = d.getVar('PACKAGES').split()
> -    pn = d.getVar('PN')
> -
> -    newpackages=[]
> -    for key in python_manifest:
> -        pypackage = pn + '-' + key
> -
> -        if pypackage not in packages:
> -            # We need to prepend, otherwise python-misc gets everything
> -            # so we use a new variable
> -            newpackages.append(pypackage)
> -
> -        # "Build" python's manifest FILES, RDEPENDS and SUMMARY
> -        d.setVar('FILES_' + pypackage, '')
> -        for value in python_manifest[key]['files']:
> -            d.appendVar('FILES_' + pypackage, ' ' + value)
> -
> -        # Add cached files
> -        if include_pycs == '1':
> -            for value in python_manifest[key]['cached']:
> -                    d.appendVar('FILES_' + pypackage, ' ' + value)
> -
> -        for value in python_manifest[key]['rdepends']:
> -            # Make it work with or without $PN
> -            if '${PN}' in value:
> -                value=value.split('-', 1)[1]
> -            d.appendVar('RDEPENDS_' + pypackage, ' ' + pn + '-' + value)
> -
> -        for value in python_manifest[key].get('rrecommends', ()):
> -            if '${PN}' in value:
> -                value=value.split('-', 1)[1]
> -            d.appendVar('RRECOMMENDS_' + pypackage, ' ' + pn + '-' + value)
> -
> -        d.setVar('SUMMARY_' + pypackage, python_manifest[key]['summary'])
> -
> -    # Prepending so to avoid python-misc getting everything
> -    packages = newpackages + packages
> -    d.setVar('PACKAGES', ' '.join(packages))
> -    d.setVar('ALLOW_EMPTY_${PN}-modules', '1')
> -    d.setVar('ALLOW_EMPTY_${PN}-pkgutil', '1')
> -}
> -
> -# Files needed to create a new manifest
> -
> -do_create_manifest() {
> -    # This task should be run with every new release of Python.
> -    # We must ensure that PACKAGECONFIG enables everything when creating
> -    # a new manifest, this is to base our new manifest on a complete
> -    # native python build, containing all dependencies, otherwise the task
> -    # wont be able to find the required files.
> -    # e.g. BerkeleyDB is an optional build dependency so it may or may not
> -    # be present, we must ensure it is.
> -
> -    cd ${WORKDIR}
> -    # This needs to be executed by python-native and NOT by HOST's python
> -    nativepython3 create_manifest3.py ${PYTHON_MAJMIN}
> -    cp python3-manifest.json.new ${THISDIR}/python3/python3-manifest.json
> -}
> -
> -# bitbake python -c create_manifest
> -# Make sure we have native python ready when we create a new manifest
> -addtask do_create_manifest after do_patch do_prepare_recipe_sysroot
> -
> -# manual dependency additions
> -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}"
> -
> -# provide python-pyvenv from python3-venv
> -RPROVIDES_${PN}-venv += "python3-pyvenv"
> -
> -# package libpython3
> -PACKAGES =+ "libpython3 libpython3-staticdev"
> -FILES_libpython3 = "${libdir}/libpython*.so.*"
> -FILES_libpython3-staticdev += 
> "${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}-*/libpython${PYTHON_MAJMIN}.a"
> -INSANE_SKIP_${PN}-dev += "dev-elf"
> -INSANE_SKIP_${PN}-ptest += "dev-deps"
> -
> -# catch all the rest (unsorted)
> -PACKAGES += "${PN}-misc"
> -RDEPENDS_${PN}-misc += "python3-core python3-email python3-codecs 
> python3-pydoc python3-pickle python3-audio"
> -RDEPENDS_${PN}-modules_append_class-target = " python3-misc"
> -RDEPENDS_${PN}-modules_append_class-nativesdk = " python3-misc"
> -FILES_${PN}-misc = "${libdir}/python${PYTHON_MAJMIN} 
> ${libdir}/python${PYTHON_MAJMIN}/lib-dynload"
> -
> -# catch manpage
> -PACKAGES += "${PN}-man"
> -FILES_${PN}-man = "${datadir}/man"
> -
> -# See https://bugs.python.org/issue18748 and 
> https://bugs.python.org/issue37395
> -RDEPENDS_libpython3_append_libc-glibc = " libgcc"
> -RDEPENDS_${PN}-ctypes_append_libc-glibc = " ${MLPREFIX}ldconfig"
> -RDEPENDS_${PN}-ptest = "${PN}-modules ${PN}-tests ${PN}-dev unzip bzip2 
> libgcc tzdata-europe coreutils sed"
> -RDEPENDS_${PN}-ptest_append_libc-glibc = " locale-base-tr-tr.iso-8859-9"
> -RDEPENDS_${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk', 'tk 
> tk-lib', '', d)}"
> -RDEPENDS_${PN}-dev = ""
> -
> -RDEPENDS_${PN}-tests_append_class-target = " bash"
> -RDEPENDS_${PN}-tests_append_class-nativesdk = " bash"
> -
> -# Python's tests contain large numbers of files we don't need in the recipe 
> sysroots
> -SYSROOT_PREPROCESS_FUNCS += " py3_sysroot_cleanup"
> -py3_sysroot_cleanup () {
> -       rm -rf ${SYSROOT_DESTDIR}${libdir}/python${PYTHON_MAJMIN}/test
> -}
> --
> 2.7.4
>
> This message contains information that may be privileged or confidential and 
> is the property of the KPIT Technologies Ltd. It is intended only for the 
> person to whom it is addressed. If you are not the intended recipient, you 
> are not authorized to read, print, retain copy, disseminate, distribute, or 
> use this message or any part thereof. If you receive this message in error, 
> please notify the sender immediately and delete all copies of this message. 
> KPIT Technologies Ltd. does not accept any liability for virus infected mails.
>
> 
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154880): 
https://lists.openembedded.org/g/openembedded-core/message/154880
Mute This Topic: https://lists.openembedded.org/mt/84788234/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to