Commit Graph

674 Commits

Author SHA1 Message Date
Miro Hrončok
a7179c0ac5 Temporarily don't use -fno-semantic-interposition on power and arm
Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1795575
2020-01-30 17:50:12 +01:00
Victor Stinner
bb05cf63a4 Run the test suite with --timeout=1800 2020-01-30 17:50:12 +01:00
Miro Hrončok
acf2f58231 ctypes: Disable checks for union types being passed by value
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1794572
Fixed upstream: https://bugs.python.org/issue16575
2020-01-30 17:50:10 +01:00
Fedora Release Engineering
1e4e35f9c2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-30 16:28:16 +00:00
Miro Hrončok
a262879258 Update to Python 3.8.1
No patches changes since 3.8.1rc1.
2019-12-19 12:21:03 +01:00
Miro Hrončok
8d46a842b6 Rebased to Python 3.8.1rc1
All patches applied cleanly.

Among other things, this contains the necessary fix for gcc 10 support:
 https://bugs.python.org/issue38965
2019-12-10 14:38:19 +01:00
Charalampos Stratakis
141731d4d0 Build Python with -fno-semantic-interposition
The compiler flag has been added to CFLAGS_NODIST and
LDFLAGS_NODIST. This will compile the core interpreter
and the stdlib modules with -fno-semantic-interposition
but will not affect user build and rpm C extension modules
compiled by distutils.

This has the effect of speeding up the interpreter up to
27%, depending on the workload, with the drawback of disabling
the capability of using LD_PRELOAD to override symbols in
libpython.

https://fedoraproject.org/wiki/Changes/PythonNoSemanticInterpositionSpeedup
2019-12-03 19:39:22 +01:00
Miro Hrončok
4b316fdc3f Reintroduce the OPENSSL_CONF=/non-existing-file workaround
Since crypto-policies-20191002-1.gitc93dc99.fc32, the maximum version of TLS
is customized in Fedora as well.

See https://bugzilla.redhat.com/show_bug.cgi?id=1778357
and https://bugs.python.org/issue38815

This reverts commit b33b4a5162.
2019-12-02 18:24:24 +01:00
Miro Hrončok
25c078cff5 Recommend python3-tkinter when tk is installed
The tkinter module is part of the Python's standard library, however it is in
a separate subpackage to save an unwanted dependency on tk.

When tk is installed, we recommend the subpackage to provide more upstream-like
experience, but still provide a way out.
2019-11-28 15:45:05 +01:00
Tomas Orsava
a50a780039 New bcond main_python
The bcond flatpackage assumed that if building *without* flatpackage,
that we want to build the main Python for the distribution. However, in
some instances we want a non-flatpackage build of Python that is *not*
the main Python in the distro.
Therefore I have split the main-Python setting into its own bcond.
2019-11-26 15:34:21 +00:00
Miro Hrončok
6e14981d8b Add "downstream only" explanations to various patches
Suggested by Neal Gompa in https://bugzilla.redhat.com/show_bug.cgi?id=1774417
2019-11-25 13:20:27 +01:00
Miro Hrončok
102b2bcc79 Verify upstream sources with GPG
This is now a recommended thing to do:
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_source_file_verification

Regardless if it adds actual security, it should prevent problems like this one:
https://mail.python.org/archives/list/python-dev@python.org/message/OYNQS2BZYABXACBRHBHV4RCEPQU5R6EP/
2019-11-01 08:09:41 +01:00
Miro Hrončok
9fa948fc22 Fedora CI: Test -O flags of the debug build
See https://src.fedoraproject.org/tests/python/pull-request/13
2019-10-24 01:50:13 +02:00
Miro Hrončok
10ec9de2ef Update to Python 3.8.0 final 2019-10-15 19:43:42 +02:00
Miro Hrončok
bb663e5153 Fedora CI: Run the smoke test on the debug build as well 2019-10-15 19:43:09 +02:00
Miro Hrončok
796e80bd9a Pass -Og to EXTRA_CFLAGS as well as to CFLAGS_NODIST
- to CFLAGS_NODIST to take precedence as CFLAGS_NODIST go after EXTRA_CFLAGS
 - to EXTRA_CFLAGS to "bake it in" and build extension modules with -Og
 - call make regen-all with the same flags, as it invokes gcc as well
2019-10-15 19:42:25 +02:00
Charalampos Stratakis
577a903f29 Make the debug build compile with -Og
Due to Python's handling of CFLAGS and the way we
were passing extra compiler flags through the SPEC
the -Og flag for the debug build was overridden by
the -O2 flag, resulting in various side effects.

See: https://bugs.python.org/issue37631

Resolves: rhbz#1678277
2019-10-03 13:03:23 +00:00
Miro Hrončok
4332c4f431 Update rpmlintrc to accept Python >= 3.10 2019-10-03 13:06:46 +02:00
Miro Hrončok
a1d16f719d Update rpmlintrc to reflect 3.8 changes and python-unversioned-command
- python-unversioned-command has dangling symlinks
 - the ABI flags no longer contain "m"
 - new -embed .pc files were added in 3.8
2019-10-03 12:25:30 +02:00
Miro Hrončok
9a14f3e986 Rebased to Python 3.8.0rc1
Rebased patches: 102
Removed patches already merged upstream: 331
2019-10-01 23:05:55 +02:00
Kalev Lember
cbb927f346 Avoid using _prefix macro for /usr/lib/debug dir
In case of flatpak module builds, _prefix is redefined as /app.
rpm-build however hardcodes /usr/lib/debug without using the _prefix
macro, so do the same here to match this.

This fixes building Python as a flatpak module.

https://bugzilla.redhat.com/show_bug.cgi?id=1737933#c14
2019-09-25 15:54:58 +02:00
Miro Hrončok
e702ad4c2b Rebased to Python 3.8.0b4
Patch 189 rebased for new setuptools/pip version.

Patch 331 added to fix clang: https://bugzilla.redhat.com/show_bug.cgi?id=1715016

importlib.metadata is now a simple module, not a folder.
2019-08-30 17:55:01 +02:00
Miro Hrončok
7b9cec6bb1 Enable Profile-guided optimization for all arches, not just x86
This increases the build time (to ~2 hours on armv7hl Koji),
but should bring more optimized Python to architectures other than x86.

The build time overhead is not so big on Python 3.8,
as only a limited number of tests is used.

Resolves https://bugzilla.redhat.com/show_bug.cgi?id=1741015
2019-08-19 16:49:13 +02:00
Miro Hrončok
c4cab72129 Rebuilt for Python 3.8 2019-08-14 23:07:29 +02:00
Miro Hrončok
8fe9ebffa8 Bootstrap for Python 3.8 2019-08-14 19:46:57 +02:00
Miro Hrončok
1e3b8fac07 Rebase to 3.8.0b3
https://fedoraproject.org/wiki/Changes/Python3.8
2019-08-12 19:10:51 +02:00
Miro Hrončok
e9ba67b74b Conditionalize python3-devel runtime dependencies on RPM packages and setuptools
Installing python3-devel currently brings in:

- annobin
- dwz
- efi-srpm-macros
- fpc-srpm-macros
- ghc-srpm-macros
- gnat-srpm-macros
- go-srpm-macros
- nim-srpm-macros
- ocaml-srpm-macros
- openblas-srpm-macros
- perl-srpm-macros
- python-rpm-macros
- python-srpm-macros
- python3-rpm-generators
- python3-rpm-macros
- qt5-srpm-macros
- redhat-rpm-config
- rust-srpm-macros

For somebody who needs python3-devel to build extension modules,
those are all useless, so we conditionalize it on rpm-build.

Based on the reason for setuptools dependency, we do the same here
(but note that python3 already recommends it).
2019-08-12 15:54:51 +02:00
Miro Hrončok
e2599943a2 Conditionalize python3-devel runtime dependencies on RPM packages and setuptools
Installing python3-devel currently brings in:

- annobin
- dwz
- efi-srpm-macros
- fpc-srpm-macros
- ghc-srpm-macros
- gnat-srpm-macros
- go-srpm-macros
- nim-srpm-macros
- ocaml-srpm-macros
- openblas-srpm-macros
- perl-srpm-macros
- python-rpm-macros
- python-srpm-macros
- python3-rpm-generators
- python3-rpm-macros
- qt5-srpm-macros
- redhat-rpm-config
- rust-srpm-macros

For somebody who needs python3-devel to build extension modules,
those are all useless, so we conditionalize it on rpm-build.

Based on the reason for setuptools dependency, we do the same here
(but note that python3 already recommends it).
2019-08-11 11:37:21 +02:00
Miro Hrončok
2d970f424c Stop disabling test_asyncio, the problem was fixed 2019-08-09 21:04:49 +02:00
Miro Hrončok
2d19c7ecdc Skip test_gdb everywhere
https://bugzilla.redhat.com/show_bug.cgi?id=1734327

Also remove a note about test_gdb skipped on armv7hl, that one was fixed:

https://bugzilla.redhat.com/show_bug.cgi?id=1196181
2019-08-09 20:59:30 +02:00
Miro Hrončok
29530ba2a8 Update to 3.8.0b3 2019-07-29 23:47:30 +00:00
Petr Viktorin
69c2d11d9a Update python-debug description for Python 3.8 ABI unification 2019-07-29 16:42:16 +02:00
Fedora Release Engineering
d35394ed78 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-26 17:27:40 +00:00
Fedora Release Engineering
5c6b2e2b5c - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-26 17:22:20 +00:00
Miro Hrončok
46d035d896 Keep the LICENSE.txt file in lib/pythonX.Y dir
The license() builtin tries to read it and virtualenv tries to copy it.

See https://github.com/pypa/virtualenv/issues/1352

Up until now, the license() builtin juts felt back to:

    See https://www.python.org/psf/license/

However it should output the full license text.

Virtualenv ~16.6 warns:

    No LICENSE.txt / LICENSE found in source

Technically, it is probably possible to install the package without
%license files, but that would simply resort to the previous noncritical
behavior.

This fix is not critical and hence it doesn't bump release, for easier
backporting to all our Python packages.
2019-07-22 18:38:17 +02:00
Miro Hrončok
ec995d8172 Restore pyc to TIMESTAMP invalidation mode as default in rpmbubild
See https://src.fedoraproject.org/rpms/redhat-rpm-config/pull-request/57#comment-27426
2019-07-15 17:38:09 +02:00
Miro Hrončok
ff90d23b8f Keep the LICENSE.txt file in lib/pythonX.Y dir
The license() builtin tries to read it and virtualenv tries to copy it.

See https://github.com/pypa/virtualenv/issues/1352

Up until now, the license() builtin juts felt back to:

    See https://www.python.org/psf/license/

However it should output the full license text.

Virtualenv ~16.6 warns:

    No LICENSE.txt / LICENSE found in source

Technically, it is probably possible to install the package without
%license files, but that would simply resort to the previous noncritical
behavior.

This fix is not critical and hence it doesn't bump release, for easier
backporting to all our Python packages.
2019-07-15 14:27:11 +00:00
Miro Hrončok
9213c03924 Restore pyc to TIMESTAMP invalidation mode as default in rpmbubild
See https://src.fedoraproject.org/rpms/redhat-rpm-config/pull-request/57#comment-27426
2019-07-15 15:38:52 +02:00
Lumir Balhar
a664336af9 Move test.support module to python3-test subpackage
More info: https://fedoraproject.org/wiki/Changes/Move_test.support_module_to_python3-test_subpackage
2019-07-15 15:28:54 +02:00
Lumir Balhar
7bf69ee163 Move test.support module to python3-test subpackage
More info: https://fedoraproject.org/wiki/Changes/Move_test.support_module_to_python3-test_subpackage
2019-07-15 15:21:13 +02:00
Miro Hrončok
988896a172 Python now means Python 3
- https://fedoraproject.org/wiki/Changes/Python_means_Python3
- The python-unversioned-command package is no longer Python 2, but 3
- The python, pydoc, python-config, python-debug, idle, pygettext.py and
  msgfmt.py commands are now in python3
2019-07-15 15:17:06 +02:00
Miro Hrončok
337d3348c9 Python now means Python 3
- https://fedoraproject.org/wiki/Changes/Python_means_Python3
- The python-unversioned-command package is no longer Python 2, but 3
- The python, pydoc, python-config, python-debug, idle, pygettext.py and
  msgfmt.py commands are now in python3
2019-07-15 15:06:48 +02:00
Miro Hrončok
0f89ab9113 Remove obsolete obsoletes 2019-07-12 18:41:02 +02:00
Miro Hrončok
b9306b1085 Add %python_provide provides
This allows easier compatibility back and forth once (and if)
https://fedoraproject.org/wiki/Changes/Python_means_Python3
happens. This is not the full implementation of the change,
as the python-unversioned package still needs to be added.

This is currently a no-op as %python_provide does nothing
for python3.
2019-07-09 19:59:58 +02:00
Miro Hrončok
f7475de5fc Add %python_provide provides
This allows easier compatibility back and forth once (and if)
https://fedoraproject.org/wiki/Changes/Python_means_Python3
happens. This is not the full implementation of the change,
as the python-unversioned package still needs to be added.

This is currently a no-op as %python_provide does nothing
for python3.
2019-07-09 15:42:18 +00:00
Miro Hrončok
663a998388 Update to 3.7.4 2019-07-09 11:00:50 +02:00
Miro Hrončok
bc1bef742b Remove the OPENSSL_CONF=/non-existing-file workaround
The test was fixed upstream to expect different config on Fedora.

Resolves https://bugzilla.redhat.com/show_bug.cgi?id=1618753

(Note that we still keep that on the CI for older Python versions.)
2019-07-08 11:48:41 +02:00
Miro Hrončok
f16aa02ebf Remove patch 316
The patch landed in Python in be5bb52f5f2d4da4b9d6f42399f7275ab47910f3

However patch 316 still applied cleanly.
Removing it doesn't make any difference, so not bumping anything.
2019-07-08 09:52:41 +02:00
Miro Hrončok
13257b57b3 Update to 3.8.0b2 2019-07-05 12:10:54 +02:00
Miro Hrončok
f585cd7ec1 Update to 3.7.4rc2 2019-07-03 00:37:56 +02:00