Recently, I updated my Yocto project from Dunfell to Scarthgap. In so doing, we had to modify and change some of the device-trees and some U-Boot build configurations. This requires the use of a post-install state script. I based the following recipie on the state-script example here:
LICENSE="CLOSED"
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
SRC_URI:append = "file://post-install-script;subdir=${BP}"
inherit mender-state-scripts
do_compile() {
cp ${S}/post-install-script ${MENDER_STATE_SCRIPTS_DIR}/ArtifactInstall_Leave_10
}
The layer itself DOES build
$ bitbake state-scripts
Loading cache: 100% |####################################| Time: 0:00:01
Loaded 4802 entries from dependency cache.
NOTE: Resolving any missing task queue dependencies
Build Configuration:
BB_VERSION = "2.8.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "universal"
TARGET_SYS = "arm-poky-linux-gnueabi"
MACHINE = "beaglebone-yocto"
DISTRO = "poky"
DISTRO_VERSION = "5.0.6"
TUNE_FEATURES = "arm vfp cortexa8 neon callconvention-hard"
TARGET_FPU = "hard"
meta-mender-core = "HEAD:4c242af57ff0a00a4d44328896a5cd81c27c8c46"
meta-mender-beaglebone = "HEAD:76aac650898ccee805c45e00e0cab4af7997d87f"
meta-networking
meta-oe = "HEAD:3c293e14492f01e22a64004e2330fb620c27578a"
meta-ODF = "scarthgap:84672097f0f27d1ca1a6c1ee1087b6d2e9de590e"
meta-python = "HEAD:3c293e14492f01e22a64004e2330fb620c27578a"
meta-rtlwifi = "HEAD:6cef327d783b36fcec52af4681ef49c9412a20d1"
meta-security = "HEAD:bc865c5276c2ab4031229916e8d7c20148dfbac3"
meta-webserver = "HEAD:3c293e14492f01e22a64004e2330fb620c27578a"
meta
meta-poky
meta-yocto-bsp = "HEAD:7117d115eab7351ecf21388ec720a3bb5f4a9b30"
Sstate summary: Wanted 118 Local 107 Mirrors 0 Missed 11 Current 163 (90% match, 96% complete)#################################### | ETA: 0:00:00
Initialising tasks: 100% |####################################| Time: 0:00:00
NOTE: Executing Tasks
NOTE: Tasks Summary: Attempted 855 tasks of which 834 didn't need to be rerun and all succeeded.
$
However, when this is included via IMAGE_INSTALL:append = " state-scripts"
, The image build results in an error:
image-odf-dev-1.0-r0 do_rootfs: Unable to install packages. Command '<Trimmed>' returned 255:
* opkg_solver_install: No candidates to install state-scripts (null)!