Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 222767 Details for
Bug 303567
sys-apps/portage-2.2 - `emerge -j4 -DkNtu1 @system @world' fails when upgrading bash and glibc concurrently
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
install libc asap while accounting for parallel builds
parallel_libc.patch (text/plain), 1.71 KB, created by
Zac Medico
on 2010-03-09 03:55:01 UTC
(
hide
)
Description:
install libc asap while accounting for parallel builds
Filename:
MIME Type:
Creator:
Zac Medico
Created:
2010-03-09 03:55:01 UTC
Size:
1.71 KB
patch
obsolete
>Index: pym/_emerge/Scheduler.py >=================================================================== >--- pym/_emerge/Scheduler.py (revision 15782) >+++ pym/_emerge/Scheduler.py (revision 15783) >@@ -18,6 +18,7 @@ > from portage import _unicode_decode > from portage import _unicode_encode > from portage.cache.mappings import slot_dict_class >+from portage.const import LIBC_PACKAGE_ATOM > from portage.elog.messages import eerror > from portage.output import colorize, create_color_func, darkgreen, red > bad = create_color_func("BAD") >@@ -351,6 +352,7 @@ > self._find_system_deps() > self._prune_digraph() > self._prevent_builddir_collisions() >+ self._implicit_libc_deps() > > def _find_system_deps(self): > """ >@@ -412,6 +414,32 @@ > priority=DepPriority(buildtime=True)) > cpv_map[pkg.cpv].append(pkg) > >+ def _implicit_libc_deps(self): >+ """ >+ Create implicit dependencies on libc, in order to ensure that libc >+ is installed as early as possible (see bug #303567). >+ """ >+ libc_set = InternalPackageSet([LIBC_PACKAGE_ATOM]) >+ libc_pkgs = {} >+ for pkg in self._mergelist: >+ if not isinstance(pkg, Package): >+ # a satisfied blocker >+ continue >+ if pkg.installed: >+ continue >+ if pkg.operation == 'merge': >+ if libc_set.findAtomForPackage(pkg): >+ if pkg.root in libc_pkgs: >+ raise AssertionError( >+ "found 2 libc matches: %s and %s" % \ >+ (libc_pkgs[pkg.root]), pkg) >+ libc_pkgs[pkg.root] = pkg >+ else: >+ earlier_libc = libc_pkgs.get(pkg.root) >+ if earlier_libc is not None: >+ self._digraph.add(earlier_libc, pkg, >+ priority=DepPriority(buildtime=True)) >+ > class _pkg_failure(portage.exception.PortageException): > """ > An instance of this class is raised by unmerge() when
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 303567
:
219959
| 222767