poky/scripts
Chuck Wolber b57d4de337 scripts/oe-setup-layers: Make efficiently idempotent
The effect of subsequent setup-layers executions is now either a NOOP
or the minimal set of changes required to ensure layers precisely match
the JSON configuration.

This change allows setup-layers to be incorporated into a team's
configuration management strategy. In particular, the configuration
JSON manages a "pinning policy" that documents the oversight of sources
of change (a requirement for embedded development in highly regulated
industries).

One model for this strategy would work as follows. Team level policy is
developed to regularly review upstream commits that occur between the
current upstream HEAD and the previously pinned revision. The JSON
configuration is periodically updated after a review, test, and approval
process. In the rare instance that an upstream change is considered
problematic, the bbappend mechanism can be used to make relevant
changes in the team's project repository. This approach also requires
that team developers regularly run the project repository copy of
setup-layers. This is most easily accomplished by including setup-layers
in a wrapper script that all team developers use to interact with the
bitbake tool suite (e.g. "bb bitbake foo-image"). Project level policy
and oversight is effectively "contained" within this wrapper script,
thereby reducing a significant source of human error.

Left unstated, but acknowledged here, are a number of nuances required
to successfully implement the above strategy.  The details are out of
scope for this explanation. What should be clear is that a larger
configuration management strategy can now benefit from the utility
provided by setup-layers.

Note: Neither the above configuration management strategy example nor
the change itself is intended to alter the original intent to use
"bitbake-layers create-layers-setup destdir" to keep pace with upstream
activity for those who wish to use it that way.

(From OE-Core rev: da2e01cacd98715318a5307fe0618dbca0cf1fe7)

Signed-off-by: Chuck Wolber <chuck.wolber@boeing.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-18 16:42:28 +00:00
..
contrib scripts: convert-overrides: Allow command-line customizations 2022-11-14 16:19:42 +00:00
cross-intercept native/cross: Add ar wrapper for determinism 2021-11-26 17:01:08 +00:00
lib devtool: process local files only for the main branch 2022-12-31 17:10:21 +00:00
native-intercept native/cross: Add ar wrapper for determinism 2021-11-26 17:01:08 +00:00
nativesdk-intercept nativesdk: Handle chown/chgrp calls in nativesdk do_install tasks 2021-11-26 17:01:08 +00:00
postinst-intercepts update_udev_hwdb: fix multilib issue with systemd 2022-04-19 14:14:12 +01:00
pybootchartgui pybootchartgui: write the max values in the graph legend 2022-08-04 21:53:50 +01:00
tiny scripts/tiny/ksize: Fix for more recent kernels 2020-05-09 18:57:21 +01:00
autobuilder-worker-prereq-tests scripts: Add copyright statements to files without one 2022-08-12 11:58:01 +01:00
bitbake-prserv-tool scripts: Add copyright statements to files without one 2022-08-12 11:58:01 +01:00
bitbake-whatchanged scripts: Add copyright statements to files without one 2022-08-12 11:58:01 +01:00
buildall-qemu buildall-qemu: automate build testing for qemu MACHINEs 2020-04-24 14:10:08 +01:00
buildhistory-collect-srcrevs buildhistory-collect-srcrevs: Adapt to the new variable override syntax 2021-08-26 22:09:44 +01:00
buildhistory-diff scripts/buildhistory-diff: drop use of distutils 2022-01-04 23:14:05 +00:00
buildstats-diff scripts/buildstats-diff: Add option to filter tasks 2019-07-17 09:36:35 +01:00
combo-layer combo-layer: add sync-revs command 2022-12-08 10:50:30 +00:00
combo-layer-hook-default.sh scripts: Add copyright statements to files without one 2022-08-12 11:58:01 +01:00
combo-layer.conf.example
cp-noerror scripts: Add copyright statements to files without one 2022-08-12 11:58:01 +01:00
create-pull-request create-pull-request: don't switch the git remote protocol to git:// 2022-09-27 11:02:04 +01:00
crosstap scripts: Various typo/grammar/punctuation fixes 2022-03-02 18:43:24 +00:00
devtool devtool/friends: Use LAYERSERIES_CORENAMES when generating LAYERSERIES_COMPAT entries 2022-12-08 11:15:47 +00:00
gen-lockedsig-cache scripts: Add copyright statements to files without one 2022-08-12 11:58:01 +01:00
gen-site-config meta/lib+scripts: Convert to SPDX license headers 2019-05-09 16:31:55 +01:00
git scripts: Add copyright statements to files without one 2022-08-12 11:58:01 +01:00
install-buildtools install-buildtools: support buildtools-make-tarball and update to 4.1 2022-10-25 13:42:02 +01:00
multilib_header_wrapper.h multilib_header_wrapper: Drop using __MHWORDSIZE 2020-05-18 06:33:36 +01:00
oe-build-perf-report oe-build-perf-report: Ensure correct data is shown for multiple branch options 2020-10-10 13:37:56 +01:00
oe-build-perf-test scripts/oe-build-perf-test: Use python3 from the environment 2019-12-15 09:10:46 +00:00
oe-buildenv-internal meta/scripts: Change BB_ENV_EXTRA_WHITE -> BB_ENV_PASSTHROUGH_ADDITIONS 2022-02-21 23:37:26 +00:00
oe-check-sstate scripts/oe-check-sstate: force build to run for all targets, specifically populate_sysroot 2022-10-25 13:42:02 +01:00
oe-debuginfod scripts: Add copyright statements to files without one 2022-08-12 11:58:01 +01:00
oe-depends-dot oe-depends-dot: Handle new format for task-depends.dot 2022-05-27 23:50:48 +01:00
oe-find-native-sysroot meta/lib+scripts: Convert to SPDX license headers 2019-05-09 16:31:55 +01:00
oe-git-archive meta/lib+scripts: Convert to SPDX license headers 2019-05-09 16:31:55 +01:00
oe-git-proxy oe-git-proxy: fix dash "Bad substitution" 2019-09-16 23:02:44 +01:00
oe-gnome-terminal-phonehome scripts: Add copyright statements to files without one 2022-08-12 11:58:01 +01:00
oe-pkgdata-browser scripts: Add copyright statements to files without one 2022-08-12 11:58:01 +01:00
oe-pkgdata-browser.glade oe-pkgdata-browser: Make the window 1200x900 by default 2020-01-10 21:18:22 +00:00
oe-pkgdata-util oe-pkgdata-util: Adapt to the new variable override syntax 2022-03-11 06:56:02 +00:00
oe-publish-sdk scripts/oe-publish-sdk: Disable git gc to avoid build errors 2021-09-23 13:49:11 +01:00
oe-pylint scripts: Add copyright statements to files without one 2022-08-12 11:58:01 +01:00
oe-run-native scripts: oe-run-native, fix *-native directories 2021-01-15 13:39:25 +00:00
oe-selftest oe-selftest: Implement console 'keepalive' output 2019-09-06 08:15:45 +01:00
oe-setup-builddir scripts/oe-setup-builddir: do not read TEMPLATECONF from templateconf.cfg 2022-09-29 21:15:50 +01:00
oe-setup-layers scripts/oe-setup-layers: Make efficiently idempotent 2023-01-18 16:42:28 +00:00
oe-test meta/lib+scripts: Convert to SPDX license headers 2019-05-09 16:31:55 +01:00
oe-time-dd-test.sh scripts: Add copyright statements to files without one 2022-08-12 11:58:01 +01:00
oe-trim-schemas scripts: Add copyright statements to files without one 2022-08-12 11:58:01 +01:00
oepydevshell-internal.py scripts: Add copyright statements to files without one 2022-08-12 11:58:01 +01:00
opkg-query-helper.py meta/lib+scripts: Convert to SPDX license headers 2019-05-09 16:31:55 +01:00
pythondeps scripts: Add copyright statements to files without one 2022-08-12 11:58:01 +01:00
README
recipetool meta/lib+scripts: Convert to SPDX license headers 2019-05-09 16:31:55 +01:00
relocate_sdk.py relocate_sdk.py: ensure interpreter size error causes relocation to fail 2022-08-08 15:44:21 +01:00
resulttool meta/lib+scripts: Convert to SPDX license headers 2019-05-09 16:31:55 +01:00
rootfs_rpm-extract-postinst.awk
rpm2cpio.sh rpm2cpio.sh: fix to handle newline character 2020-02-19 11:24:15 +00:00
runqemu runqemu: add QB_SETUP_CMD and QB_CLEANUP_CMD 2022-12-21 10:16:31 +00:00
runqemu-addptable2image image_types/runqemu-addptable2image: Fix a minor typo 2022-05-15 08:57:15 +01:00
runqemu-export-rootfs qemu-helper: depend on unfs3 and pseudo directly 2022-11-29 10:29:58 +00:00
runqemu-extract-sdk qemu-helper: depend on unfs3 and pseudo directly 2022-11-29 10:29:58 +00:00
runqemu-gen-tapdevs meta/lib+scripts: Convert to SPDX license headers 2019-05-09 16:31:55 +01:00
runqemu-ifdown scripts/runqemu-ifdown: Don't treat the last iptables command as special 2022-02-05 17:46:05 +00:00
runqemu-ifup meta/lib+scripts: Convert to SPDX license headers 2019-05-09 16:31:55 +01:00
runqemu.README scripts/runqemu.README: fix typos and trailing whitespaces 2022-08-31 12:25:44 +01:00
send-error-report meta/lib+scripts: Convert to SPDX license headers 2019-05-09 16:31:55 +01:00
send-pull-request meta/lib+scripts: Convert to SPDX license headers 2019-05-09 16:31:55 +01:00
sstate-cache-management.sh sstate: Switch to ZStandard compressor support 2021-10-14 22:37:43 +01:00
sstate-diff-machines.sh scripts: Add copyright statements to files without one 2022-08-12 11:58:01 +01:00
sstate-sysroot-cruft.sh scripts: Add copyright statements to files without one 2022-08-12 11:58:01 +01:00
sysroot-relativelinks.py scripts: Add copyright statements to files without one 2022-08-12 11:58:01 +01:00
task-time scripts: Add copyright statements to files without one 2022-08-12 11:58:01 +01:00
test-reexec meta/lib+scripts: Convert to SPDX license headers 2019-05-09 16:31:55 +01:00
test-remote-image meta/lib+scripts: Convert to SPDX license headers 2019-05-09 16:31:55 +01:00
verify-bashisms scripts: Add copyright statements to files without one 2022-08-12 11:58:01 +01:00
wic wic: fix WicError message 2022-06-22 22:40:28 +01:00
yocto-check-layer yocto-check-layer: Allow OE-Core to be tested 2022-12-09 13:18:41 +00:00
yocto-check-layer-wrapper meta/lib+scripts: Convert to SPDX license headers 2019-05-09 16:31:55 +01:00

This directory contains Various useful scripts for working with OE builds