import python36-3.6.8-37.module+el8.5.0+10916+41bd434d
This commit is contained in:
commit
e350503394
0
.gitignore
vendored
Normal file
0
.gitignore
vendored
Normal file
0
.python36.metadata
Normal file
0
.python36.metadata
Normal file
254
SOURCES/LICENSE
Normal file
254
SOURCES/LICENSE
Normal file
@ -0,0 +1,254 @@
|
|||||||
|
A. HISTORY OF THE SOFTWARE
|
||||||
|
==========================
|
||||||
|
|
||||||
|
Python was created in the early 1990s by Guido van Rossum at Stichting
|
||||||
|
Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands
|
||||||
|
as a successor of a language called ABC. Guido remains Python's
|
||||||
|
principal author, although it includes many contributions from others.
|
||||||
|
|
||||||
|
In 1995, Guido continued his work on Python at the Corporation for
|
||||||
|
National Research Initiatives (CNRI, see http://www.cnri.reston.va.us)
|
||||||
|
in Reston, Virginia where he released several versions of the
|
||||||
|
software.
|
||||||
|
|
||||||
|
In May 2000, Guido and the Python core development team moved to
|
||||||
|
BeOpen.com to form the BeOpen PythonLabs team. In October of the same
|
||||||
|
year, the PythonLabs team moved to Digital Creations, which became
|
||||||
|
Zope Corporation. In 2001, the Python Software Foundation (PSF, see
|
||||||
|
https://www.python.org/psf/) was formed, a non-profit organization
|
||||||
|
created specifically to own Python-related Intellectual Property.
|
||||||
|
Zope Corporation was a sponsoring member of the PSF.
|
||||||
|
|
||||||
|
All Python releases are Open Source (see http://www.opensource.org for
|
||||||
|
the Open Source Definition). Historically, most, but not all, Python
|
||||||
|
releases have also been GPL-compatible; the table below summarizes
|
||||||
|
the various releases.
|
||||||
|
|
||||||
|
Release Derived Year Owner GPL-
|
||||||
|
from compatible? (1)
|
||||||
|
|
||||||
|
0.9.0 thru 1.2 1991-1995 CWI yes
|
||||||
|
1.3 thru 1.5.2 1.2 1995-1999 CNRI yes
|
||||||
|
1.6 1.5.2 2000 CNRI no
|
||||||
|
2.0 1.6 2000 BeOpen.com no
|
||||||
|
1.6.1 1.6 2001 CNRI yes (2)
|
||||||
|
2.1 2.0+1.6.1 2001 PSF no
|
||||||
|
2.0.1 2.0+1.6.1 2001 PSF yes
|
||||||
|
2.1.1 2.1+2.0.1 2001 PSF yes
|
||||||
|
2.1.2 2.1.1 2002 PSF yes
|
||||||
|
2.1.3 2.1.2 2002 PSF yes
|
||||||
|
2.2 and above 2.1.1 2001-now PSF yes
|
||||||
|
|
||||||
|
Footnotes:
|
||||||
|
|
||||||
|
(1) GPL-compatible doesn't mean that we're distributing Python under
|
||||||
|
the GPL. All Python licenses, unlike the GPL, let you distribute
|
||||||
|
a modified version without making your changes open source. The
|
||||||
|
GPL-compatible licenses make it possible to combine Python with
|
||||||
|
other software that is released under the GPL; the others don't.
|
||||||
|
|
||||||
|
(2) According to Richard Stallman, 1.6.1 is not GPL-compatible,
|
||||||
|
because its license has a choice of law clause. According to
|
||||||
|
CNRI, however, Stallman's lawyer has told CNRI's lawyer that 1.6.1
|
||||||
|
is "not incompatible" with the GPL.
|
||||||
|
|
||||||
|
Thanks to the many outside volunteers who have worked under Guido's
|
||||||
|
direction to make these releases possible.
|
||||||
|
|
||||||
|
|
||||||
|
B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON
|
||||||
|
===============================================================
|
||||||
|
|
||||||
|
PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
|
||||||
|
--------------------------------------------
|
||||||
|
|
||||||
|
1. This LICENSE AGREEMENT is between the Python Software Foundation
|
||||||
|
("PSF"), and the Individual or Organization ("Licensee") accessing and
|
||||||
|
otherwise using this software ("Python") in source or binary form and
|
||||||
|
its associated documentation.
|
||||||
|
|
||||||
|
2. Subject to the terms and conditions of this License Agreement, PSF hereby
|
||||||
|
grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce,
|
||||||
|
analyze, test, perform and/or display publicly, prepare derivative works,
|
||||||
|
distribute, and otherwise use Python alone or in any derivative version,
|
||||||
|
provided, however, that PSF's License Agreement and PSF's notice of copyright,
|
||||||
|
i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
|
||||||
|
2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 Python Software Foundation; All
|
||||||
|
Rights Reserved" are retained in Python alone or in any derivative version
|
||||||
|
prepared by Licensee.
|
||||||
|
|
||||||
|
3. In the event Licensee prepares a derivative work that is based on
|
||||||
|
or incorporates Python or any part thereof, and wants to make
|
||||||
|
the derivative work available to others as provided herein, then
|
||||||
|
Licensee hereby agrees to include in any such work a brief summary of
|
||||||
|
the changes made to Python.
|
||||||
|
|
||||||
|
4. PSF is making Python available to Licensee on an "AS IS"
|
||||||
|
basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
|
||||||
|
IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
|
||||||
|
DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
|
||||||
|
FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
|
||||||
|
INFRINGE ANY THIRD PARTY RIGHTS.
|
||||||
|
|
||||||
|
5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
|
||||||
|
FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
|
||||||
|
A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
|
||||||
|
OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
|
||||||
|
|
||||||
|
6. This License Agreement will automatically terminate upon a material
|
||||||
|
breach of its terms and conditions.
|
||||||
|
|
||||||
|
7. Nothing in this License Agreement shall be deemed to create any
|
||||||
|
relationship of agency, partnership, or joint venture between PSF and
|
||||||
|
Licensee. This License Agreement does not grant permission to use PSF
|
||||||
|
trademarks or trade name in a trademark sense to endorse or promote
|
||||||
|
products or services of Licensee, or any third party.
|
||||||
|
|
||||||
|
8. By copying, installing or otherwise using Python, Licensee
|
||||||
|
agrees to be bound by the terms and conditions of this License
|
||||||
|
Agreement.
|
||||||
|
|
||||||
|
|
||||||
|
BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0
|
||||||
|
-------------------------------------------
|
||||||
|
|
||||||
|
BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1
|
||||||
|
|
||||||
|
1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an
|
||||||
|
office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the
|
||||||
|
Individual or Organization ("Licensee") accessing and otherwise using
|
||||||
|
this software in source or binary form and its associated
|
||||||
|
documentation ("the Software").
|
||||||
|
|
||||||
|
2. Subject to the terms and conditions of this BeOpen Python License
|
||||||
|
Agreement, BeOpen hereby grants Licensee a non-exclusive,
|
||||||
|
royalty-free, world-wide license to reproduce, analyze, test, perform
|
||||||
|
and/or display publicly, prepare derivative works, distribute, and
|
||||||
|
otherwise use the Software alone or in any derivative version,
|
||||||
|
provided, however, that the BeOpen Python License is retained in the
|
||||||
|
Software, alone or in any derivative version prepared by Licensee.
|
||||||
|
|
||||||
|
3. BeOpen is making the Software available to Licensee on an "AS IS"
|
||||||
|
basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
|
||||||
|
IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND
|
||||||
|
DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
|
||||||
|
FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT
|
||||||
|
INFRINGE ANY THIRD PARTY RIGHTS.
|
||||||
|
|
||||||
|
4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE
|
||||||
|
SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS
|
||||||
|
AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY
|
||||||
|
DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
|
||||||
|
|
||||||
|
5. This License Agreement will automatically terminate upon a material
|
||||||
|
breach of its terms and conditions.
|
||||||
|
|
||||||
|
6. This License Agreement shall be governed by and interpreted in all
|
||||||
|
respects by the law of the State of California, excluding conflict of
|
||||||
|
law provisions. Nothing in this License Agreement shall be deemed to
|
||||||
|
create any relationship of agency, partnership, or joint venture
|
||||||
|
between BeOpen and Licensee. This License Agreement does not grant
|
||||||
|
permission to use BeOpen trademarks or trade names in a trademark
|
||||||
|
sense to endorse or promote products or services of Licensee, or any
|
||||||
|
third party. As an exception, the "BeOpen Python" logos available at
|
||||||
|
http://www.pythonlabs.com/logos.html may be used according to the
|
||||||
|
permissions granted on that web page.
|
||||||
|
|
||||||
|
7. By copying, installing or otherwise using the software, Licensee
|
||||||
|
agrees to be bound by the terms and conditions of this License
|
||||||
|
Agreement.
|
||||||
|
|
||||||
|
|
||||||
|
CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
1. This LICENSE AGREEMENT is between the Corporation for National
|
||||||
|
Research Initiatives, having an office at 1895 Preston White Drive,
|
||||||
|
Reston, VA 20191 ("CNRI"), and the Individual or Organization
|
||||||
|
("Licensee") accessing and otherwise using Python 1.6.1 software in
|
||||||
|
source or binary form and its associated documentation.
|
||||||
|
|
||||||
|
2. Subject to the terms and conditions of this License Agreement, CNRI
|
||||||
|
hereby grants Licensee a nonexclusive, royalty-free, world-wide
|
||||||
|
license to reproduce, analyze, test, perform and/or display publicly,
|
||||||
|
prepare derivative works, distribute, and otherwise use Python 1.6.1
|
||||||
|
alone or in any derivative version, provided, however, that CNRI's
|
||||||
|
License Agreement and CNRI's notice of copyright, i.e., "Copyright (c)
|
||||||
|
1995-2001 Corporation for National Research Initiatives; All Rights
|
||||||
|
Reserved" are retained in Python 1.6.1 alone or in any derivative
|
||||||
|
version prepared by Licensee. Alternately, in lieu of CNRI's License
|
||||||
|
Agreement, Licensee may substitute the following text (omitting the
|
||||||
|
quotes): "Python 1.6.1 is made available subject to the terms and
|
||||||
|
conditions in CNRI's License Agreement. This Agreement together with
|
||||||
|
Python 1.6.1 may be located on the Internet using the following
|
||||||
|
unique, persistent identifier (known as a handle): 1895.22/1013. This
|
||||||
|
Agreement may also be obtained from a proxy server on the Internet
|
||||||
|
using the following URL: http://hdl.handle.net/1895.22/1013".
|
||||||
|
|
||||||
|
3. In the event Licensee prepares a derivative work that is based on
|
||||||
|
or incorporates Python 1.6.1 or any part thereof, and wants to make
|
||||||
|
the derivative work available to others as provided herein, then
|
||||||
|
Licensee hereby agrees to include in any such work a brief summary of
|
||||||
|
the changes made to Python 1.6.1.
|
||||||
|
|
||||||
|
4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS"
|
||||||
|
basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
|
||||||
|
IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND
|
||||||
|
DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
|
||||||
|
FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT
|
||||||
|
INFRINGE ANY THIRD PARTY RIGHTS.
|
||||||
|
|
||||||
|
5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
|
||||||
|
1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
|
||||||
|
A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,
|
||||||
|
OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
|
||||||
|
|
||||||
|
6. This License Agreement will automatically terminate upon a material
|
||||||
|
breach of its terms and conditions.
|
||||||
|
|
||||||
|
7. This License Agreement shall be governed by the federal
|
||||||
|
intellectual property law of the United States, including without
|
||||||
|
limitation the federal copyright law, and, to the extent such
|
||||||
|
U.S. federal law does not apply, by the law of the Commonwealth of
|
||||||
|
Virginia, excluding Virginia's conflict of law provisions.
|
||||||
|
Notwithstanding the foregoing, with regard to derivative works based
|
||||||
|
on Python 1.6.1 that incorporate non-separable material that was
|
||||||
|
previously distributed under the GNU General Public License (GPL), the
|
||||||
|
law of the Commonwealth of Virginia shall govern this License
|
||||||
|
Agreement only as to issues arising under or with respect to
|
||||||
|
Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this
|
||||||
|
License Agreement shall be deemed to create any relationship of
|
||||||
|
agency, partnership, or joint venture between CNRI and Licensee. This
|
||||||
|
License Agreement does not grant permission to use CNRI trademarks or
|
||||||
|
trade name in a trademark sense to endorse or promote products or
|
||||||
|
services of Licensee, or any third party.
|
||||||
|
|
||||||
|
8. By clicking on the "ACCEPT" button where indicated, or by copying,
|
||||||
|
installing or otherwise using Python 1.6.1, Licensee agrees to be
|
||||||
|
bound by the terms and conditions of this License Agreement.
|
||||||
|
|
||||||
|
ACCEPT
|
||||||
|
|
||||||
|
|
||||||
|
CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2
|
||||||
|
--------------------------------------------------
|
||||||
|
|
||||||
|
Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,
|
||||||
|
The Netherlands. All rights reserved.
|
||||||
|
|
||||||
|
Permission to use, copy, modify, and distribute this software and its
|
||||||
|
documentation for any purpose and without fee is hereby granted,
|
||||||
|
provided that the above copyright notice appear in all copies and that
|
||||||
|
both that copyright notice and this permission notice appear in
|
||||||
|
supporting documentation, and that the name of Stichting Mathematisch
|
||||||
|
Centrum or CWI not be used in advertising or publicity pertaining to
|
||||||
|
distribution of the software without specific, written prior
|
||||||
|
permission.
|
||||||
|
|
||||||
|
STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
|
||||||
|
THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||||
|
FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
|
||||||
|
FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||||
|
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||||
|
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
|
||||||
|
OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
7
SOURCES/README
Normal file
7
SOURCES/README
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
The python36, python36-devel, and python36-debug packages contain symlinks that
|
||||||
|
enable users to access the underlying Platform-Python implementation present in
|
||||||
|
the RHEL8 system in packages platform-python, platform-python-devel and
|
||||||
|
platform-python-debug.
|
||||||
|
|
||||||
|
The python36-rpm-macros package contains RPM macros for building RPMs with
|
||||||
|
Python 3.6 from the python36 module.
|
1
SOURCES/macros.python36
Normal file
1
SOURCES/macros.python36
Normal file
@ -0,0 +1 @@
|
|||||||
|
%__python3 /usr/bin/python3.6
|
428
SPECS/python36.spec
Normal file
428
SPECS/python36.spec
Normal file
@ -0,0 +1,428 @@
|
|||||||
|
# ==================
|
||||||
|
# Top-level metadata
|
||||||
|
# ==================
|
||||||
|
|
||||||
|
%global pybasever 3.6
|
||||||
|
|
||||||
|
Name: python36
|
||||||
|
Version: %{pybasever}.8
|
||||||
|
Release: 37%{?dist}
|
||||||
|
Summary: Interpreter of the Python programming language
|
||||||
|
|
||||||
|
License: Python
|
||||||
|
URL: https://www.python.org/
|
||||||
|
|
||||||
|
# LICENSE file is fetched from the Python 3 github repository
|
||||||
|
# for the respective version.
|
||||||
|
Source0: https://github.com/python/cpython/raw/v%{version}/LICENSE
|
||||||
|
Source1: README
|
||||||
|
Source2: macros.python36
|
||||||
|
|
||||||
|
%global debug_package %{nil}
|
||||||
|
|
||||||
|
# ==================================
|
||||||
|
# Conditionals controlling the build
|
||||||
|
# ==================================
|
||||||
|
|
||||||
|
# Extra build for debugging the interpreter or C-API extensions
|
||||||
|
# (the -debug subpackages)
|
||||||
|
%bcond_without debug_build
|
||||||
|
|
||||||
|
|
||||||
|
# ==============================================
|
||||||
|
# Metadata and macros from the python3 component
|
||||||
|
# ==============================================
|
||||||
|
|
||||||
|
# ABIFLAGS, LDVERSION and SOABI are in the upstream configure.ac
|
||||||
|
# See PEP 3149 for some background: http://www.python.org/dev/peps/pep-3149/
|
||||||
|
%global ABIFLAGS_optimized m
|
||||||
|
%global ABIFLAGS_debug dm
|
||||||
|
|
||||||
|
%global LDVERSION_optimized %{pybasever}%{ABIFLAGS_optimized}
|
||||||
|
%global LDVERSION_debug %{pybasever}%{ABIFLAGS_debug}
|
||||||
|
|
||||||
|
|
||||||
|
# =======================
|
||||||
|
# Package and subpackages
|
||||||
|
# =======================
|
||||||
|
|
||||||
|
# python36 package itself
|
||||||
|
Provides: python3 = %{version}-%{release}
|
||||||
|
Provides: python3%{?_isa} = %{version}-%{release}
|
||||||
|
Obsoletes: python3 < 3.6.6-13
|
||||||
|
|
||||||
|
# When the user tries to `yum install python`, yum will list this package among
|
||||||
|
# the possible alternatives
|
||||||
|
Provides: alternative-for(python)
|
||||||
|
|
||||||
|
Requires: %{_libexecdir}/platform-python
|
||||||
|
# python36 carries alternatives slave links for these packages, so they have to be installed
|
||||||
|
Requires: python3-pip
|
||||||
|
Requires: python3-setuptools
|
||||||
|
|
||||||
|
# Runtime require alternatives
|
||||||
|
Requires: %{_sbindir}/alternatives
|
||||||
|
Requires(post): %{_sbindir}/alternatives
|
||||||
|
Requires(postun): %{_sbindir}/alternatives
|
||||||
|
|
||||||
|
%global _description \
|
||||||
|
Python is an accessible, high-level, dynamically typed, interpreted programming\
|
||||||
|
language, designed with an emphasis on code readibility.\
|
||||||
|
It includes an extensive standard library, and has a vast ecosystem of\
|
||||||
|
third-party libraries.\
|
||||||
|
\
|
||||||
|
The python36 package provides the "python3.6" executable: the reference\
|
||||||
|
interpreter for the Python language, version 3.\
|
||||||
|
The package also installs the "python3" executable which is user configurable\
|
||||||
|
using the "alternatives --config python3" command.\
|
||||||
|
For the unversioned "python" command, see manual page "unversioned-python".\
|
||||||
|
\
|
||||||
|
The python36-devel package contains files for dovelopment of Python application\
|
||||||
|
and the python36-debug is helpful for debugging.\
|
||||||
|
\
|
||||||
|
Packages containing additional libraries for Python 3.6 are generally named\
|
||||||
|
with the "python3-" prefix.
|
||||||
|
|
||||||
|
%description %_description
|
||||||
|
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Libraries and header files needed for Python development
|
||||||
|
Provides: python3-devel = %{version}-%{release}
|
||||||
|
Provides: python3-devel%{?_isa} = %{version}-%{release}
|
||||||
|
Requires: python36
|
||||||
|
Requires: platform-python-devel
|
||||||
|
# python36 installs the alternatives master symlink to which we attach a slave
|
||||||
|
Requires(post): python36
|
||||||
|
Requires(postun): python36
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
This package contains the header files and configuration needed to compile
|
||||||
|
Python extension modules (typically written in C or C++), to embed Python
|
||||||
|
into other programs, and to make binary distributions for Python libraries.
|
||||||
|
|
||||||
|
If you want to build an RPM against the python36 module, you also need to
|
||||||
|
install the python36-rpm-macros package.
|
||||||
|
|
||||||
|
|
||||||
|
%if %{with debug_build}
|
||||||
|
%package debug
|
||||||
|
Summary: Debug version of the Python runtime
|
||||||
|
Provides: python3-debug = %{version}-%{release}
|
||||||
|
Provides: python3-debug%{?_isa} = %{version}-%{release}
|
||||||
|
Obsoletes: python3-debug < 3.6.6-13
|
||||||
|
Requires: python36
|
||||||
|
Requires: python36-devel
|
||||||
|
Requires: platform-python-debug
|
||||||
|
# python36 installs the alternatives master symlink to which we attach a slave
|
||||||
|
Requires(post): python36
|
||||||
|
Requires(postun): python36
|
||||||
|
|
||||||
|
%description debug
|
||||||
|
python36-debug provides a version of the Python runtime with numerous debugging
|
||||||
|
features enabled, aimed at advanced Python users such as developers of Python
|
||||||
|
extension modules.
|
||||||
|
|
||||||
|
This version uses more memory and will be slower than the regular Python build,
|
||||||
|
but is useful for tracking down reference-counting issues and other bugs.
|
||||||
|
|
||||||
|
The bytecode format is unchanged, so that .pyc files are compatible between
|
||||||
|
this and the standard version of Python, but the debugging features mean that
|
||||||
|
C/C++ extension modules are ABI-incompatible and must be built for each version
|
||||||
|
separately.
|
||||||
|
|
||||||
|
The debug build shares installation directories with the standard Python
|
||||||
|
runtime, so that .py and .pyc files can be shared.
|
||||||
|
Compiled extension modules use a special ABI flag ("d") in the filename,
|
||||||
|
so extensions for both verisons can co-exist in the same directory.
|
||||||
|
%endif # with debug_build
|
||||||
|
|
||||||
|
|
||||||
|
%package -n python36-rpm-macros
|
||||||
|
Summary: RPM macros for building RPMs with Python 3.6
|
||||||
|
Provides: python36-modular-devel = %{version}-%{release}
|
||||||
|
Provides: python-modular-rpm-macros == 3.6
|
||||||
|
Conflicts: python-modular-rpm-macros > 3.6
|
||||||
|
Requires: python3-rpm-macros
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%description -n python36-rpm-macros
|
||||||
|
RPM macros for building RPMs with Python 3.6 from the python36 module.
|
||||||
|
If you want to build an RPM against the python36 module, you need to
|
||||||
|
BuildRequire: python36-rpm-macros.
|
||||||
|
|
||||||
|
|
||||||
|
%prep
|
||||||
|
cp %{SOURCE0} LICENSE
|
||||||
|
cp %{SOURCE1} README
|
||||||
|
|
||||||
|
|
||||||
|
%build
|
||||||
|
|
||||||
|
|
||||||
|
%install
|
||||||
|
mkdir -p %{buildroot}%{_bindir}
|
||||||
|
mkdir -p %{buildroot}%{_mandir}/man1/
|
||||||
|
|
||||||
|
# Symlink the executable to libexec
|
||||||
|
ln -s %{_libexecdir}/platform-python%{pybasever} %{buildroot}%{_bindir}/python%{pybasever}
|
||||||
|
|
||||||
|
# Symlink the config executables
|
||||||
|
ln -s python%{LDVERSION_optimized}-config %{buildroot}%{_bindir}/python%{pybasever}-config
|
||||||
|
|
||||||
|
# LDVERSION specific section
|
||||||
|
InstallPython() {
|
||||||
|
LDVersion=$1
|
||||||
|
|
||||||
|
# Symlink python*-config to libexec
|
||||||
|
ln -s %{_libexecdir}/platform-python${LDVersion}-config %{buildroot}%{_bindir}/python${LDVersion}-config
|
||||||
|
ln -s %{_libexecdir}/platform-python${LDVersion}-`uname -m`-config %{buildroot}%{_bindir}/python${LDVersion}-`uname -m`-config
|
||||||
|
|
||||||
|
# Symlink optimized and debug executables
|
||||||
|
ln -s %{_libexecdir}/platform-python${LDVersion} %{buildroot}%{_bindir}/python${LDVersion}
|
||||||
|
}
|
||||||
|
|
||||||
|
%if %{with debug_build}
|
||||||
|
InstallPython %{LDVERSION_debug}
|
||||||
|
# General debug symlinks
|
||||||
|
ln -s python%{LDVERSION_debug}-config %{buildroot}%{_bindir}/python%{pybasever}-debug-config
|
||||||
|
ln -s python%{LDVERSION_debug} %{buildroot}%{_bindir}/python%{pybasever}-debug
|
||||||
|
%endif # with debug_build
|
||||||
|
|
||||||
|
InstallPython %{LDVERSION_optimized}
|
||||||
|
|
||||||
|
# Python RPM macros
|
||||||
|
mkdir -p %{buildroot}/%{rpmmacrodir}/
|
||||||
|
install -m 644 %{SOURCE2} \
|
||||||
|
%{buildroot}/%{rpmmacrodir}/
|
||||||
|
|
||||||
|
# All ghost files controlled by alternatives need to exist for the files
|
||||||
|
# section check to succeed
|
||||||
|
# - Don't list /usr/bin/python as a ghost file so `yum install /usr/bin/python`
|
||||||
|
# doesn't install this package
|
||||||
|
touch %{buildroot}%{_bindir}/unversioned-python
|
||||||
|
touch %{buildroot}%{_mandir}/man1/python.1.gz
|
||||||
|
touch %{buildroot}%{_bindir}/python3
|
||||||
|
touch %{buildroot}%{_mandir}/man1/python3.1.gz
|
||||||
|
touch %{buildroot}%{_bindir}/pip3
|
||||||
|
touch %{buildroot}%{_bindir}/pip-3
|
||||||
|
touch %{buildroot}%{_bindir}/easy_install-3
|
||||||
|
touch %{buildroot}%{_bindir}/pydoc3
|
||||||
|
touch %{buildroot}%{_bindir}/pydoc-3
|
||||||
|
touch %{buildroot}%{_bindir}/pyvenv-3
|
||||||
|
touch %{buildroot}%{_bindir}/python3-config
|
||||||
|
touch %{buildroot}%{_bindir}/python3-debug
|
||||||
|
touch %{buildroot}%{_bindir}/python3-debug-config
|
||||||
|
|
||||||
|
|
||||||
|
%post
|
||||||
|
# Alternative for /usr/bin/python -> /usr/bin/python3 + man page
|
||||||
|
alternatives --install %{_bindir}/unversioned-python \
|
||||||
|
python \
|
||||||
|
%{_bindir}/python3 \
|
||||||
|
300 \
|
||||||
|
--slave %{_bindir}/python \
|
||||||
|
unversioned-python \
|
||||||
|
%{_bindir}/python3 \
|
||||||
|
--slave %{_mandir}/man1/python.1.gz \
|
||||||
|
unversioned-python-man \
|
||||||
|
%{_mandir}/man1/python3.1.gz
|
||||||
|
|
||||||
|
# Alternative for /usr/bin/python3 -> /usr/bin/python3.6
|
||||||
|
# Create only if it doesn't exist already
|
||||||
|
EXISTS=`alternatives --display python3 | \
|
||||||
|
grep -c "^/usr/bin/python3.6 - priority [0-9]*"`
|
||||||
|
|
||||||
|
if [ $EXISTS -eq 0 ]; then
|
||||||
|
alternatives --install %{_bindir}/python3 \
|
||||||
|
python3 \
|
||||||
|
%{_bindir}/python3.6 \
|
||||||
|
1000000 \
|
||||||
|
--slave %{_mandir}/man1/python3.1.gz \
|
||||||
|
python3-man \
|
||||||
|
%{_mandir}/man1/python3.6.1.gz \
|
||||||
|
--slave %{_bindir}/pip3 \
|
||||||
|
pip3 \
|
||||||
|
%{_bindir}/pip3.6 \
|
||||||
|
--slave %{_bindir}/pip-3 \
|
||||||
|
pip-3 \
|
||||||
|
%{_bindir}/pip-3.6 \
|
||||||
|
--slave %{_bindir}/easy_install-3 \
|
||||||
|
easy_install-3 \
|
||||||
|
%{_bindir}/easy_install-3.6 \
|
||||||
|
--slave %{_bindir}/pydoc3 \
|
||||||
|
pydoc3 \
|
||||||
|
%{_bindir}/pydoc3.6 \
|
||||||
|
--slave %{_bindir}/pydoc-3 \
|
||||||
|
pydoc-3 \
|
||||||
|
%{_bindir}/pydoc3.6 \
|
||||||
|
--slave %{_bindir}/pyvenv-3 \
|
||||||
|
pyvenv-3 \
|
||||||
|
%{_bindir}/pyvenv-3.6
|
||||||
|
fi
|
||||||
|
|
||||||
|
%postun
|
||||||
|
# Do this only during uninstall process (not during update)
|
||||||
|
if [ $1 -eq 0 ]; then
|
||||||
|
alternatives --remove python3 \
|
||||||
|
%{_bindir}/python3.6
|
||||||
|
|
||||||
|
# Remove link python → python3 if no other python3.* exists
|
||||||
|
if ! alternatives --display python3 > /dev/null; then
|
||||||
|
alternatives --remove python \
|
||||||
|
%{_bindir}/python3
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
%post -n python36-devel
|
||||||
|
alternatives --add-slave python3 %{_bindir}/python3.6 \
|
||||||
|
%{_bindir}/python3-config \
|
||||||
|
python3-config \
|
||||||
|
%{_bindir}/python3.6-config
|
||||||
|
|
||||||
|
%postun -n python36-devel
|
||||||
|
# Do this only during uninstall process (not during update)
|
||||||
|
if [ $1 -eq 0 ]; then
|
||||||
|
alternatives --remove-slave python3 %{_bindir}/python3.6 \
|
||||||
|
python3-config
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
%post -n python36-debug
|
||||||
|
alternatives --add-slave python3 %{_bindir}/python3.6 \
|
||||||
|
%{_bindir}/python3-debug \
|
||||||
|
python3-debug \
|
||||||
|
%{_bindir}/python3.6-debug
|
||||||
|
alternatives --add-slave python3 %{_bindir}/python3.6 \
|
||||||
|
%{_bindir}/python3-debug-config \
|
||||||
|
python3-debug-config \
|
||||||
|
%{_bindir}/python3.6-debug-config
|
||||||
|
|
||||||
|
%postun -n python36-debug
|
||||||
|
# Do this only during uninstall process (not during update)
|
||||||
|
if [ $1 -eq 0 ]; then
|
||||||
|
alternatives --remove-slave python3 %{_bindir}/python3.6 \
|
||||||
|
python3-debug
|
||||||
|
alternatives --remove-slave python3 %{_bindir}/python3.6 \
|
||||||
|
python3-debug-config
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
%files
|
||||||
|
%license LICENSE
|
||||||
|
%doc README
|
||||||
|
%{_bindir}/python%{pybasever}
|
||||||
|
%{_bindir}/python%{LDVERSION_optimized}
|
||||||
|
%ghost %{_bindir}/unversioned-python
|
||||||
|
%ghost %{_mandir}/man1/python.1.gz
|
||||||
|
%ghost %{_bindir}/python3
|
||||||
|
%ghost %{_mandir}/man1/python3.1.gz
|
||||||
|
%ghost %{_bindir}/pip3
|
||||||
|
%ghost %{_bindir}/pip-3
|
||||||
|
%ghost %{_bindir}/easy_install-3
|
||||||
|
%ghost %{_bindir}/pydoc3
|
||||||
|
%ghost %{_bindir}/pydoc-3
|
||||||
|
%ghost %{_bindir}/pyvenv-3
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%license LICENSE
|
||||||
|
%doc README
|
||||||
|
%{_bindir}/python%{pybasever}-config
|
||||||
|
%{_bindir}/python%{LDVERSION_optimized}-config
|
||||||
|
%{_bindir}/python%{LDVERSION_optimized}-*-config
|
||||||
|
%ghost %{_bindir}/python3-config
|
||||||
|
|
||||||
|
%files debug
|
||||||
|
%license LICENSE
|
||||||
|
%doc README
|
||||||
|
%{_bindir}/python%{LDVERSION_debug}
|
||||||
|
%{_bindir}/python%{LDVERSION_debug}-config
|
||||||
|
%{_bindir}/python%{LDVERSION_debug}-*-config
|
||||||
|
%{_bindir}/python%{pybasever}-debug-config
|
||||||
|
%{_bindir}/python%{pybasever}-debug
|
||||||
|
%ghost %{_bindir}/python3-debug
|
||||||
|
%ghost %{_bindir}/python3-debug-config
|
||||||
|
|
||||||
|
%files -n python36-rpm-macros
|
||||||
|
%license LICENSE
|
||||||
|
%doc README
|
||||||
|
%{rpmmacrodir}/macros.python36
|
||||||
|
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Fri May 07 2021 Charalampos Stratakis <cstratak@redhat.com> - 3.6.8-37
|
||||||
|
- Bump the release to a number higher than RHEL7
|
||||||
|
- Resolves: rhbz#1954567
|
||||||
|
|
||||||
|
* Thu Apr 25 2019 Tomas Orsava <torsava@redhat.com> - 3.6.8-2
|
||||||
|
- Bumping due to problems with modular RPM upgrade path
|
||||||
|
- Resolves: rhbz#1695587
|
||||||
|
|
||||||
|
* Mon Jan 21 2019 Charalampos Stratakis <cstratak@redhat.com> - 3.6.8-1
|
||||||
|
- Sync version-release with the python3 component
|
||||||
|
- Resolves: rhbz#1658271
|
||||||
|
|
||||||
|
* Tue Dec 04 2018 Tomas Orsava <torsava@redhat.com> - 3.6.6-18
|
||||||
|
- Remove the Python source tarball as it's not being used in this symlink
|
||||||
|
component
|
||||||
|
- Create a new explanatory README
|
||||||
|
- Resolves: rhbz#1654867
|
||||||
|
|
||||||
|
* Tue Oct 16 2018 Tomas Orsava <torsava@redhat.com> - 3.6.6-17
|
||||||
|
- Slightly edit the description
|
||||||
|
- Related: rhbz#1633534
|
||||||
|
|
||||||
|
* Sun Oct 14 2018 Tomas Orsava <torsava@redhat.com> - 3.6.6-16
|
||||||
|
- Add Requires (/post/postun) on /usr/sbin/alternatives
|
||||||
|
- Resolves: rhbz#1633534
|
||||||
|
|
||||||
|
* Fri Oct 12 2018 Tomas Orsava <torsava@redhat.com> - 3.6.6-15
|
||||||
|
- Don't list /usr/bin/python as a ghost file so `yum install /usr/bin/python`
|
||||||
|
doesn't install this package
|
||||||
|
- Resolves: rhbz#1633534
|
||||||
|
|
||||||
|
* Mon Oct 08 2018 Tomas Orsava <torsava@redhat.com> - 3.6.6-14
|
||||||
|
- Set a special Provides tag that advertises the `python36` package as an
|
||||||
|
alternative to the non-existing `python` package
|
||||||
|
- Resolves: rhbz#1633561
|
||||||
|
|
||||||
|
* Tue Oct 02 2018 Tomas Orsava <torsava@redhat.com> - 3.6.6-13.1
|
||||||
|
- Fix update of alternatives in the devel and debug packages
|
||||||
|
- Resolves: rhbz#1633534
|
||||||
|
|
||||||
|
* Sat Sep 29 2018 Tomas Orsava <torsava@redhat.com> - 3.6.6-13
|
||||||
|
- Provide the name `python3`, `python3-devel` and `python3-debug` from their
|
||||||
|
respective packages to provide a sane default for Python 3
|
||||||
|
- Provide the name `python36-modular-devel` from python36-rpm-macros so it's
|
||||||
|
easier to remember and describe in documentation
|
||||||
|
- Sync version-release with the python3 component
|
||||||
|
- Resolves: rhbz#1632637
|
||||||
|
|
||||||
|
* Sat Sep 29 2018 Tomas Orsava <torsava@redhat.com> - 3.6-7
|
||||||
|
- Implement the alternatives system for Python in RHEL8
|
||||||
|
- Resolves: rhbz#1633534
|
||||||
|
|
||||||
|
* Tue Sep 25 2018 Tomas Orsava <torsava@redhat.com> - 3.6-6
|
||||||
|
- Require the Python interpreter directly instead of using the package name
|
||||||
|
- Related: rhbz#1619153
|
||||||
|
|
||||||
|
* Tue Aug 14 2018 Lumír Balhar <lbalhar@redhat.com> - 3.6-5
|
||||||
|
- Add general symlinks python3.6-debug[-config] for symlinks modules
|
||||||
|
- Resolves: rhbz#1615727
|
||||||
|
|
||||||
|
* Sat Aug 04 2018 Tomas Orsava <torsava@redhat.com> - 3.6-4
|
||||||
|
- Switched devel subpackage's dependency from python3-devel to
|
||||||
|
python3-libs-devel: python3-devel is now buildroot only and the contents were
|
||||||
|
moved to python3-libs-devel
|
||||||
|
|
||||||
|
* Tue Jul 31 2018 Tomas Orsava <torsava@redhat.com> - 3.6-3
|
||||||
|
- Make the python36-rpm-macros package noarch
|
||||||
|
|
||||||
|
* Wed Apr 04 2018 Tomas Orsava <torsava@redhat.com> - 3.6-2
|
||||||
|
- Include python36-rpm-macros for building RPMs against this module
|
||||||
|
|
||||||
|
* Wed Apr 04 2018 Tomas Orsava <torsava@redhat.com> - 3.6-1
|
||||||
|
- This new package python36 will belong to the python36 module that will house
|
||||||
|
symlinks from /usr/bin/python* to /usr/libexec/platform-python* et al.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user