From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-771595-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	by finch.gentoo.org (Postfix) with ESMTP id 52F8F138ACF
	for <garchives@archives.gentoo.org>; Fri, 13 Feb 2015 18:44:00 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 5DA33E08EB;
	Fri, 13 Feb 2015 18:43:58 +0000 (UTC)
Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183])
	(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id 11258E08EB
	for <gentoo-commits@lists.gentoo.org>; Fri, 13 Feb 2015 18:43:57 +0000 (UTC)
Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52])
	(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id A1F363407E8
	for <gentoo-commits@lists.gentoo.org>; Fri, 13 Feb 2015 18:43:56 +0000 (UTC)
Received: from localhost.localdomain (localhost [127.0.0.1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id 5BA8811AFB
	for <gentoo-commits@lists.gentoo.org>; Fri, 13 Feb 2015 18:43:54 +0000 (UTC)
From: "Alexander Berntsen" <bernalex@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Alexander Berntsen" <bernalex@gentoo.org>
Message-ID: <1423853016.7fab3aadb4cdca35ce0d81525af1256c745308ff.bernalex@gentoo>
Subject: [gentoo-commits] proj/portage:master commit in: pym/_emerge/
X-VCS-Repository: proj/portage
X-VCS-Files: pym/_emerge/main.py
X-VCS-Directories: pym/_emerge/
X-VCS-Committer: bernalex
X-VCS-Committer-Name: Alexander Berntsen
X-VCS-Revision: 7fab3aadb4cdca35ce0d81525af1256c745308ff
X-VCS-Branch: master
Date: Fri, 13 Feb 2015 18:43:54 +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
X-Archives-Salt: 225eaf3b-a055-46df-adcd-06e40dcac9c3
X-Archives-Hash: 1eb3fe8f76240ecaea245eef02a4e5ae

commit:     7fab3aadb4cdca35ce0d81525af1256c745308ff
Author:     Alexander Berntsen <bernalex <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 13 18:38:36 2015 +0000
Commit:     Alexander Berntsen <bernalex <AT> gentoo <DOT> org>
CommitDate: Fri Feb 13 18:43:36 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=7fab3aad

Add another check for broken /dev/s (bug 538980)

Signed-off-by: Alexander Berntsen <bernalex <AT> gentoo.org>
Suggested-by:  Zac Medico         <zmedico <AT> gentoo.org>
ACKed-by:      Zac Medico         <zmedico <AT> gentoo.org>

---
 pym/_emerge/main.py | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py
index f1a9e18..84094ae 100644
--- a/pym/_emerge/main.py
+++ b/pym/_emerge/main.py
@@ -1114,6 +1114,15 @@ def emerge_main(args=None):
 				 level=logging.ERROR, noiselevel=-1)
 		return 1
 
+	# Verify that BASH process substitution works as another cheap early
+	# filter. Process substitution uses '/dev/fd'.
+	if portage.process.spawn_bash("[[ $(< <(echo foo) ) == foo ]]") != 0:
+		writemsg_level("Failed to validate a sane '/dev'.\n"
+				 "bash process substitution doesn't work; this may be an "
+				 "indication of a broken '/dev/fd'.\n",
+				 level=logging.ERROR, noiselevel=-1)
+		return 1
+
 	# Portage needs to ensure a sane umask for the files it creates.
 	os.umask(0o22)
 	emerge_config = load_emerge_config(