Gentoo Archives: gentoo-commits

From: Brian Dolbec <brian.dolbec@×××××.com>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:plugin-sync commit in: pym/_emerge/
Date: Mon, 29 Sep 2014 18:29:32
Message-Id: 1412011220.53fc07602de0c0bed667051fca037dcac109ff91.dol-sen@gentoo
1 commit: 53fc07602de0c0bed667051fca037dcac109ff91
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: Mon Sep 29 17:20:20 2014 +0000
6 URL: http://sources.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=53fc0760
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 b76eaca..6a4ea42 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