]> code.ossystems Code Review - openembedded-core.git/commit
classutils.py: deterministic sorting
authorJuro Bystricky <juro.bystricky@intel.com>
Mon, 10 Apr 2017 20:59:36 +0000 (13:59 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 10 Apr 2017 23:57:07 +0000 (00:57 +0100)
commit82ae62f28dd2d5fb2fb261478ac6161315ac6c38
treea8b5d0e29b4508eadd742b9c0ada68530dabe002
parentec2931852b2a097c9c8cb0d7288f5ca1d79f401c
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]

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oe/classutils.py