From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 65C071381F3 for ; Tue, 23 Jul 2013 19:14:33 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 4ABC3E09DB; Tue, 23 Jul 2013 19:14:30 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id BB3D2E09DB for ; Tue, 23 Jul 2013 19:14:29 +0000 (UTC) Received: from hornbill.gentoo.org (hornbill.gentoo.org [94.100.119.163]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 871B633E942 for ; Tue, 23 Jul 2013 19:14:28 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id 1B7B6E5458 for ; Tue, 23 Jul 2013 19:14:27 +0000 (UTC) From: "Zac Medico" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Zac Medico" Message-ID: <1374606851.7641490497bbee863af3eecdbc9ec47374420751.zmedico@gentoo> Subject: [gentoo-commits] proj/portage:master commit in: pym/_emerge/ X-VCS-Repository: proj/portage X-VCS-Files: pym/_emerge/actions.py X-VCS-Directories: pym/_emerge/ X-VCS-Committer: zmedico X-VCS-Committer-Name: Zac Medico X-VCS-Revision: 7641490497bbee863af3eecdbc9ec47374420751 X-VCS-Branch: master Date: Tue, 23 Jul 2013 19:14:27 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 53c065c2-2a0a-425f-a23f-30fd2c4b7c24 X-Archives-Hash: 60b8d1c6215a3a57c340034314f2bbfc commit: 7641490497bbee863af3eecdbc9ec47374420751 Author: Zac Medico gentoo org> AuthorDate: Tue Jul 23 19:14:11 2013 +0000 Commit: Zac Medico gentoo org> CommitDate: Tue Jul 23 19:14:11 2013 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=76414904 action_sync: use emerge_config parameter --- pym/_emerge/actions.py | 63 +++++++++++++++++++++++++++++++------------------- 1 file changed, 39 insertions(+), 24 deletions(-) diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py index 11a8698..0fecc8f 100644 --- a/pym/_emerge/actions.py +++ b/pym/_emerge/actions.py @@ -18,6 +18,7 @@ import sys import tempfile import textwrap import time +import warnings from itertools import chain import portage @@ -2009,37 +2010,50 @@ def action_search(root_config, myopts, myfiles, spinner): sys.exit(1) searchinstance.output() -def action_sync(settings, trees, myopts): - xterm_titles = "notitles" not in settings.features +def action_sync(emerge_config, trees=DeprecationWarning, opts=DeprecationWarning): + + if not isinstance(emerge_config, _emerge_config): + warnings.warn("_emerge.actions.action_sync() now expects " + "an _emerge_config instance as the first parameter", + DeprecationWarning, stacklevel=2) + emerge_config = load_emerge_config( + action='sync', args=[], trees=trees, opts=opts) + + xterm_titles = "notitles" not in \ + emerge_config.target_config.settings.features emergelog(xterm_titles, " === sync") - for repo in settings.repositories: + for repo in emerge_config.target_config.settings.repositories: if repo.sync_type is not None: - returncode = _sync_repo(repo, settings, trees, myopts) + returncode = _sync_repo(emerge_config, repo) if returncode != os.EX_OK: return returncode # Reload the whole config from scratch. portage._sync_disabled_warnings = False - settings, trees, mtimedb = load_emerge_config(trees=trees) - adjust_configs(myopts, trees) - portdb = trees[settings['EROOT']]['porttree'].dbapi - root_config = trees[settings['EROOT']]['root_config'] + load_emerge_config(emerge_config=emerge_config) + adjust_configs(emerge_config.opts, emerge_config.trees) - if myopts.get('--package-moves') != 'n' and _global_updates(trees, mtimedb["updates"], quiet=("--quiet" in myopts)): - mtimedb.commit() + if emerge_config.opts.get('--package-moves') != 'n' and \ + _global_updates(emerge_config.trees, + emerge_config.target_config.mtimedb["updates"], + quiet=("--quiet" in emerge_config.opts)): + emerge_config.target_config.mtimedb.commit() # Reload the whole config from scratch. - settings, trees, mtimedb = load_emerge_config(trees=trees) - adjust_configs(myopts, trees) - portdb = trees[settings['EROOT']]['porttree'].dbapi - root_config = trees[settings['EROOT']]['root_config'] + load_emerge_config(emerge_config=emerge_config) + adjust_configs(emerge_config.opts, emerge_config.trees) - mybestpv = portdb.xmatch("bestmatch-visible", portage.const.PORTAGE_PACKAGE_ATOM) - mypvs = portage.best(trees[settings['EROOT']]['vartree'].dbapi.match(portage.const.PORTAGE_PACKAGE_ATOM)) + mybestpv = emerge_config.target_config.trees['porttree'].dbapi.xmatch( + "bestmatch-visible", portage.const.PORTAGE_PACKAGE_ATOM) + mypvs = portage.best( + emerge_config.target_config.trees['vartree'].dbapi.match( + portage.const.PORTAGE_PACKAGE_ATOM)) - chk_updated_cfg_files(settings["EROOT"], portage.util.shlex_split(settings.get("CONFIG_PROTECT", ""))) + chk_updated_cfg_files(emerge_config.target_config.root, + portage.util.shlex_split( + emerge_config.target_config.settings.get("CONFIG_PROTECT", ""))) - if mybestpv != mypvs and "--quiet" not in myopts: + if mybestpv != mypvs and "--quiet" not in emerge_config.opts: print() print(warn(" * ")+bold("An update to portage is available.")+" It is _highly_ recommended") print(warn(" * ")+"that you update portage now, before any other packages are updated.") @@ -2047,10 +2061,12 @@ def action_sync(settings, trees, myopts): print(warn(" * ")+"To update portage, run 'emerge --oneshot portage' now.") print() - display_news_notification(root_config, myopts) + display_news_notification(emerge_config.target_config, emerge_config.opts) return os.EX_OK -def _sync_repo(repo, settings, trees, myopts): +def _sync_repo(emerge_config, repo): + settings, trees, mtimedb = emerge_config + myopts = emerge_config.opts enter_invalid = '--ask-enter-invalid' in myopts xterm_titles = "notitles" not in settings.features msg = ">>> Synchronization of repository '%s' located in '%s'..." % (repo.name, repo.location) @@ -2577,8 +2593,8 @@ def _sync_repo(repo, settings, trees, myopts): dosyncuri = syncuri # Reload the whole config from scratch. - settings, trees, mtimedb = load_emerge_config(trees=trees) - adjust_configs(myopts, trees) + settings, trees, mtimedb = load_emerge_config(emerge_config=emerge_config) + adjust_configs(emerge_config.opts, emerge_config.trees) portdb = trees[settings['EROOT']]['porttree'].dbapi if repo.sync_type == "git": @@ -3842,8 +3858,7 @@ def run_action(emerge_config): return 1 if "sync" == emerge_config.action: - return action_sync(emerge_config.target_config.settings, - emerge_config.trees, emerge_config.opts) + return action_sync(emerge_config) elif "metadata" == emerge_config.action: action_metadata(emerge_config.target_config.settings, emerge_config.target_config.trees['porttree'].dbapi,