Now that the go-mod-update-modules class exists, this Go handler can
create a stub recipe and then proxy the module handling to the class.
(From OE-Core rev: 0aa406d0582d32399c48dfa78f24adc75696112c)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Almost entirely based on the create_go.py module for recipetool by
Christian Lindeberg <christian.lindeberg@axis.com>, this instead has the
logic inside a class that can be used to update the list of Go modules
that are used, both SRC_URI and LICENSE.
Integration with devtool upgrade will come shortly, but it needs a bit
more work.
(From OE-Core rev: 34bb889ffaae15f89c5627610826b498697c51f2)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This function, to tidy a license string, is useful outside of recipetool
so move it to oe.license.
(From OE-Core rev: 9d57b53169bc60b281510c49e54123941a17a8f5)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Use the go-mod bbclass together with the gomod fetcher instead of the
go-vendor bbclass.
(From OE-Core rev: 42b46ab3b92a4f011592e8efcedead075731b8bd)
Signed-off-by: Christian Lindeberg <christian.lindeberg@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When creating a recipe there can be cases where there is a class that
does some of the recipe creation (such as cargo-update-recipe-crates).
To avoid duplication of code, look for run_task assignments in the
extravalues dictionary returned by the handler, and if it is set then
call that task after writing the recipe.
(From OE-Core rev: 629184de671cf7b86fe95fcce788dffcc3a4da8a)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Adapt to the recent move of S from ${WORKDIR} to ${UNPACKDIR}.
(From OE-Core rev: 5f8218c62637208259a94979fe9a8a9b672e4ea4)
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit brings in `dosfstools` patches to make `fsck.vfat` exit
codes adhere to the standard exit codes defined by `fsck`. See [1].
These will fix the interaction of `fsck.vfat` with other tools like
`systemd-fsck` which expect the exit codes to be in line with the
standard [2].
However, as of today the dosfstools maintainer(s) are invisible for over
a year [3]. Thus, if upstream ever becomes active again, these patches
should be reassessed.
[1] https://github.com/dosfstools/dosfstools/issues/89
[2] https://man7.org/linux/man-pages/man8/systemd-fsck@.service.8.html
[3] https://github.com/dosfstools/dosfstools/issues/210
(From OE-Core rev: d344a9d806b0a3ec1d14fe810c37592775075e9b)
Signed-off-by: Ricardo Simoes <ricardo.simoes@pt.bosch.com>
Signed-off-by: Mark Jonas <mark.jonas@de.bosch.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Include these sphinx extensions in the buildtools tarball to make them
available when building the documentation.
(From OE-Core rev: 2221a66a9d8d13a2d6040ab55f066ca39b1a6ea4)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The sphinx-copybutton extension can be used to add a copy button to code
blocks in the documentation.
(From OE-Core rev: ebf14a6dc1a5fd041f4df4fd8c6f28da9d15c8f6)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This Sphinx extension can be used to autogenerate documentation for any
python module returning an argument parser from argparse. It can used in
places of the documentation where the --help output is currently
hardcoded, and generate formatted documentation instead.
(From OE-Core rev: 84d1a347195a3cd702468b01a71e787c3e007488)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
New version includes check for overlong file names, see [1].
[1] https://lists.gnu.org/archive/html/info-mtools/2025-06/msg00005.html
(From OE-Core rev: 044c2bceefcc12262cb2421e8f1da5f6c2ed9f72)
Signed-off-by: Jinfeng Wang <jinfeng.wang.cn@windriver.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
By default, still use ${PV} as the the version of a package in SPDX 2
$ echo 'INHERIT:remove = "create-spdx"' >> conf/local.conf
$ echo 'INHERIT += "create-spdx-2.2"' >> conf/local.conf
$ bitbake acl
$ jq . tmp/deploy/spdx/2.2/core2-64/recipes/recipe-acl.spdx.json
...
"name": "acl",
"summary": "Utilities for managing POSIX Access Control Lists",
"supplier": "Organization: OpenEmbedded ()",
"versionInfo": "2.3.2"
},
...
Support to override it by setting SPDX_PACKAGE_VERSION, such as
set SPDX_PACKAGE_VERSION = "${EXTENDPKGV}" in local.conf to append
PR to versionInfo in SBOM 2
$ echo 'SPDX_PACKAGE_VERSION = "${EXTENDPKGV}"' >> conf/local.conf
$ bitbake acl
$ jq . tmp/deploy/spdx/2.2/core2-64/recipes/recipe-acl.spdx.json
...
"name": "acl",
"summary": "Utilities for managing POSIX Access Control Lists",
"supplier": "Organization: OpenEmbedded ()",
"versionInfo": "2.3.2-r0"
},
...
(From OE-Core rev: 0bd069f526ee0d535477b75a4aa825b4cb589423)
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
tcf-agent calls RANLIB ( if defined ) after calling AR to
create the archive [1], when RANLIB is set to gcc-ranlib this goes
unnoticed, since calling gcc-ranlib without any arguments silenlty
does nothing and exits with return code 0, however, calling binutils
ranlib or llvm-ranlib does demand library name as commandline option
and since it is not there it exits with code 1
aarch64-poky-linux-musl-llvm-ranlib
OVERVIEW: LLVM ranlib
Generate an index for archives
USAGE: aarch64-poky-linux-musl-llvm-ranlib archive...
OPTIONS:
-h --help - Display available options
-V --version - Display the version of this program
-D - Use zero for timestamps and uids/gids (default)
-U - Use actual timestamps and uids/gids
-X{32|64|32_64|any} - Specify which archive symbol tables should be
generated if they do not already exist (AIX OS only)
aarch64-poky-linux-musl-llvm-ranlib: error: an archive name must be
specified
make: *** [Makefile:53: obj/GNU/Linux/a64/Debug/libtcf.a] Error 1
When we add $@, to RANLIB then it becomes the make variable,
$@ - An automatic Makefile variable that expands to the target name (the
file being built)
so the makefile target now rightly adds the .a filename to RANLIB call.
Sent a patch upstream to add RANLIB for linux [2]
[1] https://gitlab.eclipse.org/eclipse/tcf/tcf.agent/-/blob/master/agent/Makefile?ref_type=heads#L53
[2] https://gitlab.eclipse.org/eclipse/tcf/tcf.agent/-/merge_requests/7
(From OE-Core rev: ee2df4554804cc08906cf7b5c734b234c7913c5f)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We have other places in the code where we need to take filemode/mask
information from a bitbake variable and turn it into a real python
number. Turn this internal code into public API in bb.utils and
add some tests for it.
(Bitbake rev: d89e30fb2fb15b09f2cb95c4e5aa9f749ca257ea)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The bitbake worker/server IPC is asynchronous, but tinfoil only has
functionality to wait for a response on the build_targets() call.
Extract the bulk of the "wait for events and handle errors" logic to a
standalone wait_for wrapper, which is the build_targets code without the
extra_events or event_callback arguments (for now).
Then use this to create a build_file_sync() helper that just wraps the
existing build_file() with @wait_for.
(Bitbake rev: bacd125a9da66cd205f6ba2ab17930b976e82150)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Update the short list of recipe files showing examples of proper
naming, and replace obsolete "irssi" example with example using "_git"
as a version.
(From yocto-docs rev: 95691fa4e7d30ee27cb1280df20751bf449538a4)
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Shorten a small number of cumbersome recipe names by replacing them
with :oe_git: markup to link to their repositories.
(From yocto-docs rev: bdcc97d4d605c3de9682b9cb055c253547397f13)
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
PowerPC (32-bit) remains relevant for our use cases, and we aim to
maintain support as long as it is feasible with reasonable effort.
For transparency, our primary focus is on maintaining
core-image-minimal. Support for more complex images may be limited
unless additional contributors join, as ongoing testing and maintenance
of these images may not be feasible otherwise.
(From yocto-docs rev: 63f0053f0f0201529bfad3e3f1b0211ac40ad1c2)
Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Current markup generates italic, not monospaced.
(From yocto-docs rev: 859ba2ea1014c351a43a59c481c4498d79f30139)
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Correct two occurrences that imply source is always fetched as
tarballs.
(From yocto-docs rev: 57490852e6446672fd2cd0f3ee0befd9714c909f)
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a snippet from the wireless-regdb recipe to demonstrate a simple
example of a bin_package recipe.
(From yocto-docs rev: cbe3e272965cb706a73de36af01e1e0c65ea4efa)
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Tweak the formatting of the bullet point title so that it renders both
the term and the bolding properly.
(From yocto-docs rev: 68068c5ab4f4c46c57bc055bd663f8e66096dd20)
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The qualifier "By contrast" is more appropriate here, since that
phrase is used to introduce a point that is strikingly different from
what was just discussed, that being the substantial systemd.
(From yocto-docs rev: 3e73c7985dceb865e648f86ccd82aa0e7fc6668e)
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Much of the reproduced bitbake.conf has nothing to do with showing how
the ${PN}-staticdev is defined, so delete most of it.
(From yocto-docs rev: e235ae40db8f4e7088b2e99e678cdf31b5e216c8)
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Nothing major, just copy-and-paste from master branch to replace aging
code examples, and a little grammmar cleanup.
(From yocto-docs rev: 74057a1ffd682754e81f5f7fbde9f233e14a0d00)
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- drop reference to "opkg", just refer in general to packagers
- correct what "QEMU" stands for (missing space)
- correct version conditional
- add a couple extra steps to typical workflow
- drop implication that one can modify local poky checkout
(From yocto-docs rev: 4fea81e42c41fc42548dd9e2b42f836daba5ac6b)
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(From yocto-docs rev: 3728eea352f8b326ff411aa0f20bfd433ccc7cfa)
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(From yocto-docs rev: 4e06c7f08a36c54a7f14760e609058468fab112f)
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It is not necessary to set both; just setting S to UNPACKDIR is enough.
This has already been done across oe-core master, and correct advice
should be given for those who need to adjust recipes during migration.
(From yocto-docs rev: e69144a2420cf412ff62a394583acc3f82413c69)
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This wasn't specific, and is obsolete: UNPACKDIR should not be
set by recipes at all, except in very special circumstances
(e.g. gcc/clang unpacking into work-shared).
(From yocto-docs rev: a880d94d70c7ed1da8e40a02dae43ff1699941a6)
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
On the ML was pointed about no specific information about
ptest-runner/ptests so improve docs around.
https://lists.yoctoproject.org/g/yocto-patches/message/1622
[YOCTO #15832]
(From yocto-docs rev: 0d1fd79019883f366d796b58a01679297d7a5508)
Signed-off-by: Anibal Limon <anibal@limonsoftware.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
1) Drop MIPS and PPC lines since we should refer to only those arches
tested by the autobuilder.
2) Add entry for 64-bit RISC-V.
[RP: Tweak ordering]
(From meta-yocto rev: ec2b74877d3732b6ea927cb9ea8c726e0568d65e)
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Per discussion with the SPDX licensing group, recipe LICENSE statements
classify as a declared license, not a concluded license.
(From OE-Core rev: 561447c7cc1485366dbf41cfbf8dcc1cbf29d043)
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/ is 'owned' by oe-core and meta-yocto repo should not be
putting files in it.
(From meta-yocto rev: 83be7b1c70a7f90f611ad33284d0b8f963552eae)
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The current default value for BB_PRESSURE_MAX_CPU is 500, which is
really low for most systems. Provide a value of 15000 which limits the
load average without being extremely slow either.
Provide similar values for BB_PRESSURE_MAX_IO and
BB_PRESSURE_MAX_MEMORY. Mention that these should be adjusted depending
on the need, and warn about the potential spam of messages when the
value is too low.
(Bitbake rev: 09baa527dafca4bdf56a9189f6b3f7512886cbfb)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This variable was recently added with 378db0fdd95f ("fetch2/git: allow
overriding default unpack directory with a variable").
(Bitbake rev: a569be0d369cb8b9457beedfeb75b984f751ba5a)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It makes sense to allow the shallow clone mirror tarball name to include the tag
name so that tags can be added to existing urls and the tarballs will be maintained
correctly. The code already allows this to be done easily just by moving the tag
handling code.
(Bitbake rev: 68fce3be14e4dd801661f4ef302d229fb16a04b5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently, tags are fetched as just a name, which works but means they're not
seen as tags by git commands like git describe. Instead, fetch them as refs/tags/XXX
which means such commands then work correctly.
(Bitbake rev: c1f30ad61f5e55beb377451887bbbc5cb569f2e5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Also, drop an obsolete S = WORKDIR/git note.
(Bitbake rev: 3884b386cda649030f59e3040dd08e6aa2ec50cf)
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>