From 4e8ad3c0992c75b72400b3a99c7886d275142ebc Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Wed, 6 Mar 2013 15:03:56 -0500 Subject: [PATCH] 2.7.3-33: add workaround for cmpi-bindings issue (rhbz#817554) * Wed Mar 6 2013 David Malcolm - 2.7.3-33 - add workaround for cmpi-bindings issue (rhbz#817554) --- 00174-fix-for-usr-move.patch | 28 ++++++++++++++++++++++++++++ python.spec | 14 +++++++++++++- 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 00174-fix-for-usr-move.patch diff --git a/00174-fix-for-usr-move.patch b/00174-fix-for-usr-move.patch new file mode 100644 index 0000000..640986e --- /dev/null +++ b/00174-fix-for-usr-move.patch @@ -0,0 +1,28 @@ +diff -up Python-2.7.3/Modules/getpath.c.fix-for-usr-move Python-2.7.3/Modules/getpath.c +--- Python-2.7.3/Modules/getpath.c.fix-for-usr-move 2013-03-06 14:25:32.801828698 -0500 ++++ Python-2.7.3/Modules/getpath.c 2013-03-06 14:59:05.399691078 -0500 +@@ -510,6 +510,24 @@ calculate_path(void) + MAXPATHLEN bytes long. + */ + ++ /* ++ Workaround for rhbz#817554, where an empty argv0_path erroneously ++ locates "prefix" as "/lib[64]/python2.7" due to it finding ++ "/lib[64]/python2.7/os.py" via the /lib -> /usr/lib symlink for ++ https://fedoraproject.org/wiki/Features/UsrMove ++ */ ++ if (argv0_path[0] == '\0') { ++ /* ++ We have an empty argv0_path, presumably because prog aka ++ Py_GetProgramName() was not found on $PATH. ++ ++ Set argv0_path to "/usr/" so that search_for_prefix() and ++ search_for_exec_prefix() don't erroneously pick up ++ on /lib/ via the UsrMove symlink: ++ */ ++ strcpy(argv0_path, "/usr/"); ++ } ++ + if (!(pfound = search_for_prefix(argv0_path, home))) { + if (!Py_FrozenFlag) + fprintf(stderr, diff --git a/python.spec b/python.spec index 2514b6d..15081d3 100644 --- a/python.spec +++ b/python.spec @@ -106,7 +106,7 @@ Summary: An interpreted, interactive, object-oriented programming language Name: %{python} # Remember to also rebase python-docs when changing this: Version: 2.7.3 -Release: 32%{?dist} +Release: 33%{?dist} License: Python Group: Development/Languages Requires: %{python}-libs%{?_isa} = %{version}-%{release} @@ -811,6 +811,14 @@ Patch172: 00172-use-poll-for-multiprocessing-socket-connection.patch # (rhbz#913732) Patch173: 00173-workaround-ENOPROTOOPT-in-bind_port.patch +# 00174 # +# Workaround for failure to set up prefix/exec_prefix when running +# an embededed libpython that sets Py_SetProgramName() to a name not +# on $PATH when run from the root directory due to +# https://fedoraproject.org/wiki/Features/UsrMove +# e.g. cmpi-bindings under systemd (rhbz#817554): +Patch174: 00174-fix-for-usr-move.patch + # (New patches go here ^^^) # # When adding new patches to "python" and "python3" in Fedora 17 onwards, @@ -1151,6 +1159,7 @@ mv Modules/cryptmodule.c Modules/_cryptmodule.c %patch171 -p1 -b .raise-correct-exception-when-dev-urandom-is-missing %patch172 -p1 %patch173 -p1 +%patch174 -p1 -b .fix-for-usr-move # This shouldn't be necesarry, but is right now (2.2a3) @@ -1983,6 +1992,9 @@ rm -fr %{buildroot} # ====================================================== %changelog +* Wed Mar 6 2013 David Malcolm - 2.7.3-33 +- add workaround for cmpi-bindings issue (rhbz#817554) + * Mon Mar 4 2013 David Malcolm - 2.7.3-32 - add workaround for ENOPROTOOPT seen running selftests in Koji (rhbz#913732)