Skip to content

Instantly share code, notes, and snippets.

Avatar

Christopher Larson kergoth

  • Siemens Digital Industries Software
  • Twitter @kergoth
View GitHub Profile
View homedir_install.sh
#!/bin/bash
proot_url=https://proot.gitlab.io/proot/bin/proot
bindir=${XDG_DATA_HOME:-$HOME/.local/share}/../bin
scriptdir="$(cd "$(dirname "$0")" && pwd -P)"
PATH=$bindir:$PATH
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 selftest.inc" in /mel/kergoth/mel/codebench-toolchain/multiconfig/build-st/conf/local.conf
2022-08-18 02:20:15,131 - oe-selftest - INFO - Adding: "include bblayers.inc" in bblayers.conf
2022
View gist:49f98320ccd84a7dc22fa8fd85ef9830
From ba7f0374ed98dcfef60fffe52c5845df2abc6ffa Mon Sep 17 00:00:00 2001
From: Christopher Larson <chris_larson@mentor.com>
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.
View wrap-event-handler.inc
def my_handler(d, logger):
logger.warning('test_warning')
logger.info('test note')
logger.error('test error')
logger.critical('test critical')
sys.exit(1)
python testhandler() {
_, error, logs = run_config_handler(lambda l: my_handler(d, l))
View exo-macos-commands
#!/bin/bash
# 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
View minimal-toolchain.bb
SUMMARY = "Meta package for building a minimal installable toolchain"
LICENSE = "MIT"
INHIBIT_DEFAULT_DEPS = "1"
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"
SDK_INCLUDE_TOOLCHAIN = ""
@kergoth
kergoth / Concerns.md
Last active May 18, 2022
OE/Bitbake thoughts and tasks
View Concerns.md

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?

Maintainability

  • Tight Coupling amongst bitbake modules
  • Inconsistent, and at times unclear, API design
@kergoth
kergoth / MEL Flex 13 Thoughts.md
Last active Feb 17, 2022
MEL Flex 13 Thoughts
View MEL Flex 13 Thoughts.md

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

View terminals.json
{
"autorun": true,
"autokill": true,
"terminals": [
{
"name": "Attach to Workspace",
"description": "Attach to this workspace with my scripts",
"icon": "code",
"command": "attach-workspace",
"open": true,
View string_enum_name.py
#!/usr/bin/env python3
from enum import auto
from enum import Enum
from typing import Any, List
class AutoNameValue(Enum):
"""Set the enumeration values to their names."""
@staticmethod