Compare commits
No commits in common. "c8" and "stream-python36-3.6-rhel-8.5.0" have entirely different histories.
c8
...
stream-pyt
1
.gitignore
vendored
1
.gitignore
vendored
@ -1 +0,0 @@
|
||||
SOURCES/Python-3.6.3.tar.xz
|
@ -1 +0,0 @@
|
||||
6c71b14bdbc4d8aa0cfd59d4b6dc356d46abfdf5 SOURCES/Python-3.6.3.tar.xz
|
254
LICENSE
Normal file
254
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
README
Normal file
7
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,224 +0,0 @@
|
||||
# ==================
|
||||
# IMPORTANT
|
||||
# ==================
|
||||
|
||||
# This package is intended only for the RHEL8 buildroot, and therefore
|
||||
# it's blocked from going into the rhel-8.0-candidate tag.
|
||||
# See: https://projects.engineering.redhat.com/browse/RCM-37705
|
||||
#
|
||||
# To build it, use the `-skip-tag` option and then tag the build into
|
||||
# the `rhel-8.0-override` tag.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# ==================
|
||||
# Top-level metadata
|
||||
# ==================
|
||||
|
||||
%global pybasever 3.6
|
||||
|
||||
Name: python36
|
||||
Version: %{pybasever}.6
|
||||
Release: 13.buildroot%{?dist}
|
||||
Summary: Interpreter of the Python programming language
|
||||
|
||||
License: Python
|
||||
URL: https://www.python.org/
|
||||
Source: https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tar.xz
|
||||
%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
|
||||
|
||||
Requires: %{_libexecdir}/platform-python
|
||||
|
||||
%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 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. Documentation for Python is provided in the\
|
||||
python3-docs package.
|
||||
|
||||
%description %_description
|
||||
|
||||
|
||||
%package devel
|
||||
Summary: Libraries and header files needed for Python development
|
||||
Requires: python36
|
||||
Requires: platform-python-devel
|
||||
|
||||
%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.
|
||||
|
||||
It also contains the necessary macros to build RPM packages with Python modules.
|
||||
|
||||
|
||||
%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
|
||||
|
||||
%description debug
|
||||
python3-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
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -n Python-3.6.3
|
||||
|
||||
|
||||
%build
|
||||
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}%{_bindir}
|
||||
|
||||
# Symlink the executable to libexec
|
||||
ln -s %{_libexecdir}/platform-python%{pybasever} %{buildroot}%{_bindir}/python%{pybasever}
|
||||
# Additional symlink for buildroot
|
||||
ln -s %{_bindir}/python%{pybasever} %{buildroot}%{_bindir}/python3
|
||||
|
||||
# Symlink the config executables
|
||||
ln -s python%{LDVERSION_optimized}-config %{buildroot}%{_bindir}/python%{pybasever}-config
|
||||
# Additional symlink for buildroot
|
||||
ln -s %{_bindir}/python%{pybasever}-config %{buildroot}%{_bindir}/python3-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
|
||||
# Additional symlinks for buildroot
|
||||
ln -s %{_bindir}/python%{pybasever}-debug-config %{buildroot}%{_bindir}/python3-debug-config
|
||||
ln -s %{_bindir}/python%{pybasever}-debug %{buildroot}%{_bindir}/python3-debug
|
||||
%endif # with debug_build
|
||||
|
||||
InstallPython %{LDVERSION_optimized}
|
||||
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%doc README.rst
|
||||
%{_bindir}/python%{pybasever}
|
||||
%{_bindir}/python%{LDVERSION_optimized}
|
||||
%{_bindir}/python3
|
||||
|
||||
%files devel
|
||||
%license LICENSE
|
||||
%doc README.rst
|
||||
%{_bindir}/python%{pybasever}-config
|
||||
%{_bindir}/python%{LDVERSION_optimized}-config
|
||||
%{_bindir}/python%{LDVERSION_optimized}-*-config
|
||||
%{_bindir}/python3-config
|
||||
|
||||
%files debug
|
||||
%license LICENSE
|
||||
%doc README.rst
|
||||
%{_bindir}/python%{LDVERSION_debug}
|
||||
%{_bindir}/python%{LDVERSION_debug}-config
|
||||
%{_bindir}/python%{LDVERSION_debug}-*-config
|
||||
%{_bindir}/python%{pybasever}-debug-config
|
||||
%{_bindir}/python%{pybasever}-debug
|
||||
%{_bindir}/python3-debug
|
||||
%{_bindir}/python3-debug-config
|
||||
|
||||
|
||||
# IMPORTANT #
|
||||
# See note at the top of the spec file #
|
||||
%changelog
|
||||
* Sat Sep 29 2018 Tomas Orsava <torsava@redhat.com> - 3.6.6-13.buildroot
|
||||
- Merged `stream-3.6` branch into the `rhel-8.0` branch for the buildroot
|
||||
- Differences:
|
||||
- Don't provide `python3-devel` from the `python36-devel` package because
|
||||
`python3-devel` itself is actually available in the buildroot
|
||||
- Instead of using the `alternatives`, simply simplink the main executables
|
||||
(python3, python3-config,...)
|
||||
- Resolves: rhbz#1619153
|
||||
|
||||
* Tue Aug 07 2018 Tomas Orsava <torsava@redhat.com> - 3.6-5
|
||||
- Bump
|
||||
|
||||
* Tue Jul 31 2018 Tomas Orsava <torsava@redhat.com> - 3.6-4
|
||||
- Add python3{,-config,-debug} symlinks specially for the buildroot
|
||||
|
||||
* Tue Jul 31 2018 Tomas Orsava <torsava@redhat.com> - 3.6-3
|
||||
- Bump release after revert of commits
|
||||
|
||||
* 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.
|
||||
|
1
macros.python36
Normal file
1
macros.python36
Normal file
@ -0,0 +1 @@
|
||||
%__python3 /usr/bin/python3.6
|
438
python36.spec
Normal file
438
python36.spec
Normal file
@ -0,0 +1,438 @@
|
||||
# ==================
|
||||
# Top-level metadata
|
||||
# ==================
|
||||
|
||||
%global pybasever 3.6
|
||||
|
||||
Name: python36
|
||||
Version: %{pybasever}.8
|
||||
Release: 38%{?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
|
||||
|
||||
# Require alternatives version that implements the --keep-foreign flag
|
||||
Requires: alternatives >= 1.19.1-1
|
||||
Requires(post): alternatives >= 1.19.1-1
|
||||
Requires(postun): alternatives >= 1.19.1-1
|
||||
|
||||
%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
|
||||
|
||||
# Require alternatives version that implements the --keep-foreign flag
|
||||
Requires(postun): alternatives >= 1.19.1-1
|
||||
# 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
|
||||
|
||||
# Require alternatives version that implements the --keep-foreign flag
|
||||
Requires(postun): alternatives >= 1.19.1-1
|
||||
# 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 --keep-foreign --remove python3 \
|
||||
%{_bindir}/python3.6
|
||||
|
||||
# Remove link python → python3 if no other python3.* exists
|
||||
if ! alternatives --display python3 > /dev/null; then
|
||||
alternatives --keep-foreign --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 --keep-foreign --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 --keep-foreign --remove-slave python3 %{_bindir}/python3.6 \
|
||||
python3-debug
|
||||
alternatives --keep-foreign --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
|
||||
* Wed Jul 28 2021 Tomas Orsava <torsava@redhat.com> - 3.6.8-38
|
||||
- Adjusted the postun scriptlets to enable upgrading to RHEL 9
|
||||
- Resolves: rhbz#1933055
|
||||
|
||||
* 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