Gentoo Archives: gentoo-commits

From: Zac Medico <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:master commit in: bin/
Date: Mon, 28 Feb 2011 18:58:53
Message-Id: 0b39d24bb8270e5c89eaddfd1f5a4181cf9e31d3.zmedico@gentoo
1 commit: 0b39d24bb8270e5c89eaddfd1f5a4181cf9e31d3
2 Author: Zac Medico <zmedico <AT> gentoo <DOT> org>
3 AuthorDate: Mon Feb 28 18:57:53 2011 +0000
4 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
5 CommitDate: Mon Feb 28 18:57:53 2011 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=0b39d24b
7
8 ebuild(1): apply package.env earlier
9
10 This makes it possible to override PORTAGE_TMPDIR.
11
12 ---
13 bin/ebuild | 28 ++++++++++++++++++++++------
14 1 files changed, 22 insertions(+), 6 deletions(-)
15
16 diff --git a/bin/ebuild b/bin/ebuild
17 index 2c04200..a8296e8 100755
18 --- a/bin/ebuild
19 +++ b/bin/ebuild
20 @@ -220,20 +220,36 @@ portage.settings.validate() # generate warning messages if necessary
21 tmpsettings = portage.config(clone=portage.settings)
22 tmpsettings["PORTAGE_VERBOSE"] = "1"
23 tmpsettings.backup_changes("PORTAGE_VERBOSE")
24 +
25 +if opts.skip_manifest:
26 + tmpsettings["EBUILD_SKIP_MANIFEST"] = "1"
27 + tmpsettings.backup_changes("EBUILD_SKIP_MANIFEST")
28 +
29 +if opts.skip_manifest or \
30 + "digest" in tmpsettings.features or \
31 + "digest" in pargs or \
32 + "manifest" in pargs:
33 + portage._doebuild_manifest_exempt_depend += 1
34 +
35 if "test" in pargs:
36 # This variable is a signal to config.regenerate() to
37 # indicate that the test phase should be enabled regardless
38 # of problems such as masked "test" USE flag.
39 tmpsettings["EBUILD_FORCE_TEST"] = "1"
40 tmpsettings.backup_changes("EBUILD_FORCE_TEST")
41 - tmpsettings.features.add("test")
42 + tmpsettings["FEATURES"] = tmpsettings.get("FEATURES", "") + " " + "test"
43 + tmpsettings.backup_changes("FEATURES")
44
45 -tmpsettings.features.discard('fail-clean')
46 +tmpsettings["FEATURES"] = tmpsettings.get("FEATURES", "") + " " + "-fail-clean"
47 +tmpsettings.backup_changes("FEATURES")
48
49 -if opts.skip_manifest:
50 - tmpsettings["EBUILD_SKIP_MANIFEST"] = "1"
51 - tmpsettings.backup_changes("EBUILD_SKIP_MANIFEST")
52 - portage._doebuild_manifest_exempt_depend += 1
53 +# Apply package.env settings. This allows per-package FEATURES and other
54 +# variables (possibly PORTAGE_TMPDIR) to be available as soon as possible.
55 +try:
56 + tmpsettings.setcpv(cpv, mydb=portage.db[portage.root][mytree].dbapi)
57 +except KeyError:
58 + # aux_get failure, message should have been shown on stderr.
59 + sys.exit(1)
60
61 build_dir_phases = set(["setup", "unpack", "prepare", "configure", "compile",
62 "test", "install", "package", "rpm", "merge", "qmerge"])