Age | Commit message (Collapse) | Author |
|
* 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>
|
|
When debug build is enabled(-Og is used), vulkan-samples do_compile
failed with error:
In function 'ZSTD_compressBlock_lazy_generic',
inlined from 'ZSTD_compressBlock_greedy' at TOPDIR/tmp-glibc/work/core2-32-wrs-linux/vulkan-samples/git/git/third_party/ktx/lib/basisu/zstd/zstd.c:21914:12:
TOPDIR/tmp-glibc/work/core2-32-wrs-linux/vulkan-samples/git/git/third_party/ktx/lib/basisu/zstd/zstd.c:21551:30: error: inlining failed in call to 'always_inline' 'ZSTD_HcFindBestMatch_selectMLS': function not considered for inlining
| FORCE_INLINE_TEMPLATE size_t ZSTD_HcFindBestMatch_selectMLS (
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TOPDIR/tmp-glibc/work/core2-32-wrs-linux/vulkan-samples/git/git/third_party/ktx/lib/basisu/zstd/zstd.c:21736:32: note: called from here
| size_t const ml2 = searchMax(ms, ip, iend, &offsetFound);
Refer [1], always_inline is not suggested to use with indirect function
call, replace always_inline with inline to fix the issue
[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107931
Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The location of files changed during unpackdir transition. Adapt dirs
to fix custom icu data generation.
Signed-off-by: Stefan Müller-Klieser <s.mueller-klieser@phytec.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The current pciutils does not have this textrel problem any more.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
It does not always make sense to collect artifacts and data from the
target on failure, e.g. if testing firmware or if the target is not
running an SSH server.
Allow this by setting TESTIMAGE_FAILED_QA_ARTIFACTS to an empty
value.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
* the hdparm license text was added in:
https://git.openembedded.org/openembedded-core/commit/?id=e9c1f48af10ccb58251ecc7e041babb99b94d6df
and now the NO_GENERIC_LICENSE was causing:
ERROR: hdparm-9.65-r0 do_populate_lic: QA Issue: hdparm: hdparm is a generic license, please don't use NO_GENERIC_LICENSE for it. [license-no-generic]
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
new URL for sources: http://ftp.midnight-commander.org/
Signed-off-by: Benjamin Szőke <egyszeregy@freemail.hu>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Mitigate occurrences where ':append' operator is used and leading
whitespace character is obviously missing, risking inadvertent
string concatenation.
Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
individual copies
Fixes [YOCTO 15536]
The postactions retrieval actions currently rely on scp executed
individually on any file or directory expanded from
TESTIMAGE_FAILED_QA_ARTIFACTS. Unfortunately, symlinks are not preserved
with this mechanism, which lead to big storage space consumption. Things
may go even worse if those symlinks create some circular chains. This
mechanism then needs to be updated to preserve symlinks instead of
following them during copy. There are multiple ways to do it:
- create a local archive on the target and execute scp on this file
- use rsync instead of scp for all files
- create an archive and pipe it to ssh instead of storing it onto the
target
The first solution may create pressure on targets storage space, while the
second assumes that rsync is installed on the target, which may not be
true. So the third one is a compromise: tar is very likely present, at
least through busybox, and no disk space is used on the target.
Replace the current per-file scp call by a single call to tar run on the
target. Retrieve the generated compressed archive directly from SSH output,
and feed it to another tar process but on host, to uncompress and extract
it at the same place as before.
Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The ssh target is currently well tailored to easily retrieve textual output
from a command run on a remote target. It could also be used to retrieve
raw data from a command run onto a remote target (for example, to feed this
data directly to another program), but it currently suffers two minor
issues preventing such use case:
- stderr is piped to stdout, so any error log will be mixed in the program
output
- the final output is decoded as utf-8 and stripped
Allow to return the raw, unmodified output by adding an optional "raw"
parameter. Keep it to False by default to preserve the current behavior.
When enabled, do not return a string but the raw output as bytes.
Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
When debug build is enabled(-Og is used), pixman-native do_compile
failed with error:
In function ‘combine_inner’,
inlined from ‘combine_soft_light_ca_float’ at ../pixman-0.42.2/pixman/pixman-combine-float.c:655:1:
../pixman-0.42.2/pixman/pixman-combine-float.c:370:5: error: inlining failed in call to ‘always_inline’ ‘combine_soft_light_c’: function not considered for inlining
370 | combine_ ## name ## _c (float sa, float s, float da, float d)
Refer [1], always_inline is not suggested to use with indirect function
call, replace always_inline with __inline__ to fix the issue
[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107931
Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
if IMAGE_LINK_NAME is set empty to disable the symlinking
for image artifacts in deploy, testexport fails, as the path assembly
is incorrect.
In that case fallback to IMAGE_NAME
Signed-off-by: Konrad Weihmann <kweihmann@outlook.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
- refresh patches with devtool
Upgrade to latest 1.22.x release [1]:
$ git --no-pager log --oneline go1.22.4..go1.22.5
8e1fdea831 (tag: go1.22.5, origin/release-branch.go1.22) [release-branch.go1.22] go1.22.5
c2d4f852ce [release-branch.go1.22] cmd/link: handle dynamic import variables on Darwin in plugin mode
3222951439 [release-branch.go1.22] net/http: send body or close connection on expect-100-continue requests
ceaf26ecce [release-branch.go1.22] cmd/compile: mark pointer to noalg type as noalg
dfe4dbf8c0 [release-branch.go1.22] os/exec: on Windows look for extensions in Run if not already done
3560cf0afb [release-branch.go1.22] runtime: always update stack bounds on cgocallback
5159a7193a [release-branch.go1.22] cmd/compile: put constants before variables in initialization order
11b861e459 [release-branch.go1.22] go/types, types2: report error for floating-point iteration variable
81fc616267 [release-branch.go1.22] crypto/tls: don't call tlsrsakex.IncNonDefault with FIPS
14f0251867 [release-branch.go1.22] cmd/cgo/internal/swig: force use of lld for LTO tests on the builders
ab60a7bc18 [release-branch.go1.22] cmd/cgo/internal/testsanitizers: make the libfuzzer tests all short
4c97e883b5 [release-branch.go1.22] cmd/link: put runtime.end in the last section of data segment
179ccb7042 [release-branch.go1.22] cmd/go: fix go list -u -m all with too new retractions dependency
fe9b3c3399 [release-branch.go1.22] net: add GODEBUG=netedns0=0 to disable sending EDNS0 header
b515c5208b [release-branch.go1.22] go/internal/gccgoimporter: recognize "any" as a builtin type
[1] https://github.com/golang/go/compare/go1.22.4...go1.22.5
Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
With the retry for the -SIGTERM, it is possible to still see that error
after the 5th attempt and mark the run a success. Check for any
non-zero status in the final check and error out to close the gap.
While there, make the error print match the one above and be a little
more verbose. Also, I'm seeing it take roughly 6 attempts on my local
(very slow) system to pass. So, increasing the number of attempts to
10.
Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The recent pkgconfig change and subsqeuent fixes have left the hash equivalence
server in a corrupted state with hashes linking the changes beofore and after
the pkgconfig change, breaking reproducibile builds.
Bump the appropriate version numbers to allow us to move on and avoid
build failures and corrupt equivalence data now the underlying issue
was fixed.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Release notes
libinput 1.26.1 is now available. A few semi-exciting things, the rest the usual bugfixes you'd expect for a point release.
Touchpads now special-case Shift for disable-while-typing, so typing keys with shift down will trigger DWT.
Tablets can now be calibrated if libwacom says the tablet is a display tablet. The hid-uclogic kernel driver doesn't
set INPUT_PROP_DIRECT so any device handled by that driver didn't have calibration available. Fixed now, provided
your tablet is recognised by libwacom.
The direction of the first tablet pad relative dial was fixed, it was upside-down.
Our debugging tools now support --set-pressure-range for the new tablet tool pressure range configuration added in
1.26 and --set-calibration for the calibration matrix that's been around for a while. The libinput debug-tablet tool
now also supports all commandline options that debug-events and debug-gui support.
And of course a varied assortment of device specific quirks and fixes.
Release notes
libinput 1.26.0 is now available. It's been a while since the last release but we have a few notable changes in here:
Touchpads can now configure a clickfinger button map, so you can change whether two- or three-finger click means a
right or middle click. See libinput_device_config_click_set_clickfinger_button_map
Tablet pads now have an API for relative dials. These are typically wheel-like (e.g. Huion Inspiroy 2) or ring-like
(e.g. Huion Inspiroy Dial 2) physical devices that send REL_WHEEL and REL_HWHEEL. libinput now provides these via
libinput_event_tablet_pad_get_dial_delta_v120() in much the same manner as the v120-based scroll wheel API.
A new configuration option for tablet tools allow reducing the available logical range. This is useful for users that
want the tool to register only when some physical pressure value is reached, or to reduce the maximum amount of pressure
needed to reach the logical maximum pressure. See libinput_tablet_tool_config_pressure_range_set() and friends.
Tablet tools can now use BTN_STYLUS3 too and tablet pad strip support should now work for non-Wacom devices, where the
kernel driver implements it.
Huion tablets (well, and all vendors that use the 256C vendor id) now have a fallback resolution set. This is going to
be wrong on most devices but at least it will make those tablets work out of the box, instead of failing with the "missing
tablet capabilities: resolution" log message.
And of course a varied assortment of device specific quirks and fixes.
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
We're seeing reproducibility failures where some packages don't appear
in the "from sstate" builds. The common factor is these are all recipes
with PROVIDES = "virtual/XXX".
In a full build from scratch, these are build but in a build from sstate,
there are situations where they aren't. For now, to try and keep builds
working, work around the problem until we can better look into the problem.
It is likely recent taskhash imrovements have caused this to occur more
regularly.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
sshd(8) in Portable OpenSSH versions 8.5p1 to 9.7p1 (inclusive).
Race condition resulting in potential remote code execution.
A race condition in sshd(8) could allow remote code execution as root on non-OpenBSD systems.
This attack could be prevented by disabling the login grace timeout (LoginGraceTime=0 in sshd_config)
though this makes denial-of service against sshd(8) considerably easier.
For more information, please refer to the release notes [1] and the
report from the Qualys Security Advisory Team [2] who discovered the bug.
[1] https://www.openssh.com/txt/release-9.8
[2] https://www.qualys.com/2024/07/01/cve-2024-6387/regresshion.txt
References:
https://www.openssh.com/security.html
Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Ensure we show the failing exit code in case of failures.
We're seeing autobuilder failures with -15 (SIGTERM) which is probably from
slow boot/init. Retry in these cases for now.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The qemuboot.conf file contains the realpath of the kernel image
referenced by QB_DEFAULT_KERNEL. So, it must be recreated in case the
realpath of the referenced kernel image changes.
The variables KERNEL_IMAGE_NAME and KERNEL_IMAGE_BIN_EXT determine the
realpath of the kernel image relative to DEPLOY_DIR_IMAGE. Adding both of
them to the vardeps of the write_qemuboot_conf task triggers the
write_qemuboot_conf task in case the realpath of the kernel image
referenced by QB_DEFAULT_KERNEL changes.
Fixes: [YOCTO 15525]
Signed-off-by: "Weisser, Pascal" <pascal.weisser.ext@karlstorz.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
ChangeLog:
https://www.greenwoodsoftware.com/less/news.661.html
License-Update: Update copyright year to 2024
Add perl-module-file-basename to ptest runtime dependency.
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Fix some simple typos found while looking through the code.
Signed-off-by: Ulrich Ölmann <u.oelmann@pengutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This was added in the upgrade to 4.19[1] which included three patches
that were taken from the series at [2].
What merged was the second iteration of this series[3] which dropped the
install_headers patch, so we can drop this obsolete patch.
[1] oe-core 11f02b7c6f9854eecd3a49ea47833c8cbffb1581
[2] https://lore.kernel.org/linux-arm-kernel/1544556407-19897-1-git-send-email-Dave.Martin@arm.com/
[3] https://lore.kernel.org/linux-arm-kernel/1546607391-3850-1-git-send-email-Dave.Martin@arm.com/
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
ChangeLog:
https://github.com/libsdl-org/SDL/releases/tag/release-2.30.4
This is a stable bugfix release, with the following changes:
* Android rotation will respect user rotation lock preferences
* Fixed spurious Left-Ctrl key input when the Right Alt key (AltGr) is
pressed on Windows
* Added support for the Saitek Cyborg V.3 Rumble Pad in PS3 mode
* Added support for the Razer Kitsune in PS5 mode
* Added Linux bindings for the Qanba Drone 2 Arcade Joystick
* Leave Nintendo Online controllers in simple report mode so they work
with DirectInput games
* Enable using libusb for GameCube controllers when available
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
python2 has been deprecated, use python3 instead.
Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
when compiling a non native variant, latest update
introduced package-qa errors like
ERROR: QA Issue: .../docutils/utils/smartquotes.py contained in package
nativesdk-python3-docutils requires /usr/bin/python3, but no providers
found in RDEPENDS:nativesdk-python3-docutils? [file-rdeps]
Fix that by patching the interpreter lines after install
Signed-off-by: Konrad Weihmann <kweihmann@outlook.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Fixes bug 15464.
OECORE_NATIVE_SYSROOT is correctly set up and exported in the SDK's
environment file. But it's then unset in buildtools/environment-setup-*.
The value is restored in the SDK's environment file but is not exported
again.
Signed-off-by: Gauthier HADERER <ghaderer@wyplay.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Generated documentation (html) contain absolute paths cources
using buildpaths warnings.
Replace them with relative links.
The file with root path to sources is in my build
/usr/share/doc/flac/api/dir_c122f5d6544f32779f55e8358fb78605.html
which does not looks as stable name, so replace it in all files.
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Allow selection of host key types used by openssh via PACKAGECONFIG.
Any combination of hostkey-rsa, hostkey-ecdsa and hostkey-ed25519 can be
specified. Default to just generating ecdsa keys.
The current default generates all three keys. This can take a
significant amount of time on first boot. Having all three keys does not
significantly increase compatability. Also RSA keys are being deprecated
as they are no longer considered secure. Using just an ecdsa key reduces
key generation time by roughly 75%.
Signed-off-by: Matthew Bullock <mbullock@thegoodpenguin.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
On exceptionally slow systems, the ssh test can intermittently fail due
to a race between when ping works and the networking applications being
brought up. To work around this issue, add some retry logic when ssh
fails to connect. According to the man page of ssh, "ssh exits
with the exit status of the remote command or with 255 if an error
occurred." So, only retry if the return code is 255, and limit the
number of retries to prevent it looping forever.
Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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.
It is difficult to control -O1 for cipher and -O0 for random
at the same time in OE environment along with patch file.
So, keeping same change as it is.
Signed-off-by: simit.ghane <simit.ghane@lge.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|