From owner-svn-ports-all@FreeBSD.ORG Sat May 31 14:01:02 2014 Return-Path: Delivered-To: svn-ports-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 815E7D87; Sat, 31 May 2014 14:01:02 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 623A32B6A; Sat, 31 May 2014 14:01:02 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s4VE12tN032745; Sat, 31 May 2014 14:01:02 GMT (envelope-from tdb@svn.freebsd.org) Received: (from tdb@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s4VE111T032735; Sat, 31 May 2014 14:01:01 GMT (envelope-from tdb@svn.freebsd.org) Message-Id: <201405311401.s4VE111T032735@svn.freebsd.org> From: Tim Bishop Date: Sat, 31 May 2014 14:01:01 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r355975 - in head/sysutils/ansible: . files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 31 May 2014 14:01:02 -0000 Author: tdb Date: Sat May 31 14:01:00 2014 New Revision: 355975 URL: http://svnweb.freebsd.org/changeset/ports/355975 QAT: https://qat.redports.org/buildarchive/r355975/ Log: - Update to 1.6.2 - Include patch from https://github.com/ansible/ansible/pull/7539 Changes to what's given in the PR were discussed and submitted by email. PR: ports/190231 Submitted by: Nikolai Lifanov (maintainer) Added: head/sysutils/ansible/files/patch-lib__ansible__runner__connection_plugins__paramiko_ssh.py (contents, props changed) head/sysutils/ansible/files/patch-lib__ansible__runner__connection_plugins__ssh.py (contents, props changed) head/sysutils/ansible/files/patch-lib__ansible__utils____init__.py (contents, props changed) head/sysutils/ansible/files/patch-test__units__TestUtils.py (contents, props changed) Modified: head/sysutils/ansible/Makefile head/sysutils/ansible/distinfo Modified: head/sysutils/ansible/Makefile ============================================================================== --- head/sysutils/ansible/Makefile Sat May 31 13:59:02 2014 (r355974) +++ head/sysutils/ansible/Makefile Sat May 31 14:01:00 2014 (r355975) @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= ansible -PORTVERSION= 1.6.1 +PORTVERSION= 1.6.2 CATEGORIES= sysutils python MASTER_SITES= SF/lifanov-ports-distfiles/sysutils/${PORTNAME}/:icons DISTFILES= ${PORTNAME}-${DISTVERSION}${EXTRACT_SUFX} \ @@ -29,7 +29,7 @@ USE_GITHUB= yes GH_ACCOUNT= ${PORTNAME} GH_PROJECT= ${PORTNAME} GH_TAGNAME= ${GH_COMMIT} -GH_COMMIT= d4e11c5 +GH_COMMIT= ce4883b USE_PYTHON= 2 USE_PYDISTUTILS= yes Modified: head/sysutils/ansible/distinfo ============================================================================== --- head/sysutils/ansible/distinfo Sat May 31 13:59:02 2014 (r355974) +++ head/sysutils/ansible/distinfo Sat May 31 14:01:00 2014 (r355975) @@ -1,4 +1,4 @@ -SHA256 (ansible-1.6.1.tar.gz) = 02cc980c397d6edabd1353d03a943f4a5931018b6d9caa69a513c68743a3a8b2 -SIZE (ansible-1.6.1.tar.gz) = 1171854 +SHA256 (ansible-1.6.2.tar.gz) = 38f90f99c73f4cb9217d07246c851d685d804588b0721de6e31441a1796388ef +SIZE (ansible-1.6.2.tar.gz) = 1174221 SHA256 (ansible.png) = 9bf68abd2c95db4dc8dfc091c0e0e0a9716891f28d157e3f04e541d96e1c6850 SIZE (ansible.png) = 1160 Added: head/sysutils/ansible/files/patch-lib__ansible__runner__connection_plugins__paramiko_ssh.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sysutils/ansible/files/patch-lib__ansible__runner__connection_plugins__paramiko_ssh.py Sat May 31 14:01:00 2014 (r355975) @@ -0,0 +1,29 @@ +--- ./lib/ansible/runner/connection_plugins/paramiko_ssh.py.orig 2014-05-23 16:37:57.000000000 -0400 ++++ ./lib/ansible/runner/connection_plugins/paramiko_ssh.py 2014-05-31 09:13:44.137967396 -0400 +@@ -31,6 +31,7 @@ + import logging + import traceback + import fcntl ++import re + import sys + from termios import tcflush, TCIFLUSH + from binascii import hexlify +@@ -210,12 +211,17 @@ + shcmd, prompt, success_key = utils.make_sudo_cmd(sudo_user, executable, cmd) + elif self.runner.su or su: + shcmd, prompt, success_key = utils.make_su_cmd(su_user, executable, cmd) ++ prompt_re = re.compile(prompt) + vvv("EXEC %s" % shcmd, host=self.host) + sudo_output = '' + try: + chan.exec_command(shcmd) + if self.runner.sudo_pass or self.runner.su_pass: +- while not sudo_output.endswith(prompt) and success_key not in sudo_output: ++ while True: ++ if success_key in sudo_output or \ ++ (self.runner.sudo_pass and sudo_output.endswith(prompt)) or \ ++ (self.runner.su_pass and prompt_re.match(sudo_output)): ++ break + chunk = chan.recv(bufsize) + if not chunk: + if 'unknown user' in sudo_output: Added: head/sysutils/ansible/files/patch-lib__ansible__runner__connection_plugins__ssh.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sysutils/ansible/files/patch-lib__ansible__runner__connection_plugins__ssh.py Sat May 31 14:01:00 2014 (r355975) @@ -0,0 +1,32 @@ +--- ./lib/ansible/runner/connection_plugins/ssh.py.orig 2014-05-23 16:37:57.000000000 -0400 ++++ ./lib/ansible/runner/connection_plugins/ssh.py 2014-05-31 09:13:44.138967431 -0400 +@@ -17,6 +17,7 @@ + # + + import os ++import re + import subprocess + import shlex + import pipes +@@ -263,6 +264,7 @@ + + if su and su_user: + sudocmd, prompt, success_key = utils.make_su_cmd(su_user, executable, cmd) ++ prompt_re = re.compile(prompt) + ssh_cmd.append(sudocmd) + elif not self.runner.sudo or not sudoable: + prompt = None +@@ -303,7 +305,12 @@ + sudo_output = '' + sudo_errput = '' + +- while not sudo_output.endswith(prompt) and success_key not in sudo_output: ++ while True: ++ if success_key in sudo_output or \ ++ (self.runner.sudo_pass and sudo_output.endswith(prompt)) or \ ++ (self.runner.su_pass and prompt_re.match(sudo_output)): ++ break ++ + rfd, wfd, efd = select.select([p.stdout, p.stderr], [], + [p.stdout], self.runner.timeout) + if p.stderr in rfd: Added: head/sysutils/ansible/files/patch-lib__ansible__utils____init__.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sysutils/ansible/files/patch-lib__ansible__utils____init__.py Sat May 31 14:01:00 2014 (r355975) @@ -0,0 +1,14 @@ +--- ./lib/ansible/utils/__init__.py.orig 2014-05-23 16:37:57.000000000 -0400 ++++ ./lib/ansible/utils/__init__.py 2014-05-31 09:13:44.140967223 -0400 +@@ -952,9 +952,9 @@ + """ + # TODO: work on this function + randbits = ''.join(chr(random.randint(ord('a'), ord('z'))) for x in xrange(32)) +- prompt = 'assword: ' ++ prompt = '[Pp]assword: ?$' + success_key = 'SUDO-SUCCESS-%s' % randbits +- sudocmd = '%s %s %s %s -c %s' % ( ++ sudocmd = '%s %s %s -c "%s -c %s"' % ( + C.DEFAULT_SU_EXE, C.DEFAULT_SU_FLAGS, su_user, executable or '$SHELL', + pipes.quote('echo %s; %s' % (success_key, cmd)) + ) Added: head/sysutils/ansible/files/patch-test__units__TestUtils.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sysutils/ansible/files/patch-test__units__TestUtils.py Sat May 31 14:01:00 2014 (r355975) @@ -0,0 +1,21 @@ +--- ./test/units/TestUtils.py.orig 2014-05-23 16:37:57.000000000 -0400 ++++ ./test/units/TestUtils.py 2014-05-31 09:13:44.141967206 -0400 +@@ -3,6 +3,7 @@ + import unittest + import os + import os.path ++import re + import tempfile + import yaml + import passlib.hash +@@ -511,8 +512,8 @@ + cmd = ansible.utils.make_su_cmd('root', '/bin/sh', '/bin/ls') + self.assertTrue(isinstance(cmd, tuple)) + self.assertEqual(len(cmd), 3) +- self.assertTrue(' root /bin/sh' in cmd[0]) +- self.assertTrue(cmd[1] == 'assword: ') ++ self.assertTrue(' root -c "/bin/sh' in cmd[0]) ++ self.assertTrue(re.compile(cmd[1])) + self.assertTrue('echo SUDO-SUCCESS-' in cmd[0] and cmd[2].startswith('SUDO-SUCCESS-')) + + def test_to_unicode(self):