classes/buildhistory: ensure eSDK sstate lists sorted secondarily by name

I got fed up with seeing items dance around in sstate-package-sizes.txt
in the buildhistory git repo simply because they have the same size.
Let's sort the list first by size and then also by name to ensure items
with the same size are deterministically sorted.

(From OE-Core rev: 7340c1ea677731d21351d47d935d9de7d7e2eda5)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Paul Eggleton
2016-07-23 00:38:14 +12:00
committed by Richard Purdie
parent 82c7d0f200
commit dd8540550f

View File

@@ -561,11 +561,11 @@ python buildhistory_get_extra_sdkinfo() {
tasksizes[task] = origtotal + fsize tasksizes[task] = origtotal + fsize
filesizes[fn] = fsize filesizes[fn] = fsize
with open(d.expand('${BUILDHISTORY_DIR_SDK}/sstate-package-sizes.txt'), 'w') as f: with open(d.expand('${BUILDHISTORY_DIR_SDK}/sstate-package-sizes.txt'), 'w') as f:
filesizes_sorted = sorted(filesizes.items(), key=operator.itemgetter(1), reverse=True) filesizes_sorted = sorted(filesizes.items(), key=operator.itemgetter(1, 0), reverse=True)
for fn, size in filesizes_sorted: for fn, size in filesizes_sorted:
f.write('%10d KiB %s\n' % (size, fn)) f.write('%10d KiB %s\n' % (size, fn))
with open(d.expand('${BUILDHISTORY_DIR_SDK}/sstate-task-sizes.txt'), 'w') as f: with open(d.expand('${BUILDHISTORY_DIR_SDK}/sstate-task-sizes.txt'), 'w') as f:
tasksizes_sorted = sorted(tasksizes.items(), key=operator.itemgetter(1), reverse=True) tasksizes_sorted = sorted(tasksizes.items(), key=operator.itemgetter(1, 0), reverse=True)
for task, size in tasksizes_sorted: for task, size in tasksizes_sorted:
f.write('%10d KiB %s\n' % (size, task)) f.write('%10d KiB %s\n' % (size, task))
} }