Compare commits
No commits in common. "rawhide" and "f41" have entirely different histories.
2 changed files with 46 additions and 91 deletions
12
plan.fmf
12
plan.fmf
|
|
@ -1,9 +1,6 @@
|
|||
execute:
|
||||
how: tmt
|
||||
|
||||
environment:
|
||||
pybasever: '3.6'
|
||||
|
||||
discover:
|
||||
- name: tests_python
|
||||
how: shell
|
||||
|
|
@ -11,13 +8,10 @@ discover:
|
|||
tests:
|
||||
- name: smoke
|
||||
path: /smoke
|
||||
test: "VERSION=${pybasever} TOX_REQUIRES='virtualenv<20.22.0' ./venv.sh"
|
||||
- name: debugsmoke
|
||||
path: /smoke
|
||||
test: "PYTHON=python${pybasever}dm TOX=false VERSION=${pybasever} INSTALL_OR_SKIP=true ./venv.sh"
|
||||
test: "VERSION=3.6 TOX_REQUIRES='virtualenv<20.22.0' ./venv.sh"
|
||||
- name: marshalparser
|
||||
path: /marshalparser
|
||||
test: "VERSION=${pybasever} SAMPLE=10 ./test_marshalparser_compatibility.sh"
|
||||
test: "VERSION=3.6 SAMPLE=10 ./test_marshalparser_compatibility.sh"
|
||||
|
||||
prepare:
|
||||
- name: Install dependencies
|
||||
|
|
@ -25,7 +19,7 @@ prepare:
|
|||
package:
|
||||
- gcc
|
||||
- python3-tox
|
||||
- python${pybasever}
|
||||
- python3.6
|
||||
- glibc-all-langpacks # for locale tests
|
||||
- marshalparser # for testing compatibility (magic numbers) with marshalparser
|
||||
- dnf # for upgrade
|
||||
|
|
|
|||
125
python3.6.spec
125
python3.6.spec
|
|
@ -17,7 +17,7 @@ URL: https://www.python.org/
|
|||
#global prerel ...
|
||||
%global upstream_version %{general_version}%{?prerel}
|
||||
Version: %{general_version}%{?prerel:~%{prerel}}
|
||||
Release: 50%{?dist}
|
||||
Release: 49%{?dist}
|
||||
# Python is Python
|
||||
# pip MIT is and bundles:
|
||||
# appdirs: MIT
|
||||
|
|
@ -59,22 +59,12 @@ License: LicenseRef-Callaway-Python AND LicenseRef-Callaway-MIT AND Apache-2.0 A
|
|||
# Note that the bcond macros are named for the CLI option they create.
|
||||
# "%%bcond_without" means "ENABLE by default and create a --without option"
|
||||
|
||||
# Main Python, i.e. whether this is the main Python version in the distribution
|
||||
# that owns /usr/bin/python3 and other unique paths
|
||||
# This also means the built subpackages are called python3 rather than python3X
|
||||
# WARNING: This also influences the flatpackage bcond below.
|
||||
# By default, this is disabled.
|
||||
%bcond_with main_python
|
||||
|
||||
# Flat package, i.e. python36, python37, python38 for tox etc.
|
||||
# Default (in Fedora >= 44): disabled
|
||||
# Default (in Fedora < 44): enabled when this is not the main Python
|
||||
# Not supported: Combination of flatpackage enabled and main_python enabled
|
||||
%if %{with main_python} || 0%{?fedora} >= 44
|
||||
%bcond_with flatpackage
|
||||
%else
|
||||
# warning: changes some other defaults
|
||||
# in Fedora, never turn this on for the python3 package
|
||||
# and always keep it on for python36 etc.
|
||||
# WARNING: This does not change the package name and summary above
|
||||
%bcond_without flatpackage
|
||||
%endif
|
||||
|
||||
# Whether to use RPM build wheels from the python-{pip,setuptools}-wheel package
|
||||
# Uses upstream bundled prebuilt wheels otherwise
|
||||
|
|
@ -312,9 +302,6 @@ BuildRequires: /usr/sbin/ifconfig
|
|||
%if %{with rpmwheels}
|
||||
BuildRequires: python-setuptools-wheel
|
||||
BuildRequires: python-pip-wheel
|
||||
%else
|
||||
# For %%python_wheel_inject_sbom
|
||||
BuildRequires: python-rpm-macros
|
||||
%endif
|
||||
|
||||
|
||||
|
|
@ -885,16 +872,12 @@ Patch467: 00467-tarfile-cve-2025-8194.patch
|
|||
Provides: python%{pyshortver} = %{version}-%{release}
|
||||
Obsoletes: python%{pyshortver} < %{version}-%{release}
|
||||
|
||||
# Packages with Python modules in standard locations automatically
|
||||
# depend on python(abi). Provide that here only for the main Python.
|
||||
%if %{with main_python}
|
||||
Provides: python(abi) = %{pybasever}
|
||||
%else
|
||||
%global __requires_exclude ^python\\(abi\\) = 3\\..+
|
||||
%global __provides_exclude ^python\\(abi\\) = 3\\..+
|
||||
%endif
|
||||
|
||||
%if %{without flatpackage}
|
||||
|
||||
# Packages with Python modules in standard locations automatically
|
||||
# depend on python(abi). Provide that here.
|
||||
Provides: python(abi) = %{pybasever}
|
||||
|
||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||
|
||||
# In order to support multiple Python interpreters for development purposes,
|
||||
|
|
@ -909,16 +892,18 @@ Provides: python%{pyshortver} = %{version}-%{release}
|
|||
# replace python36-3.6.2.
|
||||
Obsoletes: python%{pyshortver}
|
||||
|
||||
# https://docs.fedoraproject.org/en-US/packaging-guidelines/#_one_to_many_replacement
|
||||
Obsoletes: %{name} < 3.6.15-50
|
||||
# Shall be removed in Fedora 31
|
||||
# The release is bumped to 20, so we can do f27 platform-python updates
|
||||
# If the release in f27 ever goes >= 20, raise it here
|
||||
# If platform-python is ever reintroduced, make it higher version than this:
|
||||
%global platpyver 3.6.2-20
|
||||
Obsoletes: platform-python < %{platpyver}
|
||||
|
||||
%if %{with main_python}
|
||||
# Previously, this was required for our rewheel patch to work.
|
||||
# This is technically no longer needed, but we keep it recommended
|
||||
# for the developer experience.
|
||||
Recommends: python3-setuptools
|
||||
Recommends: python3-pip
|
||||
%endif
|
||||
|
||||
# This prevents ALL subpackages built from this spec to require
|
||||
# /usr/bin/python3*. Granularity per subpackage is impossible.
|
||||
|
|
@ -1001,8 +986,9 @@ Provides: bundled(libmpdec) = %{libmpdec_version}
|
|||
# See https://bugzilla.redhat.com/show_bug.cgi?id=1547131
|
||||
Recommends: %{name}%{?_isa} = %{version}-%{release}
|
||||
|
||||
# https://docs.fedoraproject.org/en-US/packaging-guidelines/#_one_to_many_replacement
|
||||
Obsoletes: %{name} < 3.6.15-50
|
||||
# Shall be removed in Fedora 31
|
||||
Obsoletes: platform-python-libs < %{platpyver}
|
||||
Obsoletes: platform-python-libs-devel < %{platpyver}
|
||||
|
||||
%description libs
|
||||
This package contains runtime libraries for use by Python:
|
||||
|
|
@ -1016,21 +1002,17 @@ Summary: Libraries and header files needed for Python development
|
|||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||
BuildRequires: python-rpm-macros
|
||||
# The RPM related dependencies bring nothing to a non-RPM Python developer
|
||||
# But we want them when packages BuildRequire python3-devel
|
||||
Requires: (python-rpm-macros if rpm-build)
|
||||
Requires: (python3-rpm-macros if rpm-build)
|
||||
Requires: (python3-rpm-generators if rpm-build)
|
||||
Requires: python-rpm-macros
|
||||
Requires: python3-rpm-macros
|
||||
Requires: python3-rpm-generators
|
||||
|
||||
Provides: %{name}-2to3 = %{version}-%{release}
|
||||
%if %{with main_python}
|
||||
Provides: 2to3 = %{version}-%{release}
|
||||
%endif
|
||||
|
||||
Conflicts: %{name} < %{version}-%{release}
|
||||
|
||||
# https://docs.fedoraproject.org/en-US/packaging-guidelines/#_one_to_many_replacement
|
||||
Obsoletes: %{name} < 3.6.15-50
|
||||
# Shall be removed in Fedora 31
|
||||
Obsoletes: platform-python-devel < %{platpyver}
|
||||
|
||||
%description devel
|
||||
This package contains the header files and configuration needed to compile
|
||||
|
|
@ -1046,16 +1028,14 @@ Summary: A basic graphical development environment for Python
|
|||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: %{name}-tkinter = %{version}-%{release}
|
||||
|
||||
%if %{with main_python}
|
||||
Provides: idle3 = %{version}-%{release}
|
||||
%endif
|
||||
|
||||
Provides: %{name}-tools = %{version}-%{release}
|
||||
Provides: %{name}-tools%{?_isa} = %{version}-%{release}
|
||||
Obsoletes: %{name}-tools < %{version}-%{release}
|
||||
|
||||
# https://docs.fedoraproject.org/en-US/packaging-guidelines/#_one_to_many_replacement
|
||||
Obsoletes: %{name} < 3.6.15-50
|
||||
# Shall be removed in Fedora 31
|
||||
Obsoletes: platform-python-tools < %{platpyver}
|
||||
|
||||
%description idle
|
||||
IDLE is Python’s Integrated Development and Learning Environment.
|
||||
|
|
@ -1074,8 +1054,8 @@ configuration, browsers, and other dialogs.
|
|||
Summary: A GUI toolkit for Python
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
# https://docs.fedoraproject.org/en-US/packaging-guidelines/#_one_to_many_replacement
|
||||
Obsoletes: %{name} < 3.6.15-50
|
||||
# Shall be removed in Fedora 31
|
||||
Obsoletes: platform-python-tkinter < %{platpyver}
|
||||
|
||||
%description tkinter
|
||||
The Tkinter (Tk interface) library is a graphical user interface toolkit for
|
||||
|
|
@ -1086,8 +1066,8 @@ the Python programming language.
|
|||
Summary: The self-test suite for the main python3 package
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
# https://docs.fedoraproject.org/en-US/packaging-guidelines/#_one_to_many_replacement
|
||||
Obsoletes: %{name} < 3.6.15-50
|
||||
# Shall be removed in Fedora 31
|
||||
Obsoletes: platform-python-test < %{platpyver}
|
||||
|
||||
%description test
|
||||
The self-test suite for the Python interpreter.
|
||||
|
|
@ -1132,6 +1112,11 @@ so extensions for both versions can co-exist in the same directory.
|
|||
|
||||
%else # with flatpackage
|
||||
|
||||
# We'll not provide this, on purpose
|
||||
# No package in Fedora shall ever depend on flatpackage via this
|
||||
%global __requires_exclude ^python\\(abi\\) = 3\\..$
|
||||
%global __provides_exclude ^python\\(abi\\) = 3\\..$
|
||||
|
||||
%if %{with rpmwheels}
|
||||
Requires: python-setuptools-wheel
|
||||
Requires: python-pip-wheel
|
||||
|
|
@ -1482,7 +1467,7 @@ install -d -m 0755 %{buildroot}%{pylibdir}/site-packages/__pycache__
|
|||
install -d -m 0755 %{buildroot}%{_prefix}/lib/python%{pybasever}/site-packages/__pycache__
|
||||
%endif
|
||||
|
||||
%if %{with main_python}
|
||||
%if %{without flatpackage}
|
||||
# add idle3 to menu
|
||||
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
|
||||
|
|
@ -1572,18 +1557,13 @@ find %{buildroot} -perm 555 -exec chmod 755 {} \;
|
|||
# Create "/usr/bin/python3-debug", a symlink to the python3 debug binary, to
|
||||
# avoid the user having to know the precise version and ABI flags.
|
||||
# See e.g. https://bugzilla.redhat.com/show_bug.cgi?id=676748
|
||||
%if %{with debug_build} && %{with main_python}
|
||||
%if %{with debug_build} && %{without flatpackage}
|
||||
ln -s \
|
||||
%{_bindir}/python%{LDVERSION_debug} \
|
||||
%{buildroot}%{_bindir}/python3-debug
|
||||
%endif
|
||||
|
||||
%if %{without rpmwheels}
|
||||
# Inject SBOM into the installed wheels (if the macro is available)
|
||||
%{?python_wheel_inject_sbom:%python_wheel_inject_sbom %{buildroot}%{pylibdir}/ensurepip/_bundled/*.whl}
|
||||
%endif
|
||||
|
||||
%if %{without main_python}
|
||||
%if %{with flatpackage}
|
||||
# Remove stuff that would conflict with python3 package
|
||||
rm %{buildroot}%{_bindir}/python3
|
||||
rm %{buildroot}%{_bindir}/pydoc3
|
||||
|
|
@ -1700,15 +1680,11 @@ CheckPython optimized
|
|||
%doc README.rst
|
||||
|
||||
%if %{without flatpackage}
|
||||
%if %{with main_python}
|
||||
%{_bindir}/pydoc*
|
||||
%{_bindir}/python3
|
||||
%{_bindir}/pyvenv
|
||||
%{_mandir}/*/*
|
||||
%else
|
||||
%{_bindir}/pydoc%{pybasever}
|
||||
%{_mandir}/*/python%{pybasever}*
|
||||
%endif
|
||||
%{_bindir}/pyvenv
|
||||
%else
|
||||
%{_bindir}/pydoc%{pybasever}
|
||||
%{_mandir}/*/python%{pybasever}*
|
||||
|
|
@ -1853,10 +1829,6 @@ CheckPython optimized
|
|||
%dir %{pylibdir}/site-packages/
|
||||
%dir %{pylibdir}/site-packages/__pycache__/
|
||||
%{pylibdir}/site-packages/README.txt
|
||||
|
||||
%exclude %{pylibdir}/_sysconfigdata_%{ABIFLAGS_debug}_linux_%{platform_triplet}.py
|
||||
%exclude %{pylibdir}/__pycache__/_sysconfigdata_%{ABIFLAGS_debug}_linux_%{platform_triplet}%{bytecode_suffixes}
|
||||
|
||||
%{pylibdir}/*.py
|
||||
%dir %{pylibdir}/__pycache__/
|
||||
%{pylibdir}/__pycache__/*%{bytecode_suffixes}
|
||||
|
|
@ -1940,29 +1912,27 @@ CheckPython optimized
|
|||
%{_includedir}/python%{LDVERSION_optimized}/%{_pyconfig_h}
|
||||
|
||||
%{_libdir}/%{py_INSTSONAME_optimized}
|
||||
%if %{with main_python}
|
||||
%if %{without flatpackage}
|
||||
%{_libdir}/libpython3.so
|
||||
%endif
|
||||
|
||||
%if %{without flatpackage}
|
||||
%files devel
|
||||
%if %{with main_python}
|
||||
%{_bindir}/2to3
|
||||
# TODO: Remove 2to3-3.7 once rebased to 3.7
|
||||
%{_bindir}/2to3-%{pybasever}
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%{pylibdir}/config-%{LDVERSION_optimized}-%{platform_triplet}/*
|
||||
%if %{without flatpackage}
|
||||
%exclude %{pylibdir}/config-%{LDVERSION_optimized}-%{platform_triplet}/Makefile
|
||||
%exclude %{_includedir}/python%{LDVERSION_optimized}/%{_pyconfig_h}
|
||||
%endif
|
||||
%exclude %{pylibdir}/distutils/command/wininst-*.exe
|
||||
%{pylibdir}/distutils/command/wininst-*.exe
|
||||
%{_includedir}/python%{LDVERSION_optimized}/*.h
|
||||
%doc Misc/README.valgrind Misc/valgrind-python.supp Misc/gdbinit
|
||||
|
||||
%if %{with main_python}
|
||||
%if %{without flatpackage}
|
||||
%{_bindir}/python3-config
|
||||
%{_libdir}/pkgconfig/python3.pc
|
||||
%{_bindir}/pathfix.py
|
||||
|
|
@ -1990,7 +1960,7 @@ CheckPython optimized
|
|||
|
||||
%{pylibdir}/idlelib
|
||||
|
||||
%if %{with main_python}
|
||||
%if %{without flatpackage}
|
||||
%{_metainfodir}/idle3.appdata.xml
|
||||
%{_datadir}/applications/idle3.desktop
|
||||
%{_datadir}/icons/hicolor/*/apps/idle3.*
|
||||
|
|
@ -2038,10 +2008,8 @@ CheckPython optimized
|
|||
%if %{with debug_build}
|
||||
%if %{without flatpackage}
|
||||
%files debug
|
||||
%if %{with main_python}
|
||||
%{_bindir}/python3-debug
|
||||
%endif
|
||||
%endif
|
||||
|
||||
# Analog of the core subpackage's files:
|
||||
%{_bindir}/python%{LDVERSION_debug}
|
||||
|
|
@ -2114,9 +2082,6 @@ CheckPython optimized
|
|||
%{dynload_dir}/unicodedata.%{SOABI_debug}.so
|
||||
%{dynload_dir}/zlib.%{SOABI_debug}.so
|
||||
|
||||
%{pylibdir}/_sysconfigdata_%{ABIFLAGS_debug}_linux_%{platform_triplet}.py
|
||||
%{pylibdir}/__pycache__/_sysconfigdata_%{ABIFLAGS_debug}_linux_%{platform_triplet}%{bytecode_suffixes}
|
||||
|
||||
# No need to split things out the "Makefile" and the config-32/64.h file as we
|
||||
# do for the regular build above (bug 531901), since they're all in one package
|
||||
# now; they're listed below, under "-devel":
|
||||
|
|
@ -2168,10 +2133,6 @@ CheckPython optimized
|
|||
# ======================================================
|
||||
|
||||
%changelog
|
||||
* Thu Nov 06 2025 Miro Hrončok <mhroncok@redhat.com> - 3.6.15-50
|
||||
- On Fedora 44+, split this package into multiple subpackages
|
||||
- This mimics newer Python versions
|
||||
|
||||
* Mon Aug 11 2025 Lumír Balhar <lbalhar@redhat.com> - 3.6.15-49
|
||||
- Security fix for CVE-2025-8194
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue