OLD | NEW |
1 # Copyright 1999-2009 Gentoo Foundation | 1 # Copyright 1999-2009 Gentoo Foundation |
2 # Distributed under the terms of the GNU General Public License v2 | 2 # Distributed under the terms of the GNU General Public License v2 |
3 | 3 |
4 from portage import os | 4 from portage import os |
5 from portage.output import colorize | 5 from portage.output import colorize |
6 | 6 |
7 from _emerge.Binpkg import Binpkg | 7 from _emerge.Binpkg import Binpkg |
8 from _emerge.CompositeTask import CompositeTask | 8 from _emerge.CompositeTask import CompositeTask |
9 from _emerge.EbuildBuild import EbuildBuild | 9 from _emerge.EbuildBuild import EbuildBuild |
10 from _emerge.PackageUninstall import PackageUninstall | 10 from _emerge.PackageUninstall import PackageUninstall |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
104 return | 104 return |
105 | 105 |
106 def _poll(self): | 106 def _poll(self): |
107 self._install_task.poll() | 107 self._install_task.poll() |
108 return self.returncode | 108 return self.returncode |
109 | 109 |
110 def _wait(self): | 110 def _wait(self): |
111 self._install_task.wait() | 111 self._install_task.wait() |
112 return self.returncode | 112 return self.returncode |
113 | 113 |
114 » def merge(self): | 114 » def merge(self, exit_handler): |
115 | 115 |
116 pkg = self.pkg | 116 pkg = self.pkg |
117 build_opts = self.build_opts | 117 build_opts = self.build_opts |
118 find_blockers = self.find_blockers | 118 find_blockers = self.find_blockers |
119 logger = self.logger | 119 logger = self.logger |
120 mtimedb = self.mtimedb | 120 mtimedb = self.mtimedb |
121 pkg_count = self.pkg_count | 121 pkg_count = self.pkg_count |
122 prefetcher = self.prefetcher | 122 prefetcher = self.prefetcher |
123 scheduler = self.scheduler | 123 scheduler = self.scheduler |
124 settings = self.settings | 124 settings = self.settings |
125 world_atom = self.world_atom | 125 world_atom = self.world_atom |
126 ldpath_mtimes = mtimedb["ldpath"] | 126 ldpath_mtimes = mtimedb["ldpath"] |
127 | 127 |
128 if pkg.installed: | 128 if pkg.installed: |
129 if not (build_opts.buildpkgonly or \ | 129 if not (build_opts.buildpkgonly or \ |
130 build_opts.fetchonly or build_opts.pretend): | 130 build_opts.fetchonly or build_opts.pretend): |
131 | 131 |
132 uninstall = PackageUninstall(background=self.bac
kground, | 132 uninstall = PackageUninstall(background=self.bac
kground, |
133 ldpath_mtimes=ldpath_mtimes, opts=self.e
merge_opts, | 133 ldpath_mtimes=ldpath_mtimes, opts=self.e
merge_opts, |
134 pkg=pkg, scheduler=scheduler, settings=s
ettings, | 134 pkg=pkg, scheduler=scheduler, settings=s
ettings, |
135 world_atom=world_atom) | 135 world_atom=world_atom) |
136 | 136 |
137 uninstall.start() | 137 uninstall.start() |
138 » » » » retval = uninstall.wait() | 138 » » » » self.returncode = uninstall.wait() |
139 » » » » if retval != os.EX_OK: | 139 » » » else: |
140 » » » » » return retval | 140 » » » » self.returncode = os.EX_OK |
141 » » » return os.EX_OK | 141 » » » exit_handler(self) |
| 142 » » elif build_opts.fetchonly or \ |
| 143 » » » build_opts.buildpkgonly: |
| 144 » » » exit_handler(self) |
| 145 » » else: |
| 146 » » » self._current_task = self._install_task |
| 147 » » » self._install_task.install(exit_handler) |
142 | 148 |
143 if build_opts.fetchonly or \ | |
144 build_opts.buildpkgonly: | |
145 return self.returncode | |
146 | |
147 retval = self._install_task.install() | |
148 return retval | |
149 | |
OLD | NEW |