Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 710432

Summary: sys-apps/portage: start parallel-fetch prior to pkg_pretend
Product: Portage Development Reporter: Zac Medico <zmedico>
Component: Enhancement/Feature RequestsAssignee: Portage team <dev-portage>
Status: RESOLVED FIXED    
Severity: normal Keywords: InVCS
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: All   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=404157
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 377365, 579526, 760893, 739718, 787545    

Description Zac Medico gentoo-dev 2020-02-21 18:24:05 UTC
Currently parallel-fetch does not start until after pkg_pretend, so be have serial fetching of binary packages for pkg_pretend.
Comment 1 Zac Medico gentoo-dev 2020-03-21 23:29:20 UTC
The Scheduler _run_pkg_pretend method can be converted to a coroutine, and executed after the call to self._add_prefetchers() in the _merge method.
Comment 3 Larry the Git Cow gentoo-dev 2020-09-21 05:54:49 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/proj/portage.git/commit/?id=c7fa3f1eb1ce1ebc0d1219dacba555e1a29d5f22

commit c7fa3f1eb1ce1ebc0d1219dacba555e1a29d5f22
Author:     Zac Medico <zmedico@gentoo.org>
AuthorDate: 2020-09-20 00:32:57 +0000
Commit:     Zac Medico <zmedico@gentoo.org>
CommitDate: 2020-09-21 05:17:24 +0000

    emerge: enable parallel-fetch during pkg_pretend (bug 710432)
    
    Execute pkg_pretend phases in a coroutine while parallel-fetch
    is running concurrently. When it's time to execute the pkg_pretend
    phase for a remote binary package, use a Scheduler _get_prefetcher
    method to get a running prefetcher if available, and otherwise
    start a new fetcher.
    
    Since pkg_pretend phases now run inside of the --keep-going retry
    loop, --keep-going is now able to recover from pkg_pretend
    failures, which fixes bug 404157.
    
    Bug: https://bugs.gentoo.org/404157
    Bug: https://bugs.gentoo.org/710432
    Signed-off-by: Zac Medico <zmedico@gentoo.org>

 lib/_emerge/Scheduler.py | 142 +++++++++++++++++++++++++++++++++--------------
 1 file changed, 99 insertions(+), 43 deletions(-)
Comment 4 Larry the Git Cow gentoo-dev 2020-09-21 05:59:40 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=862266358f01efa90c12d182d1f85a3014b80439

commit 862266358f01efa90c12d182d1f85a3014b80439
Author:     Zac Medico <zmedico@gentoo.org>
AuthorDate: 2020-09-21 05:35:06 +0000
Commit:     Zac Medico <zmedico@gentoo.org>
CommitDate: 2020-09-21 05:59:31 +0000

    sys-apps/portage: Bump to version 3.0.8
    
     #404157 emerge: --keep-going support pkg_pretend failures
     #644246 Add mercurial sync support
     #710432 emerge: Enable parallel-fetch during pkg_pretend
     #743115 emerge: Fix slot conflict backtracking to group similar
             missed updates into a single backtracking try
     #743631 emerge: Fix slot conflict backtracking to prefer
             choices that satisfy all dependencies
    
    Bug: https://bugs.gentoo.org/739718
    Bug: https://bugs.gentoo.org/404157
    Bug: https://bugs.gentoo.org/644246
    Bug: https://bugs.gentoo.org/710432
    Bug: https://bugs.gentoo.org/743115
    Bug: https://bugs.gentoo.org/743631
    Package-Manager: Portage-3.0.8, Repoman-3.0.1
    Signed-off-by: Zac Medico <zmedico@gentoo.org>

 sys-apps/portage/Manifest             |   1 +
 sys-apps/portage/portage-3.0.8.ebuild | 267 ++++++++++++++++++++++++++++++++++
 2 files changed, 268 insertions(+)