macros.pyver: make with_pyver default to 3 [release 3.11.5-4mamba;Sat Sep 30 2023]

This commit is contained in:
Silvan Calarco 2024-01-05 16:58:32 +01:00
parent d3a5882ee4
commit 1b0b673332
7 changed files with 169 additions and 304 deletions

View File

@ -14,7 +14,7 @@
%python3_sitearch %(%{__python3} -c "from sysconfig import get_paths; print(get_paths()['platlib'])") %python3_sitearch %(%{__python3} -c "from sysconfig import get_paths; print(get_paths()['platlib'])")
%python3_sitelib %(%{__python3} -c "from sysconfig import get_paths; print(get_paths()['purelib'])") %python3_sitelib %(%{__python3} -c "from sysconfig import get_paths; print(get_paths()['purelib'])")
%python3_inc %(%{__python3} -c "from sysconfig import get_paths; print(get_paths()['include'])") %python3_inc %(%{__python3} -c "from sysconfig import get_paths; print(get_paths()['include'])")
%python3_version %(%{__python3} -c "import sys; print(sys.version[0:3])") %python3_version %(%{__python3} -c "import sys; print(sys.version[0:4])")
%py3_compile(O) \ %py3_compile(O) \
find %1 -name '*.pyc' -name '*.pyo' -exec rm -f {} \\; \ find %1 -name '*.pyc' -name '*.pyo' -exec rm -f {} \\; \

View File

@ -1,8 +0,0 @@
--- 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

View File

@ -1,48 +0,0 @@
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}%

View File

@ -1,14 +0,0 @@
--- 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

View File

@ -1,4 +1,5 @@
# macros to ease building of python versioned targets in openmamba # macros to ease building of python versioned targets in openmamba
%with_pyver 3
%pyver_package \ %pyver_package \
%define pyver %{with_pyver} \ %define pyver %{with_pyver} \
%define pyappend py%{with_pyver} \ %define pyappend py%{with_pyver} \

View File

@ -1,153 +0,0 @@
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:

View File

@ -1,26 +1,23 @@
%define majversion %(echo %version | cut -d. -f 1-2) %define majversion %(echo %version | cut -d. -f 1-2)
%define libname libpython3 %define libname libpython3
%define __libdir %{_libdir}
Name: python3 Name: python3
Version: 3.7.17 Version: 3.11.5
Release: 1mamba Release: 4mamba
Summary: An interpreted, interactive, object-oriented programming language Summary: An interpreted, interactive, object-oriented programming language
Group: Applications/Development Group: Applications/Development
Vendor: openmamba Vendor: openmamba
Distribution: openmamba Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it> Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: https://www.python.org/ URL: https://www.python.org
Source: https://www.python.org/ftp/python/%{version}/Python-%{version}.tar.xz Source: http://www.python.org/ftp/python/%{version}/Python-%{version}.tar.xz
Source1: macros.python3 Source1: macros.python3
Source2: pythondeps3.sh Source2: pythondeps3.sh
Source3: python-rpm-macros.pyver Source3: python-rpm-macros.pyver
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 License: GPL
## AUTOBUILDREQ-BEGIN ## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel BuildRequires: glibc-devel
BuildRequires: libX11-devel BuildRequires: libb2-devel
BuildRequires: libbzip2-devel BuildRequires: libbzip2-devel
BuildRequires: libexpat-devel BuildRequires: libexpat-devel
BuildRequires: libffi-devel BuildRequires: libffi-devel
@ -35,6 +32,7 @@ BuildRequires: libtcl-devel
BuildRequires: libtirpc-devel BuildRequires: libtirpc-devel
BuildRequires: libtk-devel BuildRequires: libtk-devel
BuildRequires: libuuid-devel BuildRequires: libuuid-devel
BuildRequires: libxcrypt-devel
BuildRequires: libz-devel BuildRequires: libz-devel
## AUTOBUILDREQ-END ## AUTOBUILDREQ-END
BuildRequires: glibc-devel >= 2.3.5 BuildRequires: glibc-devel >= 2.3.5
@ -46,12 +44,17 @@ BuildRequires: libtk >= 8.4.11
%endif %endif
BuildRequires: python-pip-py3 BuildRequires: python-pip-py3
BuildRequires: python-setuptools-py3 BuildRequires: python-setuptools-py3
BuildRequires: python-docs-theme-py3
BuildRequires: python-Sphinx
Requires: %{libname} = %{?epoch:%epoch:}%{version}-%{release} Requires: %{libname} = %{?epoch:%epoch:}%{version}-%{release}
Provides: python-abi = %{majversion} Provides: python-abi = %{majversion}
Provides: python(abi) = %{majversion} Provides: python(abi) = %{majversion}
Provides: /usr/bin/python Provides: /usr/bin/python
Provides: /usr/bin/python3 Provides: /usr/bin/python3
Obsoletes: python3-doc < 3.7.10 Provides: python311
Obsoletes: python311 <= 3.11.5-1mamba
Obsoletes: python36 < 3.7
Obsoletes: python36-doc < 3.7
%description %description
Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, Perl, Scheme or Java. Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, Perl, Scheme or Java.
@ -63,7 +66,9 @@ The Python implementation is portable: it runs on many brands of UNIX, on Window
%package -n %{libname} %package -n %{libname}
Group: System/Libraries/Python Group: System/Libraries/Python
Summary: Libraries for Python Summary: Libraries for Python
Obsoletes: python-typing-py3 <= 3.10.0.0-2mamba Provides: libpython311
Obsoletes: libpython311 <= 3.11.5-1mamba
Obsoletes: libpython36 < 3.7
%description -n %{libname} %description -n %{libname}
Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, Perl, Scheme or Java. Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, Perl, Scheme or Java.
@ -78,8 +83,11 @@ This package contains the libraries for Python.
Group: Development/Libraries/Python Group: Development/Libraries/Python
Summary: Devel package for Python Summary: Devel package for Python
Requires: %{libname} = %{?epoch:%epoch:}%{version}-%{release} Requires: %{libname} = %{?epoch:%epoch:}%{version}-%{release}
Provides: %{name}-devel = %{?epoch:%epoch:}%{version}-%{release} Provides: %{name}-devel
Obsoletes: %{name}-devel < 3.7.10 Obsoletes: %{name}-devel < 3.9.4
Provides: libpython311-devel
Obsoletes: libpython311-devel <= 3.11.5-1mamba
Obsoletes: libpython36-devel < 3.7
%description -n %{libname}-devel %description -n %{libname}-devel
Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, Perl, Scheme or Java. Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, Perl, Scheme or Java.
@ -93,6 +101,8 @@ This package contains the development files for Python.
Group: Documentation Group: Documentation
Summary: Documentation package for Python Summary: Documentation package for Python
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
Provides: python311-doc
Obsoletes: python311-doc <= 3.11.5-1mamba
%description doc %description doc
Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, Perl, Scheme or Java. Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, Perl, Scheme or Java.
@ -106,6 +116,9 @@ This package contains the documentation files for Python in HTML format.
Group: System/Libraries/Python Group: System/Libraries/Python
Summary: Tk library for Python Summary: Tk library for Python
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
Provides: python311-tk
Obsoletes: python311-tk <= 3.11.5-1mamba
Obsoletes: python36-tk < 3.7
%description tk %description tk
Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, Perl, Scheme or Java. Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, Perl, Scheme or Java.
@ -113,29 +126,30 @@ Python combines remarkable power with very clear syntax. It has modules, classes
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++. 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. 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... 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. This package contains the tk library for Python.
%debug_package %debug_package
# Don't clean build at the end
%global __spec_rmbuild_cmd /bin/true
%prep %prep
%setup -q -n Python-%{version} %setup -q -n Python-%{version}
#-D -T #-D -T
#:<< _EOF #:<< _EOF
#%patch0 -p1
%patch 1 -p1 sed -i -e "s|^#.* /usr/local/bin/python|#!/usr/bin/python|" Lib/cgi.py
#%patch2 -p1
%ifarch x86_64 aarch64
%patch 3 -p1
%endif
%build %build
#:<< _EOF #:<< _EOF
%configure \ %configure \
--libdir=%{__libdir} \
--enable-ipv6 \ --enable-ipv6 \
--enable-shared \ --enable-shared \
--with-system-ffi \ --with-system-ffi \
--with-system-expat \ --with-system-expat \
--with-platlibdir=%{_lib} \
--without-ensurepip \
%ifnarch arm %ifnarch arm
--enable-optimizations --enable-optimizations
%endif %endif
@ -146,48 +160,41 @@ This package contains the tk library for Python.
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" [ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%makeinstall %makeinstall
#install -d %{buildroot}%{_libdir}/python/site-packages
#ln -s python%{majversion} %{buildroot}%{_libdir}/python
ln -s python%{majversion}m %{buildroot}%{_includedir}/python
ln -s libpython%{majversion}m.so %{buildroot}%{_libdir}/libpython%{majversion}.so
# fix library permission
chmod 755 %{buildroot}%{_libdir}/libpython%{majversion}m.so.*
%if "%{?bootstrap}" != "1" %if "%{?bootstrap}" != "1"
:<< __DISABLED_SPHINX_4
# build the HTML documentation # build the HTML documentation
cd Doc cd Doc
###sed -i s@/usr/bin/env@/bin/env@ tools/mkhowto ###sed -i s@/usr/bin/env@/bin/env@ tools/mkhowto
# NOTE: html docs don't build with recent Sphinx (3.5.2) PATH=$PATH:%{_builddir}/Python-%{version}/Doc/tools
#PATH=$PATH:%{_builddir}/Python-%{version}/Doc/tools make html
#make html
# install -d %{buildroot}%{_defaultdocdir}/%{name}-%{version}
#install -d %{buildroot}%{_defaultdocdir}/%{name}-%{version} cp -R build/html build/doctrees %{buildroot}%{_defaultdocdir}/%{name}-%{version}
#cp -R build/html build/doctrees %{buildroot}%{_defaultdocdir}/%{name}-%{version} rm -f `find %{buildroot}%{_defaultdocdir}/%{name}-%{version}/html/.cvsignore`
#rm -f `find %{buildroot}%{_defaultdocdir}/%{name}-%{version}/html/.cvsignore`
#make PAPER=a4 pdf #make PAPER=a4 pdf
__DISABLED_SPHINX_4
%endif %endif
rm -f `find %{buildroot}%{_docdir}/%{name}-%{version}/html/.buildinfo` rm -f `find %{buildroot}%{_docdir}/%{name}-%{version}/html/.buildinfo`
install -D -m0644 %{SOURCE1} %{buildroot}%{_rpmmacrodir}/macros.python3 install -D -m0644 %{SOURCE1} %{buildroot}%{_rpmmacrodir}/macros.python3
install -D -m0644 %{SOURCE2} %{buildroot}%{_prefix}/lib/rpm/pythondeps3.sh install -D -m0755 %{SOURCE2} %{buildroot}%{_prefix}/lib/rpm/pythondeps3.sh
install -D -m0644 %{SOURCE3} %{buildroot}%{_rpmmacrodir}/macros.pyver install -D -m0644 %{SOURCE3} %{buildroot}%{_rpmmacrodir}/macros.pyver
rm %{buildroot}%{_includedir}/python #rm %{buildroot}%{_includedir}/python
rm %{buildroot}%{_bindir}/2to3 rm %{buildroot}%{_bindir}/2to3
rm %{buildroot}%{_bindir}/python3 rm %{buildroot}%{_bindir}/python3
rm -f %{buildroot}%{_bindir}/pip3* rm -f %{buildroot}%{_bindir}/pip3*
rm -f %{buildroot}%{_bindir}/easy_install-3* rm -f %{buildroot}%{_bindir}/easy_install-3*
rm -f %{buildroot}%{_libdir}/pkgconfig/python3.pc
%clean %clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" [ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%post %post
if [ $1 -ge 1 ]; then if [ $1 -ge 1 ]; then
/usr/sbin/update-alternatives --install %{_bindir}/python python %{_bindir}/python%{majversion} 72 /usr/sbin/update-alternatives --install %{_bindir}/python python %{_bindir}/python%{majversion} 80
/usr/sbin/update-alternatives --install %{_bindir}/python3 python3 %{_bindir}/python%{majversion} 80 /usr/sbin/update-alternatives --install %{_bindir}/python3 python3 %{_bindir}/python%{majversion} 82
fi fi
exit 0 exit 0
@ -200,22 +207,21 @@ exit 0
%posttrans %posttrans
if [ $1 -ge 1 ]; then if [ $1 -ge 1 ]; then
# fix missing link when upgrading the package which provided a real /usr/bin/python* /usr/sbin/update-alternatives --auto python
[ -e %{_bindir}/python ] || /usr/sbin/update-alternatives --auto python /usr/sbin/update-alternatives --auto python3
[ -e %{_bindir}/python3 ] || /usr/sbin/update-alternatives --auto python3
fi fi
: :
%post -n %{libname} -p /sbin/ldconfig %post -n %{libname} -p /sbin/ldconfig
%postun -n %{libname} -p /sbin/ldconfig %postun -n %{libname} -p /sbin/ldconfig
%transfiletriggerpostun -P 2000000 -- %{_libdir}/python%{majversion}/site-packages %transfiletriggerpostun -P 2000000 -- %{__libdir}/python%{majversion}/site-packages
find %{_libdir}/python%{majversion}/site-packages/*.egg-info -type d -empty -exec rmdir {} \; find %{__libdir}/python%{majversion}/site-packages -name *.egg-info -type d -empty -exec rmdir {} \;
: :
%ifarch x86_64 aarch64 %ifarch x86_64 aarch64
%transfiletriggerpostun -P 2000000 -- %{_prefix}/lib/python%{majversion}/site-packages %transfiletriggerpostun -P 2000000 -- %{_prefix}/lib/python%{majversion}/site-packages
find %{_prefix}/lib/python%{majversion}/site-packages/*.egg-info -type d -empty -exec rmdir {} \; find %{__libdir}/python%{majversion}/site-packages -name *.egg-info -type d -empty -exec rmdir {} \;
: :
%endif %endif
@ -226,46 +232,49 @@ find %{_prefix}/lib/python%{majversion}/site-packages/*.egg-info -type d -empty
%{_bindir}/idle%{majversion} %{_bindir}/idle%{majversion}
%{_bindir}/pydoc3 %{_bindir}/pydoc3
%{_bindir}/pydoc%{majversion} %{_bindir}/pydoc%{majversion}
%{_bindir}/pyvenv #%{_bindir}/pyvenv
%{_bindir}/pyvenv-%{majversion} #%{_bindir}/pyvenv-%{majversion}
%{_bindir}/python%{majversion}m #%{_bindir}/python%{majversion}m
%{_bindir}/python%{majversion} %{_bindir}/python%{majversion}
%{_mandir}/man1/* %{_mandir}/man1/python3*.1*
%files -n %{libname} %files -n %{libname}
%defattr(-,root,root) %defattr(-,root,root)
%dir %{_libdir}/python%{majversion} %dir %{__libdir}/python%{majversion}
%{_libdir}/python%{majversion}/* %{__libdir}/python%{majversion}/*
%ifarch x86_64 aarch64 #%ifarch x86_64 aarch64
%dir %{_prefix}/lib/python%{majversion} #%dir %{_prefix}/lib/python%{majversion}
%{_prefix}/lib/python%{majversion}/* #%{_prefix}/lib/python%{majversion}/*
%endif #%endif
%{_libdir}/libpython3.so %{_libdir}/libpython3.so
%{_libdir}/libpython%{majversion}.so %{_libdir}/libpython%{majversion}.so
%{_libdir}/libpython%{majversion}m.so %{_libdir}/libpython%{majversion}.so.*
%{_libdir}/libpython%{majversion}m.so.*
%if "%{?bootstrap}" != "1" %if "%{?bootstrap}" != "1"
%exclude %{_libdir}/python%{majversion}/lib-dynload/_tkinter*.so %exclude %{__libdir}/python%{majversion}/lib-dynload/_tkinter*.so
%endif %endif
%files -n %{libname}-devel %files -n %{libname}-devel
%defattr(-,root,root) %defattr(-,root,root)
%{_rpmmacrodir}/macros.python*
%{_rpmmacrodir}/macros.pyver %{_rpmmacrodir}/macros.pyver
%{_rpmmacrodir}/macros.python3
%{_bindir}/python3-config %{_bindir}/python3-config
%{_bindir}/python%{majversion}-config %{_bindir}/python%{majversion}-config
%{_bindir}/python%{majversion}m-config %dir %{_includedir}/python%{majversion}
%{_includedir}/python%{majversion}m/*.h %{_includedir}/python%{majversion}/*.h
%dir %{_includedir}/python%{majversion}m/internal %dir %{_includedir}/python%{majversion}/cpython
%{_includedir}/python%{majversion}m/internal/*.h %{_includedir}/python%{majversion}/cpython/*.h
%dir %{_includedir}/python%{majversion}/internal
%{_includedir}/python%{majversion}/internal/*.h
%{_libdir}/pkgconfig/python-%{majversion}.pc %{_libdir}/pkgconfig/python-%{majversion}.pc
%{_libdir}/pkgconfig/python-%{majversion}m.pc %{_libdir}/pkgconfig/python3.pc
%{_prefix}/lib/rpm/pythondeps3.sh %{_libdir}/pkgconfig/python-%{majversion}-embed.pc
%{_libdir}/pkgconfig/python3-embed.pc
%{_prefix}/lib/rpm/pythondeps*.sh
%if "%{?bootstrap}" != "1" %if "%{?bootstrap}" != "1"
%files tk %files tk
%defattr(-,root,root) %defattr(-,root,root)
%{_libdir}/python%{majversion}/lib-dynload/_tkinter*.so %{__libdir}/python%{majversion}/lib-dynload/_tkinter*.so
#%files doc #%files doc
#%defattr(-,root,root) #%defattr(-,root,root)
@ -276,23 +285,101 @@ find %{_prefix}/lib/python%{majversion}/site-packages/*.egg-info -type d -empty
%endif %endif
%changelog %changelog
* Sun Jul 30 2023 Silvan Calarco <silvan.calarco@mambasoft.it> 3.7.17-1mamba * Sat Sep 30 2023 Silvan Calarco <silvan.calarco@mambasoft.it> 3.11.5-4mamba
- update to 3.7.17 - macros.pyver: make with_pyver default to 3
- remove pkgconfig file python3.pc in favour of python 3.10
* Tue Apr 11 2023 Silvan Calarco <silvan.calarco@mambasoft.it> 3.7.16-1mamba * Sat Sep 23 2023 Silvan Calarco <silvan.calarco@mambasoft.it> 3.11.5-3mamba
- update to 3.7.16 - macros.python3: fix python_version
- obsolete python-typing-py3
* Wed Feb 02 2022 Silvan Calarco <silvan.calarco@mambasoft.it> 3.7.12-2mamba * Fri Sep 22 2023 Silvan Calarco <silvan.calarco@mambasoft.it> 3.11.5-2mamba
- macros.python3: use sysconfig instead of distutils - renamed from python311 to python3 (make default python version)
* Sun Dec 26 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 3.7.12-1mamba * Sat Aug 26 2023 Automatic Build System <autodist@mambasoft.it> 3.11.5-1mamba
- update to 3.7.12 - automatic version update by autodist
* Tue Mar 09 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 3.7.10-1mamba * Thu Jun 08 2023 Automatic Build System <autodist@mambasoft.it> 3.11.4-1mamba
- update to 3.7.10 - automatic version update by autodist
- added posttransfiletrigger's to cleanup empty *.egg-info directories
* Thu Apr 06 2023 Automatic Build System <autodist@mambasoft.it> 3.11.3-1mamba
- automatic version update by autodist
* Tue Feb 07 2023 Automatic Build System <autodist@mambasoft.it> 3.11.2-1mamba
- automatic version update by autodist
* Tue Dec 13 2022 Silvan Calarco <silvan.calarco@mambasoft.it> 3.11.1-2mamba
- renamed to python311
* Fri Dec 09 2022 Automatic Build System <autodist@mambasoft.it> 3.11.1-1mamba
- automatic version update by autodist
* Tue Oct 25 2022 Automatic Build System <autodist@mambasoft.it> 3.11.0-1mamba
- automatic version update by autodist
* Wed Oct 12 2022 Automatic Build System <autodist@mambasoft.it> 3.10.8-1mamba
- automatic version update by autodist
* Tue Sep 06 2022 Automatic Build System <autodist@mambasoft.it> 3.10.7-1mamba
- automatic version update by autodist
* Wed Aug 03 2022 Automatic Build System <autodist@mambasoft.it> 3.10.6-1mamba
- automatic version update by autodist
* Tue Jun 07 2022 Silvan Calarco <silvan.calarco@mambasoft.it> 3.10.5-2mamba
- posttrans: always run update-alternatives for python and python3
* Tue Jun 07 2022 Automatic Build System <autodist@mambasoft.it> 3.10.5-1mamba
- automatic version update by autodist
* Sun Jun 05 2022 Silvan Calarco <silvan.calarco@mambasoft.it> 3.10.4-2mamba
- bump alternatives priority to 78 to overcome python 3.9
* Thu Mar 24 2022 Automatic Build System <autodist@mambasoft.it> 3.10.4-1mamba
- automatic version update by autodist
* Thu Mar 17 2022 Automatic Build System <autodist@mambasoft.it> 3.10.3-1mamba
- automatic version update by autodist
* Thu Jan 27 2022 Silvan Calarco <silvan.calarco@mambasoft.it> 3.10.2-2mamba
- macros.python310: fixed %python310_version and removed use of deprecated distutils
* Sat Jan 15 2022 Automatic Build System <autodist@mambasoft.it> 3.10.2-1mamba
- automatic version update by autodist
* Wed Dec 08 2021 Automatic Build System <autodist@mambasoft.it> 3.10.1-1mamba
- automatic version update by autodist
* Sat Oct 16 2021 Automatic Build System <autodist@mambasoft.it> 3.10.0-1mamba
- automatic version update by autodist
* Tue Aug 31 2021 Automatic Build System <autodist@mambasoft.it> 3.9.7-1mamba
- automatic version update by autodist
* Mon Jun 28 2021 Automatic Build System <autodist@mambasoft.it> 3.9.6-1mamba
- automatic version update by autodist
* Fri Jun 18 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 3.9.5-3mamba
- fix macros.python39 not really fixed in previous release
* Tue Jun 01 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 3.9.5-2mamba
- fix macros.python39 file
* Thu May 20 2021 Automatic Build System <autodist@mambasoft.it> 3.9.5-1mamba
- automatic version update by autodist
* Fri Apr 09 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 3.9.4-2mamba
- remove some other conflicting files with python3
* Mon Apr 05 2021 Automatic Build System <autodist@mambasoft.it> 3.9.4-1mamba
- automatic version update by autodist
* Sun Apr 04 2021 Automatic Build System <autodist@mambasoft.it> 3.9.3-1mamba
- automatic version update by autodist
* Tue Mar 09 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 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 <autodist@mambasoft.it> 3.9.2-1mamba
- automatic version update by autodist
* Fri Jan 01 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 3.7.9-1mamba * Fri Jan 01 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 3.7.9-1mamba
- update to 3.7.9 - update to 3.7.9