diff --git a/python-2.7.5-multilib.patch b/python-2.7.5-multilib.patch index e349375..111ec5a 100644 --- a/python-2.7.5-multilib.patch +++ b/python-2.7.5-multilib.patch @@ -1,7 +1,7 @@ Index: Python-2.7.6/configure.ac =================================================================== ---- Python-2.7.6.orig/configure.ac 2013-11-19 17:34:49.063388540 +0100 -+++ Python-2.7.6/configure.ac 2013-11-19 17:35:02.848465919 +0100 +--- Python-2.7.6.orig/configure.ac 2013-11-10 08:36:41.000000000 +0100 ++++ Python-2.7.6/configure.ac 2014-02-11 20:08:16.265571499 +0100 @@ -733,6 +733,41 @@ ;; esac @@ -46,8 +46,8 @@ Index: Python-2.7.6/configure.ac AC_MSG_CHECKING(LIBRARY) Index: Python-2.7.6/Include/pythonrun.h =================================================================== ---- Python-2.7.6.orig/Include/pythonrun.h 2013-11-19 17:34:49.063388540 +0100 -+++ Python-2.7.6/Include/pythonrun.h 2013-11-19 17:35:02.848465919 +0100 +--- Python-2.7.6.orig/Include/pythonrun.h 2013-11-10 08:36:39.000000000 +0100 ++++ Python-2.7.6/Include/pythonrun.h 2014-02-11 20:08:16.265571499 +0100 @@ -108,6 +108,8 @@ /* In their own files */ PyAPI_FUNC(const char *) Py_GetVersion(void); @@ -59,8 +59,8 @@ Index: Python-2.7.6/Include/pythonrun.h PyAPI_FUNC(const char *) Py_GetBuildInfo(void); Index: Python-2.7.6/Lib/distutils/command/install.py =================================================================== ---- Python-2.7.6.orig/Lib/distutils/command/install.py 2013-11-19 17:34:49.064388546 +0100 -+++ Python-2.7.6/Lib/distutils/command/install.py 2013-11-19 17:35:02.849465924 +0100 +--- Python-2.7.6.orig/Lib/distutils/command/install.py 2014-02-11 20:08:15.760568524 +0100 ++++ Python-2.7.6/Lib/distutils/command/install.py 2014-02-11 20:08:16.265571499 +0100 @@ -22,6 +22,8 @@ from site import USER_SITE @@ -81,8 +81,8 @@ Index: Python-2.7.6/Lib/distutils/command/install.py 'data' : '$base', Index: Python-2.7.6/Lib/distutils/sysconfig.py =================================================================== ---- Python-2.7.6.orig/Lib/distutils/sysconfig.py 2013-11-19 17:34:49.064388546 +0100 -+++ Python-2.7.6/Lib/distutils/sysconfig.py 2013-11-19 17:35:02.849465924 +0100 +--- Python-2.7.6.orig/Lib/distutils/sysconfig.py 2013-11-10 08:36:40.000000000 +0100 ++++ Python-2.7.6/Lib/distutils/sysconfig.py 2014-02-11 20:08:16.265571499 +0100 @@ -119,8 +119,11 @@ prefix = plat_specific and EXEC_PREFIX or PREFIX @@ -99,8 +99,8 @@ Index: Python-2.7.6/Lib/distutils/sysconfig.py else: Index: Python-2.7.6/Lib/pydoc.py =================================================================== ---- Python-2.7.6.orig/Lib/pydoc.py 2013-11-19 17:34:49.064388546 +0100 -+++ Python-2.7.6/Lib/pydoc.py 2013-11-19 17:35:02.849465924 +0100 +--- Python-2.7.6.orig/Lib/pydoc.py 2013-11-10 08:36:40.000000000 +0100 ++++ Python-2.7.6/Lib/pydoc.py 2014-02-11 20:08:16.266571506 +0100 @@ -352,7 +352,7 @@ docloc = os.environ.get("PYTHONDOCS", @@ -112,9 +112,70 @@ Index: Python-2.7.6/Lib/pydoc.py (object.__name__ in ('errno', 'exceptions', 'gc', 'imp', Index: Python-2.7.6/Lib/site.py =================================================================== ---- Python-2.7.6.orig/Lib/site.py 2013-11-19 17:34:49.065388551 +0100 -+++ Python-2.7.6/Lib/site.py 2013-11-19 17:35:02.849465924 +0100 -@@ -288,13 +288,18 @@ +--- Python-2.7.6.orig/Lib/site.py 2013-11-10 08:36:40.000000000 +0100 ++++ Python-2.7.6/Lib/site.py 2014-02-11 20:12:51.208189992 +0100 +@@ -231,29 +231,38 @@ + USER_BASE = get_config_var('userbase') + return USER_BASE + +-def getusersitepackages(): ++def getusersitepackages(lib_kind = 'purelib'): + """Returns the user-specific site-packages directory path. + + If the global variable ``USER_SITE`` is not initialized yet, this + function will also set it. + """ ++ ++ set_user_site = (lib_kind == 'purelib') ++ + global USER_SITE + user_base = getuserbase() # this will also set USER_BASE + +- if USER_SITE is not None: ++ if USER_SITE is not None and set_user_site: + return USER_SITE + + from sysconfig import get_path + import os + ++ user_site = None ++ + if sys.platform == 'darwin': + from sysconfig import get_config_var + if get_config_var('PYTHONFRAMEWORK'): +- USER_SITE = get_path('purelib', 'osx_framework_user') +- return USER_SITE ++ user_site = get_path(lib_kind, 'osx_framework_user') + +- USER_SITE = get_path('purelib', '%s_user' % os.name) +- return USER_SITE ++ if user_site is None: ++ user_site = get_path(lib_kind, '%s_user' % os.name) ++ ++ if set_user_site: ++ USER_SITE = user_site ++ ++ return user_site + + def addusersitepackages(known_paths): + """Add a per user site-package to sys.path +@@ -263,10 +272,12 @@ + """ + # get the per user site-package path + # this call will also make sure USER_BASE and USER_SITE are set +- user_site = getusersitepackages() ++ for kind in ('purelib', 'platlib'): ++ user_site = getusersitepackages(kind) ++ ++ if ENABLE_USER_SITE and os.path.isdir(user_site): ++ addsitedir(user_site, known_paths) + +- if ENABLE_USER_SITE and os.path.isdir(user_site): +- addsitedir(user_site, known_paths) + return known_paths + + def getsitepackages(): +@@ -288,13 +299,18 @@ if sys.platform in ('os2emx', 'riscos'): sitepackages.append(os.path.join(prefix, "Lib", "site-packages")) elif os.sep == '/': @@ -138,8 +199,8 @@ Index: Python-2.7.6/Lib/site.py # locations. Index: Python-2.7.6/Lib/sysconfig.py =================================================================== ---- Python-2.7.6.orig/Lib/sysconfig.py 2013-11-19 17:34:49.065388551 +0100 -+++ Python-2.7.6/Lib/sysconfig.py 2013-11-19 17:35:02.849465924 +0100 +--- Python-2.7.6.orig/Lib/sysconfig.py 2013-11-10 08:36:40.000000000 +0100 ++++ Python-2.7.6/Lib/sysconfig.py 2014-02-11 20:08:16.266571506 +0100 @@ -7,10 +7,10 @@ _INSTALL_SCHEMES = { @@ -170,8 +231,8 @@ Index: Python-2.7.6/Lib/sysconfig.py 'data' : '{userbase}', Index: Python-2.7.6/Lib/test/test_dl.py =================================================================== ---- Python-2.7.6.orig/Lib/test/test_dl.py 2013-11-19 17:34:49.065388551 +0100 -+++ Python-2.7.6/Lib/test/test_dl.py 2013-11-19 17:35:02.849465924 +0100 +--- Python-2.7.6.orig/Lib/test/test_dl.py 2013-11-10 08:36:40.000000000 +0100 ++++ Python-2.7.6/Lib/test/test_dl.py 2014-02-11 20:08:16.266571506 +0100 @@ -5,10 +5,11 @@ import unittest from test.test_support import verbose, import_module @@ -188,8 +249,8 @@ Index: Python-2.7.6/Lib/test/test_dl.py ] Index: Python-2.7.6/Lib/test/test_site.py =================================================================== ---- Python-2.7.6.orig/Lib/test/test_site.py 2013-11-19 17:34:49.065388551 +0100 -+++ Python-2.7.6/Lib/test/test_site.py 2013-11-19 17:35:02.850465930 +0100 +--- Python-2.7.6.orig/Lib/test/test_site.py 2013-11-10 08:36:40.000000000 +0100 ++++ Python-2.7.6/Lib/test/test_site.py 2014-02-11 20:08:16.266571506 +0100 @@ -241,12 +241,16 @@ self.assertEqual(dirs[2], wanted) elif os.sep == '/': @@ -212,8 +273,8 @@ Index: Python-2.7.6/Lib/test/test_site.py self.assertEqual(len(dirs), 2) Index: Python-2.7.6/Lib/trace.py =================================================================== ---- Python-2.7.6.orig/Lib/trace.py 2013-11-19 17:34:49.065388551 +0100 -+++ Python-2.7.6/Lib/trace.py 2013-11-19 17:35:02.850465930 +0100 +--- Python-2.7.6.orig/Lib/trace.py 2013-11-10 08:36:40.000000000 +0100 ++++ Python-2.7.6/Lib/trace.py 2014-02-11 20:08:16.266571506 +0100 @@ -754,10 +754,10 @@ # should I also call expanduser? (after all, could use $HOME) @@ -229,8 +290,8 @@ Index: Python-2.7.6/Lib/trace.py ignore_dirs.append(s) Index: Python-2.7.6/Makefile.pre.in =================================================================== ---- Python-2.7.6.orig/Makefile.pre.in 2013-11-19 17:34:49.066388557 +0100 -+++ Python-2.7.6/Makefile.pre.in 2013-11-19 17:35:02.850465930 +0100 +--- Python-2.7.6.orig/Makefile.pre.in 2014-02-11 20:08:15.175565077 +0100 ++++ Python-2.7.6/Makefile.pre.in 2014-02-11 20:08:16.267571511 +0100 @@ -87,6 +87,8 @@ # Machine-dependent subdirectories @@ -259,8 +320,8 @@ Index: Python-2.7.6/Makefile.pre.in $(CC) -c $(PY_CFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c Index: Python-2.7.6/Modules/getpath.c =================================================================== ---- Python-2.7.6.orig/Modules/getpath.c 2013-11-19 17:34:49.066388557 +0100 -+++ Python-2.7.6/Modules/getpath.c 2013-11-19 17:35:02.850465930 +0100 +--- Python-2.7.6.orig/Modules/getpath.c 2013-11-10 08:36:41.000000000 +0100 ++++ Python-2.7.6/Modules/getpath.c 2014-02-11 20:08:16.267571511 +0100 @@ -116,9 +116,11 @@ #define EXEC_PREFIX PREFIX #endif @@ -286,8 +347,8 @@ Index: Python-2.7.6/Modules/getpath.c reduce(char *dir) Index: Python-2.7.6/Python/getplatform.c =================================================================== ---- Python-2.7.6.orig/Python/getplatform.c 2013-11-19 17:34:49.066388557 +0100 -+++ Python-2.7.6/Python/getplatform.c 2013-11-19 17:35:02.850465930 +0100 +--- Python-2.7.6.orig/Python/getplatform.c 2013-11-10 08:36:41.000000000 +0100 ++++ Python-2.7.6/Python/getplatform.c 2014-02-11 20:08:16.267571511 +0100 @@ -10,3 +10,23 @@ { return PLATFORM; @@ -314,8 +375,8 @@ Index: Python-2.7.6/Python/getplatform.c +} Index: Python-2.7.6/Python/sysmodule.c =================================================================== ---- Python-2.7.6.orig/Python/sysmodule.c 2013-11-19 17:34:49.066388557 +0100 -+++ Python-2.7.6/Python/sysmodule.c 2013-11-19 17:35:02.850465930 +0100 +--- Python-2.7.6.orig/Python/sysmodule.c 2013-11-10 08:36:41.000000000 +0100 ++++ Python-2.7.6/Python/sysmodule.c 2014-02-11 20:08:16.267571511 +0100 @@ -1419,6 +1419,10 @@ PyString_FromString(Py_GetCopyright())); SET_SYS_FROM_STRING("platform", @@ -329,8 +390,8 @@ Index: Python-2.7.6/Python/sysmodule.c SET_SYS_FROM_STRING("prefix", Index: Python-2.7.6/setup.py =================================================================== ---- Python-2.7.6.orig/setup.py 2013-11-19 17:34:49.067388562 +0100 -+++ Python-2.7.6/setup.py 2013-11-19 17:35:35.826650956 +0100 +--- Python-2.7.6.orig/setup.py 2013-11-10 08:36:41.000000000 +0100 ++++ Python-2.7.6/setup.py 2014-02-11 20:08:16.268571517 +0100 @@ -438,7 +438,7 @@ def detect_modules(self): # Ensure that /usr/local is always used diff --git a/python-2.7.6-bdist-rpm.patch b/python-2.7.6-bdist-rpm.patch new file mode 100644 index 0000000..465d388 --- /dev/null +++ b/python-2.7.6-bdist-rpm.patch @@ -0,0 +1,12 @@ +Index: Python-2.7.6/Lib/distutils/command/bdist_rpm.py +=================================================================== +--- Python-2.7.6.orig/Lib/distutils/command/bdist_rpm.py 2013-11-10 08:36:40.000000000 +0100 ++++ Python-2.7.6/Lib/distutils/command/bdist_rpm.py 2014-02-11 19:19:26.739708837 +0100 +@@ -14,6 +14,7 @@ + from distutils.file_util import write_file + from distutils.errors import (DistutilsOptionError, DistutilsPlatformError, + DistutilsFileError, DistutilsExecError) ++from distutils.sysconfig import get_python_version + from distutils import log + + class bdist_rpm (Command): diff --git a/python-base.changes b/python-base.changes index 6c0df6d..32d6f16 100644 --- a/python-base.changes +++ b/python-base.changes @@ -8,6 +8,10 @@ Mon Feb 10 14:24:52 UTC 2014 - jmatejek@suse.com smtplib_maxline-2.7.patch - CVE-2013-1753 (bnc#856835) gzip decompression bomb in xmlrpc client: xmlrpc_gzip_27.patch +- python-2.7.6-bdist-rpm.patch: fix broken "setup.py bdist_rpm" command + (bnc#857470, issue18045) +- multilib patch: add "~/.local/lib64" paths to search path + (bnc#637176) ------------------------------------------------------------------- Tue Dec 10 16:56:02 UTC 2013 - uweigand@de.ibm.com diff --git a/python-base.spec b/python-base.spec index 2cfc9f3..212fc31 100644 --- a/python-base.spec +++ b/python-base.spec @@ -58,6 +58,8 @@ Patch26: xmlrpc_gzip_27.patch Patch27: python-2.7.6-imaplib.patch Patch28: smtplib_maxline-2.7.patch Patch29: python-2.7.6-poplib.patch +# [bnc#857470] add missing import to bdist_rpm command +Patch30: python-2.7.6-bdist-rpm.patch # COMMON-PATCH-END %define python_version %(echo %{tarversion} | head -c 3) BuildRequires: automake @@ -156,6 +158,7 @@ other applications. %patch27 -p1 %patch28 -p1 %patch29 -p1 +%patch30 -p1 # drop Autoconf version requirement sed -i 's/^version_required/dnl version_required/' configure.ac diff --git a/python-doc.spec b/python-doc.spec index 35ea0a4..d345c69 100644 --- a/python-doc.spec +++ b/python-doc.spec @@ -63,6 +63,8 @@ Patch26: xmlrpc_gzip_27.patch Patch27: python-2.7.6-imaplib.patch Patch28: smtplib_maxline-2.7.patch Patch29: python-2.7.6-poplib.patch +# [bnc#857470] add missing import to bdist_rpm command +Patch30: python-2.7.6-bdist-rpm.patch # COMMON-PATCH-END Provides: pyth_doc Provides: pyth_ps @@ -115,6 +117,7 @@ Python, and Macintosh Module Reference in PDF format. %patch27 -p1 %patch28 -p1 %patch29 -p1 +%patch30 -p1 # drop Autoconf version requirement sed -i 's/^version_required/dnl version_required/' configure.ac diff --git a/python.spec b/python.spec index f5d6b1e..ff0262e 100644 --- a/python.spec +++ b/python.spec @@ -64,6 +64,8 @@ Patch26: xmlrpc_gzip_27.patch Patch27: python-2.7.6-imaplib.patch Patch28: smtplib_maxline-2.7.patch Patch29: python-2.7.6-poplib.patch +# [bnc#857470] add missing import to bdist_rpm command +Patch30: python-2.7.6-bdist-rpm.patch # COMMON-PATCH-END BuildRequires: automake BuildRequires: db-devel @@ -192,6 +194,7 @@ implementation of the standard Unix DBM databases. %patch27 -p1 %patch28 -p1 %patch29 -p1 +%patch30 -p1 # drop Autoconf version requirement sed -i 's/^version_required/dnl version_required/' configure.ac