diff --git a/README.md b/README.md index 8f9fcde..061cf03 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,8 @@ # python3 +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/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/python-3.2-macros.python b/python-3.2-macros.python new file mode 100644 index 0000000..6f3d931 --- /dev/null +++ b/python-3.2-macros.python @@ -0,0 +1,27 @@ +%__python3 /usr/bin/python3 +#------------------------------------------------------------------------ +# 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}. +%__python3_provides %{_usrlibrpm}/pythondeps3.sh --provides +%__python3_requires %{_usrlibrpm}/pythondeps3.sh --requires + +# Useful macros for building *.rpm python packages (for python > 1.6). +# +%python3_sitearch %(%{__python3} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(True));") +%python3_sitelib %(%{__python3} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") +%python3_inc %(%{__python3} -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") +%python3_version %(%{__python3} -c "import sys; print(sys.version[0:3])") + +%py3_compile(O) \ +find %1 -name '*.pyc' -name '*.pyo' -exec rm -f {} \\; \ +%{__python3} %{?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 \ + +%py3_requires(d) \ +%define maxver %(%{__python3} -c "import sys; a,b=sys.version_info[:2]; print('%%d.%%d'%%(a,b+1))" 2>/dev/null || echo PYTHON-NOT-FOUND) \ +BuildRequires: python3, libpython3-devel \ +PreReq: python3 >= %{python3_version}, python3 < %{maxver} + diff --git a/python3-3.3.3-lib64.patch b/python3-3.3.3-lib64.patch new file mode 100644 index 0000000..5ae03aa --- /dev/null +++ b/python3-3.3.3-lib64.patch @@ -0,0 +1,200 @@ +diff -up cpython-59223da36dec/Lib/distutils/command/install.py.lib64 cpython-59223da36dec/Lib/distutils/command/install.py +--- cpython-59223da36dec/Lib/distutils/command/install.py.lib64 2012-08-07 06:10:57.000000000 -0400 ++++ cpython-59223da36dec/Lib/distutils/command/install.py 2012-08-07 16:41:00.573477549 -0400 +@@ -45,14 +45,14 @@ else: + 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 -up cpython-59223da36dec/Lib/distutils/sysconfig.py.lib64 cpython-59223da36dec/Lib/distutils/sysconfig.py +--- cpython-59223da36dec/Lib/distutils/sysconfig.py.lib64 2012-08-07 06:10:57.000000000 -0400 ++++ cpython-59223da36dec/Lib/distutils/sysconfig.py 2012-08-07 16:41:00.573477549 -0400 +@@ -139,8 +139,12 @@ def get_python_lib(plat_specific=0, stan + 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 -up cpython-59223da36dec/Lib/site.py.lib64 cpython-59223da36dec/Lib/site.py +--- cpython-59223da36dec/Lib/site.py.lib64 2012-08-07 06:10:57.000000000 -0400 ++++ cpython-59223da36dec/Lib/site.py 2012-08-07 16:41:00.573477549 -0400 +@@ -303,12 +303,16 @@ def getsitepackages(prefixes=None): + if sys.platform in ('os2emx', 'riscos'): + sitepackages.append(os.path.join(prefix, "Lib", "site-packages")) + elif os.sep == '/': ++ sitepackages.append(os.path.join(prefix, "lib64", ++ "python" + sys.version[:3], ++ "site-packages")) + sitepackages.append(os.path.join(prefix, "lib", + "python" + sys.version[:3], + "site-packages")) + sitepackages.append(os.path.join(prefix, "lib", "site-python")) + else: + sitepackages.append(prefix) ++ sitepackages.append(os.path.join(prefix, "lib64", "site-packages")) + sitepackages.append(os.path.join(prefix, "lib", "site-packages")) + if sys.platform == "darwin": + # for framework builds *only* we add the standard Apple +diff -up cpython-59223da36dec/Lib/sysconfig.py.lib64 cpython-59223da36dec/Lib/sysconfig.py +--- cpython-59223da36dec/Lib/sysconfig.py.lib64 2012-08-07 06:10:57.000000000 -0400 ++++ cpython-59223da36dec/Lib/sysconfig.py 2012-08-07 16:41:00.574477549 -0400 +@@ -21,10 +21,10 @@ __all__ = [ + + _INSTALL_SCHEMES = { + 'posix_prefix': { +- 'stdlib': '{installed_base}/lib/python{py_version_short}', +- 'platstdlib': '{platbase}/lib/python{py_version_short}', ++ 'stdlib': '{installed_base}/lib64/python{py_version_short}', ++ 'platstdlib': '{platbase}/lib64/python{py_version_short}', + 'purelib': '{base}/lib/python{py_version_short}/site-packages', +- 'platlib': '{platbase}/lib/python{py_version_short}/site-packages', ++ 'platlib': '{platbase}/lib64/python{py_version_short}/site-packages', + 'include': + '{installed_base}/include/python{py_version_short}{abiflags}', + 'platinclude': +@@ -81,10 +81,10 @@ _INSTALL_SCHEMES = { + 'data': '{userbase}', + }, + 'posix_user': { +- 'stdlib': '{userbase}/lib/python{py_version_short}', +- 'platstdlib': '{userbase}/lib/python{py_version_short}', ++ 'stdlib': '{userbase}/lib64/python{py_version_short}', ++ 'platstdlib': '{userbase}/lib64/python{py_version_short}', + 'purelib': '{userbase}/lib/python{py_version_short}/site-packages', +- 'platlib': '{userbase}/lib/python{py_version_short}/site-packages', ++ 'platlib': '{userbase}/lib64/python{py_version_short}/site-packages', + 'include': '{userbase}/include/python{py_version_short}', + 'scripts': '{userbase}/bin', + 'data': '{userbase}', +diff -up cpython-59223da36dec/Lib/test/test_site.py.lib64 cpython-59223da36dec/Lib/test/test_site.py +--- cpython-59223da36dec/Lib/test/test_site.py.lib64 2012-08-07 06:10:57.000000000 -0400 ++++ cpython-59223da36dec/Lib/test/test_site.py 2012-08-07 16:41:00.574477549 -0400 +@@ -239,12 +239,15 @@ class HelperFunctionsTests(unittest.Test + self.assertEqual(dirs[2], wanted) + elif os.sep == '/': + # OS X non-framwework builds, Linux, FreeBSD, etc +- self.assertEqual(len(dirs), 2) +- wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3], ++ self.assertEqual(len(dirs), 3) ++ wanted = os.path.join('xoxo', 'lib64', 'python' + sys.version[:3], + 'site-packages') + self.assertEqual(dirs[0], wanted) +- wanted = os.path.join('xoxo', 'lib', 'site-python') ++ wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3], ++ 'site-packages') + self.assertEqual(dirs[1], wanted) ++ wanted = os.path.join('xoxo', 'lib', 'site-python') ++ self.assertEqual(dirs[2], wanted) + else: + # other platforms + self.assertEqual(len(dirs), 2) +diff -up cpython-59223da36dec/Makefile.pre.in.lib64 cpython-59223da36dec/Makefile.pre.in +--- cpython-59223da36dec/Makefile.pre.in.lib64 2012-08-07 16:41:00.557477550 -0400 ++++ cpython-59223da36dec/Makefile.pre.in 2012-08-07 16:41:00.575477549 -0400 +@@ -108,7 +108,7 @@ LIBDIR= @libdir@ + MANDIR= @mandir@ + INCLUDEDIR= @includedir@ + CONFINCLUDEDIR= $(exec_prefix)/include +-SCRIPTDIR= $(prefix)/lib ++SCRIPTDIR= $(prefix)/lib64 + ABIFLAGS= @ABIFLAGS@ + + # Detailed destination directories +diff -up cpython-59223da36dec/Modules/getpath.c.lib64 cpython-59223da36dec/Modules/getpath.c +--- cpython-59223da36dec/Modules/getpath.c.lib64 2012-08-07 06:10:57.000000000 -0400 ++++ cpython-59223da36dec/Modules/getpath.c 2012-08-07 16:41:00.575477549 -0400 +@@ -122,8 +122,8 @@ + #endif + + #ifndef PYTHONPATH +-#define PYTHONPATH PREFIX "/lib/python" VERSION ":" \ +- EXEC_PREFIX "/lib/python" VERSION "/lib-dynload" ++#define PYTHONPATH PREFIX "/lib64/python" VERSION ":" \ ++ EXEC_PREFIX "/lib64/python" VERSION "/lib-dynload" + #endif + + #ifndef LANDMARK +@@ -135,7 +135,7 @@ static wchar_t exec_prefix[MAXPATHLEN+1] + static wchar_t progpath[MAXPATHLEN+1]; + static wchar_t *module_search_path = NULL; + static int module_search_path_malloced = 0; +-static wchar_t *lib_python = L"lib/python" VERSION; ++static wchar_t *lib_python = L"lib64/python" VERSION; + + static void + reduce(wchar_t *dir) +@@ -677,7 +677,7 @@ calculate_path(void) + } + else + wcsncpy(zip_path, _prefix, MAXPATHLEN); +- joinpath(zip_path, L"lib/python00.zip"); ++ joinpath(zip_path, L"lib64/python00.zip"); + bufsz = wcslen(zip_path); /* Replace "00" with version */ + zip_path[bufsz - 6] = VERSION[0]; + zip_path[bufsz - 5] = VERSION[2]; +@@ -687,7 +687,7 @@ calculate_path(void) + fprintf(stderr, + "Could not find platform dependent libraries \n"); + wcsncpy(exec_prefix, _exec_prefix, MAXPATHLEN); +- joinpath(exec_prefix, L"lib/lib-dynload"); ++ joinpath(exec_prefix, L"lib64/lib-dynload"); + } + /* If we found EXEC_PREFIX do *not* reduce it! (Yet.) */ + +diff -up cpython-59223da36dec/setup.py.lib64 cpython-59223da36dec/setup.py +--- cpython-59223da36dec/setup.py.lib64 2012-08-07 06:10:57.000000000 -0400 ++++ cpython-59223da36dec/setup.py 2012-08-07 16:41:32.153475390 -0400 +@@ -438,7 +438,7 @@ class PyBuildExt(build_ext): + # directories (i.e. '.' and 'Include') must be first. See issue + # 10520. + if not cross_compiling: +- add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') ++ add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib64') + add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') + # only change this for cross builds for 3.3, issues on Mageia + if cross_compiling: +@@ -708,11 +708,11 @@ class PyBuildExt(build_ext): + elif curses_library: + readline_libs.append(curses_library) + elif self.compiler.find_library_file(lib_dirs + +- ['/usr/lib/termcap'], ++ ['/usr/lib64/termcap'], + 'termcap'): + readline_libs.append('termcap') + exts.append( Extension('readline', ['readline.c'], +- library_dirs=['/usr/lib/termcap'], ++ library_dirs=['/usr/lib64/termcap'], + extra_link_args=readline_extra_link_args, + libraries=readline_libs) ) + else: +@@ -749,8 +749,8 @@ class PyBuildExt(build_ext): + if krb5_h: + ssl_incs += krb5_h + ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs, +- ['/usr/local/ssl/lib', +- '/usr/contrib/ssl/lib/' ++ ['/usr/local/ssl/lib64', ++ '/usr/contrib/ssl/lib64/' + ] ) + + if (ssl_incs is not None and diff --git a/python3.spec b/python3.spec new file mode 100644 index 0000000..d14f6c8 --- /dev/null +++ b/python3.spec @@ -0,0 +1,355 @@ +# majversion define needed when upgrading from 2.x to 2.(x+1) releases +%define majversion %(echo %version | cut -d. -f 1-2) +%define libname libpython3 +%define __libdir %{_libdir} +Name: python3 +Version: 3.3.5 +Release: 1mamba +Summary: An interpreted, interactive, object-oriented programming language +Group: Applications/Development +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: http://www.python.org +Source: http://www.python.org/ftp/python/%{version}/Python-%{version}.tar.xz +Source1: python-3.2-macros.python +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.3.3-lib64.patch +License: GPL +BuildRequires: glibc-devel >= 2.3.5 +BuildRequires: libbluez-devel >= 2.21 +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: libbzip2-devel +BuildRequires: libdb51-devel +BuildRequires: libgdbm-devel +BuildRequires: libncurses-devel >= 5.4 +BuildRequires: libopenssl-devel +BuildRequires: libreadline-devel +BuildRequires: libsqlite-devel +BuildRequires: libtcl-devel +BuildRequires: libtk-devel +BuildRequires: libX11-devel +BuildRequires: libz-devel +## AUTOBUILDREQ-END +%if "%{?bootstrap}" != "1" +BuildRequires: latex2html >= 2002 +BuildRequires: tetex >= 3.0 +BuildRequires: libtk >= 8.4.11 +%endif +Requires: %{libname} = %{version} +Provides: python-abi = %{majversion} +Provides: python(abi) = %{majversion} +Provides: /usr/bin/python +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%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} +Provides: %{name}-devel = %{version} +Obsoletes: %{name}-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 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} + +%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. + +%prep +%setup -q -n Python-%{version} +#%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%ifarch x86_64 +%patch3 -p1 +%endif + +%build +%configure \ + --libdir=%{__libdir} \ + --enable-ipv6 \ + --enable-shared \ + --with-wide-unicode \ + --with-system-ffi \ + --with-system-expat + +%make + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +%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" +# 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 +%endif +rm -f `find %{buildroot}%{_docdir}/%{name}-%{version}/html/.buildinfo` +install -D -m0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/rpm/macros.python3 + +rm %{buildroot}%{_includedir}/python +rm %{buildroot}%{_bindir}/2to3 + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%post +/usr/sbin/update-alternatives --install %{_bindir}/python python %{_bindir}/python%{majversion} 70 +/usr/sbin/update-alternatives --auto python +exit 0 + +%preun +if [ $1 -eq 0 ]; then +/usr/sbin/update-alternatives --remove python %{_bindir}/python%{majversion} +fi +exit 0 + +%post -n %{libname} -p /sbin/ldconfig +%postun -n %{libname} -p /sbin/ldconfig + +%files +%defattr(-,root,root) +%{_bindir}/2to3-%{majversion} +%{_bindir}/idle3 +%{_bindir}/idle%{majversion} +%{_bindir}/pydoc3 +%{_bindir}/pydoc%{majversion} +%{_bindir}/pyvenv +%{_bindir}/pyvenv-%{majversion} +%{_bindir}/python3 +%{_bindir}/python%{majversion}m +%{_bindir}/python%{majversion} +%{_mandir}/man1/* + +%files -n %{libname} +%defattr(-,root,root) +%dir %{__libdir}/python%{majversion} +%{__libdir}/python%{majversion}/* +%{_libdir}/libpython3.so +%{_libdir}/libpython%{majversion}.so +%{_libdir}/libpython%{majversion}m.so +%{_libdir}/libpython%{majversion}m.so.* +%if "%{?bootstrap}" != "1" +%exclude %{__libdir}/python%{majversion}/lib-dynload/_tkinter*.so +%endif + +%files -n %{libname}-devel +%defattr(-,root,root) +%{_sysconfdir}/rpm/macros.python3 +%{_bindir}/python3-config +%{_bindir}/python%{majversion}-config +%{_bindir}/python%{majversion}m-config +%{_includedir}/python%{majversion}m/*.h +%{_libdir}/pkgconfig/python-%{majversion}.pc +%{_libdir}/pkgconfig/python-%{majversion}m.pc +%{_libdir}/pkgconfig/python3.pc + +%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 +* 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 + +* Wed Jun 28 2008 Ercole 'ercolinux' Carpanetto 2.5.2-1mamba +- update to 2.5.2. + +* Sat 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 + +* Tue 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