The attached patch fixes locally.

----- Original Message -----
> From: "Francesco Romani" <from...@redhat.com>
> To: "infra" <infra@ovirt.org>
> Sent: Monday, June 23, 2014 10:48:23 AM
> Subject: F20 python 2.7.5-12 breaks cpopen
> 
> Hi Infra,
> 
> I just discovered the hard way that the last python package in F20
> 
> # rpm -qi python
> Name        : python
> Version     : 2.7.5
> Release     : 12.fc20
> Architecture: x86_64
> Install Date: Mon 23 Jun 2014 08:28:32 AM CEST
> Group       : Development/Languages
> Size        : 80819
> License     : Python
> Signature   : RSA/SHA256, Thu 19 Jun 2014 04:49:28 PM CEST, Key ID
> 2eb161fa246110c1
> Source RPM  : python-2.7.5-12.fc20.src.rpm
> Build Date  : Thu 19 Jun 2014 02:54:35 PM CEST
> Build Host  : buildvm-24.phx2.fedoraproject.org
> Relocations : (not relocatable)
> Packager    : Fedora Project
> Vendor      : Fedora Project
> URL         : http://www.python.org/
> Summary     : An interpreted, interactive, object-oriented programming
> language
> 
> [...]
> 
> Includes this apparently innocuous change:
> * Thu Jun 19 2014 Bohuslav Kabrda <bkab...@redhat.com> - 2.7.5-12
> - Fix test failures with SQLite 3.8.4
> - Fix double close of subprocess pipes when child process fails Resolves:
> rhbz#1103450 <<< THIS ONE!
> 
> Which is
> http://hg.python.org/cpython/rev/43749cb6bdbd
> 
> If we try to run VDSM tests using cpopen 1.3-2[1]
> 
> we'll get: http://fpaste.org/112115/
> 
> the fix is simple: just use execute_child_v276 and everything will work
> again.
> How can we detect and react properly to this schenario, however?
> 
> Thanks,
> 
> +++
> 
> [1]
> # rpm -qi python-cpopen
> Name        : python-cpopen
> Version     : 1.3
> Release     : 2.fc20
> Architecture: x86_64
> Install Date: Sat 15 Feb 2014 09:50:01 PM CET
> 
> 
> --
> Francesco Romani
> RedHat Engineering Virtualization R & D
> Phone: 8261328
> IRC: fromani
> _______________________________________________
> Infra mailing list
> Infra@ovirt.org
> http://lists.ovirt.org/mailman/listinfo/infra
> 

-- 
Francesco Romani
RedHat Engineering Virtualization R & D
Phone: 8261328
IRC: fromani
From a5895505d051dfe387c573474e71b3faf696fcf0 Mon Sep 17 00:00:00 2001
From: Francesco Romani <from...@redhat.com>
Date: Mon, 23 Jun 2014 11:17:47 +0200
Subject: [PATCH] compatibility with F20's python 2.7.5-12

---
 cpopen/__init__.py | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/cpopen/__init__.py b/cpopen/__init__.py
index 46ed446..cea001e 100644
--- a/cpopen/__init__.py
+++ b/cpopen/__init__.py
@@ -26,6 +26,7 @@ This is a simpler method of execing that doesn't go back to python after
 forking. This allows for faster safer exec.
 """
 
+import inspect
 import os
 import sys
 from subprocess import Popen, PIPE
@@ -101,5 +102,7 @@ class CPopen(Popen):
 
     if sys.version_info[0:3] >= (2, 7, 6):
         _execute_child = _execute_child_v276
+    elif 'to_close' in inspect.getargspec(Popen._execute_child).args:
+        _execute_child = _execute_child_v276
     else:
         _execute_child = _execute_child_v275
-- 
1.9.3

_______________________________________________
Infra mailing list
Infra@ovirt.org
http://lists.ovirt.org/mailman/listinfo/infra

Reply via email to