From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 935FA158089 for ; Mon, 2 Oct 2023 12:22:30 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id DAD892BC033; Mon, 2 Oct 2023 12:22:29 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id BEAE42BC033 for ; Mon, 2 Oct 2023 12:22:29 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id BEC69335CA3 for ; Mon, 2 Oct 2023 12:22:28 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 6DF6C8EB for ; Mon, 2 Oct 2023 12:22:27 +0000 (UTC) From: "Sam James" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" Message-ID: <1696249344.7b855cb2bb50c59d5310f9e0326e8c49e4f29111.sam@gentoo> Subject: [gentoo-commits] proj/portage:master commit in: /, lib/_emerge/ X-VCS-Repository: proj/portage X-VCS-Files: NEWS lib/_emerge/depgraph.py X-VCS-Directories: lib/_emerge/ / X-VCS-Committer: sam X-VCS-Committer-Name: Sam James X-VCS-Revision: 7b855cb2bb50c59d5310f9e0326e8c49e4f29111 X-VCS-Branch: master Date: Mon, 2 Oct 2023 12:22: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-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 26f2d98b-794f-4c56-965d-adab94daac73 X-Archives-Hash: 175e96bf13e8a04a90e09e7c92572614 commit: 7b855cb2bb50c59d5310f9e0326e8c49e4f29111 Author: Florian Schmaus gentoo org> AuthorDate: Mon Oct 2 10:21:10 2023 +0000 Commit: Sam James gentoo org> CommitDate: Mon Oct 2 12:22:24 2023 +0000 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=7b855cb2 depgraph: show backtrack information after dep resolution To improve user's awareness of the backtracking performed by portage and the related limit, show briefly how much backtracking was done. Signed-off-by: Florian Schmaus gentoo.org> Closes: https://github.com/gentoo/portage/pull/1107 Signed-off-by: Sam James gentoo.org> NEWS | 2 ++ lib/_emerge/depgraph.py | 21 +++++++++++++++------ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/NEWS b/NEWS index bfa6261bb9..75680fce18 100644 --- a/NEWS +++ b/NEWS @@ -17,6 +17,8 @@ Features: * emerge: Use appropriate colors if binpkgs are used in e.g. pkg_pretend messages as well as elog's mod_echo module (bug #914159). +* Show backtrack information after dependency resolution. + Bug fixes: * Prevent gpg from removing /dev/null when unlocking signing key (bug #912808). diff --git a/lib/_emerge/depgraph.py b/lib/_emerge/depgraph.py index ef7dd54052..a0d69ff305 100644 --- a/lib/_emerge/depgraph.py +++ b/lib/_emerge/depgraph.py @@ -11401,7 +11401,7 @@ def _spinner_start(spinner, myopts): spinner.start_time = time.time() -def _spinner_stop(spinner): +def _spinner_stop(spinner, backtracked: int = -1, max_retries: int = -1): if spinner is None or spinner.update == spinner.update_quiet: return @@ -11414,7 +11414,14 @@ def _spinner_stop(spinner): stop_time = time.time() time_fmt = f"{stop_time - spinner.start_time:.2f}" - portage.writemsg_stdout(f"Dependency resolution took {darkgreen(time_fmt)} s.\n\n") + + backtrack_info = "" + if backtracked >= 0: + backtrack_info = f" (backtrack: {backtracked}/{max_retries})" + + portage.writemsg_stdout( + f"Dependency resolution took {darkgreen(time_fmt)} s{backtrack_info}.\n\n" + ) def backtrack_depgraph( @@ -11430,13 +11437,15 @@ def backtrack_depgraph( Raises PackageSetNotFound if myfiles contains a missing package set. """ + backtracked, max_retries = -1, -1 _spinner_start(spinner, myopts) try: - return _backtrack_depgraph( + success, mydepgraph, favorites, backtracked, max_retries = _backtrack_depgraph( settings, trees, myopts, myparams, myaction, myfiles, spinner ) + return (success, mydepgraph, favorites) finally: - _spinner_stop(spinner) + _spinner_stop(spinner, backtracked, max_retries) def _backtrack_depgraph( @@ -11447,7 +11456,7 @@ def _backtrack_depgraph( myaction: Optional[str], myfiles: list[str], spinner: "_emerge.stdout_spinner.stdout_spinner", -) -> tuple[Any, depgraph, list[str]]: +) -> tuple[Any, depgraph, list[str], int, int]: debug = "--debug" in myopts mydepgraph = None max_retries = myopts.get("--backtrack", 10) @@ -11540,7 +11549,7 @@ def _backtrack_depgraph( ) success, favorites = mydepgraph.select_files(myfiles) - return (success, mydepgraph, favorites) + return (success, mydepgraph, favorites, backtracked, max_retries) def resume_depgraph(