Gentoo Archives: gentoo-commits

From: "Zac Medico (zmedico)" <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] portage r10906 - main/trunk/pym/_emerge
Date: Thu, 03 Jul 2008 07:39:02
Message-Id: E1KEJP6-0003J2-Ik@stork.gentoo.org
1 Author: zmedico
2 Date: 2008-07-03 07:38:55 +0000 (Thu, 03 Jul 2008)
3 New Revision: 10906
4
5 Modified:
6 main/trunk/pym/_emerge/__init__.py
7 Log:
8 Remove the Scheduler._post_merge() method, and create a new
9 _show_failed_fetches() method.
10
11
12 Modified: main/trunk/pym/_emerge/__init__.py
13 ===================================================================
14 --- main/trunk/pym/_emerge/__init__.py 2008-07-03 07:04:44 UTC (rev 10905)
15 +++ main/trunk/pym/_emerge/__init__.py 2008-07-03 07:38:55 UTC (rev 10906)
16 @@ -7045,6 +7045,7 @@
17 self._running_tasks = set()
18 self._max_jobs = 1
19 self._prefetchers = weakref.WeakValueDictionary()
20 + self._failed_fetches = []
21 self._parallel_fetch = False
22 features = self.settings.features
23 if "parallel-fetch" in features and \
24 @@ -7182,6 +7183,23 @@
25 prefetchers[pkg] = prefetcher
26 self._add_task(prefetcher)
27
28 + def _show_failed_fetches(self):
29 + failed_fetches = self._failed_fetches
30 + if not failed_fetches or not \
31 + ("--fetchonly" in self.myopts or \
32 + "--fetch-all-uri" in self.myopts):
33 + return
34 +
35 + sys.stderr.write("\n\n!!! Some fetch errors were " + \
36 + "encountered. Please see above for details.\n\n")
37 +
38 + for cpv in failed_fetches:
39 + sys.stderr.write(" ")
40 + sys.stderr.write(cpv)
41 + sys.stderr.write("\n")
42 +
43 + sys.stderr.write("\n")
44 +
45 def merge(self):
46
47 if "--resume" in self.myopts:
48 @@ -7220,6 +7238,9 @@
49 task = running_tasks.pop()
50 task.cancel()
51
52 + self._show_failed_fetches()
53 + del self._failed_fetches[:]
54 +
55 if rval == os.EX_OK or not keep_going:
56 break
57 if "resume" not in mtimedb:
58 @@ -7265,6 +7286,8 @@
59 del dropped_tasks
60 self._mergelist = mylist
61
62 + self._logger.log(" *** Finished. Cleaning up...")
63 +
64 return rval
65
66 def _calc_resume_list(self):
67 @@ -7349,7 +7372,6 @@
68 favorites = self._favorites
69 mtimedb = self._mtimedb
70 buildpkgonly = "--buildpkgonly" in self.myopts
71 - failed_fetches = []
72 fetchonly = "--fetchonly" in self.myopts or \
73 "--fetch-all-uri" in self.myopts
74 oneshot = "--oneshot" in self.myopts or \
75 @@ -7398,16 +7420,15 @@
76 pkg_count.curval += 1
77 try:
78 self._execute_task(bad_resume_opts,
79 - failed_fetches,
80 mydbapi, pkg_count,
81 myfeat, mymergelist, x)
82 except self._pkg_failure, e:
83 return e.status
84 - return self._post_merge(mtimedb,
85 - self._logger.xterm_titles, failed_fetches)
86
87 + return os.EX_OK
88 +
89 def _execute_task(self, bad_resume_opts,
90 - failed_fetches, mydbapi, pkg_count, myfeat,
91 + mydbapi, pkg_count, myfeat,
92 mymergelist, pkg):
93 favorites = self._favorites
94 mtimedb = self._mtimedb
95 @@ -7417,6 +7438,7 @@
96 buildpkgonly = "--buildpkgonly" in self.myopts
97 fetch_all = "--fetch-all-uri" in self.myopts
98 fetchonly = fetch_all or "--fetchonly" in self.myopts
99 + failed_fetches = self._failed_fetches
100
101 oneshot = "--oneshot" in self.myopts or \
102 "--onlydeps" in self.myopts
103 @@ -7551,37 +7573,14 @@
104
105 # Unsafe for parallel merges
106 del mtimedb["resume"]["mergelist"][0]
107 + if not mtimedb["resume"]["mergelist"]:
108 + del mtimedb["resume"]
109 # Commit after each merge so that --resume may still work in
110 # in the event that portage is not allowed to exit normally
111 # due to power failure, SIGKILL, etc...
112 mtimedb.commit()
113 self.curval += 1
114
115 - def _post_merge(self, mtimedb, xterm_titles, failed_fetches):
116 - if "--pretend" not in self.myopts:
117 - emergelog(xterm_titles, " *** Finished. Cleaning up...")
118 -
119 - # We're out of the loop... We're done. Delete the resume data.
120 - if "resume" in mtimedb:
121 - del mtimedb["resume"]
122 - mtimedb.commit()
123 -
124 - #by doing an exit this way, --fetchonly can continue to try to
125 - #fetch everything even if a particular download fails.
126 - if "--fetchonly" in self.myopts or "--fetch-all-uri" in self.myopts:
127 - if failed_fetches:
128 - sys.stderr.write("\n\n!!! Some fetch errors were " + \
129 - "encountered. Please see above for details.\n\n")
130 - for cpv in failed_fetches:
131 - sys.stderr.write(" ")
132 - sys.stderr.write(cpv)
133 - sys.stderr.write("\n")
134 - sys.stderr.write("\n")
135 - sys.exit(1)
136 - else:
137 - sys.exit(0)
138 - return os.EX_OK
139 -
140 class UninstallFailure(portage.exception.PortageException):
141 """
142 An instance of this class is raised by unmerge() when
143
144 --
145 gentoo-commits@l.g.o mailing list