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 ) id 1Qjwaj-0003m0-Sn for garchives@archives.gentoo.org; Thu, 21 Jul 2011 16:59:18 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 7371C21C33F; Thu, 21 Jul 2011 16:59:04 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 44E6921C33F for ; Thu, 21 Jul 2011 16:59:04 +0000 (UTC) Received: from pelican.gentoo.org (unknown [66.219.59.40]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id BCD8F1B400D for ; Thu, 21 Jul 2011 16:59:03 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id 140E98003D for ; Thu, 21 Jul 2011 16:59:03 +0000 (UTC) From: "Zac Medico" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Zac Medico" Message-ID: <1fbff8957c6de3654f7901e2ed4a075b972d06dc.zmedico@gentoo> Subject: [gentoo-commits] proj/portage:master commit in: pym/_emerge/ X-VCS-Repository: proj/portage X-VCS-Files: pym/_emerge/BinpkgFetcher.py pym/_emerge/SpawnProcess.py X-VCS-Directories: pym/_emerge/ X-VCS-Committer: zmedico X-VCS-Committer-Name: Zac Medico X-VCS-Revision: 1fbff8957c6de3654f7901e2ed4a075b972d06dc Date: Thu, 21 Jul 2011 16:59:03 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: X-Archives-Hash: 80cfeda4f7e04f73df3db7c7fa997242 commit: 1fbff8957c6de3654f7901e2ed4a075b972d06dc Author: Zac Medico gentoo org> AuthorDate: Thu Jul 21 16:56:33 2011 +0000 Commit: Zac Medico gentoo org> CommitDate: Thu Jul 21 16:56:33 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/portage.git;a= =3Dcommit;h=3D1fbff895 BinpkgFetcher: support selinux PORTAGE_FETCH_T Thanks to Sven Vermeulen siphos.be> for the initial patch posted on bug #375835. --- pym/_emerge/BinpkgFetcher.py | 2 ++ pym/_emerge/SpawnProcess.py | 14 ++++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/pym/_emerge/BinpkgFetcher.py b/pym/_emerge/BinpkgFetcher.py index 6c1dde9..baea4d6 100644 --- a/pym/_emerge/BinpkgFetcher.py +++ b/pym/_emerge/BinpkgFetcher.py @@ -100,6 +100,8 @@ class BinpkgFetcher(SpawnProcess): =20 self.args =3D fetch_args self.env =3D fetch_env + if settings.selinux_enabled(): + self._selinux_type =3D settings["PORTAGE_FETCH_T"] SpawnProcess._start(self) =20 def _pipe(self, fd_pipes): diff --git a/pym/_emerge/SpawnProcess.py b/pym/_emerge/SpawnProcess.py index bc861e9..b72971c 100644 --- a/pym/_emerge/SpawnProcess.py +++ b/pym/_emerge/SpawnProcess.py @@ -8,6 +8,7 @@ import portage from portage import _encodings from portage import _unicode_encode from portage import os +from portage.const import BASH_BINARY import fcntl import errno import gzip @@ -25,7 +26,7 @@ class SpawnProcess(SubProcess): "path_lookup", "pre_exec") =20 __slots__ =3D ("args",) + \ - _spawn_kwarg_names + _spawn_kwarg_names + ("_selinux_type",) =20 _file_names =3D ("log", "process", "stdout") _files_dict =3D slot_dict_class(_file_names, prefix=3D"") @@ -146,7 +147,16 @@ class SpawnProcess(SubProcess): return os.pipe() =20 def _spawn(self, args, **kwargs): - return portage.process.spawn(args, **kwargs) + spawn_func =3D portage.process.spawn + + if self._selinux_type is not None: + spawn_func =3D portage.selinux.spawn_wrapper(spawn_func, + self._selinux_type) + # bash is an allowed entrypoint, while most binaries are not + if args[0] !=3D BASH_BINARY: + args =3D [BASH_BINARY, "-c", "exec \"$@\"", args[0]] + args + + return spawn_func(args, **kwargs) =20 def _output_handler(self, fd, event): =20