From mboxrd@z Thu Jan  1 00:00:00 1970
Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org)
	by finch.gentoo.org with esmtp (Exim 4.60)
	(envelope-from <gentoo-commits+bounces-435299-garchives=archives.gentoo.org@lists.gentoo.org>)
	id 1S4MCx-0005df-IJ
	for garchives@archives.gentoo.org; Mon, 05 Mar 2012 00:55:23 +0000
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id C3D6FE07F0;
	Mon,  5 Mar 2012 00:55:08 +0000 (UTC)
Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183])
	by pigeon.gentoo.org (Postfix) with ESMTP id 94E32E07F0
	for <gentoo-commits@lists.gentoo.org>; Mon,  5 Mar 2012 00:55:08 +0000 (UTC)
Received: from hornbill.gentoo.org (hornbill.gentoo.org [94.100.119.163])
	(using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id EC5E31B400E
	for <gentoo-commits@lists.gentoo.org>; Mon,  5 Mar 2012 00:55:07 +0000 (UTC)
Received: from localhost.localdomain (localhost [127.0.0.1])
	by hornbill.gentoo.org (Postfix) with ESMTP id 8ECD5E5401
	for <gentoo-commits@lists.gentoo.org>; Mon,  5 Mar 2012 00:55:05 +0000 (UTC)
From: "Zac Medico" <zmedico@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Zac Medico" <zmedico@gentoo.org>
Message-ID: <1330908879.43593de8225589fcd5c0d07ce70f45dfbe11bba9.zmedico@gentoo>
Subject: [gentoo-commits] proj/portage:master commit in: bin/
X-VCS-Repository: proj/portage
X-VCS-Files: bin/repoman
X-VCS-Directories: bin/
X-VCS-Committer: zmedico
X-VCS-Committer-Name: Zac Medico
X-VCS-Revision: 43593de8225589fcd5c0d07ce70f45dfbe11bba9
X-VCS-Branch: master
Date: Mon,  5 Mar 2012 00:55:05 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: quoted-printable
X-Archives-Salt: db3622d3-8b23-420f-846a-e9c0271c750e
X-Archives-Hash: 44fd66a8cf149e9a43844cc870c648f8

commit:     43593de8225589fcd5c0d07ce70f45dfbe11bba9
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Mon Mar  5 00:48:41 2012 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Mon Mar  5 00:54:39 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=3Dproj/portage.git;a=
=3Dcommit;h=3D43593de8

repoman: say Git >=3D1.7.9 needed for signed commit

---
 bin/repoman |   23 ++++++++++++++++++++++-
 1 files changed, 22 insertions(+), 1 deletions(-)

diff --git a/bin/repoman b/bin/repoman
index bcb48e4..3f16603 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -1,5 +1,5 @@
 #!/usr/bin/python -O
-# Copyright 1999-2011 Gentoo Foundation
+# Copyright 1999-2012 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
=20
 # Next to do: dep syntax checking in mask files
@@ -936,6 +936,20 @@ def vcs_files_to_cps(vcs_file_iter):
=20
 	return frozenset(modified_cps)
=20
+def git_supports_gpg_sign():
+	status, cmd_output =3D \
+		subprocess_getstatusoutput("git --version")
+	cmd_output =3D cmd_output.split()
+	if cmd_output:
+		version =3D re.match(r'^(\d+)\.(\d+)\.(\d+)', cmd_output[-1])
+		if version is not None:
+			version =3D [int(x) for x in version.groups()[1:]]
+			if version[0] > 1 or \
+				(version[0] =3D=3D 1 and version[1] > 7) or \
+				(version[0] =3D=3D 1 and version[1] =3D=3D 7 and version[2] >=3D 9):
+				return True
+	return False
+
 def dev_keywords(profiles):
 	"""
 	Create a set of KEYWORDS values that exist in 'dev'
@@ -2772,6 +2786,13 @@ else:
 			else:
 				retval =3D spawn(commit_cmd, env=3Dos.environ)
 				if retval !=3D os.EX_OK:
+
+					if repo_config.sign_commit and vcs =3D=3D 'git' and \
+						not git_supports_gpg_sign():
+						# Inform user that newer git is needed (bug #403323).
+						logging.error(
+							"Git >=3D1.7.9 is required for signed commits!")
+
 					writemsg_level(("!!! Exiting on %s (shell) " + \
 						"error code: %s\n") % (vcs, retval),
 						level=3Dlogging.ERROR, noiselevel=3D-1)