Skip to content

Instantly share code, notes, and snippets.


Christopher Larson kergoth

  • Siemens Digital Industries Software
  • Twitter @kergoth
View GitHub Profile
kergoth / .envrc
Last active December 29, 2022 18:49
devbox test
View .envrc
if [ -x ./devbox ]; then
devbox () {
./devbox "$@"
use_devbox() {
watch_file devbox.json
eval $(devbox shell --print-env)
View gist:d7ad882d07e63811cd5773b4f8d0c4b8
diff --git i/home.nix w/home.nix
index aedec3b..84c5bc4 100644
--- i/home.nix
+++ w/home.nix
@@ -10,6 +10,8 @@
home.stateVersion = "22.05";
+ nixpkgs.config.allowUnfree = true;
scriptdir="$(cd "$(dirname "$0")" && pwd -P)"
set -euo pipefail
mkdir -p "$bindir"
View gist:4120aec0e309e8fa833e30d8f788492c
$ OEQA_REPRODUCIBLE_IMAGES=libgfortran oe-selftest -r cbreproducible.CBReproducibleTests.test_reproducible_builds
2022-08-18 02:20:10,167 - oe-selftest - INFO - Adding layer libraries:
2022-08-18 02:20:10,167 - oe-selftest - INFO - /mel/kergoth/mel/codebench-toolchain/multiconfig/meta-mingw/lib
2022-08-18 02:20:10,167 - oe-selftest - INFO - /mel/kergoth/mel/codebench-toolchain/multiconfig/meta-codebench-toolchain/lib
2022-08-18 02:20:10,167 - oe-selftest - INFO - /mel/kergoth/mel/codebench-toolchain/multiconfig/oe-core/meta/lib
2022-08-18 02:20:10,168 - oe-selftest - INFO - /mel/kergoth/mel/codebench-toolchain/multiconfig/oe-core/meta-selftest/lib
2022-08-18 02:20:10,169 - oe-selftest - INFO - Running bitbake -e to test the configuration is valid/parsable
2022-08-18 02:20:15,130 - oe-selftest - INFO - Adding: "include" in /mel/kergoth/mel/codebench-toolchain/multiconfig/build-st/conf/local.conf
2022-08-18 02:20:15,131 - oe-selftest - INFO - Adding: "include" in bblayers.conf
View gist:49f98320ccd84a7dc22fa8fd85ef9830
From ba7f0374ed98dcfef60fffe52c5845df2abc6ffa Mon Sep 17 00:00:00 2001
From: Christopher Larson <>
Date: Fri, 5 Feb 2021 02:43:04 +0500
Subject: [PATCH] copydebugsources_extra: check alternative paths for source
files for debug
This handles paths being pulled from paths that package.bbclass currently
does not handle, such as generated sources written to ${B}, as is the case
for libstdc++, or those from work-shared.
kergoth /
Last active May 18, 2022 16:17
OE/Bitbake thoughts and tasks

Long standing concerns/issues

These are things we've (or I've) wanted to improve, or actively disliked, for years, but dealing with them is never a priority.

  • Steep learning curve. Is this a natural consequence of our level of flexibility? Is there a way to make it clearer how the final metadata comes from multiple sources?


  • Tight Coupling amongst bitbake modules
  • Inconsistent, and at times unclear, API design
def my_handler(d, logger):
logger.warning('test_warning')'test note')
logger.error('test error')
logger.critical('test critical')
python testhandler() {
_, error, logs = run_config_handler(lambda l: my_handler(d, l))
View exo-macos-commands
# FIXME: Currently missing dosbox variants: ece, svn, stock
# Unhandled:
#CTorOCh "./eXoDOS/CTorOCh/dosbox/dosbox.exe" -conf "eXoDOS/\!dos/CTorOCh/dosbox.conf" -noconsole -exit
#FatmanTh "./eXoDOS/FatmanTh/dosbox.exe" -conf "eXoDOS/\!dos/FatmanTh/dosbox.conf" -noconsole -exit
#ThemPark "./eXoDOS/ThemPark/ece/DOSBox.exe" -conf "eXoDOS/\!dos/ThemPark/dosbox.conf" -noconsole -exit -nomenu
#btroot "./eXoDOS/btroot/dosbox/dosbox.exe" -conf "eXoDOS/\!dos/btroot/dosbox.conf" -noconsole -exit
#MinosAdv "./eXoDOS/MinosAdv/DOSBox-0.73/dosbox.exe" -conf "eXoDOS/\!dos/MinosAdv/dosbox.conf" -noconsole -exit
set -euo pipefail
SUMMARY = "Meta package for building a minimal installable toolchain"
inherit populate_sdk
TOOLCHAIN_HOST_TASK = "packagegroup-cross-canadian-${MACHINE}"
TOOLCHAIN_TARGET_TASK = "${@multilib_pkg_extend(d, 'packagegroup-core-standalone-sdk-target')} target-sdk-provides-dummy"
kergoth / MEL Flex 13
Last active February 17, 2022 18:44
MEL Flex 13 Thoughts
View MEL Flex 13

MEL Flex 13 Thoughts

Current Plans

  • Integrate vendor SDK in a way that allows for the use of vendor machines directly, not requiring the -mel suffix machines to be able to build. The intention here is a different level of support for those (if any) vs the well supported -mel machines. See also discussion in #flex-future on Slack. We should be able to semi-automate the setting of VENDOR, either through xlayers.conf based on the BSP installed, or based on specific logic around which layer provides the MACHINE config file ("if the machine was in meta-ti, set VENDOR=ti").

  • Usual process for a new major version of flex

    • File-by-file review of our layer content vs upstream
    • Line-by-line review of the mel distro
  • Upstream submissions wherever appropriate