From d0ea0bb63891babd1c5778df2e291b527c8e927c Mon Sep 17 00:00:00 2001 From: Rob Crittenden Date: Tue, 31 Aug 2010 16:59:27 -0400 Subject: Changes to fix compatibility with Fedora 14 Fedora 14 introduced the following incompatiblities: - the kerberos binaries moved from /usr/kerberos/[s]/bin to /usr/[s]bin - the xmlrpclib in Python 2.7 is not fully backwards compatible to 2.6 Also, when moving the installed host service principals: - don't assume that krbticketflags is set - allow multiple values for krbextradata ticket 155 --- ipapython/ipautil.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'ipapython/ipautil.py') diff --git a/ipapython/ipautil.py b/ipapython/ipautil.py index 3f8bba90..4d07bb62 100644 --- a/ipapython/ipautil.py +++ b/ipapython/ipautil.py @@ -89,7 +89,7 @@ def write_tmp_file(txt): return fd -def run(args, stdin=None, raiseonerr=True, nolog=()): +def run(args, stdin=None, raiseonerr=True, nolog=(), env=None): """ Execute a command and return stdin, stdout and the process return code. @@ -113,11 +113,13 @@ def run(args, stdin=None, raiseonerr=True, nolog=()): If an value isn't found in the list it is silently ignored. """ + if env is None: + env={"PATH": "/bin:/sbin:/usr/kerberos/bin:/usr/kerberos/sbin:/usr/bin:/usr/sbin"} if stdin: - p = subprocess.Popen(args, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, close_fds=True) + p = subprocess.Popen(args, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, close_fds=True, env=env) stdout,stderr = p.communicate(stdin) else: - p = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE, close_fds=True) + p = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE, close_fds=True, env=env) stdout,stderr = p.communicate() # The command and its output may include passwords that we don't want -- cgit