From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 87C7A1384B4 for ; Tue, 3 Nov 2015 23:54:29 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 9FA0A21C052; Tue, 3 Nov 2015 23:54:28 +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 1C6E721C051 for ; Tue, 3 Nov 2015 23:54:21 +0000 (UTC) Received: from professor-x (S010634bdfa9ecf80.vc.shawcable.net [96.49.31.57]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: dolsen) by smtp.gentoo.org (Postfix) with ESMTPSA id 484D83404B1 for ; Tue, 3 Nov 2015 23:54:21 +0000 (UTC) Date: Tue, 3 Nov 2015 15:53:27 -0800 From: Brian Dolbec To: gentoo-portage-dev@lists.gentoo.org Subject: Re: [gentoo-portage-dev] [PATCH] AbstractEbuildProcess: validate cgroup release agent Message-ID: <20151103155327.6b912abb.dolsen@gentoo.org> In-Reply-To: <1446585183-1110-1-git-send-email-zmedico@gentoo.org> References: <1446585183-1110-1-git-send-email-zmedico@gentoo.org> Organization: Gentoo Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-portage-dev@lists.gentoo.org Reply-to: gentoo-portage-dev@lists.gentoo.org MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Archives-Salt: 3feba8f3-396b-427f-b737-4d085ac40608 X-Archives-Hash: 314f9ef44ec7c6d6d0811240730dc0f2 On Tue, 3 Nov 2015 13:13:03 -0800 Zac Medico wrote: > Since commit e6be71af3f67ea274db455e9c24d5f84bd372c39, the release > agent can refer to a temporary file if it was set while portage was > updating itself. Fix it to reset the release agent when necessary. > > Fixes: e6be71af3f67 ("AbstractEbuildProcess: remove cgroup with > release_agent (bug 561264)") --- > pym/_emerge/AbstractEbuildProcess.py | 18 ++++++++++++++++++ > 1 file changed, 18 insertions(+) > > diff --git a/pym/_emerge/AbstractEbuildProcess.py > b/pym/_emerge/AbstractEbuildProcess.py index 2b5d9c7..8bd30a6 100644 > --- a/pym/_emerge/AbstractEbuildProcess.py > +++ b/pym/_emerge/AbstractEbuildProcess.py > @@ -96,6 +96,24 @@ class AbstractEbuildProcess(SpawnProcess): > with open(os.path.join( > cgroup_portage, > 'notify_on_release'), 'w') as f: f.write('1') > + else: > + # Update release_agent if it > no longer exists, because > + # it refers to a temporary > path when portage is updating > + # itself. > + release_agent = os.path.join( > + cgroup_portage, > 'release_agent') > + try: > + with > open(release_agent) as f: > + > release_agent_path = f.readline().rstrip('\n') > + except EnvironmentError: > + release_agent_path = > None + > + if (release_agent_path is > None or > + not > os.path.exists(release_agent_path)): > + with > open(release_agent, 'w') as f: > + > f.write(os.path.join( > + > self.settings['PORTAGE_BIN_PATH'], > + 'cgroup-release-agent')) > > cgroup_path = > tempfile.mkdtemp(dir=cgroup_portage, prefix='%s:%s.' % > (self.settings["CATEGORY"], yeah, looks good :) -- Brian Dolbec