Commit Graph

731 Commits

Author SHA1 Message Date
Lumir Balhar
76d03e29c9 Ship versioned pathfixX.Y.py in main and non-main Python versions
pathfix.py is a cruicial tool when building Python so it's
useful to have it also in non-main Pythons without a conflict
with the main one.

This change is also reflected in %py(3)_shebang_fix macro:
https://src.fedoraproject.org/rpms/python-rpm-macros/pull-request/72
2020-07-24 13:11:04 +02:00
Miro Hrončok
9c094494d8 Use make macros
https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
2020-07-21 18:43:48 +02:00
Miro Hrončok
02c3d0cb2f Update to 3.9.0b5 2020-07-21 11:09:58 +02:00
Miro Hrončok
acc1ca2724 Convert patches to use github.com/fedora-python/importpatches 2020-07-21 11:09:56 +02:00
Marcel Plch
740668aab7 POC: keep only cache for large, autogenerated files
This saves about 2 MiB from the package. When all rpms get extracted,
the comparison is as follows on an ext4 filesystem:

With this patch:
$ du -s usr
195828 usr/

Without this patch:
$ du -s usr
198224 usr/

Which is a difference of 2.396 MiB.

To reduce the filesystem footprint of the Python installation, some
files are now being removed and only one level of their pycache
(non-optimized) is being kept.

These particular files were chosen for their size and the fact that they
are autogenerated, thus hard to read.
2020-07-17 08:44:58 +00:00
Miro Hrončok
0a760f01ca Use %autosetup with git am
Patch 189 is still applied conditionally, so we need to use %autosetup with -N,
to prevent automatic patch application.

Later, the patches are applied automatically up to 188 (with -M for maximum),
patch 189 is applied conditionally,
and finally patches from 190 up are applied (with -m for minimum).

Once patch 189 is reworked to be applicable at all times (or removed), this can be dropped.

While not necessary shorter, this no longer requires adding/removing %patch XYZ
when adding/removing patches.

While at it, we also use git am to apply the patches
since they are all generated from git anyway.
This makes it easier if we ever patch binary files.
2020-07-15 17:19:11 +02:00
Tomas Hrnciar
efdda005ea Update to 3.9.0b4 2020-07-07 12:53:18 +02:00
Miro Hrončok
7367fec47d Define pip/setuptools versions in once place, provide bundled(python3dist(...))
This makes once obvious place where the versions need to be updated.
The twice listed versions were easy to miss.
2020-07-07 11:38:49 +02:00
Miro Hrončok
a971d071bf Workaround: Skip test_gdb on arm
Tracked in https://bugzilla.redhat.com/show_bug.cgi?id=1846390
2020-06-11 15:36:55 +02:00
Miro Hrončok
3332fa2167 Update to 3.9.0b3
No patch changes, this was released immediately after b2.
2020-06-10 09:31:59 +02:00
Miro Hrončok
d860201a1f Update to 3.9.0b2
Patches 349 and 350 already merged.
2020-06-09 11:37:31 +02:00
Lumir Balhar
e8961f714c Switch back to compileall from stdlib
All enhancements from compileall2 are included in Python >= 3.9.
2020-06-05 13:45:13 +02:00
Miro Hrončok
31a41e7f72 Fedora CI: Bring in the config from the python3 component 2020-05-30 09:15:31 +02:00
Petr Viktorin
424eca1d57 Add cherry-picks for bugs found in 3.9.0b1
These should be released with the next beta, but we need to build with them.
2020-05-29 18:21:53 +02:00
Tomas Orsava
a0928446f8 rpmlint: Small fixes 2020-05-26 19:16:15 +02:00
Miro Hrončok
6b4f38d0ff Remove a workaround for upstream merged PR
No need for rebuild, the sed did nothing since 3.9.0b1
2020-05-26 17:14:16 +00:00
Miro Hrončok
78de36930d The Python name provides generator no longer uses %python_provide internally 2020-05-26 19:07:52 +02:00
Miro Hrončok
152421500c Rebuilt for https://fedoraproject.org/wiki/Changes/Python3.9 2020-05-22 01:13:03 +02:00
Miro Hrončok
feaf2a6e94 Bootstrap for https://fedoraproject.org/wiki/Changes/Python3.9 2020-05-21 23:33:46 +02:00
Miro Hrončok
c75e05c7c8 Update to Python 3.9.0b1 2020-05-19 09:57:43 +02:00
Miro Hrončok
91b58b71f2 rpmlint: Merge with python3 and adapt for new errors and python3.10 2020-05-11 14:23:42 +02:00
Tomas Orsava
97711d63ca Rename from python39 to python3.9
See https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/message/VIUS7WMQMDX6H2WEIH7TVTMBB6SUHY7E/
2020-05-07 21:56:05 +02:00
Tomas Orsava
04353ec4a3 Small spec file changes
- Fix small mistakes around main_python bcond
- Merge two main_python ǐf blocks
- Declare not supported combination of flatpackage enabled and main_python enabled
2020-05-07 14:20:19 +02:00
Miro Hrončok
6da7cc6631 Debootstrap Python 3.9.0a6
This mostly reverts d74ac90ff9
2020-05-05 15:40:16 +02:00
Miro Hrončok
d74ac90ff9 Rebootstrap for distutils.tests.test_bdist_rpm failures 2020-04-30 16:09:10 +02:00
Miro Hrončok
341bcbc115 Update to Python 3.9.0a6
Sed a SyntaxError out not to bother with a patch that would most likely go away in a7.

No other patch changes.
2020-04-30 16:09:10 +02:00
Miro Hrončok
1b0f2ac365 When building python39 non-flat package, we need python39 packages 2020-04-09 15:32:36 +02:00
Miro Hrončok
1e0644aa8a Remove manual %python_provides calls
See https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/message/SSJLPWSGFGPYRSHXQZDR7JNQXSDGGX3Z/
2020-04-06 12:17:01 +02:00
Miro Hrončok
d799859b91 Restructure the package, so we can build python3 + python3-libs from python39 2020-04-06 12:16:45 +02:00
Victor Stinner
b6195fa378 Reenable test_gdb
test_gdb now detects when the Python is optmized and gdb fails to
read debug information:
https://bugs.python.org/issue40019

The following issues should now be fixed in Python 3.9.0 alpha 5

* test_gdb skipped on s390x:
  https://bugzilla.redhat.com/show_bug.cgi?id=1678277
* test_gdb skipped everywhere:
  https://bugzilla.redhat.com/show_bug.cgi?id=1734327

Resolves: rhbz#1734327
2020-04-02 19:34:31 +02:00
Tomas Hrnciar
0cf6d40a7f Remove the OPENSSL_CONF=/non-existing-file workaround
The test was adapted in version 3.9.0a1 and the workaround is no longer needed.
2020-04-01 11:29:54 +02:00
Miro Hrončok
b89d4ad8e7 Update to Python 3.9.0a5
Patch 102 is upstreamed (differently), added --with-platlibdir=%{_lib}
2020-03-24 18:56:52 +01:00
Miro Hrončok
f6b4d318e9 Enable https://fedoraproject.org/wiki/Changes/PythonNoSemanticInterpositionSpeedup on power and arm
https://bugzilla.redhat.com/show_bug.cgi?id=1795575 is "fixed for almost a month"
2020-03-02 17:51:52 +01:00
Marcel Plch
2d49fce8f2 Merge #23 Update to 3.9.0a4 2020-03-02 12:07:28 +00:00
Marcel Plch
1206bb9631 Update to 3.9.0a4
Patches 340 and 341 got upstreamed and are no longer present.
2020-03-02 13:05:38 +01:00
Miro Hrončok
093c1453a5 Hardlink duplicated bytecode cache files by --hardlink-dupes instead of BRP script
This is explained in https://discuss.python.org/t/3014
                 and https://github.com/fedora-python/compileall2/issues/16

The %__brp_python_hardlink script already does this by Shell, this should be slightly faster.

Also, this is more explicit.
2020-02-27 13:53:51 +00:00
Miro Hrončok
088c30cb53 Update the ensurepip module to work with setuptools >= 45
setuptools 45.x is Python 3 only and changed the name of the wheel
2020-02-25 16:33:50 +00:00
Nicolas Chauvet
eecc383e09 Use __isa_bits instead of crafted value
This is easier to read and the appropriate macro to use here

Signed-off-by: Nicolas Chauvet <kwizart@gmail.com>
2020-02-24 22:06:46 +01:00
Lumir Balhar
42de082336 Use compileall2 module for byte-compilation in the python3 package 2020-02-03 22:34:09 +01:00
Tomas Orsava
d8879e2d28 De-hardcode py_SOVERSION in the files section 2020-02-03 22:34:04 +01:00
Miro Hrončok
33b3a95c1e 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 11:24:01 +01:00
Victor Stinner
f4a58d6359 Run the test suite with --timeout=1800 2020-01-29 15:58:24 +01:00
Victor Stinner
0ae3172083 Update to Python 3.9.0a3
Added patches 340 and 341 (backports from master)
2020-01-29 15:58:02 +01:00
Charalampos Stratakis
78bc51a18d Package __init__.py within ensurepip's bundled directory
when not using the system installed rpmwheels

Upstream change: https://bugs.python.org/issue37449
2020-01-03 14:25:58 +01:00
Miro Hrončok
d33516835b Rebased to Python 3.9.0a2
No patches changes since 3.9.0a1.
2019-12-19 12:25:44 +01:00
Charalampos Stratakis
620353def6 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-04 16:36:18 +01:00
Miro Hrončok
fc7d3985d4 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 b33b4a5162e2b5873c5846dcba882f3569ab76cd.
2019-12-03 19:09:16 +01:00
Miro Hrončok
9885fc6e12 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-30 01:15:55 +01:00
Tomas Orsava
83f99db714 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-30 01:14:44 +01:00
Miro Hrončok
85bf9e384b Debootstrap Python 3.9
This reverts commit d126d7b2af.

No rebuild is needed, the bootstrapped build should be identical.
2019-11-28 15:53:58 +01:00