[gnome-continuous-yocto/gnomeostree-3.28-rocko: 5583/8267] classutils.py: deterministic sorting
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-continuous-yocto/gnomeostree-3.28-rocko: 5583/8267] classutils.py: deterministic sorting
- Date: Sun, 17 Dec 2017 03:38:37 +0000 (UTC)
commit 34db499e6bf1cd6cada582f43297085894211f75
Author: Juro Bystricky <juro bystricky intel com>
Date: Mon Apr 10 13:59:36 2017 -0700
classutils.py: deterministic sorting
The method "prioritized" returns a list sorted by the value
of the "priority" field, in descending order. However, if several
list items have the same priority, the ordering of those items
within the priority-sorted list becomes random. As a consequence,
we may end up with a non-deterministic oe-terminal spawning, as several
terminals have the same priority. So running commands such as
$ bitbake xxx -cdevshell
$ bitbake yyy -cmenuconfig
may spawn a different terminal each time, for example sometimes Gnome
and sometimes Konsole as hey have the same priority.
Rather than modifying the priorities so they all differ, we sub-sort
the list based on (terminal) names.
This way we achieve a deterministic outcome.
[YOCTO#10938]
(From OE-Core rev: 82ae62f28dd2d5fb2fb261478ac6161315ac6c38)
Signed-off-by: Juro Bystricky <juro bystricky intel com>
Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>
meta/lib/oe/classutils.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
---
diff --git a/meta/lib/oe/classutils.py b/meta/lib/oe/classutils.py
index e7856c8..45cd524 100644
--- a/meta/lib/oe/classutils.py
+++ b/meta/lib/oe/classutils.py
@@ -36,7 +36,7 @@ abstract base classes out of the registry)."""
@classmethod
def prioritized(tcls):
return sorted(list(tcls.registry.values()),
- key=lambda v: v.priority, reverse=True)
+ key=lambda v: (v.priority, v.name), reverse=True)
def unregister(cls):
for key in cls.registry.keys():
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]