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 1529D138010 for ; Tue, 18 Sep 2012 02:59:49 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 27CD121C005; Tue, 18 Sep 2012 02:59:41 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id DA4A221C005 for ; Tue, 18 Sep 2012 02:59:40 +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 EB85133CF0B for ; Tue, 18 Sep 2012 02:59:39 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id CADD3E5444 for ; Tue, 18 Sep 2012 02:59:37 +0000 (UTC) From: "Zac Medico" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Zac Medico" Message-ID: <1347937163.1d9b8968460c4bdb44daeda3454ef0ef5035c398.zmedico@gentoo> Subject: [gentoo-commits] proj/portage:master commit in: pym/portage/package/ebuild/, bin/ X-VCS-Repository: proj/portage X-VCS-Files: bin/misc-functions.sh bin/phase-functions.sh bin/save-ebuild-env.sh pym/portage/package/ebuild/doebuild.py X-VCS-Directories: pym/portage/package/ebuild/ bin/ X-VCS-Committer: zmedico X-VCS-Committer-Name: Zac Medico X-VCS-Revision: 1d9b8968460c4bdb44daeda3454ef0ef5035c398 X-VCS-Branch: master Date: Tue, 18 Sep 2012 02:59:37 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 1b6a78fe-a2aa-4106-8f78-79142f0d3ca9 X-Archives-Hash: d1252980ea4fe16222209520defc6858 commit: 1d9b8968460c4bdb44daeda3454ef0ef5035c398 Author: Zac Medico gentoo org> AuthorDate: Tue Sep 18 02:59:23 2012 +0000 Commit: Zac Medico gentoo org> CommitDate: Tue Sep 18 02:59:23 2012 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=1d9b8968 doebuild: update environment.bz2 for pre/postinst Also, remove unnecessary __dyn_preinst func. --- bin/misc-functions.sh | 2 +- bin/phase-functions.sh | 14 +++----------- bin/save-ebuild-env.sh | 2 +- pym/portage/package/ebuild/doebuild.py | 12 ++++++++++-- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/bin/misc-functions.sh b/bin/misc-functions.sh index 486b8d2..1159ca5 100755 --- a/bin/misc-functions.sh +++ b/bin/misc-functions.sh @@ -1082,7 +1082,7 @@ preinst_selinux_labels() { return 1 fi if has selinux ${FEATURES}; then - # SELinux file labeling (needs to always be last in __dyn_preinst) + # SELinux file labeling (needs to execute after preinst) # only attempt to label if setfiles is executable # and 'context' is available on selinuxfs. if [ -f /selinux/context -o -f /sys/fs/selinux/context ] && \ diff --git a/bin/phase-functions.sh b/bin/phase-functions.sh index 7048419..92e25c6 100644 --- a/bin/phase-functions.sh +++ b/bin/phase-functions.sh @@ -601,14 +601,6 @@ __dyn_install() { trap - SIGINT SIGQUIT } -__dyn_preinst() { - if [ -z "${D}" ]; then - eerror "${FUNCNAME}: D is unset" - return 1 - fi - __ebuild_phase_with_hooks pkg_preinst -} - __dyn_help() { echo echo "Portage" @@ -871,7 +863,7 @@ __ebuild_main() { nofetch) __ebuild_phase_with_hooks pkg_nofetch ;; - prerm|postrm|postinst|config|info) + prerm|postrm|preinst|postinst|config|info) if has "${1}" config info && \ ! declare -F "pkg_${1}" >/dev/null ; then ewarn "pkg_${1}() is not defined: '${EBUILD##*/}'" @@ -884,7 +876,7 @@ __ebuild_main() { __ebuild_phase_with_hooks pkg_${1} set +x fi - if [[ $EBUILD_PHASE == postinst ]] && [[ -n $PORTAGE_UPDATE_ENV ]]; then + if [[ -n $PORTAGE_UPDATE_ENV ]] ; then # Update environment.bz2 in case installation phases # need to pass some variables to uninstallation phases. __save_ebuild_env --exclude-init-phases | \ @@ -960,7 +952,7 @@ __ebuild_main() { fi export SANDBOX_ON="0" ;; - help|pretend|setup|preinst) + help|pretend|setup) #pkg_setup needs to be out of the sandbox for tmp file creation; #for example, awking and piping a file in /tmp requires a temp file to be created #in /etc. If pkg_setup is in the sandbox, both our lilo and apache ebuilds break. diff --git a/bin/save-ebuild-env.sh b/bin/save-ebuild-env.sh index de8e1fb..7ae3938 100644 --- a/bin/save-ebuild-env.sh +++ b/bin/save-ebuild-env.sh @@ -63,7 +63,7 @@ __save_ebuild_env() { __abort_handler __abort_prepare __abort_configure __abort_compile \ __abort_test __abort_install __dyn_prepare __dyn_configure \ __dyn_compile __dyn_test __dyn_install \ - __dyn_preinst __dyn_pretend __dyn_help \ + __dyn_pretend __dyn_help \ debug-print debug-print-function \ debug-print-section __helpers_die inherit EXPORT_FUNCTIONS \ nonfatal register_success_hook \ diff --git a/pym/portage/package/ebuild/doebuild.py b/pym/portage/package/ebuild/doebuild.py index 89b6050..7200327 100644 --- a/pym/portage/package/ebuild/doebuild.py +++ b/pym/portage/package/ebuild/doebuild.py @@ -904,8 +904,16 @@ def doebuild(myebuild, mydo, _unused=None, settings=None, debug=0, listonly=0, # the sandbox -- and stop now. if mydo in ("config", "help", "info", "postinst", "preinst", "pretend", "postrm", "prerm"): - return _spawn_phase(mydo, mysettings, - fd_pipes=fd_pipes, logfile=logfile, returnpid=returnpid) + if mydo in ("preinst", "postinst"): + env_file = os.path.join(os.path.dirname(mysettings["EBUILD"]), + "environment.bz2") + if os.path.isfile(env_file): + mysettings["PORTAGE_UPDATE_ENV"] = env_file + try: + return _spawn_phase(mydo, mysettings, + fd_pipes=fd_pipes, logfile=logfile, returnpid=returnpid) + finally: + mysettings.pop("PORTAGE_UPDATE_ENV", None) mycpv = "/".join((mysettings["CATEGORY"], mysettings["PF"]))