aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes
AgeCommit message (Collapse)Author
2018-03-28mirrors.bbclass: change Debian anonscm to salsaMikko Rapeli
Debian anonscm service in Alioth is shutdown and thus fetching sources fails. https://wiki.debian.org/Alioth "Alioth is broken, and there is nobody around to fix it. Don't ask the remaining people who give it life support to implement fixes and changes. It is being replaced by a cocktail of ?GitLab (see Salsa), read-only repos and keep-alive mechanisms. See below for more information." https://wiki.debian.org/Salsa "What is Salsa? Salsa is the name of a collaborative development server for Debian based on the gitlab software. Salsa is supposed to provide the necessary tools for package maintainers, packaging teams and other Debian related individuals and groups for collaborative development. What is the status of Salsa? After various discussions about the future of Alioth, the Alioth Sprint in August 2017 gave birth to the initial setup of the the upcoming Salsa service. The productive weekend resulted in a working prototype and was launched as a beta in December 2017. It left its beta status in January 2018." Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-28package.bbclass: use single quotes for path passed to file in isELF()Andre McCurdy
Apparently there are recipes in the wild which generate files with filenames containing '$' characters - which cause errors during packaging. Instead of adding another special case to escape '$' characters when constructing the command passed to oe.utils.getstatusoutput(), switch to using single quotes to quote the path - and therefore make isELF() consistent with the way filenames and paths are quoted by every other caller of oe.utils.getstatusoutput() in oe-core. Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-28sanity.bbclass: quote path passed to stat in get_filesystem_id()Andre McCurdy
Although get_filesystem_id() is a private API and never gets passed a path containing spaces or other special characters, etc, quote the path anyway for consistency. Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-25waf.bbclass: Throw error if waf doesn't existAmanda Brindle
Before, waf.bbclass would fail to catch FileNotFoundError. Now, it will catch this error and say that waf doesn't exist. Fixes [YOCTO 12553] Signed-off-by: Amanda Brindle <amanda.r.brindle@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-25reproducible_build.bbclass: support for binary reproducibilityJuro Bystricky
Setup environment for builds requiring binary reproducibility. Determine and export SOURCE_DATE_EPOCH per each recipe. This is a crucial step to achieve binary reproducibility. The value for this variable (timestamp) is obtained after source code for a recipe has been unpacked, but before it is patched. If the code sources come from a GIT repo, we get the timestamp from the top commit. (GIT repo does not preserve file mktime timestamps). Otherwise, if GIT repo is not present, we try to get mtime from known files such as NEWS, ChangeLog, etc. If this also fails, we go through all files and get the timestamp from the youngest one. We create an individual timestamp for each recipe. The timestamp is stored in the file '__source_date_epoch.txt' (in the folder source-date-epoch_). Later on, each task reads this file and sets the exported value of SOURCE_DATE_EPOCH to the value found in the file. Uasge: INHERIT += "reproducible_build" [YOCTO#11178] [YOCTO#11179] Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-25externalsrc: do not call make clean for recipes with CLEANBROKEN = "1" setAndreas Müller
ERROR: distrho-ports-0.0.0+git999-r0 do_buildclean: oe_runmake failed ERROR: distrho-ports-0.0.0+git999-r0 do_buildclean: Function failed: do_buildclean ERROR: Logfile of failure stored in: <...>/temp/log.do_buildclean.17285 Log data follows: | DEBUG: Executing shell function do_buildclean | NOTE: make clean | make clean -C libs/drowaudio | make[1]: Entering directory '/home/a.mueller/data/oe-core/workspace/sources/distrho-ports/libs/drowaudio' | make clean -C build-drowaudio | make[2]: Entering directory '/home/a.mueller/data/oe-core/workspace/sources/distrho-ports/libs/drowaudio/build-drowaudio' | make[2]: *** No rule to make target 'clean'. Stop. | make[2]: Leaving directory '/home/a.mueller/data/oe-core/workspace/sources/distrho-ports/libs/drowaudio/build-drowaudio' | make[1]: *** [Makefile:7: clean] Error 2 | make[1]: Leaving directory '/home/a.mueller/data/oe-core/workspace/sources/distrho-ports/libs/drowaudio' | make: *** [Makefile:73: clean] Error 2 | ERROR: oe_runmake failed Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-25glide.bbclass: Add class to easy Glide useOtavio Salvador
To use 'glide' this class does the integration and reduces code duplication. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-20image_types.bbclass: Rename lz4_legacy to lz4Maxin B. John
LZ4 format currently used by the Linux kernel is the 'legacy' format. In order to avoid creating an image that can't be used as a compressed initial ramdisk with Linux kernel, rename lz4_legacy to lz4. [YOCTO #12461] [YOCTO #12149] Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-20kernel.bbclass: set HOSTLDFLAGS in KCONFIG_CONFIG_COMMANDCalifornia Sullivan
Kernel v4.14 and newer contain the following in their Makefile: HOST_LFS_LDFLAGS := $(shell getconf LFS_LDFLAGS) HOSTLDFLAGS := $(HOST_LFS_LDFLAGS) This breaks our menuconfig, because it can no longer find ncurses if its not on the host machine. This can be seen in linux-yocto-dev, for example: [clsulliv@clsulliv build]$ bitbake virtual/kernel -c menuconfig GEN ./Makefile HOSTLD scripts/kconfig/mconf /home/clsulliv/yocto/poky/build/tmp/hosttools/ld: cannot find -lncurses /home/clsulliv/yocto/poky/build/tmp/hosttools/ld: cannot find -ltinfo collect2: error: ld returned 1 exit status make[3]: *** [scripts/Makefile.host:99: scripts/kconfig/mconf] Error 1 make[2]: *** [/home/clsulliv/yocto/poky/build/tmp/work-shared/intel-corei7-64/kernel-source/Makefile:504: menuconfig] Error 2 make[1]: *** [Makefile:146: sub-make] Error 2 make: *** [Makefile:24: __sub-make] Error 2 Command failed. Press any key to continue... Fix this by setting HOSTLDFLAGS to ${BUILD_LDFLAGS} in our 'make menuconfig' command. Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-15insane.bbclass: Fix typos in 32bit risc-v machine typeKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-15insane.bbclass: add support for RISC-V baremetalKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-15gtk-doc: use --srcdir instead of cdRoss Burton
Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-15gtk-doc: always inherit python3nativeRoss Burton
My attempt at only inheriting python3native if it was needed was broken and didn't work, so back it out and always inherit. Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-14uninative: Add compatiblity version checkRichard Purdie
If glibc is newer on the host than in uninative, the failure mode is pretty nasty for clusters where the sstate is shared, including the Yocto Project autobuilder. This check aborts the use of uninative in such scenarios where a newer glibc version appears and avoids corruption of sstate caches. We use ldd to check the glibc version since that is included in libc-bin (or equivalent) which locales use so it should always be present. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-12package.bbclass: run pre/post installation/removal scriptlets using sh -eAlexander Kanavin
This allows catching errors in the scriptlets which would otherwise go unnoticed, e.g. this sequence: ==== bogus_command proper_command ==== would work just fine without any visible warnings or errors. This was previously done only for rpm packages; this patch replaces the rpm-specific tweak with one that works for all package types. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-12reproducible_build_simple.bbclass: simple environment for reproducible binariesJuro Bystricky
Export environmental variables needed for binary reproducibility with consistent values. This class can be used either directly via: INHERIT += "reproducible_build_simple" or can be inherited by a more complex/complete bbclass, for example a bblass which will crack SOURCE_DATE_EPOCH for each recipe. Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-12classes/recipes: Use expanded BUILD_REPRODUCIBLE_BINARIES valueJuro Bystricky
Replace the occurences of BUILD_REPRODUCIBLE_BINARIES with expanded values ${BUILD_REPRODUCIBLE_BINARIES} so the variable does not need to be exported. Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-08kernel: make copying of crtsavres.o conditionalBruce Ashfield
As of the 4.13 kernel, there are configuration + linker combinations that do not need (or build) crtsavres.o for ppc64 targets. The commit of interest is: commit efe0160cfd40a99c052a00e174787c1f4158a9cd Author: Nicholas Piggin <npiggin@gmail.com> Date: Fri May 12 01:56:52 2017 +1000 powerpc/64: Linker on-demand sfpr functions for modules For final link, the powerpc64 linker generates fpr save/restore functions on-demand, placing them in the .sfpr section. Starting with binutils 2.25, these can be provided for non-final links with --save-restore-funcs. Use that where possible for module links. This saves about 200 bytes per module (~60kB) on powernv defconfig build. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> As such, our arch test for crtsavres.o is not enough, we add a secondary existence check before trying the copy. [YOCTO #12576] Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-07gtk-doc: inherit classes only if gtk-doc is enabledRoss Burton
Respect GTKDOC_ENABLED when inheriting python3native and DEPENDing on qemu-native, as they're not needed when disabled. python3native is required as otherwise the host Python is most likely used which may or may not have python3-six installed (a requirement of gtk-doc). Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-06meson.bbclass: fix to build for more projectsChen Qi
We should use the value of CC for the c compiler setting in cross compilation configuration file for meson. For example, if we only use ${HOST_PREFIX}gcc instead of ${CC}, we would meet the following do_compile failure for systemd. cc1: fatal error: linux/capability.h: No such file or directory Do the same change for LD, AR, NM, STRIP and READELF. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-06godep.bbclass: Add helper class to enable go-dep toolKhem Raj
Many go packages can take advantage of dep tool since they manage their own dependencies, this class helps in using go dep tool for such packages Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-06go.bbclass, goarch.bbclass: update SECURITY_CFLAGSMatt Madison
With go1.10 the NOPIE flags are only required for MIPS target builds, and are now incompatible for the other architectures. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-06goarch.bbclass: disable shared runtime for nativesdk buildsMatt Madison
While useful on embedded devices for saving disk space, use of shared runtime in Go is not the usual practice, so disable it for nativesdk builds. We don't use it for native builds, either, so this makes the SDK match the native environment more closely. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-06go.bbclass: ptest cleanup and improvementsMatt Madison
* Don't enable verbose test output (-test.v) by default, as it generates too much noise for automated results parsing * Override do_install_ptest_base in the bbclass, so recipes can provide their own modifications with do_install_ptest. * Improve the generated run-ptest script to better handle large numbers of tests, and to generate 'status: test name' output similar to Automake tests. * Install all non-vendored 'testdata' directories from the source into the ptest package, as some packages share test data among multiple tests. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-06go.bbclass: don't stage test data with sourcesMatt Madison
Any directory in a Go package's source tree called 'testdata' contains test data, and isn't necessary for building. Some packages include ELF files and other binaries as test data, and staging them in the sysroot and -dev package leads to unnecessary QA warnings. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-06go.bbclass: remove debug-related commandsMatt Madison
The 'go env' in the do_compile function and the set -x/+x in the do_install_ptest function were used for debugging the bbclass, and aren't really needed. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-06go.bbclass: rename GO_TMPDIR -> GOTMPDIRMatt Madison
and export it. Go 1.10 now supports using this separate variable locating its temporary files. TMPDIR is still set, for compatibility with go1.9; that can be dropped once 1.9 is retired. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-06go: set GOMIPS envrionment variableMatt Madison
Go 1.10 adds support for selecting hard/soft float object code through the GOMIPS environment variable. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-06go: update go 1.9 -> go 1.10Matt Madison
* Patches and recipes reworked for go 1.10's significant changes to its bootstrap and build steps. * Update go1.4 source tarball used for go-native bootstrapping to the version recommended in the current go documentation * Remove test data from installed sources to eliminate some packaging QA warnings * Set GOCACHE to 'off' to disable 1.10's build caching in the go recipes and bbclass * Update go_do_compile to compile both static and dynamic objects dynamic linking is in use, since go1.10's build tool is pickier about this Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-06systemd-boot-cfg.bbclass: Don't reference or set OVERRIDESCalifornia Sullivan
There's no need to add to the local copy of overrides and then not do anything with it. Now that this function is being used in package creation it was causing sstate issues as well, as MACHINE is always in OVERRIDES, so something trivial such as the name of the MACHINE would cause the hash to change. Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-06grub-efi-cfg.bbclass: Don't reference or set OVERRIDESCalifornia Sullivan
There's no need to add to the local copy of overrides and then not do anything with it. Now that this function is being used in package creation it was causing sstate issues as well, as MACHINE is always in OVERRIDES, so something trivial such as the name of the MACHINE would cause the hash to change. Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-06systemd-boot*.bbclass: Don't use vmlinuzCalifornia Sullivan
We can't guarantee vmlinuz anymore. Use KERNEL_IMAGETYPE instead. Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-06systemd-boot.bbclass: break out configuration creationCalifornia Sullivan
This class is useful on its own and can be used to create configuration recipes. Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-06syslinux.bbclass: don't use vmlinuzCalifornia Sullivan
We can't guarantee the kernel will be named vmlinuz anymore. Use KERNEL_IMAGETYPE instead. Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-06grub-efi*.bbclass: don't reference vmlinuzCalifornia Sullivan
Rather than renaming the kernel to vmlinuz and assuming the name is vmlinuz in the grub.cfg, copy to ${KERNEL_IMAGETYPE} and also use that value in the grub.cfg file. Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-06live-vm-common.bbclass: Don't use vmlinuz or VM_DEFAULT_KERNELCalifornia Sullivan
I can't find VM_DEFAULT_KERNEL used anywhere else, and we should not be statically installing the kernel as vmlinuz. Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-06grub-efi.bbclass: split out configuration portionCalifornia Sullivan
This part is useful on its own, whereas the whole class together is specific for image-live. Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-06meta/classes: add ptest-perl.bbclassTim Orling
* Enable easier testing of perl modules - Installs t/* to PTEST_PATH - Uses common run-ptest script Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-06populate_sdk_base: depend on nativesdk-glibc-localeRoss Burton
If we're building a SDK and we're using glibc so may be installing locales, add a build-dependency on natiesdk-glibc-locale so the locales we need will exist. Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-04base: Handle backfilling in anonymous python code, not event handlerRichard Purdie
Handling of backfilling is trickier than you'd think. We need this to execute early enough that the user will see the changes in bitbake -e and other output yet late enough that the virtclass extensions have changed the tunes before it executes. It makes more sense to execute this at anonymous python time now bitbake -e correctly handles this and that unbreaks multilib corruption of these variables. [YOCTO #12373] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04image: Remove the do_package_write_* tasksRichard Purdie
Now we're filtering tasks in the rpm indexing code so that tasks can only see the packages they really depend upon, having noexec package_write tasks around is causing problems since the tasks exist but don't have manifests. Removing the tasks entirely solves this problem and streamlines the task execution graph too. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04base: Don't print LICENSE warning for non-recipe contextRichard Purdie
Now bitbake is executing anonymous python fragments in bitbake -e, ensure we don't show the error in that context (where PN would be unchanged from default). Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-03kernel-yocto: check git config during checkoutJustin Bronder
Initialize the git config prior creating a git repository in a plain directory. Signed-off-by: Justin Bronder <jsbronder@cold-front.org> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-03cmake: refactor compile and install for easier re-useAndré Draszik
cmake_do_compile() and cmake_do_install() basically do the same, except they use a different --target, and at the moment this is copy/pasted code with a minor modification. Other recipes which e.g. might want to support compilation as part of ptest have to do the same. This is a bit inconvenient. By factoring out all of this into a common helper, cmake_runcmake_build(), this is easily re-used. An (imaginary) recipe can compile ptest support simply by using cmake_runcmake_build --target buildtest-TESTS (assuming such a build target exists). Also, this now is very similar to oe_runmake(). Signed-off-by: André Draszik <andre.draszik@jci.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-03icecc: Remove several getVar() expand argumentsJoshua Watt
Several of the calls to getVar() were either superfluously passing True for the expand argument, or were wrongly passing False Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-01populate_sdk: install UTF-8 locales in SDKsRoss Burton
As glibc 2.27 can't read older locale-archives, SDKs using glibc 2.27 on hosts using glibc earlier than 2.27 won't be able to find any locales, so bitbake won't start and Python can't use UTF-8. So by default install all locales into the SDK. Special-case Extensible SDKs by installing no locales as they ship glibc in a buildtools, and that will have the locales. Locale installation requires cross-localedef, so add that to DEPENDS. Also remove the explicit en_US addition in buildtools-tarball as it is now redundant. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-01package.bbclass: fetch PRIVATE_LIBS twice as we iterate twiceRoss Burton
The shlibs detection/handling iterates the package list twice, but PRIVATE_LIBS is only fetched in the first loop which means the second loop only considers the value set. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-01icecc.bbclass: Ignore more icecream vars in hashesJoshua Watt
Changing ICECC_ENV_VERSION or select variables that the user can set to control the behavior of icecc should not cause recipes to rebuild Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-27sstatesig/staging/package_manager: Create common sstate manifest codeRichard Purdie
Create a common function for locating task manifest files rather than several implementations with missing pieces. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-24logging.bbclass: Enclose the tr string in quotesJason Wessel
On some linux hosts image recipes will fail to build as follows: ERROR: build-essential-0.3-r0 do_image_ext3: Usage: bbdebug [123] "message" ERROR: build-essential-0.3-r0 do_image_ext3: Function failed: do_image_ext3 (log file is located at /opt/build/tmp/work/intel_corei7_64-wrs-linux/build-essential/0.3-r0/temp/log.do_image_ext3.43744) ERROR: Logfile of failure stored in: /opt/build/tmp/work/intel_corei7_64-wrs-linux/build-essential/0.3-r0/temp/log.do_image_ext3.43744 ERROR: Task (/opt/layers/meta-overc/meta-build/recipes-core/images/build-essential_0.3.bb:do_image_ext3) failed with exit code '1' Running with bitbake -v -v -v -D we get in the log file: + bbdebug 1 Executing 'dd if=/dev/zero of=/opt/build/tmp/work/intel_corei7_64-wrs-linux/build-essential/0.3-r0/deploy-build-essential-image-complete/build-essential-intel-corei7-64-20180220190510.rootfs.ext3 seek=484486 count=0 bs=1024' + USAGE='Usage: bbdebug [123] "message"' + '[' 3 -lt 2 ']' + DBGLVL=1 + shift ++ echo 1 ++ echo 1 ++ tr -d t ++ tr -d t + NONDIGITS=1 + '[' 1 ']' + bbfatal 'Usage: bbdebug [123] "message"' The debug output tells us that the NONDIGITS check failed to remove the digits using the tr expression. Enclosing the expression in quotes causes it to work properly. Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>