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 CE0A11389E2 for ; Thu, 27 Nov 2014 20:39:59 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 6A7BCE08E0; Thu, 27 Nov 2014 20:39: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 05339E08DF for ; Thu, 27 Nov 2014 20:39:57 +0000 (UTC) Received: from localhost.localdomain (ip70-181-96-121.oc.oc.cox.net [70.181.96.121]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: zmedico) by smtp.gentoo.org (Postfix) with ESMTPSA id 190BE3403A2; Thu, 27 Nov 2014 20:39:57 +0000 (UTC) From: Zac Medico To: gentoo-portage-dev@lists.gentoo.org Cc: Zac Medico Subject: [gentoo-portage-dev] [PATCH v3] ebuild.sh: force fresh env for pkg_setup (528274) Date: Thu, 27 Nov 2014 12:39:49 -0800 Message-Id: <1417120789-3809-1-git-send-email-zmedico@gentoo.org> X-Mailer: git-send-email 2.0.4 In-Reply-To: <1415171263-2127-1-git-send-email-zmedico@gentoo.org> References: <1415171263-2127-1-git-send-email-zmedico@gentoo.org> 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 X-Archives-Salt: 7c28c756-e1c8-4d70-9afc-666e4a81c90c X-Archives-Hash: 440a015928abdb9df0c009fe4b56e236 In ebuild.sh, $T/environment is loaded for most phases, but it should always start with a fresh environment for pkg_setup. Therefore, skip environment loading for pkg_setup, and force the ebuild to be sourced. This also requires a change in the config.environ method, in order to ensure that the calling environment is inherited by pkg_setup (even though $T/environment may exist). X-Gentoo-Bug: 528274 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=528274 --- PATCH v3 fixes ebuild.sh to force the ebuild to be sourced for pkg_setup. bin/ebuild.sh | 4 ++-- pym/portage/package/ebuild/config.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bin/ebuild.sh b/bin/ebuild.sh index 658884a..232bf44 100755 --- a/bin/ebuild.sh +++ b/bin/ebuild.sh @@ -501,7 +501,7 @@ fi export EBUILD_MASTER_PID=${BASHPID:-$(__bashpid)} trap 'exit 1' SIGTERM -if ! has "$EBUILD_PHASE" clean cleanrm depend && \ +if ! has "$EBUILD_PHASE" clean cleanrm depend setup && \ [ -f "${T}"/environment ] ; then # The environment may have been extracted from environment.bz2 or # may have come from another version of ebuild.sh or something. @@ -550,7 +550,7 @@ eval "PORTAGE_ECLASS_LOCATIONS=(${PORTAGE_ECLASS_LOCATIONS})" # Source the ebuild every time for FEATURES=noauto, so that ebuild # modifications take effect immediately. if ! has "$EBUILD_PHASE" clean cleanrm ; then - if [[ $EBUILD_PHASE = depend || ! -f $T/environment || \ + if [[ $EBUILD_PHASE =~ ^(depend|setup)$ || ! -f $T/environment || \ -f $PORTAGE_BUILDDIR/.ebuild_changed || \ " ${FEATURES} " == *" noauto "* ]] ; then # The bashrcs get an opportunity here to set aliases that will be expanded diff --git a/pym/portage/package/ebuild/config.py b/pym/portage/package/ebuild/config.py index aca27f2..ca15f81 100644 --- a/pym/portage/package/ebuild/config.py +++ b/pym/portage/package/ebuild/config.py @@ -2665,7 +2665,7 @@ class config(object): phase = self.get('EBUILD_PHASE') filter_calling_env = False if self.mycpv is not None and \ - phase not in ('clean', 'cleanrm', 'depend', 'fetch'): + phase not in ('clean', 'cleanrm', 'depend', 'fetch', 'setup'): temp_dir = self.get('T') if temp_dir is not None and \ os.path.exists(os.path.join(temp_dir, 'environment')): -- 2.0.4