Gentoo Archives: gentoo-commits

From: "Zac Medico (zmedico)" <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] portage r10842 - in main/trunk/pym: _emerge portage
Date: Sun, 29 Jun 2008 03:13:28
Message-Id: E1KCnLt-0002Gh-8V@stork.gentoo.org
1 Author: zmedico
2 Date: 2008-06-29 03:13:17 +0000 (Sun, 29 Jun 2008)
3 New Revision: 10842
4
5 Modified:
6 main/trunk/pym/_emerge/__init__.py
7 main/trunk/pym/portage/__init__.py
8 Log:
9 Instead of calling the ebuild "clean" phase in MergeTask.merge(),
10 move it inside doebuild() where it can be tied into the actionmap_deps
11 framework.
12
13
14 Modified: main/trunk/pym/_emerge/__init__.py
15 ===================================================================
16 --- main/trunk/pym/_emerge/__init__.py 2008-06-29 01:43:13 UTC (rev 10841)
17 +++ main/trunk/pym/_emerge/__init__.py 2008-06-29 03:13:17 UTC (rev 10842)
18 @@ -6562,16 +6562,13 @@
19 build_dir = EbuildBuildDir(pkg=pkg, settings=pkgsettings)
20 try:
21 build_dir.lock()
22 + # Cleaning is triggered before the setup
23 + # phase, in portage.doebuild().
24 msg = " === (%s of %s) Cleaning (%s::%s)" % \
25 (mergecount, len(mymergelist), pkg_key, y)
26 short_msg = "emerge: (%s of %s) %s Clean" % \
27 (mergecount, len(mymergelist), pkg_key)
28 emergelog(xterm_titles, msg, short_msg=short_msg)
29 - retval = portage.doebuild(y, "clean", myroot,
30 - pkgsettings, self.edebug, cleanup=1,
31 - mydbapi=portdb, tree="porttree")
32 - if retval != os.EX_OK:
33 - raise self._pkg_failure(retval)
34
35 if "--buildpkg" in self.myopts or issyspkg:
36 if issyspkg:
37
38 Modified: main/trunk/pym/portage/__init__.py
39 ===================================================================
40 --- main/trunk/pym/portage/__init__.py 2008-06-29 01:43:13 UTC (rev 10841)
41 +++ main/trunk/pym/portage/__init__.py 2008-06-29 03:13:17 UTC (rev 10842)
42 @@ -4817,6 +4817,7 @@
43 vartree = db[myroot]["vartree"]
44
45 features = mysettings.features
46 + noauto = "noauto" in features
47 from portage.data import secpass
48
49 validcommands = ["help","clean","prerm","postrm","cleanrm","preinst","postinst",
50 @@ -4932,6 +4933,20 @@
51 doebuild_environment(myebuild, mydo, myroot, mysettings, debug,
52 use_cache, mydbapi)
53
54 + clean_phases = ("clean", "cleanrm")
55 + if mydo in clean_phases or \
56 + (not noauto and mydo in actionmap_deps and \
57 + mysettings.get("EMERGE_FROM") == "ebuild"):
58 + if mydo not in clean_phases:
59 + mysettings["EBUILD_PHASE"] = "clean"
60 + try:
61 + retval = spawn(_shell_quote(ebuild_sh_binary) + " clean",
62 + mysettings, debug=debug, free=1, logfile=None)
63 + finally:
64 + mysettings["EBUILD_PHASE"] = mydo
65 + if mydo in clean_phases or retval != os.EX_OK:
66 + return retval
67 +
68 # get possible slot information from the deps file
69 if mydo == "depend":
70 writemsg("!!! DEBUG: dbkey: %s\n" % str(dbkey), 2)
71 @@ -5144,10 +5159,7 @@
72
73 # if any of these are being called, handle them -- running them out of
74 # the sandbox -- and stop now.
75 - if mydo in ["clean","cleanrm"]:
76 - return spawn(_shell_quote(ebuild_sh_binary) + " clean", mysettings,
77 - debug=debug, free=1, logfile=None)
78 - elif mydo == "help":
79 + if mydo == "help":
80 return spawn(_shell_quote(ebuild_sh_binary) + " " + mydo,
81 mysettings, debug=debug, free=1, logfile=logfile)
82 elif mydo == "setup":
83
84 --
85 gentoo-commits@l.g.o mailing list