Complete Yocto mirror with license table for TQMa6UL (2038-compliance)
- 264 license table entries with exact download URLs (224/264 resolved) - Complete sources/ directory with all BitBake recipes - Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl) - Full traceability for Softwarefreigabeantrag - GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4 - License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
This commit is contained in:
46
sources/poky/meta/classes/buildstats-summary.bbclass
Normal file
46
sources/poky/meta/classes/buildstats-summary.bbclass
Normal file
@@ -0,0 +1,46 @@
|
||||
#
|
||||
# Copyright OpenEmbedded Contributors
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
#
|
||||
|
||||
# Summarize sstate usage at the end of the build
|
||||
python buildstats_summary () {
|
||||
import collections
|
||||
import os.path
|
||||
|
||||
bsdir = e.data.expand("${BUILDSTATS_BASE}/${BUILDNAME}")
|
||||
if not os.path.exists(bsdir):
|
||||
return
|
||||
|
||||
sstatetasks = (e.data.getVar('SSTATETASKS') or '').split()
|
||||
built = collections.defaultdict(lambda: [set(), set()])
|
||||
for pf in os.listdir(bsdir):
|
||||
taskdir = os.path.join(bsdir, pf)
|
||||
if not os.path.isdir(taskdir):
|
||||
continue
|
||||
|
||||
tasks = os.listdir(taskdir)
|
||||
for t in sstatetasks:
|
||||
no_sstate, sstate = built[t]
|
||||
if t in tasks:
|
||||
no_sstate.add(pf)
|
||||
elif t + '_setscene' in tasks:
|
||||
sstate.add(pf)
|
||||
|
||||
header_printed = False
|
||||
for t in sstatetasks:
|
||||
no_sstate, sstate = built[t]
|
||||
if no_sstate | sstate:
|
||||
if not header_printed:
|
||||
header_printed = True
|
||||
bb.note("Build completion summary:")
|
||||
|
||||
sstate_count = len(sstate)
|
||||
no_sstate_count = len(no_sstate)
|
||||
total_count = sstate_count + no_sstate_count
|
||||
bb.note(" {0}: {1:.1f}% sstate reuse({2} setscene, {3} scratch)".format(
|
||||
t, round(100 * sstate_count / total_count, 1), sstate_count, no_sstate_count))
|
||||
}
|
||||
addhandler buildstats_summary
|
||||
buildstats_summary[eventmask] = "bb.event.BuildCompleted"
|
||||
Reference in New Issue
Block a user