Bug 11839 - buildhistory + multiconfig
Summary: buildhistory + multiconfig
Status: NEW
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: core (show other bugs)
Version: unspecified
Hardware: x86 Multiple
: Medium+ normal
Target Milestone: 5.99
Assignee: Unassigned
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2017-07-26 14:29 UTC by Patrick Ohly
Modified: 2025-10-23 15:05 UTC (History)
6 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Patrick Ohly 2017-07-26 14:29:59 UTC
It seems that buildhistory.bbclass is not ready yet for use in a multiconfig. When trying it, I ended up with name clashes like this:

FileNotFoundError: [Errno 2] No such file or directory: '.../buildhistory/images/intel_corei7_64/glibc/refkit-initramfs-development/installed-packages.tmp'
00:38:50.107 | WARNING: .../tmp-x11-glibc/work/intel_corei7_64-refkit-linux/refkit-initramfs-development/1.0-r0/temp/run.buildhistory_get_image_installed.16708:1 exit 1 from 'oe-pkgdata-util -p /srv/jenkins/workspace/ci-2017-07-26_04-18-09-build-99/build/tmp-x11-glibc/pkgdata/intel-corei7-64 read-value "PKGSIZE" -n -f $pkgcache > $1/installed-package-sizes.tmp'
00:38:50.107 | DEBUG: Python function do_rootfs finished
00:38:50.107 | ERROR: Function failed: buildhistory_get_image_installed (log file is located at .../tmp-x11-glibc/work/intel_corei7_64-refkit-linux/refkit-initramfs-development/1.0-r0/temp/log.do_rootfs.16708)
00:38:50.107 NOTE: recipe refkit-initramfs-development-1.0-r0: task do_rootfs: Failed
00:38:50.107 ERROR: Task (multiconfig:x11:virtual:image-mode:development:...openembedded-core/../meta-refkit-core/recipes-images/images/refkit-initramfs.bb:do_rootfs) failed with exit code '1'

Here the refkit-initramfs-development recipe (derived from refkit-initramfs.bb via BBCLASSEXTEND) was using the same directory as other refkit-initramfs-development instances, leading to a race condition.

Not sure what the best solution is here. It can be avoided by setting different build history root paths for each multiconfig, but then how does it get merged into a single git repo?

Full log is here: https://intel-iot-refkit.01.org/job/intel-iot-refkit_pull-requests/99/consoleFull

One has to log in at https://intel-iot-refkit.01.org with a Github account before the log is available.
Comment 1 Richard Purdie 2019-07-04 10:58:42 UTC
This is a tricky one. Paul and I debated whether multiconfig builds should share the same buildhistory directory, possibly with different path prefixes per multiconfig or not. It really depends upon context and what the multiconfigs are doing.

In some cases you would have separate BH directories, maybe pointing at the same BH repo/branch, maybe not.

In some cases you would want an extra path prefix.

In some cases it would be separate BH directories and repos.

This bug is therefore to document what is expected to work and what is not and how to best configure multiconfig with BH.
Comment 2 Randy MacLeod 2023-10-24 14:24:20 UTC
Bulk move from 4.99 or 0.00 to 5.99