diff --git a/README.md b/README.md index 981d965..e2f0ac2 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,8 @@ # python310 +Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, Perl, Scheme or Java. +Python combines remarkable power with very clear syntax. It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing. +There are interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac, MFC). New built-in modules are easily written in C or C++. +Python is also usable as an extension language for applications that need a programmable interface. +The Python implementation is portable: it runs on many brands of UNIX, on Windows, DOS, OS/2, Mac, Amiga... + diff --git a/macros.python310 b/macros.python310 new file mode 100644 index 0000000..f70e833 --- /dev/null +++ b/macros.python310 @@ -0,0 +1,26 @@ +%__python310 /usr/bin/python3.10 +#------------------------------------------------------------------------ +# python(...) configuration. +# +# Path to scripts to autogenerate python package dependencies, +# +# Note: Used iff _use_internal_dependency_generator is non-zero. The +# helpers are also used by %{_usrlibrpm}/rpmdeps {--provides|--requires}. +%__python310_provides %{_usrlibrpm}/pythondeps310.sh --provides +%__python310_requires %{_usrlibrpm}/pythondeps310.sh --requires + +# Useful macros for building *.rpm python packages (for python > 1.6). +# +%python310_sitearch %(%{__python310} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(True));") +%python310_sitelib %(%{__python310} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") +%python310_inc %(%{__python310} -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") +%python310_version %(%{__python310} -c "import sys; print(sys.version[0:3])") + +%py310_compile(O) \ +find %1 -name '*.pyc' -name '*.pyo' -exec rm -f {} \\; \ +%{__python310} %{?O:-O} -c "import sys, os, compileall; br='%{buildroot}'; compileall.compile_dir(sys.argv[1], ddir=br and (sys.argv[1][len(os.path.abspath(br)):]+'/') or None)" %1 \ + +%py310_requires(d) \ +%define maxver %(%{__python310} -c "import sys; a,b=sys.version_info[:2]; print('%%d.%%d'%%(a,b+1))" 2>/dev/null || echo PYTHON-NOT-FOUND) \ +BuildRequires: python310, libpython310-devel \ +Requires(pre): python310 >= %{python310_version}, python310 < %{maxver} diff --git a/python-2.4.2-cgi.patch b/python-2.4.2-cgi.patch new file mode 100644 index 0000000..91da6fc --- /dev/null +++ b/python-2.4.2-cgi.patch @@ -0,0 +1,8 @@ +--- Python-2.4.2/Lib/cgi.py.orig 2006-02-27 11:22:07.000000000 +0100 ++++ Python-2.4.2/Lib/cgi.py 2006-02-27 11:22:39.000000000 +0100 +@@ -1,4 +1,4 @@ +-#! /usr/local/bin/python ++#! /usr/bin/python + + # NOTE: the above "/usr/local/bin/python" is NOT a mistake. It is + # intentionally NOT "/usr/bin/env python". On many systems diff --git a/python-2.4.2-tex3-fix.patch b/python-2.4.2-tex3-fix.patch new file mode 100644 index 0000000..460ab61 --- /dev/null +++ b/python-2.4.2-tex3-fix.patch @@ -0,0 +1,48 @@ +diff -ru Python-2.4.2/Doc/texinputs/howto.cls Python-2.4.2-fix/Doc/texinputs/howto.cls +--- Python-2.4.2/Doc/texinputs/howto.cls 2005-09-04 16:20:30.000000000 +0000 ++++ Python-2.4.2-fix/Doc/texinputs/howto.cls 2005-09-30 14:47:11.000000000 +0000 +@@ -56,10 +56,16 @@ + % changes \\ to ', ' (comma-space), making it pass muster for + % generating document info in the PDF file. + \def\\{, } +- \pdfinfo{ +- /Author (\@author) +- /Title (\@title) +- } ++ \ifx\pdfoutput\relax ++ \else ++ \ifcase\pdfoutput ++ \else ++ \pdfinfo{% ++ /Author (\@author) ++ /Title (\@title) ++ } ++ \fi ++ \fi + \endgroup + \fi + \begin{flushright} +diff -ru Python-2.4.2/Doc/texinputs/manual.cls Python-2.4.2-fix/Doc/texinputs/manual.cls +--- Python-2.4.2/Doc/texinputs/manual.cls 2005-09-04 16:20:30.000000000 +0000 ++++ Python-2.4.2-fix/Doc/texinputs/manual.cls 2005-09-30 14:47:50.000000000 +0000 +@@ -70,10 +70,16 @@ + % changes \\ to ', ' (comma-space), making it pass muster for + % generating document info in the PDF file. + \def\\{, } +- \pdfinfo{ +- /Author (\@author) +- /Title (\@title) +- } ++ \ifx\pdfoutput\relax ++ \else ++ \ifcase\pdfoutput ++ \else ++ \pdfinfo{% ++ /Author (\@author) ++ /Title (\@title) ++ } ++ \fi ++ \fi + \endgroup + \fi + \begin{flushright}% diff --git a/python-2.7.3-use_system_Sphinx.patch b/python-2.7.3-use_system_Sphinx.patch new file mode 100644 index 0000000..9bd4641 --- /dev/null +++ b/python-2.7.3-use_system_Sphinx.patch @@ -0,0 +1,14 @@ +--- Python-2.7.3/Doc/Makefile.orig 2013-12-07 12:55:35.922434354 +0000 ++++ Python-2.7.3/Doc/Makefile 2013-12-07 12:56:03.566148691 +0000 +@@ -57,9 +57,9 @@ + + update: clean checkout + +-build: checkout ++build: + mkdir -p build/$(BUILDER) build/doctrees +- $(PYTHON) tools/sphinx-build.py $(ALLSPHINXOPTS) ++ sphinx-build $(ALLSPHINXOPTS) + @echo + + html: BUILDER = html diff --git a/python3-3.7.4-lib64.patch b/python3-3.7.4-lib64.patch new file mode 100644 index 0000000..19f4cb3 --- /dev/null +++ b/python3-3.7.4-lib64.patch @@ -0,0 +1,153 @@ +diff -ru Python-3.7.4.orig/Lib/distutils/command/install.py Python-3.7.4/Lib/distutils/command/install.py +--- Python-3.7.4.orig/Lib/distutils/command/install.py 2019-07-08 20:03:50.000000000 +0200 ++++ Python-3.7.4/Lib/distutils/command/install.py 2019-08-28 15:52:48.373000000 +0200 +@@ -30,14 +30,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$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 -ru Python-3.7.4.orig/Lib/distutils/sysconfig.py Python-3.7.4/Lib/distutils/sysconfig.py +--- Python-3.7.4.orig/Lib/distutils/sysconfig.py 2019-07-08 20:03:50.000000000 +0200 ++++ Python-3.7.4/Lib/distutils/sysconfig.py 2019-08-28 15:52:48.377000000 +0200 +@@ -147,8 +147,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 -ru Python-3.7.4.orig/Lib/site.py Python-3.7.4/Lib/site.py +--- Python-3.7.4.orig/Lib/site.py 2019-07-08 20:03:50.000000000 +0200 ++++ Python-3.7.4/Lib/site.py 2019-08-28 15:54:01.948000000 +0200 +@@ -334,11 +334,15 @@ + seen.add(prefix) + + if os.sep == '/': ++ sitepackages.append(os.path.join(prefix, "lib64", ++ "python%d.%d" % sys.version_info[:2], ++ "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 -ru Python-3.7.4.orig/Lib/sysconfig.py Python-3.7.4/Lib/sysconfig.py +--- Python-3.7.4.orig/Lib/sysconfig.py 2019-07-08 20:03:50.000000000 +0200 ++++ Python-3.7.4/Lib/sysconfig.py 2019-08-28 15:52:48.380000000 +0200 +@@ -20,10 +20,10 @@ + + _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 @@ + '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 -ru Python-3.7.4.orig/Lib/test/test_site.py Python-3.7.4/Lib/test/test_site.py +--- Python-3.7.4.orig/Lib/test/test_site.py 2019-07-08 20:03:50.000000000 +0200 ++++ Python-3.7.4/Lib/test/test_site.py 2019-08-28 15:52:48.380000000 +0200 +@@ -270,7 +270,7 @@ + if os.sep == '/': + # OS X, Linux, FreeBSD, etc + self.assertEqual(len(dirs), 1) +- wanted = os.path.join('xoxo', 'lib', ++ wanted = os.path.join('xoxo', 'lib64', + 'python%d.%d' % sys.version_info[:2], + 'site-packages') + self.assertEqual(dirs[0], wanted) +@@ -278,7 +278,7 @@ + # other platforms + self.assertEqual(len(dirs), 2) + self.assertEqual(dirs[0], 'xoxo') +- wanted = os.path.join('xoxo', 'lib', 'site-packages') ++ wanted = os.path.join('xoxo', 'lib64', 'site-packages') + self.assertEqual(dirs[1], wanted) + + def test_no_home_directory(self): +diff -ru Python-3.7.4.orig/Makefile.pre.in Python-3.7.4/Makefile.pre.in +--- Python-3.7.4.orig/Makefile.pre.in 2019-07-08 20:03:50.000000000 +0200 ++++ Python-3.7.4/Makefile.pre.in 2019-08-28 15:52:48.381000000 +0200 +@@ -144,7 +144,7 @@ + MANDIR= @mandir@ + INCLUDEDIR= @includedir@ + CONFINCLUDEDIR= $(exec_prefix)/include +-SCRIPTDIR= $(prefix)/lib ++SCRIPTDIR= $(prefix)/lib64 + ABIFLAGS= @ABIFLAGS@ + + # Detailed destination directories +diff -ru Python-3.7.4.orig/Modules/getpath.c Python-3.7.4/Modules/getpath.c +--- Python-3.7.4.orig/Modules/getpath.c 2019-07-08 20:03:50.000000000 +0200 ++++ Python-3.7.4/Modules/getpath.c 2019-08-28 15:52:48.382000000 +0200 +@@ -787,7 +787,7 @@ + else { + wcsncpy(calculate->zip_path, calculate->prefix, MAXPATHLEN); + } +- joinpath(calculate->zip_path, L"lib/python00.zip"); ++ joinpath(calculate->zip_path, L"lib64/python00.zip"); + + /* Replace "00" with version */ + size_t bufsz = wcslen(calculate->zip_path); +@@ -912,7 +912,7 @@ + if (!calculate->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 -ru Python-3.7.4.orig/setup.py Python-3.7.4/setup.py +--- Python-3.7.4.orig/setup.py 2019-07-08 20:03:50.000000000 +0200 ++++ Python-3.7.4/setup.py 2019-08-28 15:52:48.384000000 +0200 +@@ -585,7 +585,7 @@ + # 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: diff --git a/python310.spec b/python310.spec new file mode 100644 index 0000000..4a1d656 --- /dev/null +++ b/python310.spec @@ -0,0 +1,493 @@ +# majversion define needed when upgrading from 2.x to 2.(x+1) releases +%define majversion %(echo %version | cut -d. -f 1-2) +%define libname libpython310 +%define __libdir %{_libdir} +Name: python310 +Version: 3.10.2 +Release: 1mamba +Summary: An interpreted, interactive, object-oriented programming language +Group: Applications/Development +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: https://www.python.org +Source: http://www.python.org/ftp/python/%{version}/Python-%{version}.tar.xz +Source1: macros.python310 +Source2: pythondeps310.sh +Patch0: python-2.4.2-tex3-fix.patch +Patch1: python-2.4.2-cgi.patch +Patch2: python-2.7.3-use_system_Sphinx.patch +Patch3: python3-3.7.4-lib64.patch +License: GPL +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: libX11-devel +BuildRequires: libbzip2-devel +BuildRequires: libexpat-devel +BuildRequires: libffi-devel +BuildRequires: libgdbm-devel +BuildRequires: liblzma-devel +BuildRequires: libncurses-devel +BuildRequires: libnsl-devel +BuildRequires: libopenssl-devel +BuildRequires: libreadline-devel +BuildRequires: libsqlite-devel +BuildRequires: libtcl-devel +BuildRequires: libtirpc-devel +BuildRequires: libtk-devel +BuildRequires: libuuid-devel +BuildRequires: libz-devel +## AUTOBUILDREQ-END +BuildRequires: glibc-devel >= 2.3.5 +BuildRequires: libbluez-devel >= 2.21 +%if "%{?bootstrap}" != "1" +BuildRequires: latex2html >= 2002 +BuildRequires: tetex >= 3.0 +BuildRequires: libtk >= 8.4.11 +%endif +BuildRequires: python-pip-py3 +BuildRequires: python-setuptools-py3 +BuildRequires: python-docs-theme-py3 +BuildRequires: python-Sphinx +Requires: %{libname} = %{version}-%{release} +Provides: python-abi = %{majversion} +Provides: python(abi) = %{majversion} +Provides: /usr/bin/python +#Provides: /usr/bin/python3 + +%description +Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, Perl, Scheme or Java. +Python combines remarkable power with very clear syntax. It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing. +There are interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac, MFC). New built-in modules are easily written in C or C++. +Python is also usable as an extension language for applications that need a programmable interface. +The Python implementation is portable: it runs on many brands of UNIX, on Windows, DOS, OS/2, Mac, Amiga... + +%package -n %{libname} +Group: System/Libraries/Python +Summary: Libraries for Python + +%description -n %{libname} +Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, Perl, Scheme or Java. +Python combines remarkable power with very clear syntax. It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing. +There are interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac, MFC). New built-in modules are easily written in C or C++. +Python is also usable as an extension language for applications that need a programmable interface. +The Python implementation is portable: it runs on many brands of UNIX, on Windows, DOS, OS/2, Mac, Amiga... + +This package contains the libraries for Python. + +%package -n %{libname}-devel +Group: Development/Libraries/Python +Summary: Devel package for Python +Requires: %{libname} = %{version}-%{release} +Provides: %{name}-devel = %{version}-%{release} +Obsoletes: %{name}-devel < 3.9.4 + +%description -n %{libname}-devel +Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, Perl, Scheme or Java. +Python combines remarkable power with very clear syntax. It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing. +There are interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac, MFC). New built-in modules are easily written in C or C++. +Python is also usable as an extension language for applications that need a programmable interface. +The Python implementation is portable: it runs on many brands of UNIX, on Windows, DOS, OS/2, Mac, Amiga... +This package contains the development files for Python. + +%package doc +Group: Documentation +Summary: Documentation package for Python +Requires: %{name} = %{version}-%{release} + +%description doc +Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, Perl, Scheme or Java. +Python combines remarkable power with very clear syntax. It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing. +There are interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac, MFC). New built-in modules are easily written in C or C++. +Python is also usable as an extension language for applications that need a programmable interface. +The Python implementation is portable: it runs on many brands of UNIX, on Windows, DOS, OS/2, Mac, Amiga... +This package contains the documentation files for Python in HTML format. + +%package tk +Group: System/Libraries/Python +Summary: Tk library for Python +Requires: %{name} = %{version}-%{release} + +%description tk +Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, Perl, Scheme or Java. +Python combines remarkable power with very clear syntax. It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing. +There are interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac, MFC). New built-in modules are easily written in C or C++. +Python is also usable as an extension language for applications that need a programmable interface. +The Python implementation is portable: it runs on many brands of UNIX, on Windows, DOS, OS/2, Mac, Amiga... +This package contains the tk library for Python. + +%debug_package + +%prep +%setup -q -n Python-%{version} +#-D -T +#:<< _EOF +#%patch0 -p1 +#%patch1 -p1 +#%patch2 -p1 +%ifarch x86_64 aarch64 +#%patch3 -p1 +%endif + +sed -i -e "s|^#.* /usr/local/bin/python|#!/usr/bin/python|" Lib/cgi.py + +%build +#:<< _EOF +%configure \ + --libdir=%{__libdir} \ + --enable-ipv6 \ + --enable-shared \ + --with-system-ffi \ + --with-system-expat \ + --with-platlibdir=%{_lib} \ + --without-ensurepip \ +%ifnarch arm + --enable-optimizations +%endif + +%make + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +%makeinstall + +%if "%{?bootstrap}" != "1" +:<< __DISABLED_SPHINX_4 +# build the HTML documentation +cd Doc + +###sed -i s@/usr/bin/env@/bin/env@ tools/mkhowto +PATH=$PATH:%{_builddir}/Python-%{version}/Doc/tools +make html + +install -d %{buildroot}%{_defaultdocdir}/%{name}-%{version} +cp -R build/html build/doctrees %{buildroot}%{_defaultdocdir}/%{name}-%{version} +rm -f `find %{buildroot}%{_defaultdocdir}/%{name}-%{version}/html/.cvsignore` + +#make PAPER=a4 pdf +__DISABLED_SPHINX_4 +%endif +rm -f `find %{buildroot}%{_docdir}/%{name}-%{version}/html/.buildinfo` +install -D -m0644 %{SOURCE1} %{buildroot}%{_rpmmacrodir}/macros.python310 +install -D -m0755 %{SOURCE2} %{buildroot}%{_prefix}/lib/rpm/pythondeps310.sh + +#rm %{buildroot}%{_includedir}/python +rm %{buildroot}%{_bindir}/2to3 +rm %{buildroot}%{_bindir}/python3 +rm -f %{buildroot}%{_bindir}/idle3 +rm -f %{buildroot}%{_bindir}/pip3* +rm -f %{buildroot}%{_bindir}/pydoc3 +rm -f %{buildroot}%{_bindir}/easy_install-3* +rm -f %{buildroot}%{_bindir}/python3-config* +rm -f %{buildroot}%{_libdir}/libpython3.so +rm -f %{buildroot}%{_libdir}/pkgconfig/python3.pc +rm -f %{buildroot}%{_mandir}/man1/python3.1* +rm -f %{buildroot}%{_libdir}/pkgconfig/python3-embed.pc + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%post +if [ $1 -ge 1 ]; then + /usr/sbin/update-alternatives --install %{_bindir}/python python %{_bindir}/python%{majversion} 77 + /usr/sbin/update-alternatives --install %{_bindir}/python3 python3 %{_bindir}/python%{majversion} 77 +fi +exit 0 + +%preun +if [ $1 -eq 0 ]; then + /usr/sbin/update-alternatives --remove python %{_bindir}/python%{majversion} + /usr/sbin/update-alternatives --remove python3 %{_bindir}/python%{majversion} +fi +exit 0 + +%posttrans +if [ $1 -ge 1 ]; then + # fix missing link when upgrading the package which provided a real /usr/bin/python* + [ -e %{_bindir}/python ] || /usr/sbin/update-alternatives --auto python + [ -e %{_bindir}/python3 ] || /usr/sbin/update-alternatives --auto python3 +fi +: + +%post -n %{libname} -p /sbin/ldconfig +%postun -n %{libname} -p /sbin/ldconfig + +%transfiletriggerpostun -P 2000000 -- %{__libdir}/python%{majversion}/site-packages +find %{__libdir}/python%{majversion}/site-packages -name *.egg-info -type d -empty -exec rmdir {} \; +: + +%ifarch x86_64 aarch64 +%transfiletriggerpostun -P 2000000 -- %{_prefix}/lib/python%{majversion}/site-packages +find %{__libdir}/python%{majversion}/site-packages -name *.egg-info -type d -empty -exec rmdir {} \; +: +%endif + +%files +%defattr(-,root,root) +%{_bindir}/2to3-%{majversion} +#%{_bindir}/idle3 +%{_bindir}/idle%{majversion} +#%{_bindir}/pydoc3 +%{_bindir}/pydoc%{majversion} +#%{_bindir}/pyvenv +#%{_bindir}/pyvenv-%{majversion} +#%{_bindir}/python%{majversion}m +%{_bindir}/python%{majversion} +#%{_mandir}/man1/* + +%files -n %{libname} +%defattr(-,root,root) +%dir %{__libdir}/python%{majversion} +%{__libdir}/python%{majversion}/* +#%ifarch x86_64 aarch64 +#%dir %{_prefix}/lib/python%{majversion} +#%{_prefix}/lib/python%{majversion}/* +#%endif +#%{_libdir}/libpython3.so +%{_libdir}/libpython%{majversion}.so +%{_libdir}/libpython%{majversion}.so.* +%if "%{?bootstrap}" != "1" +%exclude %{__libdir}/python%{majversion}/lib-dynload/_tkinter*.so +%endif + +%files -n %{libname}-devel +%defattr(-,root,root) +#%{_sysconfdir}/rpm/macros.pyver +%{_rpmmacrodir}/macros.python* +#%{_bindir}/python3-config +%{_bindir}/python%{majversion}-config +%dir %{_includedir}/python%{majversion} +%{_includedir}/python%{majversion}/*.h +%dir %{_includedir}/python%{majversion}/cpython +%{_includedir}/python%{majversion}/cpython/*.h +%dir %{_includedir}/python%{majversion}/internal +%{_includedir}/python%{majversion}/internal/*.h +%{_libdir}/pkgconfig/python-%{majversion}.pc +#%{_libdir}/pkgconfig/python3.pc +%{_libdir}/pkgconfig/python-%{majversion}-embed.pc +#%{_libdir}/pkgconfig/python3-embed.pc +%{_prefix}/lib/rpm/pythondeps*.sh + +%if "%{?bootstrap}" != "1" +%files tk +%defattr(-,root,root) +%{__libdir}/python%{majversion}/lib-dynload/_tkinter*.so + +#%files doc +#%defattr(-,root,root) +#%dir %{_defaultdocdir}/%{name}-%{version}/html/ +#%{_defaultdocdir}/%{name}-%{version}/html/* +#%dir %{_defaultdocdir}/%{name}-%{version}/doctrees +#%{_defaultdocdir}/%{name}-%{version}/doctrees/* +%endif + +%changelog +* Sat Jan 15 2022 Automatic Build System 3.10.2-1mamba +- automatic version update by autodist + +* Wed Dec 08 2021 Automatic Build System 3.10.1-1mamba +- automatic version update by autodist + +* Sat Oct 16 2021 Automatic Build System 3.10.0-1mamba +- automatic version update by autodist + +* Tue Aug 31 2021 Automatic Build System 3.9.7-1mamba +- automatic version update by autodist + +* Mon Jun 28 2021 Automatic Build System 3.9.6-1mamba +- automatic version update by autodist + +* Fri Jun 18 2021 Silvan Calarco 3.9.5-3mamba +- fix macros.python39 not really fixed in previous release + +* Tue Jun 01 2021 Silvan Calarco 3.9.5-2mamba +- fix macros.python39 file + +* Thu May 20 2021 Automatic Build System 3.9.5-1mamba +- automatic version update by autodist + +* Fri Apr 09 2021 Silvan Calarco 3.9.4-2mamba +- remove some other conflicting files with python3 + +* Mon Apr 05 2021 Automatic Build System 3.9.4-1mamba +- automatic version update by autodist + +* Sun Apr 04 2021 Automatic Build System 3.9.3-1mamba +- automatic version update by autodist + +* Tue Mar 09 2021 Silvan Calarco 3.9.2-2mamba +- fix for /usr/local/bin/python requirement; add transfilepostun triggers to clean .egg-info empty directories + +* Sat Mar 06 2021 Automatic Build System 3.9.2-1mamba +- automatic version update by autodist + +* Fri Jan 01 2021 Silvan Calarco 3.7.9-1mamba +- update to 3.7.9 +- install macros.pyver with custom pyver macros updated and to be moved from macros.python + +* Sun Jul 05 2020 Silvan Calarco 3.7.8-1mamba +- update to 3.7.8 + +* Wed Aug 28 2019 Silvan Calarco 3.7.4-5mamba +- x86_64: fixed patch to support both lib64 and lib sitelib dir + +* Thu Aug 08 2019 Silvan Calarco 3.7.4-4mamba +- fix installation name of pythondeps3.sh + +* Mon Aug 05 2019 Silvan Calarco 3.7.4-3mamba +- add pythondeps3.sh file required by rpm macros.python3 + +* Mon Aug 05 2019 Silvan Calarco 3.7.4-2mamba +- configure %{_bindir}/python3 as an alternative + +* Thu Aug 01 2019 Automatic Build System 3.7.4-1mamba +- automatic version update by autodist + +* Mon Apr 01 2019 Automatic Build System 3.7.3-1mamba +- automatic version update by autodist + +* Mon Jun 27 2016 Automatic Build System 3.5.2-1mamba +- automatic version update by autodist + +* Mon Dec 07 2015 Automatic Build System 3.5.1-1mamba +- automatic version update by autodist + +* Mon Sep 14 2015 Automatic Build System 3.5.0-1mamba +- automatic version update by autodist + +* Sun Mar 01 2015 Automatic Build System 3.4.3-1mamba +- automatic version update by autodist + +* Thu Oct 09 2014 Automatic Build System 3.4.2-1mamba +- automatic version update by autodist + +* Sat Jun 28 2014 Automatic Build System 3.4.1-1mamba +- automatic version update by autodist + +* Tue Mar 18 2014 Automatic Build System 3.4.0-1mamba +- automatic version update by autodist + +* Wed Mar 12 2014 Automatic Build System 3.3.5-1mamba +- automatic version update by autodist + +* Wed Feb 12 2014 Silvan Calarco 3.3.4-1mamba +- update to 3.3.4 + +* Sat Jan 25 2014 Silvan Calarco 3.3.3-2mamba +- x86_64: added lib64 patch to install under /usr/lib64 + +* Mon Dec 09 2013 Automatic Build System 3.3.3-1mamba +- automatic version update by autodist + +* Thu May 16 2013 Automatic Build System 3.3.2-1mamba +- automatic version update by autodist + +* Sun Apr 07 2013 Automatic Build System 3.3.1-1mamba +- automatic version update by autodist + +* Sun Oct 07 2012 Automatic Build System 3.3.0-1mamba +- automatic version update by autodist + +* Thu Apr 12 2012 Automatic Build System 3.2.3-1mamba +- automatic version update by autodist + +* Sat Jan 21 2012 Silvan Calarco 3.2.2-2mamba +- macros.python: rename py_requires and py_compile to py3_requires and py3_compile + +* Mon Oct 03 2011 Automatic Build System 3.2.2-1mamba +- automatic version update by autodist + +* Tue Aug 30 2011 Silvan Calarco 3.2.1-4mamba +- also fixed print function in maxver definition in /etc/rpm/macros.python3 + +* Mon Aug 29 2011 Silvan Calarco 3.2.1-3mamba +- rebuilt with wide-unicode support + +* Mon Aug 29 2011 Silvan Calarco 3.2.1-2mamba +- rename /etc/rpm/macros.python to /etc/rpm/macros.python3 + +* Mon Jul 11 2011 Automatic Build System 3.2.1-1mamba +- automatic update by autodist + +* Sun Mar 06 2011 Automatic Build System 3.2-1mamba +- automatic update by autodist + +* Sun Nov 28 2010 Automatic Build System 3.1.3-1mamba +- automatic update by autodist + +* Mon Mar 22 2010 Automatic Build System 3.1.2-1mamba +- automatic update to 3.1.2 by autodist + +* Mon Aug 17 2009 Automatic Build System 3.1.1-1mamba +- automatic update to 3.1.1 by autodist + +* Mon Jun 29 2009 Automatic Build System 3.1-1mamba +- automatic update to 3.1 by autodist + +* Sun Jan 25 2009 Silvan Calarco 2.6-4mamba +- raise alternative priority to overcome python 2.4 and make the default + +* Thu Oct 23 2008 Silvan Calarco 2.6-3mamba +- python-devel: install rpm's macros.python file + +* Thu Oct 16 2008 Silvan Calarco 2.6-2mamba +- removed /usr/lib/site-packages directory +- fixed maintainer email + +* Thu Oct 02 2008 gil 2.6-1mamba +- update to 2.6 + +* Sat Jun 28 2008 Ercole 'ercolinux' Carpanetto 2.5.2-1mamba +- update to 2.5.2. + +* Wed Jun 25 2008 Ercole 'ercolinux' Carpanetto 2.4.4-1mamba +- renamed to legacy python24 - changed doc to pdf due to a problem with latex2html + +* Fri Mar 30 2007 Silvan Calarco 2.4.4-1mamba +- update to version 2.4.4 by autospec + +* Fri Mar 31 2006 Davide Madrisan 2.4.3-1qilnx +- update to version 2.4.3 by autospec + +* Mon Feb 27 2006 Stefano Cotta Ramusino 2.4.2-3qilnx +- added cgi script patch + +* Mon Jan 09 2006 Davide Madrisan 2.4.2-2qilnx +- provides python-abi, python(abi) + +* Fri Sep 30 2005 Davide Madrisan 2.4.2-1qilnx +- update to version 2.4.2 by autospec +- also fix the security issues CAN-2005-1849 and CAN-2005-2096 +- patch to build python documentation with TeX3 updated + +* Tue Aug 09 2005 Silvan Calarco 2.4.1-2qilnx +- remove %%pre script + +* Thu Jul 21 2005 Silvan Calarco 2.4.1-1qilnx +- new version build + +* Thu Apr 07 2005 Silvan Calarco 2.3.5-2qilnx +- remove Xorg-libs dependency by adding subpackage python-tk + +* Thu Feb 10 2005 Davide Madrisan 2.3.5-1qilnx +- update to version 2.3.5 by autospec +- also fix the security issue QSA-2005-013 (CAN-2005-0089) + +* Wed Feb 02 2005 Silvan Calarco 2.3.5-1qilnx +- rebuilt with shared libraries + +* Thu May 27 2004 Davide Madrisan 2.3.4-1qilnx +- new version rebuild (bugfix release) +- added the doc package with the Python documentation in HTML format + +* Wed Dec 24 2003 Silvan Calarco 2.3.3-2qilnx +- renamed lib and includes destdir to /usr/include/python + +* Tue Dec 23 2003 Davide Madrisan 2.3.3-1qilnx +- rebuild with Python 2.3.3 + +* Mon Oct 27 2003 Davide Madrisan 2.3.2-1qilnx +- rebuild with Python 2.3.2 + +* Tue Jul 01 2003 Silvan Calarco 2.2.3-1qilnx +- first build diff --git a/pythondeps310.sh b/pythondeps310.sh new file mode 100644 index 0000000..4e98f9d --- /dev/null +++ b/pythondeps310.sh @@ -0,0 +1,22 @@ +#!/bin/sh + +[ $# -ge 1 ] || { + cat > /dev/null + exit 0 +} + +PYVER=`python3.10 -c "import sys; v=sys.version_info[:2]; print ('%d.%d'%v)"` +case $1 in +-P|--provides) + shift + grep "/usr/lib[^/]*/libpython${PYVER}\..*\.so.*\$" >/dev/null && echo "python(abi) = ${PYVER}" + exit 0 + ;; +-R|--requires) + shift + grep "/usr/\(lib[^/]*\|share\)/python${PYVER}/" >/dev/null && echo "python(abi) = ${PYVER}" + exit 0 + ;; +esac + +exit 0