Commit graph

948 commits

Author SHA1 Message Date
Karolina Surma
d60c500d01 Supplement tox from -freethreading-devel package 2025-10-24 13:06:09 +02:00
Miro Hrončok
a7297274d1 Revert "CI: Disable Cython checks on the smoke test for now"
Cython supports 3.14. This should have been enabled a long time ago.

This reverts commit 204e750d2e.
2025-10-22 14:55:01 +02:00
Karolina Surma
041b6663c5 Split freethreading package into analogs of the main Python
Assisted-By: Claude Sonnet 4.5
2025-10-18 10:51:04 +02:00
Karolina Surma
0bef7f1c35 trace is officially licensed as HPND-SMC
https://gitlab.com/fedora/legal/fedora-license-data/-/issues/657#note_2815942473
2025-10-15 11:14:33 +02:00
Karolina Surma
c6a9f6fe3b Update to Python 3.14.0 2025-10-07 17:08:27 +02:00
Karolina Surma
937d86cf62 Include licenses of incorporated software (rhbz#2133426)
Python includes a lot of differently licensed functions and
modules.
We gather the list from https://docs.python.org/3.14/license.html.

Detect changes to Doc/license.rst with file hash automatically in %prep.
2025-09-24 16:04:04 +02:00
Karolina Surma
0ca0aa8525 Update to Python 3.14.0rc3 2025-09-18 15:06:56 +02:00
Lumir Balhar
cfc37cd117 rpminspect: Wrap strings with globs with single quotes
It seems to be required since rpminspect 2.0:
1593c38ce4
2025-08-26 13:26:44 +02:00
Miro Hrončok
56f34b9695 Update to Python 3.14.0rc2
- The .pyc magic number was bumped
2025-08-14 18:25:42 +02:00
Lukáš Zachar
e8a3251a5e Drop STI and use tmt instead
Resolves: rhbz#2383060
2025-07-30 16:27:45 +00:00
Fedora Release Engineering
8c03c574c2 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 11:19:30 +00:00
Miro Hrončok
482bb556a9 Update to Python 3.14.0rc1
_datetime was removed from installed files via
ecd97caaf5
2025-07-22 22:25:10 +02:00
Miro Hrončok
278f3033f3 Update to Python 3.14.0b4 2025-07-08 20:57:41 +02:00
Miro Hrončok
797b97aa4d CI: Unskip a fixed test 2025-07-08 20:54:53 +02:00
Karolina Surma
c0c82aa771 Lower the minimal required autoconf version for EPEL 9 build 2025-06-27 08:38:41 +02:00
Karolina Surma
a419176c4c Switch the basic conditionals based on the bootstrap's value
We always switch rpmswheels, optimizations and tests when bootstrapping
new Python version, so they can be tied to the bootstrap conditional.
With that, switching the bootstrap in Koji side tag will be possible,
letting us to avoid separate "bootstrap" and "rebuild" commits.
2025-06-27 08:37:59 +02:00
Karolina Surma
ed3fc5a80b Move the bootstrapping conditionals above the global metadata
We need to have it above the Release field, in order for the build NVR
to contain the ~bootstrap suffix and sort correctly (lower than the main
build).

This enables bootstrapping the package directly in Koji side tag.
2025-06-25 12:48:51 +02:00
Karolina Surma
48ee6e9c72 Downstream patch: Skip tests not working with older expat version
This will ensure the tests run in Fedoras and EPEL 10, but are skipped
for EPEL 9.
2025-06-25 11:23:45 +02:00
Karolina Surma
1521b586f0 Define %python3_pkgversion based on the Python's status
Main Python should retain the value '3', non-main the major-minor one.
We need that to request the correctly versioned wheels for EPEL builds.
2025-06-24 14:26:44 +02:00
Karolina Surma
4041c8a86e Remove the upper version bound from expat library
It's already greater than 2.6 in all Fedoras.
2025-06-24 14:25:40 +02:00
Charalampos Stratakis
eb9909215c Enable PAC and BTI hardware protections for aarch64 2025-06-18 17:29:39 +02:00
Charalampos Stratakis
64000497af Revert "Add perf to the testing BuildRequires"
This reverts commit 1e24d38cd9.
2025-06-18 17:25:37 +02:00
Miro Hrončok
eda37b70f4 Update to Python 3.14.0b3
- The .pyc magic number was bumped
- python3.14-freethreading is no longer provisional
2025-06-18 00:25:23 +02:00
Python Maint
e3c3cbe96e Rebuilt for Python 3.14 2025-06-02 17:45:07 +02:00
Python Maint
b06a2a26f3 Bootstrap for Python 3.14 2025-06-02 10:51:01 +02:00
Miro Hrončok
09b6af7951 Build the _zstd module 2025-05-27 10:22:03 +02:00
Miro Hrončok
014f2b2430 Update to Python 3.14.0b2 2025-05-27 09:29:13 +02:00
Miro Hrončok
ef2d703504 Disable JIT on RHEL
For now on, until we figure out a way of building the JIT with pre-built stencils,
we disable the JIT on RHEL to avoid a dependency on a specific LLVM+clang version.

https://discuss.python.org/t/building-the-jit-with-pre-built-stencils/91838
https://src.fedoraproject.org/rpms/python3.14/pull-request/40
https://github.com/fedora-eln/eln/issues/207
2025-05-20 13:54:21 +02:00
Miro Hrončok
143d59d932 Verify bundled() provides for setuptools.whl 2025-05-13 19:29:44 +02:00
Charalampos Stratakis
1e24d38cd9 Add perf to the testing BuildRequires
Perf profiling showing the Python functions is only
supported on x86_64 and aarch64 at the moment.

Adding perf as a BuildRequires allows tests that utilize the
perf binary to run.
2025-05-12 16:39:54 +02:00
Karolina Surma
05411b4c04 Update to Python 3.14.0b1 2025-05-09 10:58:55 +02:00
Miro Hrončok
e3f12dbc36 Drop requirement on python-wheel-wheel with setuptools >= 71 2025-05-05 12:43:44 +02:00
Charalampos Stratakis
eee246a4f2 Apply Intel's CET for mitigation against control-flow hijacking attacks 2025-04-23 16:14:28 +02:00
Tomáš Hrnčiar
096e4f0d88 Regenerate patches with updated importpatches script 2025-04-17 12:24:25 +02:00
Karolina Surma
81efe7427b Don't mangle the shebangs of test files
Shebangs are mangled from #!/bin/bash to #!/usr/bin/bash, which causes
the change in data_offset calculated in tests, resulting in a
test_zipfile failure:

FAIL: test_data_offset_with_exe_prepended
(test.test_zipfile.test_core.TestDataOffsetPrependedZip.test_data_offset_with_exe_prepended)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib64/python3.14/test/test_zipfile/test_core.py", line
  3431, in test_data_offset_with_exe_prepended
      self._test_data_offset(self.exe_zip)
      ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
  File "/usr/lib64/python3.14/test/test_zipfile/test_core.py",
  line 3428, in _test_data_offset
      self.assertEqual(zipfp.data_offset, 713)
      ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: 717 != 713
2025-04-15 10:49:07 +02:00
Karolina Surma
608ee6ea09 Update to Python 3.14.0a7 2025-04-11 11:42:59 +02:00
Karolina Surma
4490e888a6 Update to Python 3.14.0a6 2025-03-18 09:03:12 +01:00
Karolina Surma
a6be165890 Update to Python 3.14.0a5 2025-02-18 08:53:49 +01:00
Miro Hrončok
71818464a3 Rebuilt with mpdecimal 4.0.0 2025-02-06 12:04:28 +01:00
Charalampos Stratakis
a9eff720fa Security fix for CVE-2025-0938
Fixes: rhbz#2343273
2025-02-04 04:26:18 +01:00
Miro Hrončok
524afa95d3 Drop version constraints from Recommends
This makes it easier for the package manager to determine "already broken" weak dependency.
When Python is updated, the Recommends now remain identical, rather than being "new".

Note that I don't know if dnf currently treats weak dependencies this way,
but the assumption is that it *might*.

The reverse dependency is versioned anyway, so the constraint is not necessary.

Intentionally not bumping the release, this can land with the next update.
2025-01-28 13:30:16 +01:00
Charalampos Stratakis
594724cb65 Remove redundant --with-system-ffi configure option
The option has been removed since Python 3.12

See: 25590eb5de
2025-01-23 02:04:40 +01:00
Karolina Surma
83a2832b2b Update to Python 3.14.0a4 2025-01-21 17:36:57 +01:00
Fedora Release Engineering
8d4a33cab3 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-18 21:09:13 +00:00
Miro Hrončok
2f4307845b Remove unused GPG key 2025-01-02 11:30:49 +01:00
Miro Hrončok
85202ae1ee Bump the PYC magic number for a change in annotate functions 2025-01-02 11:30:18 +01:00
Karolina Surma
31971f96ff Update to Python 3.14.0a3
selftest and debugtest in tests/tests.yml exclude test_sysconfigdata_json
for now, reported upstream as:
https://github.com/python/cpython/issues/128055
2024-12-18 13:40:47 +01:00
Charalampos Stratakis
1e0faaa82b Security fix for CVE-2024-12254
Fixes: rhbz#2330928
2024-12-08 21:28:58 +01:00
Miro Hrončok
42592ff6ca Optimize patch 251 a tiny bit
Before:

    $ python3.14 -m timeit -s 'import sysconfig' 'sysconfig.get_paths()'
    2000 loops, best of 5: 157 usec per loop

    $ python3.14 -m timeit -s 'import sysconfig' 'sysconfig.get_paths()'
    2000 loops, best of 5: 162 usec per loop

    $ python3.14 -m timeit -s 'import sysconfig' 'sysconfig.get_paths()'
    1000 loops, best of 5: 146 usec per loop

After:

    $ python3.14 -m timeit -s 'import sysconfig' 'sysconfig.get_paths()'
    5000 loops, best of 5: 75.9 usec per loop

    $ python3.14 -m timeit -s 'import sysconfig' 'sysconfig.get_paths()'
    5000 loops, best of 5: 77.1 usec per loop

    $ python3.14 -m timeit -s 'import sysconfig' 'sysconfig.get_paths()'
    5000 loops, best of 5: 76.2 usec per loop

This can be shipped together with the next alpha release.
2024-12-05 11:50:31 +01:00
Karolina Surma
139e55ac21 Update to Python 3.14.0a2 2024-11-20 14:55:55 +01:00