From 8d1bf96267b09efe0c67431a34a5ff960fd93ae7 Mon Sep 17 00:00:00 2001 From: Yamashita Yuu Date: Wed, 8 May 2013 19:01:17 +0900 Subject: [PATCH] add workaround for incompatible behaviour of svnversion (#14) --- .../Python-2.5.1/000_patch-setup.py.diff | 45 ++++++++++++++++++ .../Python-2.5.1/001_patch-svnversion.patch | 47 +++++++++++++++++++ .../Python-2.5.2/000_patch-setup.py.diff | 45 ++++++++++++++++++ .../Python-2.5.2/001_patch-svnversion.patch | 42 +++++++++++++++++ .../Python-2.5.3/000_patch-setup.py.diff | 45 ++++++++++++++++++ .../Python-2.5.3/001_patch-svnversion.patch | 42 +++++++++++++++++ .../Python-2.5.4/000_patch-setup.py.diff | 45 ++++++++++++++++++ .../Python-2.5.4/001_patch-svnversion.patch | 42 +++++++++++++++++ .../Python-2.5.5/000_patch-setup.py.diff | 45 ++++++++++++++++++ .../Python-2.5.5/001_patch-svnversion.patch | 42 +++++++++++++++++ .../Python-2.5.6/000_patch-setup.py.diff | 45 ++++++++++++++++++ .../Python-2.5.6/001_patch-svnversion.patch | 42 +++++++++++++++++ .../2.5/Python-2.5/000_patch-setup.py.diff | 45 ++++++++++++++++++ .../2.5/Python-2.5/001_patch-svnversion.patch | 47 +++++++++++++++++++ 14 files changed, 619 insertions(+) create mode 100644 plugins/python-build/patches/2.5.1/Python-2.5.1/000_patch-setup.py.diff create mode 100644 plugins/python-build/patches/2.5.1/Python-2.5.1/001_patch-svnversion.patch create mode 100644 plugins/python-build/patches/2.5.2/Python-2.5.2/000_patch-setup.py.diff create mode 100644 plugins/python-build/patches/2.5.2/Python-2.5.2/001_patch-svnversion.patch create mode 100644 plugins/python-build/patches/2.5.3/Python-2.5.3/000_patch-setup.py.diff create mode 100644 plugins/python-build/patches/2.5.3/Python-2.5.3/001_patch-svnversion.patch create mode 100644 plugins/python-build/patches/2.5.4/Python-2.5.4/000_patch-setup.py.diff create mode 100644 plugins/python-build/patches/2.5.4/Python-2.5.4/001_patch-svnversion.patch create mode 100644 plugins/python-build/patches/2.5.5/Python-2.5.5/000_patch-setup.py.diff create mode 100644 plugins/python-build/patches/2.5.5/Python-2.5.5/001_patch-svnversion.patch create mode 100644 plugins/python-build/patches/2.5.6/Python-2.5.6/000_patch-setup.py.diff create mode 100644 plugins/python-build/patches/2.5.6/Python-2.5.6/001_patch-svnversion.patch create mode 100644 plugins/python-build/patches/2.5/Python-2.5/000_patch-setup.py.diff create mode 100644 plugins/python-build/patches/2.5/Python-2.5/001_patch-svnversion.patch diff --git a/plugins/python-build/patches/2.5.1/Python-2.5.1/000_patch-setup.py.diff b/plugins/python-build/patches/2.5.1/Python-2.5.1/000_patch-setup.py.diff new file mode 100644 index 00000000..ffe4b0db --- /dev/null +++ b/plugins/python-build/patches/2.5.1/Python-2.5.1/000_patch-setup.py.diff @@ -0,0 +1,45 @@ +--- setup.py.orig 2011-07-07 19:19:43.800122463 +0900 ++++ setup.py 2011-07-07 19:25:04.548416377 +0900 +@@ -13,6 +13,7 @@ + from distutils.command.build_ext import build_ext + from distutils.command.install import install + from distutils.command.install_lib import install_lib ++from distutils.spawn import find_executable + + # This global variable is used to hold the list of modules to be disabled. + disabled_module_list = [] +@@ -242,10 +243,34 @@ + return platform + return sys.platform + ++ def add_multiarch_paths(self): ++ # Debian/Ubuntu multiarch support. ++ # https://wiki.ubuntu.com/MultiarchSpec ++ if not find_executable('dpkg-architecture'): ++ return ++ tmpfile = os.path.join(self.build_temp, 'multiarch') ++ if not os.path.exists(self.build_temp): ++ os.makedirs(self.build_temp) ++ ret = os.system( ++ 'dpkg-architecture -qDEB_HOST_MULTIARCH > %s 2> /dev/null' % ++ tmpfile) ++ try: ++ if ret >> 8 == 0: ++ fp = open(tmpfile) ++ multiarch_path_component = fp.readline().strip() ++ fp.close() ++ add_dir_to_list(self.compiler.library_dirs, ++ '/usr/lib/' + multiarch_path_component) ++ add_dir_to_list(self.compiler.include_dirs, ++ '/usr/include/' + multiarch_path_component) ++ finally: ++ os.unlink(tmpfile) ++ + def detect_modules(self): + # Ensure that /usr/local is always used + add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') + add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') ++ self.add_multiarch_paths() + + # Add paths specified in the environment variables LDFLAGS and + # CPPFLAGS for header and library files. diff --git a/plugins/python-build/patches/2.5.1/Python-2.5.1/001_patch-svnversion.patch b/plugins/python-build/patches/2.5.1/Python-2.5.1/001_patch-svnversion.patch new file mode 100644 index 00000000..7331b3c9 --- /dev/null +++ b/plugins/python-build/patches/2.5.1/Python-2.5.1/001_patch-svnversion.patch @@ -0,0 +1,47 @@ +diff -r -u ./Makefile.pre.in ../Python-2.5.1/Makefile.pre.in +--- ./Makefile.pre.in 2006-12-09 05:46:13.000000000 +0900 ++++ ../Python-2.5.1/Makefile.pre.in 2013-05-08 19:05:06.000000000 +0900 +@@ -455,7 +455,7 @@ + $(SIGNAL_OBJS) \ + $(MODOBJS) \ + $(srcdir)/Modules/getbuildinfo.c +- $(CC) -c $(PY_CFLAGS) -DSVNVERSION=\"`LC_ALL=C $(SVNVERSION)`\" -o $@ $(srcdir)/Modules/getbuildinfo.c ++ $(CC) -c $(PY_CFLAGS) -DSVNVERSION="\"`LC_ALL=C $(SVNVERSION)`\"" -o $@ $(srcdir)/Modules/getbuildinfo.c + + Modules/getpath.o: $(srcdir)/Modules/getpath.c Makefile + $(CC) -c $(PY_CFLAGS) -DPYTHONPATH='"$(PYTHONPATH)"' \ +diff -r -u ./Modules/getbuildinfo.c ../Python-2.5.1/Modules/getbuildinfo.c +--- ./Modules/getbuildinfo.c 2006-01-18 18:13:51.000000000 +0900 ++++ ../Python-2.5.1/Modules/getbuildinfo.c 2013-05-08 19:05:31.000000000 +0900 +@@ -43,6 +43,6 @@ + #ifdef SVNVERSION + return SVNVERSION; + #else +- return "exported"; ++ return "Unversioned directory"; + #endif + } +diff -r -u ./Python/sysmodule.c ../Python-2.5.1/Python/sysmodule.c +--- ./Python/sysmodule.c 2007-04-16 15:12:02.000000000 +0900 ++++ ../Python-2.5.1/Python/sysmodule.c 2013-05-08 19:05:49.000000000 +0900 +@@ -1011,7 +1011,7 @@ + + + svnversion = _Py_svnversion(); +- if (strcmp(svnversion, "exported") != 0) ++ if (strcmp(svnversion, "Unversioned directory") != 0) + svn_revision = svnversion; + else if (istag) { + len = strlen(_patchlevel_revision); +diff -r -u ./configure.in ../Python-2.5.1/configure.in +--- ./configure.in 2007-03-12 19:50:51.000000000 +0900 ++++ ../Python-2.5.1/configure.in 2013-05-08 19:04:36.000000000 +0900 +@@ -691,7 +691,7 @@ + then + SVNVERSION="svnversion \$(srcdir)" + else +- SVNVERSION="echo exported" ++ SVNVERSION="echo Unversioned directory" + fi + + case $MACHDEP in diff --git a/plugins/python-build/patches/2.5.2/Python-2.5.2/000_patch-setup.py.diff b/plugins/python-build/patches/2.5.2/Python-2.5.2/000_patch-setup.py.diff new file mode 100644 index 00000000..ffe4b0db --- /dev/null +++ b/plugins/python-build/patches/2.5.2/Python-2.5.2/000_patch-setup.py.diff @@ -0,0 +1,45 @@ +--- setup.py.orig 2011-07-07 19:19:43.800122463 +0900 ++++ setup.py 2011-07-07 19:25:04.548416377 +0900 +@@ -13,6 +13,7 @@ + from distutils.command.build_ext import build_ext + from distutils.command.install import install + from distutils.command.install_lib import install_lib ++from distutils.spawn import find_executable + + # This global variable is used to hold the list of modules to be disabled. + disabled_module_list = [] +@@ -242,10 +243,34 @@ + return platform + return sys.platform + ++ def add_multiarch_paths(self): ++ # Debian/Ubuntu multiarch support. ++ # https://wiki.ubuntu.com/MultiarchSpec ++ if not find_executable('dpkg-architecture'): ++ return ++ tmpfile = os.path.join(self.build_temp, 'multiarch') ++ if not os.path.exists(self.build_temp): ++ os.makedirs(self.build_temp) ++ ret = os.system( ++ 'dpkg-architecture -qDEB_HOST_MULTIARCH > %s 2> /dev/null' % ++ tmpfile) ++ try: ++ if ret >> 8 == 0: ++ fp = open(tmpfile) ++ multiarch_path_component = fp.readline().strip() ++ fp.close() ++ add_dir_to_list(self.compiler.library_dirs, ++ '/usr/lib/' + multiarch_path_component) ++ add_dir_to_list(self.compiler.include_dirs, ++ '/usr/include/' + multiarch_path_component) ++ finally: ++ os.unlink(tmpfile) ++ + def detect_modules(self): + # Ensure that /usr/local is always used + add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') + add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') ++ self.add_multiarch_paths() + + # Add paths specified in the environment variables LDFLAGS and + # CPPFLAGS for header and library files. diff --git a/plugins/python-build/patches/2.5.2/Python-2.5.2/001_patch-svnversion.patch b/plugins/python-build/patches/2.5.2/Python-2.5.2/001_patch-svnversion.patch new file mode 100644 index 00000000..5ee39e92 --- /dev/null +++ b/plugins/python-build/patches/2.5.2/Python-2.5.2/001_patch-svnversion.patch @@ -0,0 +1,42 @@ +--- configure.in ++++ configure.in +@@ -767,7 +767,7 @@ + then + SVNVERSION="svnversion \$(srcdir)" + else +- SVNVERSION="echo exported" ++ SVNVERSION="echo Unversioned directory" + fi + + case $MACHDEP in +--- Makefile.pre.in ++++ Makefile.pre.in +@@ -501,7 +501,7 @@ + $(SIGNAL_OBJS) \ + $(MODOBJS) \ + $(srcdir)/Modules/getbuildinfo.c +- $(CC) -c $(PY_CFLAGS) -DSVNVERSION=\"`LC_ALL=C $(SVNVERSION)`\" -o $@ $(srcdir)/Modules/getbuildinfo.c ++ $(CC) -c $(PY_CFLAGS) -DSVNVERSION="\"`LC_ALL=C $(SVNVERSION)`\"" -o $@ $(srcdir)/Modules/getbuildinfo.c + + Modules/getpath.o: $(srcdir)/Modules/getpath.c Makefile + $(CC) -c $(PY_CFLAGS) -DPYTHONPATH='"$(PYTHONPATH)"' \ +--- Modules/getbuildinfo.c ++++ Modules/getbuildinfo.c +@@ -48,5 +48,5 @@ + static const char svnversion[] = SVNVERSION; + if (svnversion[0] != '$') + return svnversion; /* it was interpolated, or passed on command line */ +- return "exported"; ++ return "Unversioned directory"; + } +--- Python/sysmodule.c ++++ Python/sysmodule.c +@@ -1161,7 +1161,7 @@ + + + svnversion = _Py_svnversion(); +- if (strcmp(svnversion, "exported") != 0) ++ if (strcmp(svnversion, "Unversioned directory") != 0 && strcmp(svnversion, "exported") != 0) + svn_revision = svnversion; + else if (istag) { + len = strlen(_patchlevel_revision); diff --git a/plugins/python-build/patches/2.5.3/Python-2.5.3/000_patch-setup.py.diff b/plugins/python-build/patches/2.5.3/Python-2.5.3/000_patch-setup.py.diff new file mode 100644 index 00000000..ffe4b0db --- /dev/null +++ b/plugins/python-build/patches/2.5.3/Python-2.5.3/000_patch-setup.py.diff @@ -0,0 +1,45 @@ +--- setup.py.orig 2011-07-07 19:19:43.800122463 +0900 ++++ setup.py 2011-07-07 19:25:04.548416377 +0900 +@@ -13,6 +13,7 @@ + from distutils.command.build_ext import build_ext + from distutils.command.install import install + from distutils.command.install_lib import install_lib ++from distutils.spawn import find_executable + + # This global variable is used to hold the list of modules to be disabled. + disabled_module_list = [] +@@ -242,10 +243,34 @@ + return platform + return sys.platform + ++ def add_multiarch_paths(self): ++ # Debian/Ubuntu multiarch support. ++ # https://wiki.ubuntu.com/MultiarchSpec ++ if not find_executable('dpkg-architecture'): ++ return ++ tmpfile = os.path.join(self.build_temp, 'multiarch') ++ if not os.path.exists(self.build_temp): ++ os.makedirs(self.build_temp) ++ ret = os.system( ++ 'dpkg-architecture -qDEB_HOST_MULTIARCH > %s 2> /dev/null' % ++ tmpfile) ++ try: ++ if ret >> 8 == 0: ++ fp = open(tmpfile) ++ multiarch_path_component = fp.readline().strip() ++ fp.close() ++ add_dir_to_list(self.compiler.library_dirs, ++ '/usr/lib/' + multiarch_path_component) ++ add_dir_to_list(self.compiler.include_dirs, ++ '/usr/include/' + multiarch_path_component) ++ finally: ++ os.unlink(tmpfile) ++ + def detect_modules(self): + # Ensure that /usr/local is always used + add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') + add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') ++ self.add_multiarch_paths() + + # Add paths specified in the environment variables LDFLAGS and + # CPPFLAGS for header and library files. diff --git a/plugins/python-build/patches/2.5.3/Python-2.5.3/001_patch-svnversion.patch b/plugins/python-build/patches/2.5.3/Python-2.5.3/001_patch-svnversion.patch new file mode 100644 index 00000000..5ee39e92 --- /dev/null +++ b/plugins/python-build/patches/2.5.3/Python-2.5.3/001_patch-svnversion.patch @@ -0,0 +1,42 @@ +--- configure.in ++++ configure.in +@@ -767,7 +767,7 @@ + then + SVNVERSION="svnversion \$(srcdir)" + else +- SVNVERSION="echo exported" ++ SVNVERSION="echo Unversioned directory" + fi + + case $MACHDEP in +--- Makefile.pre.in ++++ Makefile.pre.in +@@ -501,7 +501,7 @@ + $(SIGNAL_OBJS) \ + $(MODOBJS) \ + $(srcdir)/Modules/getbuildinfo.c +- $(CC) -c $(PY_CFLAGS) -DSVNVERSION=\"`LC_ALL=C $(SVNVERSION)`\" -o $@ $(srcdir)/Modules/getbuildinfo.c ++ $(CC) -c $(PY_CFLAGS) -DSVNVERSION="\"`LC_ALL=C $(SVNVERSION)`\"" -o $@ $(srcdir)/Modules/getbuildinfo.c + + Modules/getpath.o: $(srcdir)/Modules/getpath.c Makefile + $(CC) -c $(PY_CFLAGS) -DPYTHONPATH='"$(PYTHONPATH)"' \ +--- Modules/getbuildinfo.c ++++ Modules/getbuildinfo.c +@@ -48,5 +48,5 @@ + static const char svnversion[] = SVNVERSION; + if (svnversion[0] != '$') + return svnversion; /* it was interpolated, or passed on command line */ +- return "exported"; ++ return "Unversioned directory"; + } +--- Python/sysmodule.c ++++ Python/sysmodule.c +@@ -1161,7 +1161,7 @@ + + + svnversion = _Py_svnversion(); +- if (strcmp(svnversion, "exported") != 0) ++ if (strcmp(svnversion, "Unversioned directory") != 0 && strcmp(svnversion, "exported") != 0) + svn_revision = svnversion; + else if (istag) { + len = strlen(_patchlevel_revision); diff --git a/plugins/python-build/patches/2.5.4/Python-2.5.4/000_patch-setup.py.diff b/plugins/python-build/patches/2.5.4/Python-2.5.4/000_patch-setup.py.diff new file mode 100644 index 00000000..ffe4b0db --- /dev/null +++ b/plugins/python-build/patches/2.5.4/Python-2.5.4/000_patch-setup.py.diff @@ -0,0 +1,45 @@ +--- setup.py.orig 2011-07-07 19:19:43.800122463 +0900 ++++ setup.py 2011-07-07 19:25:04.548416377 +0900 +@@ -13,6 +13,7 @@ + from distutils.command.build_ext import build_ext + from distutils.command.install import install + from distutils.command.install_lib import install_lib ++from distutils.spawn import find_executable + + # This global variable is used to hold the list of modules to be disabled. + disabled_module_list = [] +@@ -242,10 +243,34 @@ + return platform + return sys.platform + ++ def add_multiarch_paths(self): ++ # Debian/Ubuntu multiarch support. ++ # https://wiki.ubuntu.com/MultiarchSpec ++ if not find_executable('dpkg-architecture'): ++ return ++ tmpfile = os.path.join(self.build_temp, 'multiarch') ++ if not os.path.exists(self.build_temp): ++ os.makedirs(self.build_temp) ++ ret = os.system( ++ 'dpkg-architecture -qDEB_HOST_MULTIARCH > %s 2> /dev/null' % ++ tmpfile) ++ try: ++ if ret >> 8 == 0: ++ fp = open(tmpfile) ++ multiarch_path_component = fp.readline().strip() ++ fp.close() ++ add_dir_to_list(self.compiler.library_dirs, ++ '/usr/lib/' + multiarch_path_component) ++ add_dir_to_list(self.compiler.include_dirs, ++ '/usr/include/' + multiarch_path_component) ++ finally: ++ os.unlink(tmpfile) ++ + def detect_modules(self): + # Ensure that /usr/local is always used + add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') + add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') ++ self.add_multiarch_paths() + + # Add paths specified in the environment variables LDFLAGS and + # CPPFLAGS for header and library files. diff --git a/plugins/python-build/patches/2.5.4/Python-2.5.4/001_patch-svnversion.patch b/plugins/python-build/patches/2.5.4/Python-2.5.4/001_patch-svnversion.patch new file mode 100644 index 00000000..5ee39e92 --- /dev/null +++ b/plugins/python-build/patches/2.5.4/Python-2.5.4/001_patch-svnversion.patch @@ -0,0 +1,42 @@ +--- configure.in ++++ configure.in +@@ -767,7 +767,7 @@ + then + SVNVERSION="svnversion \$(srcdir)" + else +- SVNVERSION="echo exported" ++ SVNVERSION="echo Unversioned directory" + fi + + case $MACHDEP in +--- Makefile.pre.in ++++ Makefile.pre.in +@@ -501,7 +501,7 @@ + $(SIGNAL_OBJS) \ + $(MODOBJS) \ + $(srcdir)/Modules/getbuildinfo.c +- $(CC) -c $(PY_CFLAGS) -DSVNVERSION=\"`LC_ALL=C $(SVNVERSION)`\" -o $@ $(srcdir)/Modules/getbuildinfo.c ++ $(CC) -c $(PY_CFLAGS) -DSVNVERSION="\"`LC_ALL=C $(SVNVERSION)`\"" -o $@ $(srcdir)/Modules/getbuildinfo.c + + Modules/getpath.o: $(srcdir)/Modules/getpath.c Makefile + $(CC) -c $(PY_CFLAGS) -DPYTHONPATH='"$(PYTHONPATH)"' \ +--- Modules/getbuildinfo.c ++++ Modules/getbuildinfo.c +@@ -48,5 +48,5 @@ + static const char svnversion[] = SVNVERSION; + if (svnversion[0] != '$') + return svnversion; /* it was interpolated, or passed on command line */ +- return "exported"; ++ return "Unversioned directory"; + } +--- Python/sysmodule.c ++++ Python/sysmodule.c +@@ -1161,7 +1161,7 @@ + + + svnversion = _Py_svnversion(); +- if (strcmp(svnversion, "exported") != 0) ++ if (strcmp(svnversion, "Unversioned directory") != 0 && strcmp(svnversion, "exported") != 0) + svn_revision = svnversion; + else if (istag) { + len = strlen(_patchlevel_revision); diff --git a/plugins/python-build/patches/2.5.5/Python-2.5.5/000_patch-setup.py.diff b/plugins/python-build/patches/2.5.5/Python-2.5.5/000_patch-setup.py.diff new file mode 100644 index 00000000..ffe4b0db --- /dev/null +++ b/plugins/python-build/patches/2.5.5/Python-2.5.5/000_patch-setup.py.diff @@ -0,0 +1,45 @@ +--- setup.py.orig 2011-07-07 19:19:43.800122463 +0900 ++++ setup.py 2011-07-07 19:25:04.548416377 +0900 +@@ -13,6 +13,7 @@ + from distutils.command.build_ext import build_ext + from distutils.command.install import install + from distutils.command.install_lib import install_lib ++from distutils.spawn import find_executable + + # This global variable is used to hold the list of modules to be disabled. + disabled_module_list = [] +@@ -242,10 +243,34 @@ + return platform + return sys.platform + ++ def add_multiarch_paths(self): ++ # Debian/Ubuntu multiarch support. ++ # https://wiki.ubuntu.com/MultiarchSpec ++ if not find_executable('dpkg-architecture'): ++ return ++ tmpfile = os.path.join(self.build_temp, 'multiarch') ++ if not os.path.exists(self.build_temp): ++ os.makedirs(self.build_temp) ++ ret = os.system( ++ 'dpkg-architecture -qDEB_HOST_MULTIARCH > %s 2> /dev/null' % ++ tmpfile) ++ try: ++ if ret >> 8 == 0: ++ fp = open(tmpfile) ++ multiarch_path_component = fp.readline().strip() ++ fp.close() ++ add_dir_to_list(self.compiler.library_dirs, ++ '/usr/lib/' + multiarch_path_component) ++ add_dir_to_list(self.compiler.include_dirs, ++ '/usr/include/' + multiarch_path_component) ++ finally: ++ os.unlink(tmpfile) ++ + def detect_modules(self): + # Ensure that /usr/local is always used + add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') + add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') ++ self.add_multiarch_paths() + + # Add paths specified in the environment variables LDFLAGS and + # CPPFLAGS for header and library files. diff --git a/plugins/python-build/patches/2.5.5/Python-2.5.5/001_patch-svnversion.patch b/plugins/python-build/patches/2.5.5/Python-2.5.5/001_patch-svnversion.patch new file mode 100644 index 00000000..5ee39e92 --- /dev/null +++ b/plugins/python-build/patches/2.5.5/Python-2.5.5/001_patch-svnversion.patch @@ -0,0 +1,42 @@ +--- configure.in ++++ configure.in +@@ -767,7 +767,7 @@ + then + SVNVERSION="svnversion \$(srcdir)" + else +- SVNVERSION="echo exported" ++ SVNVERSION="echo Unversioned directory" + fi + + case $MACHDEP in +--- Makefile.pre.in ++++ Makefile.pre.in +@@ -501,7 +501,7 @@ + $(SIGNAL_OBJS) \ + $(MODOBJS) \ + $(srcdir)/Modules/getbuildinfo.c +- $(CC) -c $(PY_CFLAGS) -DSVNVERSION=\"`LC_ALL=C $(SVNVERSION)`\" -o $@ $(srcdir)/Modules/getbuildinfo.c ++ $(CC) -c $(PY_CFLAGS) -DSVNVERSION="\"`LC_ALL=C $(SVNVERSION)`\"" -o $@ $(srcdir)/Modules/getbuildinfo.c + + Modules/getpath.o: $(srcdir)/Modules/getpath.c Makefile + $(CC) -c $(PY_CFLAGS) -DPYTHONPATH='"$(PYTHONPATH)"' \ +--- Modules/getbuildinfo.c ++++ Modules/getbuildinfo.c +@@ -48,5 +48,5 @@ + static const char svnversion[] = SVNVERSION; + if (svnversion[0] != '$') + return svnversion; /* it was interpolated, or passed on command line */ +- return "exported"; ++ return "Unversioned directory"; + } +--- Python/sysmodule.c ++++ Python/sysmodule.c +@@ -1161,7 +1161,7 @@ + + + svnversion = _Py_svnversion(); +- if (strcmp(svnversion, "exported") != 0) ++ if (strcmp(svnversion, "Unversioned directory") != 0 && strcmp(svnversion, "exported") != 0) + svn_revision = svnversion; + else if (istag) { + len = strlen(_patchlevel_revision); diff --git a/plugins/python-build/patches/2.5.6/Python-2.5.6/000_patch-setup.py.diff b/plugins/python-build/patches/2.5.6/Python-2.5.6/000_patch-setup.py.diff new file mode 100644 index 00000000..ffe4b0db --- /dev/null +++ b/plugins/python-build/patches/2.5.6/Python-2.5.6/000_patch-setup.py.diff @@ -0,0 +1,45 @@ +--- setup.py.orig 2011-07-07 19:19:43.800122463 +0900 ++++ setup.py 2011-07-07 19:25:04.548416377 +0900 +@@ -13,6 +13,7 @@ + from distutils.command.build_ext import build_ext + from distutils.command.install import install + from distutils.command.install_lib import install_lib ++from distutils.spawn import find_executable + + # This global variable is used to hold the list of modules to be disabled. + disabled_module_list = [] +@@ -242,10 +243,34 @@ + return platform + return sys.platform + ++ def add_multiarch_paths(self): ++ # Debian/Ubuntu multiarch support. ++ # https://wiki.ubuntu.com/MultiarchSpec ++ if not find_executable('dpkg-architecture'): ++ return ++ tmpfile = os.path.join(self.build_temp, 'multiarch') ++ if not os.path.exists(self.build_temp): ++ os.makedirs(self.build_temp) ++ ret = os.system( ++ 'dpkg-architecture -qDEB_HOST_MULTIARCH > %s 2> /dev/null' % ++ tmpfile) ++ try: ++ if ret >> 8 == 0: ++ fp = open(tmpfile) ++ multiarch_path_component = fp.readline().strip() ++ fp.close() ++ add_dir_to_list(self.compiler.library_dirs, ++ '/usr/lib/' + multiarch_path_component) ++ add_dir_to_list(self.compiler.include_dirs, ++ '/usr/include/' + multiarch_path_component) ++ finally: ++ os.unlink(tmpfile) ++ + def detect_modules(self): + # Ensure that /usr/local is always used + add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') + add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') ++ self.add_multiarch_paths() + + # Add paths specified in the environment variables LDFLAGS and + # CPPFLAGS for header and library files. diff --git a/plugins/python-build/patches/2.5.6/Python-2.5.6/001_patch-svnversion.patch b/plugins/python-build/patches/2.5.6/Python-2.5.6/001_patch-svnversion.patch new file mode 100644 index 00000000..5ee39e92 --- /dev/null +++ b/plugins/python-build/patches/2.5.6/Python-2.5.6/001_patch-svnversion.patch @@ -0,0 +1,42 @@ +--- configure.in ++++ configure.in +@@ -767,7 +767,7 @@ + then + SVNVERSION="svnversion \$(srcdir)" + else +- SVNVERSION="echo exported" ++ SVNVERSION="echo Unversioned directory" + fi + + case $MACHDEP in +--- Makefile.pre.in ++++ Makefile.pre.in +@@ -501,7 +501,7 @@ + $(SIGNAL_OBJS) \ + $(MODOBJS) \ + $(srcdir)/Modules/getbuildinfo.c +- $(CC) -c $(PY_CFLAGS) -DSVNVERSION=\"`LC_ALL=C $(SVNVERSION)`\" -o $@ $(srcdir)/Modules/getbuildinfo.c ++ $(CC) -c $(PY_CFLAGS) -DSVNVERSION="\"`LC_ALL=C $(SVNVERSION)`\"" -o $@ $(srcdir)/Modules/getbuildinfo.c + + Modules/getpath.o: $(srcdir)/Modules/getpath.c Makefile + $(CC) -c $(PY_CFLAGS) -DPYTHONPATH='"$(PYTHONPATH)"' \ +--- Modules/getbuildinfo.c ++++ Modules/getbuildinfo.c +@@ -48,5 +48,5 @@ + static const char svnversion[] = SVNVERSION; + if (svnversion[0] != '$') + return svnversion; /* it was interpolated, or passed on command line */ +- return "exported"; ++ return "Unversioned directory"; + } +--- Python/sysmodule.c ++++ Python/sysmodule.c +@@ -1161,7 +1161,7 @@ + + + svnversion = _Py_svnversion(); +- if (strcmp(svnversion, "exported") != 0) ++ if (strcmp(svnversion, "Unversioned directory") != 0 && strcmp(svnversion, "exported") != 0) + svn_revision = svnversion; + else if (istag) { + len = strlen(_patchlevel_revision); diff --git a/plugins/python-build/patches/2.5/Python-2.5/000_patch-setup.py.diff b/plugins/python-build/patches/2.5/Python-2.5/000_patch-setup.py.diff new file mode 100644 index 00000000..ffe4b0db --- /dev/null +++ b/plugins/python-build/patches/2.5/Python-2.5/000_patch-setup.py.diff @@ -0,0 +1,45 @@ +--- setup.py.orig 2011-07-07 19:19:43.800122463 +0900 ++++ setup.py 2011-07-07 19:25:04.548416377 +0900 +@@ -13,6 +13,7 @@ + from distutils.command.build_ext import build_ext + from distutils.command.install import install + from distutils.command.install_lib import install_lib ++from distutils.spawn import find_executable + + # This global variable is used to hold the list of modules to be disabled. + disabled_module_list = [] +@@ -242,10 +243,34 @@ + return platform + return sys.platform + ++ def add_multiarch_paths(self): ++ # Debian/Ubuntu multiarch support. ++ # https://wiki.ubuntu.com/MultiarchSpec ++ if not find_executable('dpkg-architecture'): ++ return ++ tmpfile = os.path.join(self.build_temp, 'multiarch') ++ if not os.path.exists(self.build_temp): ++ os.makedirs(self.build_temp) ++ ret = os.system( ++ 'dpkg-architecture -qDEB_HOST_MULTIARCH > %s 2> /dev/null' % ++ tmpfile) ++ try: ++ if ret >> 8 == 0: ++ fp = open(tmpfile) ++ multiarch_path_component = fp.readline().strip() ++ fp.close() ++ add_dir_to_list(self.compiler.library_dirs, ++ '/usr/lib/' + multiarch_path_component) ++ add_dir_to_list(self.compiler.include_dirs, ++ '/usr/include/' + multiarch_path_component) ++ finally: ++ os.unlink(tmpfile) ++ + def detect_modules(self): + # Ensure that /usr/local is always used + add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') + add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') ++ self.add_multiarch_paths() + + # Add paths specified in the environment variables LDFLAGS and + # CPPFLAGS for header and library files. diff --git a/plugins/python-build/patches/2.5/Python-2.5/001_patch-svnversion.patch b/plugins/python-build/patches/2.5/Python-2.5/001_patch-svnversion.patch new file mode 100644 index 00000000..d5d95423 --- /dev/null +++ b/plugins/python-build/patches/2.5/Python-2.5/001_patch-svnversion.patch @@ -0,0 +1,47 @@ +diff -r -u ./Makefile.pre.in ../Python-2.5/Makefile.pre.in +--- ./Makefile.pre.in 2006-07-31 01:20:10.000000000 +0900 ++++ ../Python-2.5/Makefile.pre.in 2013-05-08 19:19:27.000000000 +0900 +@@ -455,7 +455,7 @@ + $(SIGNAL_OBJS) \ + $(MODOBJS) \ + $(srcdir)/Modules/getbuildinfo.c +- $(CC) -c $(PY_CFLAGS) -DSVNVERSION=\"`LANG=C $(SVNVERSION)`\" -o $@ $(srcdir)/Modules/getbuildinfo.c ++ $(CC) -c $(PY_CFLAGS) -DSVNVERSION="\"`LANG=C $(SVNVERSION)`\"" -o $@ $(srcdir)/Modules/getbuildinfo.c + + Modules/getpath.o: $(srcdir)/Modules/getpath.c Makefile + $(CC) -c $(PY_CFLAGS) -DPYTHONPATH='"$(PYTHONPATH)"' \ +diff -r -u ./Modules/getbuildinfo.c ../Python-2.5/Modules/getbuildinfo.c +--- ./Modules/getbuildinfo.c 2006-01-18 18:13:51.000000000 +0900 ++++ ../Python-2.5/Modules/getbuildinfo.c 2013-05-08 19:19:40.000000000 +0900 +@@ -43,6 +43,6 @@ + #ifdef SVNVERSION + return SVNVERSION; + #else +- return "exported"; ++ return "Unversioned directory"; + #endif + } +diff -r -u ./Python/sysmodule.c ../Python-2.5/Python/sysmodule.c +--- ./Python/sysmodule.c 2006-07-21 14:32:28.000000000 +0900 ++++ ../Python-2.5/Python/sysmodule.c 2013-05-08 19:19:55.000000000 +0900 +@@ -1009,7 +1009,7 @@ + + + svnversion = _Py_svnversion(); +- if (strcmp(svnversion, "exported") != 0) ++ if (strcmp(svnversion, "Unversioned directory") != 0) + svn_revision = svnversion; + else if (istag) { + len = strlen(_patchlevel_revision); +diff -r -u ./configure.in ../Python-2.5/configure.in +--- ./configure.in 2006-09-05 11:54:42.000000000 +0900 ++++ ../Python-2.5/configure.in 2013-05-08 19:20:05.000000000 +0900 +@@ -686,7 +686,7 @@ + then + SVNVERSION="svnversion \$(srcdir)" + else +- SVNVERSION="echo exported" ++ SVNVERSION="echo Unversioned directory" + fi + + case $MACHDEP in