Compare commits

...

660 Commits

Author SHA1 Message Date
Miro Hrončok 7baa535f27 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-02-28 18:34:31 +01:00
Miro Hrončok 66b21b9b89 Rebased to 3.8.2 final
All patches applied cleanly.
2020-02-26 15:03:31 +01:00
Miro Hrončok 471a304653 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-24 21:49:54 +01:00
Nicolas Chauvet 086f5b2234 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 19:53:58 +00:00
Marcel Plch b6982963b8 Rebase to v3.8.2rc2 2020-02-24 17:22:04 +01:00
Miro Hrončok e2dce1ef0e Rebased to 3.8.2rc1
Patches 339 and 341 were backports, now included.
No other patches changes required.
2020-02-12 11:40:41 +01:00
Lumir Balhar e90b6d950b Use compileall2 module for byte-compilation in the python3 package 2020-01-31 07:46:43 +00:00
Tomas Orsava 97e152a6da De-hardcode py_SOVERSION in the files section 2020-01-30 20:52:35 +00:00
Miro Hrončok b1c7775af7 Fix test_zipfile.test_add_file_after_2107() 2020-01-30 17:50:12 +01:00
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
Miro Hrončok b6a6e97b8f Don't skip so many tests on the CI
test_wsgiref is tracked in https://bugs.python.org/issue37411
2019-06-28 13:13:03 +02:00
Miro Hrončok 949410ed57 Fedora CI: Provision 3 GiB of RAM 2019-06-28 13:13:03 +02:00
Miro Hrončok 3815a08388 Don't skip so many tests on the CI
test_wsgiref is tracked in https://bugs.python.org/issue37411
2019-06-28 02:46:02 +02:00
Miro Hrončok 9f5808cf53 Don't let RPM set SOURCE_DATE_EPOCH based on the latest %changelog date
It breaks tests with: can't find '__main__' module in .../test_zip.zip

Reported at https://bugs.python.org/issue34022
Tracked at https://bugzilla.redhat.com/show_bug.cgi?id=1724753
2019-06-27 20:17:39 +02:00
Victor Stinner 17d397670a Skip test_distutils if bootstraping, use python3.X for regen-all 2019-06-26 12:08:56 +02:00
Miro Hrončok b33b4a5162 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-06-26 10:30:21 +02:00
Miro Hrončok dd5f80b1b8 Update to 3.7.4rc1
- reenable test_asyncio
 - drop merged CVE fixes (patches 320, 324)
2019-06-25 23:16:36 +02:00
Miro Hrončok 9941fbbeb9 CI: Stop running findleaks tests, but run the test suite on debug Python 2019-06-25 15:32:50 +02:00
Victor Stinner 3a6f3f6941 Reenable test_distutils and test_bdist_rpm
Resolves: rhbz#1685557
2019-06-11 15:01:33 +02:00
Miro Hrončok a292838ccc Update to 3.8.0b1 2019-06-05 09:35:21 +02:00
Miro Hrončok 7aab0ddc87 Remove Patch178, merge Patch205 into Patch102
Fixes invalid value of distutils.sysconfig.get_config_var('LIBPL').

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

GitHub PR: https://github.com/fedora-python/cpython/pull/2
2019-05-17 13:28:10 +02:00
Miro Hrončok 9fbe2eee9d rpmlint: Filter out shared-lib-without-dependency-information
Since Python 3.8.0a4, extension modules are no longer linked against
libpython3.8.so.1.0. As a result, some of them are not linked against
anything at all.

And that is fine. They are not used as standard shared libraries.
2019-05-16 10:33:14 +02:00
Miro Hrončok 7e0c125217 Regenerate generated files with python3
Switch to %make_build when touching this

Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1377240
2019-05-08 00:12:04 +02:00
Miro Hrončok 285f5549c6 Update to 3.8.0a4
Patches rebased via git, see
https://github.com/fedora-python/cpython/tree/fedora-3.8.0a4

ABIFLAGS changed not to contain m, see https://bugs.python.org/issue36707
2019-05-08 00:11:20 +02:00
Miro Hrončok d3803a6dd6 Security fix for CVE-2019-9740 and CVE-2019-9947
Disallow control chars in http URLs
Fixed upstream: https://bugs.python.org/issue30458
2019-05-07 18:06:05 +02:00
Charalampos Stratakis 1b92cc7981 Fix handling of pre-normalization characters in urlsplit 2019-05-07 15:46:35 +00:00
Patrik Kopkan 084a366e3d add symlink for python3.Xm manpages 2019-04-25 18:10:22 +02:00
Miro Hrončok 0bee54773d Fedora CI: Provision 3 GiB of RAM 2019-04-25 12:59:53 +02:00
Patrik Kopkan 8f86cfe696 add symlink for python3.Xm manpages 2019-04-23 14:52:08 +02:00
Victor Stinner 35551f989b Reenable test_posix.test_fs_holes()
Since 2012, when the test was skipped from Python 3.3.0b1 (commit
3b4dd24c42), Linux now have a good
support for punching holes in filesystems.

Only 00160-disable-test_fs_holes-in-rpm-build.patch and
00163-disable-parts-of-test_socket-in-rpm-build.patch patches used
@unittest._skipInRpmBuild @unittest._expectedFailureInRpmBuild
decorators, but these 2 patches have been removed: remove
00132-add-rpmbuild-hooks-to-unittest.patch and
WITHIN_PYTHON_RPM_BUILD environment variable as well.
2019-04-11 16:51:20 +02:00
Victor Stinner b564dce4fa Reenable RecvmsgGenericStreamTests.testRecvmsgEOF()
Reenable RecvmsgGenericStreamTests.testRecvmsgEOF() of test_socket:
remove 00163-disable-parts-of-test_socket-in-rpm-build.patch.
2019-04-11 16:49:47 +02:00
Victor Stinner 0cd827e77e Reenable test_gdb on most archs except arm and s390x
gdb has been fixed in Rawhide:
https://bugzilla.redhat.com/show_bug.cgi?id=1638798
https://bugzilla.redhat.com/show_bug.cgi?id=1634781

Install also gdb in selftest to no longer skip test_gdb
on the x86_64 CI.

But test_gdb is still skipped on armv7hl:
https://bugzilla.redhat.com/show_bug.cgi?id=1196181

And skipped on s390x:
https://bugzilla.redhat.com/show_bug.cgi?id=1678277
2019-04-11 16:49:35 +02:00
Victor Stinner 41ec7ac424 Reenable test_buffer on ppc64le
The test failed because of a GCC bug which has been fixed in GCC
master branch and Rawhide uses GCC 9 (master branch):

* https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88892
* https://bugzilla.redhat.com/show_bug.cgi?id=1540995
2019-04-11 16:25:16 +02:00
Tomas Orsava b02de40d57 Fix arch names for the ppc architecture
Updated patch 00274
2019-04-11 16:23:06 +02:00
Victor Stinner 9733ead195 Reenable test_posix.test_fs_holes()
Since 2012, when the test was skipped from Python 3.3.0b1 (commit
3b4dd24c42), Linux now have a good
support for punching holes in filesystems.

Only 00160-disable-test_fs_holes-in-rpm-build.patch and
00163-disable-parts-of-test_socket-in-rpm-build.patch patches used
@unittest._skipInRpmBuild @unittest._expectedFailureInRpmBuild
decorators, but these 2 patches have been removed: remove
00132-add-rpmbuild-hooks-to-unittest.patch and
WITHIN_PYTHON_RPM_BUILD environment variable as well.
2019-03-29 17:17:41 +01:00
Miro Hrončok 136178652c Temporarily skip test_asyncio to workaround bpo-35998
https://bugs.python.org/issue35998
2019-03-27 12:29:48 +01:00
Miro Hrončok 804ec7c37d Update to 3.8.0a3
Rebased patches: 102
Updated pip/setuptools versions in spec and patch 189
2019-03-27 01:14:40 +01:00
Miro Hrončok 6caee321b2 Update to 3.7.3 2019-03-27 01:03:17 +01:00
Miro Hrončok 45a4368c6e Rebase to 3.7.3rc1
Patches merged upstream: 317, 320
Patches rebased: 189 (pip and setuptools versions only)
2019-03-21 13:10:27 +00:00
Victor Stinner ff4d48f430 Reenable RecvmsgGenericStreamTests.testRecvmsgEOF()
Reenable RecvmsgGenericStreamTests.testRecvmsgEOF() of test_socket:
remove 00163-disable-parts-of-test_socket-in-rpm-build.patch.
2019-03-21 09:20:39 +00:00
Miro Hrončok 774c3f329b Temporarily skip test_asyncio to workaround bpo-35998
https://bugs.python.org/issue35998
2019-03-20 12:31:21 +01:00
Miro Hrončok ad7d856a30 Add bootstrap bcond for Python 3.8 2019-03-19 16:42:06 +01:00
Miro Hrončok 498b8834a0 Security fix for CVE-2019-9636 (#1688543, #1688546) 2019-03-19 09:19:02 +01:00
Miro Hrončok 5e25a87091 Update to 3.8.0a2 2019-02-26 00:51:48 +01:00
Victor Stinner 4b6961f25f Reenable test_gdb on most archs except arm and s390x
gdb has been fixed in Rawhide:
https://bugzilla.redhat.com/show_bug.cgi?id=1638798
https://bugzilla.redhat.com/show_bug.cgi?id=1634781

Install also gdb in selftest to no longer skip test_gdb
on the x86_64 CI.

But test_gdb is still skipped on armv7hl:
https://bugzilla.redhat.com/show_bug.cgi?id=1196181

And skipped on s390x:
https://bugzilla.redhat.com/show_bug.cgi?id=1678277
2019-02-19 16:19:01 +00:00
Miro Hrončok 8449402f77 Reduced default build flags used to build extension modules
Utilize extension_...flags for extension builds.

See https://fedoraproject.org/wiki/Changes/Python_Extension_Flags

Depends on e80fa1344a
2019-02-19 16:14:21 +01:00
Victor Stinner 1e30f555cf Reenable test_buffer on ppc64le
The test failed because of a GCC bug which has been fixed in GCC
master branch and Rawhide uses GCC 9 (master branch):

* https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88892
* https://bugzilla.redhat.com/show_bug.cgi?id=1540995
2019-02-18 15:34:12 +00:00
Igor Gnatenko d080918767 Rebuild for readline 8.0 2019-02-17 09:30:52 +01:00
Igor Gnatenko 50afd5bbf5 Rebuild for readline 8.0 2019-02-17 09:30:52 +01:00
Tomas Orsava d8428d8696 Fix arch names for the ppc architecture
Updated patch 00274
2019-02-14 17:37:18 +01:00
Miro Hrončok 8927d3f267 Reduced default build flags used to build extension modules
Utilize extension_...flags for extension builds.

See https://fedoraproject.org/wiki/Changes/Python_Extension_Flags

Depends on e80fa1344a
2019-02-14 15:01:06 +01:00
Miro Hrončok 553fd279ba rpmlint: Python modules don't need to be linked against libc
They are loaded from Python and Python is already linked against libc.

See https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/QGJEDBFN7OXMP7OVTSVBO4DCGTX4K4WI/
2019-02-07 08:28:26 +01:00
Miro Hrončok 4aedf056ed Update Fedora CI tests definitions for 3.8 2019-02-06 17:28:30 +01:00
Miro Hrončok 1f112461d1 Trim the %changelog 2019-02-06 17:24:49 +01:00
Miro Hrončok b796d42367 Merge python38 from review request
https://bugzilla.redhat.com/show_bug.cgi?id=1672833
2019-02-06 17:23:15 +01:00
Gwyn Ciesla 13cea58a5c Added the README 2019-02-06 16:18:54 +00:00
Miro Hrončok a6496be3e2 rpmlint: Python modules don't need to be linked against libc
They are loaded from Python and Python is already linked against libc.

See https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/QGJEDBFN7OXMP7OVTSVBO4DCGTX4K4WI/
2019-02-06 02:25:20 +01:00
Miro Hrončok 3dcd1e8c08 Make flat, rename to python38 2019-02-05 12:35:53 +01:00
Miro Hrončok d051c04cb1 Drop obsoletes for platform-python 2019-02-05 12:33:45 +01:00
Miro Hrončok 1fb3c04b75 Update to 3.8.0a1
Uses tilde for prerelease information,
https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/#_versioning_prereleases_with_tilde

Patches rebased: 111, 132

Patches merged upstream: 155, 170 (differently), 317

/usr/bin/pyvenv is no more
2019-02-05 11:49:12 +01:00
Fedora Release Engineering 1cdc336f35 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-02 10:18:25 +00:00
Miro Hrončok 75005c20f6 Clean old cruft, provide pythonX.Y
In diff order:

- gdbm releases in all Fedoras are long above 1:1.13
- the flat package should be called python3.7 but we are lazy to rename
- system-python is long gone, upgrade path works
- python3-enum34 is only required by 2 pkgs [0][1]
- glibc releases in all Fedoras are long above 2.24.90-26

Not removed:

- platform-python obsoletes shall be removed in Fedora 31, they were added in 28

[0] https://src.fedoraproject.org/rpms/python-qt5/pull-request/3
[1] https://src.fedoraproject.org/rpms/python-taskflow/pull-request/1
2019-01-28 12:54:13 +01:00
Miro Hrončok 4e7015b153 Security fix for CVE-2019-5010
https://bugs.python.org/issue35746
https://bugzilla.redhat.com/show_bug.cgi?id=1666519
https://bugzilla.redhat.com/show_bug.cgi?id=1666522
2019-01-16 09:13:16 +01:00
Björn Esser 053863ab41
Rebuilt for libcrypt.so.2 (#1666033) 2019-01-14 18:53:46 +01:00
Miro Hrončok 41f5904a99 No longer revert upstream commit 3b699932e5ac3e7
This was a dirty workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1644936
2019-01-04 23:52:11 +01:00
Miro Hrončok 1385d6e65a Update to 3.7.2
Already upstreamed patches: 313, 315
Patches rebased: 111, 189 (new pip/setuptools versions only)
2018-12-25 13:38:36 +01:00
Miro Hrončok 15d5b5cfc5 Mark bdist_wininst unsupported to skip the tests
See also https://src.fedoraproject.org/rpms/python3/pull-request/74
2018-12-20 12:46:25 +01:00
Victor Stinner 0e0fe4ff87 Remove patches fixed upstream
Remove patches:

* 00291-setup-Link-ctypes-against-dl-explicitly.patch
  Fixed upstream: https://bugs.python.org/issue32647
* 00292-restore-PyExc_RecursionErrorInst-symbol.patch
  Fixed upstream: https://bugs.python.org/issue30697
* 00294-define-TLS-cipher-suite-on-build-time.patch
  Fixed upstream: https://bugs.python.org/issue31429
* 00301-pathfix-add-n-option-for-no-backup.patch
  Fixed upstream: https://bugs.python.org/issue32885
* 00302-fix-multiprocessing-regression-on-newer-glibcs.patch
  Fixed upstream: https://bugs.python.org/issue33329

Note: the ctypes issue has been fixed differently (better fix)
upstream.
2018-12-19 18:06:04 +01:00
Miro Hrončok 1092d478f5 Make sure we don't ship any exe files (not needed an prebuilt)
Such files are only used to create Microsoft Windows installers
and that functionality is broken on Linux anyway.

We can keep the exe files in SRPM, as they are free software as
confirmed by the Python Software Foundation:

> Hello,
>
> Shipping and distributing these files is ok.
>
> These files are stubs, used as the executable part of a self-unzipping
> executable and showing an "installer window" to the user.
> They are original to Python and, while they call win32 functions,
> they don't have Windows SDK code in them.
> The source is at: PC/bdist_wininst/install.c
>
> The binaries are included so that anyone creating a bdist_wininst
> distribution (mostly deprecated, actually) can do so, even when
> cross-compiling.
>
> Thanks,
> Van (Lindberg)

See also https://mail.python.org/pipermail/python-dev/2018-October/155507.html
2018-12-19 17:40:48 +01:00
Miro Hrončok 5258d1d194 Run the testsuite in parallel, --findleaks runs in the CI 2018-12-19 15:58:27 +01:00
Miro Hrončok bc86296869 Run the selftest suite on Fedora CI 2018-12-19 15:58:27 +01:00
Victor Stinner 7be8eebca6 Require glibc-all-langpacks to test locales
Python 3 test suite requires various locales. Install all of them to
build the package to make sure that no test is skipped because of a
missing locale.
2018-12-18 11:27:06 +01:00
Miro Hrončok 4f22584498 Fix mktime() error in test_email
http://bugs.python.org/issue35317

https://bugzilla.redhat.com/show_bug.cgi?id=1652843
2018-11-27 13:36:14 +01:00
Miro Hrončok e21e6a6b22 Show test.pythoninfo, helpful for debugging test failures 2018-11-26 15:52:56 +01:00
Miro Hrončok 31d96372de Make sure the entire test.support module is in python3-libs (#1651245) 2018-11-21 18:21:13 +01:00
Victor Stinner a4e394925c Verify the value of '-s' when execute the CLI of cProfile
Resolves: rhbz#1160640
2018-11-19 10:30:19 +01:00
Miro Hrončok 72bc3f43c4 Temporarily revert upstream commit 3b699932e5ac3e7
This is dirty workaround for
https://bugzilla.redhat.com/show_bug.cgi?id=1644936
2018-11-04 19:26:46 +01:00
Miro Hrončok d533a32456 Update to 3.7.1
Removed patches due to being upstreamed: 307, 308

Rebased patches: 170
2018-10-22 10:15:53 +02:00
Petr Viktorin 091b4b20e9 Compile the debug build with -Og rather than -O0
That is, "optimize for debugging experience" rather than
"don't optimize".
2018-10-02 16:38:43 +02:00
Charalampos Stratakis e354fb5703 Disable test_gdb for now as it fails
with latest gdb.
2018-10-01 20:12:07 +02:00
Miro Hrončok 33cd8ff371 rpmlintrc updates
* put 64 in ()? to support 32bit RPMs
 * add new executables to the manpages ignore list
2018-09-03 14:10:31 +02:00
Petr Šplíchal 704ecff960 Enable basic venv smoke test in the CI
This executes virtual environment smoke test from the shared
python tests repository against Python 3.7.
2018-08-31 11:03:06 +02:00
Miro Hrončok 4da7cff796 Require python3-setuptools from python3-devel to prevent packaging errors (#1623914) 2018-08-30 15:35:14 +02:00
Miro Hrončok 37056bc0f9 Renew check-pyc-timestamps.py
- rename it, the are no pyo files on Python 3
- make sure to check all levels of pyc files optimization
- use path globs
- use comprehensions instead of map + filter
- use f-strings and print() instead of sys.stderr.write()
2018-08-17 16:05:13 +02:00
Miro Hrončok 83a5f52678 Add /usr/bin/pygettext3.py and msgfmt3.py to python3-devel
Resolves: rhbz#1571474
2018-08-17 16:05:04 +02:00
Miro Hrončok 4aa9ebcc03 Backport TLS 1.3 related fixes to fix FTBFS
Resolves https://bugzilla.redhat.com/show_bug.cgi?id=1609291
2018-08-17 15:40:30 +02:00
Miro Hrončok b9e8a46cca Recommend setuptools and pip for developer experience 2018-08-16 12:30:28 +02:00
Miro Hrončok 0b241abda6 Drop the rewheel patch, use RPM built wheels instead 2018-08-15 17:55:47 +02:00
Igor Gnatenko da8bebda6d
Fix wrong requirement on gdbm
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-08-10 12:56:24 +02:00
Miro Hrončok a64e7f7e98 Use the %{valgrind_arches} macro instead of hardcoding unsupported arches
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/7GJQDPCQ743DKJ3LAJFDDX3ZD6LOPB5N/
2018-08-04 22:07:21 +02:00
Miro Hrončok 37437e1d44 Allow to call Py_Main() after Py_Initialize()
Resolves: rhbz#1595421
2018-07-20 17:48:24 +02:00
Miro Hrončok d90f9872b6 Replace no longer relevant notes from bootstrapping 3.6 with link to 3.7 2018-07-19 15:30:36 +02:00
Fedora Release Engineering 266317a762 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-14 02:50:11 +00:00
Igor Gnatenko 7a4ecff9a7
Rebuild for new gdbm
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-07-12 10:58:16 +02:00
Miro Hrončok dc63bc71b5 Update to 3.7.0 final 2018-06-27 12:45:38 +02:00
Miro Hrončok 838e397e16 Install appdata files to %{_metainfodir}
See: https://www.freedesktop.org/software/appstream/docs/sect-Metadata-Application.html
and: https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html
2018-06-18 23:44:35 +02:00
Miro Hrončok 40d6240272 Remove %defattr(-, root, root)
It is not needed since gods know when. Is's the default.
2018-06-18 23:42:46 +02:00
Miro Hrončok d780a93d16 Don't hardcode pip version, make it dynamic at build time
This will make test_with_pip (test.test_venv.EnsurePipTest) happy.
2018-06-13 20:47:48 +02:00
Miro Hrončok 3ba1d1aadf Finish bootstrapping, enable rewheel, tests, optimizations 2018-06-13 19:14:30 +02:00
Miro Hrončok 2266a26125 Bootstrap, disable tests, optimizations 2018-06-13 15:27:50 +02:00
Miro Hrončok 00bb7bddf2 Bootstrap, disable rewheel 2018-06-13 14:54:46 +02:00
Miro Hrončok cb1167a878 Merge from python37, update to 3.7.0rc1 2018-06-13 14:54:39 +02:00
Miro Hrončok de441a2d3a Fix prerel comment 2018-06-12 12:42:28 +02:00
Miro Hrončok ceff4b8870 Add 3394 magic number to rpmlintrc 2018-06-12 11:47:27 +02:00
Miro Hrončok 63f277fa3b Update to 3.7.0rc1 2018-06-12 11:01:05 +02:00
Miro Hrončok bcf8a5d914 Update to 3.7.0b5 2018-05-31 11:45:12 +02:00
Tomas Orsava 8fcf2dac2d Update the bootstrapping sequence 2018-05-24 18:13:25 +02:00
Tomas Orsava 2d5b84388b Update the bootstrapping sequence 2018-05-24 18:11:21 +02:00
Charalampos Stratakis 29a768cb73 Merge #23 `Rewheel related: rebase the patch and bump the pip bundled version` 2018-05-14 09:58:59 +00:00
Miro Hrončok 611414f20d Bump the bundled pip version to 10.0.1 2018-05-13 13:51:29 +02:00
Miro Hrončok 63266cf9ed Rebase the rewheel patch
It was not rebased before, because it was never applied
2018-05-13 13:51:29 +02:00
Miro Hrončok 8810a59050 Only require python3-rpm-generators when built with rewheel
Without rewheel is used to bootstrap setuptools+pip
python3-rpm-generators needs python3-setuptools, so we cannot have it yet
2018-05-11 23:27:10 +02:00
Miro Hrončok 0c391afb69 Update to 3.7.0b4 2018-05-10 16:58:07 +02:00
Miro Hrončok e324bf2dbb Fix multiprocessing regression on newer glibcs
Enable test_multiprocessing_fork(server) and _spawn again

Resolves: rhbz#1569933
2018-04-23 18:17:32 +02:00
Miro Hrončok 240a1f769d Fix multiprocessing regression on newer glibcs
Enable test_multiprocessing_fork(server) and _spawn again

Resolves: rhbz#1569933
2018-04-23 14:30:11 +02:00
Miro Hrončok 45a046d2f4 Skip test_multiprocessing_fork(server) and _spawn for now
It hangs the build
2018-04-19 22:18:28 +02:00
Miro Hrončok 872e1bafb7 Skip test_multiprocessing_fork(server) and _spawn for now
It hangs the build
2018-04-19 20:27:15 +02:00
Miro Hrončok fc23c477cf Typos and such
From https://src.fedoraproject.org/rpms/python3/pull-request/33
2018-04-18 17:14:16 +02:00
Miro Hrončok 8c67bafd7c Add flatpackage conditionals
This will allow us to create python36 easily once needed [1].
It shoudl also make it easier to merge stuff between python36 and 37.

This more or less backports:

63459d7d2a
7f3ae64d2f
6a6d4a0324

[1] https://fedoraproject.org/wiki/Changes/Python3.7
2018-04-18 17:10:57 +02:00
Miro Hrončok 34ebe3da13 Merge master with f28 2018-04-18 13:36:00 +02:00
Miro Hrončok 8799184fe7 Remove macros.systempython
It was for backward compatibility only, to be removed in F29.
This will only become non-flat package in F29+.
2018-03-29 18:10:26 +02:00
Charalampos Stratakis 9a2e4be589 Update to 3.6.5
Rebased patches: 102, 111, 262

Removed patches due to being upstreamed:
264, 273, 289, 290, 291, 298

Update pip version to 9.0.3
2018-03-29 16:57:50 +02:00
Charalampos Stratakis fb9702fb7f Update to 3.6.5
Rebased patches: 102, 111, 262

Removed patches due to being upstreamed:
264, 273, 289, 290, 291, 298

Update pip version to 9.0.3
2018-03-29 16:56:36 +02:00
Miro Hrončok 3422f8b4a4 Remove macros.pybytecompile3.7
It will live in python-rpm-macros, see:
https://src.fedoraproject.org/rpms/python-rpm-macros/pull-request/4
2018-03-29 15:03:53 +02:00
Miro Hrončok a50d5ce864 Update to 3.7.0b3 2018-03-29 15:00:59 +02:00
Miro Hrončok 6f038c8ede Update setuptools and pip bundled versions 2018-03-27 13:24:32 +02:00
Miro Hrončok cb0fe74d03 Fix shebangs of the GDB hooks
Also, use -p (preserve timestamp) and -n (don't create backup files)
with pathfix.py.

Resolves https://bugzilla.redhat.com/show_bug.cgi?id=1560295
2018-03-25 20:55:08 +02:00
Miro Hrončok 6c5992ec4e Fix shebangs of the GDB hooks
Also, use -p (preserve timestamp) and -n (don't create backup files)
with pathfix.py.

Resolves https://bugzilla.redhat.com/show_bug.cgi?id=1560295
2018-03-25 20:51:42 +02:00
Miro Hrončok 34f9f5ef13 rpmlintrc: Filter macro-in-comment %{_pyconfig(32|64)_h} 2018-03-25 20:32:42 +02:00
Miro Hrončok 3777cb5efa Fix broken macro invocation and broken building of C Python extensions
Revert "Use %% for actual % in spec"

This reverts commit acda1a219a.

Resolves https://bugzilla.redhat.com/show_bug.cgi?id=1560103
2018-03-25 20:32:13 +02:00
Miro Hrončok 37c970a4db rpmlintrc: Filter macro-in-comment %{_pyconfig(32|64)_h} 2018-03-24 08:06:56 +01:00
Miro Hrončok e8fa184158 Fix broken macro invocation and broken building of C Python extensions
Revert "Use %% for actual % in spec"

This reverts commit 90512a5a1b.

Resolves https://bugzilla.redhat.com/show_bug.cgi?id=1560103
2018-03-24 08:04:21 +01:00
Miro Hrončok 58c6b177d4 Add rpmlintrc file
Filter all the errors and warnings. This allows us to actually read the rpmlint
output to get new information. From now on, we can rely on this information
when pushing updates.

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

Backport of https://src.fedoraproject.org/rpms/python37/pull-request/10
2018-03-20 11:28:40 +01:00
Miro Hrončok 90512a5a1b Use %% for actual % in spec
rpmlint reports this as macro in comment, however it was left here, because it
is not macro and not comment. On the other hand, % shall be escaped using %%.
All this needs to blow is somebody defining a macro called _pyconfig64_h.
2018-03-20 11:28:40 +01:00
Miro Hrončok 545e680253 Add -n option for pathfix.py (#1546990) 2018-03-20 11:13:09 +01:00
Miro Hrončok e5f4159f8f Fix the py_byte_compile macro to work on Python 2
See https://bugzilla.redhat.com/show_bug.cgi?id=1484993

Inspired by Terje Røsten's workaround from that bugzilla
2018-03-15 23:10:56 +01:00
Miro Hrončok 94ba907c0b rpmlintrc: Add stuff from the nonflat package 2018-03-14 12:00:35 +01:00
Miro Hrončok 42c61b3ece Add rpmlintrc file
Filter all the errors and warnings. This allows us to actually read the rpmlint
output to get new information. From now on, we can rely on this information
when pushing updates.

Resolves https://bugzilla.redhat.com/show_bug.cgi?id=1548683
2018-03-14 11:59:53 +01:00
Charalampos Stratakis c9bb114a1d Do not send IP addresses in SNI TLS extension 2018-03-13 16:58:18 +01:00
Miro Hrončok acda1a219a Use %% for actual % in spec
rpmlint reports this as macro in comment, however it was left here, because it
is not macro and not comment. On the other hand, % shall be escaped using %%.
All this needs to blow is somebody defining a macro called _pyconfig64_h.
2018-03-01 15:19:51 +01:00
Miro Hrončok ef18b4528a Update to 3.7.0b2 2018-02-28 12:18:01 +01:00
Miro Hrončok 6a6a8d45dd Fix the py_byte_compile macro to work on Python 2
See https://bugzilla.redhat.com/show_bug.cgi?id=1484993

Inspired by Terje Røsten's workaround from that bugzilla

This also removes the pybytecompile macro file from the flat package because it
doesn't belong there as pointed out during the review and later forgotten.
2018-02-28 09:48:35 +01:00
Charalampos Stratakis 6b9e1d1d7a Replace patch 291 with the upstream fix. 2018-02-26 17:28:35 +01:00
Florian Weimer 347e968f54 Rebuild with new LDFLAGS from redhat-rpm-config 2018-02-24 18:28:44 +01:00
Iryna Shcherbina f52973f5cb Reenable test_gdb on x86_64
The test was disabled for Python 3.6.4 where it fails currently, but it
completes successfully on Python 3.7. See commit:
d84538b320

Enable also runnig test_gdb on aarch64, as failures are no longer observed.
The bugzilla associated with the reqson why it was disabled is long closed.
See commit: 3b7dcebf39
2018-02-22 17:23:17 +01:00
Iryna Shcherbina a2c6e9ba55 Do not skip test_faulthandler on ppc64le and aarch64 as it no longer fails 2018-02-22 17:23:17 +01:00
Iryna Shcherbina de5e1e875a test_pass_by_value no longer fails on aarch64; patch removed 2018-02-22 17:23:17 +01:00
Miro Hrončok 3f778c43e3 Filter out automatic /usr/bin/python3.X requirement...
...recommend the main package from libs instead.

Resolves https://bugzilla.redhat.com/show_bug.cgi?id=1547131
2018-02-21 17:28:00 +01:00
Miro Hrončok 06a649c4a5 Filter out automatic /usr/bin/python3.X requirement...
...recommend the main package from libs instead.

Resolves https://bugzilla.redhat.com/show_bug.cgi?id=1547131
2018-02-21 14:36:42 +01:00
Miro Hrončok 6e4c18d0c7 Remove %ldconfig_scriptlets (F28+ only)
%ldconfig_scriptlets does nothing on F28+.

The original idea was to keep is present not to unnecessarily diverge master
and f27, but since that have happened anyway, I'm removing it for spec
simplicity. Not adding a new changelog entry (it's not user facing) nor bumping
the release (it doesn't need to be rebuilt, it changes nothing). Altering the
changelog entry that was added when %ldconfig_scriptlets was added.
2018-02-17 21:01:39 +01:00
Iryna Shcherbina ffaa0f3078 Remove unused Postfix argument from InstallPython
It was used for Systemtap hooks, which were removed recently:
dd3cb47629
2018-02-16 18:32:06 +01:00
Iryna Shcherbina 56c7fd9871 Fix deprecation warning on using imp
In build log fixes the following warning:
/builddir/build/SOURCES/check-pyc-and-pyo-timestamps.py:3: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
  import imp
2018-02-16 18:32:06 +01:00
Iryna Shcherbina daeec838fe Remove not used patches
Should have been removed with update to 3.6.3
47069ff417
2018-02-16 18:32:06 +01:00
Iryna Shcherbina 3bbc2a0bdf Fix rpmlint errors: spelling, tabs (bz#1535596) 2018-02-16 18:32:06 +01:00
Michal Cyprian bf7378574e Remove sys.executable check from change-user-install-location patch
Resolves: rhbz#1532287
2018-02-16 15:33:54 +01:00
Iryna Shcherbina d938460ea1 Remove the python3-tools package (bz#1312030)
For more details see https://bugzilla.redhat.com/show_bug.cgi?id=1312030

Scope:

- Remove the python3-tools package and `Tools/` library
- Move /usr/bin/2to3 to python3-devel
- Move /usr/bin/idle and idlelib to python3-idle
- Provide python3-tools from python3-idle to keep upgrades sane
- Remove tests for tools from python3-tests package

Backported from https://src.fedoraproject.org/rpms/python37/pull-request/4
2018-02-15 21:14:03 +01:00
Iryna Shcherbina 9203532359 Remove unused Postfix argument from InstallPython
It was used for Systemtap hooks, which were removed recently:
31d212b3c7
2018-02-15 14:47:38 +01:00
Iryna Shcherbina f3f5f60ac0 Fix deprecation warning on using imp
In build log fixes the following warning:
/builddir/build/SOURCES/check-pyc-and-pyo-timestamps.py:3: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
  import imp
2018-02-15 14:47:38 +01:00
Iryna Shcherbina 627aaf656c Remove not used patches
Should have been removed with update to 3.6.3
47069ff417
2018-02-15 14:47:38 +01:00
Iryna Shcherbina ac19ab7c07 Fix rpmlint errors: spelling, tabs (bz#1535596) 2018-02-15 14:47:21 +01:00
Miro Hrončok 2bcebb2b16 Fix the name macro in the description 2 2018-02-15 14:35:08 +01:00
Miro Hrončok 654b8b4665 Fix the name macro in the description 2 2018-02-15 14:34:07 +01:00
Charalampos Stratakis 1161a4660d Fix the name macro in the description 2018-02-15 14:32:54 +01:00
Miro Hrončok 0679427e97 Readd ldconfig scriplets via macro 2018-02-14 18:48:02 +01:00
Miro Hrončok cc54a40057 3.7.0b1 sources 2018-02-12 19:44:15 +01:00
Charalampos Stratakis 02bfb4dc2a Define TLS cipher suite on build time 2018-02-12 12:43:21 +01:00
Tomas Orsava d84538b320 Disable test_gdb for all arches and test_buffer for ppc64le in anticipation of the F28 mass rebuild
- Re-enable these tests after the mass rebuild when they can be properly
  addressed
2018-02-12 12:43:21 +01:00
Iryna Shcherbina cea6d60615 Update to 3.7.0b1
- Rebase patches 102, 170
- Remove patches 273, 289, 290
2018-02-12 12:43:21 +01:00
Charalampos Stratakis 10ba826cb6 Synced patch for libxcrypt with upstream 2018-02-12 12:41:06 +01:00
Björn Esser d3af3ef92c Add patch to explicitly link _ctypes module with -ldl (#1537489)
Add patch to explicitly link _ctypes module with -ldl (#1537489)
Refactored patch for libxcrypt
Re-enable strict symbol checks in the link editor
2018-02-12 12:41:06 +01:00
Charalampos Stratakis 221978fced Disable strict symbol checks in the link editor. 2018-02-12 12:41:06 +01:00
Björn Esser 212f3d7eb8 Add patch for libxcrypt 2018-02-12 12:41:06 +01:00
Igor Gnatenko 8ab3c20b1a R: gdbm-devel → R: gdbm for python3-libs
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-12 12:41:06 +01:00
Miro Hrončok 60eff5e207 Require large enough gdbm (fixup for previous commit) 2018-02-12 12:41:06 +01:00
Charalampos Stratakis 13f7a0acb9 Rebuild for reverted gdbm 1:1.13 on F27 2018-02-12 12:41:06 +01:00
Charalampos Stratakis 0b33e0cf27 Remove a ppc64 segfault workaround which provided a larger stack for that arch, as it doesn't seem to affect the build anymore. 2018-02-12 12:41:06 +01:00
Charalampos Stratakis 3dcb34959e Masc two macros in comments that were expanded.
Remove the commented out file for the time shared library.
2018-02-12 12:41:06 +01:00
Charalampos Stratakis 6f9a91b642 Remove python-gdb.py source file as it now gets installed from the upstream sources 2018-02-12 12:41:06 +01:00
Charalampos Stratakis 31d212b3c7 Remove our downstream systemtap instrumentation as now upstream provides us with dtrace hooks. 2018-02-12 12:41:06 +01:00
Fedora Release Engineering 72d368458c - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-09 12:01:54 +00:00
Igor Gnatenko 40b8f9ece2
Escape macros in %changelog
Reference: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/Y2ZUKK2B7T2IKXPMODNF6HB2O5T5TS6H/
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-09 09:05:39 +01:00
Charalampos Stratakis af1dc2628d Fix the name macro in the description 2018-02-08 14:54:08 +01:00
Michal Cyprian 08ffd081b5 Remove sys.executable check from change-user-install-location patch
Resolves: rhbz#1532287
2018-02-07 14:37:45 +01:00
Charalampos Stratakis c86891d488 Remove obsolete scriptlets that are now automatic. 2018-02-05 17:59:56 +01:00
Charalampos Stratakis 14deb52d02 Remove obsolete scriptlets that are now automatic. 2018-02-05 17:50:53 +01:00
Charalampos Stratakis 969d51434e Define TLS cipher suite on build time 2018-02-01 11:20:15 +01:00
Tomas Orsava be04920913 Disable test_gdb for all arches and test_buffer for ppc64le in anticipation of the F28 mass rebuild
- Re-enable these tests after the mass rebuild when they can be properly
  addressed
2018-01-31 18:55:27 +01:00
Iryna Shcherbina dc669abc1d Remove the python3-tools package (bz#1312030)
For more details see https://bugzilla.redhat.com/show_bug.cgi?id=1312030

Scope:

- Remove the python3-tools package and `Tools/` library
- Move /usr/bin/2to3 to python3-devel
- Move /usr/bin/idle and idlelib to python3-idle
- Provide python3-tools from python3-idle to keep upgrades sane
- Remove tests for tools from python3-tests package

Merges https://src.fedoraproject.org/rpms/python37/pull-request/4
2018-01-30 19:48:12 +01:00
Charalampos Stratakis d623e929ca Restore the PyExc_RecursionErrorInst public symbol 2018-01-23 18:09:30 +01:00
Charalampos Stratakis 434d469259 Synced patch for libxcrypt with upstream 2018-01-23 18:09:27 +01:00
Björn Esser ce6ec4f16a
Add patch to explicitly link _ctypes module with -ldl (#1537489)
Refactored patch for libxcrypt
Re-enable strict symbol checks in the link editor
2018-01-23 15:39:07 +01:00
Charalampos Stratakis 5a8bf97593 Disable strict symbol checks in the link editor. 2018-01-23 13:22:12 +01:00
Björn Esser 5ea7bf417d
Add patch for libxcrypt 2018-01-22 21:10:32 +01:00
Björn Esser 08148d40f8
Rebuilt for switch to libxcrypt 2018-01-20 23:07:44 +01:00
Björn Esser 085ae328d4
Rebuilt for switch to libxcrypt 2018-01-20 23:07:42 +01:00
Charalampos Stratakis 40bb48b584 Properly add patch 273 2018-01-19 17:44:40 +01:00
Charalampos Stratakis 26024771df Fix localeconv() encoding for LC_NUMERIC 2018-01-19 17:36:05 +01:00
Igor Gnatenko 57ec20127d
R: gdbm-devel → R: gdbm for python3-libs
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-01-18 19:41:19 +01:00
Miro Hrončok 6a6d4a0324 Move install stuff from %check to %install, where it belongs (oops) 2018-01-18 16:03:21 +01:00
Miro Hrončok 7f3ae64d2f Remove /usr/bin/python37 (#1526129) 2018-01-18 16:02:54 +01:00
Miro Hrončok c9349a73c7 Update to 3.7.0 alpha 4 2018-01-17 13:54:10 +01:00
Miro Hrončok 1a43a65185 Require large enough gdbm (fixup for previous commit) 2018-01-17 11:50:59 +01:00
Charalampos Stratakis 6e38667b8a Rebuild for reverted gdbm 1:1.13 on F27 2018-01-16 20:36:17 +01:00
Charalampos Stratakis 0077a19780 Update to version 3.6.4
Rebased patches: 189, 262

Dropped patches due to being upstreamed: 277, 279
2018-01-15 15:52:17 +01:00
Charalampos Stratakis 6ff303ee10 Fix the compilation of the nis module.
The headers required to build the nis module were removed
from glibc and they are now provided by the libtirpc and libnsl2
packages, thus adding their respective -devel subpackages as
BuildRequires and the upstream fix to search for the headers
and the shared libraries at the appropriate locations.
2018-01-15 15:31:28 +01:00
Charalampos Stratakis ec5f432a6e Remove a ppc64 segfault workaround which provided a larger stack for that
arch, as it doesn't seem to affect the build anymore.
2017-12-04 17:53:50 +01:00
Charalampos Stratakis 15a050eb4b Masc two macros in comments that were expanded.
Remove the commented out file for the time shared library.
2017-12-04 14:41:46 +01:00
Charalampos Stratakis 522ee16d1a Remove python-gdb.py source file as it now gets installed from the upstream sources 2017-12-04 14:40:50 +01:00
Charalampos Stratakis dd3cb47629 Remove our downstream systemtap instrumentation as now upstream provides us
with dtrace hooks.
2017-12-04 14:40:33 +01:00
Miro Hrončok d673becd53 Ignore stuff 2017-12-01 13:57:42 +01:00
Miro Hrončok 2f82270763 Add sources for 3.7.0a2 2017-12-01 13:55:24 +01:00
Miro Hrončok c93495efdf Purge %changelog 2017-12-01 13:53:36 +01:00
Miro Hrončok 1da74de71e Rename the specfile to fit package name 2017-12-01 13:52:53 +01:00
Miro Hrončok cf16d06001 Merge python37 from churchyard/py37 2017-12-01 13:52:03 +01:00
Gwyn Ciesla 33e1cb6f54 Added the README 2017-12-01 12:28:37 +00:00
Miro Hrončok 08796195b5 Remove /usr/bin/2to3-3.7 2017-11-30 16:47:53 +01:00
Miro Hrončok 63459d7d2a Add flatpackage conditional for python37 2017-11-30 16:40:32 +01:00
Miro Hrončok d668c1e89c Python 3.7 (fedpkg prep ok, builds ok without debug) 2017-11-30 09:25:27 +01:00
Miro Hrončok 1f528dac57 Raise the release of platform-python obsoletes for better maintainability 2017-11-21 11:04:48 +01:00
Miro Hrončok e522c84bc5 Obsolete platform-python and it's subpackages 2017-11-15 16:05:21 +01:00
Charalampos Stratakis a8c86d3aed Apply the patch 279 correctly. 2017-10-09 13:21:53 +02:00
Charalampos Stratakis 22b8f2b10b Fix memory corruption due to allocator mix (rhbz#1498207) 2017-10-09 13:10:17 +02:00
Charalampos Stratakis 47069ff417 Update to Python 3.6.3
Patches 270, 271, 272 were removed as they have been upstreamed.

Patch 277 was added to fix two hanging tests from test_subprocess.

Added gdb at the build dependencies, since gdb is not anymore in the
buildroot, and that made test_gdb to be skipped.
2017-10-06 13:30:25 +02:00
Miro Hrončok 71718b673e Make the -devel package require redhat-rpm-config
https://bugzilla.redhat.com/show_bug.cgi?id=1217376
https://bugzilla.redhat.com/show_bug.cgi?id=1496757
https://bugzilla.redhat.com/show_bug.cgi?id=1218294

Later should be changed to a specific subpackage.
2017-09-29 12:30:12 +02:00
Miro Hrončok 0652b06063 Move pathfix.py to bindir
See https://github.com/fedora-python/python-rpm-porting/issues/24
2017-09-20 14:16:59 +02:00
Iryna Shcherbina 685fb7bc99 Fix /usr/bin/env dependency from python3-tools (rhbz#1482118) 2017-09-14 15:30:27 +02:00
Iryna Shcherbina 87e35ed7a5 Include -g in LDFLAGS sent to the linker (rhbz#1483222)
Include -g flag for both compilation and linking so that the debugging
information is correctly generated.
2017-09-06 17:19:02 +02:00
Petr Viktorin 7d6b083b83 Add changelog entry for this round of cleanups 2017-09-05 17:31:28 +02:00
Petr Viktorin 15a5ab1694 Make the main description also applicable to the SRPM
Also, add a comment to highlight its dual purpose
2017-09-05 11:54:13 +02:00
Petr Viktorin 7c72174fbd Snipe a typo 2017-09-05 11:54:06 +02:00
Petr Viktorin 4ced9a188e Check %{_lib} rather than hardcode all 64-bit arches
Checking %{lib} isn't guaranteed to determine the word size
correctly, but it works for current arches and is more likely
to stay correct when a new arch are added.
2017-09-05 11:43:32 +02:00
Petr Viktorin 4f6b427d2e Include audiotest.au again
These files were removed because historically they included
a short sound clip from Monty Python shows, which might fall
under copyright.
In 2010 this was replaced upstream by a recording of Guido
van Rossum saying something silly in Dutch. So, there's no
reason to exclude the file anymore.

The bug mentioned in the removed comment is private due to
corporate policy from 2004. Sorry for that!
The problem itself is discussed at: http://bugs.python.org/issue7755
2017-09-05 11:33:00 +02:00
Petr Viktorin 39c4234d48 Remove the %clean section 2017-09-04 16:06:13 +02:00
Petr Viktorin 64593af0dd Move systemtap tapfile installation into the per-build function 2017-09-04 16:06:13 +02:00
Petr Viktorin 6c5169565e Move multilib support for pyconfig.h to the per-build section 2017-09-04 16:06:13 +02:00
Petr Viktorin 474cc9f637 install: Move renaming -devel scripts to the per-build function 2017-09-04 16:06:13 +02:00
Petr Viktorin ec8375ccf7 Move packaging checks from %install to %check 2017-09-04 16:06:13 +02:00
Petr Viktorin d54a775b46 Remove some unneeded old cleanups in %install 2017-09-04 16:06:13 +02:00
Petr Viktorin f86b3d1707 Move creation of site-packages/__pycache__ dirs together 2017-09-04 16:06:13 +02:00
Petr Viktorin 208332b1c9 Clean up the start of the %install section
- Rewrite comments
- Move common part of GDB hook install out of the per-build function
2017-09-04 16:06:13 +02:00
Petr Viktorin b3fc51be32 Replace ${RPM_BUILD_ROOT} by %{buildroot} 2017-09-04 16:06:13 +02:00
Petr Viktorin db2797c8b7 Clean up the %build section
- Add more explanatory comments, remove historical notes
- Put configuration options in %%global
- Shell: use $() instead of backticks
- Remove unused aruments to BuildPython()! (fun fact: most were *never* used!)
2017-09-04 16:06:13 +02:00
Petr Viktorin e441743e28 Don't remove the buildroot in %install 2017-09-04 16:06:13 +02:00
Miro Hrončok 1acd7dfa33 Remove %{pylibdir}/Tools/scripts/2to3
* the file has wrong shebang (#!/usr/bin/env python)
    * it is not covered by the shebang correction because it is not
      named with .py extension
    * a note has been added to the shebang correction code about this
 * ignoring shebang, the file is identical to /usr/bin/2to3
   * thus redundant
2017-09-04 10:54:33 +02:00
Miro Hrončok 5f24f39d01 For consistency, require /usr/sbin/ifconfig instead of net-tools 2017-09-01 11:49:17 +02:00
Miro Hrončok 51501f9a0b Conditionalize systemtap-devel BuildRequires 2017-09-01 11:45:01 +02:00
Miro Hrončok 33e1101626 Expat >= 2.1.0 is everywhere, remove explicit requires
(Except EL6)
2017-09-01 11:04:02 +02:00
Miro Hrončok 357f40b6c4 Move python2-tools conflicts to tools subpackage
They were previously wrongly placed in tkinter subpackage
2017-09-01 10:43:39 +02:00
Petr Viktorin 1151a3e1a4 Remove commented-out prep code for hashlib OpenSSL/FIPS patch
A task is open in Bugzilla for adding this back:
https://bugzilla.redhat.com/show_bug.cgi?id=1486212
2017-08-31 14:26:42 +02:00
Petr Viktorin 3a884e4af3 Make module removal (unbundling) more strict
Failures from removing bundled expat or zlib should not be silent;
if they occur they should be investigated.

Also, reword the comments for conciseness
2017-08-31 14:26:42 +02:00
Petr Viktorin 9faeaef40a Remove fix for version-specific documentation URLs in pydoc
This was fixed upstream some time ago. The removed sed invocation
did nothing.
2017-08-31 14:26:42 +02:00
Petr Viktorin 28aab8e5db Remove the BuildRoot tag
According to current guidelines, this SHOULD NOT be used.
2017-08-31 14:26:42 +02:00
Petr Viktorin 9423d36fb4 Consolidate architecture-naming patches in one
Patches 180, 206, 243 and 5001 all changed architecture names
from Debian style (which upstream uses) to what Fedora uses.
Consolidate them into a single patch, 274.

Delete changes to `configure` from patch 243 without replacement;
that file is generated from `configure.ac`.
2017-08-31 14:26:42 +02:00
Petr Viktorin ac06deac65 Remove patch 188, a temporary workaround for hashlib tests 2017-08-31 14:26:42 +02:00
Petr Viktorin d8970d7383 Remove patch 186, which added a duplicate test
The actual change is upstream; the patch as it was just added an
inferior version of upstream's test_bad_coding.
2017-08-31 14:26:42 +02:00
Petr Viktorin 720c2ade20 Update comment for patch 170 2017-08-31 14:26:42 +02:00
Petr Viktorin 61c2d437a2 Remove patch 157, which contained test changes left over after upstreaming 2017-08-31 14:26:42 +02:00
Petr Viktorin c4a5733df6 Use full URLs for bugzilla bugs
Seasoned packagers have pattern-matching circuits for "rhbz"
embedded in their brains, but for newcomers it's one more
opaque, non-googlable string.

The original comment for patch 00111 had a wrong bug number.
Correct it.
2017-08-31 14:26:42 +02:00
Petr Viktorin bbf2225353 Skip test_bdist_rpm using test config rather than a patch
Remove patch 137
2017-08-31 14:26:42 +02:00
Petr Viktorin 2c6abcc9a3 Merge lib64 patches into one (104 into 102)
It doean't make sense for these to be separate.
2017-08-31 14:26:42 +02:00
Petr Viktorin 96a7bd540e Run autotools to generate the configure script before building
Partially fixes https://bugzilla.redhat.com/show_bug.cgi?id=1377240
2017-08-31 14:26:42 +02:00
Petr Viktorin d27ccf6033 Rename patch files to start with the number
A consistent naming scheme makes managing patch files easier.
2017-08-31 14:26:42 +02:00
Michal Cyprian eef42fd7ea Use python3 style of calling super() without arguments in rpath patch 2017-08-31 14:22:22 +02:00
Tomas Orsava b7855d3644 Add a warning about updating python3-docs 2017-08-28 15:20:28 +02:00
Petr Viktorin 37ed19d2c9 Add forgotten patch file 2017-08-28 13:39:39 +02:00
Petr Viktorin 74f6a3d59e Skip failing test_float_with_comma
I am unable to reproduce this bug outside of a build environment.
Skip the test to make Python build again.
Bug filed: https://bugzilla.redhat.com/show_bug.cgi?id=1484497
2017-08-23 23:42:09 +02:00
Petr Viktorin 094ccc055a Reword comments for descriptions and subpackage metadata 2017-08-23 12:01:07 +02:00
Petr Viktorin 44bb068a8e Top-level metadata: move URL, reword Summary 2017-08-23 12:01:07 +02:00
Petr Viktorin 737c23e807 Remove unused patches 2017-08-23 12:01:07 +02:00
Petr Viktorin f50a7d31c3 Reword and expand comment on Provides/Obsoletes of pythonXY 2017-08-22 15:53:24 +02:00
Petr Viktorin 1824b3ec27 Use configuration macro instead of workaround to disable byte-compilation 2017-08-22 15:32:48 +02:00
Petr Viktorin 66c621f01a Re-alphabetize the BuidRequires section 2017-08-22 14:33:54 +02:00
Petr Viktorin 88b30e0657 Remove duplicate globals 2017-08-22 14:21:01 +02:00
Petr Viktorin c2f8719035 Reword package summaries and descriptions
Also, remove Group tags
2017-08-22 00:02:34 +02:00
Petr Viktorin 59c11e6706 Revise the bootstrapping notes 2017-08-22 00:02:34 +02:00
Petr Viktorin 0c74e11532 Remove historical information from the global macros section 2017-08-22 00:02:34 +02:00
Petr Viktorin f63e273cfd Document configuration options 2017-08-22 00:02:33 +02:00
Petr Viktorin a7a170bba6 Add bcond for --without optimizations 2017-08-22 00:02:06 +02:00
Miro Hrončok 11efc8ea59 Remove system-python 2017-08-21 13:36:10 +02:00
Petr Viktorin 043c57400a Use bconds for configuring the build
This makes configuring the build much easier, at least with
rpmbuild and mock.

Also, reorganize the initial sections, where the config options
were scattered.
2017-08-16 17:05:00 +02:00
Miro Hrončok b0aea52b40 2to3 fixes
* Have /usr/bin/2to3 (rhbz#1111275)
 * Provide 2to3 and idle3, list them in summary and description (rhbz#1076401)
2017-08-16 15:36:09 +02:00
Michal Cyprian 58f92d897b Revert "Add --executable option to install.py command"
This enhancement is currently not needed and it can possibly
collide with `pip --editable`option

Reverts commit ef5c6fe479.
2017-08-11 13:02:07 +02:00
Iryna Shcherbina 2c3b2229eb Fix the "urllib FTP protocol stream injection" vulnerability (rhbz#1478916) 2017-08-07 18:26:47 +02:00
Tomas Orsava 7ce2b35305 Dropped BuildRequires on db4-devel
- it was useful for Python 2 (module bsddb), however, no longer needod for
  Python 3
- Tested building Python 3 with and without the dependency, all tests pass and
  filelists of resulting RPMs are identical
2017-08-01 16:59:32 +02:00
Charalampos Stratakis e49a729d35 Make debuginfo packages parallel installable 2017-07-31 14:02:39 +02:00
Florian Weimer c6fe5c680b Do not generate debuginfo subpackages (#1476593)
Rebuild with binutils fix for ppc64le (#1475636)
2017-07-30 17:13:49 +02:00
Fedora Release Engineering 4cc9b2e33c - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-27 12:26:00 +00:00
Charalampos Stratakis 3a226ae7d7 Make sure that we get the default signal handler for test_asyncio,
The parent process may have decided to ignore SIGHUP, and signal handlers
are inherited which can cause the test to hang in koji.
2017-07-25 18:03:55 +02:00
Charalampos Stratakis 5b6a3e0e34 Replace the "--verbose" flag with "-wW" when invoking the test suite, so that the tests are run in non-verbose mode by default and failed tests are rerun in verbose mode.
Also add the "--slowest" flag when invoking the test suite to
list the ten slowest tests at the end of the test run.
2017-07-20 17:50:38 +02:00
Charalampos Stratakis a94422417a Remove unused patches 2017-07-19 14:25:35 +02:00
Charalampos Stratakis f13050e2f3 Update the PEP 538 backport 2017-07-18 16:48:45 +02:00
Charalampos Stratakis 4ff21139d7 Update to Python 3.6.2
Rebased patch 180.

Dropped patches 249, 258, 269 as they have been upstreamed.
2017-07-18 16:40:02 +02:00
Charalampos Stratakis 46034c8139 Provide additional references for patches 251 and 252 2017-06-28 15:47:26 +02:00
Tomas Orsava 7e7918aadd Fix for a build failure when with_debug_build=0 2017-06-27 18:02:44 +02:00
Charalampos Stratakis 252962389c Update to the latest implementation of PEP 538.
Remove patch 261 as it was only required for the previous implementation
of PEP 538.
2017-06-27 15:38:30 +02:00
Michal Cyprian 332b947dfc Make pip and distutils in user environment install into separate location 2017-06-26 16:32:56 +02:00
Charalampos Stratakis b5403ba5eb Fix test_alpn_protocols from test_ssl 2017-06-24 17:24:42 +02:00
Charalampos Stratakis 3f280d64ad setuptools from version 36.0.0 rebundled its dependencies so we don't have to
require them in order for rewheel to work, so dropping patch 260 as well.
2017-06-19 11:14:11 +02:00
Tomas Orsava bb9ca6b393 Add dependency to the devel subpackage on python3-rpm-generators
... which have been excised out of rpm-build.

Involves: rhbz#1410631, rhbz#1444925
2017-05-16 11:15:05 +02:00
Tomas Orsava afb0016f9d Polishing the Notes on bootstrapping Python 2017-05-16 11:10:00 +02:00
Charalampos Stratakis 2287f0c54b Fix conditional macro 2017-05-09 17:05:44 +02:00
Charalampos Stratakis 27c558eb66 Added patch for fixing recompilation of Python when using common
build commands and the --enable-optimizations flag.

Enable profile guided optimizations for x86_64 and i686 architectures
2017-05-09 16:57:18 +02:00
Charalampos Stratakis 51bb7c4cc2 Update to a newer implementation of PEP 538 2017-05-09 16:40:05 +02:00
Charalampos Stratakis 6245861480 Change description, to reflect that python3 is now the default Python
Also enhance verbosity for the descriptions of subpackages
2017-05-09 16:38:49 +02:00
Charalampos Stratakis 31fe33b583 Update PEP 538 to the latest upstream implementation 2017-05-06 23:27:11 +02:00
Charalampos Stratakis bbbc440d2c system-python-libs subpackage was shipping some windows executables
which are used as templates, for creating windows installers for python
modules. These executables are moved to the devel subpackage.

Resolves: rhbz#1426257
2017-04-18 13:51:54 +02:00
Charalampos Stratakis 3f69bcd628 Enable link time optimizations 2017-04-18 13:48:56 +02:00
Tomas Orsava 3a35e0ba67 Rename python3.Xdm-config script from -debug to be arch specific (rhbz#1179073) 2017-04-13 16:20:52 +02:00
Charalampos Stratakis bea97d96d2 Since upstream issue 23968, the platform directory changed to include the architectures,
however patch205 was not updated to reflect that and as a result the Makefile and various
other files were installed at another directory (rhbz#1438219).

This commit updates the patch205 so the files are installed at the correct locations.
2017-04-05 18:08:56 +02:00
Iryna Shcherbina b603b2d8f9 Update to version 3.6.1 final 2017-03-22 11:28:22 +01:00
Tomas Orsava 628b06df1b Fix syntax error in %py_byte_compile macro (rhbz#1433569) 2017-03-21 11:56:03 +01:00
Iryna Shcherbina aba719b9fe Update to Python 3.6.1 release candidate 1
- Remove patches 250, 253, 254 as the changes are already in Python 3.6.1rc1
- Update patch 157 to work with the new Python codebase
- Remove README file from site-packages (upstream issue24633)
- Rename README to README.rst according to upstream change (upstream PR#2)
- Add patch 264 to skip a known test failure on aarch64 (upstream issue29804)
2017-03-16 16:12:55 +01:00
Charalampos Stratakis 3b36b495e5 Backport of PEP 538: Coercing the legacy C locale to a UTF-8 based locale
Fedora self-contained change: https://fedoraproject.org/wiki/Changes/python3_c.utf-8_locale

Since the backport is based on some changes done for the bpo-24932, these changes were backported as well
with the 261 patch, which will be removed when python3 is rebased to 3.6.1
2017-03-13 14:53:53 +01:00
Charalampos Stratakis 860f392aef Add AppData and desktop file for IDLE 3 (rhbz#1392049) 2017-02-28 14:33:44 +01:00
Michal Cyprian bbccd649ab Revert "Set values of prefix and exec_prefix to /usr/local for..."
- Prevent build failures of packages using alternate build tools
- This reverts commit 24515db173
2017-02-24 14:57:15 +01:00
Michal Cyprian 24515db173 Set values of prefix and exec_prefix to /usr/local for
/usr/bin/python* executables to make pip and distutils
install to the separate location
- Use new %%_module_build macro
2017-02-21 11:17:54 +01:00
Michal Cyprian ef5c6fe479 Add --executable option to install.py command 2017-02-21 10:38:18 +01:00
Charalampos Stratakis 7973de8b00 BuildRequire the new dependencies of python-setuptools when rewheel mode is enabled
and add a patch to adjust the upstream test suite to account for these dependencies,
since without them, the virtualenv's would not install anything in their site-packages
directory thus making pip unusable inside virtualenv's.
2017-02-17 10:26:59 +01:00
Fedora Release Engineering 45bc6145e3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild 2017-02-11 11:04:03 +00:00
Stephen Gallagher ea14453e6c Add missing %license macro 2017-02-02 11:14:00 +01:00
Tomas Orsava d80b542352 Modify differently the runtime dependency of python3-libs on system-python-libs
because previous attempt didn't work properly with dnf resolving mechanism
2017-01-26 14:06:38 +01:00
Igor Gnatenko adf44e0285 Revert "Modify the runtime dependency of python3-libs on system-python-libs"
This broke everything, rpm/dnf/libsolv/etc. doesn't know what is *partial*
dependency. Either you specify full release, or you don't specify it at all.

This reverts commit 738f034638.

Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
2017-01-25 21:12:31 +01:00
Tomas Orsava 738f034638 Modify the runtime dependency of python3-libs on system-python-libs
to use just the version and release number, but not the dist tag due to Modularity
2017-01-25 14:15:32 +01:00
Charalampos Stratakis ae3f901913 Skip test_aead_aes_gcm during rpmbuild 2017-01-19 20:56:23 +01:00
Charalampos Stratakis 79728f702e Fix error check, so that Random.seed actually uses OS randomness (rhbz#1412275) 2017-01-16 14:28:13 +01:00
Igor Gnatenko 2294d6496c Rebuild for readline 7.x
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
2017-01-12 17:30:38 +01:00
Charalampos Stratakis ae0e9fd8d2 Require arch specific glibc 2017-01-12 11:15:34 +01:00
Charalampos Stratakis 69d3bbb6fe Always include the rewheel patch at the SRPM 2017-01-10 22:12:21 +01:00
Charalampos Stratakis a5e3562540 Require glibc >= 2.24.90-26 for system-python-libs (rhbz#1410644) 2017-01-10 17:01:29 +01:00
Charalampos Stratakis f75890a6e8 Fix wrong patch name 2017-01-09 13:25:30 +01:00
Charalampos Stratakis 0da740b7bc Define HAVE_LONG_LONG as 1 for backwards compatibility. 2017-01-09 13:19:57 +01:00
Miro Hrončok 1abbc727d4 Fix bogus release in %changelog 2017-01-06 11:08:15 +01:00
Miro Hrončok 6bb1189ded Don't blow up on EL7 kernel (random generator) (rhbz#1410175) 2017-01-05 18:52:42 +01:00
Charalampos Stratakis e79e900d64 Update to Python 3.6.0 final
Remove patch 250 as it is now upstream

Upload the 3.6.0 final sources
2016-12-27 21:44:58 +01:00
Charalampos Stratakis eefe139416 Fill the missing pieces at the boostraping documentation 2016-12-14 13:46:15 +01:00
Charalampos Stratakis efda0ca6f2 Enable rewheel
Use https URL
2016-12-10 15:20:04 +01:00
Charalampos Stratakis 7319c29d60 Upload sources for 3.6.0rc1 2016-12-09 20:27:46 +01:00
Charalampos Stratakis d55596820d Fix changelog entry's chronological order 2016-12-09 16:23:34 +01:00
Charalampos Stratakis f9258e6d7f Added patch for guarding HAVE_LONG_LONG definition in pyport.h
as it is also defined by GDB, and by building GDB with python support
will make GDB's compilation fail due to redefinition error.
(upstream issue28898)
2016-12-09 16:21:21 +01:00
Charalampos Stratakis 97cc10c62a Update to Python 3.6.0 release candidate 1 2016-12-09 16:20:54 +01:00
Charalampos Stratakis 3b1225f950 Update to Python 3.6.0 beta 4
Disable rewheel
2016-12-09 16:17:16 +01:00
Charalampos Stratakis af1b222b2b Enable --with-dtrace configure flag (upstream issue21590)
Add patch to fix out of tree --with-dtrace build (upstream issue28787)
2016-12-09 16:15:44 +01:00
Charalampos Stratakis 1b092958f3 Update to 3.6.0 beta 3
Revert the -x flag workaround for excluded tests as it has been fixed upstream (upstream issue28409)
Remove the _sysconfigdata_ files as they are now removed properly (upstream issue28046)
Renamed _futures module to _asyncio (upstream issue28428)
2016-12-09 16:15:06 +01:00
Charalampos Stratakis 1f40c0cbd1 Remove --with-tsc configure flag as it has been removed upstream. Also removing patch 143 related to that flag.
Relevant upstream commit: https://hg.python.org/cpython/rev/2310a5b75fae
2016-12-09 16:14:28 +01:00
Charalampos Stratakis ace4eac581 Fix rewheel's module regex (related upstream issue27364 and issue28128).
Enable tests.
2016-12-09 16:14:02 +01:00
Charalampos Stratakis 062c68f056 Add the files of asyncio.future's C implementation to the respective %files section (upstream issue26081) 2016-12-09 16:13:37 +01:00
Charalampos Stratakis a744d8670a Drop patch 184 as it is implemented upstream now (upstream issue26661) 2016-12-09 16:12:57 +01:00
Charalampos Stratakis 067a255b22 Update to 3.6.0b2 2016-12-09 16:12:25 +01:00
Charalampos Stratakis c426ceabbe Fix the excluded tests due to -x flag not working properly (upstream issue28409) 2016-12-09 16:12:10 +01:00
Charalampos Stratakis 1c8e9a60f4 Add the cryptography algorithms files to the respective file sections since
the hashlib patch was dropped, so we are using currently python's implementation of these algorithms
instead of the OpenSSL's ones. Relevant upstream issue26470.

Remove the plat-linux directory and add the system configuration data files(upstream issue28046)
2016-12-09 16:10:59 +01:00
Charalampos Stratakis 390d524690 Disable test suite 2016-12-09 16:09:37 +01:00
Charalampos Stratakis 0424a4f70e Rebased patches 102, 111, 170 in order to apply cleanly for the new sources.
Dropped patches 209, 242, 247 as they are already upstream.

Dropped patches 143 and 146 for now.
2016-12-09 16:07:57 +01:00
Charalampos Stratakis 95f9e1aed8 Python now uses by default the system libffi, on linux systems (upstream issue26661 and issue27979) 2016-12-09 16:00:05 +01:00
Charalampos Stratakis e9db5d378a Disable system-tap as it is now implemented upstream in a different way (upstream issue21590) 2016-12-09 15:59:32 +01:00
Charalampos Stratakis b6897674be Update to 3.6.0 first beta.
Rename the macros.pybytecompile3.5 file to macros.pybytecompile3.6.

Rename all the respective sections in the SPEC file for python 3.6.
2016-12-09 15:58:35 +01:00
Charalampos Stratakis 8398dc4b6b Update source URL to point to 3.6.0 beta1 2016-12-09 15:57:03 +01:00
Charalampos Stratakis ddb16c68d9 Rebuild for pip version 9.0.1 2016-12-05 13:46:29 +01:00
Charalampos Stratakis f7bd058f3c Port ssl and hashlib modules to OpenSSL 1.1.0 and drop hashlib patch 2016-10-12 16:52:17 +02:00
Tomas Mraz 55d65adde0 Fix changelog date in previous commit. 2016-10-11 18:30:54 +02:00
Tomas Mraz 38b026e0ce Make it build with OpenSSL-1.1.0 based on upstream patch 2016-10-11 18:29:24 +02:00
Richard W.M. Jones c3e3d7792d Add riscv64 to list of 64 bit arches. 2016-10-09 11:08:54 +01:00
Richard W.M. Jones 05c99bb32e No valgrind available on riscv64. 2016-10-08 07:17:21 +01:00
Charalampos Stratakis 1768987fbc Provide python35 for ensuring upgrade path from F23->f25 2016-09-14 12:47:56 +02:00
Charalampos Stratakis 5941d2af7f Remove unused configure flags and update %py_byte_compile macro 2016-09-12 14:45:49 +02:00
Tomas Orsava b2fa0070fc Fixed .pyc bytecompilation
- Updated .pyc 'bytecompilation with the newly installed interpreter' to also
  recompile optimized .pyc files
- Removed .pyo 'bytecompilation with the newly installed interpreter', as .pyo
  files are no more
- Resolves rhbz#1373635
2016-09-09 13:27:29 +02:00
Tomas Orsava ea6fb09bb5 New sources have to be commited separately of course 2016-08-16 14:11:37 +02:00
Tomas Orsava 6cd1c5f463 Rebased to Python 3.5.2 2016-08-16 13:59:50 +02:00
Charalampos Stratakis 77a5f91947 Fix for CVE-2016-1000110 HTTPoxy attack 2016-08-09 14:37:17 +02:00
Michal Toman 4bc70e0cc0 Build properly on MIPS 2016-08-08 12:18:09 +02:00
Fedora Release Engineering 18346f1df1 - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages 2016-07-19 12:17:53 +00:00
Charalampos Stratakis 3702d0d8e2 Refactor patch for properly fixing CVE-2016-5636 2016-07-08 18:47:00 +02:00
Charalampos Stratakis 92512b0b14 Fix test_pyexpat failure with Expat 2.2.0 2016-07-08 16:47:33 +02:00
Miro Hrončok 347356c099 Move xml module to system-python-libs 2016-07-08 14:03:34 +02:00
Tomas Orsava 99ac2fc8f3 Added an info note about adding new patches
Due to an omission, it was not included in this branch yet.
2016-06-20 13:14:00 +02:00
Tomas Orsava 8f231d01cd Fix for: CVE-2016-0772 python: smtplib StartTLS stripping attack (rhbz#1303647)
Raise an error when STARTTLS fails.

- rhbz#1303647: https://bugzilla.redhat.com/show_bug.cgi?id=1303647
- rhbz#1346345: https://bugzilla.redhat.com/show_bug.cgi?id=1346345
- Fixed upstream: https://hg.python.org/cpython/rev/d590114c2394
2016-06-20 13:02:29 +02:00
Charalampos Stratakis 5279a7c9ec Fix possible integer overflow and heap corruption in zipimport module 2016-06-13 17:52:30 +02:00
Robert Kuska d2c2647ea9 Remove Patch179 as test_gdb pass on arm without problems 2016-03-31 12:33:48 +02:00
Robert Kuska c63af87347 Remove Patch173 as test.support.bind_port seems to work 2016-03-29 13:15:46 +02:00
Robert Kuska a0e3ab8621 Remove white spaces 2016-03-24 16:53:25 +01:00
Robert Kuska 47ab152406 Actualy use gc-assertions patch 2016-03-24 16:51:41 +01:00
Robert Kuska 0a93f9db10 Remove ppc specific patch which skipped check_interrupted_write tests 2016-03-24 12:12:20 +01:00
Robert Kuska 20b919fd08 Remove arm specific test skip patches139&140 rhbz#1318565 2016-03-17 14:35:52 +01:00
Robert Kuska 83d6e884b3 Remove patch150 as the issue was already fixed rhbz#1318565 2016-03-17 13:01:56 +01:00
Robert Kuska f2e5fa9a56 Remove _expectedFailureInRpmBuild also from unittest/__init__ 2016-03-17 10:51:32 +01:00
Robert Kuska a1c0d073e2 Remove unused _expectedFailureInRpmbuild function rhbz#1301033 2016-03-17 10:40:36 +01:00
Robert Kuska 28c36c694a Remove accidentally added patch 2016-03-17 10:20:48 +01:00
Robert Kuska e7488abc3b Removed patch131 rhbz#1318565 2016-03-17 10:18:47 +01:00
Miro Hrončok a6cf4230e2 Move distutils to system-python-libs 2016-03-04 14:30:32 +01:00
Miro Hrončok ca48cc1b55 Remove trailing whitespace 2016-02-25 21:04:08 +01:00
Charalampos Stratakis 60fd88ff14 SPEC file cleanup 2016-02-25 17:47:06 +01:00
Miro Hrončok 60aba0a6b8 Provide system python subpackages and macro
Move some modules back to python3-libs
2016-02-25 17:02:56 +01:00
Robert Kuska 82c3ceef41 Provide python3-enum34 2016-02-24 14:38:24 +01:00
Fedora Release Engineering aa74fec275 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild 2016-02-04 21:30:47 +00:00
Orion Poplawski 1eeebcf2be Drop python3 macros, require python/python3-rpm-macros 2016-01-13 12:03:23 -07:00
Karsten Hopp f8ddd44390 bump release 2015-12-21 16:41:52 +01:00
Karsten Hopp e3c54b7595 Avoid truncated _math.o files caused by parallel builds
rhbz#1292461

disable failing test_with_pip (test.test_venv.EnsurePipTest) on ppc64*

Use a larger stack size on ppc64 (rhbz#1292462)
2015-12-21 15:55:55 +01:00
Robert Kuska e06dbe093e Add source for 3.5.1 2015-12-14 20:01:49 +01:00
Robert Kuska e248727c4f Update to 3.5.1, remove unused patches (199, 207) 2015-12-14 19:59:02 +01:00
Robert Kuska bbc4c0dbf7 [cleanup] Remove autotooling and its patch
rhbz#1291325
2015-12-14 17:00:16 +01:00
Robert Kuska 5182e811f0 Enable tests 2015-12-14 15:57:49 +01:00
Robert Kuska 19aade22cb [cleanup] Remove COUNT_ALLOCS patches, see rhbz#1291325 2015-12-14 15:57:16 +01:00
Robert Kuska 7883cb72b0 [cleanup] Remove unused patches 2015-12-14 13:34:09 +01:00
Robert Kuska e769a59396 Remove versioned libpython from devel package 2015-11-15 10:04:16 +01:00
Than Ngo 0efd3d31cb add correct arch for ppc64/ppc64le to fix build failure, it should be
ppc64le-linux-gnu/ppc64-linux-gnu instead powerpc64le-linux-gnu/powerpc64-linux-gnu

  http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=2900961
2015-11-13 18:50:47 +01:00
Robert Kuska 08374589d7 Hide the private _Py_atomic_xxx symbols from public header 2015-11-11 10:35:39 +01:00
Robert Kuska b0795dd21b Rebuild with wheel set to 1 2015-10-14 11:21:24 +02:00
Robert Kuska 2f6352e7fb Add also patch from previous commit 2015-09-23 15:06:03 +02:00
Robert Kuska 08f37368e9 Remove hf from arm triplet 2015-09-23 15:03:18 +02:00
Robert Kuska 05bd57fd4a Rename macros to 3.5 2015-09-23 11:30:57 +02:00
Robert Kuska 64cc450f08 Add python-3.5.0 source files 2015-09-23 11:26:32 +02:00
Robert Kuska a52deaab9a Make LIBPL variable respect libdir macro 2015-09-21 15:55:00 +02:00
Robert Kuska 7035fe2876 Remove forgotten $(LIBRARY) from Patch111
(and also enable it)
2015-09-21 15:37:07 +02:00
Matej Stuchlik abb2ff8b05 First step towards 3.5.0 2015-09-16 08:36:17 +02:00
Matej Stuchlik 8c7d263cab Bump pip version 2015-08-12 14:21:34 +02:00
Thomas Spura 8d338b7784 python3-devel: Require python-macros
This picks up version independant macros such as python_provide.
See fpc#281 and fpc#534 for more details.
2015-06-29 13:34:22 +02:00
Matej Stuchlik 8f7e21547a Increase testsuite's DH key size 2015-06-19 11:58:26 +02:00
Matej Stuchlik 2699e3706a Make relocating Python by changing _prefix work 2015-06-19 11:56:26 +02:00
Dennis Gilmore 6f1b657649 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild 2015-06-18 21:30:10 +00:00
Peter Robinson 3b7dcebf39 Disable test_gdb on aarch64 (rhbz#1196181), it joins all other non x86 arches 2015-05-04 20:35:50 +01:00
Matej Stuchlik e0a5a56c7c Add new sources for 3.4.3 2015-04-13 09:43:17 +02:00
Matej Stuchlik 318f360969 Update to 4.3.4 2015-04-02 11:33:06 +02:00
Matej Stuchlik aca03e4c3a Fixed undefined behaviour in faulthandler 2015-02-25 13:26:34 +01:00
Till Maas 9d940a7ac5 Rebuilt for Fedora 23 Change
https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code
2015-02-21 22:29:06 +01:00
Ville Skyttä 11842a3a5a Own systemtap dirs (#710733) 2015-02-17 21:45:32 +02:00
Dan Horák 70025c7217 - build with valgrind on ppc64le
- disable test_gdb on s390(x) until rhbz#1181034 is resolved
2015-01-12 07:02:47 -05:00
Robert Kuska 86a9a20d91 Backport patches from other pythons versions 2014-12-16 13:41:03 +01:00
Robert Kuska 6afc2ff1f8 Update tests to reflect latest changes in OpenSSL SSLv23 method 2014-12-11 14:39:08 +01:00
Matej Stuchlik a8e96a15a3 Update to Python 3.4.2 2014-11-13 14:39:20 +01:00
Slavek Kabrda e0539fb2e7 Fix CVE-2014-4650 - CGIHTTPServer URL handling
Resolves: rhbz#1113529
2014-11-03 15:03:12 +01:00
Karsten Hopp 8d54999cc4 exclude test_gdb on ppc* (rhbz#1132488) 2014-09-07 12:29:29 +02:00
Slavek Kabrda ed631dfc76 Update rewheel patch with fix from https://github.com/bkabrda/rewheel/pull/1 2014-08-21 16:40:42 +02:00
Peter Robinson 2d77c4da1b - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild 2014-08-17 22:05:56 +00:00
Miro Hrončok 8430e60b7b Back to Bash wrapper, as upstream in 3.4 also uses Bash for some reasons
This reverts commit 95a55939d7.
This reverts commit 41a68301c7.
2014-07-01 12:17:09 +02:00
Miro Hrončok 41a68301c7 Header of config script improval 2014-06-30 19:11:22 +02:00
Miro Hrončok 95a55939d7 Rewrite the config wrapper from Bash to Python, so it can be interpreted with Python 2014-06-30 18:53:45 +02:00
Peter Robinson 9012997174 aarch64 has valgrind, just list those that don't support it with a ifnarch 2014-06-08 16:27:22 +01:00
Dennis Gilmore a292e5b212 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild 2014-06-07 19:38:08 -05:00
Karsten Hopp cb99f9f0e5 bump release and rebuild to link with the correct tcl/tk libs on ppcle 2014-06-04 23:16:38 +02:00
Matej Stuchlik 1014fca077 Change paths to bundled projects in rewheel patch 2014-06-03 22:28:46 +02:00
Matej Stuchlik 95668bdbb2 Add explanation of the bootstraping process 2014-05-30 11:54:32 +02:00
Miro Hrončok f188880d6c In config script, use uname -m to write the arch 2014-05-30 11:41:17 +02:00
Dan Horák 2a2186c470 - update the arch list where valgrind exists - %power64 includes also
ppc64le which is not supported yet
2014-05-29 18:10:59 +02:00
Miro Hrončok 567c9678be Forward arguments to the arch specific config script
Resolves: rhbz#1102683
2014-05-29 15:17:39 +02:00
Miro Hrončok 3d53dceca1 Rename python3.Xm-config script to arch specific.
Resolves: rhbz#1091815
2014-05-28 15:08:24 +02:00
Slavek Kabrda 29b96892f1 Also exclude test_faulthandler on aarch64 2014-05-28 09:27:08 +02:00
Dennis Gilmore aeae72b51c add message about building for tcl-8.6 2014-05-27 13:17:25 -05:00
Slavek Kabrda f30edc5e6d Use python3-*, not python-* runtime requires on setuptools and pip 2014-05-27 17:33:00 +02:00
Slavek Kabrda bea65b85a1 Merge branch 'python3.4'
Conflicts:
	python3.spec
2014-05-27 17:15:10 +02:00
Matej Stuchlik cfa9e5212d Update rewheel module 2014-05-27 12:42:42 +02:00
Miro Hrončok c75d3be7c8 Fix multilib dependencies.
Resolves: rhbz#1091815
2014-05-26 19:38:24 +02:00
Matej Stuchlik e602f7a288 Update to Python 3.4.1 2014-05-26 00:23:55 +02:00
Matej Stuchlik da5702456f Fix test_gdb failure on ppc64le (rhbz#1095355) 2014-05-25 23:35:06 +02:00
Miro Hrončok 8ab4c2d31f Add macro %python3_version_nodots 2014-05-22 13:25:18 +02:00
Miro Hrončok c21eb4aa37 Add macro %python3_version_nodots 2014-05-22 13:23:29 +02:00
Jaroslav Škarvada 3a3febacac - Rebuilt for https://fedoraproject.org/wiki/Changes/f21tcl86 2014-05-21 12:35:44 +02:00
Matej Stuchlik 1746188b35 Disable test_faulthandler, test_gdb on aarch64 (rhbz#1045193) 2014-05-18 23:39:35 +02:00
Matej Stuchlik 06247262fe Don't add declaration-after-statement for extension modules 2014-05-16 15:12:11 +02:00
Matej Stuchlik f498010aff Add setuptools and pip to Requires 2014-05-12 12:22:48 +02:00
Matej Stuchlik 86b7a9ddd9 Build with rewheel 2014-04-29 14:30:05 +02:00
Matej Stuchlik 516eb7a233 Point __os_install_post to correct brp-* files
New version of redhat-rpm-cofig no longer contains them in
/usr/lib/rpm/redhat
2014-04-29 11:32:55 +02:00
Matej Stuchlik 7d579ea103 Temporarily disable tests requiring SIGHUP (rhbz#1088233) 2014-04-18 09:50:21 +02:00
Matej Stuchlik c0b9737a79 Upload new sources 2014-04-15 11:07:53 +02:00
Matej Stuchlik 11fb599edb Update to Python 3.4 final
Also merge patches from master and add the rewheel module
2014-04-15 10:45:35 +02:00
Matej Stuchlik e9b7bf0d4b Update to Python 3.4 RC2 2014-03-07 10:59:27 +01:00
Slavek Kabrda bdf58d653f Fix loading of pyc files by ModuleFinder.load_module.
Resolves: rhbz#1060338
2014-03-05 09:02:54 +01:00
Slavek Kabrda b8daf7369b Enable loading sqlite extensions.
Resolves: rhbz#1066938
2014-02-19 14:30:28 +01:00
Tomas Radej c8f16f3941 Fixed buffer overflow (upstream patch)
Resolves: rhbz#1062374
2014-02-10 14:42:12 +01:00
Slavek Kabrda a39396d0b5 Install RPM macro files to proper directory. 2014-02-04 13:36:22 +01:00
Slavek Kabrda db2025edc1 Fix tests introduced in beta 2 failing because of COUNT_ALLOCS 2014-01-10 10:40:16 +01:00
Slavek Kabrda de14a01ddc Temporarily add BR: net-tools to workaround upstream reported test issue 2014-01-08 10:37:25 +01:00
Slavek Kabrda 61fd48d1a4 Update to Python 3.4 beta 2.
- Refreshed patches: 55 (systemtap), 146 (hashlib-fips), 154 (test_gdb noise)
- Dropped patches: 114 (statvfs constants), 177 (platform unicode)
2014-01-08 10:01:56 +01:00
Slavek Kabrda 3aee76e8b6 Add opcode module to %files 2013-11-28 10:43:42 +01:00
Slavek Kabrda cb97d29166 Use --without-ensurepip configuration option for now. 2013-11-28 10:27:48 +01:00
Slavek Kabrda 8fffc96443 Fix the hashlib-fips patch to work flawlessly once again 2013-11-28 10:07:21 +01:00
Slavek Kabrda aa3d055181 Add __ignore_usedforsecurity to patch 00146 (accidentaly omitted when rebasing patch). 2013-11-27 13:42:09 +01:00
Slavek Kabrda 0ef730720c Fix typo in lib64 patch 2013-11-27 13:33:51 +01:00
Slavek Kabrda bf35167937 Update to Python 3.4 beta 1.
- Refreshed patches: 102 (lib64), 111 (no static lib), 125 (less verbose COUNT
ALLOCS), 141 (fix COUNT_ALLOCS in test_module), 146 (hashlib fips),
157 (UID+GID overflows), 173 (ENOPROTOOPT in bind_port)
- Removed patch 00187 (remove pthread atfork; upstreamed)
2013-11-27 13:03:43 +01:00
Bohuslav Kabrda b282179093 Add asyncio, _sha3 and _testimportmultiple to files. 2013-11-08 15:04:01 +01:00
Bohuslav Kabrda e5c246c5f5 Change test/support in files to match upstream 2013-11-08 14:32:40 +01:00
Bohuslav Kabrda 671e4bf0ee atexit now gets linked into libpython3.X.so 2013-11-08 14:08:24 +01:00
Bohuslav Kabrda 84c534ef77 Disable tests in debug build that are irrelevant and fail because of COUNT_ALLOCS 2013-11-08 13:33:44 +01:00
Bohuslav Kabrda f2d9a8144b Don't hardode Python version in venv binary, use the pybasever macro there. 2013-11-08 08:09:40 +01:00
Bohuslav Kabrda f0b0ffc86c Rebase the hashlib patch + adapt it to _sha3 being used from stdlib 2013-11-07 15:59:40 +01:00
Bohuslav Kabrda 0153564bb6 Add a temporary workaround for lib2to3 tests failure (to be removed when we figure out things about hashlib+fips patch) 2013-11-06 14:58:05 +01:00
Matej Stuchlik 54afb027bd Change behavior of ssl.match_hostname() to follow RFC 6125 (rhbz#1023742) 2013-11-06 10:40:32 +01:00
Bohuslav Kabrda dfb79526a3 Temporarily turn of multicore build differently, using -J1 broke test_distutils 2013-11-05 15:39:12 +01:00
Bohuslav Kabrda f5250ecae7 Update to Python 3.4 alpha 4.
- Refreshed patches: 55 (systemtap), 102 (lib64), 111 (no static lib),
114 (statvfs flags), 132 (unittest rpmbuild hooks), 134 (fix COUNT_ALLOCS in
test_sys), 143 (tsc on ppc64), 146 (hashlib fips), 153 (test gdb noise),
157 (UID+GID overflows), 173 (ENOPROTOOPT in bind_port), 186 (dont raise
from py_compile)
- Removed patches: 129 (test_subprocess nonreadable dir - no longer fails in
Koji), 142 (the mock issue that caused this is fixed)
- Added patch 187 (remove thread atfork) - will be in next version
- Refreshed script for checking pyc and pyo timestamps with new ignored files.
- The fips patch is disabled for now until upstream makes a final decision
what to do with sha3 implementation for 3.4.0.
2013-11-05 12:40:00 +01:00
Bohuslav Kabrda 3dbbc14e76 Bytecompile all *.py files properly during build (rhbz#1023607) 2013-10-30 11:42:57 +01:00
Matej Stuchlik 8aaa11c1b0 Added fix for CVE-2013-4238 (rhbz#996399) 2013-08-23 10:12:43 +02:00
Dennis Gilmore fbccd698d3 fix up indentation in arm patch 2013-07-26 15:09:54 -05:00
Dennis Gilmore 24d06d1fa4 fix up indentation 2013-07-26 15:08:13 -05:00
Dennis Gilmore 486eb43517 disable a test that fails on arm
- enable valgrind support on arm arches
2013-07-26 12:13:47 -05:00
Bohuslav Kabrda 001a27780c Fix build with libffi containing multilib wrapper for ffi.h (rhbz#979696). 2013-07-02 08:21:42 +02:00
Bohuslav Kabrda 20822507e4 Add patch for CVE-2013-2099 (rhbz#963261). 2013-05-20 09:12:45 +02:00
Bohuslav Kabrda 22e1cc9fb8 Add patch for CVE-2013-2099 (rhbz#963261). 2013-05-20 08:04:03 +02:00
Bohuslav Kabrda fda6bedf04 Drop the forgotten gdb test patch that was merged upstream 2013-05-16 16:54:37 +02:00
Bohuslav Kabrda d4ea6cd725 Drop the forgotten gdb test patch that was merged upstream 2013-05-16 16:49:09 +02:00
Bohuslav Kabrda a60a842ced Updated to Python 3.3.2.
- Refreshed patches: 153 (gdb test noise)
- Dropped patches: 175 (configure -Wformat, fixed upstream)
- Synced patch numbers with python.spec.
2013-05-16 16:36:38 +02:00
Bohuslav Kabrda c298168d54 Updated to Python 3.3.2.
- Refreshed patches: 153 (gdb test noise)
- Dropped patches: 175 (configure -Wformat, fixed upstream)
- Synced patch numbers with python.spec.
2013-05-16 16:35:48 +02:00
David Malcolm 9d658b4031 3.3.1-4: fix test.test_gdb.PyBtTests.test_threads on ppc64 (rhbz#960010)
* Thu May  9 2013 David Malcolm <dmalcolm@redhat.com> - 3.3.1-4
- fix test.test_gdb.PyBtTests.test_threads on ppc64 (patch 181; rhbz#960010)
2013-05-09 12:19:36 -04:00
David Malcolm 721c1efdac 3.3.1-4: fix test.test_gdb.PyBtTests.test_threads on ppc64 (rhbz#960010)
* Thu May  9 2013 David Malcolm <dmalcolm@redhat.com> - 3.3.1-4
- fix test.test_gdb.PyBtTests.test_threads on ppc64 (patch 181; rhbz#960010)
2013-05-09 12:12:53 -04:00
Bohuslav Kabrda f9db6e6f65 Add patch that enables building on ppc64p7 (replace the sed, so that
we get consistent with python2 spec and it's more obvious that we're doing it.
2013-05-02 09:42:03 +02:00
Bohuslav Kabrda 69d4e5d353 Add patch that enables building on ppc64p7 (replace the sed, so that
we get consistent with python2 spec and it's more obvious that we're doing it.
2013-05-02 09:41:28 +02:00
Bohuslav Kabrda 88d5ef166c Add fix for gdb tests failing on arm, rhbz#951802. 2013-04-24 11:52:54 +02:00
Bohuslav Kabrda b935d25938 Add fix for gdb tests failing on arm, rhbz#951802. 2013-04-24 11:47:45 +02:00
Bohuslav Kabrda 50232369f6 Updated to Python 3.3.1.
- Refreshed patches: 55 (systemtap), 111 (no static lib), 146 (hashlib fips),
153 (fix test_gdb noise), 157 (uid, gid overflow - fixed upstream, just
keeping few more downstream tests)
- Removed patches: 3 (audiotest.au made it to upstream tarball)
- Removed workaround for http://bugs.python.org/issue14774, discussed in
http://bugs.python.org/issue15298 and fixed in revision 24d52d3060e8.
2013-04-11 10:24:30 +02:00
Bohuslav Kabrda 58f477b403 Updated to Python 3.3.1.
- Refreshed patches: 55 (systemtap), 111 (no static lib), 146 (hashlib fips),
153 (fix test_gdb noise), 157 (uid, gid overflow - fixed upstream, just
keeping few more downstream tests)
- Removed patches: 3 (audiotest.au made it to upstream tarball)
- Removed workaround for http://bugs.python.org/issue14774, discussed in
http://bugs.python.org/issue15298 and fixed in revision 24d52d3060e8.
2013-04-10 14:30:09 +02:00
David Malcolm b4d586e100 3.3.0-10: fix gcc 4.8 incompatibility (rhbz#927358)
* Mon Mar 25 2013 David Malcolm <dmalcolm@redhat.com> - 3.3.0-10
- fix gcc 4.8 incompatibility (rhbz#927358); regenerate autotool intermediates
2013-03-25 16:12:35 -04:00
David Malcolm ff7dfb66f1 3.3.0-9: renumber patches to keep them in sync with python.spec
* Mon Mar 25 2013 David Malcolm <dmalcolm@redhat.com> - 3.3.0-9
- renumber patches to keep them in sync with python.spec

Specifically, renumber:
  00174 -> 00176
  00175 -> 00177
2013-03-25 16:01:59 -04:00
Toshio Kuratomi 76e9a6b729 Bump release and build 2013-03-15 14:26:38 -07:00
Toshio Kuratomi 7c28d2c61c Fix error in platform.platform() when non-ascii byte strings are decoded to
unicode (rhbz#922149)
2013-03-15 14:25:57 -07:00
Toshio Kuratomi e7214707e2 Fix up shared library extension (rhbz#889784) 2013-03-14 08:18:03 -07:00
Karsten Hopp 42e503c07a add ppc64p7 build target, optimized for Power7 2013-03-07 15:45:58 +01:00
David Malcolm 260ceea047 3.3.0-5: add workaround for ENOPROTOOPT seen running selftests in Koji (rhbz#913732)
* Mon Mar  4 2013 David Malcolm <dmalcolm@redhat.com> - 3.3.0-5
- add workaround for ENOPROTOOPT seen running selftests in Koji
(rhbz#913732)
2013-03-04 16:30:51 -05:00
David Malcolm 19e1adc11e 3.3.0-4: remove config flag from /etc/rpm/macros.{python3|pybytecompile}
https://fedorahosted.org/fpc/ticket/259
2013-03-03 20:05:58 -05:00
David Malcolm a2f645393c 3.3.0-3: add aarch64 (rhbz#909783) 2013-02-10 23:30:34 -05:00
David Malcolm 81ac8c85fc 3.3.0-2: add BR on bluez-libs-devel (rhbz#879720) 2012-12-11 15:42:13 -05:00
David Malcolm 513a269422 3.3.0
3.3.0rc3 -> 3.3.0; drop alphatag
2012-09-29 17:54:42 -04:00
David Malcolm 3705b6491b 3.3.0-0.6.rc3
3.3.0rc2 -> 3.3.0rc3
2012-09-24 16:36:40 -04:00
David Malcolm 78727dec4a 3.3.0-0.5.rc2
3.3.0rc1 -> 3.3.0rc2; refresh patch 55
2012-09-10 10:48:19 -04:00
David Malcolm 92d712a0d8 3.3.0-0.4.rc1
3.3.0b2 -> 3.3.0rc1; refresh patches 3, 55
2012-08-27 12:54:05 -04:00
David Malcolm 62d7207dd0 3.3.0-0.3.b2
* Mon Aug 13 2012 David Malcolm <dmalcolm@redhat.com> - 3.3.0-0.3.b2
- 3.3b1 -> 3.3b2; drop upstreamed patch 152; refresh patches 3, 102, 111,
134, 153, 160; regenenerate autotools patch; rework systemtap patch to work
correctly when LANG=C (patch 55); importlib.test was moved to
test.test_importlib upstream
2012-08-13 21:11:12 -04:00
Karsten Hopp d474ecc631 disable some failing checks on PPC* (rhbz#846849) 2012-08-14 01:05:00 +02:00
David Malcolm 6a38560c1b Merge branch 'python3.3'
Conflicts:
	python3.spec
2012-08-03 18:01:03 -04:00
David Malcolm 48d20485db skip some tests within test_socket (patch 163) 2012-07-24 15:59:17 -04:00
David Malcolm f2b86e2170 add BuildRequires: xz-devel (for _lzma module) 2012-07-24 14:59:47 -04:00
David Malcolm 08ca53faca fix distutils.sysconfig traceback (patch 162) 2012-07-24 12:06:07 -04:00
David Malcolm 823581e851 renumber patches (158->160, 159->161) for consistency with python.spec 2012-07-24 11:21:34 -04:00
David Malcolm 8d03cf22c7 workaround erroneously shared _sysconfigdata.py upstream issue #14774 2012-07-24 06:12:06 -04:00
David Malcolm c85d3fb5f1 fix bad patch 159 2012-07-23 15:09:13 -04:00
David Malcolm 6616179565 fix test_tools (patch 159) 2012-07-23 14:43:43 -04:00
David Malcolm 3b4dd24c42 fix test_posix (patch 158) 2012-07-23 14:05:53 -04:00
David Malcolm a4dad5ac96 fix test_sys (patch 134) 2012-07-23 11:27:17 -04:00
Dennis Gilmore 99240249b9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild 2012-07-21 06:37:12 -05:00
David Malcolm 1c94c1ae4e 3.3.0-0.1.b1: 3.2 -> 3.3
* Fri Jul 20 2012 David Malcolm <dmalcolm@redhat.com> - 3.3.0-0.1.b1
- 3.2 -> 3.3: https://fedoraproject.org/wiki/Features/Python_3.3
- 3.3.0b1: refresh patches 3, 55, 102, 111, 113, 114, 134, 157; drop upstream
patch 147; regenenerate autotools patch; drop "--with-wide-unicode" from
configure (PEP 393); "plat-linux2" -> "plat-linux" (upstream issue 12326);
"bz2" -> "_bz2" and "crypt" -> "_crypt"; egg-info files are no longer shipped
for stdlib (upstream issues 10645 and 12218); email/test moved to
test/test_email; add /usr/bin/pyvenv[-3.3] and venv module (PEP 405); add
_decimal and _lzma modules; make collections modules explicit in payload again
(upstream issue 11085); add _testbuffer module to tests subpackage (added in
upstream commit 3f9b3b6f7ff0)
2012-07-20 16:34:09 -04:00
David Malcolm cc2383541f 3.2.3-10: use macro for power64 (rhbz#834653) 2012-06-22 13:43:37 -04:00
David Malcolm a25ec0b524 3.2.3-9: fix missing include in uid/gid handling patch (patch 157; rhbz#830405) 2012-06-19 12:01:07 -04:00
Bohuslav Kabrda f011cdc3fa fix tapset for debug build 2012-06-07 10:35:31 +02:00
David Malcolm 7989368053 3.2.3-7: update uid/gid handling (patch 157; rhbz#697470)
* Tue May 15 2012 David Malcolm <dmalcolm@redhat.com> - 3.2.3-7
- update uid/gid handling to avoid int overflows seen with uid/gid
values >= 2^31 on 32-bit architectures (patch 157; rhbz#697470)
2012-05-18 14:57:53 -04:00
David Malcolm bbb50840b1 add notes on upstream status of various patches 2012-05-11 19:35:32 -04:00
David Malcolm c04f314ee5 add link to upstream report for patch 147 2012-05-11 18:42:30 -04:00
David Malcolm ecc5705ec8 reorder the %configure arguments (alphabetically) to help with python vs python3 diffs 2012-05-04 15:53:42 -04:00
David Malcolm 8cb91f09ce 3.2.3-6: renumber autotools patch from 300 to 5000 2012-05-04 15:42:31 -04:00
David Malcolm 6b34963600 add markers to make it easier to diff python.spec and python3.spec 2012-05-04 15:24:50 -04:00
David Malcolm 938d1d78ce 3.2.3-5: fix test_gdb.py (patch 156; rhbz#817072)
* Mon Apr 30 2012 David Malcolm <dmalcolm@redhat.com> - 3.2.3-5
- fix test_gdb.py (patch 156; rhbz#817072)
2012-05-01 11:40:48 -04:00
David Malcolm 8a28107df1 3.2.3-4: avoid allocating thunks in ctypes unless absolutely necessary (patch 155; rhbz#814391)
* Fri Apr 20 2012 David Malcolm <dmalcolm@redhat.com> - 3.2.3-4
- avoid allocating thunks in ctypes unless absolutely necessary, to avoid
generating SELinux denials on "import ctypes" and "import uuid" when embedding
Python within httpd (patch 155; rhbz#814391)
2012-04-20 15:28:39 -04:00
David Malcolm 5974f19981 3.2.3-3: add explicit version requirements on expat to avoid linkage problems with XML_SetHashSalt
* Fri Apr 20 2012 David Malcolm <dmalcolm@redhat.com> - 3.2.3-3
- add explicit version requirements on expat to avoid linkage problems with
XML_SetHashSalt
2012-04-20 15:24:24 -04:00
David Malcolm 3170c05485 3.2.3-2
* Thu Apr 12 2012 David Malcolm <dmalcolm@redhat.com> - 3.2.3-2
- fix test_gdb (patch 153)
2012-04-12 11:18:08 -04:00
David Malcolm 28856627bf 3.2.3-1
* Wed Apr 11 2012 David Malcolm <dmalcolm@redhat.com> - 3.2.3-1
- 3.2.3; refresh patch 102 (lib64); drop upstream patches 148 (gdbm magic
values), 149 (__pycache__ fix); add patch 152 (test_gdb regex)
2012-04-11 20:20:08 -04:00
Thomas Spura ae2fc1c043 use newly installed python for byte compiling (#787498) the macros.pybytecompile way
Signed-off-by: Thomas Spura <thomas.spura@gmail.com>
2012-02-09 22:21:07 +01:00
Thomas Spura e6314e68e1 use newly installed python for byte compiling (#787498) the macros.pybytecompile way
Signed-off-by: Thomas Spura <thomas.spura@gmail.com>
2012-02-06 11:28:14 +01:00
Thomas Spura 1c26b68ffe use newly installed python for byte compiling (#787498)
Signed-off-by: Thomas Spura <thomas.spura@gmail.com>
2012-02-05 20:32:34 +01:00
Ville Skyttä 8a69a67643 Build with $RPM_LD_FLAGS (#756863).
Use xz-compressed source tarball.
2012-01-04 22:15:40 +02:00
Karsten Hopp 1af13838fd disable rAssertAlmostEqual in test_cmath on PPC (#750811) 2011-12-08 01:44:05 +01:00
Rex Dieter 8c9e381740 python3-devel missing autogenerated pkgconfig() provides (#746751)
In short, use
/usr/lib/rpm/redhat/find-provides
intead of
/usr/lib/rpm/find-provides
2011-10-17 13:48:14 -05:00
David Malcolm e2a3db4ded 3.2.2-8: cherrypick fix for distutils not using __pycache__ when byte-compiling (rhbz#722578)
* Mon Oct 10 2011 David Malcolm <dmalcolm@redhat.com> - 3.2.2-8
- cherrypick fix for distutils not using __pycache__ when byte-compiling
files (rhbz#722578)
2011-10-10 17:14:54 -04:00
David Malcolm 9b8d221300 re-enable gdbm (patch 148; rhbz#742242)
* Fri Sep 30 2011 David Malcolm <dmalcolm@redhat.com> - 3.2.2-7
- re-enable gdbm (patch 148; rhbz#742242)
2011-09-30 16:46:26 -04:00
David Malcolm ab415c6cdd add a sys._debugmallocstats() function (patch 147)
* Fri Sep 16 2011 David Malcolm <dmalcolm@redhat.com> - 3.2.2-6
- add a sys._debugmallocstats() function (patch 147)
2011-09-16 19:28:20 -04:00
David Malcolm b8f92b4cd5 support OpenSSL FIPS mode in _hashlib and hashlib
* Wed Sep 14 2011 David Malcolm <dmalcolm@redhat.com> - 3.2.2-5
- support OpenSSL FIPS mode in _hashlib and hashlib; don't build the _md5 and
_sha* modules, relying on _hashlib in hashlib (rhbz#563986; patch 146)
2011-09-14 02:17:28 -04:00
David Malcolm 00fd884b35 fix builds that set with_debug_build to 0 2011-09-14 00:10:35 -04:00
David Malcolm 0d5c338c39 add note about python.spec's patch 145 2011-09-14 00:10:15 -04:00
David Malcolm a5cef79f49 add a way to easily turn off the %check section 2011-09-14 00:09:45 -04:00
David Malcolm 5fe31d812a disable gdbm module to prepare for gdbm soname bump
* Tue Sep 13 2011 David Malcolm <dmalcolm@redhat.com> - 3.2.2-4
- disable gdbm module to prepare for gdbm soname bump
2011-09-13 14:59:31 -04:00
David Malcolm c923b51771 renumber and rename patches for consistency with python.spec
* Mon Sep 12 2011 David Malcolm <dmalcolm@redhat.com> - 3.2.2-3
- renumber and rename patches for consistency with python.spec (8 to 55, 106
to 104, 6 to 111, 104 to 113, 105 to 114, 125, 131, 130 to 143)
2011-09-12 17:39:27 -04:00
David Malcolm 5a4896796b minor fixes to reduce python/python3 delta 2011-09-10 08:23:40 -04:00
David Malcolm 0c8875f3f6 rewrite of %check: fine-grained test exclusions
* Sat Sep 10 2011 David Malcolm <dmalcolm@redhat.com> - 3.2.2-2
- rewrite of "check", introducing downstream-only hooks for skipping specific
cases in an rpmbuild (patch 132), and fixing/skipping failing tests in a more
fine-grained manner than before; (patches 106, 133-142 sparsely, moving
patches for consistency with python.spec: 128 to 134, 126 to 135, 127 to 141)
2011-09-10 07:59:22 -04:00
David Malcolm 06b3c5b484 3.2.2 2011-09-06 12:44:03 -04:00
David Malcolm 28391cb8f7 run selftests with "--verbose"; disable parts of test_io on ppc (rhbz#732998) 2011-09-01 18:43:09 -04:00
David Malcolm d0528e355d patch 130 now reported upstream 2011-08-31 17:57:50 -04:00
David Malcolm 9a778ac8c7 use "--findleaks --verbose3" when running test suite 2011-08-31 15:08:01 -04:00
David Malcolm ceb359a69b ppc --with-tsc fixes
re-enable and fix the --with-tsc option on ppc64, and rework it on
32-bit ppc to avoid aliasing violations (patch 129; rhbz#698726)
2011-08-23 16:48:59 -04:00
David Malcolm 4763ff864f don't use --with-tsc on ppc64 debug builds (rhbz#698726) 2011-08-23 14:24:14 -04:00
David Malcolm bd4f5e9a13 Fix comments within specfile (rhbz#732475) 2011-08-22 15:38:24 -04:00
David Malcolm 65e90f617b add %python3_version to the rpm macros (rhbz#719082) 2011-08-18 14:17:41 -04:00
Dennis Gilmore cdc1710678 disable failing tests on sparc 2011-07-11 21:18:56 -05:00
David Malcolm cce760d4ac 3.2.1
3.2.1; refresh lib64 patch (102), subprocess unit test patch (129), disabling
of static library build (due to Modules/_testembed; patch 6), autotool
intermediates (patch 300)
2011-07-11 12:04:52 -04:00
David Malcolm cfd3e15f77 use the gdb hooks from the upstream tarball, rather than keeping our own copy 2011-07-08 14:10:58 -04:00
David Malcolm 5db81fb1d8 don't run test_openpty and test_pty in %%check 2011-07-08 13:47:40 -04:00
David Malcolm c769a6b550 cleanup of BuildRequires; add comment headings to specfile sections 2011-07-08 12:54:16 -04:00
David Malcolm b0ba5d44f6 fix the libpython.stp systemtap tapset (rhbz#697730) 2011-04-19 12:12:57 -04:00
David Malcolm e516bd5cb9 3.2 2011-02-21 11:28:42 -05:00
David Malcolm 9640a7e460 Add a /usr/bin/python3-debug symlink within the debug subpackage 2011-02-14 19:13:27 -05:00
David Malcolm bb2fef9eec Upload 3.2rc3 to lookaside 2011-02-14 13:57:03 -05:00
David Malcolm 3f75b3e893 3.2rc3 2011-02-14 13:55:48 -05:00
Dennis Gilmore fef240e443 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild 2011-02-09 01:42:58 -06:00
David Malcolm fc9ba51d30 3.2rc2 2011-02-08 19:35:54 -05:00
Dan Horák 3dfb714641 add support for the timestamp counter on s390(x) 2011-02-04 17:47:28 +01:00
David Malcolm 34c15c7789 3.2rc1
* Mon Jan 17 2011 David Malcolm <dmalcolm@redhat.com> - 3.2-0.9.rc1
- 3.2rc1
- rework patch 6 (static lib removal)
- remove upstreamed patch 130 (ppc debug build)
- regenerate patch 300 (autotool intermediates)
- updated packaging to reflect upstream rewrite of "Demo" (issue 7962)
- added libpython3.so and 2to3-3.2
2011-01-17 16:25:14 -05:00
David Malcolm 5659c63442 * Wed Jan 5 2011 David Malcolm <dmalcolm@redhat.com> - 3.2-0.8.b2
- set EXTRA_CFLAGS to our CFLAGS, rather than overriding OPT, fixing a linker
error with dynamic annotations (when configured using --with-valgrind)
- fix the ppc build of the debug configuration (patch 130; rhbz#661510)
2011-01-05 18:34:21 -05:00
David Malcolm 31a06df0c4 add --with-valgrind to configuration (on architectures that support this) 2011-01-04 10:53:01 -05:00
David Malcolm c23ee7db9f work around test_subprocess failure seen in koji (patch 129) 2010-12-29 16:33:14 -05:00
David Malcolm 5080ffc5d3 * Tue Dec 28 2010 David Malcolm <dmalcolm@redhat.com> - 3.2-0.5.b2
- 3.2b2
- rework patch 3 (removal of mimeaudio tests), patch 6 (no static libs),
patch 8 (systemtap), patch 102 (lib64)
- remove patch 4 (rendered redundant by upstream r85537), patch 103 (PEP 3149),
patch 110 (upstreamed expat fix), patch 111 (parallel build fix for grammar
fixed upstream)
- regenerate patch 300 (autotool intermediates)
- workaround COUNT_ALLOCS weakref issues in test suite (patch 126, patch 127,
patch 128)
- stop using runtest.sh in %%check (dropped by upstream), replacing with
regrtest; fixup list of failing tests
- introduce "pyshortver", "SOABI_optimized" and "SOABI_debug" macros
- rework manifests of shared libraries to use "SOABI_" macros, reflecting
PEP 3149
- drop itertools, operator and _collections modules from the manifests as py3k
commit r84058 moved these inside libpython; json/tests moved to test/json_tests
- move turtle code into the tkinter subpackage
2010-12-29 13:26:29 -05:00
David Malcolm 824c34b61e fix sysconfig to not rely on the -devel subpackage (rhbz#653058) 2010-11-17 15:03:29 -05:00
David Malcolm 26c1be588d * Thu Sep 9 2010 David Malcolm <dmalcolm@redhat.com> - 3.2-0.4.a1
- move most of the content of the core package to the libs subpackage, given
that the libs aren't meaningfully usable without the standard libraries
2010-09-09 14:52:31 -04:00
David Malcolm e1c7be02b9 - Move test.support to core package (rhbz#596258)
- Add various missing __pycache__ directories to payload
2010-09-08 19:01:56 -04:00
Toshio Kuratomi 13c4a4f869 - Add __pycache__ directory for site-packages 2010-08-22 14:48:47 -04:00
Thomas Spura 762f268f6b forgot to bump the release 2010-08-22 15:11:59 +02:00
Thomas Spura 1559439d3f correct latest patch edit... 2010-08-22 14:42:27 +02:00
Thomas Spura 997d5a24f2 - on 64bit "stdlib" was still "/usr/lib/python*" (modify *lib64.patch)
- make find-provides-without-python-sonames.sh 64bit aware
2010-08-22 14:40:58 +02:00
David Malcolm 7eb10c8dbe 3.2a1
* Sat Aug 21 2010 David Malcolm <dmalcolm@redhat.com> - 3.2-0.0.a1
- 3.2a1; add alphatag
- rework %%files in the light of PEP 3147 (__pycache__)
- drop our configuration patch to Setup.dist (patch 0): setup.py should do a
better job of things, and the %%files explicitly lists our modules (r82746
appears to break the old way of doing things).  This leads to various modules
changing from "foomodule.so" to "foo.so".  It also leads to the optimized build
dropping the _sha1, _sha256 and _sha512 modules, but these are provided by
_hashlib; _weakref becomes a builtin module; xxsubtype goes away (it's only for
testing/devel purposes)
- fixup patches 3, 4, 6, 8, 102, 103, 105, 111 for the rebase
- remove upstream patches: 7 (system expat), 106, 107, 108 (audioop reformat
plus CVE-2010-1634 and CVE-2010-2089), 109 (CVE-2008-5983)
- add machinery for rebuilding "configure" and friends, using the correct
version of autoconf (patch 300)
- patch the debug build's usage of COUNT_ALLOCS to be less verbose (patch 125)
- "modulator" was removed upstream
- drop "-b" from patch applications affecting .py files to avoid littering the
installation tree
2010-08-21 18:08:26 -04:00
David Malcolm 815994f42a Add with_debug_build conditional 2010-08-21 16:26:53 -04:00
Toshio Kuratomi ab3441ad0d * Fri Aug 6 2010 Toshio Kuratomi <toshio@fedoraproject.org> - 3.1.2-13
- Turn on computed-gotos.
- Fix for parallel make and graminit.c
2010-08-19 14:13:51 -04:00
Toshio Kuratomi 4c1f6daa7c * Fri Aug 6 2010 Toshio Kuratomi <toshio@fedoraproject.org> - 3.1.2-13
- Turn on computed-gotos.
- Fix for parallel make and graminit.c
2010-08-19 14:12:57 -04:00
Toshio Kuratomi 91b78044d5 * Fri Aug 6 2010 Toshio Kuratomi <toshio@fedoraproject.org> - 3.1.2-13
- Turn on computed-gotos.
2010-08-06 17:16:23 -04:00
Fedora Release Engineering db6a64a5ec dist-git conversion 2010-07-29 10:53:57 +00:00
dmalcolm 9b81ebe91e rebuild 2010-07-02 20:32:10 +00:00
dmalcolm 03b7fb2d62 - Fix an incompatibility between pyexpat and the system expat-2.0.1 that
led to a segfault running test_pyexpat.py (patch 110; upstream issue
    9054; rhbz#610312)
2010-07-02 15:49:25 +00:00
dmalcolm 5c9590b543 - ensure that the compiler is invoked with "-fwrapv" (rhbz#594819)
- reformat whitespace in audioop.c (patch 106)
- CVE-2010-1634: fix various integer overflow checks in the audioop module
    (patch 107)
- CVE-2010-2089: further checks within the audioop module (patch 108)
- CVE-2008-5983: the new PySys_SetArgvEx entry point from r81399 (patch
    109)
2010-06-04 19:56:30 +00:00
Dan Horák 66cf571b61 - reading the timestamp counter is available only on some arches (see
Python/ceval.c)
2010-05-27 10:59:22 +00:00
dmalcolm d73e38d70d - add flags for statvfs.f_flag to the constant list in posixmodule (i.e.
"os") (patch 105)
2010-05-26 10:34:27 +00:00
dmalcolm 021b2bcd4a - add configure-time support for COUNT_ALLOCS and CALL_PROFILE debug
options (patch 104); enable them and the WITH_TSC option within the
    debug build
2010-05-25 17:16:11 +00:00
37 changed files with 14805 additions and 3426 deletions

View File

@ -1,2 +0,0 @@
libpython-36a517ef7848cbd0b3dcc7371f32e47ac4c87eba.tar.gz
Python-3.1.2.tar.bz2

3
.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
/*.tar.*
/*.src.rpm
/results_python3*

33
00001-rpath.patch Normal file
View File

@ -0,0 +1,33 @@
From bf01d6c367d9cb8f6594afa87c16f0498ae7321f Mon Sep 17 00:00:00 2001
From: David Malcolm <dmalcolm@redhat.com>
Date: Wed, 13 Jan 2010 21:25:18 +0000
Subject: [PATCH] 00001: Fixup distutils/unixccompiler.py to remove standard
library path from rpath Was Patch0 in ivazquez' python3000 specfile
---
Lib/distutils/unixccompiler.py | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/Lib/distutils/unixccompiler.py b/Lib/distutils/unixccompiler.py
index d10a78da31..4df4b67810 100644
--- a/Lib/distutils/unixccompiler.py
+++ b/Lib/distutils/unixccompiler.py
@@ -82,6 +82,15 @@ class UnixCCompiler(CCompiler):
if sys.platform == "cygwin":
exe_extension = ".exe"
+ def _fix_lib_args(self, libraries, library_dirs, runtime_library_dirs):
+ """Remove standard library path from rpath"""
+ libraries, library_dirs, runtime_library_dirs = super()._fix_lib_args(
+ libraries, library_dirs, runtime_library_dirs)
+ libdir = sysconfig.get_config_var('LIBDIR')
+ if runtime_library_dirs and (libdir in runtime_library_dirs):
+ runtime_library_dirs.remove(libdir)
+ return libraries, library_dirs, runtime_library_dirs
+
def preprocess(self, source, output_file=None, macros=None,
include_dirs=None, extra_preargs=None, extra_postargs=None):
fixed_args = self._fix_compile_args(None, macros, include_dirs)
--
2.24.1

261
00102-lib64.patch Normal file
View File

@ -0,0 +1,261 @@
From 96580364051672475607c88cdb31ec875cea6e97 Mon Sep 17 00:00:00 2001
From: David Malcolm <dmalcolm@redhat.com>
Date: Wed, 13 Jan 2010 21:25:18 +0000
Subject: [PATCH] 00102: Change the various install paths to use /usr/lib64/
instead or /usr/lib/
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Only used when "%{_lib}" == "lib64".
Co-authored-by: David Malcolm <dmalcolm@redhat.com>
Co-authored-by: Thomas Spura <tomspur@fedoraproject.org>
Co-authored-by: Slavek Kabrda <bkabrda@redhat.com>
Co-authored-by: Matej Stuchlik <mstuchli@redhat.com>
Co-authored-by: Tomas Orsava <torsava@redhat.com>
Co-authored-by: Charalampos Stratakis <cstratak@redhat.com>
Co-authored-by: Petr Viktorin <pviktori@redhat.com>
Co-authored-by: Miro Hrončok <miro@hroncok.cz>
Co-authored-by: Iryna Shcherbina <shcherbina.iryna@gmail.com>
---
Lib/distutils/command/install.py | 4 ++--
Lib/distutils/sysconfig.py | 6 +++++-
Lib/distutils/tests/test_install.py | 3 ++-
Lib/site.py | 4 ++++
Lib/sysconfig.py | 12 ++++++------
Lib/test/test_site.py | 4 ++--
Makefile.pre.in | 2 +-
Modules/getpath.c | 6 +++---
configure | 4 ++--
configure.ac | 4 ++--
setup.py | 6 +++---
11 files changed, 32 insertions(+), 23 deletions(-)
diff --git a/Lib/distutils/command/install.py b/Lib/distutils/command/install.py
index c625c95bf7..ae4f915669 100644
--- a/Lib/distutils/command/install.py
+++ b/Lib/distutils/command/install.py
@@ -30,14 +30,14 @@ WINDOWS_SCHEME = {
INSTALL_SCHEMES = {
'unix_prefix': {
'purelib': '$base/lib/python$py_version_short/site-packages',
- 'platlib': '$platbase/lib/python$py_version_short/site-packages',
+ 'platlib': '$platbase/lib64/python$py_version_short/site-packages',
'headers': '$base/include/python$py_version_short$abiflags/$dist_name',
'scripts': '$base/bin',
'data' : '$base',
},
'unix_home': {
'purelib': '$base/lib/python',
- 'platlib': '$base/lib/python',
+ 'platlib': '$base/lib64/python',
'headers': '$base/include/python/$dist_name',
'scripts': '$base/bin',
'data' : '$base',
diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
index b51629eb94..9a4892a737 100644
--- a/Lib/distutils/sysconfig.py
+++ b/Lib/distutils/sysconfig.py
@@ -146,8 +146,12 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
prefix = plat_specific and EXEC_PREFIX or PREFIX
if os.name == "posix":
+ if plat_specific or standard_lib:
+ lib = "lib64"
+ else:
+ lib = "lib"
libpython = os.path.join(prefix,
- "lib", "python" + get_python_version())
+ lib, "python" + get_python_version())
if standard_lib:
return libpython
else:
diff --git a/Lib/distutils/tests/test_install.py b/Lib/distutils/tests/test_install.py
index 287ab1989e..d4c05e0ab1 100644
--- a/Lib/distutils/tests/test_install.py
+++ b/Lib/distutils/tests/test_install.py
@@ -57,8 +57,9 @@ class InstallTestCase(support.TempdirManager,
self.assertEqual(got, expected)
libdir = os.path.join(destination, "lib", "python")
+ platlibdir = os.path.join(destination, "lib64", "python")
check_path(cmd.install_lib, libdir)
- check_path(cmd.install_platlib, libdir)
+ check_path(cmd.install_platlib, platlibdir)
check_path(cmd.install_purelib, libdir)
check_path(cmd.install_headers,
os.path.join(destination, "include", "python", "foopkg"))
diff --git a/Lib/site.py b/Lib/site.py
index a065ab0b5d..22d53fa562 100644
--- a/Lib/site.py
+++ b/Lib/site.py
@@ -335,11 +335,15 @@ def getsitepackages(prefixes=None):
seen.add(prefix)
if os.sep == '/':
+ sitepackages.append(os.path.join(prefix, "lib64",
+ "python" + sys.version[:3],
+ "site-packages"))
sitepackages.append(os.path.join(prefix, "lib",
"python%d.%d" % sys.version_info[:2],
"site-packages"))
else:
sitepackages.append(prefix)
+ sitepackages.append(os.path.join(prefix, "lib64", "site-packages"))
sitepackages.append(os.path.join(prefix, "lib", "site-packages"))
return sitepackages
diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
index b9e2fafbc0..0ae6d35b69 100644
--- a/Lib/sysconfig.py
+++ b/Lib/sysconfig.py
@@ -20,10 +20,10 @@ __all__ = [
_INSTALL_SCHEMES = {
'posix_prefix': {
- 'stdlib': '{installed_base}/lib/python{py_version_short}',
- 'platstdlib': '{platbase}/lib/python{py_version_short}',
+ 'stdlib': '{installed_base}/lib64/python{py_version_short}',
+ 'platstdlib': '{platbase}/lib64/python{py_version_short}',
'purelib': '{base}/lib/python{py_version_short}/site-packages',
- 'platlib': '{platbase}/lib/python{py_version_short}/site-packages',
+ 'platlib': '{platbase}/lib64/python{py_version_short}/site-packages',
'include':
'{installed_base}/include/python{py_version_short}{abiflags}',
'platinclude':
@@ -62,10 +62,10 @@ _INSTALL_SCHEMES = {
'data': '{userbase}',
},
'posix_user': {
- 'stdlib': '{userbase}/lib/python{py_version_short}',
- 'platstdlib': '{userbase}/lib/python{py_version_short}',
+ 'stdlib': '{userbase}/lib64/python{py_version_short}',
+ 'platstdlib': '{userbase}/lib64/python{py_version_short}',
'purelib': '{userbase}/lib/python{py_version_short}/site-packages',
- 'platlib': '{userbase}/lib/python{py_version_short}/site-packages',
+ 'platlib': '{userbase}/lib64/python{py_version_short}/site-packages',
'include': '{userbase}/include/python{py_version_short}',
'scripts': '{userbase}/bin',
'data': '{userbase}',
diff --git a/Lib/test/test_site.py b/Lib/test/test_site.py
index 41c4229919..543c88432a 100644
--- a/Lib/test/test_site.py
+++ b/Lib/test/test_site.py
@@ -266,8 +266,8 @@ class HelperFunctionsTests(unittest.TestCase):
dirs = site.getsitepackages()
if os.sep == '/':
# OS X, Linux, FreeBSD, etc
- self.assertEqual(len(dirs), 1)
- wanted = os.path.join('xoxo', 'lib',
+ self.assertEqual(len(dirs), 2)
+ wanted = os.path.join('xoxo', 'lib64',
'python%d.%d' % sys.version_info[:2],
'site-packages')
self.assertEqual(dirs[0], wanted)
diff --git a/Makefile.pre.in b/Makefile.pre.in
index a914a9c70f..406a441082 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -143,7 +143,7 @@ LIBDIR= @libdir@
MANDIR= @mandir@
INCLUDEDIR= @includedir@
CONFINCLUDEDIR= $(exec_prefix)/include
-SCRIPTDIR= $(prefix)/lib
+SCRIPTDIR= $(prefix)/lib64
ABIFLAGS= @ABIFLAGS@
# Detailed destination directories
diff --git a/Modules/getpath.c b/Modules/getpath.c
index b727f66953..a0c5fb6139 100644
--- a/Modules/getpath.c
+++ b/Modules/getpath.c
@@ -730,7 +730,7 @@ calculate_exec_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig,
if (safe_wcscpy(exec_prefix, calculate->exec_prefix, exec_prefix_len) < 0) {
return PATHLEN_ERR();
}
- status = joinpath(exec_prefix, L"lib/lib-dynload", exec_prefix_len);
+ status = joinpath(exec_prefix, L"lib64/lib-dynload", exec_prefix_len);
if (_PyStatus_EXCEPTION(status)) {
return status;
}
@@ -1067,7 +1067,7 @@ calculate_zip_path(PyCalculatePath *calculate, const wchar_t *prefix,
return PATHLEN_ERR();
}
}
- status = joinpath(zip_path, L"lib/python00.zip", zip_path_len);
+ status = joinpath(zip_path, L"lib64/python00.zip", zip_path_len);
if (_PyStatus_EXCEPTION(status)) {
return status;
}
@@ -1197,7 +1197,7 @@ calculate_init(PyCalculatePath *calculate, const PyConfig *config)
if (!calculate->exec_prefix) {
return DECODE_LOCALE_ERR("EXEC_PREFIX define", len);
}
- calculate->lib_python = Py_DecodeLocale("lib/python" VERSION, &len);
+ calculate->lib_python = Py_DecodeLocale("lib64/python" VERSION, &len);
if (!calculate->lib_python) {
return DECODE_LOCALE_ERR("EXEC_PREFIX define", len);
}
diff --git a/configure b/configure
index a979363acf..b89ae1be3c 100755
--- a/configure
+++ b/configure
@@ -15188,9 +15188,9 @@ fi
if test x$PLATFORM_TRIPLET = x; then
- LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}"
+ LIBPL='$(prefix)'"/lib64/python${VERSION}/config-${LDVERSION}"
else
- LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}"
+ LIBPL='$(prefix)'"/lib64/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}"
fi
diff --git a/configure.ac b/configure.ac
index e57ef7c38b..c59cbc223f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4674,9 +4674,9 @@ fi
dnl define LIBPL after ABIFLAGS and LDVERSION is defined.
AC_SUBST(PY_ENABLE_SHARED)
if test x$PLATFORM_TRIPLET = x; then
- LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}"
+ LIBPL='$(prefix)'"/lib64/python${VERSION}/config-${LDVERSION}"
else
- LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}"
+ LIBPL='$(prefix)'"/lib64/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}"
fi
AC_SUBST(LIBPL)
diff --git a/setup.py b/setup.py
index 20d7f35652..024a1035c0 100644
--- a/setup.py
+++ b/setup.py
@@ -649,7 +649,7 @@ class PyBuildExt(build_ext):
# directories (i.e. '.' and 'Include') must be first. See issue
# 10520.
if not CROSS_COMPILING:
- add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
+ add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib64')
add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
# only change this for cross builds for 3.3, issues on Mageia
if CROSS_COMPILING:
@@ -953,11 +953,11 @@ class PyBuildExt(build_ext):
elif curses_library:
readline_libs.append(curses_library)
elif self.compiler.find_library_file(self.lib_dirs +
- ['/usr/lib/termcap'],
+ ['/usr/lib64/termcap'],
'termcap'):
readline_libs.append('termcap')
self.add(Extension('readline', ['readline.c'],
- library_dirs=['/usr/lib/termcap'],
+ library_dirs=['/usr/lib64/termcap'],
extra_link_args=readline_extra_link_args,
libraries=readline_libs))
else:
--
2.24.1

78
00111-no-static-lib.patch Normal file
View File

@ -0,0 +1,78 @@
From fb93392b0f4975a02775a608611dc9ceb20c06ad Mon Sep 17 00:00:00 2001
From: David Malcolm <dmalcolm@redhat.com>
Date: Mon, 18 Jan 2010 17:59:07 +0000
Subject: [PATCH] 00111: Don't try to build a libpythonMAJOR.MINOR.a
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Downstream only: not appropriate for upstream.
See https://bugzilla.redhat.com/show_bug.cgi?id=556092
Co-authored-by: David Malcolm <dmalcolm@redhat.com>
Co-authored-by: Bohuslav Kabrda <bkabrda@redhat.com>
Co-authored-by: Matej Stuchlik <mstuchli@redhat.com>
Co-authored-by: Robert Kuska <rkuska@redhat.com>
Co-authored-by: Charalampos Stratakis <cstratak@redhat.com>
Co-authored-by: Miro Hrončok <miro@hroncok.cz>
---
Makefile.pre.in | 21 ++-------------------
1 file changed, 2 insertions(+), 19 deletions(-)
diff --git a/Makefile.pre.in b/Makefile.pre.in
index 406a441082..917303dd92 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -562,7 +562,7 @@ clinic: check-clean-src $(srcdir)/Modules/_blake2/blake2s_impl.c
$(PYTHON_FOR_REGEN) $(srcdir)/Tools/clinic/clinic.py --make --srcdir $(srcdir)
# Build the interpreter
-$(BUILDPYTHON): Programs/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
+$(BUILDPYTHON): Programs/python.o $(LDLIBRARY) $(PY3LIBRARY)
$(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS)
platform: $(BUILDPYTHON) pybuilddir.txt
@@ -610,12 +610,6 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o
_TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \
$(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
-
-# Build static library
-$(LIBRARY): $(LIBRARY_OBJS)
- -rm -f $@
- $(AR) $(ARFLAGS) $@ $(LIBRARY_OBJS)
-
libpython$(LDVERSION).so: $(LIBRARY_OBJS) $(DTRACE_OBJS)
if test $(INSTSONAME) != $(LDLIBRARY); then \
$(BLDSHARED) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM); \
@@ -693,7 +687,7 @@ Makefile Modules/config.c: Makefile.pre \
@echo "The Makefile was updated, you may need to re-run make."
-Programs/_testembed: Programs/_testembed.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
+Programs/_testembed: Programs/_testembed.o $(LDLIBRARY) $(PY3LIBRARY)
$(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/_testembed.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS)
############################################################################
@@ -1557,17 +1551,6 @@ libainstall: @DEF_MAKE_RULE@ python-config
else true; \
fi; \
done
- @if test -d $(LIBRARY); then :; else \
- if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \
- if test "$(SHLIB_SUFFIX)" = .dll; then \
- $(INSTALL_DATA) $(LDLIBRARY) $(DESTDIR)$(LIBPL) ; \
- else \
- $(INSTALL_DATA) $(LIBRARY) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \
- fi; \
- else \
- echo Skip install of $(LIBRARY) - use make frameworkinstall; \
- fi; \
- fi
$(INSTALL_DATA) Modules/config.c $(DESTDIR)$(LIBPL)/config.c
$(INSTALL_DATA) Programs/python.o $(DESTDIR)$(LIBPL)/python.o
$(INSTALL_DATA) $(srcdir)/Modules/config.c.in $(DESTDIR)$(LIBPL)/config.c.in
--
2.24.1

View File

@ -0,0 +1,70 @@
From 72d6cb277804f58b660bf96d8f5efff78d88491c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
Date: Wed, 15 Aug 2018 15:36:29 +0200
Subject: [PATCH] 00189: Instead of bundled wheels, use our RPM packaged wheels
We keep them in /usr/share/python-wheels
---
Lib/ensurepip/__init__.py | 32 ++++++++++++++++++++++----------
1 file changed, 22 insertions(+), 10 deletions(-)
diff --git a/Lib/ensurepip/__init__.py b/Lib/ensurepip/__init__.py
index fc0edec6e3..731817a3f0 100644
--- a/Lib/ensurepip/__init__.py
+++ b/Lib/ensurepip/__init__.py
@@ -1,16 +1,31 @@
+import distutils.version
+import glob
import os
import os.path
-import pkgutil
import sys
import tempfile
__all__ = ["version", "bootstrap"]
+_WHEEL_DIR = "/usr/share/python-wheels/"
-_SETUPTOOLS_VERSION = "41.2.0"
+_wheels = {}
-_PIP_VERSION = "19.2.3"
+def _get_most_recent_wheel_version(pkg):
+ prefix = os.path.join(_WHEEL_DIR, "{}-".format(pkg))
+ _wheels[pkg] = {}
+ for suffix in "-py2.py3-none-any.whl", "-py3-none-any.whl":
+ pattern = "{}*{}".format(prefix, suffix)
+ for path in glob.glob(pattern):
+ version_str = path[len(prefix):-len(suffix)]
+ _wheels[pkg][version_str] = os.path.basename(path)
+ return str(max(_wheels[pkg], key=distutils.version.LooseVersion))
+
+
+_SETUPTOOLS_VERSION = _get_most_recent_wheel_version("setuptools")
+
+_PIP_VERSION = _get_most_recent_wheel_version("pip")
_PROJECTS = [
("setuptools", _SETUPTOOLS_VERSION),
@@ -95,13 +110,10 @@ def _bootstrap(*, root=None, upgrade=False, user=False,
# additional paths that need added to sys.path
additional_paths = []
for project, version in _PROJECTS:
- wheel_name = "{}-{}-py2.py3-none-any.whl".format(project, version)
- whl = pkgutil.get_data(
- "ensurepip",
- "_bundled/{}".format(wheel_name),
- )
- with open(os.path.join(tmpdir, wheel_name), "wb") as fp:
- fp.write(whl)
+ wheel_name = _wheels[project][version]
+ with open(os.path.join(_WHEEL_DIR, wheel_name), "rb") as sfp:
+ with open(os.path.join(tmpdir, wheel_name), "wb") as fp:
+ fp.write(sfp.read())
additional_paths.append(os.path.join(tmpdir, wheel_name))
--
2.24.1

View File

@ -0,0 +1,64 @@
From a1f0ea8fae6fb87cdc9d9c16bc0898e8f66fa907 Mon Sep 17 00:00:00 2001
From: Michal Cyprian <m.cyprian@gmail.com>
Date: Mon, 26 Jun 2017 16:32:56 +0200
Subject: [PATCH] 00251: Change user install location
Set values of prefix and exec_prefix in distutils install command
to /usr/local if executable is /usr/bin/python* and RPM build
is not detected to make pip and distutils install into separate location.
Fedora Change: https://fedoraproject.org/wiki/Changes/Making_sudo_pip_safe
---
Lib/distutils/command/install.py | 15 +++++++++++++--
Lib/site.py | 9 ++++++++-
2 files changed, 21 insertions(+), 3 deletions(-)
diff --git a/Lib/distutils/command/install.py b/Lib/distutils/command/install.py
index ae4f915669..0e4fd5b74a 100644
--- a/Lib/distutils/command/install.py
+++ b/Lib/distutils/command/install.py
@@ -418,8 +418,19 @@ class install(Command):
raise DistutilsOptionError(
"must not supply exec-prefix without prefix")
- self.prefix = os.path.normpath(sys.prefix)
- self.exec_prefix = os.path.normpath(sys.exec_prefix)
+ # self.prefix is set to sys.prefix + /local/
+ # if neither RPM build nor virtual environment is
+ # detected to make pip and distutils install packages
+ # into the separate location.
+ if (not (hasattr(sys, 'real_prefix') or
+ sys.prefix != sys.base_prefix) and
+ 'RPM_BUILD_ROOT' not in os.environ):
+ addition = "/local"
+ else:
+ addition = ""
+
+ self.prefix = os.path.normpath(sys.prefix) + addition
+ self.exec_prefix = os.path.normpath(sys.exec_prefix) + addition
else:
if self.exec_prefix is None:
diff --git a/Lib/site.py b/Lib/site.py
index 22d53fa562..9513526109 100644
--- a/Lib/site.py
+++ b/Lib/site.py
@@ -348,7 +348,14 @@ def getsitepackages(prefixes=None):
return sitepackages
def addsitepackages(known_paths, prefixes=None):
- """Add site-packages to sys.path"""
+ """Add site-packages to sys.path
+
+ '/usr/local' is included in PREFIXES if RPM build is not detected
+ to make packages installed into this location visible.
+
+ """
+ if ENABLE_USER_SITE and 'RPM_BUILD_ROOT' not in os.environ:
+ PREFIXES.insert(0, "/usr/local")
for sitedir in getsitepackages(prefixes):
if os.path.isdir(sitedir):
addsitedir(sitedir, known_paths)
--
2.24.1

View File

@ -0,0 +1,86 @@
From b60a8fee7e91e36b48a2ea27d1bb9f42642c3eb2 Mon Sep 17 00:00:00 2001
From: Petr Viktorin <pviktori@redhat.com>
Date: Mon, 28 Aug 2017 17:16:46 +0200
Subject: [PATCH] 00274: Upstream uses Debian-style architecture naming, change
to match Fedora
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Co-authored-by: Petr Viktorin <pviktori@redhat.com>
Co-authored-by: Miro Hrončok <miro@hroncok.cz>
Co-authored-by: Tomas Orsava <torsava@redhat.com>
---
config.sub | 2 +-
configure.ac | 16 ++++++++--------
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/config.sub b/config.sub
index ba37cf99e2..52a9ec6662 100755
--- a/config.sub
+++ b/config.sub
@@ -1042,7 +1042,7 @@ case $basic_machine in
;;
ppc64) basic_machine=powerpc64-unknown
;;
- ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
ppc64le | powerpc64little)
basic_machine=powerpc64le-unknown
diff --git a/configure.ac b/configure.ac
index c59cbc223f..a3e1c04e1b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -747,9 +747,9 @@ cat >> conftest.c <<EOF
alpha-linux-gnu
# elif defined(__ARM_EABI__) && defined(__ARM_PCS_VFP)
# if defined(__ARMEL__)
- arm-linux-gnueabihf
+ arm-linux-gnueabi
# else
- armeb-linux-gnueabihf
+ armeb-linux-gnueabi
# endif
# elif defined(__ARM_EABI__) && !defined(__ARM_PCS_VFP)
# if defined(__ARMEL__)
@@ -789,7 +789,7 @@ cat >> conftest.c <<EOF
# elif _MIPS_SIM == _ABIN32
mips64el-linux-gnuabin32
# elif _MIPS_SIM == _ABI64
- mips64el-linux-gnuabi64
+ mips64el-linux-gnu
# else
# error unknown platform triplet
# endif
@@ -799,22 +799,22 @@ cat >> conftest.c <<EOF
# elif _MIPS_SIM == _ABIN32
mips64-linux-gnuabin32
# elif _MIPS_SIM == _ABI64
- mips64-linux-gnuabi64
+ mips64-linux-gnu
# else
# error unknown platform triplet
# endif
# elif defined(__or1k__)
or1k-linux-gnu
# elif defined(__powerpc__) && defined(__SPE__)
- powerpc-linux-gnuspe
+ ppc-linux-gnuspe
# elif defined(__powerpc64__)
# if defined(__LITTLE_ENDIAN__)
- powerpc64le-linux-gnu
+ ppc64le-linux-gnu
# else
- powerpc64-linux-gnu
+ ppc64-linux-gnu
# endif
# elif defined(__powerpc__)
- powerpc-linux-gnu
+ ppc-linux-gnu
# elif defined(__s390x__)
s390x-linux-gnu
# elif defined(__s390__)
--
2.24.1

View File

@ -0,0 +1,55 @@
From 0d41a311e805af08637e3f6dc0fb6fae32e508ab Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
Date: Thu, 11 Jul 2019 13:44:13 +0200
Subject: [PATCH] 00328: Restore pyc to TIMESTAMP invalidation mode as default
in rpmbuild
Since Fedora 31, the $SOURCE_DATE_EPOCH is set in rpmbuild to the latest
%changelog date. This makes Python default to the CHECKED_HASH pyc
invalidation mode, bringing more reproducible builds traded for an import
performance decrease. To avoid that, we don't default to CHECKED_HASH
when $RPM_BUILD_ROOT is set (i.e. when we are building RPM packages).
See https://src.fedoraproject.org/rpms/redhat-rpm-config/pull-request/57#comment-27426
---
Lib/py_compile.py | 3 ++-
Lib/test/test_py_compile.py | 2 ++
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/Lib/py_compile.py b/Lib/py_compile.py
index 21736896af..310bed5620 100644
--- a/Lib/py_compile.py
+++ b/Lib/py_compile.py
@@ -70,7 +70,8 @@ class PycInvalidationMode(enum.Enum):
def _get_default_invalidation_mode():
- if os.environ.get('SOURCE_DATE_EPOCH'):
+ if (os.environ.get('SOURCE_DATE_EPOCH') and not
+ os.environ.get('RPM_BUILD_ROOT')):
return PycInvalidationMode.CHECKED_HASH
else:
return PycInvalidationMode.TIMESTAMP
diff --git a/Lib/test/test_py_compile.py b/Lib/test/test_py_compile.py
index d4a68c9320..ed09874023 100644
--- a/Lib/test/test_py_compile.py
+++ b/Lib/test/test_py_compile.py
@@ -17,6 +17,7 @@ def without_source_date_epoch(fxn):
def wrapper(*args, **kwargs):
with support.EnvironmentVarGuard() as env:
env.unset('SOURCE_DATE_EPOCH')
+ env.unset('RPM_BUILD_ROOT')
return fxn(*args, **kwargs)
return wrapper
@@ -27,6 +28,7 @@ def with_source_date_epoch(fxn):
def wrapper(*args, **kwargs):
with support.EnvironmentVarGuard() as env:
env['SOURCE_DATE_EPOCH'] = '123456789'
+ env.unset('RPM_BUILD_ROOT')
return fxn(*args, **kwargs)
return wrapper
--
2.24.1

View File

@ -1,21 +0,0 @@
# Makefile for source rpm: python3
# $Id$
NAME := python3
SPECFILE = $(firstword $(wildcard *.spec))
define find-makefile-common
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
endef
MAKEFILE_COMMON := $(shell $(find-makefile-common))
ifeq ($(MAKEFILE_COMMON),)
# attept a checkout
define checkout-makefile-common
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
endef
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
endif
include $(MAKEFILE_COMMON)

View File

@ -1,20 +0,0 @@
diff -up Python-3.1.1/Lib/distutils/unixccompiler.py.rpath Python-3.1.1/Lib/distutils/unixccompiler.py
--- Python-3.1.1/Lib/distutils/unixccompiler.py.rpath 2009-09-04 17:29:34.000000000 -0400
+++ Python-3.1.1/Lib/distutils/unixccompiler.py 2009-09-04 17:49:54.000000000 -0400
@@ -141,6 +141,16 @@ class UnixCCompiler(CCompiler):
if sys.platform == "cygwin":
exe_extension = ".exe"
+ def _fix_lib_args(self, libraries, library_dirs, runtime_library_dirs):
+ """Remove standard library path from rpath"""
+ libraries, library_dirs, runtime_library_dirs = super(
+ self.__class__, self)._fix_lib_args(libraries, library_dirs,
+ runtime_library_dirs)
+ libdir = sysconfig.get_config_var('LIBDIR')
+ if runtime_library_dirs and (libdir in runtime_library_dirs):
+ runtime_library_dirs.remove(libdir)
+ return libraries, library_dirs, runtime_library_dirs
+
def preprocess(self, source, output_file=None, macros=None,
include_dirs=None, extra_preargs=None, extra_postargs=None):
fixed_args = self._fix_compile_args(None, macros, include_dirs)

55
check-pyc-timestamps.py Normal file
View File

@ -0,0 +1,55 @@
"""Checks if all *.pyc files have later mtime than their *.py files."""
import os
import sys
from importlib.util import cache_from_source
from pathlib import Path
RPM_BUILD_ROOT = os.environ.get('RPM_BUILD_ROOT', '')
# ...cpython-3X.pyc
# ...cpython-3X.opt-1.pyc
# ...cpython-3X.opt-2.pyc
LEVELS = (None, 1, 2)
# list of globs of test and other files that we expect not to have bytecode
not_compiled = [
'/usr/bin/*',
'*/test/bad_coding.py',
'*/test/bad_coding2.py',
'*/test/badsyntax_*.py',
'*/lib2to3/tests/data/bom.py',
'*/lib2to3/tests/data/crlf.py',
'*/lib2to3/tests/data/different_encoding.py',
'*/lib2to3/tests/data/false_encoding.py',
'*/lib2to3/tests/data/py2_test_grammar.py',
'*.debug-gdb.py',
]
def bytecode_expected(path):
path = Path(path[len(RPM_BUILD_ROOT):])
for glob in not_compiled:
if path.match(glob):
return False
return True
failed = 0
compiled = (path for path in sys.argv[1:] if bytecode_expected(path))
for path in compiled:
to_check = (cache_from_source(path, optimization=opt) for opt in LEVELS)
f_mtime = os.path.getmtime(path)
for pyc in to_check:
c_mtime = os.path.getmtime(pyc)
if c_mtime < f_mtime:
print('Failed bytecompilation timestamps check: '
f'Bytecode file {pyc} is older than source file {path}',
file=sys.stderr)
failed += 1
if failed:
print(f'\n{failed} files failed bytecompilation timestamps check.',
file=sys.stderr)
sys.exit(1)

View File

@ -1,14 +0,0 @@
#!/bin/bash
# The standard /usr/lib/rpm/find-provides script
# adds provides lines for all SONAME directives in all shared libraries,
# even if those libraries are not in the LD_LIBRARY_PATH
# This leads to the rpm having a redundant Provides "foo.so" for all of the
# various foo.so Python c modules
# So we strip out all /usr/lib/python lines first, before running them through
# the standard script:
grep -v "/usr/lib/python" | /usr/lib/rpm/find-provides
exit 0

35
idle3.appdata.xml Normal file
View File

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2017 Zbigniew Jędrzejewski-Szmek -->
<application>
<id type="desktop">idle3.desktop</id>
<name>IDLE3</name>
<metadata_licence>CC0</metadata_licence>
<project_license>Python-2.0</project_license>
<summary>Python 3 Integrated Development and Learning Environment</summary>
<description>
<p>
IDLE is Pythons Integrated Development and Learning Environment.
The GUI is uniform between Windows, Unix, and Mac OS X.
IDLE provides an easy way to start writing, running, and debugging
Python code.
</p>
<p>
IDLE is written in pure Python, and uses the tkinter GUI toolkit.
It provides:
</p>
<ul>
<li>a Python shell window (interactive interpreter) with colorizing of code input, output, and error messages,</li>
<li>a multi-window text editor with multiple undo, Python colorizing, smart indent, call tips, auto completion, and other features,</li>
<li>search within any window, replace within editor windows, and search through multiple files (grep),</li>
<li>a debugger with persistent breakpoints, stepping, and viewing of global and local namespaces.</li>
</ul>
</description>
<url type="homepage">https://docs.python.org/3/library/idle.html</url>
<screenshots>
<screenshot type="default">http://in.waw.pl/~zbyszek/fedora/idle3-appdata/idle3-main-window.png</screenshot>
<screenshot>http://in.waw.pl/~zbyszek/fedora/idle3-appdata/idle3-class-browser.png</screenshot>
<screenshot>http://in.waw.pl/~zbyszek/fedora/idle3-appdata/idle3-code-viewer.png</screenshot>
</screenshots>
<update_contact>zbyszek@in.waw.pl</update_contact>
</application>

11
idle3.desktop Normal file
View File

@ -0,0 +1,11 @@
[Desktop Entry]
Version=1.0
Name=IDLE 3
Comment=Python 3 Integrated Development and Learning Environment
Exec=idle3 %F
TryExec=idle3
Terminal=false
Type=Application
Icon=idle3
Categories=Development;IDE;
MimeType=text/x-python;

View File

@ -1 +0,0 @@
python3-3_1_1-13_fc12:HEAD:python3-3.1.1-13.fc12.src.rpm:1263417721

View File

@ -1,17 +0,0 @@
/* Systemtap tapset to make it easier to trace Python */
/*
Define python.function.entry/return:
*/
probe python.function.entry = process("python3").library("LIBRARY_PATH").mark("function__entry")
{
filename = user_string($arg1);
funcname = user_string($arg2);
lineno = $arg3;
}
probe python.function.return = process("python3").library("LIBRARY_PATH").mark("function__return")
{
filename = user_string($arg1);
funcname = user_string($arg2);
lineno = $arg3;
}

View File

@ -1,12 +0,0 @@
# Note that the path could itself be a python file, or a directory
# Python's compile_all module only works on directories, and requires a max
# recursion depth
%py_byte_compile()\
python_binary="%1"\
bytecode_compilation_path="%2"\
find $bytecode_compilation_path -type f -a -name "*.py" -print0 | xargs -0 $python_binary -c 'import py_compile, sys; [py_compile.compile(f, dfile=f.partition("$RPM_BUILD_ROOT")[2]) for f in sys.argv[1:]]' || :\
\
find $bytecode_compilation_path -type f -a -name "*.py" -print0 | xargs -0 $python_binary -O -c 'import py_compile, sys; [py_compile.compile(f, dfile=f.partition("$RPM_BUILD_ROOT")[2]) for f in sys.argv[1:]]' || :\
%{nil}

View File

@ -1,4 +0,0 @@
%__python3 /usr/bin/python3
%python3_sitelib %(%{__python3} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")
%python3_sitearch %(%{__python3} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")
%py3dir %{_builddir}/python3-%{name}-%{version}-%{release}

11542
pubkeys.txt Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,21 +0,0 @@
#!/usr/bin/stap
global fn_calls;
probe python.function.entry
{
fn_calls[pid(), filename, funcname, lineno] += 1;
}
probe timer.ms(1000) {
printf("\033[2J\033[1;1H") /* clear screen */
printf("%6s %80s %6s %30s %6s\n",
"PID", "FILENAME", "LINE", "FUNCTION", "CALLS")
foreach ([pid, filename, funcname, lineno] in fn_calls- limit 20) {
printf("%6d %80s %6d %30s %6d\n",
pid, filename, lineno, funcname,
fn_calls[pid, filename, funcname, lineno]);
}
delete fn_calls;
}

View File

@ -1,11 +0,0 @@
--- Python-3.1.1/Lib/test/test_imp.py.apply-our-changes-to-expected-shebang 2009-10-27 18:05:53.539540149 -0400
+++ Python-3.1.1/Lib/test/test_imp.py 2009-10-27 18:06:12.138538965 -0400
@@ -52,7 +52,7 @@ class ImportTests(unittest.TestCase):
self.assertNotEqual(fp, None)
self.assertEqual(fp.encoding, "iso-8859-1")
self.assertEqual(fp.tell(), 0)
- self.assertEqual(fp.readline(), '#!/usr/bin/env python\n')
+ self.assertEqual(fp.readline(), '#!/usr/bin/python3.1\n')
fp.close()
fp, filename, info = imp.find_module("tokenize")

View File

@ -1,226 +0,0 @@
diff -up Python-3.1.1/Modules/Setup.dist.config Python-3.1.1/Modules/Setup.dist
--- Python-3.1.1/Modules/Setup.dist.config 2009-06-04 05:30:30.000000000 -0400
+++ Python-3.1.1/Modules/Setup.dist 2010-01-25 23:08:55.179858352 -0500
@@ -141,7 +141,7 @@ _symtable symtablemodule.c
# modules are to be built as shared libraries (see above for more
# detail; also note that *static* reverses this effect):
-#*shared*
+*shared*
# GNU readline. Unlike previous Python incarnations, GNU readline is
# now incorporated in an optional module, configured in the Setup file
@@ -151,71 +151,71 @@ _symtable symtablemodule.c
# it, depending on your system -- see the GNU readline instructions.
# It's okay for this to be a shared library, too.
-#readline readline.c -lreadline -ltermcap
+readline readline.c -lreadline -ltermcap
# Modules that should always be present (non UNIX dependent):
-#array arraymodule.c # array objects
-#cmath cmathmodule.c # -lm # complex math library functions
-#math mathmodule.c # -lm # math library functions, e.g. sin()
-#_struct _struct.c # binary structure packing/unpacking
-#time timemodule.c # -lm # time operations and variables
-#operator operator.c # operator.add() and similar goodies
-#_weakref _weakref.c # basic weak reference support
-#_testcapi _testcapimodule.c # Python C API test module
-#_random _randommodule.c # Random number generator
-#_collections _collectionsmodule.c # Container types
-#itertools itertoolsmodule.c # Functions creating iterators for efficient looping
-#atexit atexitmodule.c # Register functions to be run at interpreter-shutdown
+array arraymodule.c # array objects
+cmath cmathmodule.c # -lm # complex math library functions
+math mathmodule.c # -lm # math library functions, e.g. sin()
+_struct _struct.c # binary structure packing/unpacking
+time timemodule.c # -lm # time operations and variables
+operator operator.c # operator.add() and similar goodies
+_weakref _weakref.c # basic weak reference support
+_testcapi _testcapimodule.c # Python C API test module
+_random _randommodule.c # Random number generator
+_collections _collectionsmodule.c # Container types
+itertools itertoolsmodule.c # Functions creating iterators for efficient looping
+atexit atexitmodule.c # Register functions to be run at interpreter-shutdown
#_elementtree -I$(srcdir)/Modules/expat -DHAVE_EXPAT_CONFIG_H -DUSE_PYEXPAT_CAPI _elementtree.c # elementtree accelerator
-#_pickle _pickle.c # pickle accelerator
+_pickle _pickle.c # pickle accelerator
#datetime datetimemodule.c # date/time type
-#_bisect _bisectmodule.c # Bisection algorithms
-#_heapq _heapqmodule.c # Heap queue algorithm
+_bisect _bisectmodule.c # Bisection algorithms
+_heapq _heapqmodule.c # Heap queue algorithm
-#unicodedata unicodedata.c # static Unicode character database
+unicodedata unicodedata.c # static Unicode character database
# Modules with some UNIX dependencies -- on by default:
# (If you have a really backward UNIX, select and socket may not be
# supported...)
-#fcntl fcntlmodule.c # fcntl(2) and ioctl(2)
-#spwd spwdmodule.c # spwd(3)
-#grp grpmodule.c # grp(3)
-#select selectmodule.c # select(2); not on ancient System V
+fcntl fcntlmodule.c # fcntl(2) and ioctl(2)
+spwd spwdmodule.c # spwd(3)
+grp grpmodule.c # grp(3)
+select selectmodule.c # select(2); not on ancient System V
# Memory-mapped files (also works on Win32).
-#mmap mmapmodule.c
+mmap mmapmodule.c
# CSV file helper
-#_csv _csv.c
+_csv _csv.c
# Socket module helper for socket(2)
-#_socket socketmodule.c
+_socket socketmodule.c
# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
#SSL=/usr/local/ssl
-#_ssl _ssl.c \
-# -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-# -L$(SSL)/lib -lssl -lcrypto
+_ssl _ssl.c \
+ -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
+ -L$(SSL)/lib -lssl -lcrypto
# The crypt module is now disabled by default because it breaks builds
# on many systems (where -lcrypt is needed), e.g. Linux (I believe).
#
# First, look at Setup.config; configure may have set this for you.
-#crypt cryptmodule.c # -lcrypt # crypt(3); needs -lcrypt on some systems
+crypt cryptmodule.c -lcrypt # crypt(3); needs -lcrypt on some systems
# Some more UNIX dependent modules -- off by default, since these
# are not supported by all UNIX systems:
-#nis nismodule.c -lnsl # Sun yellow pages -- not everywhere
-#termios termios.c # Steen Lumholt's termios module
-#resource resource.c # Jeremy Hylton's rlimit interface
+nis nismodule.c -lnsl # Sun yellow pages -- not everywhere
+termios termios.c # Steen Lumholt's termios module
+resource resource.c # Jeremy Hylton's rlimit interface
# Multimedia modules -- off by default.
@@ -223,7 +223,7 @@ _symtable symtablemodule.c
# #993173 says audioop works on 64-bit platforms, though.
# These represent audio samples or images as strings:
-#audioop audioop.c # Operations on audio samples
+audioop audioop.c # Operations on audio samples
# Note that the _md5 and _sha modules are normally only built if the
@@ -238,9 +238,9 @@ _symtable symtablemodule.c
# The _sha module implements the SHA checksum algorithms.
# (NIST's Secure Hash Algorithms.)
-#_sha shamodule.c
-#_sha256 sha256module.c
-#_sha512 sha512module.c
+_sha1 sha1module.c
+_sha256 sha256module.c
+_sha512 sha512module.c
# The _tkinter module.
@@ -255,7 +255,7 @@ _symtable symtablemodule.c
# every system.
# *** Always uncomment this (leave the leading underscore in!):
-# _tkinter _tkinter.c tkappinit.c -DWITH_APPINIT \
+_tkinter _tkinter.c tkappinit.c -DWITH_APPINIT \
# *** Uncomment and edit to reflect where your Tcl/Tk libraries are:
# -L/usr/local/lib \
# *** Uncomment and edit to reflect where your Tcl/Tk headers are:
@@ -265,7 +265,7 @@ _symtable symtablemodule.c
# *** Or uncomment this for Solaris:
# -I/usr/openwin/include \
# *** Uncomment and edit for Tix extension only:
-# -DWITH_TIX -ltix8.1.8.2 \
+ -DWITH_TIX -ltix \
# *** Uncomment and edit for BLT extension only:
# -DWITH_BLT -I/usr/local/blt/blt8.0-unoff/include -lBLT8.0 \
# *** Uncomment and edit for PIL (TkImaging) extension only:
@@ -274,7 +274,7 @@ _symtable symtablemodule.c
# *** Uncomment and edit for TOGL extension only:
# -DWITH_TOGL togl.c \
# *** Uncomment and edit to reflect your Tcl/Tk versions:
-# -ltk8.2 -ltcl8.2 \
+ -ltk -ltcl \
# *** Uncomment and edit to reflect where your X11 libraries are:
# -L/usr/X11R6/lib \
# *** Or uncomment this for Solaris:
@@ -284,10 +284,10 @@ _symtable symtablemodule.c
# *** Uncomment for AIX:
# -lld \
# *** Always uncomment this; X11 libraries to link with:
-# -lX11
+ -lX11
# Lance Ellinghaus's syslog module
-#syslog syslogmodule.c # syslog daemon interface
+syslog syslogmodule.c # syslog daemon interface
# Curses support, requring the System V version of curses, often
@@ -321,14 +321,14 @@ _symtable symtablemodule.c
#
# First, look at Setup.config; configure may have set this for you.
-#_gdbm _gdbmmodule.c -I/usr/local/include -L/usr/local/lib -lgdbm
+_gdbm _gdbmmodule.c -I/usr/local/include -L/usr/local/lib -lgdbm
# Helper module for various ascii-encoders
-#binascii binascii.c
+binascii binascii.c
# Fred Drake's interface to the Python parser
-#parser parsermodule.c
+parser parsermodule.c
# Lee Busby's SIGFPE modules.
@@ -351,7 +351,7 @@ _symtable symtablemodule.c
# Andrew Kuchling's zlib module.
# This require zlib 1.1.3 (or later).
# See http://www.gzip.org/zlib/
-#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
+zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
# Interface to the Expat XML parser
#
@@ -369,14 +369,14 @@ _symtable symtablemodule.c
# Hye-Shik Chang's CJKCodecs
# multibytecodec is required for all the other CJK codec modules
-#_multibytecodec cjkcodecs/multibytecodec.c
+_multibytecodec cjkcodecs/multibytecodec.c
-#_codecs_cn cjkcodecs/_codecs_cn.c
-#_codecs_hk cjkcodecs/_codecs_hk.c
-#_codecs_iso2022 cjkcodecs/_codecs_iso2022.c
-#_codecs_jp cjkcodecs/_codecs_jp.c
-#_codecs_kr cjkcodecs/_codecs_kr.c
-#_codecs_tw cjkcodecs/_codecs_tw.c
+_codecs_cn cjkcodecs/_codecs_cn.c
+_codecs_hk cjkcodecs/_codecs_hk.c
+_codecs_iso2022 cjkcodecs/_codecs_iso2022.c
+_codecs_jp cjkcodecs/_codecs_jp.c
+_codecs_kr cjkcodecs/_codecs_kr.c
+_codecs_tw cjkcodecs/_codecs_tw.c
# Example -- included for reference only:
# xx xxmodule.c

View File

@ -1,164 +0,0 @@
diff -ur Python-3.1.1.orig/Lib/distutils/command/install.py Python-3.1.1/Lib/distutils/command/install.py
--- Python-3.1.1.orig/Lib/distutils/command/install.py 2009-09-24 15:28:57.000000000 -0600
+++ Python-3.1.1/Lib/distutils/command/install.py 2009-09-24 15:34:18.000000000 -0600
@@ -47,14 +47,14 @@
INSTALL_SCHEMES = {
'unix_prefix': {
'purelib': '$base/lib/python$py_version_short/site-packages',
- 'platlib': '$platbase/lib/python$py_version_short/site-packages',
+ 'platlib': '$platbase/lib64/python$py_version_short/site-packages',
'headers': '$base/include/python$py_version_short/$dist_name',
'scripts': '$base/bin',
'data' : '$base',
},
'unix_home': {
'purelib': '$base/lib/python',
- 'platlib': '$base/lib/python',
+ 'platlib': '$base/lib64/python',
'headers': '$base/include/python/$dist_name',
'scripts': '$base/bin',
'data' : '$base',
diff -ur Python-3.1.1.orig/Lib/distutils/sysconfig.py Python-3.1.1/Lib/distutils/sysconfig.py
--- Python-3.1.1.orig/Lib/distutils/sysconfig.py 2009-09-24 15:29:00.000000000 -0600
+++ Python-3.1.1/Lib/distutils/sysconfig.py 2009-09-24 15:34:18.000000000 -0600
@@ -117,8 +117,12 @@
prefix = plat_specific and EXEC_PREFIX or PREFIX
if os.name == "posix":
+ if plat_specific or standard_lib:
+ lib = "lib64"
+ else:
+ lib = "lib"
libpython = os.path.join(prefix,
- "lib", "python" + get_python_version())
+ lib, "python" + get_python_version())
if standard_lib:
return libpython
else:
diff -ur Python-3.1.1.orig/Lib/site.py Python-3.1.1/Lib/site.py
--- Python-3.1.1.orig/Lib/site.py 2009-09-24 15:28:56.000000000 -0600
+++ Python-3.1.1/Lib/site.py 2009-09-24 15:34:18.000000000 -0600
@@ -258,12 +258,16 @@
if sys.platform in ('os2emx', 'riscos'):
sitedirs.append(os.path.join(prefix, "Lib", "site-packages"))
elif os.sep == '/':
+ sitedirs.append(os.path.join(prefix, "lib64",
+ "python" + sys.version[:3],
+ "site-packages"))
sitedirs.append(os.path.join(prefix, "lib",
"python" + sys.version[:3],
"site-packages"))
sitedirs.append(os.path.join(prefix, "lib", "site-python"))
else:
sitedirs.append(prefix)
+ sitedirs.append(os.path.join(prefix, "lib64", "site-packages"))
sitedirs.append(os.path.join(prefix, "lib", "site-packages"))
if sys.platform == "darwin":
diff -ur Python-3.1.1.orig/Makefile.pre.in Python-3.1.1/Makefile.pre.in
--- Python-3.1.1.orig/Makefile.pre.in 2009-09-24 15:26:58.000000000 -0600
+++ Python-3.1.1/Makefile.pre.in 2009-09-24 15:34:18.000000000 -0600
@@ -90,11 +90,11 @@
# Expanded directories
BINDIR= $(exec_prefix)/bin
-LIBDIR= $(exec_prefix)/lib
+LIBDIR= $(exec_prefix)/lib64
MANDIR= @mandir@
INCLUDEDIR= @includedir@
CONFINCLUDEDIR= $(exec_prefix)/include
-SCRIPTDIR= $(prefix)/lib
+SCRIPTDIR= $(prefix)/lib64
# Detailed destination directories
BINLIBDEST= $(LIBDIR)/python$(VERSION)
diff -ur Python-3.1.1.orig/Modules/getpath.c Python-3.1.1/Modules/getpath.c
--- Python-3.1.1.orig/Modules/getpath.c 2009-09-24 15:27:15.000000000 -0600
+++ Python-3.1.1/Modules/getpath.c 2009-09-24 15:36:58.000000000 -0600
@@ -117,8 +117,8 @@
#endif
#ifndef PYTHONPATH
-#define PYTHONPATH PREFIX "/lib/python" VERSION ":" \
- EXEC_PREFIX "/lib/python" VERSION "/lib-dynload"
+#define PYTHONPATH PREFIX "/lib64/python" VERSION ":" \
+ EXEC_PREFIX "/lib64/python" VERSION "/lib-dynload"
#endif
#ifndef LANDMARK
@@ -129,7 +129,7 @@
static wchar_t exec_prefix[MAXPATHLEN+1];
static wchar_t progpath[MAXPATHLEN+1];
static wchar_t *module_search_path = NULL;
-static wchar_t lib_python[] = L"lib/python" VERSION;
+static wchar_t lib_python[] = L"lib64/python" VERSION;
/* In principle, this should use HAVE__WSTAT, and _wstat
should be detected by autoconf. However, no current
@@ -603,7 +603,7 @@
}
else
wcsncpy(zip_path, L"" PREFIX, MAXPATHLEN);
- joinpath(zip_path, L"lib/python00.zip");
+ joinpath(zip_path, L"lib64/python00.zip");
bufsz = wcslen(zip_path); /* Replace "00" with version */
zip_path[bufsz - 6] = VERSION[0];
zip_path[bufsz - 5] = VERSION[2];
@@ -613,7 +613,7 @@
fprintf(stderr,
"Could not find platform dependent libraries <exec_prefix>\n");
wcsncpy(exec_prefix, L"" EXEC_PREFIX, MAXPATHLEN);
- joinpath(exec_prefix, L"lib/lib-dynload");
+ joinpath(exec_prefix, L"lib64/lib-dynload");
}
/* If we found EXEC_PREFIX do *not* reduce it! (Yet.) */
diff -ur Python-3.1.1.orig/Modules/Setup.dist Python-3.1.1/Modules/Setup.dist
--- Python-3.1.1.orig/Modules/Setup.dist 2009-09-24 15:27:30.000000000 -0600
+++ Python-3.1.1/Modules/Setup.dist 2009-09-24 15:45:49.000000000 -0600
@@ -351,7 +351,7 @@
# Andrew Kuchling's zlib module.
# This require zlib 1.1.3 (or later).
# See http://www.gzip.org/zlib/
-zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
+zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib64 -lz
# Interface to the Expat XML parser
#
diff -ur Python-3.1.1.orig/setup.py Python-3.1.1/setup.py
--- Python-3.1.1.orig/setup.py 2009-09-24 15:26:58.000000000 -0600
+++ Python-3.1.1/setup.py 2009-09-24 15:34:18.000000000 -0600
@@ -295,7 +295,7 @@
def detect_modules(self):
# Ensure that /usr/local is always used
- add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
+ add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib64')
add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
# Add paths specified in the environment variables LDFLAGS and
@@ -522,11 +522,11 @@
elif self.compiler.find_library_file(lib_dirs, 'curses'):
readline_libs.append('curses')
elif self.compiler.find_library_file(lib_dirs +
- ['/usr/lib/termcap'],
+ ['/usr/lib64/termcap'],
'termcap'):
readline_libs.append('termcap')
exts.append( Extension('readline', ['readline.c'],
- library_dirs=['/usr/lib/termcap'],
+ library_dirs=['/usr/lib64/termcap'],
extra_link_args=readline_extra_link_args,
libraries=readline_libs) )
else:
@@ -563,8 +563,8 @@
if krb5_h:
ssl_incs += krb5_h
ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs,
- ['/usr/local/ssl/lib',
- '/usr/contrib/ssl/lib/'
+ ['/usr/local/ssl/lib64',
+ '/usr/contrib/ssl/lib64/'
] )
if (ssl_incs is not None and

View File

@ -1,50 +0,0 @@
diff -up Python-3.1.1/Makefile.pre.in.no-static-lib Python-3.1.1/Makefile.pre.in
--- Python-3.1.1/Makefile.pre.in.no-static-lib 2010-01-17 15:42:11.945858717 -0500
+++ Python-3.1.1/Makefile.pre.in 2010-01-17 16:44:32.788859363 -0500
@@ -405,7 +405,7 @@ coverage:
# Build the interpreter
-$(BUILDPYTHON): Modules/python.o $(LIBRARY) $(LDLIBRARY)
+$(BUILDPYTHON): Modules/python.o $(LDLIBRARY)
$(LINKCC) $(LDFLAGS) $(LINKFORSHARED) -o $@ \
Modules/python.o \
$(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
@@ -421,18 +421,6 @@ sharedmods: $(BUILDPYTHON)
*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \
esac
-# Build static library
-# avoid long command lines, same as LIBRARY_OBJS
-$(LIBRARY): $(LIBRARY_OBJS)
- -rm -f $@
- $(AR) $(ARFLAGS) $@ Modules/getbuildinfo.o
- $(AR) $(ARFLAGS) $@ $(PARSER_OBJS)
- $(AR) $(ARFLAGS) $@ $(OBJECT_OBJS)
- $(AR) $(ARFLAGS) $@ $(PYTHON_OBJS)
- $(AR) $(ARFLAGS) $@ $(MODULE_OBJS) $(SIGNAL_OBJS)
- $(AR) $(ARFLAGS) $@ $(MODOBJS)
- $(RANLIB) $@
-
libpython$(VERSION).so: $(LIBRARY_OBJS)
if test $(INSTSONAME) != $(LDLIBRARY); then \
$(LDSHARED) $(LDFLAGS) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
@@ -973,18 +961,6 @@ libainstall: all
else true; \
fi; \
done
- @if test -d $(LIBRARY); then :; else \
- if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \
- if test "$(SO)" = .dll; then \
- $(INSTALL_DATA) $(LDLIBRARY) $(DESTDIR)$(LIBPL) ; \
- else \
- $(INSTALL_DATA) $(LIBRARY) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \
- $(RANLIB) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \
- fi; \
- else \
- echo Skip install of $(LIBRARY) - use make frameworkinstall; \
- fi; \
- fi
$(INSTALL_DATA) Modules/config.c $(DESTDIR)$(LIBPL)/config.c
$(INSTALL_DATA) Modules/python.o $(DESTDIR)$(LIBPL)/python.o
$(INSTALL_DATA) $(srcdir)/Modules/config.c.in $(DESTDIR)$(LIBPL)/config.c.in

View File

@ -1,55 +0,0 @@
--- Python-3.1.1/Lib/email/test/test_email.py.remove_mimeaudio_tests 2009-10-27 14:31:09.483539561 -0400
+++ Python-3.1.1/Lib/email/test/test_email.py 2009-10-27 14:31:27.663548053 -0400
@@ -926,52 +926,6 @@ Blah blah blah
-# Test the basic MIMEAudio class
-class TestMIMEAudio(unittest.TestCase):
- def setUp(self):
- # Make sure we pick up the audiotest.au that lives in email/test/data.
- # In Python, there's an audiotest.au living in Lib/test but that isn't
- # included in some binary distros that don't include the test
- # package. The trailing empty string on the .join() is significant
- # since findfile() will do a dirname().
- datadir = os.path.join(os.path.dirname(landmark), 'data', '')
- with open(findfile('audiotest.au', datadir), 'rb') as fp:
- self._audiodata = fp.read()
- self._au = MIMEAudio(self._audiodata)
-
- def test_guess_minor_type(self):
- self.assertEqual(self._au.get_content_type(), 'audio/basic')
-
- def test_encoding(self):
- payload = self._au.get_payload()
- self.assertEqual(base64.decodebytes(payload), self._audiodata)
-
- def test_checkSetMinor(self):
- au = MIMEAudio(self._audiodata, 'fish')
- self.assertEqual(au.get_content_type(), 'audio/fish')
-
- def test_add_header(self):
- eq = self.assertEqual
- unless = self.assertTrue
- self._au.add_header('Content-Disposition', 'attachment',
- filename='audiotest.au')
- eq(self._au['content-disposition'],
- 'attachment; filename="audiotest.au"')
- eq(self._au.get_params(header='content-disposition'),
- [('attachment', ''), ('filename', 'audiotest.au')])
- eq(self._au.get_param('filename', header='content-disposition'),
- 'audiotest.au')
- missing = []
- eq(self._au.get_param('attachment', header='content-disposition'), '')
- unless(self._au.get_param('foo', failobj=missing,
- header='content-disposition') is missing)
- # Try some missing stuff
- unless(self._au.get_param('foobar', missing) is missing)
- unless(self._au.get_param('attachment', missing,
- header='foobar') is missing)
-
-
-
# Test the basic MIMEImage class
class TestMIMEImage(unittest.TestCase):
def setUp(self):

View File

@ -1,322 +0,0 @@
diff -up Python-3.1.1/configure.in.systemtap Python-3.1.1/configure.in
--- Python-3.1.1/configure.in.systemtap 2010-02-12 15:24:34.959845279 -0500
+++ Python-3.1.1/configure.in 2010-02-12 15:24:34.965845345 -0500
@@ -2359,6 +2359,38 @@ then
fi
AC_MSG_RESULT($with_pymalloc)
+# Check for dtrace support
+AC_MSG_CHECKING(for --with-dtrace)
+AC_ARG_WITH(dtrace,
+ AC_HELP_STRING(--with(out)-dtrace, disable/enable dtrace support))
+
+if test ! -z "$with_dtrace"
+then
+ if dtrace -G -o /dev/null -s $srcdir/Include/pydtrace.d 2>/dev/null
+ then
+ AC_DEFINE(WITH_DTRACE, 1,
+ [Define if you want to compile in Dtrace support])
+ with_dtrace="Sun"
+ DTRACEOBJS="Python/dtrace.o"
+ DTRADEHDRS=""
+ elif dtrace -h -o /dev/null -s $srcdir/Include/pydtrace.d
+ then
+ AC_DEFINE(WITH_DTRACE, 1,
+ [Define if you want to compile in Dtrace support])
+ with_dtrace="Apple"
+ DTRACEOBJS=""
+ DTRADEHDRS="pydtrace.h"
+ else
+ with_dtrace="no"
+ fi
+else
+ with_dtrace="no"
+fi
+
+AC_MSG_RESULT($with_dtrace)
+AC_SUBST(DTRACEOBJS)
+AC_SUBST(DTRACEHDRS)
+
# Check for --with-wctype-functions
AC_MSG_CHECKING(for --with-wctype-functions)
AC_ARG_WITH(wctype-functions,
diff -up Python-3.1.1/Include/pydtrace.d.systemtap Python-3.1.1/Include/pydtrace.d
--- Python-3.1.1/Include/pydtrace.d.systemtap 2010-02-12 15:24:34.966844913 -0500
+++ Python-3.1.1/Include/pydtrace.d 2010-02-12 15:24:34.966844913 -0500
@@ -0,0 +1,10 @@
+provider python {
+ probe function__entry(const char *, const char *, int);
+ probe function__return(const char *, const char *, int);
+};
+
+#pragma D attributes Evolving/Evolving/Common provider python provider
+#pragma D attributes Private/Private/Common provider python module
+#pragma D attributes Private/Private/Common provider python function
+#pragma D attributes Evolving/Evolving/Common provider python name
+#pragma D attributes Evolving/Evolving/Common provider python args
diff -up Python-3.1.1/Makefile.pre.in.systemtap Python-3.1.1/Makefile.pre.in
--- Python-3.1.1/Makefile.pre.in.systemtap 2010-02-12 15:24:34.953845073 -0500
+++ Python-3.1.1/Makefile.pre.in 2010-02-12 15:24:34.990844336 -0500
@@ -312,6 +312,7 @@ PYTHON_OBJS= \
Python/dtoa.o \
Python/formatter_unicode.o \
Python/$(DYNLOADFILE) \
+ @DTRACEOBJS@ \
$(LIBOBJS) \
$(MACHDEP_OBJS) \
$(THREADOBJ)
@@ -592,6 +593,18 @@ Python/formatter_unicode.o: $(srcdir)/Py
$(srcdir)/Objects/stringlib/formatter.h
+# Only needed with --with-dtrace
+buildinclude:
+ mkdir -p Include
+
+Include/pydtrace.h: buildinclude $(srcdir)/Include/pydtrace.d
+ dtrace -o $@ $(DFLAGS) -C -h -s $(srcdir)/Include/pydtrace.d
+
+Python/ceval.o: Include/pydtrace.h
+
+Python/dtrace.o: buildinclude $(srcdir)/Include/pydtrace.d Python/ceval.o
+ dtrace -o $@ $(DFLAGS) -C -G -s $(srcdir)/Include/pydtrace.d Python/ceval.o
+
############################################################################
# Header files
@@ -1224,6 +1237,6 @@ Python/thread.o: @THREADHEADERS@
.PHONY: frameworkinstall frameworkinstallframework frameworkinstallstructure
.PHONY: frameworkinstallmaclib frameworkinstallapps frameworkinstallunixtools
.PHONY: frameworkaltinstallunixtools recheck autoconf clean clobber distclean
-.PHONY: smelly funny patchcheck
+.PHONY: smelly funny patchcheck buildinclude
# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff -up Python-3.1.1/pyconfig.h.in.systemtap Python-3.1.1/pyconfig.h.in
--- Python-3.1.1/pyconfig.h.in.systemtap 2009-05-29 13:25:39.000000000 -0400
+++ Python-3.1.1/pyconfig.h.in 2010-02-12 15:24:34.991845511 -0500
@@ -5,6 +5,9 @@
#define Py_PYCONFIG_H
+/* Define if building universal (internal helper macro) */
+#undef AC_APPLE_UNIVERSAL_BUILD
+
/* Define for AIX if your compiler is a genuine IBM xlC/xlC_r and you want
support for AIX C++ shared extension modules. */
#undef AIX_GENUINE_CPLUSPLUS
@@ -995,6 +998,28 @@
/* Define if you want to use computed gotos in ceval.c. */
#undef USE_COMPUTED_GOTOS
+/* Enable extensions on AIX 3, Interix. */
+#ifndef _ALL_SOURCE
+# undef _ALL_SOURCE
+#endif
+/* Enable GNU extensions on systems that have them. */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif
+/* Enable threading extensions on Solaris. */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# undef _POSIX_PTHREAD_SEMANTICS
+#endif
+/* Enable extensions on HP NonStop. */
+#ifndef _TANDEM_SOURCE
+# undef _TANDEM_SOURCE
+#endif
+/* Enable general extensions on Solaris. */
+#ifndef __EXTENSIONS__
+# undef __EXTENSIONS__
+#endif
+
+
/* Define if a va_list is an array of some kind */
#undef VA_LIST_IS_ARRAY
@@ -1011,6 +1036,9 @@
/* Define if you want documentation strings in extension modules */
#undef WITH_DOC_STRINGS
+/* Define if you want to compile in Dtrace support */
+#undef WITH_DTRACE
+
/* Define if you want to use the new-style (Openstep, Rhapsody, MacOS) dynamic
linker (dyld) instead of the old-style (NextStep) dynamic linker (rld).
Dyld is necessary to support frameworks. */
@@ -1032,20 +1060,21 @@
/* Define to profile with the Pentium timestamp counter */
#undef WITH_TSC
-/* Define to 1 if your processor stores words with the most significant byte
- first (like Motorola and SPARC, unlike Intel and VAX). */
-#undef WORDS_BIGENDIAN
+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+ significant byte first (like Motorola and SPARC, unlike Intel). */
+#if defined AC_APPLE_UNIVERSAL_BUILD
+# if defined __BIG_ENDIAN__
+# define WORDS_BIGENDIAN 1
+# endif
+#else
+# ifndef WORDS_BIGENDIAN
+# undef WORDS_BIGENDIAN
+# endif
+#endif
/* Define if arithmetic is subject to x87-style double rounding issue */
#undef X87_DOUBLE_ROUNDING
-/* Define to 1 if on AIX 3.
- System headers sometimes define this.
- We just want to avoid a redefinition error message. */
-#ifndef _ALL_SOURCE
-# undef _ALL_SOURCE
-#endif
-
/* Define on OpenBSD to activate all library features */
#undef _BSD_SOURCE
@@ -1064,15 +1093,25 @@
/* This must be defined on some systems to enable large file support. */
#undef _LARGEFILE_SOURCE
+/* Define to 1 if on MINIX. */
+#undef _MINIX
+
/* Define on NetBSD to activate all library features */
#undef _NETBSD_SOURCE
/* Define _OSF_SOURCE to get the makedev macro. */
#undef _OSF_SOURCE
+/* Define to 2 if the system does not provide POSIX.1 features except with
+ this defined. */
+#undef _POSIX_1_SOURCE
+
/* Define to activate features from IEEE Stds 1003.1-2001 */
#undef _POSIX_C_SOURCE
+/* Define to 1 if you need to in order for `stat' and other things to work. */
+#undef _POSIX_SOURCE
+
/* Define if you have POSIX threads, and your system does not define that. */
#undef _POSIX_THREADS
@@ -1080,12 +1119,12 @@
#undef _REENTRANT
/* Define for Solaris 2.5.1 so the uint32_t typedef from <sys/synch.h>,
- <pthread.h>, or <semaphore.h> is not used. If the typedef was allowed, the
+ <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
#define below would cause a syntax error. */
#undef _UINT32_T
/* Define for Solaris 2.5.1 so the uint64_t typedef from <sys/synch.h>,
- <pthread.h>, or <semaphore.h> is not used. If the typedef was allowed, the
+ <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
#define below would cause a syntax error. */
#undef _UINT64_T
diff -up Python-3.1.1/Python/ceval.c.systemtap Python-3.1.1/Python/ceval.c
--- Python-3.1.1/Python/ceval.c.systemtap 2009-05-30 17:41:10.000000000 -0400
+++ Python-3.1.1/Python/ceval.c 2010-02-12 15:24:54.075844169 -0500
@@ -19,6 +19,10 @@
#include <ctype.h>
+#ifdef WITH_DTRACE
+#include "pydtrace.h"
+#endif
+
#ifndef WITH_TSC
#define READ_TIMESTAMP(var)
@@ -655,6 +659,69 @@ PyEval_EvalCode(PyCodeObject *co, PyObje
NULL, NULL);
}
+#ifdef WITH_DTRACE
+struct frame_marker_info
+{
+ char *filename;
+ char *name;
+ int lineno;
+
+ PyObject *utf8_filename;
+ PyObject *utf8_name;
+};
+
+static void
+get_frame_marker_info(PyFrameObject *f, struct frame_marker_info *fmi)
+{
+ fmi->utf8_filename = PyUnicode_AsUTF8String(f->f_code->co_filename);
+ if (fmi->utf8_filename) {
+ fmi->filename = PyBytes_AsString(fmi->utf8_filename);
+ } else {
+ fmi->filename = NULL;
+ /* FIXME: clear the exception? */
+ }
+
+ fmi->utf8_name = PyUnicode_AsUTF8String(f->f_code->co_name);
+ if (fmi->utf8_name) {
+ fmi->name = PyBytes_AsString(fmi->utf8_name);
+ } else {
+ fmi->name = NULL;
+ /* FIXME: clear the exception? */
+ }
+
+ fmi->lineno = PyCode_Addr2Line(f->f_code, f->f_lasti);
+}
+
+static void
+release_frame_marker_info(struct frame_marker_info *fmi)
+{
+ Py_XDECREF(fmi->utf8_filename);
+ Py_XDECREF(fmi->utf8_name);
+}
+
+static void
+dtrace_entry(PyFrameObject *f)
+{
+ struct frame_marker_info fmi;
+ get_frame_marker_info(f, &fmi);
+ PYTHON_FUNCTION_ENTRY(fmi.filename, fmi.name, fmi.lineno);
+ release_frame_marker_info(&fmi);
+}
+
+static void
+dtrace_return(PyFrameObject *f)
+{
+ struct frame_marker_info fmi;
+ get_frame_marker_info(f, &fmi);
+ PYTHON_FUNCTION_RETURN(fmi.filename, fmi.name, fmi.lineno);
+ release_frame_marker_info(&fmi);
+}
+#else
+#define PYTHON_FUNCTION_ENTRY_ENABLED() 0
+#define PYTHON_FUNCTION_RETURN_ENABLED() 0
+#define dtrace_entry(f)
+#define dtrace_return(f)
+#endif
/* Interpreter main loop */
@@ -1061,6 +1128,9 @@ PyEval_EvalFrameEx(PyFrameObject *f, int
}
}
+ if (PYTHON_FUNCTION_ENTRY_ENABLED())
+ dtrace_entry(f);
+
co = f->f_code;
names = co->co_names;
consts = co->co_consts;
@@ -2907,6 +2977,8 @@ fast_yield:
/* pop frame */
exit_eval_frame:
+ if (PYTHON_FUNCTION_RETURN_ENABLED())
+ dtrace_return(f);
Py_LeaveRecursiveCall();
tstate->frame = f->f_back;

View File

@ -1,67 +0,0 @@
diff -up Python-3.1.1/configure.in.expat Python-3.1.1/configure.in
--- Python-3.1.1/configure.in.expat 2010-01-25 23:02:05.488859572 -0500
+++ Python-3.1.1/configure.in 2010-01-25 23:02:21.425857866 -0500
@@ -1853,6 +1853,13 @@ LIBS="$withval $LIBS"
],
[AC_MSG_RESULT(no)])
+# Check for use of the system expat library
+AC_MSG_CHECKING(for --with-system-expat)
+AC_ARG_WITH(system_expat,
+ AC_HELP_STRING(--with-system-expat, build pyexpat module using an installed expat library))
+
+AC_MSG_RESULT($with_system_expat)
+
# Check for use of the system libffi library
AC_MSG_CHECKING(for --with-system-ffi)
AC_ARG_WITH(system_ffi,
diff -up Python-3.1.1/setup.py.expat Python-3.1.1/setup.py
--- Python-3.1.1/setup.py.expat 2010-01-25 23:02:11.254859198 -0500
+++ Python-3.1.1/setup.py 2010-01-25 23:02:21.426857993 -0500
@@ -1110,19 +1110,26 @@ class PyBuildExt(build_ext):
#
# More information on Expat can be found at www.libexpat.org.
#
- expatinc = os.path.join(os.getcwd(), srcdir, 'Modules', 'expat')
- define_macros = [
- ('HAVE_EXPAT_CONFIG_H', '1'),
- ]
+ if '--with-system-expat' in sysconfig.get_config_var("CONFIG_ARGS"):
+ expat_inc = []
+ define_macros = []
+ expat_lib = ['expat']
+ expat_sources = []
+ else:
+ expat_inc = [os.path.join(os.getcwd(), srcdir, 'Modules', 'expat')]
+ define_macros = [
+ ('HAVE_EXPAT_CONFIG_H', '1'),
+ ]
+ expat_lib = []
+ expat_sources = ['expat/xmlparse.c',
+ 'expat/xmlrole.c',
+ 'expat/xmltok.c']
exts.append(Extension('pyexpat',
define_macros = define_macros,
- include_dirs = [expatinc],
- sources = ['pyexpat.c',
- 'expat/xmlparse.c',
- 'expat/xmlrole.c',
- 'expat/xmltok.c',
- ],
+ include_dirs = expat_inc,
+ libraries = expat_lib,
+ sources = ['pyexpat.c'] + expat_sources
))
# Fredrik Lundh's cElementTree module. Note that this also
@@ -1132,7 +1139,8 @@ class PyBuildExt(build_ext):
define_macros.append(('USE_PYEXPAT_CAPI', None))
exts.append(Extension('_elementtree',
define_macros = define_macros,
- include_dirs = [expatinc],
+ include_dirs = expat_inc,
+ libraries = expat_lib,
sources = ['_elementtree.c'],
))
else:

View File

@ -1,275 +0,0 @@
diff -up Python-3.1.2/configure.in.debug-build Python-3.1.2/configure.in
--- Python-3.1.2/configure.in.debug-build 2010-05-20 22:48:14.573026391 -0400
+++ Python-3.1.2/configure.in 2010-05-20 22:48:14.580902316 -0400
@@ -569,7 +569,7 @@ AC_SUBST(LIBRARY)
AC_MSG_CHECKING(LIBRARY)
if test -z "$LIBRARY"
then
- LIBRARY='libpython$(VERSION).a'
+ LIBRARY='libpython$(VERSION)$(DEBUG_EXT).a'
fi
AC_MSG_RESULT($LIBRARY)
@@ -711,8 +711,8 @@ if test $enable_shared = "yes"; then
INSTSONAME="$LDLIBRARY".$SOVERSION
;;
Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*)
- LDLIBRARY='libpython$(VERSION).so'
- BLDLIBRARY='-L. -lpython$(VERSION)'
+ LDLIBRARY='libpython$(VERSION)$(DEBUG_EXT).so'
+ BLDLIBRARY='-L. -lpython$(VERSION)$(DEBUG_EXT)'
RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
case $ac_sys_system in
FreeBSD*)
@@ -816,6 +816,14 @@ else AC_MSG_RESULT(no); Py_DEBUG='false'
fi],
[AC_MSG_RESULT(no)])
+if test "$Py_DEBUG" = 'true'
+then
+ DEBUG_EXT=_d
+ DEBUG_SUFFIX=-debug
+fi
+AC_SUBST(DEBUG_EXT)
+AC_SUBST(DEBUG_SUFFIX)
+
# XXX Shouldn't the code above that fiddles with BASECFLAGS and OPT be
# merged with this chunk of code?
diff -up Python-3.1.2/Lib/distutils/command/build_ext.py.debug-build Python-3.1.2/Lib/distutils/command/build_ext.py
--- Python-3.1.2/Lib/distutils/command/build_ext.py.debug-build 2010-03-19 17:56:34.000000000 -0400
+++ Python-3.1.2/Lib/distutils/command/build_ext.py 2010-05-20 22:48:14.581902928 -0400
@@ -673,7 +673,10 @@ class build_ext(Command):
so_ext = get_config_var('SO')
if os.name == 'nt' and self.debug:
return os.path.join(*ext_path) + '_d' + so_ext
- return os.path.join(*ext_path) + so_ext
+
+ # Similarly, extensions in debug mode are named 'module_d.so', to
+ # avoid adding the _d to the SO config variable:
+ return os.path.join(*ext_path) + (sys.pydebug and "_d" or "") + so_ext
def get_export_symbols(self, ext):
"""Return the list of symbols that a shared extension has to
@@ -754,6 +757,8 @@ class build_ext(Command):
template = "python%d.%d"
pythonlib = (template %
(sys.hexversion >> 24, (sys.hexversion >> 16) & 0xff))
+ if sys.pydebug:
+ pythonlib += '_d'
return ext.libraries + [pythonlib]
else:
return ext.libraries
diff -up Python-3.1.2/Lib/distutils/sysconfig.py.debug-build Python-3.1.2/Lib/distutils/sysconfig.py
--- Python-3.1.2/Lib/distutils/sysconfig.py.debug-build 2010-05-20 22:48:14.577026372 -0400
+++ Python-3.1.2/Lib/distutils/sysconfig.py 2010-05-20 22:48:14.581902928 -0400
@@ -83,7 +83,8 @@ def get_python_inc(plat_specific=0, pref
else:
incdir = os.path.join(get_config_var('srcdir'), 'Include')
return os.path.normpath(incdir)
- return os.path.join(prefix, "include", "python" + get_python_version())
+ return os.path.join(prefix, "include",
+ "python" + get_python_version() + (sys.pydebug and '-debug' or ''))
elif os.name == "nt":
return os.path.join(prefix, "include")
elif os.name == "mac":
@@ -229,7 +230,7 @@ def get_makefile_filename():
if python_build:
return os.path.join(os.path.dirname(sys.executable), "Makefile")
lib_dir = get_python_lib(plat_specific=1, standard_lib=1)
- return os.path.join(lib_dir, "config", "Makefile")
+ return os.path.join(lib_dir, "config" + (sys.pydebug and "-debug" or ""), "Makefile")
def parse_config_h(fp, g=None):
diff -up Python-3.1.2/Makefile.pre.in.debug-build Python-3.1.2/Makefile.pre.in
--- Python-3.1.2/Makefile.pre.in.debug-build 2010-05-20 22:48:14.577901061 -0400
+++ Python-3.1.2/Makefile.pre.in 2010-05-20 22:48:14.581902928 -0400
@@ -99,8 +99,8 @@ SCRIPTDIR= $(prefix)/lib64
# Detailed destination directories
BINLIBDEST= $(LIBDIR)/python$(VERSION)
LIBDEST= $(SCRIPTDIR)/python$(VERSION)
-INCLUDEPY= $(INCLUDEDIR)/python$(VERSION)
-CONFINCLUDEPY= $(CONFINCLUDEDIR)/python$(VERSION)
+INCLUDEPY= $(INCLUDEDIR)/python$(VERSION)$(DEBUG_SUFFIX)
+CONFINCLUDEPY= $(CONFINCLUDEDIR)/python$(VERSION)$(DEBUG_SUFFIX)
LIBP= $(LIBDIR)/python$(VERSION)
# Symbols used for using shared libraries
@@ -113,6 +113,12 @@ DESTSHARED= $(BINLIBDEST)/lib-dynload
EXE= @EXEEXT@
BUILDEXE= @BUILDEXEEXT@
+# DEBUG_EXT is used by ELF files (names and SONAMEs); it will be "_d" for a debug build
+# DEBUG_SUFFIX is used by filesystem paths; it will be "-debug" for a debug build
+# Both will be empty in an optimized build
+DEBUG_EXT= @DEBUG_EXT@
+DEBUG_SUFFIX= @DEBUG_SUFFIX@
+
# Short name and location for Mac OS X Python framework
UNIVERSALSDK=@UNIVERSALSDK@
PYTHONFRAMEWORK= @PYTHONFRAMEWORK@
@@ -176,7 +182,7 @@ LIBOBJDIR= Python/
LIBOBJS= @LIBOBJS@
PYTHON= python$(EXE)
-BUILDPYTHON= python$(BUILDEXE)
+BUILDPYTHON= python$(BUILD_SUFFIX)$(BUILDEXE)
# The task to run while instrument when building the profile-opt target
PROFILE_TASK= $(srcdir)/Tools/pybench/pybench.py -n 2 --with-gc --with-syscheck
@@ -422,7 +428,7 @@ sharedmods: $(BUILDPYTHON)
*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \
esac
-libpython$(VERSION).so: $(LIBRARY_OBJS)
+libpython$(VERSION)$(DEBUG_EXT).so: $(LIBRARY_OBJS)
if test $(INSTSONAME) != $(LDLIBRARY); then \
$(LDSHARED) $(LDFLAGS) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
$(LN) -f $(INSTSONAME) $@; \
@@ -793,7 +799,7 @@ altbininstall: $(BUILDPYTHON)
else true; \
fi; \
done
- $(INSTALL_PROGRAM) $(BUILDPYTHON) $(DESTDIR)$(BINDIR)/python$(VERSION)$(EXE)
+ $(INSTALL_PROGRAM) $(BUILDPYTHON) $(DESTDIR)$(BINDIR)/python$(VERSION)$(DEBUG_SUFFIX)$(EXE)
if test -f $(LDLIBRARY); then \
if test -n "$(DLLLIBRARY)" ; then \
$(INSTALL_SHARED) $(DLLLIBRARY) $(DESTDIR)$(BINDIR); \
@@ -807,15 +813,15 @@ altbininstall: $(BUILDPYTHON)
fi
bininstall: altbininstall
- -if test -f $(DESTDIR)$(BINDIR)/$(PYTHON)3$(EXE) -o -h $(DESTDIR)$(BINDIR)/$(PYTHON)3$(EXE); \
- then rm -f $(DESTDIR)$(BINDIR)/$(PYTHON)3$(EXE); \
+ -if test -f $(DESTDIR)$(BINDIR)/$(PYTHON)3$(DEBUG_SUFFIX)$(EXE) -o -h $(DESTDIR)$(BINDIR)/$(PYTHON)3$(DEBUG_SUFFIX)$(EXE); \
+ then rm -f $(DESTDIR)$(BINDIR)/$(PYTHON)3$(DEBUG_SUFFIX)$(EXE); \
else true; \
fi
- (cd $(DESTDIR)$(BINDIR); $(LN) python$(VERSION)$(EXE) $(PYTHON)3$(EXE))
- -rm -f $(DESTDIR)$(BINDIR)/python3-config
- (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-config python3-config)
- -rm -f $(DESTDIR)$(LIBPC)/python3.pc
- (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python3.pc)
+ (cd $(DESTDIR)$(BINDIR); $(LN) python$(VERSION)$(DEBUG_SUFFIX)$(EXE) $(PYTHON)3$(DEBUG_SUFFIX)$(EXE))
+ -rm -f $(DESTDIR)$(BINDIR)/python3$(DEBUG_SUFFIX)-config
+ (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)$(DEBUG_SUFFIX)-config python3$(DEBUG_SUFFIX)-config)
+ -rm -f $(DESTDIR)$(LIBPC)/python3$(DEBUG_SUFFIX).pc
+ (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION)$(DEBUG_SUFFIX).pc python3$(DEBUG_SUFFIX).pc)
# Install the manual page
maninstall:
@@ -960,7 +966,7 @@ inclinstall:
# Install the library and miscellaneous stuff needed for extending/embedding
# This goes into $(exec_prefix)
-LIBPL= $(LIBP)/config
+LIBPL= $(LIBP)/config$(DEBUG_SUFFIX)
# pkgconfig directory
LIBPC= $(LIBDIR)/pkgconfig
@@ -981,14 +987,14 @@ libainstall: all
$(INSTALL_DATA) Modules/Setup $(DESTDIR)$(LIBPL)/Setup
$(INSTALL_DATA) Modules/Setup.local $(DESTDIR)$(LIBPL)/Setup.local
$(INSTALL_DATA) Modules/Setup.config $(DESTDIR)$(LIBPL)/Setup.config
- $(INSTALL_DATA) Misc/python.pc $(DESTDIR)$(LIBPC)/python-$(VERSION).pc
+ $(INSTALL_DATA) Misc/python.pc $(DESTDIR)$(LIBPC)/python-$(VERSION)$(DEBUG_SUFFIX).pc
$(INSTALL_SCRIPT) $(srcdir)/Modules/makesetup $(DESTDIR)$(LIBPL)/makesetup
$(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(LIBPL)/install-sh
# Substitution happens here, as the completely-expanded BINDIR
# is not available in configure
- sed -e "s,@EXENAME@,$(BINDIR)/python$(VERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config
- $(INSTALL_SCRIPT) python-config $(DESTDIR)$(BINDIR)/python$(VERSION)-config
- rm python-config
+ sed -e "s,@EXENAME@,$(BINDIR)/python$(VERSION)$(DEBUG_SUFFIX)$(EXE)," < $(srcdir)/Misc/python-config.in >python$(DEBUG_SUFFIX)-config
+ $(INSTALL_SCRIPT) python$(DEBUG_SUFFIX)-config $(DESTDIR)$(BINDIR)/python$(VERSION)$(DEBUG_SUFFIX)-config
+ rm python$(DEBUG_SUFFIX)-config
@if [ -s Modules/python.exp -a \
"`echo $(MACHDEP) | sed 's/^\(...\).*/\1/'`" = "aix" ]; then \
echo; echo "Installing support files for building shared extension modules on AIX:"; \
diff -up Python-3.1.2/Misc/python-config.in.debug-build Python-3.1.2/Misc/python-config.in
--- Python-3.1.2/Misc/python-config.in.debug-build 2007-09-01 03:27:37.000000000 -0400
+++ Python-3.1.2/Misc/python-config.in 2010-05-20 22:48:14.582902254 -0400
@@ -44,7 +44,7 @@ elif opt in ('--includes', '--cflags'):
elif opt in ('--libs', '--ldflags'):
libs = getvar('LIBS').split() + getvar('SYSLIBS').split()
- libs.append('-lpython'+pyver)
+ libs.append('-lpython' + pyver + (sys.pydebug and "_d" or ""))
# add the prefix/lib/pythonX.Y/config dir, but only if there is no
# shared library in prefix/lib/.
if opt == '--ldflags' and not getvar('Py_ENABLE_SHARED'):
diff -up Python-3.1.2/Modules/makesetup.debug-build Python-3.1.2/Modules/makesetup
--- Python-3.1.2/Modules/makesetup.debug-build 2008-06-11 01:26:20.000000000 -0400
+++ Python-3.1.2/Modules/makesetup 2010-05-20 22:48:14.582902254 -0400
@@ -233,7 +233,7 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' |
*$mod.o*) base=$mod;;
*) base=${mod}module;;
esac
- file="$srcdir/$base\$(SO)"
+ file="$srcdir/$base\$(DEBUG_EXT)\$(SO)"
case $doconfig in
no) SHAREDMODS="$SHAREDMODS $file";;
esac
diff -up Python-3.1.2/Python/dynload_shlib.c.debug-build Python-3.1.2/Python/dynload_shlib.c
--- Python-3.1.2/Python/dynload_shlib.c.debug-build 2008-06-11 01:26:20.000000000 -0400
+++ Python-3.1.2/Python/dynload_shlib.c 2010-05-20 22:48:14.582902254 -0400
@@ -46,11 +46,16 @@ const struct filedescr _PyImport_DynLoad
{"module.exe", "rb", C_EXTENSION},
{"MODULE.EXE", "rb", C_EXTENSION},
#else
+#ifdef Py_DEBUG
+ {"_d.so", "rb", C_EXTENSION},
+ {"module_d.so", "rb", C_EXTENSION},
+#else
{".so", "rb", C_EXTENSION},
{"module.so", "rb", C_EXTENSION},
-#endif
-#endif
-#endif
+#endif /* Py_DEBUG */
+#endif /* __VMS */
+#endif /* defined(PYOS_OS2) && defined(PYCC_GCC) */
+#endif /* __CYGWIN__ */
{0, 0}
};
diff -up Python-3.1.2/Python/sysmodule.c.debug-build Python-3.1.2/Python/sysmodule.c
--- Python-3.1.2/Python/sysmodule.c.debug-build 2010-03-03 06:55:53.000000000 -0500
+++ Python-3.1.2/Python/sysmodule.c 2010-05-20 22:48:14.582902254 -0400
@@ -1429,6 +1429,12 @@ _PySys_Init(void)
FlagsType.tp_init = NULL;
FlagsType.tp_new = NULL;
+#ifdef Py_DEBUG
+ PyDict_SetItemString(sysdict, "pydebug", Py_True);
+#else
+ PyDict_SetItemString(sysdict, "pydebug", Py_False);
+#endif
+
/* float repr style: 0.03 (short) vs 0.029999999999999999 (legacy) */
#ifndef PY_NO_SHORT_FLOAT_REPR
SET_SYS_FROM_STRING("float_repr_style",
diff -up Python-3.1.2/runtests.sh.debug-build Python-3.1.2/runtests.sh
--- Python-3.1.2/runtests.sh.debug-build 2010-05-22 00:42:41.950889054 -0400
+++ Python-3.1.2/runtests.sh 2010-05-22 00:54:47.503851503 -0400
@@ -16,11 +16,14 @@ Flags (arguments starting with '-') are
regrtest.py, except for -x, which is processed here."
# Choose the Python binary.
-case `uname` in
-Darwin) PYTHON=./python.exe;;
-CYGWIN*) PYTHON=./python.exe;;
-*) PYTHON=./python;;
-esac
+if [ -z $PYTHON ]
+then
+ case `uname` in
+ Darwin) PYTHON=./python.exe;;
+ CYGWIN*) PYTHON=./python.exe;;
+ *) PYTHON=./python;;
+ esac
+fi
PYTHON="$PYTHON -bb"

File diff suppressed because it is too large Load Diff

84
python3.rpmlintrc Normal file
View File

@ -0,0 +1,84 @@
# KNOWN BUGS:
# https://bugzilla.redhat.com/show_bug.cgi?id=1489816
addFilter(r'crypto-policy-non-compliance-openssl')
# TESTS:
addFilter(r'(zero-length|pem-certificate|uncompressed-zip) /usr/lib(64)?/python3\.\d+/test')
# OTHER DELIBERATES:
# chroot function
addFilter(r'missing-call-to-chdir-with-chroot')
# intentionally unversioned and selfobsoleted
addFilter(r'unversioned-explicit-obsoletes python')
addFilter(r'self-obsoletion python3\d+ obsoletes python3\d+')
# intentionally hardcoded
addFilter(r'hardcoded-library-path in %{_prefix}/lib/(debug/%{_libdir}|python%{pybasever})')
# intentional for our pythonXY package
addFilter(r'python3\d+\.[^:]+: (E|W): devel-file-in-non-devel-package')
# we have non binary stuff, python files
addFilter(r'only-non-binary-in-usr-lib')
# some devel files that are deliberately needed
addFilter(r'devel-file-in-non-devel-package /usr/include/python3\.\d+m?/pyconfig-(32|64)\.h')
addFilter(r'devel-file-in-non-devel-package /usr/lib(64)?/python3\.\d+/distutils/tests/xxmodule\.c')
# SORRY, NOT SORRY:
# manual pages
addFilter(r'no-manual-page-for-binary (idle|pydoc|pyvenv|2to3|python3?-debug|pathfix|msgfmt|pygettext)')
addFilter(r'no-manual-page-for-binary python3?.*-config$')
addFilter(r'no-manual-page-for-binary python3\.\d+d?m?$')
# missing documentation from subpackages
addFilter(r'^python3\d*-(debug|tkinter|test|idle)\.[^:]+: (E|W): no-documentation')
# platform python is obsoleted, but not provided
addFilter(r'obsolete-not-provided platform-python')
# RPMLINT IMPERFECTIONS
# https://github.com/rpm-software-management/rpmlint/issues/123
addFilter(r'python-bytecode-wrong-magic-value .* expected 33\d\d \(3\.7\), found 3393')
# https://github.com/rpm-software-management/rpmlint/pull/133
addFilter(r'python-bytecode-wrong-magic-value .* expected 33\d\d \(3\.7\), found 3394')
# https://bugzilla.redhat.com/show_bug.cgi?id=1550562
# https://github.com/rpm-software-management/rpmlint/issues/128
addFilter(r'python-bytecode-inconsistent-mtime .* 1970')
# debugsource
addFilter(r'^python3\d*-debugsource\.[^:]+: (E|W): no-documentation')
# debuginfo
addFilter(r'^python3\d*-debuginfo\.[^:]+: (E|W): useless-provides debuginfo\(build-id\)')
# this is OK for F28+
addFilter(r'library-without-ldconfig-post')
# debug package contains devel and non-devel files
addFilter(r'python3\d*-debug\.[^:]+: (E|W): (non-)?devel-file-in-(non-)?devel-package')
# this goes to other subpackage, hence not actually dangling, the read error is bogus
addFilter(r'dangling-relative-symlink /usr/lib(64)?/pkgconfig/python-3\.\d+dm?(-embed)?\.pc python-3\.\d+(-embed)?\.pc')
addFilter(r'read-error /usr/lib(64)?/pkgconfig/python-3\.\d+dm?(-embed)?\.pc \[Errno 2\]')
# the python-unversioned-command package contains dangling symlinks by design
addFilter(r'^python-unversioned-command\.[^:]+: (E|W): dangling-relative-symlink '
r'(/usr/bin/python \./python3|/usr/share/man/man1/python\.1\S* ./python3\.1\S*)$')
# we need this macro to evaluate, even if the line starts with #
addFilter(r'macro-in-comment %\{_pyconfig(32|64)_h\}')
# Python modules don't need to be linked against libc
# Since 3.8 they are no longer linked against libpython3.8.so.1.0
addFilter(r'E: library-not-linked-against-libc /usr/lib(64)?/python3\.\d+/lib-dynload/')
addFilter(r'E: shared-lib-without-dependency-information /usr/lib(64)?/python3\.\d+/lib-dynload/')
# SPELLING ERRORS
addFilter(r'spelling-error .* en_US (bytecode|pyc|filename|tkinter|namespaces|pytest) ')

File diff suppressed because it is too large Load Diff

View File

@ -1 +1,2 @@
45350b51b58a46b029fb06c61257e350 Python-3.1.2.tar.bz2
SHA512 (Python-3.8.2.tar.xz) = ca37ad0e7c5845f5f228566aa8ff654a8f428c7d4a5aaabff29baebb0ca3219b31ba8bb2607f89e37cf3fc564f023b8407e53a4f2c47bd99122c1cc222613e37
SHA512 (Python-3.8.2.tar.xz.asc) = 765796ab5539576bbf1578e05cdb041dbc9a9ca0d6d2040a473a00a293b49f90be11ea6e33b47889da33b25f8e360fad4adeec292f0d43e5fae233d1f03bafd2

View File

@ -1,19 +0,0 @@
/*
Example usage of the Python systemtap tapset to show a nested view of all
Python function calls (and returns) across the whole system.
Run this using
stap systemtap-example.stp
to instrument all Python processes on the system, or (for example) using
stap systemtap-example.stp -c COMMAND
to instrument a specific program (implemented in Python)
*/
probe python.function.entry
{
printf("%s => %s in %s:%d\n", thread_indent(1), funcname, filename, lineno);
}
probe python.function.return
{
printf("%s <= %s in %s:%d\n", thread_indent(-1), funcname, filename, lineno);
}

1
tests/.fmf/version Normal file
View File

@ -0,0 +1 @@
1

4
tests/provision.fmf Normal file
View File

@ -0,0 +1,4 @@
---
standard-inventory-qcow2:
qemu:
m: 3G # Amount of VM memory

34
tests/tests.yml Normal file
View File

@ -0,0 +1,34 @@
---
- hosts: localhost
roles:
- role: standard-test-basic
tags:
- classic
repositories:
- repo: "https://src.fedoraproject.org/tests/python.git"
dest: "python"
tests:
- smoke:
dir: python/smoke
run: VERSION=3.8 ./venv.sh
- debugsmoke:
dir: python/smoke
run: PYTHON=python3-debug TOX=false VERSION=3.8 ./venv.sh
- selftest:
dir: python/selftest
run: VERSION=3.8 X="-x test_wsgiref" ./parallel.sh
- debugtest:
dir: python/selftest
run: VERSION=3.8 PYTHON=python3-debug X="-x test_wsgiref" ./parallel.sh
- debugflags:
dir: python/flags
run: python3-debug ./assertflags.py -Og
required_packages:
- gcc # for extension building in venv and selftest
- gdb # for test_gdb
- python3-debug # for leak testing
- python3-devel # for extension building in venv and selftest
- python3-tkinter # for selftest
- python3-test # for selftest
- python3-tox # for venv tests
- glibc-all-langpacks # for locale tests