diff options
Diffstat (limited to 'python3.spec')
-rw-r--r-- | python3.spec | 1187 |
1 files changed, 1187 insertions, 0 deletions
diff --git a/python3.spec b/python3.spec new file mode 100644 index 0000000..1ab4d98 --- /dev/null +++ b/python3.spec @@ -0,0 +1,1187 @@ +Name: python3 +Summary: Interpreter of the Python3 programming language +URL: https://www.python.org/ + +Version: 3.11.10 +Release: 2 +License: Python-2.0 + +%global branchversion 3.11 +%global pyshortver 311 + +%ifarch %{ix86} x86_64 aarch64 riscv64 +%bcond_without optimizations +%else +%bcond_with optimizations +%endif + +%global pylibdir %{_libdir}/python%{branchversion} +%global dynload_dir %{pylibdir}/lib-dynload + +%global LDVERSION_optimized %{branchversion} +%global LDVERSION_debug %{branchversion}d + +%ifarch ppc64le +%define _arch powerpc64le +%endif + +%global SOABI_optimized cpython-%{pyshortver}-%{_arch}-linux%{_gnu} +%global SOABI_debug cpython-%{pyshortver}d-%{_arch}-linux%{_gnu} + +# See http://www.python.org/dev/peps/pep-3147/ +%global bytecode_suffixes .cpython-%{pyshortver}*.pyc + +%global py_INSTSONAME_optimized libpython%{LDVERSION_optimized}.so.1.0 +%global py_INSTSONAME_debug libpython%{LDVERSION_debug}.so.1.0 + +%undefine py_auto_byte_compile + +%global wordsize 64 + +BuildRequires: autoconf +BuildRequires: bluez-libs-devel +BuildRequires: bzip2 +BuildRequires: bzip2-devel +BuildRequires: desktop-file-utils +BuildRequires: expat-devel + +BuildRequires: findutils +BuildRequires: gcc-c++ +BuildRequires: gcc +BuildRequires: gdbm-devel +BuildRequires: glibc-all-langpacks +BuildRequires: glibc-devel +BuildRequires: gmp-devel +BuildRequires: libappstream-glib +BuildRequires: libffi-devel +BuildRequires: libnsl2-devel +BuildRequires: libtirpc-devel +BuildRequires: libGL-devel +BuildRequires: libuuid-devel +BuildRequires: libX11-devel +BuildRequires: ncurses-devel + +BuildRequires: openssl-devel +BuildRequires: pkgconfig +BuildRequires: readline-devel +BuildRequires: system-rpm-config +BuildRequires: sqlite-devel + +BuildRequires: tar +BuildRequires: tcl-devel +BuildRequires: tix-devel +BuildRequires: tk-devel + +%ifarch %{valgrind_arches} +BuildRequires: valgrind-devel +%endif + +BuildRequires: xz-devel +BuildRequires: zlib-devel + +BuildRequires: systemtap-sdt-devel + +BuildRequires: net-tools + +BuildRequires: python-setuptools-wheel +BuildRequires: python-pip-wheel +BuildRequires: openEuler-rpm-config >= 31-6 + +Source: https://www.python.org/ftp/python/%{version}/Python-%{version}.tar.xz +Source1: pyconfig.h + +Patch1: 00001-rpath.patch +Patch251: 00251-change-user-install-location.patch + +Patch9000: add-the-sm3-method-for-obtaining-the-salt-value.patch +Patch9001: 0001-add-loongarch64-support-for-python.patch + +Provides: python%{branchversion} = %{version}-%{release} +Provides: python(abi) = %{branchversion} + +Provides: python%{pyshortver} = %{version}-%{release} +Obsoletes: python%{pyshortver} + +Requires: python-setuptools-wheel +Requires: python-pip-wheel +Provides: python3-libs +Obsoletes: python3-libs +Provides: python3-enum34 = 1.0.4-5 +Obsoletes: python3-enum34 < 1.0.4-5 +Obsoletes: python36 + +Recommends: python3-setuptools +Recommends: python3-pip + +%global __requires_exclude ^/usr/bin/python3 + +%description +Python combines remarkable power with very clear syntax. It has modules, +classes, exceptions, very high level dynamic data types, and dynamic +typing. There are interfaces to many system calls and libraries, as well +as to various windowing systems. New built-in modules are easily written +in C or C++ (or other languages, depending on the chosen implementation). +Python is also usable as an extension language for applications written +in other languages that need easy-to-use scripting or automation interfaces. + +This package Provides python version 3. + +%package -n python3-unversioned-command +Summary: The "python" command that runs Python 3 +Requires: %{name} = %{version}-%{release} +Provides: python = %{version}-%{release} +Conflicts: python2 +%description -n python3-unversioned-command +This package contains /usr/bin/python - the "python" command that runs Python 3. + +%package devel +Summary: Libraries and header files needed for Python development +Requires: %{name} = %{version}-%{release} +BuildRequires: python-rpm-macros +Requires: python-rpm-macros +Requires: python3-rpm-macros +Requires: python3-rpm-generators +Requires: python3-setuptools +Provides: %{name}-2to3 = %{version}-%{release} +Provides: 2to3 = %{version}-%{release} +Conflicts: %{name} < %{version}-%{release} +Provides: python3-idle +Obsoletes: python3-idle +Provides: python3-test +Obsoletes: python3-test +Provides: %{name}-tools = %{version}-%{release} +Obsoletes: %{name}-tools < %{version}-%{release} + +%description devel +This package contains the header files and configuration needed to develop +python3 modules. + +%package tkinter +Summary: A GUI toolkit for Python +Requires: %{name} = %{version}-%{release} +Provides: %{name}-turtle = %{version}-%{release} +Provides: %{name}-tkinter = %{version}-%{release} + +%description tkinter +The Tkinter (Tk interface) library is a graphical user interface toolkit for +the Python programming language. + +%package debug +Summary: Debug version of the Python runtime + +Requires: %{name} = %{version}-%{release} +Requires: %{name}-devel = %{version}-%{release} +Requires: %{name}-tkinter = %{version}-%{release} + +%description debug +python3-debug provides a version of the Python runtime with numerous debugging +features enabled, aimed at advanced Python users such as developers of Python +extension modules. + +%package_help + +%prep +%autosetup -n Python-%{version} -p1 +find -name '*.exe' -print -delete +rm -r Modules/expat +rm Lib/ensurepip/_bundled/*.whl +rm configure pyconfig.h.in + +%build +autoconf +autoheader + +topdir=$(pwd) + +%if %{with optimizations} +%global optimizations_flag "--enable-optimizations" +%else +%global optimizations_flag "--disable-optimizations" +%endif + +%if "%toolchain" == "clang" +%global extra_cflags "-gdwarf-4" +%endif + +export CFLAGS="%{extension_cflags} %{?extra_cflags} -D_GNU_SOURCE -fPIC -fwrapv -fstack-protector-strong -D_FORTIFY_SOURCE=2 -O2" +export CFLAGS_NODIST="%{build_cflags} %{?extra_cflags} -D_GNU_SOURCE -fPIC -fwrapv" +export CXXFLAGS="%{extension_cxxflags} -D_GNU_SOURCE -fPIC -fwrapv" +export CPPFLAGS="$(pkg-config --cflags-only-I libffi)" +export OPT="%{extension_cflags} %{?extra_cflags} -D_GNU_SOURCE -fPIC -fwrapv" +%if "%toolchain" == "clang" +export LINKCC="clang" +%else +export LINKCC="gcc" +%endif +export CFLAGS="$CFLAGS $(pkg-config --cflags openssl)" +export LDFLAGS="%{extension_ldflags} -g $(pkg-config --libs-only-L openssl)" +export LDFLAGS_NODIST="%{build_ldflags} -g $(pkg-config --libs-only-L openssl)" + +DebugBuildDir=build/debug +mkdir -p ${DebugBuildDir} +pushd ${DebugBuildDir} + +%global _configure $topdir/configure + +%configure \ + --with-platlibdir=%{_lib} \ + --without-static-libpython \ + --with-wheel-pkg-dir=%{_datadir}/python-wheels \ + --enable-ipv6 \ + --enable-shared \ + --with-computed-gotos=yes \ + --with-dbmliborder=gdbm:ndbm:bdb \ + --with-system-expat \ + --with-system-ffi \ + --enable-loadable-sqlite-extensions \ + --with-dtrace \ + --with-ssl-default-suites=openssl \ +%ifarch %{valgrind_arches} + --with-valgrind \ +%endif + --without-ensurepip \ +%if "%toolchain" == "gcc" + --with-lto \ +%endif + --with-pydebug + +%make_build EXTRA_CFLAGS="$CFLAGS -Og" + +popd + +OptimizedBuildDir=build/optimized +mkdir -p ${OptimizedBuildDir} +pushd ${OptimizedBuildDir} + +%global _configure $topdir/configure + +%configure \ + --with-platlibdir=%{_lib} \ + --without-static-libpython \ + --with-wheel-pkg-dir=%{_datadir}/python-wheels \ + --enable-ipv6 \ + --enable-shared \ + --with-computed-gotos=yes \ + --with-dbmliborder=gdbm:ndbm:bdb \ + --with-system-expat \ + --with-system-ffi \ + --enable-loadable-sqlite-extensions \ + --with-dtrace \ + --with-ssl-default-suites=openssl \ +%ifarch %{valgrind_arches} + --with-valgrind \ +%endif + --without-ensurepip \ +%if "%toolchain" == "gcc" + --with-lto \ +%endif + %{optimizations_flag} + +%make_build EXTRA_CFLAGS="$CFLAGS" + +popd + +%install + +topdir=$(pwd) + +DirHoldingGdbPy=%{_prefix}/lib/debug/%{_libdir} +mkdir -p %{buildroot}$DirHoldingGdbPy + +%global _pyconfig32_h pyconfig-32.h +%global _pyconfig64_h pyconfig-64.h +%global _pyconfig_h pyconfig-%{wordsize}.h + +DebugBuildDir=build/debug +mkdir -p ${DebugBuildDir} +pushd ${DebugBuildDir} +make DESTDIR=%{buildroot} INSTALL="install -p" EXTRA_CFLAGS="-O0" install +popd + +PathOfGdbPy=$DirHoldingGdbPy/%{py_INSTSONAME_debug}-%{version}-%{release}.%{_arch}.debug-gdb.py +cp Tools/gdb/libpython.py %{buildroot}$PathOfGdbPy + +mv %{buildroot}%{_bindir}/python%{LDVERSION_debug}-{,`uname -m`-}config +echo -e '#!/bin/sh\nexec `dirname $0`/python'%{LDVERSION_debug}'-`uname -m`-config "$@"' > \ + %{buildroot}%{_bindir}/python%{LDVERSION_debug}-config +echo '[ $? -eq 127 ] && echo "Could not find python'%{LDVERSION_debug}'-`uname -m`-config. Look around to see available arches." >&2' >> \ + %{buildroot}%{_bindir}/python%{LDVERSION_debug}-config + chmod +x %{buildroot}%{_bindir}/python%{LDVERSION_debug}-config + +mv %{buildroot}%{_includedir}/python%{LDVERSION_debug}/pyconfig.h \ + %{buildroot}%{_includedir}/python%{LDVERSION_debug}/%{_pyconfig_h} +install -D -m 0644 %{SOURCE1} %{buildroot}%{_includedir}/python%{LDVERSION_debug}/pyconfig.h + +OptimizedBuildDir=build/optimized +mkdir -p ${OptimizedBuildDir} +pushd ${OptimizedBuildDir} +make DESTDIR=%{buildroot} INSTALL="install -p" EXTRA_CFLAGS="" install +popd + +PathOfGdbPy=$DirHoldingGdbPy/%{py_INSTSONAME_optimized}-%{version}-%{release}.%{_arch}.debug-gdb.py +cp Tools/gdb/libpython.py %{buildroot}$PathOfGdbPy + +mv %{buildroot}%{_bindir}/python%{LDVERSION_optimized}-{,`uname -m`-}config +echo -e '#!/bin/sh\nexec `dirname $0`/python'%{LDVERSION_optimized}'-`uname -m`-config "$@"' > \ + %{buildroot}%{_bindir}/python%{LDVERSION_optimized}-config +echo '[ $? -eq 127 ] && echo "Could not find python'%{LDVERSION_optimized}'-`uname -m`-config. Look around to see available arches." >&2' >> \ + %{buildroot}%{_bindir}/python%{LDVERSION_optimized}-config + chmod +x %{buildroot}%{_bindir}/python%{LDVERSION_optimized}-config + +mv %{buildroot}%{_includedir}/python%{LDVERSION_optimized}/pyconfig.h \ + %{buildroot}%{_includedir}/python%{LDVERSION_optimized}/%{_pyconfig_h} +install -D -m 0644 %{SOURCE1} %{buildroot}%{_includedir}/python%{LDVERSION_optimized}/pyconfig.h +install -d -m 0755 %{buildroot}%{pylibdir}/site-packages/__pycache__ +install -d -m 0755 %{buildroot}%{_prefix}/lib/python%{branchversion}/site-packages/__pycache__ + +install -D -m 0644 Lib/idlelib/Icons/idle_16.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/idle3.png +install -D -m 0644 Lib/idlelib/Icons/idle_32.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/idle3.png +install -D -m 0644 Lib/idlelib/Icons/idle_48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/idle3.png + +sed -i -e "s/'pyconfig.h'/'%{_pyconfig_h}'/" \ + %{buildroot}%{pylibdir}/distutils/sysconfig.py \ + %{buildroot}%{pylibdir}/sysconfig.py + +cp -p Tools/scripts/pathfix.py %{buildroot}%{_bindir}/ + +for tool in pygettext msgfmt; do + cp -p Tools/i18n/${tool}.py %{buildroot}%{_bindir}/${tool}%{branchversion}.py + ln -s ${tool}%{branchversion}.py %{buildroot}%{_bindir}/${tool}3.py +done + +LD_LIBRARY_PATH=./build/optimized ./build/optimized/python \ + Tools/scripts/pathfix.py \ + -i "%{_bindir}/python%{branchversion}" -pn \ + %{buildroot} \ + %{buildroot}%{_bindir}/*%{branchversion}.py \ + %{?with_gdb_hooks:%{buildroot}$DirHoldingGdbPy/*.py} + +rm -rf %{buildroot}%{pylibdir}/test/test_tools + +find %{buildroot} -name \*.py \ + \( \( \! -perm /u+x,g+x,o+x -exec sed -e '/^#!/Q 0' -e 'Q 1' {} \; \ + -print -exec sed -i '1d' {} \; \) -o \( \ + -perm /u+x,g+x,o+x ! -exec grep -m 1 -q '^#!' {} \; \ + -exec chmod a-x {} \; \) \) + +find %{buildroot} -name \*.bat -exec rm {} \; + +find %{buildroot}/ -name "*~" -exec rm -f {} \; +find . -name "*~" -exec rm -f {} \; + +rm %{buildroot}%{pylibdir}/LICENSE.txt + +find %{buildroot} -type f -a -name "*.py" -print0 | \ + LD_LIBRARY_PATH="%{buildroot}%{dynload_dir}/:%{buildroot}%{_libdir}" \ + PYTHONPATH="%{buildroot}%{_libdir}/python%{branchversion} %{buildroot}%{_libdir}/python%{branchversion}/site-packages" \ + xargs -0 %{buildroot}%{_bindir}/python%{branchversion} -O -c 'import py_compile, sys; [py_compile.compile(f, dfile=f.partition("%{buildroot}")[2], optimize=opt) for opt in range(3) for f in sys.argv[1:]]' || : + +rm -rf %{buildroot}%{_bindir}/__pycache__ + +find %{buildroot} -perm 555 -exec chmod 755 {} \; + +ln -s \ + %{_bindir}/python%{LDVERSION_debug} \ + %{buildroot}%{_bindir}/python3-debug + +ln -s %{_bindir}/python3 %{buildroot}%{_bindir}/python + +mv %{buildroot}%{_bindir}/2to3-%{branchversion} %{buildroot}%{_bindir}/2to3 + +%check +topdir=$(pwd) + +BEP_WHITELIST_TMP="$BEP_WHITELIST" +BEP_GTDLIST_TMP="$BEP_GTDLIST" +export BEP_WHITELIST="python python-debug "$BEP_WHITELIST"" +export BEP_GTDLIST=`echo $BEP_GTDLIST | sed 's/ python / /g'` + +export OPENSSL_CONF=/non-existing-file + +LD_LIBRARY_PATH=$(pwd)/build/debug $(pwd)/build/debug/python -m test.pythoninfo + +WITHIN_PYTHON_RPM_BUILD= \ +LD_LIBRARY_PATH=$(pwd)/build/debug $(pwd)/build/debug/python -m test.regrtest \ + -wW --slowest -j0 --timeout 1800 \ + -x test_distutils \ + -x test_bdist_rpm \ + -x test_gdb \ + -x test_socket \ + -x test_asyncio \ + -i test_freeze_simple_script \ + -i test_check_probes \ + -i test_peg_generator + +export OPENSSL_CONF=/non-existing-file +LD_LIBRARY_PATH=$(pwd)/build/optimized $(pwd)/build/optimized/python -m test.pythoninfo + +WITHIN_PYTHON_RPM_BUILD= \ +LD_LIBRARY_PATH=$(pwd)/build/optimized $(pwd)/build/optimized/python -m test.regrtest \ + -wW --slowest -j0 --timeout 1800 \ + -x test_distutils \ + -x test_bdist_rpm \ + -x test_gdb \ + -x test_socket \ + -x test_asyncio \ + -i test_freeze_simple_script \ + -i test_check_probes \ + -i test_peg_generator + +export BEP_WHITELIST="$BEP_WHITELIST_TMP" +export BEP_GTDLIST="$BEP_GTDLIST_TMP" + +%files +%license LICENSE +%doc README.rst + +%{_bindir}/pydoc* +%{_bindir}/python3 + +%{_bindir}/python%{branchversion} + +%dir %{pylibdir} +%dir %{dynload_dir} + +%{pylibdir}/lib2to3 +%exclude %{pylibdir}/lib2to3/tests + +%dir %{pylibdir}/unittest/ +%dir %{pylibdir}/unittest/__pycache__/ +%{pylibdir}/unittest/*.py +%{pylibdir}/unittest/__pycache__/*%{bytecode_suffixes} + +%dir %{pylibdir}/asyncio/ +%dir %{pylibdir}/asyncio/__pycache__/ +%{pylibdir}/asyncio/*.py +%{pylibdir}/asyncio/__pycache__/*%{bytecode_suffixes} + +%dir %{pylibdir}/venv/ +%dir %{pylibdir}/venv/__pycache__/ +%{pylibdir}/venv/*.py +%{pylibdir}/venv/__pycache__/*%{bytecode_suffixes} +%{pylibdir}/venv/scripts + +%{pylibdir}/wsgiref +%{pylibdir}/xmlrpc + +%dir %{pylibdir}/ensurepip/ +%dir %{pylibdir}/ensurepip/__pycache__/ +%{pylibdir}/ensurepip/*.py +%{pylibdir}/ensurepip/__pycache__/*%{bytecode_suffixes} + +%exclude %{pylibdir}/ensurepip/_bundled + +%dir %{pylibdir}/__phello__/ +%dir %{pylibdir}/__phello__/__pycache__/ +%{pylibdir}/__phello__/*.py +%{pylibdir}/__phello__/__pycache__/*%{bytecode_suffixes} + +%dir %{pylibdir}/test/ +%dir %{pylibdir}/test/__pycache__/ +%dir %{pylibdir}/test/support/ +%dir %{pylibdir}/test/support/__pycache__/ +%{pylibdir}/test/__init__.py +%{pylibdir}/test/__pycache__/__init__%{bytecode_suffixes} +%{pylibdir}/test/support/*.py +%{pylibdir}/test/support/__pycache__/*%{bytecode_suffixes} + +%dir %{pylibdir}/concurrent/ +%dir %{pylibdir}/concurrent/__pycache__/ +%{pylibdir}/concurrent/*.py +%{pylibdir}/concurrent/__pycache__/*%{bytecode_suffixes} + +%dir %{pylibdir}/concurrent/futures/ +%dir %{pylibdir}/concurrent/futures/__pycache__/ +%{pylibdir}/concurrent/futures/*.py +%{pylibdir}/concurrent/futures/__pycache__/*%{bytecode_suffixes} + +%{pylibdir}/pydoc_data + +%{dynload_dir}/_blake2.%{SOABI_optimized}.so +%{dynload_dir}/_md5.%{SOABI_optimized}.so +%{dynload_dir}/_sha1.%{SOABI_optimized}.so +%{dynload_dir}/_sha256.%{SOABI_optimized}.so +%{dynload_dir}/_sha3.%{SOABI_optimized}.so +%{dynload_dir}/_sha512.%{SOABI_optimized}.so + +%{dynload_dir}/_asyncio.%{SOABI_optimized}.so +%{dynload_dir}/_bisect.%{SOABI_optimized}.so +%{dynload_dir}/_bz2.%{SOABI_optimized}.so +%{dynload_dir}/_codecs_cn.%{SOABI_optimized}.so +%{dynload_dir}/_codecs_hk.%{SOABI_optimized}.so +%{dynload_dir}/_codecs_iso2022.%{SOABI_optimized}.so +%{dynload_dir}/_codecs_jp.%{SOABI_optimized}.so +%{dynload_dir}/_codecs_kr.%{SOABI_optimized}.so +%{dynload_dir}/_codecs_tw.%{SOABI_optimized}.so +%{dynload_dir}/_contextvars.%{SOABI_optimized}.so +%{dynload_dir}/_crypt.%{SOABI_optimized}.so +%{dynload_dir}/_csv.%{SOABI_optimized}.so +%{dynload_dir}/_ctypes.%{SOABI_optimized}.so +%{dynload_dir}/_curses.%{SOABI_optimized}.so +%{dynload_dir}/_curses_panel.%{SOABI_optimized}.so +%{dynload_dir}/_dbm.%{SOABI_optimized}.so +%{dynload_dir}/_decimal.%{SOABI_optimized}.so +%{dynload_dir}/_elementtree.%{SOABI_optimized}.so +%{dynload_dir}/_gdbm.%{SOABI_optimized}.so +%{dynload_dir}/_hashlib.%{SOABI_optimized}.so +%{dynload_dir}/_heapq.%{SOABI_optimized}.so +%{dynload_dir}/_json.%{SOABI_optimized}.so +%{dynload_dir}/_lsprof.%{SOABI_optimized}.so +%{dynload_dir}/_lzma.%{SOABI_optimized}.so +%{dynload_dir}/_multibytecodec.%{SOABI_optimized}.so +%{dynload_dir}/_multiprocessing.%{SOABI_optimized}.so +%{dynload_dir}/_opcode.%{SOABI_optimized}.so +%{dynload_dir}/_pickle.%{SOABI_optimized}.so +%{dynload_dir}/_posixsubprocess.%{SOABI_optimized}.so +%{dynload_dir}/_queue.%{SOABI_optimized}.so +%{dynload_dir}/_random.%{SOABI_optimized}.so +%{dynload_dir}/_socket.%{SOABI_optimized}.so +%{dynload_dir}/_sqlite3.%{SOABI_optimized}.so +%{dynload_dir}/_ssl.%{SOABI_optimized}.so +%{dynload_dir}/_struct.%{SOABI_optimized}.so +%{dynload_dir}/_typing.%{SOABI_optimized}.so +%{dynload_dir}/array.%{SOABI_optimized}.so +%{dynload_dir}/audioop.%{SOABI_optimized}.so +%{dynload_dir}/binascii.%{SOABI_optimized}.so +%{dynload_dir}/cmath.%{SOABI_optimized}.so +%{dynload_dir}/_datetime.%{SOABI_optimized}.so +%{dynload_dir}/fcntl.%{SOABI_optimized}.so +%{dynload_dir}/grp.%{SOABI_optimized}.so +%{dynload_dir}/math.%{SOABI_optimized}.so +%{dynload_dir}/mmap.%{SOABI_optimized}.so +%{dynload_dir}/nis.%{SOABI_optimized}.so +%{dynload_dir}/ossaudiodev.%{SOABI_optimized}.so +%{dynload_dir}/_posixshmem.%{SOABI_optimized}.so +%{dynload_dir}/pyexpat.%{SOABI_optimized}.so +%{dynload_dir}/readline.%{SOABI_optimized}.so +%{dynload_dir}/resource.%{SOABI_optimized}.so +%{dynload_dir}/select.%{SOABI_optimized}.so +%{dynload_dir}/spwd.%{SOABI_optimized}.so +%{dynload_dir}/syslog.%{SOABI_optimized}.so +%{dynload_dir}/termios.%{SOABI_optimized}.so +%{dynload_dir}/_testmultiphase.%{SOABI_optimized}.so +%{dynload_dir}/unicodedata.%{SOABI_optimized}.so +%{dynload_dir}/_uuid.%{SOABI_optimized}.so +%{dynload_dir}/xxlimited.%{SOABI_optimized}.so +%{dynload_dir}/zlib.%{SOABI_optimized}.so +%{dynload_dir}/_statistics.%{SOABI_optimized}.so +%{dynload_dir}/_xxsubinterpreters.%{SOABI_optimized}.so +%{dynload_dir}/_zoneinfo.%{SOABI_optimized}.so +%{dynload_dir}/xxlimited_35.%{SOABI_optimized}.so +%{dynload_dir}/_testclinic.%{SOABI_optimized}.so + +%dir %{pylibdir}/site-packages/ +%dir %{pylibdir}/site-packages/__pycache__/ +%{pylibdir}/site-packages/README.txt +%{pylibdir}/*.py +%dir %{pylibdir}/__pycache__/ +%{pylibdir}/__pycache__/*%{bytecode_suffixes} + +%dir %{pylibdir}/collections/ +%dir %{pylibdir}/collections/__pycache__/ +%{pylibdir}/collections/*.py +%{pylibdir}/collections/__pycache__/*%{bytecode_suffixes} + +%dir %{pylibdir}/ctypes/ +%dir %{pylibdir}/ctypes/__pycache__/ +%{pylibdir}/ctypes/*.py +%{pylibdir}/ctypes/__pycache__/*%{bytecode_suffixes} +%{pylibdir}/ctypes/macholib + +%{pylibdir}/curses + +%dir %{pylibdir}/dbm/ +%dir %{pylibdir}/dbm/__pycache__/ +%{pylibdir}/dbm/*.py +%{pylibdir}/dbm/__pycache__/*%{bytecode_suffixes} + +%dir %{pylibdir}/distutils/ +%dir %{pylibdir}/distutils/__pycache__/ +%{pylibdir}/distutils/*.py +%{pylibdir}/distutils/__pycache__/*%{bytecode_suffixes} +%{pylibdir}/distutils/README +%{pylibdir}/distutils/command + +%dir %{pylibdir}/email/ +%dir %{pylibdir}/email/__pycache__/ +%{pylibdir}/email/*.py +%{pylibdir}/email/__pycache__/*%{bytecode_suffixes} +%{pylibdir}/email/mime +%doc %{pylibdir}/email/architecture.rst + +%{pylibdir}/encodings + +%{pylibdir}/html +%{pylibdir}/http + +%dir %{pylibdir}/importlib/ +%dir %{pylibdir}/importlib/__pycache__/ +%{pylibdir}/importlib/*.py +%{pylibdir}/importlib/__pycache__/*%{bytecode_suffixes} + +%dir %{pylibdir}/importlib/metadata/ +%dir %{pylibdir}/importlib/metadata/__pycache__/ +%{pylibdir}/importlib/metadata/*.py +%{pylibdir}/importlib/metadata/__pycache__/*%{bytecode_suffixes} + +%dir %{pylibdir}/importlib/resources/ +%dir %{pylibdir}/importlib/resources/__pycache__/ +%{pylibdir}/importlib/resources/*.py +%{pylibdir}/importlib/resources/__pycache__/*%{bytecode_suffixes} + +%dir %{pylibdir}/json/ +%dir %{pylibdir}/json/__pycache__/ +%{pylibdir}/json/*.py +%{pylibdir}/json/__pycache__/*%{bytecode_suffixes} + +%{pylibdir}/logging +%{pylibdir}/multiprocessing + +%dir %{pylibdir}/re/ +%dir %{pylibdir}/re/__pycache__/ +%{pylibdir}/re/*.py +%{pylibdir}/re/__pycache__/*%{bytecode_suffixes} + +%dir %{pylibdir}/tomllib/ +%dir %{pylibdir}/tomllib/__pycache__/ +%{pylibdir}/tomllib/*.py +%{pylibdir}/tomllib/__pycache__/*%{bytecode_suffixes} + +%dir %{pylibdir}/sqlite3/ +%dir %{pylibdir}/sqlite3/__pycache__/ +%{pylibdir}/sqlite3/*.py +%{pylibdir}/sqlite3/__pycache__/*%{bytecode_suffixes} + +%exclude %{pylibdir}/turtle.py +%exclude %{pylibdir}/__pycache__/turtle*%{bytecode_suffixes} + +%{pylibdir}/urllib +%{pylibdir}/xml +%{pylibdir}/zoneinfo + +%attr(0755,root,root) %dir %{_prefix}/lib/python%{branchversion} +%attr(0755,root,root) %dir %{_prefix}/lib/python%{branchversion}/site-packages +%attr(0755,root,root) %dir %{_prefix}/lib/python%{branchversion}/site-packages/__pycache__/ + +%dir %{pylibdir}/config-%{LDVERSION_optimized}-%{_arch}-linux%{_gnu}/ +%{pylibdir}/config-%{LDVERSION_optimized}-%{_arch}-linux%{_gnu}/Makefile +%dir %{_includedir}/python%{LDVERSION_optimized}/ +%{_includedir}/python%{LDVERSION_optimized}/%{_pyconfig_h} + +%{_libdir}/%{py_INSTSONAME_optimized} +%{_libdir}/libpython3.so + +%files -n python3-unversioned-command +%{_bindir}/python + +%files devel +%{_bindir}/2to3 + +%{pylibdir}/config-%{LDVERSION_optimized}-%{_arch}-linux%{_gnu}/* +%exclude %{pylibdir}/config-%{LDVERSION_optimized}-%{_arch}-linux%{_gnu}/Makefile +%exclude %{_includedir}/python%{LDVERSION_optimized}/%{_pyconfig_h} +%{_includedir}/python%{LDVERSION_optimized}/*.h +%{_includedir}/python%{LDVERSION_optimized}/internal/ +%{_includedir}/python%{LDVERSION_optimized}/cpython/ +%doc Misc/README.valgrind Misc/valgrind-python.supp Misc/gdbinit + +%{_bindir}/python3-config +%{_libdir}/pkgconfig/python3.pc +%{_libdir}/pkgconfig/python3-embed.pc +%{_bindir}/pathfix.py +%{_bindir}/pygettext3.py +%{_bindir}/msgfmt3.py + +%{_bindir}/pygettext%{branchversion}.py +%{_bindir}/msgfmt%{branchversion}.py + +%{_bindir}/python%{LDVERSION_optimized}-config +%{_bindir}/python%{LDVERSION_optimized}-*-config +%{_libdir}/libpython%{LDVERSION_optimized}.so +%{_libdir}/pkgconfig/python-%{LDVERSION_optimized}.pc +%{_libdir}/pkgconfig/python-%{LDVERSION_optimized}-embed.pc + +%{_bindir}/idle* +%{pylibdir}/idlelib + +%{_datadir}/icons/hicolor/*/apps/idle3.* + +%{pylibdir}/ctypes/test +%{pylibdir}/distutils/tests +%{pylibdir}/test +%exclude %{pylibdir}/test/capath +%exclude %{pylibdir}/test/*.pem +%exclude %{pylibdir}/test/*.crl +%{dynload_dir}/_ctypes_test.%{SOABI_optimized}.so +%{dynload_dir}/_testbuffer.%{SOABI_optimized}.so +%{dynload_dir}/_testcapi.%{SOABI_optimized}.so +%{dynload_dir}/_testinternalcapi.%{SOABI_optimized}.so +%{dynload_dir}/_testimportmultiple.%{SOABI_optimized}.so +%{dynload_dir}/_xxtestfuzz.%{SOABI_optimized}.so +%{pylibdir}/lib2to3/tests +%{pylibdir}/unittest/test + +%exclude %dir %{pylibdir}/test/ +%exclude %dir %{pylibdir}/test/__pycache__/ +%exclude %{pylibdir}/test/__init__.py +%exclude %{pylibdir}/test/__pycache__/__init__%{bytecode_suffixes} +%exclude %{pylibdir}/test/support/ + +%files tkinter +%{pylibdir}/tkinter +%{dynload_dir}/_tkinter.%{SOABI_optimized}.so +%{pylibdir}/turtle.py +%{pylibdir}/__pycache__/turtle*%{bytecode_suffixes} +%dir %{pylibdir}/turtledemo +%{pylibdir}/turtledemo/*.py +%{pylibdir}/turtledemo/*.cfg +%dir %{pylibdir}/turtledemo/__pycache__/ +%{pylibdir}/turtledemo/__pycache__/*%{bytecode_suffixes} + +%files debug +%{_bindir}/python3-debug + +%{_bindir}/python%{LDVERSION_debug} + +%{dynload_dir}/_blake2.%{SOABI_debug}.so +%{dynload_dir}/_md5.%{SOABI_debug}.so +%{dynload_dir}/_sha1.%{SOABI_debug}.so +%{dynload_dir}/_sha256.%{SOABI_debug}.so +%{dynload_dir}/_sha3.%{SOABI_debug}.so +%{dynload_dir}/_sha512.%{SOABI_debug}.so + +%{dynload_dir}/_asyncio.%{SOABI_debug}.so +%{dynload_dir}/_bisect.%{SOABI_debug}.so +%{dynload_dir}/_bz2.%{SOABI_debug}.so +%{dynload_dir}/_codecs_cn.%{SOABI_debug}.so +%{dynload_dir}/_codecs_hk.%{SOABI_debug}.so +%{dynload_dir}/_codecs_iso2022.%{SOABI_debug}.so +%{dynload_dir}/_codecs_jp.%{SOABI_debug}.so +%{dynload_dir}/_codecs_kr.%{SOABI_debug}.so +%{dynload_dir}/_codecs_tw.%{SOABI_debug}.so +%{dynload_dir}/_contextvars.%{SOABI_debug}.so +%{dynload_dir}/_crypt.%{SOABI_debug}.so +%{dynload_dir}/_csv.%{SOABI_debug}.so +%{dynload_dir}/_ctypes.%{SOABI_debug}.so +%{dynload_dir}/_curses.%{SOABI_debug}.so +%{dynload_dir}/_curses_panel.%{SOABI_debug}.so +%{dynload_dir}/_dbm.%{SOABI_debug}.so +%{dynload_dir}/_decimal.%{SOABI_debug}.so +%{dynload_dir}/_elementtree.%{SOABI_debug}.so +%{dynload_dir}/_gdbm.%{SOABI_debug}.so +%{dynload_dir}/_hashlib.%{SOABI_debug}.so +%{dynload_dir}/_heapq.%{SOABI_debug}.so +%{dynload_dir}/_json.%{SOABI_debug}.so +%{dynload_dir}/_lsprof.%{SOABI_debug}.so +%{dynload_dir}/_lzma.%{SOABI_debug}.so +%{dynload_dir}/_multibytecodec.%{SOABI_debug}.so +%{dynload_dir}/_multiprocessing.%{SOABI_debug}.so +%{dynload_dir}/_opcode.%{SOABI_debug}.so +%{dynload_dir}/_pickle.%{SOABI_debug}.so +%{dynload_dir}/_posixsubprocess.%{SOABI_debug}.so +%{dynload_dir}/_queue.%{SOABI_debug}.so +%{dynload_dir}/_random.%{SOABI_debug}.so +%{dynload_dir}/_socket.%{SOABI_debug}.so +%{dynload_dir}/_sqlite3.%{SOABI_debug}.so +%{dynload_dir}/_ssl.%{SOABI_debug}.so +%{dynload_dir}/_struct.%{SOABI_debug}.so +%{dynload_dir}/_typing.%{SOABI_debug}.so +%{dynload_dir}/array.%{SOABI_debug}.so +%{dynload_dir}/audioop.%{SOABI_debug}.so +%{dynload_dir}/binascii.%{SOABI_debug}.so +%{dynload_dir}/cmath.%{SOABI_debug}.so +%{dynload_dir}/_datetime.%{SOABI_debug}.so +%{dynload_dir}/fcntl.%{SOABI_debug}.so +%{dynload_dir}/grp.%{SOABI_debug}.so +%{dynload_dir}/math.%{SOABI_debug}.so +%{dynload_dir}/mmap.%{SOABI_debug}.so +%{dynload_dir}/nis.%{SOABI_debug}.so +%{dynload_dir}/ossaudiodev.%{SOABI_debug}.so +%{dynload_dir}/pyexpat.%{SOABI_debug}.so +%{dynload_dir}/readline.%{SOABI_debug}.so +%{dynload_dir}/resource.%{SOABI_debug}.so +%{dynload_dir}/select.%{SOABI_debug}.so +%{dynload_dir}/spwd.%{SOABI_debug}.so +%{dynload_dir}/syslog.%{SOABI_debug}.so +%{dynload_dir}/termios.%{SOABI_debug}.so +%{dynload_dir}/_testmultiphase.%{SOABI_debug}.so +%{dynload_dir}/unicodedata.%{SOABI_debug}.so +%{dynload_dir}/_uuid.%{SOABI_debug}.so +%{dynload_dir}/_xxtestfuzz.%{SOABI_debug}.so +%{dynload_dir}/zlib.%{SOABI_debug}.so +%{dynload_dir}/_statistics.%{SOABI_debug}.so +%{dynload_dir}/_xxsubinterpreters.%{SOABI_debug}.so +%{dynload_dir}/_posixshmem.%{SOABI_debug}.so +%{dynload_dir}/_zoneinfo.%{SOABI_debug}.so +%{dynload_dir}/xxlimited.%{SOABI_debug}.so +%{dynload_dir}/xxlimited_35.%{SOABI_debug}.so +%{dynload_dir}/_testclinic.%{SOABI_debug}.so + +%{_libdir}/%{py_INSTSONAME_debug} + +%{pylibdir}/config-%{LDVERSION_debug}-%{_arch}-linux%{_gnu} +%{_includedir}/python%{LDVERSION_debug} +%{_bindir}/python%{LDVERSION_debug}-config +%{_bindir}/python%{LDVERSION_debug}-*-config +%{_libdir}/libpython%{LDVERSION_debug}.so +%{_libdir}/libpython%{LDVERSION_debug}.so.1.0 +%{_libdir}/pkgconfig/python-%{LDVERSION_debug}.pc +%{_libdir}/pkgconfig/python-%{LDVERSION_debug}-embed.pc + +%{dynload_dir}/_tkinter.%{SOABI_debug}.so + +%{dynload_dir}/_ctypes_test.%{SOABI_debug}.so +%{dynload_dir}/_testbuffer.%{SOABI_debug}.so +%{dynload_dir}/_testcapi.%{SOABI_debug}.so +%{dynload_dir}/_testimportmultiple.%{SOABI_debug}.so +%{dynload_dir}/_testinternalcapi.%{SOABI_debug}.so + +%undefine _debuginfo_subpackages + +%files help +%{_mandir}/*/* + +%changelog +* Thu Oct 24 2024 Funda Wang <fundawang@yeah.net> - 3.11.10-2 +- use extension_flags defined in new openEuler-rpm-config + +* Sat Oct 19 2024 Funda Wang <fundawang@yeah.net> - 3.11.10-1 +- update to 3.11.10 + +* Tue Sep 24 2024 xinsheng <xinsheng3@huawei.com> - 3.11.6-8 +- Type:CVE +- CVE:CVE-2024-6232,CVE-2024-3219,CVE-2024-0450,CVE-2023-6597 +- SUG:NA +- DESC:fix CVE-2024-6232,CVE-2024-3219,CVE-2024-0450,CVE-2023-6597 + - rename all CVE patch name + - CVE-2024-6232: Remove backtracking when parsing tarfile headers + - CVE-2024-3219: patch1 Authenticate socket connection for `socket.socketpair()` fallback + - CVE-2024-3219: patch2 Rework pure Python socketpair tests to avoid use of importlib.reload. + - CVE-2024-0450: Protect zipfile from "quoted-overlap" zipbomb + - CVE-2023-6597: tempfile.TemporaryDirectory: fix symlink bug in cleanup + +* Wed Sep 04 2024 yinyongkang <yinyongkang@kylinos.cn> - 3.11.6-7 +- Type:CVE +- ID:CVE-2024-6232,CVE-2024-3219 +- SUG:NA +- DESC:fix CVE-2024-6232 and CVE-2024-3219 + +* Tue Sep 03 2024 xinsheng <xinsheng3@huawei.com> - 3.11.6-6 +- Type:CVE +- CVE:NA +- SUG:NA +- DESC:fix CVE-2024-6923,CVE-2024-7592,CVE-2024-8088 + - Encode newlines in headers, and verify headers are sound + - Fix quadratic complexity in parsing quoted cookie values with backslashes + - Replaced SanitizedNames with a more surgical fix + +* Thu Jul 11 2024 Dingli Zhang <dingli@iscas.ac.cn> - 3.11.6-5 +- Type:enhancement +- ID:NA +- SUG:NA +- DESC:enable profile guided optimizations for some architectures + +* Tue Jun 25 2024 peng.zou <peng.zou@shingroup.cn> - 3.11.6-4 +- Type:bugfix +- CVE:NA +- SUG:NA +- DESC: add ppc64le support for python 3.11.6 + +* Thu Jun 20 2024 wangziliang <wangziliang@kylinos.cn> - 3.11.6-3 +- Type:CVE +- CVE:CVE-2024-0397,CVE-2024-4032 +- SUG:NA +- DESC:fix CVE-2024-0397 and CVE-2024-4032 + +* Mon Feb 26 2024 Wenlong Zhang<zhangwenlong@loongson.cn> - 3.11.6-2 +- Type:bugfix +- CVE:NA +- SUG:NA +- DESC: add loongarch64 support for python 3.11.6 + +* Wed Jan 31 2024 xinsheng3<xinsheng3@huawei.com> - 3.11.6-1 +- Type:bugfix +- CVE:NA +- SUG:NA +- DESC:update version to 3.11.6 + +* Wed Sep 20 2023 futao<futao10@huawei.com> - 3.11.4-3 +- Type:bugfix +- CVE:NA +- SUG:NA +- DESC:add Obsoletes python36 + +* Thu Jul 20 2023 zhuofeng<zhuofeng2@huawei.com> - 3.11.4-2 +- Type:bugfix +- CVE:NA +- SUG:NA +- DESC:remove old python library + +* Fri Jun 30 2023 zhuofeng<zhuofeng2@huawei.com> - 3.11.4-1 +- Type:enhancement +- CVE:NA +- SUG:NA +- DESC:update version to 3.11.4 + +* Thu Jun 01 2023 Chenxi Mao <chenxi.mao@suse.com> - 3.10.9-4 +- Type:enhancement +- CVE:NA +- SUG:NA +- DESC:Support build python via clang. + +* Thu Apr 06 2023 shixuantong <shixuantong1@huawei.com> - 3.10.9-3 +- Type:CVE +- CVE:CVE-2023-24329 +- SUG:NA +- DESC:fix CVE-2023-24329 + +* Mon Mar 13 2023 Chenxi Mao <chenxi.mao@suse.com> - 3.10.9-2 +- Type:enhancement +- CVE:NA +- SUG:NA +- DESC: Enable link time optimizaitons (LTO) for better performance. + +* Mon Jan 30 2023 zhuofeng <zhuofeng2@huawei.com> - 3.10.9-1 +- Type:enhancement +- CVE:NA +- SUG:NA +- DESC:update version to 3.10.9 + +* Mon Nov 28 2022 zhuofeng <zhuofeng2@huawei.com> - 3.10.2-12 +- Type:CVE +- CVE:CVE-2022-37454 +- SUG:NA +- DESC:fix CVE-2022-37454 + +* Thu Nov 10 2022 zhuofeng <zhuofeng2@huawei.com> - 3.10.2-11 +- Type:CVE +- CVE:CVE-2022-45061 +- SUG:NA +- DESC:fix CVE-2022-45061 + +* Wed Nov 09 2022 zhuofeng <zhuofeng2@huawei.com> - 3.10.2-10 +- Type:CVE +- CVE:CVE-2022-42919 +- SUG:NA +- DESC:fix CVE-2022-42919 + +* Thu Sep 08 2022 shixuantong <shixuantong@h-partners.com> - 3.10.2-9 +- Type:CVE +- CVE:CVE-2020-10735 +- SUG:NA +- DESC:fix CVE-2020-10735 + +* Thu Aug 25 2022 shixuantong <shixuantong@h-partners.com> - 3.10.2-8 +- Type:CVE +- CVE:CVE-2021-28861 +- SUG:NA +- DESC:fix CVE-2021-28861 + +* Fri Aug 12 2022 shixuantong <shixuantong@h-partners.com> - 3.10.2-7 +- Type:enhancement +- CVE:NA +- SUG:NA +- DESC:split python3-tkinter from python3-devel + +* Wed Aug 03 2022 shixuantong <shixuantong@h-partners.com> - 3.10.2-6 +- Type:bugfix +- CVE:NA +- SUG:NA +- DESC:add timeout when running the test case + +* Wed Jul 06 2022 shixuantong <shixuantong@h-partners.com> - 3.10.2-5 +- Type:bugfix +- CVE:NA +- SUG:NA +- DESC:Modify the license of python3 + +* Fri Jul 01 2022 shixuantong <shixuantong@h-partners.com> - 3.10.2-4 +- Type:CVE +- CVE:CVE-2015-20107 +- SUG:NA +- DESC:Modify the solution of CVE-2015-20107 + +* Mon Jun 20 2022 shixuantong <shixuantong@h-partners.com> - 3.10.2-3 +- Type:bugfix +- CVE:NA +- SUG:NA +- DESC:add safe compilation option of FS + +* Mon May 16 2022 shixuantong <shixuantong@h-partners.com> - 3.10.2-2 +- Type:CVE +- CVE:CVE-2015-20107 +- SUG:NA +- DESC:fix CVE-2015-20107 + +* Wed Mar 09 2022 shixuantong <shixuantong@h-partners.com> - 3.10.2-1 +- Type:enhancement +- CVE:NA +- SUG:NA +- DESC:update version to 3.10.2 + +* Mon Mar 07 2022 shixuantong <shixuantong@h-partners.com> - 3.10.0-4 +- Type:bugfix +- CVE:NA +- SUG:NA +- DESC:Make test suite support Expat >=2.4.5 + +* Thu Feb 10 2022 shixuantong <shixuantong@h-partners.com> - 3.10.0-3 +- Type:bugfix +- CVE:NA +- SUG:NA +- DESC:disable profile guided optimizations for x86_64 and i686 architectures + +* Mon Jan 24 2022 shixuantong<shixuantong@huawei.com> - 3.10.0-2 +- Type:bugfix +- ID:NA +- SUG:NA +- DESC:delete libpython3.8.so.1.0 file + +* Sat Nov 13 2021 shixuantong<shixuantong@huawei.com> - 3.10.0-1 +- Type:enhancement +- ID:NA +- SUG:NA +- DESC:update version to 3.10.0 + +* Thu Oct 28 2021 hanxinke<hanxinke@huawei.com> - 3.8.5-14 +- Type:requirement +- CVE:NA +- SUG:NA +- DESC:add the sm3 method for obtaining the salt value + +* Mon Sep 27 2021 shixuantong<shixuantong@huawei.com> - 3.8.5-13 +- Type:CVE +- CVE:CVE-2021-3733 CVE-2021-3737 +- SUG:NA +- DESC:fix CVE-2021-3733 CVE-2021-3737 + +* Thu Jul 22 2021 liudabo<liudabo1@huawei.com> - 3.8.5-12 +- Type:bugfix +- ID:NA +- SUG:NA +- DESC:deleting gdb build dependency + +* Mon May 31 2021 shixuantong<shixuantong@huawei.com> - 3.8.5-11 +- Type:CVE +- CVE:CVE-2021-3426 CVE-2021-29921 +- SUG:NA +- DESC:fix CVE-2021-3426 CVE-2021-29921 + +* Sun May 23 2021 shixuantong<shixuantong@huawei.com> - 3.8.5-10 +- Type:bugfix +- ID:NA +- SUG:NA +- DESC:Fix reference leak when Thread is never joined + +* Tue Apr 27 2021 BruceGW<gyl93216@163.com> - 3.8.5-9 +- Type:bugfix +- ID:NA +- SUG:NA +- DESC: fix memory leak in socketserver.ThreadingMixIn + +* Tue Mar 30 2021 shenyangyang<shenyangyang4@huawei.com> - 3.8.5-8 +- Type:bugfix +- ID:NA +- SUG:NA +- DESC:Rebuild for openEuler-rpm-config moving /usr/lib/rpm/openEuler/xxxx + to /usr/lib/xxxx + +* Wed Mar 03 2021 wuchaochao<wuchaochao4@huawei.com> - 3.8.5-7 +- Type:cves +- ID:CVE-2021-23336 +- SUG:NA +- DESC:fix CVE-2021-23336 + +* Wed Feb 24 2021 hehuazhen<hehuazhen@huawei.com> - 3.8.5-6 +- Type:bugfix +- ID:NA +- SUG:NA +- DESC:revert fix a reference leak if a thread is not joined + +* Sun Feb 07 2021 shangyibin<shangyibin1@huawei.com> - 3.8.5-5 +- Type:cves +- ID:CVE-2021-3177 +- SUG:NA +- DESC:fix CVE-2021-3177 + +* Mon Feb 01 2021 shixuantong<shixuantong@huawei.com> - 3.8.5-4 +- Type:bugfix +- ID:NA +- SUG:NA +- DESC:Fix a reference leak if a thread is not joined + +* Sat Nov 14 2020 shixuantong<shixuantong@huawei.com> - 3.8.5-3 +- Type:cves +- ID:CVE-2020-27619 +- SUG:NA +- DESC:fix CVE-2020-27619 + +* Wed Aug 19 2020 whoisxxx<zhangxuzhou4@huawei.com> - 3.8.5-2 +- Type:bugfix +- ID:NA +- SUG:NA +- DESC: Judge arch before use valgrind + +* Sat Aug 1 2020 wenzhanli<wenzhanli2@huawei.com> - 3.8.5-1 +- Type:bugfix +- ID:NA +- SUG:NA +- DESC:update version 3.8.5 + +* Fri Jun 5 2020 hanxinke<hanxinke@huawei.com> - 3.8.3-1 +- Update to Python 3.8.3 + +* Tue Jun 2 2020 hanxinke<hanxinke@huawei.com> - 3.7.4-11 +- Type:bugfix +- ID:NA +- SUG:NA +- DESC:add python3-unversioned-command package + +* Mon Jun 1 2020 hanxinke<hanxinke@huawei.com> - 3.7.4-10 +- Type:bugfix +- ID:NA +- SUG:NA +- DESC:add generic_os support to python3 + +* Tue Apr 21 2020 hanxinke<hanxinke@huawei.com> - 3.7.4-9 +- Type:cves +- ID:CVE-2019-9674 +- SUG:NA +- DESC:fix CVE-2019-9674 + +* Tue Mar 17 2020 hanxinke<hanxinke@huawei.com> - 3.7.4-8 +- Type:bugfix +- ID:NA +- SUG:NA +- DESC:patch the CVE + +* Sat Feb 22 2020 openEuler Buildteam <buildteam@openeuler.org> - 3.7.4-7 +- Type:enhancement +- ID:NA +- SUG:NA +- DESC:revert last commit + +* Sat Feb 22 2020 chengquan<chengquan3@huawei.com> - 3.7.4-6 +- Type:enhancement +- ID:NA +- SUG:NA +- DESC:Add the default version of python3 + +* Tue Dec 31 2019 hanxinke<hanxinke@huawei.com> - 3.7.4-5 +- Type:enhancement +- ID:NA +- SUG:NA +- DESC:update spec file + +* Tue Dec 24 2019 openEuler Buildteam <buildteam@openeuler.org> - 3.7.4-4 +- fix CVE-2019-16056 CVE-2019-16935 CVE-2019-17514 +- Delete the test keys, fix BEP problem + +* Thu Dec 12 2019 lvying <lvying6@huawei.com> - 3.7.4-3 +- provides python3-enum34 + +* Wed Nov 13 2019 hexiaowen <hexiaowen@huawei.com> - 3.7.4-2 +- Add system-rpm-config buildrequires + +* Tue Aug 27 2019 openEuler Buildteam <buildteam@openeuler.org> - 3.7.4-1 +- Package init |