1 |
commit: 68e8d242e9dc6dbb2b851a774e0bd12659873e77 |
2 |
Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org> |
3 |
AuthorDate: Tue Apr 22 02:18:07 2014 +0000 |
4 |
Commit: Brian Dolbec <brian.dolbec <AT> gmail <DOT> com> |
5 |
CommitDate: Tue Sep 30 00:42:25 2014 +0000 |
6 |
URL: http://sources.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=68e8d242 |
7 |
|
8 |
_emerge/actions: Migrate action_sync to the new emaint sync module |
9 |
|
10 |
--- |
11 |
pym/_emerge/actions.py | 83 +++----------------------------------------------- |
12 |
1 file changed, 5 insertions(+), 78 deletions(-) |
13 |
|
14 |
diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py |
15 |
index a0e53fe..7dc58aa 100644 |
16 |
--- a/pym/_emerge/actions.py |
17 |
+++ b/pym/_emerge/actions.py |
18 |
@@ -27,13 +27,13 @@ portage.proxy.lazyimport.lazyimport(globals(), |
19 |
'portage.debug', |
20 |
'portage.news:count_unread_news,display_news_notifications', |
21 |
'portage.util._get_vm_info:get_vm_info', |
22 |
+ 'portage.emaint.modules.sync.sync:SyncRepos', |
23 |
'_emerge.chk_updated_cfg_files:chk_updated_cfg_files', |
24 |
'_emerge.help:help@emerge_help', |
25 |
'_emerge.post_emerge:display_news_notification,post_emerge', |
26 |
'_emerge.stdout_spinner:stdout_spinner', |
27 |
) |
28 |
|
29 |
-from portage.localization import _ |
30 |
from portage import os |
31 |
from portage import shutil |
32 |
from portage import eapi_is_supported, _encodings, _unicode_decode |
33 |
@@ -45,7 +45,7 @@ from portage.dbapi._expand_new_virt import expand_new_virt |
34 |
from portage.dep import Atom |
35 |
from portage.eclass_cache import hashed_path |
36 |
from portage.exception import InvalidAtom, InvalidData, ParseError |
37 |
-from portage.output import blue, bold, colorize, create_color_func, darkgreen, \ |
38 |
+from portage.output import blue, colorize, create_color_func, darkgreen, \ |
39 |
red, xtermTitle, xtermTitleReset, yellow |
40 |
good = create_color_func("GOOD") |
41 |
bad = create_color_func("BAD") |
42 |
@@ -62,8 +62,6 @@ from portage.util._async.run_main_scheduler import run_main_scheduler |
43 |
from portage.util._async.SchedulerInterface import SchedulerInterface |
44 |
from portage.util._eventloop.global_event_loop import global_event_loop |
45 |
from portage._global_updates import _global_updates |
46 |
-from portage.sync import get_syncer |
47 |
-from portage.sync.getaddrinfo_validate import getaddrinfo_validate |
48 |
from portage.sync.old_tree_timestamp import old_tree_timestamp_warn |
49 |
from portage.metadata import action_metadata |
50 |
|
51 |
@@ -1843,84 +1841,13 @@ def action_sync(emerge_config, trees=DeprecationWarning, |
52 |
emerge_config = load_emerge_config( |
53 |
action=action, args=[], trees=trees, opts=opts) |
54 |
|
55 |
- xterm_titles = "notitles" not in \ |
56 |
- emerge_config.target_config.settings.features |
57 |
- emergelog(xterm_titles, " === sync") |
58 |
- |
59 |
- selected_repos = [] |
60 |
- unknown_repo_names = [] |
61 |
- missing_sync_type = [] |
62 |
- if emerge_config.args: |
63 |
- for repo_name in emerge_config.args: |
64 |
- try: |
65 |
- repo = emerge_config.target_config.settings.repositories[repo_name] |
66 |
- except KeyError: |
67 |
- unknown_repo_names.append(repo_name) |
68 |
- else: |
69 |
- selected_repos.append(repo) |
70 |
- if repo.sync_type is None: |
71 |
- missing_sync_type.append(repo) |
72 |
- |
73 |
- if unknown_repo_names: |
74 |
- writemsg_level("!!! %s\n" % _("Unknown repo(s): %s") % |
75 |
- " ".join(unknown_repo_names), |
76 |
- level=logging.ERROR, noiselevel=-1) |
77 |
+ syncer = SyncRepos(emerge_config) |
78 |
|
79 |
- if missing_sync_type: |
80 |
- writemsg_level("!!! %s\n" % |
81 |
- _("Missing sync-type for repo(s): %s") % |
82 |
- " ".join(repo.name for repo in missing_sync_type), |
83 |
- level=logging.ERROR, noiselevel=-1) |
84 |
- |
85 |
- if unknown_repo_names or missing_sync_type: |
86 |
- return 1 |
87 |
- |
88 |
- else: |
89 |
- selected_repos.extend(emerge_config.target_config.settings.repositories) |
90 |
- |
91 |
- sync_manager = get_syncer(emerge_config.target_config.settings, emergelog) |
92 |
- retvals = [] |
93 |
- for repo in selected_repos: |
94 |
- if repo.sync_type is not None: |
95 |
- returncode = sync_manager.sync(emerge_config, repo) |
96 |
- if returncode != os.EX_OK: |
97 |
- retvals.append(returncode) |
98 |
- |
99 |
- # Reload the whole config from scratch. |
100 |
- portage._sync_mode = False |
101 |
- load_emerge_config(emerge_config=emerge_config) |
102 |
- adjust_configs(emerge_config.opts, emerge_config.trees) |
103 |
|
104 |
- if emerge_config.opts.get('--package-moves') != 'n' and \ |
105 |
- _global_updates(emerge_config.trees, |
106 |
- emerge_config.target_config.mtimedb["updates"], |
107 |
- quiet=("--quiet" in emerge_config.opts)): |
108 |
- emerge_config.target_config.mtimedb.commit() |
109 |
- # Reload the whole config from scratch. |
110 |
- load_emerge_config(emerge_config=emerge_config) |
111 |
- adjust_configs(emerge_config.opts, emerge_config.trees) |
112 |
- |
113 |
- mybestpv = emerge_config.target_config.trees['porttree'].dbapi.xmatch( |
114 |
- "bestmatch-visible", portage.const.PORTAGE_PACKAGE_ATOM) |
115 |
- mypvs = portage.best( |
116 |
- emerge_config.target_config.trees['vartree'].dbapi.match( |
117 |
- portage.const.PORTAGE_PACKAGE_ATOM)) |
118 |
- |
119 |
- chk_updated_cfg_files(emerge_config.target_config.root, |
120 |
- portage.util.shlex_split( |
121 |
- emerge_config.target_config.settings.get("CONFIG_PROTECT", ""))) |
122 |
- |
123 |
- if mybestpv != mypvs and "--quiet" not in emerge_config.opts: |
124 |
- print() |
125 |
- print(warn(" * ")+bold("An update to portage is available.")+" It is _highly_ recommended") |
126 |
- print(warn(" * ")+"that you update portage now, before any other packages are updated.") |
127 |
- print() |
128 |
- print(warn(" * ")+"To update portage, run 'emerge --oneshot portage' now.") |
129 |
- print() |
130 |
+ retvals = syncer.auto_sync(options={'return-messages': False}) |
131 |
|
132 |
- display_news_notification(emerge_config.target_config, emerge_config.opts) |
133 |
if retvals: |
134 |
- return retvals[0] |
135 |
+ return retvals[0][1] |
136 |
return os.EX_OK |