Age | Commit message (Collapse) | Author |
|
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
|
|
when we have below content in local.conf or auto.conf:
BUILDHISTORY_COMMIT_AUTHOR ?= "Khem Raj <raj.khem@gmail.com>"
send-error-report will fail with "HTTP Error 500: OK"
error-report-web do rudimentary check on all fields that are
passed to the graphs page to avoid any XSS happening, if contains
'<', the server will return error(Invalid characters in json).
fixed by use escape of <> to replace it.
NOTE: with this change, error-report-web need to add filter 'safe'
for the string wanted to display to avoid further HTML escaping
prior to output. Below is how the content displayed on webpage:
with the filter 'safe':
BUILDHISTORY_COMMIT_AUTHOR ?= "Khem Raj <raj.khem@gmail.com>"
without the filter 'safe':
BUILDHISTORY_COMMIT_AUTHOR ?= "Khem Raj <raj.khem@gmail.com>"
Another patch for error-report-web will send to yocto mail list.
[YOCTO #13252]
Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
* useful when distro wants to collect build statistics from
all users/developers without any manual interaction from them
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
|
|
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
|
|
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
|
|
using uninative
* this fixes the issue where eSDK preparation fails when uninative isn't enabled:
Preparing build system...
WARNING: You are using a local hash equivalence server but have configured an sstate mirror. This will likely mean no sstate will match from the mirror. You may wish to disable the hash equivalence use (BB_HASHSERVE), or use a hash equivalence server alongside the sstate mirror.
Loading cache: 100% | | ETA: --:--:--
Parsing recipes: 100% |####################################################| Time: 0:00:10
Initialising tasks: 100% |#################################################| Time: 0:00:02
Checking sstate mirror object availability: 100% |#########################| Time: 0:00:00
WARNING: The base-files:do_install sig is computed to be 83b9c9a6ef1145baac5a1e0d08814b9156af239c58fc42df95c25a9cd8a7f201,
but the sig is locked to 3dc22233059075978e5503691e98e79e7cc60db94259dfcd886bca2291c0add7 in SIGGEN_LOCKEDSIGS_t-qemux86-64
ERROR: Task glibc-locale.do_deploy_source_date_epoch attempted to execute unexpectedly and should have been setscened
Task virtual:native:/OE/build/test-sdk-without/layers/poky/meta/recipes-support/libpcre/libpcre2_10.42.bb:do_populate_sysroot,
unihash 4615cb1da18a0fae9852bbeb9a57bc5858cd3c18489a29dfb7d42bf9e5d26783, taskhash 4615cb1da18a0fae9852bbeb9a57bc5858cd3c18489a29dfb7d42bf9e5d26783
...
Task virtual:native:/OE/build/test-sdk-without/layers/poky/meta/recipes-devtools/rpm/rpm_4.18.0.bb:do_deploy_source_date_epoch,
unihash 593e6c8bcc68da0b0e1eb562eac65e3805172a92ac5c7fb276a0e8641ebc41d6, taskhash 593e6c8bcc68da0b0e1eb562eac65e3805172a92ac5c7fb276a0e8641ebc41d6
This is usually due to missing setscene tasks. Those missing in this build were: {
'/OE/build/test-sdk-without/layers/poky/meta/recipes-bsp/v86d/v86d_0.1.10.bb:do_deploy_source_date_epoch',
'/OE/build/test-sdk-without/layers/poky/meta/recipes-bsp/v86d/v86d_0.1.10.bb:do_package',
...
'virtual:native:/OE/build/test-sdk-without/layers/poky/meta/recipes-support/re2c/re2c_3.0.bb:do_deploy_source_date_epoch',
'virtual:native:/OE/build/test-sdk-without/layers/poky/meta/recipes-support/re2c/re2c_3.0.bb:do_populate_sysroot'}
ERROR: Task (/OE/build/test-sdk-without/layers/poky/meta/recipes-core/glibc/glibc-locale_2.37.bb:do_deploy_source_date_epoch) failed with exit code 'setscene ignore_tasks'
ERROR: SDK preparation failed: error log written to /OE/build/test-sdk-without/preparing_build_system.log
* the locked sstate-cache is created with:
fixedlsbstring = "universal%s" % oe.utils.host_gcc_version(d)
but then inside eSDK, we're using regular NATIVELSBSTRING
in this SDK I can see:
test-sdk-without $ find sstate-cache/universal/ -name \*zst | wc -l
150
while for my host LSB gentoo-2.13 it's empty (just many empty directories):
test-sdk-without $ find sstate-cache/gentoo-2.13/ -name \*zst | wc -l
0
test-sdk-without $ find sstate-cache/gentoo-2.13/ | wc -l
263
* smaller test case with much shorter log is e.g. texinfo-dummy-native or m4-native:
test-sdk-without $ BB_SETSCENE_ENFORCE=1 bitbake texinfo-dummy-native
WARNING: You are using a local hash equivalence server but have configured an sstate mirror. This will likely mean no sstate will match from the mirror. You may wish to disable the hash equivalence use (BB_HASHSERVE), or use a hash equivalence server alongside the sstate mirror.
Loading cache...done.
Loaded 1797 entries from dependency cache.
NOTE: Resolving any missing task queue dependencies
Initialising tasks...done.
Sstate summary: Wanted 4 Local 0 Mirrors 0 Missed 4 Current 2 (0% match, 33% complete)
NOTE: Executing Tasks
ERROR: Task quilt-native.do_fetch attempted to execute unexpectedly
Task /OE/build/test-sdk-without/layers/poky/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy-native.bb:do_deploy_source_date_epoch, unihash b355f17d90c8800c246ec1c597e4726ed57d98e0c67d6f18d1b6d3c821f08e7e, taskhash b355f17d90c8800c246ec1c597e4726ed57d98e0c67d6f18d1b6d3c821f08e7e
Task /OE/build/test-sdk-without/layers/poky/meta/recipes-devtools/quilt/quilt-native_0.67.bb:do_deploy_source_date_epoch, unihash 116f8d4762cd111492fffed036d13d4bcca35e9bafc743e5fce5432ff64b2201, taskhash 116f8d4762cd111492fffed036d13d4bcca35e9bafc743e5fce5432ff64b2201
Task /OE/build/test-sdk-without/layers/poky/meta/recipes-devtools/quilt/quilt-native_0.67.bb:do_populate_sysroot, unihash f25773f9c2ae02d1de6c037b6f4161c79b3ba37ce5add86cf087158ba26c52d9, taskhash f25773f9c2ae02d1de6c037b6f4161c79b3ba37ce5add86cf087158ba26c52d9
Task /OE/build/test-sdk-without/layers/poky/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy-native.bb:do_populate_sysroot, unihash 1c584073b7e999100258ae34289091b5216d3f921d2210d1f8053fc4c8c516f5, taskhash 1c584073b7e999100258ae34289091b5216d3f921d2210d1f8053fc4c8c516f5
This is usually due to missing setscene tasks. Those missing in this build were: {'/OE/build/test-sdk-without/layers/poky/meta/recipes-devtools/quilt/quilt-native_0.67.bb:do_deploy_source_date_epoch',
'/OE/build/test-sdk-without/layers/poky/meta/recipes-devtools/quilt/quilt-native_0.67.bb:do_populate_sysroot',
'/OE/build/test-sdk-without/layers/poky/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy-native.bb:do_deploy_source_date_epoch',
'/OE/build/test-sdk-without/layers/poky/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy-native.bb:do_populate_sysroot'}
ERROR: Task (/OE/build/test-sdk-without/layers/poky/meta/recipes-devtools/quilt/quilt-native_0.67.bb:do_fetch) failed with exit code 'setscene ignore_tasks'
NOTE: Tasks Summary: Attempted 1 tasks of which 0 didn't need to be rerun and 1 failed.
Summary: 1 task failed:
/OE/build/test-sdk-without/layers/poky/meta/recipes-devtools/quilt/quilt-native_0.67.bb:do_fetch
Summary: There was 1 WARNING message.
Summary: There was 1 ERROR message, returning a non-zero exit code.
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
|
|
image
* with 1 preconfigured tap device you cannot run testimage on multiple images
at the same time
in my case have /tmp/qemu-tap-locks/tap0.skip (tap0 is used by openvpn on builder)
and /etc/runqemu-nosudo as my build user doesn't have sudo powers
but then when 2 do_testimage tasks are executed at the same time it fails like this:
NOTE: recipe core-image-weston-1.0-r0: task do_testimage: Started
NOTE: recipe core-image-full-cmdline-1.0-r0: task do_testimage: Started
QMP Available for connection at /OE/build/poky/build-st/tmp/.c2d3k3bh
QMP Available for connection at /OE/build/poky/build-st/tmp/._4agpi1v
ERROR: core-image-full-cmdline-1.0-r0 do_testimage: runqemu exited with code 1
ERROR: core-image-full-cmdline-1.0-r0 do_testimage: Output from runqemu:
runqemu - INFO - Continuing with the following parameters:
KERNEL: [/OE/build/poky/build-st/tmp/deploy/images/qemux86-64/bzImage]
MACHINE: [qemux86-64]
FSTYPE: [ext4]
ROOTFS: [/OE/build/poky/build-st/tmp/deploy/images/qemux86-64/core-image-full-cmdline-qemux86-64.ext4]
CONFFILE: [/OE/build/poky/build-st/tmp/deploy/images/qemux86-64/core-image-full-cmdline-qemux86-64.qemuboot.conf]
runqemu - INFO - Found /tmp/qemu-tap-locks/tap0.skip, skipping tap0
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap1.lock failed: [Errno 11] Resource temporarily unavailable
runqemu - ERROR - Error: There are no available tap devices to use for networking,
runqemu - ERROR - and I see /etc/runqemu-nosudo exists, so I am not going to try creating
runqemu - ERROR - a new one with sudo.
runqemu - INFO - Cleaning up
runqemu - INFO - Host uptime: 67474.59
tput: No value for $TERM and no -T specified
WARNING: core-image-full-cmdline-1.0-r0 do_testimage: Qemu ended unexpectedly, dump data from host is in /OE/build/poky/build-st/tmp/log/runtime-hostdump/202303131614_qemu
WARNING: core-image-full-cmdline-1.0-r0 do_testimage: runqemu during is_alive() test
ERROR: core-image-full-cmdline-1.0-r0 do_testimage: Error executing a python function in exec_func_python() autogenerated:
which is very reasonable error message, but 600 lines later it also shows:
RESULTS - xorg.XorgTest.test_xorg_running: SKIPPED (0.00s)
SUMMARY:
core-image-weston () - Ran 71 tests in 34.073s
core-image-weston - OK - All required tests passed (successes=14, skipped=57, failures=0, errors=0)
NOTE: recipe core-image-weston-1.0-r0: task do_testimage: Succeeded
NOTE: Tasks Summary: Attempted 1141 tasks of which 1139 didn't need to be rerun and 1 failed.
Summary: 1 task failed:
/OE/build/poky/meta/recipes-extended/images/core-image-full-cmdline.bb:do_testimag
and I didn't notice that there are actually 2 different images core-image-weston
and core-image-full-cmdline and spent most time trying to figure out how it was
able to run all those ptest when qemu failed to start at the beginning.
It's possible to create 2nd tap with runqemu-ifup before running this test.
Then it works, maybe some check like in DevtoolTests to error out early if
there isn't enough tap devices? But the implementation in:
https://git.openembedded.org/openembedded-core/commit/?id=2258345e19efff7717fe19a5026ec55f1b6f90b6
has its own limitations (e.g. not checking /tmp/qemu-tap-locks/tap0.skip)
and would probably need to be re-implemented as some generic decorator
as other tests need this as well.
It's a bit slower when serialized:
INFO - RESULTS - incompatible_lic.NoGPL3InImagesTests.test_core_image_full_cmdline_weston: PASSED (145.96s)
without this change:
INFO - RESULTS - incompatible_lic.NoGPL3InImagesTests.test_core_image_full_cmdline_weston: PASSED (104.72s)
I don't mind if this is rejected, sending it mostly to document this behavior.
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
|
|
Characters like '-O2' or '-Ofast' will be replaced by '-O1' and '-O0'
respectively when compiling cipher and random in the filesystem
paths as well if they happen to contain '-O2' or '-Ofast
If we are cross compiling libgcrypt and sysroot contains such
characters, we would
get compile errors because the sysroot path has been modified.
Fix this by adding blank spaces and tabs before the original matching
pattern in the sed command.
Signed-off-by: simit.ghane <simit.ghane@lge.com>
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
|
|
This fixes build with GCC-14
(From OE-Core rev: 8742b2875e2a0192e318ae766a24e3474ee8d20c)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This is major release upgrade. major changes are listed in [1]
and it has a list of bugs [2] fixed as well
This release may differ in significant ways from prior gcc releases
where it may require port the code to gcc 14, there is a porting guide [3]
available.
[1] https://gcc.gnu.org/gcc-14/changes.html
[2] https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=14.0
[3] https://gcc.gnu.org/gcc-14/porting_to.html
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
* when UBOOT_ARTIFACT_NAME and UBOOT_ARTIFACT_LINK_NAME are empty
the UBOOT_BINARYNAME and UBOOT_IMAGE might be indentical and the
binary gets overwritten by the symlink to itself (similarly for SPL_*)
$ ls -lah /OE/build/poky/build/tmp/work/qemuarm-poky-linux-gnueabi/u-boot/2023.10/package/boot
total 8.0K
drwxr-xr-x 2 martin martin 4.0K Nov 21 21:23 .
drwxr-xr-x 4 martin martin 4.0K Nov 21 21:23 ..
lrwxrwxrwx 1 martin martin 3 Nov 21 21:23 MLO -> MLO
lrwxrwxrwx 1 martin martin 10 Nov 21 21:23 u-boot.bin -> u-boot.bin
* which causes:
ERROR: u-boot-1_2023.10-r0 do_package: Error executing a python function in exec_func_python() autogenerated:
The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_func_python() autogenerated', lineno: 2, function: <module>
0001:
*** 0002:do_package(d)
0003:
File: '/OE/build/poky/meta/classes-global/package.bbclass', lineno: 536, function: do_package
0532: bb.build.exec_func("package_prepare_pkgdata", d)
0533: bb.build.exec_func("perform_packagecopy", d)
0534: for f in (d.getVar('PACKAGE_PREPROCESS_FUNCS') or '').split():
0535: bb.build.exec_func(f, d)
*** 0536: oe.package.process_split_and_strip_files(d)
0537: oe.package.fixup_perms(d)
0538:
0539: ###########################################################################
0540: # Split up PKGD into PKGDEST
File: '/OE/build/poky/meta/lib/oe/package.py', lineno: 1073, function: process_split_and_strip_files
1069: staticlibs.append(file)
1070: continue
1071:
1072: try:
*** 1073: ltarget = cpath.realpath(file, dvar, False)
1074: s = cpath.lstat(ltarget)
1075: except OSError as e:
1076: (err, strerror) = e.args
1077: if err != errno.ENOENT:
File: '/OE/build/poky/meta/lib/oe/cachedpath.py', lineno: 231, function: realpath
0227: if e.errno == errno.ELOOP:
0228: # make ELOOP more readable; without catching it, there will
0229: # be printed a backtrace with 100s of OSError exceptions
0230: # else
*** 0231: raise OSError(errno.ELOOP,
0232: "too much recursions while resolving '%s'; loop in '%s'" %
0233: (file, e.strerror))
0234:
0235: raise
Exception: OSError: [Errno 40] too much recursions while resolving '/OE/build/poky/build/tmp/work/qemuarm-poky-linux-gnueabi/u-boot/2023.10/package/boot/MLO'; loop in '/OE/build/poky/build/tmp/work/qemuarm-poky-linux-gnueabi/u-boot/2023.10/package/boot/MLO'
ERROR: Logfile of failure stored in: /OE/build/poky/build/tmp/work/qemuarm-poky-linux-gnueabi/u-boot/2023.10/temp/log.do_package.3990391
[YOCTO #12937]
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
|
|
BB_SETSCENE_ENFORCE_IGNORE_TASKS
* otherwise populate_sdk_ext task will fail as shown e.g. with:
bitbake core-image-minimal -c populate_sdk_ext
esdk.oeSDKExtSelfTest.test_image_generation_binary_feeds
esdk.oeSDKExtSelfTest.test_install_libraries_headers:
ERROR: Task linux-yocto.do_deploy_links attempted to execute unexpectedly
Task tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0/sdk-ext/image/tmp-renamed-sdk/layers/poky/meta/recipes-core/images/core-image-minimal.bb:do_image_qa, unihash 9d177d4c6ca34e68e19b1bc23deec58c3eabe5f9d5808f90402161163a73f22f, taskhash 9d177d4c6ca34e68e19b1bc23deec58c3eabe5f9d5808f90402161163a73f22f
Task tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0/sdk-ext/image/tmp-renamed-sdk/layers/poky/meta/recipes-core/images/core-image-minimal.bb:do_image_complete, unihash 0aff4dcbdb3c5ca68e0ebb39457fbe86beb3482986ddfe0b0b6fc0386807edbf, taskhash 0aff4dcbdb3c5ca68e0ebb39457fbe86beb3482986ddfe0b0b6fc0386807edbf
This is usually due to missing setscene tasks. Those missing in this build were: {'tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0/sdk-ext/image/tmp-renamed-sdk/layers/poky/meta/recipes-core/images/core-image-minimal.bb:do_image_complete',
'tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0/sdk-ext/image/tmp-renamed-sdk/layers/poky/meta/recipes-core/images/core-image-minimal.bb:do_image_qa'}
ERROR: Task (tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0/sdk-ext/image/tmp-renamed-sdk/layers/poky/meta/recipes-kernel/linux/linux-yocto_6.5.bb:do_deploy_links) failed with exit code 'setscene ignore_tasks'
NOTE: Tasks Summary: Attempted 4975 tasks of which 4971 didn't need to be rerun and 1 failed.
Summary: 1 task failed:
tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0/sdk-ext/image/tmp-renamed-sdk/layers/poky/meta/recipes-kernel/linux/linux-yocto_6.5.bb:do_deploy_links
Summary: There was 1 WARNING message.
Summary: There was 1 ERROR message, returning a non-zero exit code.
ERROR: Logfile of failure stored in: tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0/temp/log.do_populate_sdk_ext.2280835
NOTE: recipe core-image-minimal-1.0-r0: task do_populate_sdk_ext: Failed
ERROR: Task (/OE/build/poky/meta/recipes-core/images/core-image-minimal.bb:do_populate_sdk_ext) failed with exit code '1'
NOTE: Tasks Summary: Attempted 6211 tasks of which 6147 didn't need to be rerun and 1 failed.
Summary: 1 task failed:
/OE/build/poky/meta/recipes-core/images/core-image-minimal.bb:do_populate_sdk_ext
Summary: There was 1 ERROR message, returning a non-zero exit code.
[YOCTO #12937]
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
|
|
* it was removing only destination symlinks, but sometimes hardlink might be regenerated
as well, e.g. in oeqa test wic.Wic.test_permissions which was failing with:
NOTE: recipe core-image-minimal-1.0-r0: task do_image_wic: Started
ERROR: core-image-minimal-1.0-r0 do_image_wic: Error executing a python function in exec_func_python() autogenerated:
The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_func_python() autogenerated', lineno: 2, function: <module>
0001:
*** 0002:create_hardlinks(d)
0003:
File: '/OE/build/poky/meta/classes-recipe/image.bbclass', lineno: 606, function: create_hardlinks
0602: if os.path.exists(src):
0603: bb.note("Creating hardlink: %s -> %s" % (dst, src))
0604: if os.path.islink(dst):
0605: os.remove(dst)
*** 0606: os.link(src, dst)
0607: else:
0608: bb.note("Skipping hardlink, source does not exist: %s -> %s" % (dst, src))
0609:}
0610:
Exception: FileExistsError: [Errno 17] File exists: 'tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0/deploy-core-image-minimal-image-complete/core-image-minimal-qemux86-64.rootfs.wic' -> 'tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0/deploy-core-image-minimal-image-complete/core-image-minimal-qemux86-64.rootfs--1.0-r0-20110405230000.wic'
[YOCTO #12937]
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
|
|
* avoid couple of get_bb_var calls and use get_bb_vars instead
* use KERNEL_FIT_LINK_NAME instead of assuming it's MACHINE as e.g.:
machine = get_bb_var('MACHINE')
fitimage_its_path = os.path.join(deploy_dir_image,
"fitImage-its-%s-%s-%s" % (image_type, machine, machine))
* be aware that KERNEL_FIT_LINK_NAME can still be set to empty
and then this oeqa check would fail again, because this hardlink:
ln -vf $deployDir/fitImage-its-${INITRAMFS_IMAGE_NAME}${KERNEL_FIT_NAME}.its "$deployDir/fitImage-its-${INITRAMFS_IMAGE_NAME}${KERNEL_FIT_LINK_NAME}"
wouldn't be created and also with KERNEL_FIT_LINK_NAME the
PKGV in kernel recipe looks differently in the final kernel
artifact and KERNEL_FIT_LINK_NAME e.g.:
AssertionError: False is not true:
tmp/deploy/images/beaglebone-yocto/fitImage-its-core-image-minimal-initramfs-beaglebone-yocto-beaglebone-yocto--6.1.20+git-r0-20230318024804 image tree source doesn't exist
because it's actually named with SRCPV expanded:
tmp/deploy/images/beaglebone-yocto/fitImage-its-core-image-minimal-initramfs-beaglebone-yocto-beaglebone-yocto--6.1.20+git0+29ec3dc6f4_423e199669-r0-20230318024804
Use KERNEL_FIT_NAME instead of KERNEL_FIT_LINK_NAME but then we would
need to add .its extension to expected filenames as well, but in previous
commit I've added KERNEL_FIT_ITS_EXT variable and used it for links as well.
But this doesn't apply for u-boot-its* files which don't use any extension.
[YOCTO #12937]
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
|
|
* the filename is constructed as:
meta/classes-recipe/image.bbclass: d.appendVar('IMAGE_NAME','-dbg')
and IMAGE_LINK_NAME adds ${IMAGE_VERSION_SUFFIX} _after_ this
[YOCTO #12937]
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
|
|
IMAGE_LINK_NAME
* the filename is constructed as:
meta/classes-recipe/image.bbclass: d.appendVar('IMAGE_NAME','-dbg')
and IMAGE_LINK_NAME adds ${IMAGE_VERSION_SUFFIX} _after_ this
[YOCTO #12937]
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
|
|
* now with IMAGE_LINK_NAME defined based on IMAGE_NAME we don't want to
append -dbg to IMAGE_NAME and then again to IMAGE_LINK_NAME
* this resulted in filename like:
core-image-minimal-qemux86-64.rootfs-dbg--1.0-r0-20110405230000-dbg.tar.bz2
[YOCTO #12937]
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
|
|
* fixes containerimage.ContainerImageTests.test_expected_files oeqa test failing with:
Initialising tasks...ERROR: Task do_build in
/OE/build/poky/build-st/meta-selftest/recipes-test/container-image/container-test-image.bb
depends upon non-existent task do_deploy_links in
/OE/build/poky/meta/recipes-kernel/linux/linux-dummy.bb
[YOCTO #12937]
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
|
|
* with [YOCTO #12937] changes the manifest is hardlink not symlink
* fixes:
2023-11-18 23:48:55,695 - oe-selftest - INFO - ... FAIL
2023-11-18 23:48:55,696 - oe-selftest - INFO - Traceback (most recent call last):
File "/OE/build/poky/meta/lib/oeqa/core/decorator/__init__.py", line 35, in wrapped_f
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/OE/build/poky/meta/lib/oeqa/selftest/cases/wic.py", line 836, in test_wic_image_type
self.assertTrue(os.path.islink(path), msg="Link %s wasn't generated as expected" % path)
AssertionError: False is not true : Link tmp/deploy/images/qemux86-64/wic-image-minimal-qemux86-64.rootfs--1.0-r0-20110405230000.wic wasn't generated as expected
|
|
islink()
* with [YOCTO #12937] changes the manifest is hardlink not symlink
* fixes:
2023-11-16 00:16:33,967 - oe-selftest - INFO - test_image_manifest (bbtests.BitbakeTests.test_image_manifest)
2023-11-16 00:19:05,060 - oe-selftest - INFO - ... FAIL
2023-11-16 00:19:05,060 - oe-selftest - INFO - Traceback (most recent call last):
File "/OE/build/poky/meta/lib/oeqa/selftest/cases/bbtests.py", line 139, in test_image_manifest
self.assertTrue(os.path.islink(manifest), msg="No manifest file created for image. It should have been created in %s" % manifest)
AssertionError: False is not true : No manifest file created for image. It should have been created in /OE/build/poky/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.rootfs--1.0-r0-20110405230000.manifest
[YOCTO #12937]
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
|
|
SOURCE_DATE_EPOCH
* since https://git.openembedded.org/openembedded-core/diff/meta/classes/image-artifact-names.bbclass?id=abb0671d2cebfd7e8df94796404bbe9c7f961058
which removed the
bb.data.inherits_class('reproducible_build', d)
condition this was already applied in all the builds which used DATETIME, so we
can move it to the default value directly and DISTRO configs than can choose
to use IMAGE_VERSION_SUFFIX_DATETIME as they want
[YOCTO #12937]
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
|
|
* to make it more clear what this postfunc does now
[YOCTO #12937]
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
|
|
* rename variables to match the conventions used in kernel and image recipes
* use versioned hardlinks as kernel and image recipes, but don't split
the do_deploy_links task (can be split later).
[YOCTO #12937]
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
|
|
* for consistency with the names
[YOCTO #12937]
|
|
* the linux.bin was deployed as:
fitImage-linux.bin${KERNEL_FIT_NAME}${KERNEL_FIT_BIN_EXT}
where KERNEL_FIT_BIN_EXT is the 2nd ".bin"
* add the${KERNEL_FIT_BIN_EXT} also to corresponding links:
fitImage-linux${KERNEL_FIT_LINK_NAME}${KERNEL_FIT_BIN_EXT}
[YOCTO #12937]
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
|
|
* this matches how IMAGE_MACHINE_SUFFIX works and we can use
that for the default value
* allows to set IMAGE_MACHINE_SUFFIX to empty for people
who prefer to keep MACHINE name only in the directory name
otherwise there would be a stray dash in:
lrwxrwxrwx 2 martin martin 12 Nov 18 13:25 bzImage -> bzImage-.bin
-rw-r--r-- 2 martin martin 12M Nov 18 13:25 bzImage-.bin
-rw-r--r-- 2 martin martin 182M Nov 18 13:25 modules-.tgz
if you set
KERNEL_ARTIFACT_NAME = ""
[YOCTO #12937]
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
|
|
variables to empty
* they can be disabled individually by setting *_LINK_NAME
to empty or disable them all by setting IMAGE_VERSION_SUFFIX
to empty (making them equal to *_NAME variables)
There are couple *_LINK_NAME variables:
IMAGE_LINK_NAME = ""
KERNEL_IMAGE_LINK_NAME = ""
KERNEL_DTB_LINK_NAME = ""
KERNEL_FIT_LINK_NAME = ""
MODULE_TARBALL_LINK_NAME = ""
INITRAMFS_LINK_NAME = ""
or
IMAGE_MACHINE_SUFFIX = ""
IMAGE_NAME_SUFFIX = ""
IMAGE_VERSION_SUFFIX = ""
to have really the minimal filenames:
$ ls tmp/deploy/images/qemux86-64/
bzImage core-image-minimal.manifest core-image-minimal.tar.bz2
bzImage-qemux86-64.bin core-image-minimal.qemuboot.conf core-image-minimal.testdata.json
core-image-minimal.ext4 core-image-minimal.spdx.tar.zst modules-qemux86-64.tgz
and to remove MACHINE name from kernel artifacts as well
(if you prefer the MACHINE name in directory only), you can set:
KERNEL_ARTIFACT_NAME = ""
[YOCTO #12937]
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
|
|
[YOCTO #12937]
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
|
|
hard links
* instead of versioned artifacts and version-less symlinks
* We used to create the actual artifact files with some version
in the filename and then created symlink without any version
which was updated to point to the latest one created.
In some scenarios it's useful to create all artifacts - typically
rootfs and kernel images with the same version - like release
build even when the kernel itself wasn't modified since the
previous release.
If we include the release version in the regular _NAME variables
then we'll need to re-run do_deploy and do_image which will cause
kernel to be rebuilt and image to be re-created even when the
only change since last build was the version number.
With this change we can re-use kernel and image from sstate when
nothing was changed and run only very fast do_deploy_links task
which just adds another hard link to existing artifact from
sstate.
* This is already used by various LGE builds as do_webos_deploy_fixup()
https://github.com/webosose/meta-webosose/blob/master/meta-webos/classes/webos_deploy.bbclass
but injecting this task in all the right places is difficult
and sometimes requires whole bbclass to be duplicated. Having
simpler way of versioning artifacts directly in oe-core might
be useful for others.
* move IMAGE_VERSION_SUFFIX from _NAME variables to _LINK_NAME
that way e.g. kernel.do_deploy can be reused from sstate to
provide "version-less" artifacts and then very fast
do_deploy_links task just adds links with consistent suffixes
(by default the version from the recipe but could be easily set
to e.g. some release name when building some products).
* create hard links instead of symlinks, so that whatever version
the filename says is really there
* some IMAGE_FSTYPES might need the "version-less" IMAGE_NAME file
to be removed first or they might either append or update the
content of the image instead of creating new image file from
scratch - I have seen this only with one proprietary format we
generate with our own tool, so hopefully this isn't very common
* this is basically the mechanism are using in webOS with
WEBOS_IMAGE_NAME_SUFFIX which is for official builds set from
jenkins job and then all artifacts (images as well as corresponding
kernel files) have the same version string)
* without this, you can still easily set the variables to contain
the version from jenkins job (excluded from sstate signature like
DATETIME currently is to prevent rebuilding it everytime even when
the content didn't change) but then when kernel is reused from sstate
you can have version 1.0 used on kernel artifacts and 2.0 on image
artifacts.
* if you don't exclude the version string with vardepsexclude, then
you get the right version in the filenames but for cost of
re-executing do_deploy every single time, which with rm_work will
cause all kernel tasks to be re-executed (together with everything
which depends on it like external modules etc).
* the implementation "from outside" is a bit tricky as shown in webOS
OSE, because first you need to reverse the meaning of IMAGE_NAME
and IMAGE_LINK_NAME like here, but also replace all symlinks with
hardlinks and then adjust all recipes/bbclasses to depend on our
do_deploy_fixup task instead of the original do_deploy
see the variable modifications:
https://github.com/webosose/meta-webosose/blob/a35e81622aae1066591e44a132d01297ff478248/meta-webos/conf/distro/include/webos.inc#L65
and then various bbclasses to hook do_webos_deploy_fixup task creating
the hardlinks for possible artifacts:
https://github.com/webosose/meta-webosose/blob/a35e81622aae1066591e44a132d01297ff478248/meta-webos/classes/webos_deploy.bbclass
https://github.com/webosose/meta-webosose/blob/a35e81622aae1066591e44a132d01297ff478248/meta-webos/classes/kernel.bbclass
https://github.com/webosose/meta-webosose/blob/a35e81622aae1066591e44a132d01297ff478248/meta-webos/classes/image.bbclass
so hopefully with all these changes in oe-core other project can
achieve the same just by setting one variable IMAGE_VERSION_SUFFIX
* drop ${PKGE}-${PKGV}-${PR} from kernel artifacts names (this is the
latest build) and add it only in hardlinks created in do_deploy_links
so that we can use PKGR there again (because these links are generally
used only by human operators and they don't have their own TASKHASH or
the IMAGE_VERSION_SUFFIX might be set to some release name which they
do understand
* this allows to drop package_get_auto_pr from kernel do_deploy as well,
leaving only 2 EXTENDPRAUTO bumps for each kernel build (do_package
and do_deploy_links, unfortunatelly these will still have different
value, so if you're looking for the exact kernel image in deploy
directory based on kernel image package version seen on the device the
EXTENDPRAUTO part of PR will be different).
[YOCTO #12937]
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
|
|
Upstream consider the behaviour described in this CVE as intentional,
and provide an option to stop it.
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
There were two different interpreter lengths in use, make them match.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The variable uninative_checksum is returned without being set, causing a
build error. Set it to None by default instead.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Its needed to run libteam ptests
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
There are potential security issues from using pre-generated host keys. We made
the recipe available for autobuilder testing purposes but concerns remain about
how easily this could end up in production.
I thought we'd already done this, but limit the recipe to qemu* machines,
which means any real hardware trying to use it will need to be a bit more
explicit about it and specifically enable it.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Specifically, remove four things:
- get_subject_prefix(): This function is only being used once (in the next
function found in the module), so remove it for easier
comprehension/maintenance.
- exec_cmd: the backend for executing a custom command
- exec_cmds: for running multiple calls to exec_cmd
- CmdException: A custom exception class specifically for exec_cmd
These are only used to execute git commands, but GitPython can be used
to handle all of that more efficiently, so remove them.
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Update the test file to target a more stable README file.
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The repo module currently uses a custom _exec() function in order to run
various git commands as part of the patchtest setup/test process. These
can more efficiently be done with the GitPython module, so use that
instead and reduce the amount of custom code to be maintained for
patchtest in the process. Some specifics replaced using GitPython:
- get branch list
- use repo.active_branch to determine current branch
- use execute() for checkout, merge check, abort, rev-parse, reset
The _exec() function is removed entirely with this change.
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
GitPython provides some simple utilities for retrieving repo
configurations that can replace the manual work that patchtest currently
does. Add it to the requirements so that the source can make use of it.
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
With these versions, which need to be updated in lockstep, upstream has
relocated glib introspection data from g-i tree to glib tree and made
its generation a part of the overall glib build. This creates a circular
dependency, where g-i tools are linked with glib, but glib needs the tools
to build its g-i data. (I don't know why the two source trees
couldn't be simply merged into one, or g-i data for glib couldn't be generated
inside g-i build against sysroot glib).
Upstream is suggesting building glib twice, first without building g-i data,
then building g-i and linking it with that version, then building
the final glib, and that's what is being done here (via the new
glib-initial recipe, which is sysroot-only, and is not pulled in
via indirect dependencies either).
Other glib changes:
0001-Do-not-write-bindir-into-pkg-config-files.patch restores
writing bindir variable into glib.pc file (meson only writes
it out if other variables depend on it, and this custom patch
removes that dependency).
0001-girepository-introspection-correctly-install-.gir-fi.patch
ensures correct installation of .gir into something else
than $datadir (useful in multilib).
Merge previous glib .bb into .inc, so that glib and glib-initial
recipes could be cleanly separated with no duplication.
Convert from gtk-doc to gi-docgen, and manpages from xmlto to
docutils.
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
If S doesn't exist, do_qa_patch would fail. Fix the code to not fail
in this situation.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
There is a build race where the libportal.vapi is not always generated
before it is needed to build libportal-gtk*.vapi. Backport the fix from
upstream.
[ YOCTO #15479 ]
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The chosen payload compression algorithm can be changed by overriding
`OPKGBUILDCMD`. Ensure that package extraction deals with this by
globbing for "data.tar.*" to select the actual payload tarball.
Signed-off-by: Philip Lorenz <philip.lorenz@bmw.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
zip's configure fails to link this piece of test code:
int main() { return closedir(opendir(".")); }
with GCC-14 because it now treats implicit declaration of function
as error, unline older GCC version where it was just a warning
and this test would build fine.
Remove 0002-unix.c-Do-not-redefine-DIR-as-FILE.patch which
is now unnecessary.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
locale-base-en-us is available on musl as well therefore, not need
to make it glibc specific anymore.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
work arounds for:
oe-core/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb:do_compile
oe-core/meta/recipes-connectivity/connman/connman-gnome_0.7.bb:do_compile
oe-core/meta/recipes-support/libfm/libfm_1.3.2.bb:do_compile
http://errors.yoctoproject.org/Errors/Build/183127/
More fixes on ML (especially for -native with gcc-14 on host)
cdrtools: https://lists.openembedded.org/g/openembedded-core/message/198899
syslinux: https://lists.openembedded.org/g/openembedded-core/message/198901
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This fixes ptest failures on 32bit architectures
AssertionError:
Failed ptests:
{'python3': ['test_extractall_none_gid',
'test_extractall_none_gname',
'test_extractall_none_mode',
'test_extractall_none_mtime',
'test_extractall_none_uid',
'test_extractall_none_uname',
'setUpClass',
'python3']}
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Overview of Changes in 4.14.4, 02-05-2024
=========================================
* GtkGraphicsOffload:
- Don't crash without a child
* Icontheme:
- Make symbolic svg loading more efficient
- Handle color-free symbolics more efficiently
* Accessibility:
- Make the gtk-demo sidebar search more accessible
- Stop emitting focus events
* GDK:
- Support XDG_ACTIVATION_TOKEN
- dmabuf: Be more defensive when importing unknown formats to G
- dmabuf: Use narrow range for YUV
* GSK:
- gpu: Handle tiny offscreens correctl
* Build:
- Fix many ubsan warning
* macOS
- Fix problems with events handed back to the OS
- Respect GDK_DEBUG=default-settings
* Translation updates:
German
Indonesian
Kabyle
Korean
Lithuanian
Russian
Overview of Changes in 4.14.3, 18-04-2024
=========================================
* GtkShortcutManager:
- Track the propagation phase of added controllers
* Accessibility:
- Implement GtkAccessibleRange for scrollbars
* X11:
- Fix some confusing debug messages
- Drop a no-longer-relevant optimization that was interfering with
getting the current window manager capabilities
* Tools:
- Support generating pdf in gtk4-rendernode-tool
* Translation updates:
Basque
Brazilian Portuguese
Georgian
Hebrew
Kabyle
Persian
Polish
Slovenian
Swedish
Ukrainian
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|