From 0b39d24bb8270e5c89eaddfd1f5a4181cf9e31d3 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Mon, 28 Feb 2011 10:57:53 -0800 Subject: ebuild(1): apply package.env earlier This makes it possible to override PORTAGE_TMPDIR. --- bin/ebuild | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) (limited to 'bin') diff --git a/bin/ebuild b/bin/ebuild index 2c04200e7..a8296e8ab 100755 --- a/bin/ebuild +++ b/bin/ebuild @@ -220,20 +220,36 @@ portage.settings.validate() # generate warning messages if necessary tmpsettings = portage.config(clone=portage.settings) tmpsettings["PORTAGE_VERBOSE"] = "1" tmpsettings.backup_changes("PORTAGE_VERBOSE") + +if opts.skip_manifest: + tmpsettings["EBUILD_SKIP_MANIFEST"] = "1" + tmpsettings.backup_changes("EBUILD_SKIP_MANIFEST") + +if opts.skip_manifest or \ + "digest" in tmpsettings.features or \ + "digest" in pargs or \ + "manifest" in pargs: + portage._doebuild_manifest_exempt_depend += 1 + if "test" in pargs: # This variable is a signal to config.regenerate() to # indicate that the test phase should be enabled regardless # of problems such as masked "test" USE flag. tmpsettings["EBUILD_FORCE_TEST"] = "1" tmpsettings.backup_changes("EBUILD_FORCE_TEST") - tmpsettings.features.add("test") + tmpsettings["FEATURES"] = tmpsettings.get("FEATURES", "") + " " + "test" + tmpsettings.backup_changes("FEATURES") -tmpsettings.features.discard('fail-clean') +tmpsettings["FEATURES"] = tmpsettings.get("FEATURES", "") + " " + "-fail-clean" +tmpsettings.backup_changes("FEATURES") -if opts.skip_manifest: - tmpsettings["EBUILD_SKIP_MANIFEST"] = "1" - tmpsettings.backup_changes("EBUILD_SKIP_MANIFEST") - portage._doebuild_manifest_exempt_depend += 1 +# Apply package.env settings. This allows per-package FEATURES and other +# variables (possibly PORTAGE_TMPDIR) to be available as soon as possible. +try: + tmpsettings.setcpv(cpv, mydb=portage.db[portage.root][mytree].dbapi) +except KeyError: + # aux_get failure, message should have been shown on stderr. + sys.exit(1) build_dir_phases = set(["setup", "unpack", "prepare", "configure", "compile", "test", "install", "package", "rpm", "merge", "qmerge"]) -- cgit v1.2.3-1-g7c22