Compare commits

..

33 Commits

Author SHA1 Message Date
Daniel Turull
167f714a72 linux/cve-exclusion: Execute the script after changing to the new data source
Execute new script generate-cve-exclusions.py
./generate-cve-exclusions.py ~/cvelistV5/ 6.12.19 > cve-exclusion_6.12.inc

After using the database from CVEproject, some old
CVEs did not have correct metadata, therefore moving missing ones
from old cve-exclusions_6.12.inc into cve-exclusion.inc

Comparing output from cve_check before and after, two CVEs are removed:
CVE-2023-52904 and CVE-2024-38381

(From OE-Core rev: 02a8d5d255397e85d32879b178dd6dd559a34a05)

Signed-off-by: Daniel Turull <daniel.turull@ericsson.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-23 19:50:57 +01:00
Daniel Turull
13f4119ccf linux/generate-cve-exclusions: use data from CVEProject
The old script was relying on linuxkernelcves.com that was archived in
May 2024 when kernel.org became a CNA.

The new script reads CVE json files from the datadir that can be either
from the official kernel.org CNA [1] or CVEProject [2]

[1] https://git.kernel.org/pub/scm/linux/security/vulns.git
[2] https://github.com/CVEProject/cvelistV5

(From OE-Core rev: 96ef76d88851a5a397d9fc04e37baa285d9f4074)

Signed-off-by: Daniel Turull <daniel.turull@ericsson.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-23 19:50:57 +01:00
Antonin Godard
9b96fdbb0c migration-guides/release-notes-5.2.rst: add missing cves
Add missing fixed CVEs to the release note as reported here:
https://lore.kernel.org/r/5fc0d33e-4ba5-4f8d-80c2-c5c87be79680@gmail.com

Additions can be verified at the following links:
- https://gstreamer.freedesktop.org/security/
- https://www.openssh.com/txt/release-9.9p2
- http://www.dest-unreach.org/socat/

libssh2 CVE-2023-48795 was already fixed in previous releases so remove
it. See the previous migration guides.

Otherwise the CVE entries have been sorted.

Reported-by: Takayasu Ito <ypa.takayasu.ito@gmail.com>
(From yocto-docs rev: b8d9cf79d299b2e553e6bc962527d835206022ec)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-23 19:50:52 +01:00
Antonin Godard
81c9c4f6d4 migration-guides/release-notes-5.2.rst: fix badly formatted gstreamer entries
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
(From yocto-docs rev: 22babeaa9ef4c0e6706c6de8f16fbd0e8d505818)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-23 19:50:52 +01:00
Antonin Godard
51d1210367 migration-guides/{migration,release-notes}-5.2.rst: notes for systemd pni-names
Add a note to the migration guide regarding the pni-names behavior
change.

Suggested-by: Enrico Jörns <ejo@pengutronix.de>
(From yocto-docs rev: 9a1b9778c296351a575501a4abc5317e9be954bc)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-23 19:50:52 +01:00
Ross Burton
43909a9870 genericarm64: add ttyPS1 for KV260
The AMD KV260 has a serial console on ttyPS1, so until we can dynamically
detect the console under sysvinit we can add it to SERIAL_CONSOLES so
this platform has a working console when not running systemd.

(From meta-yocto rev: 467b6d77e50f92bee3c8f7ca928bd70758bab457)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-23 19:49:06 +01:00
Ross Burton
185a87256e systemd: always depend on the explicit serial console units
The systemd-serialgetty recipe generates explicit units for consoles
that are defined in SERIAL_CONSOLES, and if that variable is not defined
then just produces an empty package.

Even when systemd has been configured to use the getty generator, if
there are explicit consoles defined then we should respect them.  Don't
conditionalise the dependency on systemd-serialgetty so that we always
pull in the explicit consoles.

(From OE-Core rev: 6ec2c52b938302b894f119f701ffcf0a847eee85)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-23 19:49:06 +01:00
Ross Burton
22f3616aad systemd: enable getty generator by default
Until recently, even when the getty generator was disabled in the
systemd recipe it was actually still active.  This was because the old
behaviour was to delete the serial-getty template unit if the generator
was disabled, but the systemd-serialgetty package shipped then shipped
the same files so the generator continued to run.  This was a bug in the
original commit[1] so this behaviour has been present since 2016.

My recent fixes[2] changed this: if the getty generator was disabled
then the generator itself is deleted. This makes the actual behaviour
match the intention, but the consequence was to demonstrate that some
modern platforms were relying on this unexpected behaviour: specifically
the genericarm64 BSP which intends to support a number of virtual and
physical boards with a number of serial console ports that are not
really suitable to be hardcoded into SERIAL_CONSOLES:

- ttyS0
- ttyAMA0 (AMBA PL011 uart)
- ttyS2 (BeagleBone Play, S0 and S1 are internal)
- hvc0 (KVM)
- ttyPS1 (AMD KV260)
- And most likely more

Restore the existing behaviour by explicitly enabling the serial getty
generator: this means that systemd will automatically bring up a getty
on the first serial console it finds.

In the future we should extend some level of dynamic console-finding to
sysvinit-based systems by searching for a console device in inittab, but
for now this reverts the unintentional regression.

[1] oe-core 2a8d0df47c9 ("systemd: make systemd-serialgetty optional")
[2] oe-core 2beb3170af6 ("systemd: if getty generator is disabled remove
    the generator, not the units")

(From OE-Core rev: 87136e18b70c0fb66d7268b30e8bc0da9268aa31)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-23 19:49:06 +01:00
Ross Burton
58776612f0 mesa-demos: fix detection of GLX headers
Backport a patch from upstream to fix the build when glx.pc isn't found,
but the glx headers are available. As libglvnd is the only provider of
glx.pc and by default we build without libglvnd, this is common.

This solves the problem where mesa-demo is missing the GLX demos, such
as glxgears.

[ YOCTO #15825 ]

(From OE-Core rev: 466c01cb1ec9ad2a13dc12b5fa7276b9b450266e)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-23 19:48:04 +01:00
Ross Burton
62689ff1fb mesa: remove obsolete deletion of .la files
As Mesa is built with Meson now, there's no need to delete the .la files
as they're not installed in the first place.

(From OE-Core rev: 7cc1288c0121268b02ab26d0b032cee6cb9eacb4)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-23 19:48:04 +01:00
Bruce Ashfield
528b36636b linux-yocto/6.12: cfg: fix iommu configuration for -tiny kernel
Integrating the following commit(s) to linux-yocto/.:

1/1 [
    Author: Bruce Ashfield
    Email: bruce.ashfield@gmail.com
    Subject: iommu: add config dependencies
    Date: Sun, 20 Apr 2025 22:28:21 -0400

    commit [cfg/intel.scc: Include iommu.scc for Arrowlake boot support]
    moves the iommu configuration to a location that is included by more
    BSPs and kernel types.

    One of those kernel types is the -tiny kernel, which uses a allnoconfig
    base. Due to the allnoconfig, there are missing dependencies to allow
    the desired options to be enabled in the final .config

    Those missing options throw configuration audit warnings

    By adding the required dependencies to the fragment, it is now
    standalone and can be included from anywhere without configuration
    audit warnings being triggered.

    Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
]

(From OE-Core rev: 795594476c6fabd5391dc35f254de8028f7c47d6)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-23 19:48:04 +01:00
Bruce Ashfield
5f6a1c9838 linux-yocto/6.12: cfg: Include iommu.scc for Arrowlake boot support
Integrating the following commit(s) to linux-yocto/.:

1/1 [
    Author: Yogesh Tyagi
    Email: yogesh.tyagi@intel.com
    Subject: cfg/intel.scc: Include iommu.scc for Arrowlake boot support
    Date: Mon, 14 Apr 2025 11:55:45 +0530

    Move features/iommu/iommu.scc from bsp/intel-common/intel-corei7-64.scc and
    bsp/intel-x86/intel-x86.scc to cfg/intel.scc to eliminate redundancy and ensure
    IOMMU support (CONFIG_INTEL_IOMMU=y, etc.) is enabled for genericx86-64
    on Intel Arrowlake, resolving boot issues.

    This changes is needed in 6.12 as well as master branch.

    https://bugzilla.yoctoproject.org/show_bug.cgi?id=15802

    Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
    Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
]

(From OE-Core rev: ff91efc2ab25880967b82cc709954d10d62b8cbe)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-23 19:48:04 +01:00
Bruce Ashfield
17b2110721 kern-tools: allow comments after configuration options
Bumping the kern-tools SRCREV to allow comments after configuration
options.

Without this update of the regex, symbol_why will incorrectly detect
that options are not in the final .config during audit.

(From OE-Core rev: 79135df956b536d3be1ca86d28d5c77d59c672c4)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-23 19:48:04 +01:00
Bruce Ashfield
542eec1b1c linux-yocto/6.12: update to v6.12.23
Updating linux-yocto/6.12 to the latest korg -stable release that comprises
the following commits:

    83b4161a63b8 Linux 6.12.23
    e70b4b8f93d7 platform/x86/amd/pmf: fix cleanup in amd_pmf_init_smart_pc()
    625e9b91eb13 tracing: Do not use PERF enums when perf is not defined
    59fc42318305 ARM: 9443/1: Require linker to support KEEP within OVERLAY for DCE
    c6f2a8146da1 NFSD: Skip sending CB_RECALL_ANY when the backchannel isn't up
    afec5b5010de NFSD: Never return NFS4ERR_FILE_OPEN when removing a directory
    101fd0aa0d7d NFSD: nfsd_unlink() clobbers non-zero status returned from fh_fill_pre_attrs()
    a84c80515ca8 nfsd: fix management of listener transports
    cad3479b6366 nfsd: put dl_stid if fail to queue dl_recall
    52e209203c35 nfsd: allow SC_STATUS_FREEABLE when searching via nfs4_lookup_stateid()
    adf0ddb914c9 media: streamzap: fix race between device disconnection and urb callback
    845e9286ff99 media: vimc: skip .s_stream() for stopped entities
    e2d8e7bd3314 exec: fix the racy usage of fs_struct->in_exec
    747e3eec1d7d mm: zswap: fix crypto_free_acomp() deadlock in zswap_cpu_comp_dead()
    2d9709690f31 jfs: add index corruption check to DT_GETPAGE()
    0beddc2a3f9b jfs: fix slab-out-of-bounds read in ea_get()
    b47584c55644 ext4: fix OOB read when checking dotdot dir
    13d6f8ba5074 ext4: don't over-report free space or inodes in statvfs
    0cfea60966e4 wifi: mt76: mt7921: fix kernel panic due to null pointer dereference
    2df8ee605eb6 arm64: Don't call NULL in do_compat_alignment_fixup()
    2e877ff34922 mm/gup: reject FOLL_SPLIT_PMD with hugetlb VMAs
    1abca855ea9f tracing/osnoise: Fix possible recursive locking for cpus_read_lock()
    33052e7f52c5 tracing: Fix synth event printk format for str fields
    cffc2a6718e4 tracing: Ensure module defining synth event cannot be unloaded while tracing
    c85efe6e1374 tracing: Fix use-after-free in print_graph_function_flags during tracer switching
    37c9875c178f exfat: fix potential wrong error return from get_block
    49b0a6ab8e52 exfat: fix random stack corruption after get_block
    ca8bed31edf7 ksmbd: fix null pointer dereference in alloc_preauth_hash()
    56de7778a485 ksmbd: validate zero num_subauth before sub_auth is accessed
    6a9cd9ff0fa2 ksmbd: fix overflow in dacloffset bounds check
    9069939d7621 ksmbd: fix session use-after-free in multichannel connection
    ca042cc0e4f9 ksmbd: fix use-after-free in ksmbd_sessions_deregister()
    800c482c9ef5 ksmbd: add bounds check for create lease context
    29b946714d6a ksmbd: add bounds check for durable handle context
    9bc3299039d2 KVM: SVM: Don't change target vCPU state on AP Creation VMGEXIT error
    a31fa24813a7 mmc: sdhci-omap: Disable MMC_CAP_AGGRESSIVE_PM for eMMC/SD
    1209241a6b40 mmc: sdhci-pxav3: set NEED_RSP_BUSY capability
    b548a448993a mmc: omap: Fix memory leak in mmc_omap_new_slot
    0c121f2065e4 Remove unnecessary firmware version check for gc v9_4_2
    6b9ddc4f5f2e media: omap3isp: Handle ARM dma_iommu_mapping
    9f7ae45f0c61 ARM: 9444/1: add KEEP() keyword to ARM_VECTORS
    498edda23f7e ACPI: resource: Skip IRQ override on ASUS Vivobook 14 X1404VAP
    e71a57c5aaa3 acpi: nfit: fix narrowing conversion in acpi_nfit_ctl
    339d6c965f20 wifi: mt76: mt7925: remove unused acpi function for clc
    93224deb50a8 x86/mm: Fix flush_tlb_range() when used for zapping normal PMDs
    70a2fa13d4a9 x86/tsc: Always save/restore TSC sched_clock() on suspend/resume
    e3d54decc75c x86/Kconfig: Add cmpxchg8b support back to Geode CPUs
    e8bba7ced03e idpf: Don't hard code napi_struct size
    c35771342e47 uprobes/x86: Harden uretprobe syscall trampoline check
    3a8bec6583e5 perf/x86/intel: Avoid disable PMU if !cpuc->enabled in sample read
    e853bb7d6aec perf/x86/intel: Apply static call for drain_pebs
    854b6764be33 ntb_perf: Delete duplicate dmaengine_unmap_put() call in perf_copy_chunk()
    1a85281415fb platform/x86: ISST: Correct command storage data length
    48792ab44552 platform/x86: thinkpad_acpi: disable ACPI fan access for T495* and E560
    35c1834dd630 ACPI: x86: Extend Lenovo Yoga Tab 3 quirk with skip GPIO event-handlers
    805e3ce5e0e3 x86/tdx: Fix arch_safe_halt() execution for TDX VMs
    3e3d8169c095 x86/mce: use is_copy_from_user() to determine copy-from-user context
    ada88219d531 x86/microcode/AMD: Fix __apply_microcode_amd()'s return value
    d39838da59bd KVM: x86: block KVM_CAP_SYNC_REGS if guest state is protected
    a54247efbc73 x86/hyperv: Fix check of return value from snp_set_vmsa()
    add72c418d0a LoongArch: BPF: Use move_addr() for BPF_PSEUDO_FUNC
    223d565d8892 LoongArch: BPF: Don't override subprog's return value
    205a2182c51f LoongArch: BPF: Fix off-by-one error in build_prologue()
    0aa5d4370b5b LoongArch: Increase MAX_IO_PICS up to 8
    1d0def2d1658 LoongArch: Increase ARCH_DMA_MINALIGN up to 16
    dc07c4698587 rust: Fix enabling Rust and building with GCC for LoongArch
    d689645cd159 usbnet:fix NPE during rx_complete
    86f327305ed4 wifi: mac80211: Fix sparse warning for monitor_sdata
    96fa2608296d tty: serial: lpuart: only disable CTS instead of overwriting the whole UARTMODIR register
    b09ff334c168 tty: serial: fsl_lpuart: Fix unused variable 'sport' build warning
    ac08fa36d8cb tty: serial: fsl_lpuart: use port struct directly to simply code
    82719d0e7584 tty: serial: fsl_lpuart: Use u32 and u8 for register variables
    3501677651ca cgroup/rstat: Fix forceidle time in cpu.stat
    39bc1484eb06 cgroup/rstat: Tracking cgroup-level niced CPU time
    ef79f2dec7a9 tracing: Correct the refcount if the hist/hist_debug file fails to open
    eecb62a24b23 tracing/hist: Support POLLPRI event for poll on histogram
    fe87f8d3a5b4 tracing/hist: Add poll(POLLIN) support on hist file
    387dc88c2c27 tracing: Switch trace_events_hist.c code over to use guard()
    7de8290a66df tools/power turbostat: report CoreThr per measurement interval
    e9c928807239 perf/core: Fix child_total_time_enabled accounting bug at task exit
    d3f0a68b2914 drm/amdgpu/gfx12: fix num_mec
    2ac69453e9e5 drm/amdgpu/gfx11: fix num_mec
    528287815ee5 kbuild: deb-pkg: don't set KBUILD_BUILD_VERSION unconditionally
    8a88bb092f42 net: ibmveth: make veth_pool_store stop hanging
    ebebeb58d48e arcnet: Add NULL check in com20020pci_probe()
    f4fea25f5c7f ipv6: Do not consider link down nexthops in path selection
    1eb36a2cdf63 ipv6: Start path selection from the first nexthop
    2952776c69a1 net: fix geneve_opt length integer overflow
    9dec9dacaeed net: dsa: mv88e6xxx: propperly shutdown PPU re-enable timer on destroy
    de579015d132 ipv6: fix omitted netlink attributes when using RTEXT_FILTER_SKIP_STATS
    0a93a710d6df netfilter: nft_tunnel: fix geneve_opt type confusion addition
    92a5c1851311 net: decrease cached dst counters in dst_release
    9539c1721a36 tunnels: Accept PACKET_HOST in skb_tunnel_check_pmtu().
    47744d0d5f3b vsock: avoid timeout during connect() if the socket is closing
    a116b271bf3c udp: Fix memory accounting leak.
    94d5ad7b4112 udp: Fix multiple wraparounds of sk->sk_rmem_alloc.
    fcbfb54a0269 net: mvpp2: Prevent parser TCAM memory corruption
    e5178bfc55b3 sctp: add mutual exclusion in proc_sctp_do_udp_port()
    2f35b7673a3a net_sched: skbprio: Remove overly strict queue assertions
    3ba9cf69de50 netlabel: Fix NULL pointer exception caused by CALIPSO on IPv4 sockets
    feb1fa2a03a2 netfilter: nf_tables: don't unregister hook when table is dormant
    86bd9609fd3e netfilter: nft_set_hash: GC reaps elements with conncount for dynamic sets only
    79618e952ef4 idpf: fix adapter NULL pointer dereference on reboot
    d11d0ce887f4 e1000e: change k1 configuration on MTP and later platforms
    40d187b247b3 spi: bcm2835: Restore native CS probing when pinctrl-bcm2835 is absent
    174954911f1c ALSA: hda/realtek: Fix built-in mic on another ASUS VivoBook model
    48b175aa4677 spi: bcm2835: Do not call gpiod_put() on invalid descriptor
    4d8458e48ff1 ASoC: imx-card: Add NULL check in imx_card_probe()
    a3800b64f866 nvme/ioctl: don't warn on vectorized uring_cmd with fixed buffer
    c35ec5e046ba riscv/purgatory: 4B align purgatory_start
    4c6b1d08e614 riscv/kexec_file: Handle R_RISCV_64 in purgatory relocator
    be85b932b578 riscv: Fix hugetlb retrieval of number of ptes in case of !present pte
    e50781bf7acc spi: cadence: Fix out-of-bounds array access in cdns_mrvl_xspi_setup_clock()
    d3b862658669 ASoC: codecs: rt5665: Fix some error handling paths in rt5665_probe()
    c76bb2d0aa54 s390/entry: Fix setting _CIF_MCCK_GUEST with lowcore relocation
    7e3497d7dacb ublk: make sure ubq->canceling is set when queue is frozen
    efd101b1f0f5 x86/uaccess: Improve performance by aligning writes to 8 bytes in copy_user_generic(), on non-FSRM/ERMS CPUs
    0751db851374 RISC-V: errata: Use medany for relocatable builds
    92a25feb4546 ALSA: hda/realtek: Fix built-in mic breakage on ASUS VivoBook X515JA
    26d14768c4ba firmware: cs_dsp: Ensure cs_dsp_load[_coeff]() returns 0 on success
    3dbb73a07579 ntb: intel: Fix using link status DB's
    cb153bdc1812 ntb_hw_switchtec: Fix shift-out-of-bounds in switchtec_ntb_mw_set_trans
    4119e80ce22d riscv: ftrace: Add parentheses in macro definitions of make_call_t0 and make_call_ra
    8522051c58d6 fs/9p: fix NULL pointer dereference on mkdir
    d04600f43569 spufs: fix a leak in spufs_create_context()
    029d8c711f5e spufs: fix gang directory lifetimes
    35f789ccebd6 spufs: fix a leak on spufs_new_file() failure
    7a95b4887348 netfs: Fix netfs_unbuffered_read() to return ssize_t rather than int
    8a2cc9ffd13c hwmon: (nct6775-core) Fix out of bounds access for NCT679{8,9}
    bc08c087118e memory: omap-gpmc: drop no compatible check
    d840c84cdddd can: statistics: use atomic access in hot path
    54c198d672ca ALSA: hda/realtek: Add mute LED quirk for HP Pavilion x360 14-dy1xxx
    a3612053b2e7 selftests: netfilter: skip br_netfilter queue tests if kernel is tainted
    93c59b5548ee net: devmem: do not WARN conditionally after netdev_rx_queue_restart()
    cf1b90486748 drm/amd: Keep display off while going into S4
    3e6ce0d9ec79 nvme-pci: fix stuck reset on concurrent DPC and HP
    5e194e0f77ee x86/sgx: Warn explicitly if X86_FEATURE_SGX_LC is not enabled
    eafd7ec55b1d x86/hyperv: Fix output argument to hypercall that changes page visibility
    ddf40162ac79 locking/semaphore: Use wake_q to wake up processes outside lock critical section
    e401fa5b953e wifi: mac80211: fix SA Query processing in MLO
    9465e09b74eb wifi: mac80211: flush the station before moving it to UN-AUTHORIZED state
    56e6d4a8877f ASoC: rt1320: set wake_capable = 0 explicitly
    f8dfd7c50170 ASoC: codecs: wsa884x: report temps to hwmon in millidegree of Celsius
    e1fc76b2bbf3 x86/hyperv/vtl: Stop kernel from probing VTL0 low memory
    ecc08c460866 sched/deadline: Use online cpus for validating runtime
    c730833bc025 ALSA: hda/realtek: Add support for ASUS Zenbook UM3406KA Laptops using CS35L41 HDA
    01a27b2dd07f ALSA: hda/realtek: Add support for ASUS B5405 and B5605 Laptops using CS35L41 HDA
    2e2626d1e8db ALSA: hda/realtek: Add support for ASUS B3405 and B3605 Laptops using CS35L41 HDA
    f57ca98c65cd ALSA: hda/realtek: Add support for various ASUS Laptops using CS35L41 HDA
    ff8ebaf47dce ALSA: hda/realtek: Add support for ASUS ROG Strix G614 Laptops using CS35L41 HDA
    9dcf970c5c38 ALSA: hda/realtek: Add support for ASUS ROG Strix GA603 Laptops using CS35L41 HDA
    c7943f0677d6 ALSA: hda/realtek: Add support for ASUS ROG Strix G814 Laptop using CS35L41 HDA
    92075758782c exfat: add a check for invalid data size
    77a5ed6b0349 platform/x86/amd/pmf: Update PMF Driver for Compatibility with new PMF-TA
    5dd021991430 platform/x86/amd/pmf: Propagate PMF-TA return codes
    f7038ea68fc0 HID: i2c-hid: improve i2c_hid_get_report error message
    95459156b366 net: dsa: rtl8366rb: don't prompt users for LED control
    64eb31d872fe platform/x86/intel/vsec: Add Diamond Rapids support
    10ac73318c3a platform/x86: intel-hid: fix volume buttons on Microsoft Surface Go 4 tablet
    6edee7c63b93 cifs: fix incorrect validation for num_aces field of smb_acl
    da087905e327 smb: common: change the data type of num_aces to le16
    7364420090ac perf/core: Fix perf_pmu_register() vs. perf_init_event()
    fbd3a04bd86f ALSA: hda: Fix speakers on ASUS EXPERTBOOK P5405CSA 1.0
    64c707d24ccc ALSA: hda/realtek: Fix Asus Z13 2025 audio
    83d888b69310 affs: don't write overlarge OFS data block size fields
    4fbfb003bba4 affs: generate OFS sequence numbers starting at 1
    d8575bdcf820 wifi: brcmfmac: keep power during suspend if board requires it
    5eb8c8fee726 nvme-pci: skip CMB blocks incompatible with PCI P2P DMA
    63bd235de242 nvme-pci: clean up CMBMSC when registering CMB fails
    c2fa1deeb4b8 nvme-tcp: fix possible UAF in nvme_tcp_poll
    12622cb7b1d8 wifi: iwlwifi: mvm: use the right version of the rate API
    bd888d67c7ce wifi: iwlwifi: fw: allocate chained SG tables for dump
    e0862a6d3dab wifi: mac80211: remove debugfs dir for virtual monitor
    5d42a3413724 wifi: mac80211: Cleanup sta TXQs on flush
    eb532ac40dc8 nfs: Add missing release on error in nfs_lock_and_join_requests()
    26bf086ebd70 objtool/loongarch: Add unwind hints in prepare_frametrace()
    d80168db5e0c rcu-tasks: Always inline rcu_irq_work_resched()
    00911b416ad7 context_tracking: Always inline ct_{nmi,irq}_{enter,exit}()
    8e49f912ae14 sched/smt: Always inline sched_smt_active()
    22e1e4e11af5 objtool: Fix verbose disassembly if CROSS_COMPILE isn't set
    10856c530de3 octeontx2-af: Free NIX_AF_INT_VEC_GEN irq
    d2e60c3b8a62 octeontx2-af: Fix mbox INTR handler when num VFs > 64
    a436e1434317 net: phy: broadcom: Correct BCM5221 PHY model detection
    d3561dc471ac ACPI: processor: idle: Return an error if both P_LVL{2,3} idle states are invalid
    00c22ab0614a LoongArch: Rework the arch_kgdb_breakpoint() implementation
    035a4a852ee8 LoongArch: Fix device node refcount leak in fdt_cpu_clk_init()
    396cdb580e2e LoongArch: Fix help text of CMDLINE_EXTEND in Kconfig
    11d479dffde5 objtool: Fix segfault in ignore_unreachable_insn()
    2a6f8823ff60 ring-buffer: Fix bytes_dropped calculation issue
    5923492ba353 net/mlx5e: SHAMPO, Make reserved size independent of page size
    457db486203c ksmbd: fix r_count dec/increment mismatch
    e0b32b6f0f13 ksmbd: fix multichannel connection failure
    3e341dbd5f5a ksmbd: use aead_request_free to match aead_request_alloc
    3f17af46cfc7 rndis_host: Flag RNDIS modems as WWAN devices
    28b21ee8e8fb rtnetlink: Allocate vfinfo size for VF GUIDs when supported
    4a9595eb024b exfat: fix missing shutdown check
    6a1407532500 exfat: fix the infinite loop in exfat_find_last_cluster()
    7d8dfc27d90d smb: client: Fix netns refcount imbalance causing leaks and use-after-free
    81270dd79606 NFS: Shut down the nfs_client only after all the superblocks
    cd80277f6521 objtool, media: dib8000: Prevent divide-by-zero in dib8000_set_dds()
    1adc93a525fd objtool, nvmet: Fix out-of-bounds stack access in nvmet_ctrl_state_show()
    456300be232e thermal: core: Remove duplicate struct declaration
    8f178998af67 perf bpf-filter: Fix a parsing error with comma
    2c3dea5d1776 perf tools: annotate asm_pure_loop.S
    aba918999252 fs/procfs: fix the comment above proc_pid_wchan()
    819685fcebdf perf vendor events arm64 AmpereOneX: Fix frontend_bound calculation
    5b2b692804ce tty: n_tty: use uint for space returned by tty_write_room()
    1817c4b85011 staging: vchiq_arm: Fix possible NPR of keep-alive thread
    f3fafa188d96 staging: vchiq_arm: Register debugfs after cdev
    f14dd4025975 staging: rtl8723bs: select CONFIG_CRYPTO_LIB_AES
    ed1d004a5af0 perf: intel-tpebs: Fix incorrect usage of zfree()
    70afdf771171 perf dso: fix dso__is_kallsyms() check
    18ea76a747ac perf python: Check if there is space to copy all the event
    9816424d65a2 perf python: Don't keep a raw_data pointer to consumed ring buffer space
    4608d15a43fb perf python: Decrement the refcount of just created event on failure
    f0343969111f perf python: Fixup description of sample.id event member
    e1c900e078d5 i3c: master: svc: Fix missing the IBI rules
    a8edfc206ed1 um: hostfs: avoid issues on inode number reuse by host
    5b37d2370d0c um: remove copy_from_kernel_nofault_allowed
    2b0328c5f0f9 um: Pass the correct Rust target and options with gcc
    0d8ba0ed03c3 selftests/mm/cow: fix the incorrect error handling
    eafb4e3a82aa fuse: fix dax truncate/punch_hole fault path
    ca27c16539a3 NFS: fix open_owner_id_maxsz and related fields.
    46117472a279 NFSv4: Avoid unnecessary scans of filesystems for delayed delegations
    8765bc2638ce NFSv4: Avoid unnecessary scans of filesystems for expired delegations
    ac8be75a7deb NFSv4: Avoid unnecessary scans of filesystems for returning delegations
    4595beb5fee9 NFSv4: Don't trigger uneccessary scans for return-on-close delegations
    d04bea49c806 arch/powerpc: drop GENERIC_PTDUMP from mpc885_ads_defconfig
    49d2a2ea9d30 ocfs2: validate l_tree_depth to avoid out-of-bounds access
    c6338b0d56f0 kexec: initialize ELF lowest address to ULONG_MAX
    c42282a07832 kernel/events/uprobes: handle device-exclusive entries correctly in __replace_page()
    32222c0fd242 perf units: Fix insufficient array space
    b18056f753bf perf evlist: Add success path to evlist__create_syswide_maps
    7cd1096d3bea perf debug: Avoid stack overflow in recursive error message
    7a40b52d4442 iio: light: Add check for array bounds in veml6075_read_int_time_ms
    967570b52826 iio: adc: ad7768-1: set MOSI idle state to prevent accidental reset
    dd6391006379 iio: adc: ad7173: Fix comparison of channel configs
    12eeec2fe012 iio: adc: ad7124: Fix comparison of channel configs
    0c13dc967e07 iio: adc: ad4130: Fix comparison of channel setups
    55e2dbe2ba78 dmaengine: fsl-edma: free irq correctly in remove path
    bcd00d044346 dmaengine: fsl-edma: cleanup chan after dma_async_device_unregister
    201a2bdda13b fs/ntfs3: Prevent integer overflow in hdr_first_de()
    284c9549386e fs/ntfs3: Fix a couple integer overflows on 32bit systems
    8109f57613a0 usb: xhci: correct debug message page size calculation
    fc1b20f16897 perf bench: Fix perf bench syscall loop count
    8e901e95bedc perf arm-spe: Fix load-store operation checking
    df3892e5e861 iio: backend: make sure to NULL terminate stack buffer
    91cc7dca2a69 iio: accel: msa311: Fix failure to release runtime pm if direct mode claim fails.
    7c640dd70e63 iio: accel: mma8452: Ensure error return on failure to matching oversampling ratio
    a17a3db6d411 ucsi_ccg: Don't show failed to get FW build information error
    d72a8585043b perf build: Fix in-tree build due to symbolic link
    a7b29a28d1e4 tools/x86: Fix linux/unaligned.h include path in lib/insn.c
    72a149792714 perf pmu: Don't double count common sysfs and json events
    1315b08f609e coresight-etm4x: add isb() before reading the TRCSTATR
    3a19eb3d9818 vhost-scsi: Fix handling of multiple calls to vhost_scsi_set_endpoint
    e90a5776e105 coresight: catu: Fix number of pages while using 64k pages
    6f774f82a7fa greybus: gb-beagleplay: Add error handling for gb_greybus_init
    372a144dbb96 perf report: Switch data file correctly in TUI
    0e344b67bf26 soundwire: slave: fix an OF node reference leak in soundwire slave device
    82d0586c3592 isofs: fix KMSAN uninit-value bug in do_isofs_readdir()
    f9b0819e8b10 phy: phy-rockchip-samsung-hdptx: Don't use dt aliases to determine phy-id
    641394fbb5a5 fs/ntfs3: Update inode->i_mapping->a_ops on compression state
    4f750b846280 w1: fix NULL pointer dereference in probe
    4baed8d7452b perf: Always feature test reallocarray
    de9c71274735 perf stat: Fix find_stat for mixed legacy/non-legacy events
    165b155dfedb clk: qcom: mmcc-sdm660: fix stuck video_subcore0 clock
    bf233124d398 pinctrl: intel: Fix wrong bypass assignment in intel_pinctrl_probe_pwm()
    5416777d568a crypto: hisilicon/sec2 - fix for aead auth key length
    0d6460b9d2a3 RDMA/core: Fix use-after-free when rename device name
    782526a40149 x86/dumpstack: Fix inaccurate unwinding from exception stacks due to misplaced assignment
    c2ddf2f5760b leds: Fix LED_OFF brightness race
    a1fab9e64948 mfd: sm501: Switch to BIT() to mitigate integer overflows
    7ee71ef057b1 pinctrl: renesas: rzv2m: Fix missing of_node_put() call
    cad677085274 RDMA/mlx5: Fix mlx5_poll_one() cur_qp update flow
    19e6817f8400 bpf: Fix array bounds error with may_goto
    cff6b3c8085d clk: qcom: gcc-sm8650: Do not turn off USB GDSCs during gdsc_disable()
    4fdbccc738af crypto: nx - Fix uninitialised hv_nxc on error
    ac9e52aca2cb power: supply: max77693: Fix wrong conversion of charge input threshold value
    b6542ef0d4dd x86/entry: Fix ORC unwinder for PUSH_REGS with save_ret=1
    cd0e4789f870 clk: amlogic: g12a: fix mmc A peripheral clock
    f29760cdca4b clk: clk-imx8mp-audiomix: fix dsp/ocram_a clock parents
    64bb7efb0c4c crypto: qat - remove access to parity register for QAT GEN4
    4409e87cdc8b pinctrl: npcm8xx: Fix incorrect struct npcm8xx_pincfg assignment
    8ba426f170f1 rust: fix signature of rust_fmt_argument
    c9fad5ce1ef9 selftests/bpf: Select NUMA_NO_NODE to create map
    4d32504f7ae9 clk: amlogic: gxbb: drop non existing 32k clock parent
    dc8477444ac6 clk: amlogic: g12b: fix cluster A parent data
    52f3ef292b7b pinctrl: tegra: Set SFIO mode to Mux Register
    2aec4d9a79a7 IB/mad: Check available slots before posting receive WRs
    6d4e56e4c581 crypto: api - Fix larval relookup type and mask
    eae034cdcee9 power: supply: bq27xxx_battery: do not update cached flags prematurely
    005d8de09c71 remoteproc: qcom_q6v5_mss: Handle platforms with one power domain
    a114d25d584c RDMA/erdma: Prevent use-after-free in erdma_accept_newconn()
    257f0bdd5a4b RDMA/mlx5: Fix calculation of total invalidated pages
    df45ae2a4f1c RDMA/core: Don't expose hw_counters outside of init net namespace
    c9c2582c4cd1 clk: rockchip: rk3328: fix wrong clk_ref_usb3otg parent
    dcb5997ead6d selftests/bpf: Fix freplace_link segfault in tailcalls prog test
    25aa4fe297a5 RDMA/mlx5: Fix MR cache initialization error flow
    fb4206c76b99 pinctrl: renesas: rzg2l: Fix missing of_node_put() call
    3980e3741a8c pinctrl: renesas: rza2: Fix missing of_node_put() call
    e7b7f5a170d3 lib: 842: Improve error handling in sw842_compress()
    8ed5381756de bpf: Use preempt_count() directly in bpf_send_signal_common()
    42efddee037b clk: qcom: gcc-x1e80100: Unregister GCC_GPU_CFG_AHB_CLK/GCC_DISP_XO_CLK
    82484764ea90 remoteproc: qcom_q6v5_pas: Use resource with CX PD for MSM8226
    4a7e28e3523f crypto: tegra - Set IV to NULL explicitly for AES ECB
    7d25febb0e03 RDMA/mana_ib: Ensure variable err is initialized
    088a200ebf46 s390: Remove ioremap_wt() and pgprot_writethrough()
    bd717b4dea87 clk: qcom: gcc-msm8953: fix stuck venus0_core0 clock
    13a2312c5352 crypto: tegra - Fix CMAC intermediate result handling
    241d9965109b pinctrl: nuvoton: npcm8xx: Fix error handling in npcm8xx_gpio_fw()
    24307866e0ac clk: samsung: Fix UBSAN panic in samsung_clk_init()
    81d4e03116d3 remoteproc: qcom: pas: add minidump_id to SC7280 WPSS
    b5d1970003cc clk: renesas: r8a08g045: Check the source of the CPU PLL settings
    8d6373f83f36 x86/mm/pat: Fix VM_PAT handling when fork() fails in copy_page_range()
    919206201aac selftests/bpf: Fix string read in strncmp benchmark
    652a3dfd8c2b libbpf: Fix hypothetical STT_SECTION extern NULL deref case
    73fd28b12d78 remoteproc: qcom_q6v5_pas: Make single-PD handling more robust
    26c0229b604e pinctrl: renesas: rzg2l: Suppress binding attributes
    bfcca46f01ac of: property: Increase NR_FWNODE_REFERENCE_ARGS
    2df19f5f6f72 remoteproc: core: Clear table_sz when rproc_shutdown
    01fd737776ca RDMA/mlx5: Fix page_size variable overflow
    51bcbe6cdaf0 crypto: hisilicon/sec2 - fix for sec spec check
    71f4581c464b crypto: hisilicon/sec2 - fix for aead authsize alignment
    0069c0e671ab clk: amlogic: gxbb: drop incorrect flag on 32k clock
    46ea02988bb9 crypto: tegra - Use HMAC fallback when keyslots are full
    057298d19334 crypto: bpf - Add MODULE_DESCRIPTION for skcipher
    3e0d61cf588f crypto: tegra - check return value for hash do_one_req
    5d9147db00d3 crypto: tegra - Use separate buffer for setkey
    f23dfee54b57 crypto: qat - set parity error mask for qat_420xx
    92936d50c5b8 crypto: iaa - Test the correct request flag
    238ece4937aa fbdev: sm501fb: Add some geometry checks.
    8356f4570082 mdacon: rework dependency list
    d3ea050c153d dummycon: fix default rows/cols
    9a14cacaf527 fbdev: au1100fb: Move a variable assignment behind a null pointer check
    b1c4bd166771 PCI: pciehp: Don't enable HPIE when resuming in poll mode
    e23dfb926f5b PCI: Fix BAR resizing when VF BARs are assigned
    a1855c2ebb88 PCI: histb: Fix an error handling path in histb_pcie_probe()
    b004cf517d8e PCI: dwc: ep: Return -ENOMEM for allocation failures
    3453bcaf2ca9 drm/amd/display: avoid NPD when ASIC does not support DMUB
    d877bf6eb39c drm/mediatek: dsi: fix error codes in mtk_dsi_host_transfer()
    57a9fb47551b drm/mediatek: dp: drm_err => dev_err in HPD path to avoid NULL ptr
    e5838a2bf16f drm/mediatek: Fix config_updating flag never false when no mbox channel
    02e94069c3e9 PCI: xilinx-cpm: Fix IRQ domain leak in error path of probe
    362b5879a7f3 PCI: Remove stray put_device() in pci_register_host_bridge()
    7b40c5b938e9 powerpc/kexec: fix physical address calculation in clear_utlb_entry()
    7e754aa0daaf crypto: powerpc: Mark ghashp8-ppc.o as an OBJECT_FILES_NON_STANDARD
    a3030fcba3c8 drm/msm/a6xx: Fix a6xx indexed-regs in devcoreduump
    f42a78df8894 drm/amd/display: fix type mismatch in CalculateDynamicMetadataParameters()
    b8b5e2e77083 drm/panthor: Update CS_STATUS_ defines to correct values
    bcb484200441 PCI: Avoid reset when disabled via sysfs
    2a54a1a9c6c9 PCI/portdrv: Only disable pciehp interrupts early when needed
    2cf276e501c4 PCI: brcmstb: Fix potential premature regulator disabling
    df63321a40cc PCI: brcmstb: Fix error path after a call to regulator_bulk_get()
    0fe63272c43c PCI: brcmstb: Use internal register to change link capability
    4557922dbfca PCI: brcmstb: Set generation limit before PCIe link up
    b23b73ea4c21 PCI: cadence-ep: Fix the driver to send MSG TLP for INTx without data payload
    c0ef1c8ef70b drm/amdkfd: Fix Circular Locking Dependency in 'svm_range_cpu_invalidate_pagetables'
    70f1dcc21779 drm/msm/dsi: Set PHY usescase (and mode) before registering DSI host
    2af52e4d2e19 drm/msm/dsi: Use existing per-interface slice count in DSC timing
    a47ee1884c5b drm/msm/dsi/phy: Program clock inverters in correct register
    47a025046640 drm/msm/dpu: don't use active in atomic_check()
    a99219bbd69a drm/amd/display: fix an indent issue in DML21
    8ba27aa51286 PCI/ACS: Fix 'pci=config_acs=' parameter
    91b0ab875128 drm/panel: ilitek-ili9882t: fix GPIO name in error message
    f556b6ba0ac5 PCI/ASPM: Fix link state exit during switch upstream function removal
    4f997843de78 drm/mediatek: mtk_hdmi: Fix typo for aud_sampe_size member
    0fe9a58fa5d0 drm/mediatek: mtk_hdmi: Unregister audio platform device on failure
    372e387c4f1c PCI: Remove add_align overwrite unrelated to size0
    254f771c7067 PCI: Use downstream bridges for distributing resources
    f2b099e945ee drm/amdgpu/umsch: fix ucode check
    2dbf9e3efcc0 drm/amdgpu: refine smu send msg debug log format
    2a07eab05d9d gpu: cdns-mhdp8546: fix call balance of mhdp->clk handling routines
    d5eb8e347905 drm/vkms: Fix use after free and double free on init error
    b84d743c2393 drm: xlnx: zynqmp: Fix max dma segment size
    dd8e6445e4e3 drm/bridge: it6505: fix HDCP V match check is not performed correctly
    69e90c1e3391 drm/dp_mst: Fix drm RAD print
    5ffb6b9a1a04 drm/ssd130x: ensure ssd132x pitch is correct
    5a3461ca54db drm/ssd130x: fix ssd132x encoding
    a9c4366566e6 drm/ssd130x: Set SPI .id_table to prevent an SPI core warning
    950513eba9cb drm/bridge: ti-sn65dsi86: Fix multiple instances
    15291b561d8c ALSA: timer: Don't take register_mutex with copy_from/to_user()
    11242f4b9baa ASoC: ti: j721e-evm: Fix clock configuration for ti,j7200-cpb-audio compatible
    f751361b3a15 ALSA: hda/realtek: Always honor no_shutup_pins
    2050247d5ebf dt-bindings: vendor-prefixes: add GOcontroll
    7fdca6c0b12c HID: remove superfluous (and wrong) Makefile entry for CONFIG_INTEL_ISH_FIRMWARE_DOWNLOADER
    da3ac4cf7f13 ASoC: amd: acp: Fix for enabling DMIC on acp platforms via _DSD entry
    748a1118d20d ASoC: cs35l41: check the return value from spi_setup()
    5b6739341500 platform/x86: dell-ddv: Fix temperature calculation
    0654ea13976c platform/x86: dell-uart-backlight: Make dell_uart_bl_serdev_driver static
    a4f38bc600f3 platform/x86: lenovo-yoga-tab2-pro-1380-fastcharger: Make symbol static
    4f42478af663 auxdisplay: panel: Fix an API misuse in panel.c
    f0a72629ccec media: platform: allgro-dvt: unregister v4l2_device on the error path
    d34100049923 media: verisilicon: HEVC: Initialize start_bit field
    e161533964de auxdisplay: MAX6959 should select BITREVERSE
    d026245063d2 regulator: pca9450: Fix enable register for LDO5
    f5852872eb29 x86/entry: Add __init to ia32_emulation_override_cmdline()
    52e513a8850c x86/fpu/xstate: Fix inconsistencies in guest FPU xfeatures
    b86500597089 x86/traps: Make exc_double_fault() consistently noreturn
    5108828fecfc perf/ring_buffer: Allow the EPOLLRDNORM flag for poll
    345957c1cfb8 lockdep: Don't disable interrupts on RT in disable_irq_nosync_lockdep.*()
    c3a4c91a409e PM: sleep: Fix handling devices with direct_complete set on errors
    953d28a4f459 thermal: int340x: Add NULL check for adev
    a8a1bcc27d46 x86/resctrl: Fix allocation of cleanest CLOSID on platforms with no monitors
    385a0265295f EDAC/ie31200: Fix the error path order of ie31200_init()
    4294e94f43c7 EDAC/ie31200: Fix the DIMM size mask for several SoCs
    67d079c0f29e EDAC/ie31200: Fix the size of EDAC_MC_LAYER_CHIP_SELECT layer
    96b4f2e97408 selinux: Chain up tool resolving errors in install_policy.sh
    864750968d71 watchdog/hardlockup/perf: Fix perf_event memory leak
    b471631fa19a kunit/stackinit: Use fill byte different from Clang i386 pattern
    ff435a627342 RISC-V: KVM: Disable the kernel perf counter during configure
    e2bda794d381 cpufreq: tegra194: Allow building for Tegra234
    31d5665172b3 PM: sleep: Adjust check before setting power.must_resume
    4d28c2ab2af5 lockdep/mm: Fix might_fault() lockdep check of current->mm->mmap_lock
    9807270d7399 x86/sev: Add missing RIP_REL_REF() invocations during sme_enable()
    3e14d9a4eb74 x86/platform: Only allow CONFIG_EISA for 32-bit
    a086e7cde509 x86/fpu: Avoid copying dynamic FP state from init_task in arch_dup_task_struct()
    568aa554e760 x86/fpu: Fix guest FPU state buffer allocation size
    2c27c9e1d18a EDAC/{skx_common,i10nm}: Fix some missing error reports on Emerald Rapids
    f381c92ab4ec cpufreq: governor: Fix negative 'idle_time' handling in dbs_update()
    b576c4834d5a sched/eevdf: Force propagating min_slice of cfs_rq when {en,de}queue tasks
    7b1d2454d0b6 sched: Cancel the slice protection of the idle entity
    2d5c37dff4b0 smack: ipv4/ipv6: tcp/dccp/sctp: fix incorrect child socket label
    9d93922280f9 smack: dont compile ipv6 code unless ipv6 is configured
    40426fc0970e cpufreq: scpi: compare kHz instead of Hz
    bc4d689a231d x86/mm/pat: cpa-test: fix length for CPA_ARRAY test
    56ec918e6c86 watch_queue: fix pipe accounting mismatch
    2ee7ebed771b mips: Add '-std=gnu11' to vdso CFLAGS
    b2c792d89ac5 yaffs2: switch from readlink_copy() to vfs_readlink()
    807165b1ec1c tools/power/x86/intel-speed-select: Prefix header search path with sysroot
    e97df805b938 drm/tilcdc: Set preferred depth
    7160a4379dcc arch/arm64/configs: remove CONFIG_SM_DISPCC_8650
    6d8ac5ebe6e8 aufs6: core
    587abc1b64c4 aufs6: standalone
    1af41d30ef42 aufs6: mmap
    6ee2464d2e9d aufs6: base
    103b676505f7 aufs6: kbuild
    67281562943f qemux86: add configuration symbol to select values
    73f315ca0823 sched/isolation: really align nohz_full with rcu_nocbs
    1e4e7f8ab622 clear_warn_once: add a clear_warn_once= boot parameter
    918e7a825e8b clear_warn_once: bind a timer to written reset value
    f533f87c3758 clear_warn_once: expand debugfs to include read support
    f149ca27cba9 tools: Remove some options from CLANG_CROSS_FLAGS
    e633abe9c44e libbpf: Fix build warning on ref_ctr_off
    ec0916a4cfc1 perf: perf can not parser the backtrace of app in the 32bit system and 64bit kernel.
    03721ceb5626 perf: x86-32: explicitly include <errno.h>
    4c36c5295bb0 perf: mips64: Convert __u64 to unsigned long long
    b0200449610d perf: fix bench numa compilation
    aff0940b2212 perf: add SLANG_INC for slang.h
    ef912018d28c perf: add sgidefs.h to for mips builds
    d8860f858b87 perf: change --root to --prefix for python install
    dc38a0eee6e5 perf: add 'libperl not found' warning
    6ed51f8786da perf: force include of <stdbool.h>
    c538d4c4ac65 fat: Replace prandom_u32() with get_random_u32()
    63d94846f0c5 fat: don't use obsolete random32 call in namei_vfat
    7816667451ef FAT: Added FAT_NO_83NAME
    f81dbd60f0d5 FAT: Add CONFIG_VFAT_NO_CREATE_WITH_LONGNAMES option
    771cdefba44b FAT: Add CONFIG_VFAT_FS_NO_DUALNAMES option
    a24784fd8f88 yaffs2: update to v6.12 folio changes
    d0a48fd46db8 yaffs2: adapt to v6.10 i_time changes
    d097e4d4115a yaffs: fix mtime/itime field access
    4411e0d49fe3 yaffs2: update VFS ctime operations to 6.6+
    1b6619086e8b yaffs2: v6.5 fixups
    25b261ee3c54 yaffs2: Fix miscalculation of devname buffer length
    5c07936a5d1c yaffs2: convert user_namespace to mnt_idmap
    55986a1284b3 yaffs2: replace bdevname call with sprintf
    6f5508f8db8f yaffs2: convert read_page -> readfolio
    fd179a5df5d5 yaffs: replace IS_ERR with IS_ERR_OR_NULL to check both ERR and NULL
    c9a620dacdd1 yaffs: fix -Wstringop-overread compile warning in yaffs_fix_null_name
    78588208ed17 yaffs2: v5.12+ build fixups (not runtime tested)
    8d2dddba272c yaffs: include blkdev.h
    8c1ca9ef9712 yaffs: Fix build failure by handling inode i_version with proper atomic API
    27005cbac2ed yaffs2: v5.6 build fixups
    668211c9f9b7 yaffs2: fix memory leak when /proc/yaffs is read
    285f911dcc1c yaffs: add strict check when call yaffs_internal_read_super
    ffc2ed489ccf yaffs: repair yaffs_get_mtd_device
    6dce4b70a5e3 yaffs: Fix build failure by handling inode i_version with proper atomic API
    19f283abc5d1 yaffs2: fix memory leak in mount/umount
    04e84672b571 yaffs: Avoid setting any ACL releated xattr
    4f221d6a32e2 Yaffs:check oob size before auto selecting Yaffs1
    81f36004e56b fs: yaffs2: replace CURRENT_TIME by other appropriate apis
    26d7a3dd0054 yaffs2: adjust to proper location of MS_RDONLY
    a7016eac4540 yaffs2: import git revision b4ce1bb (jan, 2020)
    feb240bbb91e initramfs: allow an optional wrapper script around initramfs generation
    874746eaa341 drivers: gpu: drm: msm: registers: improve reproducibility
    1d42508faee8 tools: use basename to identify file in gen-mach-types
    4b055eca593d iwlwifi: select MAC80211_LEDS conditionally
    97e20e275ac0 net/dccp: make it depend on CONFIG_BROKEN (CVE-2020-16119)
    6dec58319165 defconfigs: drop obselete options
    a416ccb5b6c9 linux-yocto: Handle /bin/awk issues
    7efe8a1e5158 uvesafb: provide option to specify timeout for task completion
    78d10ae07eca uvesafb: print error message when task timeout occurs
    80473b7eb8ca compiler.h: Undef before redefining __attribute_const__
    ddeff2f1a9a7 vmware: include jiffies.h
    3dcdda8912b4 Resolve jiffies wrapping about arp
    3b1507db6735 nfs: Allow default io size to be configured.
    c2fedad05f77 check console device file on fs when booting
    208d6fbada3f mount_root: clarify error messages for when no rootfs found
    dbe9454c8ea0 mconf: fix output of cflags and libraries
    7c7b224f5cce menuconfig,mconf-cfg: Allow specification of ncurses location
    b6c189c81397 modpost: mask trivial warnings
    a5cc21325ba9 kbuild: exclude meta directory from distclean processing
    361ec143c23f powerpc: serialize image targets
    605e6ccb304c arm: serialize build targets
    e94b04fcb7d2 mtd_blkdevs: add mtd_table_mutex lock back to blktrans_{open, release} to avoid race condition
    44cc7f69a0a0 cpu/amd: inhibit SMP check for qemux86
    a08cb65331e6 x86_64_defconfig: Fix warnings
    8ad332ef777b mips: make current_cpu_data preempt safe
    754f05ddce3f mips: vdso: fix 'jalr $t9' crash in vdso code
    325ff78ff44d mips: Kconfig: add QEMUMIPS64 option
    99ae0eadcf11 4kc cache tlb hazard: tlbp cache coherency
    c6894c66a534 malta uhci quirks: make allowance for slow 4k(e)c
    8b52c01f3294 arm64: defconfig: remove CONFIG_IPQ_APSS_5018
    16c7629f035e drm/fb-helper: move zeroing code to drm_fb_helper_fill_var
    6b60c874cbb0 arm64: defconfig: cleanup config options
    8e44673ecd89 vexpress: Pass LOADADDR to Makefile
    f34e6805aad5 arm: ARM EABI socketcall
    94dec9b88de4 ARM: LPAE: Invalidate the TLB for module addresses during translation fault

(From OE-Core rev: 054457a772df0e7866fa4ff0f22d79622ff419bd)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-23 19:48:04 +01:00
Bruce Ashfield
a472092f33 linux-yocto/6.12: update to v6.12.22
Updating linux-yocto/6.12 to the latest korg -stable release that comprises
the following commits:

    55767d6e74ef Linux 6.12.22
    9e6e83e1e2d0 bcachefs: bch2_ioctl_subvolume_destroy() fixes
    a964484a3537 serial: 8250_dma: terminate correct DMA in tx_dma_flush()
    5f9176f82ec7 serial: stm32: do not deassert RS485 RTS GPIO prematurely
    f86907583000 perf tools: Fix up some comments and code to properly use the event_source bus
    b094e8e3988e memstick: rtsx_usb_ms: Fix slab-use-after-free in rtsx_usb_ms_drv_remove
    a4931d9fb99e usb: xhci: Apply the link chain quirk on NEC isoc endpoints
    6af20ac254cb usb: xhci: Don't skip on Stopped - Length Invalid
    ed5760db3d8a net: usb: usbnet: restore usb%d name exception for local mac addresses
    52e05bea53c2 net: usb: qmi_wwan: add Telit Cinterion FE990B composition
    666e78b47713 net: usb: qmi_wwan: add Telit Cinterion FN990B composition
    53a005d3019f tty: serial: fsl_lpuart: disable transmitter before changing RS485 related registers
    27bd86d139ce tty: serial: 8250: Add Brainboxes XC devices
    54f9a8dcab90 tty: serial: 8250: Add some more device IDs
    0fac51a2d143 counter: microchip-tcb-capture: Fix undefined counter channel state on probe
    181a2ab650f7 counter: stm32-lptimer-cnt: fix error handling when enabling
    3ed38d0297fa ALSA: hda/realtek: Support mute LED on HP Laptop 15s-du3xxx
    2bb139e483f8 netfilter: socket: Lookup orig tuple for IPv6 SNAT
    2c1674fb52b2 drm/amd/display: Don't write DP_MSTM_CTRL after LT
    95407304253a nfsd: fix legacy client tracking initialization
    09691f367df4 atm: Fix NULL pointer dereference
    dddd13f7f167 HID: hid-plantronics: Add mic mute mapping and generalize quirks
    a532e7680878 ALSA: usb-audio: Add quirk for Plantronics headsets to fix control names
    2ee7ebed771b mips: Add '-std=gnu11' to vdso CFLAGS
    3423cae69078 Linux 6.12.21
    2fa52cd829c1 mptcp: Fix data stream corruption in the address announcement
    86368616a9ce mm/huge_memory: drop beyond-EOF folios with the right number of refs
    e7940c5794c3 arm64: dts: rockchip: fix u2phy1_host status for NanoPi R4S
    9aaffd371829 libsubcmd: Silence compiler warning
    8ece5abd7490 Revert "sched/core: Reduce cost of sched_move_task when config autogroup"
    c7762348038b KVM: arm64: Eagerly switch ZCR_EL{1,2}
    4a397bf077e7 KVM: arm64: Mark some header functions as inline
    2e4f2c20db53 KVM: arm64: Refactor exit handlers
    cb53828d6911 KVM: arm64: Remove VHE host restore of CPACR_EL1.SMEN
    d547b363f16a KVM: arm64: Remove VHE host restore of CPACR_EL1.ZEN
    f19a46cb5373 KVM: arm64: Remove host FPSIMD saving for non-protected KVM
    79e140bba70b KVM: arm64: Unconditionally save+flush host FPSIMD/SVE/SME state
    e6cd28bbbf90 KVM: arm64: Calculate cptr_el2 traps on activating traps
    73ef4f6e379b io_uring/net: fix sendzc double notif flush
    a4cb17797a5d ksmbd: fix incorrect validation for num_aces field of smb_acl
    731eccbd65aa drm/amdkfd: Fix user queue validation on Gfx7/8
    3aa8e00fefca drm/amdgpu: Fix JPEG video caps max size for navi1x and raven
    a0a43a133371 drm/amdgpu: Fix MPEG2, MPEG4 and VC1 video caps max size
    499d1adcac3e drm/amdgpu: Remove JPEG from vega and carrizo video caps
    97c2a78d2995 drm/amdgpu/pm: wire up hwmon fan speed for smu 14.0.2
    4b8b7026fc3b drm/amdgpu/pm: Handle SCLK offset correctly in overdrive for smu 14.0.2
    8201c17e986e drm/amdgpu: Restore uncached behaviour on GFX12
    eacbc9d28391 drm/amd/pm: add unique_id for gfx12
    c58726d64d08 drm/amd/display: Use HW lock mgr for PSR1 when only one eDP
    1992e216fd3c drm/amd/display: Fix message for support_edp0_on_dp1
    7341e36e6513 drm/amdgpu/gfx12: correct cleanup of 'me' field with gfx_v12_0_me_fini()
    1135a9431160 drm/sched: Fix fence reference count leak
    dd1801aa01bb drm/radeon: fix uninitialized size issue in radeon_vce_cs_parse()
    b2ab8c713bad pmdomain: amlogic: fix T7 ISP secpower
    f4489260f571 soc: qcom: pdr: Fix the potential deadlock
    91176c193417 batman-adv: Ignore own maximum aggregation size during RX
    130290f44bce xsk: fix an integer overflow in xp_create_and_assign_umem()
    6afe2ea2daec keys: Fix UAF in key_put()
    8332847875f7 efi/libstub: Avoid physical address 0x0 when doing random allocation
    c4e37b381a7a firmware: qcom: uefisecapp: fix efivars registration race
    54ccfef43773 ARM: shmobile: smp: Enforce shmobile_smp_* alignment
    0b1d48698ed9 ARM: dts: imx6qdl-apalis: Fix poweroff on Apalis iMX6
    2e1dfe3105ab memcg: drain obj stock on cpu hotplug teardown
    ede3e8ac90ae proc: fix UAF in proc_get_inode()
    4b84c6437f4b mm/page_alloc: fix memory accept before watermarks gets initialized
    c057ee03f751 mm/migrate: fix shmem xarray update during migration
    abc2677d167d mm: fix error handling in __filemap_get_folio() with FGP_NOWAIT
    baa37829052f selftests/mm: run_vmtests.sh: fix half_ufd_size_MB calculation
    8f8eb5afa2cb mmc: atmel-mci: Add missing clk_disable_unprepare()
    e96500b7d695 mmc: sdhci-brcmstb: add cqhci suspend/resume to PM ops
    838c916e6d66 arm64: dts: rockchip: fix pinmux of UART5 for PX30 Ringneck on Haikou
    f8ec8036e7e0 arm64: dts: rockchip: fix pinmux of UART0 for PX30 Ringneck on Haikou
    200517d82b4c arm64: dts: freescale: imx8mm-verdin-dahlia: add Microphone Jack to sound card
    16f1b7dc28a4 arm64: dts: freescale: imx8mp-verdin-dahlia: add Microphone Jack to sound card
    b362fc904d26 accel/qaic: Fix integer overflow in qaic_validate_req()
    a99f1254b11e regulator: check that dummy regulator has been probed before using it
    d3b83a1442a0 regulator: dummy: force synchronous probing
    0def1a40c3e7 netfs: Call `invalidate_cache` only if implemented
    adb7325362c7 riscv: dts: starfive: Fix a typo in StarFive JH7110 pin function definitions
    66e3cc3885e8 io_uring/net: don't clear REQ_F_NEED_CLEANUP unconditionally
    4b4d2527840f drm/v3d: Don't run jobs that have errors flagged in its fence
    c76a537ca228 drm/xe: Fix exporting xe buffers multiple times
    dc55ba5f6dd5 can: flexcan: disable transceiver during system PM
    7072723e0534 can: flexcan: only change CAN state when link up in system PM
    8cec9e314d33 can: ucan: fix out of bound read in strscpy() source
    eb14937ece4f can: rcar_canfd: Fix page entries in the AFL list
    76a13fad5a3f dt-bindings: can: renesas,rcar-canfd: Fix typo in pattern properties for R-Car V4M
    15cc669513d6 net: mana: Support holes in device list reply msg
    bb83e6e7b56e i2c: omap: fix IRQ storms
    71c9cf87776e tracing: tprobe-events: Fix leakage of module refcount
    a3ff812d68f6 Revert "gre: Fix IPv6 link-local address generation."
    250793874f91 net/neighbor: add missing policy for NDTPA_QUEUE_LENBYTES
    176d0333aae4 libfs: Fix duplicate directory entry in offset_dir_lookup
    0d8a8179fa52 net: ipv6: ioam6: fix lwtunnel_output() loop
    49a009135042 net: lwtunnel: fix recursion loops
    1344df9a981c net: ti: icssg-prueth: Add lock to stats
    326223182e47 net: atm: fix use after free in lec_send()
    99918fb674d2 gpu: host1x: Do not assume that a NULL domain means no DMA IOMMU
    58ed057dcdb3 phy: fix xa_alloc_cyclic() error handling
    cb2f8a5c1fd9 dpll: fix xa_alloc_cyclic() error handling
    f8aaa38cfaf6 devlink: fix xa_alloc_cyclic() error handling
    cfbde06fda15 ipv6: Set errno after ip_fib_metrics_init() in ip6_route_info_create().
    29d91820184d ipv6: Fix memleak of nhc_pcpu_rth_output in fib_check_nh_v6_gw().
    8940e6168bb3 net: ipv6: fix TCP GSO segmentation with NAT
    d4bf956547c3 net: ethernet: ti: am65-cpsw: Fix NAPI registration sequence
    8bf2f1ba2729 ata: libata-core: Add ATA_QUIRK_NO_LPM_ON_ATI for certain Samsung SSDs
    5ba4f58ec2de tracing: tprobe-events: Fix to clean up tprobe correctly when module unload
    dfc80ed249b6 ARM: davinci: da850: fix selecting ARCH_DAVINCI_DA8XX
    1be40f79d36d accel/qaic: Fix possible data corruption in BOs > 2G
    e8f50474037f Bluetooth: hci_event: Fix connection regression between LE and non-LE adapters
    761b7c36addd Bluetooth: Fix error code in chan_alloc_skb_cb()
    bc6824b3aaff RDMA/hns: Fix wrong value of max_sge_rd
    abf7f5be159a RDMA/hns: Fix missing xa_destroy()
    0fa35d93d50a RDMA/hns: Fix a missing rollback in error path of hns_roce_create_qp_common()
    7912097c9304 RDMA/hns: Fix invalid sq params not being blocked
    4e4c2571aac4 RDMA/hns: Fix unmatched condition in error path of alloc_user_qp_db()
    13a52f6c9ff9 RDMA/hns: Fix soft lockup during bt pages loop
    d7b8dc4a0dce RDMA/bnxt_re: Avoid clearing VLAN_ID mask in modify qp path
    ca3c033a4fe1 dma-mapping: fix missing clear bdr in check_ram_in_range_map()
    db7dd032eeb2 ARM: dts: BCM5301X: Fix switch port labels of ASUS RT-AC3200
    2c74f29eaa0d ARM: dts: BCM5301X: Fix switch port labels of ASUS RT-AC5300
    d4ebdbbd4603 ARM: dts: bcm2711: Don't mark timer regs unconfigured
    49d3178ea54a ARM: OMAP1: select CONFIG_GENERIC_IRQ_CHIP
    7c2a5a535cbd RDMA/mlx5: Handle errors returned from mlx5r_ib_rate()
    adeba5b0d120 RDMA/bnxt_re: Add missing paranthesis in map_qp_id_to_tbl_indx
    2776978d2fac RDMA/rxe: Fix the failure of ibv_query_device() and ibv_query_device_ex() tests
    9d22afe499d0 arm64: dts: rockchip: Remove undocumented sdmmc property from lubancat-1
    be96850f9ed2 arm64: dts: bcm2712: PL011 UARTs are actually r1p5
    98c175b8eb2b ARM: dts: bcm2711: PL011 UARTs are actually r1p5
    b8a47aa0b3df ARM: dts: bcm2711: Fix xHCI power-domain
    11ae21f1b926 soc: imx8m: Unregister cpufreq and soc dev in cleanup path
    224d8bf798fb soc: imx8m: Use devm_* to simplify probe failure handling
    4d709816638d soc: imx8m: Remove global soc_uid
    25e4700489cf xfrm_output: Force software GSO only in tunnel mode
    a0395e96831a xfrm: fix tunnel mode TX datapath in packet offload mode
    a64df69c9718 arm64: dts: rockchip: remove supports-cqe from rk3588 tiger
    02396956ad89 arm64: dts: rockchip: remove supports-cqe from rk3588 jaguar
    5e203693ebf2 arm64: dts: freescale: tqma8mpql: Fix vqmmc-supply
    ea835113e5d0 firmware: imx-scu: fix OF node leak in .probe()
    d78510d151b5 firmware: qcom: scm: Fix error code in probe()
    f491dd2afe1c Linux 6.12.20
    62b9ad7e52d4 fs/netfs/read_collect: add to next->prev_donated
    8f324d99306b HID: apple: disable Fn key handling on the Omoton KB066
    888bcd6c5832 nvme-fc: rely on state transitions to handle connectivity loss
    f87271d21dd4 Bluetooth: L2CAP: Fix corrupted list in hci_chan_del
    ee06d5c81041 tools/sched_ext: Add helper to check task migration state
    46db29a2c8b1 sched_ext: selftests/dsp_local_on: Fix selftest on UP systems
    9d9d87e44dd7 smb: client: Fix match_session bug preventing session reuse
    beb97eba4cd8 smb3: add support for IAKerb
    f41514828296 mm/hugetlb: wait for hugetlb folios to be freed
    3b699bcc2667 i2c: sis630: Fix an error handling path in sis630_probe()
    ee2ae325f78e i2c: ali15x3: Fix an error handling path in ali15x3_probe()
    be05097610f0 i2c: ali1535: Fix an error handling path in ali1535_probe()
    9233b85afb47 x86/vmware: Parse MP tables for SEV-SNP enabled guests under VMware hypervisors
    1c46673be93d cifs: Fix integer overflow while processing closetimeo mount option
    4740cef2a9d0 cifs: Fix integer overflow while processing actimeo mount option
    2809a79bc649 cifs: Fix integer overflow while processing acdirmax mount option
    833f2903eb8b cifs: Fix integer overflow while processing acregmax mount option
    527bde0d9cac block: change blk_mq_add_to_batch() third argument type to bool
    0dfe4a7957a5 scripts: generate_rust_analyzer: add uapi crate
    4614939363bb scripts: generate_rust_analyzer: add missing include_dirs
    657f5e3eeceb scripts: generate_rust_analyzer: add missing macros deps
    7c29e8fd1f0e drm/i915: Increase I915_PARAM_MMAP_GTT_VERSION version to indicate support for partial mmaps
    e72a52a5cf18 ASoC: codecs: wm0010: Fix error handling path in wm0010_spi_probe()
    77213a424a48 nvme: move error logging from nvme_end_req() to __nvme_end_req()
    6f33bb8664b8 drm/xe/pm: Temporarily disable D3Cold on BMG
    b99b5c254442 drm/xe/userptr: Fix an incorrect assert
    0e9989bea707 drm/xe: Release guc ids before cancelling work
    084c46a133c1 drm/xe: cancel pending job timer before freeing scheduler
    90d1cf2fad80 ASoC: rt722-sdca: add missing readable registers
    9dcd2b72ea05 rust: init: add missing newline to pr_info! calls
    c79a462560d0 ASoC: cs42l43: Fix maximum ADC Volume
    cebcc1f336a6 drm/gma500: Add NULL check for pci_gfx_root in mid_get_vbt_data()
    4ec50b0cead5 rust: error: add missing newline to pr_warn! calls
    a46a9371f8b9 ASoC: ops: Consistently treat platform_max as control value
    752b56bb76e2 sched_ext: Validate prev_cpu in scx_bpf_select_cpu_dfl()
    72833a339f1f net: phy: nxp-c45-tja11xx: add TJA112XB SGMII PCS restart errata
    d52d624f3d70 net: phy: nxp-c45-tja11xx: add TJA112X PHY configuration errata
    b9004fe68878 smb: client: fix regression with guest option
    9721f3a79345 qlcnic: fix memory leak issues in qlcnic_sriov_common.c
    608bbf7ff5a5 Fix mmu notifiers for range-based invalidates
    f6bbea2ffea7 arm64: mm: Populate vmemmap at the page level if not section aligned
    5a87e46da241 dm-flakey: Fix memory corruption in optional corrupt_bio_byte feature
    454825019d2f netmem: prevent TX of unreadable skbs
    e2c89427e08b ASoC: amd: yc: Support mic on another Lenovo ThinkPad E16 Gen 2 model
    ac4b32cb59ff ASoC: Intel: sof_sdw: Fix unlikely uninitialized variable use in create_sdw_dailinks()
    0a024f992500 clk: samsung: gs101: fix synchronous external abort in samsung_clk_save()
    d14ef11b1d1e clk: samsung: update PLL locktime for PLL142XX used on FSD platform
    a4261bbc33fb ksmbd: prevent connection release during oplock break notification
    62746ae3f541 ksmbd: fix use-after-free in ksmbd_free_work_struct
    bac7b8b1a3f1 drm/amd/display: Fix slab-use-after-free on hdcp_work
    04f90b505ad3 drm/amd/display: Assign normalized_pix_clk when color depth = 14
    6d669a3b031a drm/amd/display: Restore correct backlight brightness after a GPU reset
    fefa811e616b drm/amd/display: fix missing .is_two_pixels_per_container
    9826fd36ff20 drm/amd/display: fix default brightness
    d1227b94d75c drm/amd/display: Disable unneeded hpd interrupts during dm_init
    60ae74e367ae drm/amdgpu/display: Allow DCC for video formats on GFX12
    c5c5e76aea80 drm/amd/amdkfd: Evict all queues even HWS remove queue failed
    72235808eabe drm/amdgpu: NULL-check BO's backing store when determining GFX12 PTE flags
    beb47bc67363 drm/dp_mst: Fix locking when skipping CSN before topology probing
    962912aaf8d1 drm/atomic: Filter out redundant DPMS calls
    e487d35964fb drm/panic: fix overindented list items in documentation
    8232ec53bcdd drm/panic: use `div_ceil` to clean Clippy warning
    8f55d4414d55 drm/i915/cdclk: Do cdclk post plane programming later
    220e26960ef4 spi: microchip-core: prevent RX overflows when transmit size > FIFO size
    488ffc0cac38 x86/microcode/AMD: Fix out-of-bounds on systems with CPU-less NUMA nodes
    677088b7fa88 rust: init: fix `Zeroable` implementation for `Option<NonNull<T>>` and `Option<KBox<T>>`
    514d35a745b8 rust: Disallow BTF generation with Rust + LTO
    28d472f153f9 rust: alloc: satisfy POSIX alignment requirement
    6db379b34a06 rust: remove leftover mentions of the `alloc` crate
    2ef7bdb84620 rust: lockdep: Remove support for dynamically allocated LockClassKeys
    ccffb475c133 USB: serial: option: match on interface class for Telit FN990B
    d233dbf101b1 USB: serial: option: fix Telit Cinterion FE990A name
    3bfa629f4516 USB: serial: option: add Telit Cinterion FE990B compositions
    87ede08ef245 USB: serial: ftdi_sio: add support for Altera USB Blaster 3
    1a7493a2b899 Input: i8042 - swap old quirk combination with new quirk for more devices
    64c6abf1b427 Input: i8042 - swap old quirk combination with new quirk for several devices
    ee554ffa3731 Input: i8042 - add required quirks for missing old boardnames
    3d6fa8c56bb1 Input: i8042 - swap old quirk combination with new quirk for NHxxRZQ
    0ff93d895619 Input: xpad - rename QH controller to Legion Go S
    f7ccf4eb4bac Input: xpad - add support for TECNO Pocket Go
    d91dd818f1fc Input: xpad - add support for ZOTAC Gaming Zone
    e2304bbf8789 Input: xpad - add multiple supported devices
    1936b189fa7d Input: xpad - add 8BitDo SN30 Pro, Hyperkin X91 and Gamesir G7 SE controllers
    84f7b6f1d63a Input: iqs7222 - preserve system status register
    2daccd3b50dd Input: ads7846 - fix gpiod allocation
    eff502828bb4 Input: goodix-berlin - fix vddio regulator references
    fef9d44b24be cifs: Throw -EOPNOTSUPP error on unsupported reparse point type from parse_reparse_point()
    b2bccc729b93 cifs: Validate content of WSL reparse point buffers
    061ea46c56f6 vhost: return task creation error instead of NULL
    7184e996107c block: fix 'kmem_cache of name 'bio-108' already exists'
    d1ceef54b239 net: Handle napi_schedule() calls from non-interrupt
    1cf295ac531c drm/nouveau: Do not override forced connector status
    27fcaf0afe16 mptcp: safety check before fallback
    d7e94211d12d perf/x86/rapl: Add support for Intel Arrow Lake U
    2d2b4bdf083d x86/irq: Define trace events conditionally
    c481ada21a72 x86/of: Don't use DTB for SMP setup if ACPI is enabled
    b1d5a2c0501f perf/x86/intel: Use better start period for frequency mode
    665de082f3cb drm/vkms: Round fixp2int conversion in lerp_u16
    7b67d2671481 ASoC: SOF: Intel: don't check number of sdw links when set dmic_fixup
    e5c9f8d2202d ASoC: dapm-graph: set fill colour of turned on nodes
    df2ae00d9605 fuse: don't truncate cached, mutated symlink
    c54e42985189 ASoC: tas2764: Set the SDOUT polarity correctly
    1769f5cb5395 ASoC: tas2764: Fix power control mask
    e43334e1dc09 ASoC: tas2770: Fix volume scale
    06d7337799dc phy: ti: gmii-sel: Do not use syscon helper to build regmap
    bfe7f298eedc nvme: only allow entering LIVE from CONNECTING state
    94e7476fa7c5 sctp: Fix undefined behavior in left shift operation
    7ece63c977c1 cifs: Treat unhandled directory name surrogate reparse points as mount directory nodes
    317fb015fe58 apple-nvme: Release power domains when probe fails
    1f07456a5a66 nvmet-rdma: recheck queue state is LIVE in state lock in recv done
    fd903dd30122 nvme-pci: quirk Acer FA100 for non-uniqueue identifiers
    b349a3d1b15e io-wq: backoff when retrying worker creation
    4fd9f51368a2 net: wwan: mhi_wwan_mbim: Silence sequence number glitch errors
    a14be80a82c8 ASoC: SOF: amd: Handle IPC replies before FW_BOOT_COMPLETE
    985c2c69a5e4 ASoC: SOF: amd: Add post_fw_run_delay ACP quirk
    eb49f80b8a6f ALSA: hda: hda-intel: add Panther Lake-H support
    458173e86d77 ASoC: SOF: Intel: pci-ptl: Add support for PTL-H
    c51c8ec76cfc ALSA: hda: intel-dsp-config: Add PTL-H support
    4ed43c26b7dc PCI: pci_ids: add INTEL_HDA_PTL_H
    8aac6256919d ASoC: SOF: Intel: hda: add softdep pre to snd-hda-codec-hdmi module
    5b27776a2beb ASoC: arizona/madera: use fsleep() in up/down DAPM event delays.
    f6eaaf1f5bcf ASoC: rsnd: adjust convert rate limitation
    6ff121ffe87c ASoC: rsnd: don't indicate warning on rsnd_kctrl_accept_runtime()
    e96e1000be20 ASoC: rsnd: indicate unsupported clock rate
    d44418f5024f ALSA: hda/realtek: Limit mic boost on Positivo ARN50
    a402f90da448 ASoC: simple-card-utils.c: add missing dlc->of_node
    c18fc7e6bbd0 ASoC: Intel: soc-acpi-intel-mtl-match: declare adr as ull
    ed05ae9a27c9 ASoC: Intel: sof_sdw: Add quirk for Asus Zenbook S14
    d5742c484f52 ASoC: Intel: sof_sdw: Add lookup of quirk using PCI subsystem ID
    45fb7e0d0cab selftests/bpf: Fix invalid flag of recv()
    02a12760d7c9 drm/tests: hdmi: Fix recursive locking
    b0f9bb67869d drm/tests: hdmi: Reorder DRM entities variables assignment
    9828d2f2a6ee drm/tests: hdmi: Remove redundant assignments
    f8094625a591 Bluetooth: L2CAP: Fix slab-use-after-free Read in l2cap_send_cmd
    2139811c3f79 Xen/swiotlb: mark xen_swiotlb_fixup() __init
    aa3b0ea4742a arm64: amu: Delay allocating cpumask for AMU FIE support
    8aa4c89378ed LoongArch: KVM: Set host with kernel mode when switch to VM mode
    f30b7b949ed8 LoongArch: Fix kernel_page_present() for KPRANGE/XKPRANGE
    a91922e9eab5 thermal/cpufreq_cooling: Remove structure member documentation
    e129f7291506 s390/cio: Fix CHPID "configure" attribute caching
    7e759fb01512 platform/x86: int3472: Call "reset" GPIO "enable" for INT347E
    515b17dcd4cf platform/x86: int3472: Use correct type for "polarity", call it gpio_flags
    f6ee81371e70 platform/x86: thinkpad_acpi: Support for V9 DYTC platform profiles
    f92324135f09 platform/x86: thinkpad_acpi: Fix invalid fan speed on ThinkPad X120e
    30a40b592594 sched: Clarify wake_up_q()'s write to task->wake_q.next
    c39bd0df25b4 objtool: Ignore dangling jump table entries
    d5ca39d3369a btrfs: fix two misuses of folio_shift()
    3ceaafa26f30 HID: apple: fix up the F6 key on the Omoton KB066 keyboard
    024d7e006aa4 HID: hid-apple: Apple Magic Keyboard a3203 USB-C support
    08fde0878480 selftests/cgroup: use bash in test_cpuset_v1_hp.sh
    fb019cf04211 HID: topre: Fix n-key rollover on Realforce R3S TKL boards
    2501c9ce2da7 HID: intel-ish-hid: ipc: Add Panther Lake PCI device IDs
    25736fe5893d usb: phy: generic: Use proper helper for property detection
    705f2515189c HID: hid-steam: Fix issues with disabling both gamepad mode and lizard mode
    6ca3d4d87af4 HID: ignore non-functional sensor in HP 5MP Camera
    3cef11955f29 HID: intel-ish-hid: Send clock sync message immediately after reset
    e9275a19e271 HID: intel-ish-hid: fix the length of MNG_SYNC_FW_CLOCK in doorbell
    05db4968d4bb sched_ext: selftests/dsp_local_on: Fix sporadic failures
    7963b379a37c selftests: always check mask returned by statmount(2)
    37e638d4cae4 vboxsf: fix building with GCC 15
    3b477a0296f4 alpha/elf: Fix misc/setarch test of util-linux by removing 32bit support
    ef35c36fb4f1 smb: client: fix noisy when tree connecting to DFS interlink targets
    61699cb2534f ACPI: resource: IRQ override for Eluktronics MECH-17
    af71ba921d08 scsi: qla1280: Fix kernel oops when debug level > 2
    3be04084517e scsi: ufs: core: Fix error return with query response
    1207e5d1a268 scsi: core: Use GFP_NOIO to avoid circular locking dependency
    36793d90d76f drm/amd/display: Fix out-of-bound accesses
    8bf1b5eeaf94 platform/x86/intel: pmc: fix ltr decode in pmc_core_ltr_show()
    20d6994b6f1f sched/debug: Provide slice length for fair tasks
    b253660fac5e iscsi_ibft: Fix UBSAN shift-out-of-bounds warning in ibft_attr_show_nic()
    aa189c394168 futex: Pass in task to futex_queue()
    fb51a7209398 btrfs: avoid starting new transaction when cleaning qgroup during subvolume drop
    ccdec7ea9a3d powercap: call put_device() on an error path in powercap_register_control_type()
    ae5716b4631f hrtimers: Mark is_migration_base() with __always_inline
    18bee525aa9a nvme-fc: do not ignore connectivity loss during connecting
    50ef04270048 nvme-fc: go straight to connecting state when initializing
    d6402fb37720 net/mlx5e: Prevent bridge link show failure for non-eswitch-allowed devices
    f7bf259a0427 net/mlx5: Bridge, fix the crash caused by LAG state check
    b22fae6a7aaf net/mlx5: Lag, Check shared fdb before creating MultiPort E-Switch
    4251e73182c3 net/mlx5: Fix incorrect IRQ pool usage when releasing IRQs
    5f634c972be8 net/mlx5: HWS, Rightsize bwc matcher priority
    9e79fdabd52c Revert "openvswitch: switch to per-action label counting in conntrack"
    e6610f9c08b4 net: openvswitch: remove misbehaving actions length check
    a4d42b590115 gre: Fix IPv6 link-local address generation.
    931681bc821f netfilter: nft_exthdr: fix offset with ipv4_find_option()
    5c3ca9cb48b5 net_sched: Prevent creation of classes with TC_H_ROOT
    e6cb63fac7fd ipvs: prevent integer overflow in do_ip_vs_get_ctl()
    db1e0c085682 netfilter: nf_conncount: Fully initialize struct nf_conncount_tuple in insert_tree()
    992a60cdfd9f rtase: Fix improper release of ring list entries in rtase_sw_reset
    247347fe0cdd selftests: bonding: fix incorrect mac address
    4cf224c45fe7 bonding: fix incorrect MAC address setting to receive NS messages
    5c47d5bfa7b0 net: mctp: unshare packets when reassembling
    a597d4b75669 net: switchdev: Convert blocking notification chain to a raw one
    187ef72a8438 eth: bnxt: fix memory leak in queue reset
    0997443906b9 bnxt_en: handle tpa_info in queue API implementation
    fa36f457eec3 bnxt_en: refactor tpa_info alloc/free into helpers
    f49bc4d7ff3d eth: bnxt: use page pool for head frags
    f059a0fd7330 eth: bnxt: fix kernel panic in the bnxt_get_queue_stats{rx | tx}
    5b57ed14a1b8 eth: bnxt: do not update checksum in bnxt_xdp_build_skb()
    a6604717850e eth: bnxt: do not use BNXT_VNIC_NTUPLE unconditionally in queue restart logic
    14eb5f0d6554 eth: bnxt: return fail if interface is down in bnxt_queue_mem_alloc()
    19107e71be33 eth: bnxt: fix truesize for mb-xdp-pass case
    1d34296409a5 net/mlx5: handle errors in mlx5_chains_create_table()
    102d02874911 Drivers: hv: vmbus: Don't release fb_mmio resource in vmbus_free_mmio()
    4545e2aa121a fbdev: hyperv_fb: Allow graceful removal of framebuffer
    ae833890703c fbdev: hyperv_fb: Simplify hvfb_putmem
    cfffe46a994a fbdev: hyperv_fb: Fix hang in kdump kernel when on Hyper-V Gen 2 VMs
    24f1bbfb2be7 drm/hyperv: Fix address space leak when Hyper-V DRM device is removed
    be7188d7f1f6 netpoll: hold rcu read lock in __netpoll_send_skb()
    caff87addf19 net: mctp i2c: Copy headers if cloned
    370dacb7edc2 net: mctp i3c: Copy headers if cloned
    956d8ef54a42 net: dsa: mv88e6xxx: Verify after ATU Load ops
    251841a71c4f net/mlx5: Fill out devlink dev info only for PFs
    55b098a2beec Revert "Bluetooth: hci_core: Fix sleeping function called from invalid context"
    0677a4f3c067 Bluetooth: hci_event: Fix enabling passive scanning
    a5158d67bff0 wifi: cfg80211: cancel wiphy_work before freeing wiphy
    83a73cb88f1d wifi: mac80211: don't queue sdata::work for a non-running sdata
    6114d2e6efda wifi: iwlwifi: mvm: fix PNVM timeout for non-MSI-X platforms
    68896dd50180 sched: address a potential NULL pointer dereference in the GRED scheduler.
    0befa32ac3f9 netfilter: nf_tables: make destruction work queue pernet
    a5396ee0f541 netfilter: nf_conncount: garbage collection is not skipped when jiffies wrap around
    198907fa1444 ice: Fix switchdev slow-path in LAG
    3b27e6e10a32 ice: fix memory leak in aRFS after reset
    44386eb2d9b7 ice: do not configure destination override for switchdev
    2231d7c821f3 netfilter: nft_ct: Use __refcount_inc() for per-CPU nft_ct_pcpu_template.
    a585f6ea42ec pinctrl: nuvoton: npcm8xx: Add NULL check in npcm8xx_gpio_fw
    319900a10835 pinctrl: bcm281xx: Fix incorrect regmap max_registers value
    ea8411db9fba fbdev: hyperv_fb: iounmap() the correct memory when removing a device
    99012b24ca23 userfaultfd: fix PTE unmapping stack-allocated PTE copies
    4e9507246298 mm: fix kernel BUG when userfaultfd_move encounters swapcache
    a74979dce9e9 mm/slab/kvfree_rcu: Switch to WQ_MEM_RECLAIM wq
    b2c792d89ac5 yaffs2: switch from readlink_copy() to vfs_readlink()
    807165b1ec1c tools/power/x86/intel-speed-select: Prefix header search path with sysroot
    e97df805b938 drm/tilcdc: Set preferred depth
    7160a4379dcc arch/arm64/configs: remove CONFIG_SM_DISPCC_8650
    6d8ac5ebe6e8 aufs6: core
    587abc1b64c4 aufs6: standalone
    1af41d30ef42 aufs6: mmap
    6ee2464d2e9d aufs6: base
    103b676505f7 aufs6: kbuild
    67281562943f qemux86: add configuration symbol to select values
    73f315ca0823 sched/isolation: really align nohz_full with rcu_nocbs
    1e4e7f8ab622 clear_warn_once: add a clear_warn_once= boot parameter
    918e7a825e8b clear_warn_once: bind a timer to written reset value
    f533f87c3758 clear_warn_once: expand debugfs to include read support
    f149ca27cba9 tools: Remove some options from CLANG_CROSS_FLAGS
    e633abe9c44e libbpf: Fix build warning on ref_ctr_off
    ec0916a4cfc1 perf: perf can not parser the backtrace of app in the 32bit system and 64bit kernel.
    03721ceb5626 perf: x86-32: explicitly include <errno.h>
    4c36c5295bb0 perf: mips64: Convert __u64 to unsigned long long
    b0200449610d perf: fix bench numa compilation
    aff0940b2212 perf: add SLANG_INC for slang.h
    ef912018d28c perf: add sgidefs.h to for mips builds
    d8860f858b87 perf: change --root to --prefix for python install
    dc38a0eee6e5 perf: add 'libperl not found' warning
    6ed51f8786da perf: force include of <stdbool.h>
    c538d4c4ac65 fat: Replace prandom_u32() with get_random_u32()
    63d94846f0c5 fat: don't use obsolete random32 call in namei_vfat
    7816667451ef FAT: Added FAT_NO_83NAME
    f81dbd60f0d5 FAT: Add CONFIG_VFAT_NO_CREATE_WITH_LONGNAMES option
    771cdefba44b FAT: Add CONFIG_VFAT_FS_NO_DUALNAMES option
    a24784fd8f88 yaffs2: update to v6.12 folio changes
    d0a48fd46db8 yaffs2: adapt to v6.10 i_time changes
    d097e4d4115a yaffs: fix mtime/itime field access
    4411e0d49fe3 yaffs2: update VFS ctime operations to 6.6+
    1b6619086e8b yaffs2: v6.5 fixups
    25b261ee3c54 yaffs2: Fix miscalculation of devname buffer length
    5c07936a5d1c yaffs2: convert user_namespace to mnt_idmap
    55986a1284b3 yaffs2: replace bdevname call with sprintf
    6f5508f8db8f yaffs2: convert read_page -> readfolio
    fd179a5df5d5 yaffs: replace IS_ERR with IS_ERR_OR_NULL to check both ERR and NULL
    c9a620dacdd1 yaffs: fix -Wstringop-overread compile warning in yaffs_fix_null_name
    78588208ed17 yaffs2: v5.12+ build fixups (not runtime tested)
    8d2dddba272c yaffs: include blkdev.h
    8c1ca9ef9712 yaffs: Fix build failure by handling inode i_version with proper atomic API
    27005cbac2ed yaffs2: v5.6 build fixups
    668211c9f9b7 yaffs2: fix memory leak when /proc/yaffs is read
    285f911dcc1c yaffs: add strict check when call yaffs_internal_read_super
    ffc2ed489ccf yaffs: repair yaffs_get_mtd_device
    6dce4b70a5e3 yaffs: Fix build failure by handling inode i_version with proper atomic API
    19f283abc5d1 yaffs2: fix memory leak in mount/umount
    04e84672b571 yaffs: Avoid setting any ACL releated xattr
    4f221d6a32e2 Yaffs:check oob size before auto selecting Yaffs1
    81f36004e56b fs: yaffs2: replace CURRENT_TIME by other appropriate apis
    26d7a3dd0054 yaffs2: adjust to proper location of MS_RDONLY
    a7016eac4540 yaffs2: import git revision b4ce1bb (jan, 2020)
    feb240bbb91e initramfs: allow an optional wrapper script around initramfs generation
    874746eaa341 drivers: gpu: drm: msm: registers: improve reproducibility
    1d42508faee8 tools: use basename to identify file in gen-mach-types
    4b055eca593d iwlwifi: select MAC80211_LEDS conditionally
    97e20e275ac0 net/dccp: make it depend on CONFIG_BROKEN (CVE-2020-16119)
    6dec58319165 defconfigs: drop obselete options
    a416ccb5b6c9 linux-yocto: Handle /bin/awk issues
    7efe8a1e5158 uvesafb: provide option to specify timeout for task completion
    78d10ae07eca uvesafb: print error message when task timeout occurs
    80473b7eb8ca compiler.h: Undef before redefining __attribute_const__
    ddeff2f1a9a7 vmware: include jiffies.h
    3dcdda8912b4 Resolve jiffies wrapping about arp
    3b1507db6735 nfs: Allow default io size to be configured.
    c2fedad05f77 check console device file on fs when booting
    208d6fbada3f mount_root: clarify error messages for when no rootfs found
    dbe9454c8ea0 mconf: fix output of cflags and libraries
    7c7b224f5cce menuconfig,mconf-cfg: Allow specification of ncurses location
    b6c189c81397 modpost: mask trivial warnings
    a5cc21325ba9 kbuild: exclude meta directory from distclean processing
    361ec143c23f powerpc: serialize image targets
    605e6ccb304c arm: serialize build targets
    e94b04fcb7d2 mtd_blkdevs: add mtd_table_mutex lock back to blktrans_{open, release} to avoid race condition
    44cc7f69a0a0 cpu/amd: inhibit SMP check for qemux86
    a08cb65331e6 x86_64_defconfig: Fix warnings
    8ad332ef777b mips: make current_cpu_data preempt safe
    754f05ddce3f mips: vdso: fix 'jalr $t9' crash in vdso code
    325ff78ff44d mips: Kconfig: add QEMUMIPS64 option
    99ae0eadcf11 4kc cache tlb hazard: tlbp cache coherency
    c6894c66a534 malta uhci quirks: make allowance for slow 4k(e)c
    8b52c01f3294 arm64: defconfig: remove CONFIG_IPQ_APSS_5018
    16c7629f035e drm/fb-helper: move zeroing code to drm_fb_helper_fill_var
    6b60c874cbb0 arm64: defconfig: cleanup config options
    8e44673ecd89 vexpress: Pass LOADADDR to Makefile
    f34e6805aad5 arm: ARM EABI socketcall
    94dec9b88de4 ARM: LPAE: Invalidate the TLB for module addresses during translation fault

(From OE-Core rev: dc1f7b326cd2aa8b074158e24af4ee41614cd459)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-23 19:48:04 +01:00
Bruce Ashfield
3408d70d2c linux-yocto/6.12: config: add pmem to genericarm64
Integrating the following commit(s) to linux-yocto/.:

1/1 [
    Author: Mikko Rapeli
    Email: mikko.rapeli@linaro.org
    Subject: genericarm64: add pmem feature and enable on genericarm64
    Date: Fri, 14 Mar 2025 11:48:34 +0200

    PMEM enables firmware to provide large memory block devices
    to the kernel. The firmware can download e.g. installer
    rootfs images to memory which kernel can then boot into.

    u-boot support has been added in
    https://lore.kernel.org/u-boot/20241203163605.1482152-2-sughosh.ganu@linaro.org/

    Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
    Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
]

(From OE-Core rev: 15269f4ef08a5aa40e1794025a294ae66784a9e4)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-23 19:48:03 +01:00
Bruce Ashfield
8df460977d mips: Add '-std=gnu11' to vdso CFLAGS
Integrating the following commit(s) to linux-yocto/6.12:

1/1 [
    Author: Khem Raj
    Email: raj.khem@gmail.com
    Subject: mips: Add '-std=gnu11' to vdso CFLAGS
    Date: Wed, 26 Mar 2025 20:24:36 -0700

    GCC 15 changed the default C standard dialect from gnu17 to gnu23,
    which should not have impacted the kernel because it explicitly requests
    the gnu11 standard in the main Makefile. However, mips/vdso code uses
    its own CFLAGS without a '-std=' value, which break with this dialect
    change because of the kernel's own definitions of bool, false, and true
    conflicting with the C23 reserved keywords.

      include/linux/stddef.h:11:9: error: cannot use keyword 'false' as enumeration constant
         11 |         false   = 0,
            |         ^~~~~
      include/linux/stddef.h:11:9: note: 'false' is a keyword with '-std=c23' onwards
      include/linux/types.h:35:33: error: 'bool' cannot be defined via 'typedef'
         35 | typedef _Bool                   bool;
            |                                 ^~~~
      include/linux/types.h:35:33: note: 'bool' is a keyword with '-std=c23' onwards

    Add '-std=gnu11' to the decompressor and purgatory CFLAGS to eliminate
    these errors and make the C standard version of these areas match the
    rest of the kernel.

    Signed-off-by: Khem Raj <raj.khem@gmail.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
]

(From OE-Core rev: 832657740c76c63b2e2e9229eb3934c04a5d5ca1)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-23 19:48:03 +01:00
Antonin Godard
fdf0ab1370 Fix dead links that use the DISTRO macro
After introducing the DISTRO_LATEST_TAG and DISTRO_REL_LATEST_TAG
macros, use them in links that currently use DISTRO/DISTRO_REL_TAG. When
building for the tip of a branch, this will replace the current A.B.999
in links to the latest existing tag.

The links were found across the documentation by running 'grep -r
"http.*5\.2\.999"' inside the _build/html output after building the
docs.

[YOCTO #14802]

(From yocto-docs rev: 29be069ebbf2c55d72fc51d99ed5a558af37c05e)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-21 21:17:02 +01:00
Antonin Godard
5c4cf4b573 poky.yaml: introduce DISTRO_LATEST_TAG
Introduce the DISTRO_LATEST_TAG macro, which should always point to the
latest existing tag in the documentation, unlike DISTRO which may point
to A.B.999 to represent the tip of a branch.

This variable is needed to fix dead links in the documentation that
currently use the DISTRO macro.

Also, make DISTRO_REL_TAG use the DISTRO macro directly, to avoid
repetition, and add a DISTRO_REL_LATEST_TAG macro that has the same role
as DISTRO_LATEST_TAG but with "yocto-" prepended to it.

In set_versions.py, run the "git describe --abbrev=0 --tags
--match='yocto-*'" command to get the latest existing tag on the
currently checked out commit. Fallback to ourversion in case we didn't
find any.

(From yocto-docs rev: a85b0e500c94921f77fa7b7dbb877e4945f96d1e)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-21 21:17:02 +01:00
Andrew Kreimer
e5577538c3 manuals: remove repeated word
The word "modern" appears twice, remove the extra one.

(From yocto-docs rev: 8a2169431551ea29bf45b2eb120a13f0e444e1ea)

Signed-off-by: Andrew Kreimer <algonell@gmail.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-21 21:17:02 +01:00
Antonin Godard
90e4af3eff migration-guides/{migration,release-note}-5.2: update for 5.2 release
Document changes between 1c3020f173 ("expat: Upgrade 2.7.0 -> 2.7.1")
up to e894acce6e ("build-appliance-image: Update to master head
revision") in Poky:

- Add a note on the devtool upgrade-status change.
- Be more precise about the usage of multiple repositories in SRC_URI,
  mention that it makes sense for bare clones only.

As the walnascar branch has now frozen and is up for QA, these should be
the one of the last changes to these documents.

(From yocto-docs rev: 322355ead2be9e267368ca47d805f41ae10ad6cc)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-21 21:17:02 +01:00
Antonin Godard
15a7d7b881 ref-manual/variables.rst: improve the PKGV documentation
It may be confusing for users that source control information is not
present in the BitBake environment. Document it as a warning block.

(From yocto-docs rev: 39967b9cc87cf216c4658598806fd7a68db5053a)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-21 21:17:02 +01:00
Peter Marko
39cbc37918 cve-update-nvd2-native: add workaround for json5 style list
NVD responses changed to an invalid json between:
* April 5, 2025 at 3:03:44 AM GMT+2
* April 5, 2025 at 4:19:48 AM GMT+2

The last response is since then in format
{
  "resultsPerPage": 625,
  "startIndex": 288000,
  "totalResults": 288625,
  "format": "NVD_CVE",
  "version": "2.0",
  "timestamp": "2025-04-07T07:17:17.534",
  "vulnerabilities": [
    {...},
    ...
    {...},
  ]
}

Json does not allow trailing , in responses, that is json5 format.
So cve-update-nvd2-native do_Fetch task fails with log backtrace ending:

...
File: '/builds/ccp/meta-siemens/projects/ccp/../../poky/meta/recipes-core/meta/cve-update-nvd2-native.bb', lineno: 234, function: update_db_file
     0230:            if raw_data is None:
     0231:                # We haven't managed to download data
     0232:                return False
     0233:
 *** 0234:            data = json.loads(raw_data)
     0235:
     0236:            index = data["startIndex"]
     0237:            total = data["totalResults"]
     0238:            per_page = data["resultsPerPage"]
...
File: '/usr/lib/python3.11/json/decoder.py', lineno: 355, function: raw_decode
     0351:        """
     0352:        try:
     0353:            obj, end = self.scan_once(s, idx)
     0354:        except StopIteration as err:
 *** 0355:            raise JSONDecodeError("Expecting value", s, err.value) from None
     0356:        return obj, end
Exception: json.decoder.JSONDecodeError: Expecting value: line 1 column 1442633 (char 1442632)
...

There was no announcement about json format of API v2.0 by nvd.
Also this happens only if whole database is queried (database update is
fine, even when multiple pages as queried).
And lastly it's only the cve list, all other lists inside are fine.
So this looks like a bug in NVD 2.0 introduced with some update.

Patch this with simple character deletion for now and let's monitor the
situation and possibly switch to json5 in the future.
Note that there is no native json5 support in python, we'd have to use
one of external libraries for it.

(From OE-Core rev: 131d983dd19ae12bf0746f772b7d7a058e549fb1)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-10 11:53:36 +01:00
Lee Chee Yang
9f9e7bbace migration-guides: add release notes for 5.0.8
(From yocto-docs rev: 3b50193fa0c9acf4a601aeae6e1c78d0e4a05aef)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 7494df521ed9c70e877dbdef1adfe38ad717682f)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-03 16:29:51 +01:00
Lee Chee Yang
539ce63c81 migration-guides: add release notes for 5.1.4
(From yocto-docs rev: 4602e6b42118e7fbd3b6aa07782779047d209bb0)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit f7c8fdfdfef0cac529594af5bdb72e53b29262fe)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-03 16:29:51 +01:00
Antonin Godard
43d807650a ref-manual/variables.rst: HOST_CC_ARCH: fix wrong SDK reference
When building for nativesdk recipes, HOST_CC_ARCH equals SDK_CC_ARCH,
not BUILDSDK_CC_ARCH which doesn't exist.

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
(From yocto-docs rev: a4a8aca22bb854756eb2ed1e652331bec3c7c68e)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 08fc3446cb13b5bd8781874d2d996899ce12b082)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-03 16:29:51 +01:00
Antonin Godard
949c0bb2f5 ref-manual/variables.rst: document HOST_*_ARCH variables
These variables control the flags for the assembler, compiler and
linker, but depend on the context.

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
(From yocto-docs rev: 8f070b788c9cd6cc16e03505d978177b4c82de03)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit f8eb33569a5e8cadc036855e2d95eee77e627cb4)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-03 16:29:51 +01:00
Antonin Godard
0c32303252 ref-manual/variables.rst: document missing SDK_*_ARCH variables
These variables control the flags for the assembler, compiler and linker
when building for nativesdk recipes.

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
(From yocto-docs rev: 978300e5f14874f2586efa3474c6f3803e3d9031)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit c08f6d3c8aee86264c069b7c30850cb02de76076)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-03 16:29:51 +01:00
Antonin Godard
ecacb6015a ref-manual/variables.rst: add missing documentation for BUILD_* variables
These toolchain variables are used in a native context. Some of the
BUILD_* variables missed documentation. Also, some of the base commands
were also not there so document them.

Some of existing BUILD_* variable documentation were missing the note
about their usage in a native context, so add it too so that all BUILD_*
variables are documented the same way.

[YOCTO #15719]

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
(From yocto-docs rev: e42d49218945a030f300dbb608e7cfb0611f5733)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 87103afa1cb6690e9aaa87ca1f23e45eaaa359ac)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-03 16:29:51 +01:00
Antonin Godard
0990fceebe ref-manual/variables.rst: add manpage links for toolchain variables
Use the :manpage: role to provide links to common toolchain utilities.

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
(From yocto-docs rev: 8a25963c8dfc36482582294f0d2e7c7555d96399)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 7023e5f176efde05a6798476712c8a4e006a6b0d)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-03 16:29:51 +01:00
Antonin Godard
6b2bc1e4cb documentation/conf.py: define a manpage url
By defining the manpages_url we can use the :manpage: role in the
documentation for providing links to manpages. See:
https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-manpages_url

Replace existing manpages links to use this role.

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
(From yocto-docs rev: 0d0115cb2d96960837678f775cf5c2297494c51c)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 4e63cd74cd1a330ea5e96bb04243a90f607b2857)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-03 16:29:51 +01:00
Antonin Godard
5ec826fa2e migration-guides/{migration,release-note}-5.2: improvements and fixes
Address some of the reviews received on the release notes and migration
guide for 5.2:

- Remove the wget fetcher addition, I misread commit 0a9f90ff658e
  ("tests/fetch: support setting PV in the wget fetcher") from BitBake,
  and it actually affects the tests for the wget fetcher, not the
  fetcher itself.
- Add a way to transition from the branch=nameX,nameY syntax. From what
  I have tested, I achieve the same behavior when using one or the other
  syntax.
- Remove the default value for SPDX_PACKAGE_VERSION in the release note.
- Fix a couple of typos.

Suggested-by: Quentin Schulz <quentin.schulz@cherry.de>
(From yocto-docs rev: 39bf43a6009a46d4979337d7401eb46ece618f67)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-03 16:29:51 +01:00
Antonin Godard
a287584563 ref-manual/classes: ptest-python-pytest: improve the current documentation
Improve the current ptest-python-pytest documentation and
PTEST_PYTEST_DIR variable definition. Namely remove the default value
that may evolve over time.

Suggested-by: Quentin Schulz <quentin.schulz@cherry.de>
(From yocto-docs rev: a83406103ca73d84fc8f5c50a8968faf91276a62)

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-03 16:29:51 +01:00
1131 changed files with 16804 additions and 23623 deletions

View File

@@ -27,7 +27,7 @@ from bb.main import bitbake_main, BitBakeConfigParameters, BBMainException
bb.utils.check_system_locale()
__version__ = "2.15.0"
__version__ = "2.12.0"
if __name__ == "__main__":
if __version__ != bb.__version__:

View File

@@ -10,7 +10,6 @@ import io
import os
import sys
import warnings
import logging
warnings.simplefilter("default")
bindir = os.path.dirname(__file__)
@@ -39,10 +38,6 @@ if __name__ == "__main__":
sys.exit("--flag only makes sense with --value")
quiet = args.quiet or args.value
if quiet:
logger = logging.getLogger("BitBake")
logger.setLevel(logging.WARNING)
with bb.tinfoil.Tinfoil(tracking=True, setup_logging=not quiet) as tinfoil:
if args.recipe:
tinfoil.prepare(quiet=3 if quiet else 2)

View File

@@ -686,9 +686,9 @@ Such functionality is set by the variable:
delegate access to resources, if this variable is set, the Az Fetcher will
use it when fetching artifacts from the cloud.
You can specify the AZ_SAS variable prefixed with a ? as shown below::
You can specify the AZ_SAS variable as shown below::
AZ_SAS = "?se=2021-01-01&sp=r&sv=2018-11-09&sr=c&skoid=<skoid>&sig=<signature>"
AZ_SAS = "se=2021-01-01&sp=r&sv=2018-11-09&sr=c&skoid=<skoid>&sig=<signature>"
Here is an example URL::

View File

@@ -1,59 +0,0 @@
.. SPDX-License-Identifier: CC-BY-2.5
=================
Library Functions
=================
|
This chapter lists common library functions available under the ``lib/``
directory in BitBake.
These functions can be used in recipes or configuration files with
:ref:`inline-Python <bitbake-user-manual/bitbake-user-manual-metadata:Inline
Python Variable Expansion>` or :ref:`Python
<bitbake-user-manual/bitbake-user-manual-metadata:BitBake-Style Python
Functions>` functions.
Logging utilities
=================
Different logging utilities can be used from Python code in recipes or
configuration files.
The strings passed below can be formatted with ``str.format()``, for example::
bb.warn("Houston, we have a %s", "bit of a problem")
Formatted string can also be used directly::
bb.error("%s, we have a %s" % ("Houston", "big problem"))
Python f-strings may also be used::
h = "Houston"
bb.fatal(f"{h}, we have a critical problem")
.. automodule:: bb
:members:
debug,
error,
erroronce,
fatal,
note,
plain,
verbnote,
warn,
warnonce,
``bb.utils``
============
.. automodule:: bb.utils
:members:
:exclude-members:
LogCatcher,
PrCtlError,
VersionStringException,
better_compile,
better_exec,

View File

@@ -1405,8 +1405,8 @@ the task and other tasks. Here is an example that shows how to define a
task and declare some dependencies::
python do_printdate () {
import datetime
bb.plain('Date: %s' % (datetime.date.today()))
import time
print time.strftime('%Y%m%d', time.gmtime())
}
addtask printdate after do_fetch before do_build
@@ -2074,8 +2074,11 @@ access. Here is a list of available operations:
Other Functions
---------------
Other functions are documented in the
:doc:`/bitbake-user-manual/bitbake-user-manual-library-functions` document.
You can find many other functions that can be called from Python by
looking at the source code of the ``bb`` module, which is in
``bitbake/lib/bb``. For example, ``bitbake/lib/bb/utils.py`` includes
the commonly used functions ``bb.utils.contains()`` and
``bb.utils.mkdirhier()``, which come with docstrings.
Extending Python Library Code
-----------------------------

View File

@@ -17,8 +17,6 @@
import sys
import datetime
from pathlib import Path
current_version = "dev"
# String used in sidebar
@@ -49,7 +47,6 @@ extlinks = {
extensions = [
'sphinx.ext.autosectionlabel',
'sphinx.ext.extlinks',
'sphinx.ext.autodoc',
]
autosectionlabel_prefix_document = True
@@ -102,7 +99,3 @@ html_last_updated_fmt = '%b %d, %Y'
# Remove the trailing 'dot' in section numbers
html_secnumber_suffix = " "
# autoconf needs the modules available to auto-generate documentation from the
# code
sys.path.insert(0, str(Path('..', 'lib').resolve()))

View File

@@ -16,7 +16,6 @@ BitBake User Manual
bitbake-user-manual/bitbake-user-manual-ref-variables-context
bitbake-user-manual/bitbake-user-manual-fetching
bitbake-user-manual/bitbake-user-manual-ref-variables
bitbake-user-manual/bitbake-user-manual-library-functions
bitbake-user-manual/bitbake-user-manual-hello
.. toctree::

View File

@@ -4,11 +4,11 @@
BitBake Supported Release Manuals
=================================
******************************
Release Series 5.2 (walnascar)
******************************
****************************
Release Series 5.1 (styhead)
****************************
- :yocto_docs:`BitBake 2.12 User Manual </bitbake/2.12/>`
- :yocto_docs:`BitBake 2.10 User Manual </bitbake/2.10/>`
*******************************
Release Series 5.0 (scarthgap)
@@ -26,12 +26,6 @@ Release Series 4.0 (kirkstone)
BitBake Outdated Release Manuals
================================
****************************
Release Series 5.1 (styhead)
****************************
- :yocto_docs:`BitBake 2.10 User Manual </bitbake/2.10/>`
*******************************
Release Series 4.3 (nanbield)
*******************************

View File

@@ -9,7 +9,7 @@
# SPDX-License-Identifier: GPL-2.0-only
#
__version__ = "2.15.0"
__version__ = "2.12.0"
import sys
if sys.version_info < (3, 9, 0):
@@ -129,25 +129,9 @@ sys.modules['bb.fetch'] = sys.modules['bb.fetch2']
# Messaging convenience functions
def plain(*args):
"""
Prints a message at "plain" level (higher level than a ``bb.note()``).
Arguments:
- ``args``: one or more strings to print.
"""
mainlogger.plain(''.join(args))
def debug(lvl, *args):
"""
Prints a debug message.
Arguments:
- ``lvl``: debug level. Higher value increases the debug level
(determined by ``bitbake -D``).
- ``args``: one or more strings to print.
"""
if isinstance(lvl, str):
mainlogger.warning("Passed invalid debug level '%s' to bb.debug", lvl)
args = (lvl,) + args
@@ -155,81 +139,33 @@ def debug(lvl, *args):
mainlogger.bbdebug(lvl, ''.join(args))
def note(*args):
"""
Prints a message at "note" level.
Arguments:
- ``args``: one or more strings to print.
"""
mainlogger.info(''.join(args))
#
# A higher prioity note which will show on the console but isn't a warning
#
# Something is happening the user should be aware of but they probably did
# something to make it happen
#
def verbnote(*args):
"""
A higher priority note which will show on the console but isn't a warning.
Use in contexts when something is happening the user should be aware of but
they probably did something to make it happen.
Arguments:
- ``args``: one or more strings to print.
"""
mainlogger.verbnote(''.join(args))
#
# Warnings - things the user likely needs to pay attention to and fix
#
def warn(*args):
"""
Prints a warning message.
Arguments:
- ``args``: one or more strings to print.
"""
mainlogger.warning(''.join(args))
def warnonce(*args):
"""
Prints a warning message like ``bb.warn()``, but only prints the message
once.
Arguments:
- ``args``: one or more strings to print.
"""
mainlogger.warnonce(''.join(args))
def error(*args, **kwargs):
"""
Prints an error message.
Arguments:
- ``args``: one or more strings to print.
"""
mainlogger.error(''.join(args), extra=kwargs)
def erroronce(*args):
"""
Prints an error message like ``bb.error()``, but only prints the message
once.
Arguments:
- ``args``: one or more strings to print.
"""
mainlogger.erroronce(''.join(args))
def fatal(*args, **kwargs):
"""
Prints an error message and stops the BitBake execution.
Arguments:
- ``args``: one or more strings to print.
"""
mainlogger.critical(''.join(args), extra=kwargs)
raise BBHandledException()

View File

@@ -69,7 +69,7 @@ def add_module_functions(fn, functions, namespace):
name = "%s.%s" % (namespace, f)
parser = PythonParser(name, logger)
try:
parser.parse_python(None, filename=fn, lineno=1, fixedhash=fixedhash+f, func=functions[f])
parser.parse_python(None, filename=fn, lineno=1, fixedhash=fixedhash+f)
#bb.warn("Cached %s" % f)
except KeyError:
try:
@@ -87,7 +87,7 @@ def add_module_functions(fn, functions, namespace):
# Builtin
continue
src = "".join(lines)
parser.parse_python(src, filename=fn, lineno=lineno, fixedhash=fixedhash+f, func=functions[f])
parser.parse_python(src, filename=fn, lineno=lineno, fixedhash=fixedhash+f)
#bb.warn("Not cached %s" % f)
execs = parser.execs.copy()
# Expand internal module exec references
@@ -348,7 +348,7 @@ class PythonParser():
# For the python module code it is expensive to have the function text so it is
# uses a different fixedhash to cache against. We can take the hit on obtaining the
# text if it isn't in the cache.
def parse_python(self, node, lineno=0, filename="<string>", fixedhash=None, func=None):
def parse_python(self, node, lineno=0, filename="<string>", fixedhash=None):
if not fixedhash and (not node or not node.strip()):
return
@@ -390,10 +390,6 @@ class PythonParser():
if n.__class__.__name__ == "Call":
self.visit_Call(n)
if func is not None:
self.references |= getattr(func, "bb_vardeps", set())
self.references -= getattr(func, "bb_vardepsexclude", set())
self.execs.update(self.var_execs)
self.extra = None
if fixedhash:

View File

@@ -431,16 +431,6 @@ class RecipeEvent(Event):
self.fn = fn
Event.__init__(self)
class RecipePreDeferredInherits(RecipeEvent):
"""
Called before deferred inherits are processed so code can snoop on class extensions for example
Limitations: It won't see inherits of inherited classes and the data is unexpanded
"""
def __init__(self, fn, inherits):
self.fn = fn
self.inherits = inherits
Event.__init__(self)
class RecipePreFinalise(RecipeEvent):
""" Recipe Parsing Complete but not yet finalised"""

View File

@@ -1092,10 +1092,6 @@ def try_mirror_url(fetch, origud, ud, ld, check = False):
# If that tarball is a local file:// we need to provide a symlink to it
dldir = ld.getVar("DL_DIR")
if bb.utils.to_boolean(ld.getVar("BB_FETCH_PREMIRRORONLY")):
ld = ld.createCopy()
ld.setVar("BB_NO_NETWORK", "1")
if origud.mirrortarballs and os.path.basename(ud.localpath) in origud.mirrortarballs and os.path.basename(ud.localpath) != os.path.basename(origud.localpath):
# Create donestamp in old format to avoid triggering a re-download
if ud.donestamp:
@@ -1117,10 +1113,7 @@ def try_mirror_url(fetch, origud, ud, ld, check = False):
origud.method.build_mirror_data(origud, ld)
return origud.localpath
# Otherwise the result is a local file:// and we symlink to it
# This may also be a link to a shallow archive
# When using shallow mode, add a symlink to the original fullshallow
# path to ensure a valid symlink even in the `PREMIRRORS` case
origud.method.update_mirror_links(ud, origud)
ensure_symlink(ud.localpath, origud.localpath)
update_stamp(origud, ld)
return ud.localpath
@@ -1154,6 +1147,25 @@ def try_mirror_url(fetch, origud, ud, ld, check = False):
if ud.lockfile and ud.lockfile != origud.lockfile:
bb.utils.unlockfile(lf)
def ensure_symlink(target, link_name):
if not os.path.exists(link_name):
dirname = os.path.dirname(link_name)
bb.utils.mkdirhier(dirname)
if os.path.islink(link_name):
# Broken symbolic link
os.unlink(link_name)
# In case this is executing without any file locks held (as is
# the case for file:// URLs), two tasks may end up here at the
# same time, in which case we do not want the second task to
# fail when the link has already been created by the first task.
try:
os.symlink(target, link_name)
except FileExistsError:
pass
def try_mirrors(fetch, d, origud, mirrors, check = False):
"""
Try to use a mirrored version of the sources.
@@ -1573,11 +1585,11 @@ class FetchMethod(object):
datafile = None
if output:
for line in output.decode().splitlines():
if line.startswith('data.tar.') or line == 'data.tar':
if line.startswith('data.tar.'):
datafile = line
break
else:
raise UnpackError("Unable to unpack deb/ipk package - does not contain data.tar* file", urldata.url)
raise UnpackError("Unable to unpack deb/ipk package - does not contain data.tar.* file", urldata.url)
else:
raise UnpackError("Unable to unpack deb/ipk package - could not list contents", urldata.url)
cmd = 'ar x %s %s && %s -p -f %s && rm %s' % (file, datafile, tar_cmd, datafile, datafile)
@@ -1639,28 +1651,6 @@ class FetchMethod(object):
"""
bb.utils.remove(urldata.localpath)
def ensure_symlink(self, target, link_name):
if not os.path.exists(link_name):
dirname = os.path.dirname(link_name)
bb.utils.mkdirhier(dirname)
if os.path.islink(link_name):
# Broken symbolic link
os.unlink(link_name)
# In case this is executing without any file locks held (as is
# the case for file:// URLs), two tasks may end up here at the
# same time, in which case we do not want the second task to
# fail when the link has already been created by the first task.
try:
os.symlink(target, link_name)
except FileExistsError:
pass
def update_mirror_links(self, ud, origud):
# For local file:// results, create a symlink to them
# This may also be a link to a shallow archive
self.ensure_symlink(ud.localpath, origud.localpath)
def try_premirror(self, urldata, d):
"""
Should premirrors be used?

View File

@@ -36,8 +36,6 @@ class Az(Wget):
az_sas = d.getVar('AZ_SAS')
if az_sas and az_sas not in ud.url:
if not az_sas.startswith('?'):
raise FetchError("When using AZ_SAS, it must start with a '?' character to mark the start of the query-parameters.")
ud.url += az_sas
return Wget.checkstatus(self, fetch, ud, d, try_again)
@@ -64,8 +62,6 @@ class Az(Wget):
az_sas = d.getVar('AZ_SAS')
if az_sas:
if not az_sas.startswith('?'):
raise FetchError("When using AZ_SAS, it must start with a '?' character to mark the start of the query-parameters.")
azuri = '%s%s%s%s' % ('https://', ud.host, ud.path, az_sas)
else:
azuri = '%s%s%s' % ('https://', ud.host, ud.path)

View File

@@ -182,7 +182,7 @@ class Git(FetchMethod):
ud.bareclone = ud.parm.get("bareclone","0") == "1"
if ud.bareclone:
ud.nocheckout = 1
ud.unresolvedrev = ""
ud.branch = ud.parm.get("branch", "")
if not ud.branch and not ud.nobranch:
@@ -324,13 +324,10 @@ class Git(FetchMethod):
return False
def lfs_need_update(self, ud, d):
if not self._need_lfs(ud):
return False
if self.clonedir_need_update(ud, d):
return True
if not self._lfs_objects_downloaded(ud, d, ud.clonedir):
if not self._lfs_objects_downloaded(ud, d, ud.name, ud.clonedir):
return True
return False
@@ -348,13 +345,6 @@ class Git(FetchMethod):
def tarball_need_update(self, ud):
return ud.write_tarballs and not os.path.exists(ud.fullmirror)
def update_mirror_links(self, ud, origud):
super().update_mirror_links(ud, origud)
# When using shallow mode, add a symlink to the original fullshallow
# path to ensure a valid symlink even in the `PREMIRRORS` case
if ud.shallow and not os.path.exists(origud.fullshallow):
self.ensure_symlink(ud.localpath, origud.fullshallow)
def try_premirror(self, ud, d):
# If we don't do this, updating an existing checkout with only premirrors
# is not possible
@@ -489,14 +479,35 @@ class Git(FetchMethod):
raise bb.fetch2.FetchError("Unable to find revision %s even from upstream" % missing_rev)
if self.lfs_need_update(ud, d):
self.lfs_fetch(ud, d, ud.clonedir, ud.revision)
# Unpack temporary working copy, use it to run 'git checkout' to force pre-fetching
# of all LFS blobs needed at the srcrev.
#
# It would be nice to just do this inline here by running 'git-lfs fetch'
# on the bare clonedir, but that operation requires a working copy on some
# releases of Git LFS.
with tempfile.TemporaryDirectory(dir=d.getVar('DL_DIR')) as tmpdir:
# Do the checkout. This implicitly involves a Git LFS fetch.
Git.unpack(self, ud, tmpdir, d)
# Scoop up a copy of any stuff that Git LFS downloaded. Merge them into
# the bare clonedir.
#
# As this procedure is invoked repeatedly on incremental fetches as
# a recipe's SRCREV is bumped throughout its lifetime, this will
# result in a gradual accumulation of LFS blobs in <ud.clonedir>/lfs
# corresponding to all the blobs reachable from the different revs
# fetched across time.
#
# Only do this if the unpack resulted in a .git/lfs directory being
# created; this only happens if at least one blob needed to be
# downloaded.
if os.path.exists(os.path.join(ud.destdir, ".git", "lfs")):
runfetchcmd("tar -cf - lfs | tar -xf - -C %s" % ud.clonedir, d, workdir="%s/.git" % ud.destdir)
def lfs_fetch(self, ud, d, clonedir, revision, fetchall=False, progresshandler=None):
"""Helper method for fetching Git LFS data"""
try:
if self._need_lfs(ud) and self._contains_lfs(ud, d, clonedir) and len(revision):
self._ensure_git_lfs(d, ud)
if self._need_lfs(ud) and self._contains_lfs(ud, d, clonedir) and self._find_git_lfs(d) and len(revision):
# Using worktree with the revision because .lfsconfig may exists
worktree_add_cmd = "%s worktree add wt %s" % (ud.basecmd, revision)
runfetchcmd(worktree_add_cmd, d, log=progresshandler, workdir=clonedir)
@@ -546,7 +557,7 @@ class Git(FetchMethod):
try:
self.clone_shallow_local(ud, shallowclone, d)
except:
logger.warning("Fast shallow clone failed, try to skip fast mode now.")
logger.warning("Fash shallow clone failed, try to skip fast mode now.")
bb.utils.remove(tempdir, recurse=True)
os.mkdir(tempdir)
ud.shallow_skip_fast = True
@@ -623,8 +634,9 @@ class Git(FetchMethod):
runfetchcmd(fetch_cmd, d, workdir=dest)
runfetchcmd("%s update-ref %s %s" % (ud.basecmd, ref, revision), d, workdir=dest)
# Fetch Git LFS data
self.lfs_fetch(ud, d, dest, ud.revision)
# Fetch Git LFS data for fast shallow clones
if not ud.shallow_skip_fast:
self.lfs_fetch(ud, d, dest, ud.revision)
# Apply extra ref wildcards
all_refs_remote = runfetchcmd("%s ls-remote origin 'refs/*'" % ud.basecmd, \
@@ -646,7 +658,7 @@ class Git(FetchMethod):
extra_refs.append(r)
for ref in extra_refs:
ref_fetch = ref.replace('refs/heads/', '').replace('refs/remotes/origin/', '').replace('refs/tags/', '')
ref_fetch = os.path.basename(ref)
runfetchcmd("%s fetch origin --depth 1 %s" % (ud.basecmd, ref_fetch), d, workdir=dest)
revision = runfetchcmd("%s rev-parse FETCH_HEAD" % ud.basecmd, d, workdir=dest)
runfetchcmd("%s update-ref %s %s" % (ud.basecmd, ref, revision), d, workdir=dest)
@@ -718,22 +730,17 @@ class Git(FetchMethod):
output = runfetchcmd("%s rev-list -n 1 %s" % (ud.basecmd, ud.parm['tag']), d, workdir=destdir)
output = output.strip()
if output != ud.revision:
# It is possible ud.revision is the revision on an annotated tag which won't match the output of rev-list
# If it resolves to the same thing there isn't a problem.
output2 = runfetchcmd("%s rev-list -n 1 %s" % (ud.basecmd, ud.revision), d, workdir=destdir)
output2 = output2.strip()
if output != output2:
raise bb.fetch2.FetchError("The revision the git tag '%s' resolved to didn't match the SRCREV in use (%s vs %s)" % (ud.parm['tag'], output, ud.revision), ud.url)
raise bb.fetch2.FetchError("The revision the git tag '%s' resolved to didn't match the SRCREV in use (%s vs %s)" % (ud.parm['tag'], output, ud.revision), ud.url)
repourl = self._get_repo_url(ud)
runfetchcmd("%s remote set-url origin %s" % (ud.basecmd, shlex.quote(repourl)), d, workdir=destdir)
if self._contains_lfs(ud, d, destdir):
if not need_lfs:
if need_lfs and not self._find_git_lfs(d):
raise bb.fetch2.FetchError("Repository %s has LFS content, install git-lfs on host to download (or set lfs=0 to ignore it)" % (repourl))
elif not need_lfs:
bb.note("Repository %s has LFS content but it is not being fetched" % (repourl))
else:
self._ensure_git_lfs(d, ud)
runfetchcmd("%s lfs install --local" % ud.basecmd, d, workdir=destdir)
if not ud.nocheckout:
@@ -791,16 +798,14 @@ class Git(FetchMethod):
raise bb.fetch2.FetchError("The command '%s' gave output with more then 1 line unexpectedly, output: '%s'" % (cmd, output))
return output.split()[0] != "0"
def _lfs_objects_downloaded(self, ud, d, wd):
def _lfs_objects_downloaded(self, ud, d, name, wd):
"""
Verifies whether the LFS objects for requested revisions have already been downloaded
"""
# Bail out early if this repository doesn't use LFS
if not self._contains_lfs(ud, d, wd):
if not self._need_lfs(ud) or not self._contains_lfs(ud, d, wd):
return True
self._ensure_git_lfs(d, ud)
# The Git LFS specification specifies ([1]) the LFS folder layout so it should be safe to check for file
# existence.
# [1] https://github.com/git-lfs/git-lfs/blob/main/docs/spec.md#intercepting-git
@@ -829,8 +834,18 @@ class Git(FetchMethod):
"""
Check if the repository has 'lfs' (large file) content
"""
if ud.nobranch:
# If no branch is specified, use the current git commit
refname = self._build_revision(ud, d, ud.name)
elif wd == ud.clonedir:
# The bare clonedir doesn't use the remote names; it has the branch immediately.
refname = ud.branch
else:
refname = "origin/%s" % ud.branch
cmd = "%s grep lfs %s:.gitattributes | wc -l" % (
ud.basecmd, ud.revision)
ud.basecmd, refname)
try:
output = runfetchcmd(cmd, d, quiet=True, workdir=wd)
@@ -840,14 +855,11 @@ class Git(FetchMethod):
pass
return False
def _ensure_git_lfs(self, d, ud):
def _find_git_lfs(self, d):
"""
Ensures that git-lfs is available, raising a FetchError if it isn't.
Return True if git-lfs can be found, False otherwise.
"""
if shutil.which("git-lfs", path=d.getVar('PATH')) is None:
raise bb.fetch2.FetchError(
"Repository %s has LFS content, install git-lfs on host to download (or set lfs=0 "
"to ignore it)" % self._get_repo_url(ud))
return shutil.which("git-lfs", path=d.getVar('PATH')) is not None
def _get_repo_url(self, ud):
"""
@@ -855,7 +867,7 @@ class Git(FetchMethod):
"""
# Note that we do not support passwords directly in the git urls. There are several
# reasons. SRC_URI can be written out to things like buildhistory and people don't
# want to leak passwords like that. Its also all too easy to share metadata without
# want to leak passwords like that. Its also all too easy to share metadata without
# removing the password. ssh keys, ~/.netrc and ~/.ssh/config files can be used as
# alternatives so we will not take patches adding password support here.
if ud.user:
@@ -979,7 +991,7 @@ class Git(FetchMethod):
Return a sortable revision number by counting commits in the history
Based on gitpkgv.bblass in meta-openembedded
"""
rev = ud.revision
rev = self._build_revision(ud, d, name)
localpath = ud.localpath
rev_file = os.path.join(localpath, "oe-gitpkgv_" + rev)
if not os.path.exists(localpath):

View File

@@ -122,7 +122,7 @@ class GitSM(Git):
url += ";name=%s" % module
url += ";subpath=%s" % module
url += ";nobranch=1"
url += ";lfs=%s" % ("1" if self._need_lfs(ud) else "0")
url += ";lfs=%s" % self._need_lfs(ud)
# Note that adding "user=" here to give credentials to the
# submodule is not supported. Since using SRC_URI to give git://
# URL a password is not supported, one have to use one of the
@@ -245,11 +245,12 @@ class GitSM(Git):
ret = self.process_submodules(ud, ud.destdir, unpack_submodules, d)
if not ud.bareclone and ret:
cmdprefix = ""
# Avoid LFS smudging (replacing the LFS pointers with the actual content) when LFS shouldn't be used but git-lfs is installed.
if not self._need_lfs(ud):
cmdprefix = "GIT_LFS_SKIP_SMUDGE=1 "
runfetchcmd("%s%s submodule update --recursive --no-fetch" % (cmdprefix, ud.basecmd), d, quiet=True, workdir=ud.destdir)
# All submodules should already be downloaded and configured in the tree. This simply
# sets up the configuration and checks out the files. The main project config should
# remain unmodified, and no download from the internet should occur. As such, lfs smudge
# should also be skipped as these files were already smudged in the fetch stage if lfs
# was enabled.
runfetchcmd("GIT_LFS_SKIP_SMUDGE=1 %s submodule update --recursive --no-fetch" % (ud.basecmd), d, quiet=True, workdir=ud.destdir)
def clean(self, ud, d):
def clean_submodule(ud, url, module, modpath, workdir, d):
url += ";bareclone=1;nobranch=1"

View File

@@ -176,41 +176,4 @@ def get_file_depends(d):
dep_files.append(os.path.abspath(fn))
return " ".join(dep_files)
def vardeps(*varnames):
"""
Function decorator that can be used to instruct the bitbake dependency
parsing to add a dependency on the specified variables names
Example:
@bb.parse.vardeps("FOO", "BAR")
def my_function():
...
"""
def inner(f):
if not hasattr(f, "bb_vardeps"):
f.bb_vardeps = set()
f.bb_vardeps |= set(varnames)
return f
return inner
def vardepsexclude(*varnames):
"""
Function decorator that can be used to instruct the bitbake dependency
parsing to ignore dependencies on the specified variable names in the code
Example:
@bb.parse.vardepsexclude("FOO", "BAR")
def my_function():
...
"""
def inner(f):
if not hasattr(f, "bb_vardepsexclude"):
f.bb_vardepsexclude = set()
f.bb_vardepsexclude |= set(varnames)
return f
return inner
from bb.parse.parse_py import __version__, ConfHandler, BBHandler

View File

@@ -340,7 +340,9 @@ class InheritDeferredNode(AstNode):
self.inherit = (classes, filename, lineno)
def eval(self, data):
bb.parse.BBHandler.inherit_defer(*self.inherit, data)
inherits = data.getVar('__BBDEFINHERITS', False) or []
inherits.append(self.inherit)
data.setVar('__BBDEFINHERITS', inherits)
class AddFragmentsNode(AstNode):
def __init__(self, filename, lineno, fragments_path_prefix, fragments_variable, flagged_variables_list_variable):
@@ -469,17 +471,6 @@ def finalize(fn, d, variant = None):
if d.getVar("_FAILPARSINGERRORHANDLED", False) == True:
raise bb.BBHandledException()
inherits = [x[0] for x in (d.getVar('__BBDEFINHERITS', False) or [('',)])]
bb.event.fire(bb.event.RecipePreDeferredInherits(fn, inherits), d)
while True:
inherits = d.getVar('__BBDEFINHERITS', False) or []
if not inherits:
break
inherit, filename, lineno = inherits.pop(0)
d.setVar('__BBDEFINHERITS', inherits)
bb.parse.BBHandler.inherit(inherit, filename, lineno, d, deferred=True)
for var in d.getVar('__BBHANDLERS', False) or []:
# try to add the handler
handlerfn = d.getVarFlag(var, "filename", False)
@@ -534,6 +525,14 @@ def multi_finalize(fn, d):
logger.debug("Appending .bbappend file %s to %s", append, fn)
bb.parse.BBHandler.handle(append, d, True)
while True:
inherits = d.getVar('__BBDEFINHERITS', False) or []
if not inherits:
break
inherit, filename, lineno = inherits.pop(0)
d.setVar('__BBDEFINHERITS', inherits)
bb.parse.BBHandler.inherit(inherit, filename, lineno, d, deferred=True)
onlyfinalise = d.getVar("__ONLYFINALISE", False)
safe_d = d
@@ -569,7 +568,7 @@ def multi_finalize(fn, d):
d.setVar("BBEXTENDVARIANT", variantmap[name])
else:
d.setVar("PN", "%s-%s" % (pn, name))
bb.parse.BBHandler.inherit_defer(extendedmap[name], fn, 0, d)
bb.parse.BBHandler.inherit(extendedmap[name], fn, 0, d)
safe_d.setVar("BBCLASSEXTEND", extended)
_create_variants(datastores, extendedmap.keys(), extendfunc, onlyfinalise)

View File

@@ -42,22 +42,12 @@ def supports(fn, d):
"""Return True if fn has a supported extension"""
return os.path.splitext(fn)[-1] in [".bb", ".bbclass", ".inc"]
def inherit_defer(expression, fn, lineno, d):
inherit = (expression, fn, lineno)
inherits = d.getVar('__BBDEFINHERITS', False) or []
inherits.append(inherit)
d.setVar('__BBDEFINHERITS', inherits)
def inherit(files, fn, lineno, d, deferred=False):
__inherit_cache = d.getVar('__inherit_cache', False) or []
#if "${" in files and not deferred:
# bb.warn("%s:%s has non deferred conditional inherit" % (fn, lineno))
files = d.expand(files).split()
for file in files:
defer = (d.getVar("BB_DEFER_BBCLASSES") or "").split()
if not deferred and file in defer:
inherit_defer(file, fn, lineno, d)
continue
classtype = d.getVar("__bbclasstype", False)
origfile = file
for t in ["classes-" + classtype, "classes"]:

View File

@@ -23,7 +23,7 @@ __config_regexp__ = re.compile( r"""
(?P<var>[a-zA-Z0-9\-_+.${}/~:]*?)
(\[(?P<flag>[a-zA-Z0-9\-_+.][a-zA-Z0-9\-_+.@/]*)\])?
(?P<whitespace>\s*) (
\s* (
(?P<colon>:=) |
(?P<lazyques>\?\?=) |
(?P<ques>\?=) |
@@ -32,7 +32,7 @@ __config_regexp__ = re.compile( r"""
(?P<predot>=\.) |
(?P<postdot>\.=) |
=
) (?P<whitespace2>\s*)
) \s*
(?!'[^']*'[^']*'$)
(?!\"[^\"]*\"[^\"]*\"$)
@@ -168,8 +168,6 @@ def feeder(lineno, s, fn, statements, baseconfig=False, conffile=True):
groupd = m.groupdict()
if groupd['var'] == "":
raise ParseError("Empty variable name in assignment: '%s'" % s, fn, lineno);
if not groupd['whitespace'] or not groupd['whitespace2']:
logger.warning("%s:%s has a lack of whitespace around the assignment: '%s'" % (fn, lineno, s))
ast.handleData(statements, fn, lineno, groupd)
return

View File

@@ -3034,13 +3034,14 @@ def build_scenequeue_data(sqdata, rqdata, sqrq):
rqdata.init_progress_reporter.next_stage(len(rqdata.runtaskentries))
# Sanity check all dependencies could be changed to setscene task references
for tid in rqdata.runtaskentries:
for taskcounter, tid in enumerate(rqdata.runtaskentries):
if tid in rqdata.runq_setscene_tids:
pass
elif sq_revdeps_squash[tid]:
bb.msg.fatal("RunQueue", "Something went badly wrong during scenequeue generation, halting. Please report this problem.")
else:
del sq_revdeps_squash[tid]
rqdata.init_progress_reporter.update(taskcounter)
rqdata.init_progress_reporter.next_stage()

View File

@@ -7,10 +7,7 @@
#
import contextlib
import shutil
import unittest
import unittest.mock
import urllib.parse
import hashlib
import tempfile
import collections
@@ -20,7 +17,6 @@ import tarfile
from bb.fetch2 import URI
from bb.fetch2 import FetchMethod
import bb
import bb.utils
from bb.tests.support.httpserver import HTTPService
def skipIfNoNetwork():
@@ -28,18 +24,6 @@ def skipIfNoNetwork():
return unittest.skip("network test")
return lambda f: f
@contextlib.contextmanager
def hide_directory(directory):
"""Hide the given directory and restore it after the context is left"""
temp_name = directory + ".bak"
os.rename(directory, temp_name)
try:
yield
finally:
os.rename(temp_name, directory)
class TestTimeout(Exception):
# Indicate to pytest that this is not a test suite
__test__ = False
@@ -1291,6 +1275,7 @@ class FetcherNetworkTest(FetcherTest):
class SVNTest(FetcherTest):
def skipIfNoSvn():
import shutil
if not shutil.which("svn"):
return unittest.skip("svn not installed, tests being skipped")
@@ -1413,6 +1398,8 @@ class TrustedNetworksTest(FetcherTest):
self.assertFalse(bb.fetch.trusted_network(self.d, url))
class URLHandle(unittest.TestCase):
import urllib.parse
# Quote password as per RFC3986
password = urllib.parse.quote(r"!#$%^&*()-_={}[]\|:?,.<>~`", r"!$&'/()*+,;=")
datatable = {
@@ -1439,6 +1426,7 @@ class URLHandle(unittest.TestCase):
self.assertEqual(result, v)
def test_encodeurl(self):
import urllib.parse
for k, v in self.datatable.items():
result = bb.fetch.encodeurl(v)
if result.startswith("file:"):
@@ -2237,33 +2225,6 @@ class GitShallowTest(FetcherTest):
self.fetch_shallow()
self.assertIn("Unable to find revision v0.0 even from upstream", cm.output[0])
@skipIfNoNetwork()
def test_git_shallow_fetch_premirrors(self):
url = "git://git.openembedded.org/bitbake;branch=master;protocol=https"
# Create a separate premirror directory within tempdir
premirror = os.path.join(self.tempdir, "premirror")
os.mkdir(premirror)
# Fetch a non-shallow clone into the premirror subdir
self.d.setVar('BB_GIT_SHALLOW', '0')
self.d.setVar("DL_DIR", premirror)
fetcher, ud = self.fetch(url)
# Fetch a shallow clone from the premirror subdir with unpacking
# using the original recipe URL and the premirror mapping
self.d.setVar('BB_GIT_SHALLOW', '1')
self.d.setVar("DL_DIR", self.dldir)
self.d.setVar('BB_FETCH_PREMIRRORONLY', '1')
self.d.setVar('BB_NO_NETWORK', '1')
self.d.setVar('BB_GENERATE_MIRROR_TARBALLS', '0')
self.d.setVar("PREMIRRORS", "git://.*/.* git://{0};protocol=file".format(premirror + "/git2/" + ud.host + ud.path.replace("/", ".")))
fetcher = self.fetch_and_unpack(url)
# Verify that the unpacked sources are shallow clones
self.assertRevCount(1)
assert os.path.exists(os.path.join(self.gitdir, '.git', 'shallow'))
@skipIfNoNetwork()
def test_bitbake(self):
self.git('remote add --mirror=fetch origin https://github.com/openembedded/bitbake', cwd=self.srcdir)
@@ -2308,21 +2269,9 @@ class GitShallowTest(FetcherTest):
self.assertRevCount(1)
assert os.path.exists(os.path.join(self.gitdir, '.git', 'shallow'))
def test_shallow_succeeds_with_tag_containing_slash(self):
self.add_empty_file('a')
self.add_empty_file('b')
self.git('tag t1/t2/t3', cwd=self.srcdir)
self.assertRevCount(2, cwd=self.srcdir)
srcrev = self.git('rev-parse HEAD', cwd=self.srcdir).strip()
self.d.setVar('SRCREV', srcrev)
uri = self.d.getVar('SRC_URI').split()[0]
uri = '%s;tag=t1/t2/t3' % uri
self.fetch_shallow(uri)
self.assertRevCount(1)
class GitLfsTest(FetcherTest):
def skipIfNoGitLFS():
import shutil
if not shutil.which('git-lfs'):
return unittest.skip('git-lfs not installed')
return lambda f: f
@@ -2346,18 +2295,12 @@ class GitLfsTest(FetcherTest):
self.git_init(cwd=self.srcdir)
self.commit_file('.gitattributes', '*.mp3 filter=lfs -text')
def commit(self, *, cwd=None):
cwd = cwd or self.srcdir
self.git(["commit", "-m", "Change"], cwd=cwd)
return self.git(["rev-parse", "HEAD"], cwd=cwd).strip()
def commit_file(self, filename, content, *, cwd=None):
cwd = cwd or self.srcdir
with open(os.path.join(cwd, filename), "w") as f:
def commit_file(self, filename, content):
with open(os.path.join(self.srcdir, filename), "w") as f:
f.write(content)
self.git(["add", filename], cwd=cwd)
return self.commit(cwd=cwd)
self.git(["add", filename], cwd=self.srcdir)
self.git(["commit", "-m", "Change"], cwd=self.srcdir)
return self.git(["rev-parse", "HEAD"], cwd=self.srcdir).strip()
def fetch(self, uri=None, download=True):
uris = self.d.getVar('SRC_URI').split()
@@ -2377,113 +2320,26 @@ class GitLfsTest(FetcherTest):
unpacked_lfs_file = os.path.join(self.d.getVar('WORKDIR'), 'git', "Cat_poster_1.jpg")
return unpacked_lfs_file
@skipIfNoGitLFS()
def test_gitsm_lfs(self):
"""Test that the gitsm fetcher caches objects stored via LFS"""
self.git(["lfs", "install", "--local"], cwd=self.srcdir)
def fetch_and_verify(revision, filename, content):
self.d.setVar('SRCREV', revision)
fetcher, ud = self.fetch()
with hide_directory(submoduledir), hide_directory(self.srcdir):
workdir = self.d.getVar('WORKDIR')
fetcher.unpack(workdir)
with open(os.path.join(workdir, "git", filename)) as f:
self.assertEqual(f.read(), content)
# Create the git repository that will later be used as a submodule
submoduledir = self.tempdir + "/submodule"
bb.utils.mkdirhier(submoduledir)
self.git_init(submoduledir)
self.git(["lfs", "install", "--local"], cwd=submoduledir)
self.commit_file('.gitattributes', '*.mp3 filter=lfs -text', cwd=submoduledir)
submodule_commit_1 = self.commit_file("a.mp3", "submodule version 1", cwd=submoduledir)
_ = self.commit_file("a.mp3", "submodule version 2", cwd=submoduledir)
# Add the submodule to the repository at its current HEAD revision
self.git(["-c", "protocol.file.allow=always", "submodule", "add", submoduledir, "submodule"],
cwd=self.srcdir)
base_commit_1 = self.commit()
# Let the submodule point at a different revision
self.git(["checkout", submodule_commit_1], self.srcdir + "/submodule")
self.git(["add", "submodule"], cwd=self.srcdir)
base_commit_2 = self.commit()
# Add a LFS file to the repository
base_commit_3 = self.commit_file("a.mp3", "version 1")
# Update the added LFS file
base_commit_4 = self.commit_file("a.mp3", "version 2")
self.d.setVar('SRC_URI', "gitsm://%s;protocol=file;lfs=1;branch=master" % self.srcdir)
# Verify that LFS objects referenced from submodules are fetched and checked out
fetch_and_verify(base_commit_1, "submodule/a.mp3", "submodule version 2")
# Verify that the repository inside the download cache of a submodile is extended with any
# additional LFS objects needed when checking out a different revision.
fetch_and_verify(base_commit_2, "submodule/a.mp3", "submodule version 1")
# Verify that LFS objects referenced from the base repository are fetched and checked out
fetch_and_verify(base_commit_3, "a.mp3", "version 1")
# Verify that the cached repository is extended with any additional LFS objects required
# when checking out a different revision.
fetch_and_verify(base_commit_4, "a.mp3", "version 2")
@skipIfNoGitLFS()
def test_gitsm_lfs_disabled(self):
"""Test that the gitsm fetcher does not use LFS when explicitly disabled"""
self.git(["lfs", "install", "--local"], cwd=self.srcdir)
def fetch_and_verify(revision, filename, content):
self.d.setVar('SRCREV', revision)
fetcher, ud = self.fetch()
with hide_directory(submoduledir), hide_directory(self.srcdir):
workdir = self.d.getVar('WORKDIR')
fetcher.unpack(workdir)
with open(os.path.join(workdir, "git", filename)) as f:
# Assume that LFS did not perform smudging when the expected content is
# missing.
self.assertNotEqual(f.read(), content)
# Create the git repository that will later be used as a submodule
submoduledir = self.tempdir + "/submodule"
bb.utils.mkdirhier(submoduledir)
self.git_init(submoduledir)
self.git(["lfs", "install", "--local"], cwd=submoduledir)
self.commit_file('.gitattributes', '*.mp3 filter=lfs -text', cwd=submoduledir)
submodule_commit_1 = self.commit_file("a.mp3", "submodule version 1", cwd=submoduledir)
# Add the submodule to the repository at its current HEAD revision
self.git(["-c", "protocol.file.allow=always", "submodule", "add", submoduledir, "submodule"],
cwd=self.srcdir)
base_commit_1 = self.commit()
# Add a LFS file to the repository
base_commit_2 = self.commit_file("a.mp3", "version 1")
self.d.setVar('SRC_URI', "gitsm://%s;protocol=file;lfs=1;branch=master;lfs=0" % self.srcdir)
# Verify that LFS objects referenced from submodules are not fetched nor checked out
fetch_and_verify(base_commit_1, "submodule/a.mp3", "submodule version 1")
# Verify that the LFS objects referenced from the base repository are not fetched nor
# checked out
fetch_and_verify(base_commit_2, "a.mp3", "version 1")
@skipIfNoGitLFS()
def test_fetch_lfs_on_srcrev_change(self):
"""Test if fetch downloads missing LFS objects when a different revision within an existing repository is requested"""
self.git(["lfs", "install", "--local"], cwd=self.srcdir)
@contextlib.contextmanager
def hide_upstream_repository():
"""Hide the upstream repository to make sure that git lfs cannot pull from it"""
temp_name = self.srcdir + ".bak"
os.rename(self.srcdir, temp_name)
try:
yield
finally:
os.rename(temp_name, self.srcdir)
def fetch_and_verify(revision, filename, content):
self.d.setVar('SRCREV', revision)
fetcher, ud = self.fetch()
with hide_directory(self.srcdir):
with hide_upstream_repository():
workdir = self.d.getVar('WORKDIR')
fetcher.unpack(workdir)
@@ -2535,6 +2391,8 @@ class GitLfsTest(FetcherTest):
@skipIfNoGitLFS()
def test_lfs_enabled(self):
import shutil
uri = 'git://%s;protocol=file;lfs=1;branch=master' % self.srcdir
self.d.setVar('SRC_URI', uri)
@@ -2545,6 +2403,8 @@ class GitLfsTest(FetcherTest):
@skipIfNoGitLFS()
def test_lfs_disabled(self):
import shutil
uri = 'git://%s;protocol=file;lfs=0;branch=master' % self.srcdir
self.d.setVar('SRC_URI', uri)
@@ -2553,64 +2413,48 @@ class GitLfsTest(FetcherTest):
fetcher, ud = self.fetch()
fetcher.unpack(self.d.getVar('WORKDIR'))
@skipIfNoGitLFS()
def test_lfs_enabled_not_installed_during_unpack(self):
uri = 'git://%s;protocol=file;lfs=1;branch=master' % self.srcdir
self.d.setVar('SRC_URI', uri)
# Careful: suppress initial attempt at downloading
fetcher, ud = self.fetch(uri=None, download=False)
fetcher.download()
# If git-lfs cannot be found, the unpack should throw an error
with self.assertRaises(bb.fetch2.FetchError):
with unittest.mock.patch("shutil.which", return_value=None):
shutil.rmtree(self.gitdir, ignore_errors=True)
fetcher.unpack(self.d.getVar('WORKDIR'))
def test_lfs_enabled_not_installed(self):
import shutil
uri = 'git://%s;protocol=file;lfs=1;branch=master' % self.srcdir
self.d.setVar('SRC_URI', uri)
# Careful: suppress initial attempt at downloading
fetcher, ud = self.fetch(uri=None, download=False)
# If git-lfs cannot be found, the download should throw an error
with unittest.mock.patch("shutil.which", return_value=None):
# Artificially assert that git-lfs is not installed, so
# we can verify a failure to unpack in it's absence.
old_find_git_lfs = ud.method._find_git_lfs
try:
# If git-lfs cannot be found, the unpack should throw an error
with self.assertRaises(bb.fetch2.FetchError):
fetcher.download()
ud.method._find_git_lfs = lambda d: False
shutil.rmtree(self.gitdir, ignore_errors=True)
fetcher.unpack(self.d.getVar('WORKDIR'))
finally:
ud.method._find_git_lfs = old_find_git_lfs
def test_lfs_disabled_not_installed(self):
import shutil
uri = 'git://%s;protocol=file;lfs=0;branch=master' % self.srcdir
self.d.setVar('SRC_URI', uri)
# Careful: suppress initial attempt at downloading
fetcher, ud = self.fetch(uri=None, download=False)
# Even if git-lfs cannot be found, the download / unpack should be successful
with unittest.mock.patch("shutil.which", return_value=None):
fetcher.download()
shutil.rmtree(self.gitdir, ignore_errors=True)
fetcher.unpack(self.d.getVar('WORKDIR'))
def test_lfs_enabled_not_installed_but_not_needed(self):
srcdir = os.path.join(self.tempdir, "emptygit")
bb.utils.mkdirhier(srcdir)
self.git_init(srcdir)
self.commit_file("test", "test content", cwd=srcdir)
uri = 'git://%s;protocol=file;lfs=1;branch=master' % srcdir
self.d.setVar('SRC_URI', uri)
# Careful: suppress initial attempt at downloading
fetcher, ud = self.fetch(uri=None, download=False)
# It shouldnt't matter that git-lfs cannot be found as the repository configuration does not
# specify any LFS filters.
with unittest.mock.patch("shutil.which", return_value=None):
# Artificially assert that git-lfs is not installed, so
# we can verify a failure to unpack in it's absence.
old_find_git_lfs = ud.method._find_git_lfs
try:
# Even if git-lfs cannot be found, the unpack should be successful
fetcher.download()
ud.method._find_git_lfs = lambda d: False
shutil.rmtree(self.gitdir, ignore_errors=True)
fetcher.unpack(self.d.getVar('WORKDIR'))
finally:
ud.method._find_git_lfs = old_find_git_lfs
class GitURLWithSpacesTest(FetcherTest):
test_git_urls = {
@@ -2767,6 +2611,7 @@ class CrateTest(FetcherTest):
class NPMTest(FetcherTest):
def skipIfNoNpm():
import shutil
if not shutil.which('npm'):
return unittest.skip('npm not installed')
return lambda f: f
@@ -3294,13 +3139,6 @@ class GitTagVerificationTests(FetcherTest):
fetcher.download()
fetcher.unpack(self.unpackdir)
def test_annotated_tag_rev_match(self):
# Test a url with rev= and tag= set works
# rev is the annotated tag revision in this case
fetcher = bb.fetch.Fetch(["git://git.openembedded.org/bitbake;branch=2.8;protocol=https;rev=6d363159e4b7dc566fc40d069b2615e61774a7d8;tag=2.8.7"], self.d)
fetcher.download()
fetcher.unpack(self.unpackdir)
@skipIfNoNetwork()
def test_tag_rev_match2(self):
# Test a url with SRCREV and tag= set works
@@ -3449,10 +3287,10 @@ class FetchPremirroronlyNetworkTest(FetcherTest):
self.d.setVar("PREMIRRORS", self.recipe_url + " " + "file://{}".format(self.mirrordir) + " \n")
def make_git_repo(self):
import shutil
self.mirrorname = "git2_git.yoctoproject.org.fstests.tar.gz"
os.makedirs(self.clonedir)
self.git("clone --bare {}".format(self.recipe_url), self.clonedir)
self.git("update-ref HEAD 15413486df1f5a5b5af699b6f3ba5f0984e52a9f", self.gitdir)
self.git("clone --bare --shallow-since=\"01.01.2013\" {}".format(self.recipe_url), self.clonedir)
bb.process.run('tar -czvf {} .'.format(os.path.join(self.mirrordir, self.mirrorname)), cwd = self.gitdir)
shutil.rmtree(self.clonedir)
@@ -3460,7 +3298,7 @@ class FetchPremirroronlyNetworkTest(FetcherTest):
def test_mirror_tarball_updated(self):
self.make_git_repo()
## Upstream commit is in the mirror
self.d.setVar("SRCREV", "15413486df1f5a5b5af699b6f3ba5f0984e52a9f")
self.d.setVar("SRCREV", "49d65d53c2bf558ae6e9185af0f3af7b79d255ec")
fetcher = bb.fetch.Fetch([self.recipe_url], self.d)
fetcher.download()
@@ -3468,7 +3306,7 @@ class FetchPremirroronlyNetworkTest(FetcherTest):
def test_mirror_tarball_outdated(self):
self.make_git_repo()
## Upstream commit not in the mirror
self.d.setVar("SRCREV", "49d65d53c2bf558ae6e9185af0f3af7b79d255ec")
self.d.setVar("SRCREV", "15413486df1f5a5b5af699b6f3ba5f0984e52a9f")
fetcher = bb.fetch.Fetch([self.recipe_url], self.d)
with self.assertRaises(bb.fetch2.NetworkAccess):
fetcher.download()
@@ -3478,6 +3316,7 @@ class FetchPremirroronlyMercurialTest(FetcherTest):
the test covers also basic hg:// clone (see fetch_and_create_tarball
"""
def skipIfNoHg():
import shutil
if not shutil.which('hg'):
return unittest.skip('Mercurial not installed')
return lambda f: f
@@ -3533,6 +3372,7 @@ class FetchPremirroronlyBrokenTarball(FetcherTest):
targz.write("This is not tar.gz file!")
def test_mirror_broken_download(self):
import sys
self.d.setVar("SRCREV", "0"*40)
fetcher = bb.fetch.Fetch([self.recipe_url], self.d)
with self.assertRaises(bb.fetch2.FetchError), self.assertLogs() as logs:

View File

@@ -353,7 +353,7 @@ def print_event_log(event, includelogs, loglines, termfilter):
termfilter.clearFooter()
bb.error("Logfile of failure stored in: %s" % logfile)
if includelogs and not event.errprinted:
bb.plain("Log data follows:")
print("Log data follows:")
f = open(logfile, "r")
lines = []
while True:
@@ -366,11 +366,11 @@ def print_event_log(event, includelogs, loglines, termfilter):
if len(lines) > int(loglines):
lines.pop(0)
else:
bb.plain('| %s' % l)
print('| %s' % l)
f.close()
if lines:
for line in lines:
bb.plain(line)
print(line)
def _log_settings_from_server(server, observe_only):
# Get values of variables which control our output

View File

@@ -82,16 +82,7 @@ def explode_version(s):
return r
def split_version(s):
"""Split a version string into its constituent parts (PE, PV, PR).
Arguments:
- ``s``: version string. The format of the input string should be::
${PE}:${PV}-${PR}
Returns a tuple ``(pe, pv, pr)``.
"""
"""Split a version string into its constituent parts (PE, PV, PR)"""
s = s.strip(" <>=")
e = 0
if s.count(':'):
@@ -143,30 +134,16 @@ def vercmp(ta, tb):
return r
def vercmp_string(a, b):
""" Split version strings using ``bb.utils.split_version()`` and compare
them with ``bb.utils.vercmp().``
Arguments:
- ``a``: left version string operand.
- ``b``: right version string operand.
Returns what ``bb.utils.vercmp()`` returns."""
""" Split version strings and compare them """
ta = split_version(a)
tb = split_version(b)
return vercmp(ta, tb)
def vercmp_string_op(a, b, op):
"""
Takes the return value ``bb.utils.vercmp()`` and returns the operation
defined by ``op`` between the return value and 0.
Arguments:
- ``a``: left version string operand.
- ``b``: right version string operand.
- ``op``: operator string. Can be one of ``=``, ``==``, ``<=``, ``>=``,
``>``, ``>>``, ``<``, ``<<`` or ``!=``.
Compare two versions and check if the specified comparison operator matches the result of the comparison.
This function is fairly liberal about what operators it will accept since there are a variety of styles
depending on the context.
"""
res = vercmp_string(a, b)
if op in ('=', '=='):
@@ -186,16 +163,9 @@ def vercmp_string_op(a, b, op):
def explode_deps(s):
"""
Takes an RDEPENDS style string of format::
DEPEND1 (optional version) DEPEND2 (optional version) ...
Arguments:
- ``s``: input RDEPENDS style string
Returns a list of dependencies.
Take an RDEPENDS style string of format:
"DEPEND1 (optional version) DEPEND2 (optional version) ..."
and return a list of dependencies.
Version information is ignored.
"""
r = []
@@ -217,17 +187,9 @@ def explode_deps(s):
def explode_dep_versions2(s, *, sort=True):
"""
Takes an RDEPENDS style string of format::
DEPEND1 (optional version) DEPEND2 (optional version) ...
Arguments:
- ``s``: input RDEPENDS style string
- ``*``: *Unused*.
- ``sort``: whether to sort the output or not.
Returns a dictionary of dependencies and versions.
Take an RDEPENDS style string of format:
"DEPEND1 (optional version) DEPEND2 (optional version) ..."
and return a dictionary of dependencies and versions.
"""
r = collections.OrderedDict()
l = s.replace(",", "").split()
@@ -292,17 +254,10 @@ def explode_dep_versions2(s, *, sort=True):
def explode_dep_versions(s):
"""
Take an RDEPENDS style string of format::
DEPEND1 (optional version) DEPEND2 (optional version) ...
Skips null values and items appeared in dependency string multiple times.
Arguments:
- ``s``: input RDEPENDS style string
Returns a dictionary of dependencies and versions.
Take an RDEPENDS style string of format:
"DEPEND1 (optional version) DEPEND2 (optional version) ..."
skip null value and items appeared in dependency string multiple times
and return a dictionary of dependencies and versions.
"""
r = explode_dep_versions2(s)
for d in r:
@@ -316,17 +271,7 @@ def explode_dep_versions(s):
def join_deps(deps, commasep=True):
"""
Take a result from ``bb.utils.explode_dep_versions()`` and generate a
dependency string.
Arguments:
- ``deps``: dictionary of dependencies and versions.
- ``commasep``: makes the return value separated by commas if ``True``,
separated by spaces otherwise.
Returns a comma-separated (space-separated if ``comma-sep`` is ``False``)
string of dependencies and versions.
Take the result from explode_dep_versions and generate a dependency string
"""
result = []
for dep in deps:
@@ -488,11 +433,7 @@ def better_eval(source, locals, extraglobals = None):
@contextmanager
def fileslocked(files, *args, **kwargs):
"""Context manager for locking and unlocking file locks. Uses
``bb.utils.lockfile()`` and ``bb.utils.unlockfile()`` to lock and unlock
files.
No return value."""
"""Context manager for locking and unlocking file locks."""
locks = []
if files:
for lockfile in files:
@@ -509,23 +450,14 @@ def fileslocked(files, *args, **kwargs):
def lockfile(name, shared=False, retry=True, block=False):
"""
Use the specified file (with filename ``name``) as a lock file, return when
the lock has been acquired. Returns a variable to pass to unlockfile().
Arguments:
- ``shared``: sets the lock as a shared lock instead of an
exclusive lock.
- ``retry``: ``True`` to re-try locking if it fails, ``False``
otherwise.
- ``block``: ``True`` to block until the lock succeeds,
``False`` otherwise.
Use the specified file as a lock file, return when the lock has
been acquired. Returns a variable to pass to unlockfile().
Parameters:
retry: True to re-try locking if it fails, False otherwise
block: True to block until the lock succeeds, False otherwise
The retry and block parameters are kind of equivalent unless you
consider the possibility of sending a signal to the process to break
out - at which point you want block=True rather than retry=True.
Returns the locked file descriptor in case of success, ``None`` otherwise.
"""
basename = os.path.basename(name)
if len(basename) > 255:
@@ -584,13 +516,7 @@ def lockfile(name, shared=False, retry=True, block=False):
def unlockfile(lf):
"""
Unlock a file locked using ``bb.utils.lockfile()``.
Arguments:
- ``lf``: the locked file descriptor.
No return value.
Unlock a file locked using lockfile()
"""
try:
# If we had a shared lock, we need to promote to exclusive before
@@ -618,11 +544,7 @@ def _hasher(method, filename):
def md5_file(filename):
"""
Arguments:
- ``filename``: path to the input file.
Returns the hexadecimal string representation of the MD5 checksum of filename.
Return the hex string representation of the MD5 checksum of filename.
"""
import hashlib
try:
@@ -634,59 +556,39 @@ def md5_file(filename):
def sha256_file(filename):
"""
Returns the hexadecimal representation of the 256-bit SHA checksum of
Return the hex string representation of the 256-bit SHA checksum of
filename.
Arguments:
- ``filename``: path to the file.
"""
import hashlib
return _hasher(hashlib.sha256(), filename)
def sha1_file(filename):
"""
Returns the hexadecimal representation of the SHA1 checksum of the filename
Arguments:
- ``filename``: path to the file.
Return the hex string representation of the SHA1 checksum of the filename
"""
import hashlib
return _hasher(hashlib.sha1(), filename)
def sha384_file(filename):
"""
Returns the hexadecimal representation of the SHA384 checksum of the filename
Arguments:
- ``filename``: path to the file.
Return the hex string representation of the SHA384 checksum of the filename
"""
import hashlib
return _hasher(hashlib.sha384(), filename)
def sha512_file(filename):
"""
Returns the hexadecimal representation of the SHA512 checksum of the filename
Arguments:
- ``filename``: path to the file.
Return the hex string representation of the SHA512 checksum of the filename
"""
import hashlib
return _hasher(hashlib.sha512(), filename)
def goh1_file(filename):
"""
Returns the hexadecimal string representation of the Go mod h1 checksum of the
Return the hex string representation of the Go mod h1 checksum of the
filename. The Go mod h1 checksum uses the Go dirhash package. The package
defines hashes over directory trees and is used by go mod for mod files and
zip archives.
Arguments:
- ``filename``: path to the file.
"""
import hashlib
import zipfile
@@ -707,8 +609,8 @@ def goh1_file(filename):
return method.hexdigest()
def preserved_envvars_exported():
"""Returns the list of variables which are taken from the environment and
placed in and exported from the metadata."""
"""Variables which are taken from the environment and placed in and exported
from the metadata"""
return [
'BB_TASKHASH',
'HOME',
@@ -722,8 +624,7 @@ def preserved_envvars_exported():
]
def preserved_envvars():
"""Returns the list of variables which are taken from the environment and
placed in the metadata."""
"""Variables which are taken from the environment and placed in the metadata"""
v = [
'BBPATH',
'BB_PRESERVE_ENV',
@@ -732,9 +633,7 @@ def preserved_envvars():
return v + preserved_envvars_exported()
def check_system_locale():
"""Make sure the required system locale are available and configured.
No return value."""
"""Make sure the required system locale are available and configured"""
default_locale = locale.getlocale(locale.LC_CTYPE)
try:
@@ -752,12 +651,6 @@ def filter_environment(good_vars):
"""
Create a pristine environment for bitbake. This will remove variables that
are not known and may influence the build in a negative way.
Arguments:
- ``good_vars``: list of variable to exclude from the filtering.
No return value.
"""
removed_vars = {}
@@ -802,8 +695,6 @@ def clean_environment():
"""
Clean up any spurious environment variables. This will remove any
variables the user hasn't chosen to preserve.
No return value.
"""
if 'BB_PRESERVE_ENV' not in os.environ:
good_vars = approved_variables()
@@ -814,8 +705,6 @@ def clean_environment():
def empty_environment():
"""
Remove all variables from the environment.
No return value.
"""
for s in list(os.environ.keys()):
os.unsetenv(s)
@@ -824,12 +713,6 @@ def empty_environment():
def build_environment(d):
"""
Build an environment from all exported variables.
Arguments:
- ``d``: the data store.
No return value.
"""
import bb.data
for var in bb.data.keys(d):
@@ -854,17 +737,7 @@ def _check_unsafe_delete_path(path):
return False
def remove(path, recurse=False, ionice=False):
"""Equivalent to rm -f or rm -rf.
Arguments:
- ``path``: path to file/directory to remove.
- ``recurse``: deletes recursively if ``True``.
- ``ionice``: prepends ``ionice -c 3`` to the ``rm`` command. See ``man
ionice``.
No return value.
"""
"""Equivalent to rm -f or rm -rf"""
if not path:
return
if recurse:
@@ -885,17 +758,7 @@ def remove(path, recurse=False, ionice=False):
raise
def prunedir(topdir, ionice=False):
"""
Delete everything reachable from the directory named in ``topdir``.
Arguments:
- ``topdir``: directory path.
- ``ionice``: prepends ``ionice -c 3`` to the ``rm`` command. See ``man
ionice``.
No return value.
"""
""" Delete everything reachable from the directory named in 'topdir'. """
# CAUTION: This is dangerous!
if _check_unsafe_delete_path(topdir):
raise Exception('bb.utils.prunedir: called with dangerous path "%s", refusing to delete!' % topdir)
@@ -907,15 +770,8 @@ def prunedir(topdir, ionice=False):
#
def prune_suffix(var, suffixes, d):
"""
Check if ``var`` ends with any of the suffixes listed in ``suffixes`` and
remove it if found.
Arguments:
- ``var``: string to check for suffixes.
- ``suffixes``: list of strings representing suffixes to check for.
Returns the string ``var`` without the suffix.
See if var ends with any of the suffixes listed and
remove it if found
"""
for suffix in suffixes:
if suffix and var.endswith(suffix):
@@ -924,13 +780,7 @@ def prune_suffix(var, suffixes, d):
def mkdirhier(directory):
"""Create a directory like 'mkdir -p', but does not complain if
directory already exists like ``os.makedirs()``.
Arguments:
- ``directory``: path to the directory.
No return value.
directory already exists like os.makedirs
"""
if '${' in str(directory):
bb.fatal("Directory name {} contains unexpanded bitbake variable. This may cause build failures and WORKDIR polution.".format(directory))
@@ -941,24 +791,10 @@ def mkdirhier(directory):
raise e
def movefile(src, dest, newmtime = None, sstat = None):
"""Moves a file from ``src`` to ``dest``, preserving all permissions and
"""Moves a file from src to dest, preserving all permissions and
attributes; mtime will be preserved even when moving across
filesystems. Returns ``True`` on success and ``False`` on failure. Move is
filesystems. Returns true on success and false on failure. Move is
atomic.
Arguments:
- ``src`` -- Source file.
- ``dest`` -- Destination file.
- ``newmtime`` -- new mtime to be passed as float seconds since the epoch.
- ``sstat`` -- os.stat_result to use for the destination file.
Returns an ``os.stat_result`` of the destination file if the
source file is a symbolic link or the ``sstat`` argument represents a
symbolic link - in which case the destination file will also be created as
a symbolic link.
Otherwise, returns ``newmtime`` on success and ``False`` on failure.
"""
#print "movefile(" + src + "," + dest + "," + str(newmtime) + "," + str(sstat) + ")"
@@ -1049,24 +885,9 @@ def movefile(src, dest, newmtime = None, sstat = None):
def copyfile(src, dest, newmtime = None, sstat = None):
"""
Copies a file from ``src`` to ``dest``, preserving all permissions and
Copies a file from src to dest, preserving all permissions and
attributes; mtime will be preserved even when moving across
filesystems.
Arguments:
- ``src``: Source file.
- ``dest``: Destination file.
- ``newmtime``: new mtime to be passed as float seconds since the epoch.
- ``sstat``: os.stat_result to use for the destination file.
Returns an ``os.stat_result`` of the destination file if the
source file is a symbolic link or the ``sstat`` argument represents a
symbolic link - in which case the destination file will also be created as
a symbolic link.
Otherwise, returns ``newmtime`` on success and ``False`` on failure.
filesystems. Returns true on success and false on failure.
"""
#print "copyfile(" + src + "," + dest + "," + str(newmtime) + "," + str(sstat) + ")"
try:
@@ -1144,16 +965,10 @@ def copyfile(src, dest, newmtime = None, sstat = None):
def break_hardlinks(src, sstat = None):
"""
Ensures ``src`` is the only hardlink to this file. Other hardlinks,
Ensures src is the only hardlink to this file. Other hardlinks,
if any, are not affected (other than in their st_nlink value, of
course).
course). Returns true on success and false on failure.
Arguments:
- ``src``: source file path.
- ``sstat``: os.stat_result to use when checking if the file is a link.
Returns ``True`` on success and ``False`` on failure.
"""
try:
if not sstat:
@@ -1167,24 +982,11 @@ def break_hardlinks(src, sstat = None):
def which(path, item, direction = 0, history = False, executable=False):
"""
Locate ``item`` in the list of paths ``path`` (colon separated string like
``$PATH``).
Arguments:
- ``path``: list of colon-separated paths.
- ``item``: string to search for.
- ``direction``: if non-zero then the list is reversed.
- ``history``: if ``True`` then the list of candidates also returned as
``result,history`` where ``history`` is the list of previous path
checked.
- ``executable``: if ``True`` then the candidate defined by ``path`` has
to be an executable file, otherwise if ``False`` the candidate simply
has to exist.
Returns the item if found in the list of path, otherwise an empty string.
If ``history`` is ``True``, return the list of previous path checked in a
tuple with the found (or not found) item as ``(item, history)``.
Locate `item` in the list of paths `path` (colon separated string like $PATH).
If `direction` is non-zero then the list is reversed.
If `history` is True then the list of candidates also returned as result,history.
If `executable` is True then the candidate has to be an executable file,
otherwise the candidate simply has to exist.
"""
if executable:
@@ -1215,8 +1017,6 @@ def which(path, item, direction = 0, history = False, executable=False):
def umask(new_mask):
"""
Context manager to set the umask to a specific mask, and restore it afterwards.
No return value.
"""
current_mask = os.umask(new_mask)
try:
@@ -1227,17 +1027,7 @@ def umask(new_mask):
def to_boolean(string, default=None):
"""
Check input string and return boolean value True/False/None
depending upon the checks.
Arguments:
- ``string``: input string.
- ``default``: default return value if the input ``string`` is ``None``,
``0``, ``False`` or an empty string.
Returns ``True`` if the string is one of "y", "yes", "1", "true", ``False``
if the string is one of "n", "no", "0", or "false". Return ``default`` if
the input ``string`` is ``None``, ``0``, ``False`` or an empty string.
depending upon the checks
"""
if not string:
return default
@@ -1258,17 +1048,18 @@ def contains(variable, checkvalues, truevalue, falsevalue, d):
Arguments:
- ``variable``: the variable name. This will be fetched and expanded (using
d.getVar(variable)) and then split into a set().
- ``checkvalues``: if this is a string it is split on whitespace into a set(),
otherwise coerced directly into a set().
- ``truevalue``: the value to return if checkvalues is a subset of variable.
- ``falsevalue``: the value to return if variable is empty or if checkvalues is
not a subset of variable.
- ``d``: the data store.
variable -- the variable name. This will be fetched and expanded (using
d.getVar(variable)) and then split into a set().
Returns ``True`` if the variable contains the values specified, ``False``
otherwise.
checkvalues -- if this is a string it is split on whitespace into a set(),
otherwise coerced directly into a set().
truevalue -- the value to return if checkvalues is a subset of variable.
falsevalue -- the value to return if variable is empty or if checkvalues is
not a subset of variable.
d -- the data store.
"""
val = d.getVar(variable)
@@ -1288,17 +1079,18 @@ def contains_any(variable, checkvalues, truevalue, falsevalue, d):
Arguments:
- ``variable``: the variable name. This will be fetched and expanded (using
d.getVar(variable)) and then split into a set().
- ``checkvalues``: if this is a string it is split on whitespace into a set(),
otherwise coerced directly into a set().
- ``truevalue``: the value to return if checkvalues is a subset of variable.
- ``falsevalue``: the value to return if variable is empty or if checkvalues is
not a subset of variable.
- ``d``: the data store.
variable -- the variable name. This will be fetched and expanded (using
d.getVar(variable)) and then split into a set().
Returns ``True`` if the variable contains any of the values specified,
``False`` otherwise.
checkvalues -- if this is a string it is split on whitespace into a set(),
otherwise coerced directly into a set().
truevalue -- the value to return if checkvalues is a subset of variable.
falsevalue -- the value to return if variable is empty or if checkvalues is
not a subset of variable.
d -- the data store.
"""
val = d.getVar(variable)
if not val:
@@ -1313,17 +1105,17 @@ def contains_any(variable, checkvalues, truevalue, falsevalue, d):
return falsevalue
def filter(variable, checkvalues, d):
"""Return all words in the variable that are present in the ``checkvalues``.
"""Return all words in the variable that are present in the checkvalues.
Arguments:
- ``variable``: the variable name. This will be fetched and expanded (using
d.getVar(variable)) and then split into a set().
- ``checkvalues``: if this is a string it is split on whitespace into a set(),
otherwise coerced directly into a set().
- ``d``: the data store.
variable -- the variable name. This will be fetched and expanded (using
d.getVar(variable)) and then split into a set().
Returns a list of string.
checkvalues -- if this is a string it is split on whitespace into a set(),
otherwise coerced directly into a set().
d -- the data store.
"""
val = d.getVar(variable)
@@ -1339,27 +1131,8 @@ def filter(variable, checkvalues, d):
def get_referenced_vars(start_expr, d):
"""
Get the names of the variables referenced in a given expression.
Arguments:
- ``start_expr``: the expression where to look for variables references.
For example::
${VAR_A} string ${VAR_B}
Or::
${@d.getVar('VAR')}
If a variables makes references to other variables, the latter are also
returned recursively.
- ``d``: the data store.
Returns the names of vars referenced in ``start_expr`` (recursively), in
quasi-BFS order (variables within the same level are ordered arbitrarily).
:return: names of vars referenced in start_expr (recursively), in quasi-BFS order (variables within the same level
are ordered arbitrarily)
"""
seen = set()
@@ -1439,9 +1212,7 @@ def multiprocessingpool(*args, **kwargs):
return multiprocessing.Pool(*args, **kwargs)
def exec_flat_python_func(func, *args, **kwargs):
"""Execute a flat python function (defined with ``def funcname(args): ...``)
Returns the return value of the function."""
"""Execute a flat python function (defined with def funcname(args):...)"""
# Prepare a small piece of python code which calls the requested function
# To do this we need to prepare two things - a set of variables we can use to pass
# the values of arguments into the calling function, and the list of arguments for
@@ -1467,57 +1238,48 @@ def edit_metadata(meta_lines, variables, varfunc, match_overrides=False):
"""Edit lines from a recipe or config file and modify one or more
specified variable values set in the file using a specified callback
function. Lines are expected to have trailing newlines.
Arguments:
- ``meta_lines``: lines from the file; can be a list or an iterable
(e.g. file pointer)
- ``variables``: a list of variable names to look for. Functions
may also be specified, but must be specified with ``()`` at
the end of the name. Note that the function doesn't have
any intrinsic understanding of ``:append``, ``:prepend``, ``:remove``,
or overrides, so these are considered as part of the name.
These values go into a regular expression, so regular
expression syntax is allowed.
- ``varfunc``: callback function called for every variable matching
one of the entries in the variables parameter.
The function should take four arguments:
- ``varname``: name of variable matched
- ``origvalue``: current value in file
- ``op``: the operator (e.g. ``+=``)
- ``newlines``: list of lines up to this point. You can use
this to prepend lines before this variable setting
if you wish.
And should return a four-element tuple:
- ``newvalue``: new value to substitute in, or ``None`` to drop
the variable setting entirely. (If the removal
results in two consecutive blank lines, one of the
blank lines will also be dropped).
- ``newop``: the operator to use - if you specify ``None`` here,
the original operation will be used.
- ``indent``: number of spaces to indent multi-line entries,
or ``-1`` to indent up to the level of the assignment
and opening quote, or a string to use as the indent.
- ``minbreak``: ``True`` to allow the first element of a
multi-line value to continue on the same line as
the assignment, ``False`` to indent before the first
element.
To clarify, if you wish not to change the value, then you
would return like this::
return origvalue, None, 0, True
- ``match_overrides``: True to match items with _overrides on the end,
False otherwise
Parameters:
meta_lines: lines from the file; can be a list or an iterable
(e.g. file pointer)
variables: a list of variable names to look for. Functions
may also be specified, but must be specified with '()' at
the end of the name. Note that the function doesn't have
any intrinsic understanding of :append, :prepend, :remove,
or overrides, so these are considered as part of the name.
These values go into a regular expression, so regular
expression syntax is allowed.
varfunc: callback function called for every variable matching
one of the entries in the variables parameter. The function
should take four arguments:
varname: name of variable matched
origvalue: current value in file
op: the operator (e.g. '+=')
newlines: list of lines up to this point. You can use
this to prepend lines before this variable setting
if you wish.
and should return a four-element tuple:
newvalue: new value to substitute in, or None to drop
the variable setting entirely. (If the removal
results in two consecutive blank lines, one of the
blank lines will also be dropped).
newop: the operator to use - if you specify None here,
the original operation will be used.
indent: number of spaces to indent multi-line entries,
or -1 to indent up to the level of the assignment
and opening quote, or a string to use as the indent.
minbreak: True to allow the first element of a
multi-line value to continue on the same line as
the assignment, False to indent before the first
element.
To clarify, if you wish not to change the value, then you
would return like this: return origvalue, None, 0, True
match_overrides: True to match items with _overrides on the end,
False otherwise
Returns a tuple:
- ``updated``: ``True`` if changes were made, ``False`` otherwise.
- ``newlines``: Lines after processing.
updated:
True if changes were made, False otherwise.
newlines:
Lines after processing
"""
var_res = {}
@@ -1661,13 +1423,12 @@ def edit_metadata(meta_lines, variables, varfunc, match_overrides=False):
def edit_metadata_file(meta_file, variables, varfunc):
"""Edit a recipe or configuration file and modify one or more specified
"""Edit a recipe or config file and modify one or more specified
variable values set in the file using a specified callback function.
The file is only written to if the value(s) actually change.
This is basically the file version of ``bb.utils.edit_metadata()``, see that
This is basically the file version of edit_metadata(), see that
function's description for parameter/usage information.
Returns ``True`` if the file was written to, ``False`` otherwise.
Returns True if the file was written to, False otherwise.
"""
with open(meta_file, 'r') as f:
(updated, newlines) = edit_metadata(f, variables, varfunc)
@@ -1678,24 +1439,20 @@ def edit_metadata_file(meta_file, variables, varfunc):
def edit_bblayers_conf(bblayers_conf, add, remove, edit_cb=None):
"""Edit ``bblayers.conf``, adding and/or removing layers.
Arguments:
- ``bblayers_conf``: path to ``bblayers.conf`` file to edit
- ``add``: layer path (or list of layer paths) to add; ``None`` or empty
list to add nothing
- ``remove``: layer path (or list of layer paths) to remove; ``None`` or
empty list to remove nothing
- ``edit_cb``: optional callback function that will be called
after processing adds/removes once per existing entry.
"""Edit bblayers.conf, adding and/or removing layers
Parameters:
bblayers_conf: path to bblayers.conf file to edit
add: layer path (or list of layer paths) to add; None or empty
list to add nothing
remove: layer path (or list of layer paths) to remove; None or
empty list to remove nothing
edit_cb: optional callback function that will be called after
processing adds/removes once per existing entry.
Returns a tuple:
- ``notadded``: list of layers specified to be added but weren't
(because they were already in the list)
- ``notremoved``: list of layers that were specified to be removed
but weren't (because they weren't in the list)
notadded: list of layers specified to be added but weren't
(because they were already in the list)
notremoved: list of layers that were specified to be removed
but weren't (because they weren't in the list)
"""
def remove_trailing_sep(pth):
@@ -1815,22 +1572,7 @@ def get_collection_res(d):
def get_file_layer(filename, d, collection_res={}):
"""Determine the collection (or layer name, as defined by a layer's
``layer.conf`` file) containing the specified file.
Arguments:
- ``filename``: the filename to look for.
- ``d``: the data store.
- ``collection_res``: dictionary with the layer names as keys and file
patterns to match as defined with the BBFILE_COLLECTIONS and
BBFILE_PATTERN variables respectively. The return value of
``bb.utils.get_collection_res()`` is the default if this variable is
not specified.
Returns the layer name containing the file. If multiple layers contain the
file, the last matching layer name from collection_res is returned.
"""
"""Determine the collection (as defined by a layer's layer.conf file) containing the specified file"""
if not collection_res:
collection_res = get_collection_res(d)
@@ -1868,13 +1610,7 @@ class PrCtlError(Exception):
def signal_on_parent_exit(signame):
"""
Trigger ``signame`` to be sent when the parent process dies.
Arguments:
- ``signame``: name of the signal. See ``man signal``.
No return value.
Trigger signame to be sent when the parent process dies
"""
signum = getattr(signal, signame)
# http://linux.die.net/man/2/prctl
@@ -1961,13 +1697,6 @@ def disable_network(uid=None, gid=None):
Disable networking in the current process if the kernel supports it, else
just return after logging to debug. To do this we need to create a new user
namespace, then map back to the original uid/gid.
Arguments:
- ``uid``: original user id.
- ``gid``: original user group id.
No return value.
"""
libc = ctypes.CDLL('libc.so.6')
@@ -2037,14 +1766,9 @@ class LogCatcher(logging.Handler):
def is_semver(version):
"""
Arguments:
Is the version string following the semver semantic?
- ``version``: the version string.
Returns ``True`` if the version string follow semantic versioning, ``False``
otherwise.
See https://semver.org/spec/v2.0.0.html.
https://semver.org/spec/v2.0.0.html
"""
regex = re.compile(
r"""
@@ -2082,8 +1806,6 @@ def rename(src, dst):
def environment(**envvars):
"""
Context manager to selectively update the environment with the specified mapping.
No return value.
"""
backup = dict(os.environ)
try:
@@ -2100,13 +1822,6 @@ def is_local_uid(uid=''):
"""
Check whether uid is a local one or not.
Can't use pwd module since it gets all UIDs, not local ones only.
Arguments:
- ``uid``: user id. If not specified the user id is determined from
``os.getuid()``.
Returns ``True`` is the user id is local, ``False`` otherwise.
"""
if not uid:
uid = os.getuid()
@@ -2121,7 +1836,7 @@ def is_local_uid(uid=''):
def mkstemp(suffix=None, prefix=None, dir=None, text=False):
"""
Generates a unique temporary file, independent of time.
Generates a unique filename, independent of time.
mkstemp() in glibc (at least) generates unique file names based on the
current system time. When combined with highly parallel builds, and
@@ -2130,18 +1845,6 @@ def mkstemp(suffix=None, prefix=None, dir=None, text=False):
This function adds additional entropy to the file name so that a collision
is independent of time and thus extremely unlikely.
Arguments:
- ``suffix``: filename suffix.
- ``prefix``: filename prefix.
- ``dir``: directory where the file will be created.
- ``text``: if ``True``, the file is opened in text mode.
Returns a tuple containing:
- the file descriptor for the created file
- the name of the file.
"""
entropy = "".join(random.choices("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890", k=20))
if prefix:
@@ -2152,20 +1855,12 @@ def mkstemp(suffix=None, prefix=None, dir=None, text=False):
def path_is_descendant(descendant, ancestor):
"""
Returns ``True`` if the path ``descendant`` is a descendant of ``ancestor``
(including being equivalent to ``ancestor`` itself). Otherwise returns
``False``.
Returns True if the path `descendant` is a descendant of `ancestor`
(including being equivalent to `ancestor` itself). Otherwise returns False.
Correctly accounts for symlinks, bind mounts, etc. by using
``os.path.samestat()`` to compare paths.
os.path.samestat() to compare paths
May raise any exception that ``os.stat()`` raises.
Arguments:
- ``descendant``: path to check for being an ancestor.
- ``ancestor``: path to the ancestor ``descendant`` will be checked
against.
May raise any exception that os.stat() raises
"""
ancestor_stat = os.stat(ancestor)
@@ -2203,7 +1898,6 @@ def lock_timeout(lock):
# A version of lock_timeout without the check that the lock was locked and a shorter timeout
@contextmanager
def lock_timeout_nocheck(lock):
l = False
try:
s = signal.pthread_sigmask(signal.SIG_BLOCK, signal.valid_signals())
l = lock.acquire(timeout=10)

View File

@@ -4,7 +4,6 @@
#
# SPDX-License-Identifier: GPL-2.0-only
#
from datetime import datetime, timezone
import sqlite3
import logging
from contextlib import closing
@@ -54,22 +53,6 @@ CONFIG_TABLE_DEFINITION = (
CONFIG_TABLE_COLUMNS = tuple(name for name, _, _ in CONFIG_TABLE_DEFINITION)
def adapt_datetime_iso(val):
"""Adapt datetime.datetime to UTC ISO 8601 date."""
return val.astimezone(timezone.utc).isoformat()
sqlite3.register_adapter(datetime, adapt_datetime_iso)
def convert_datetime(val):
"""Convert ISO 8601 datetime to datetime.datetime object."""
return datetime.fromisoformat(val.decode())
sqlite3.register_converter("DATETIME", convert_datetime)
def _make_table(cursor, name, definition):
cursor.execute(
"""

View File

@@ -41,9 +41,8 @@ current_releases = [
# Release slot #3 'master'
['Master','master','','Yocto Project master','master','','master'],
# Release slot #4
['Whinlatter','5.3','October 2025','5.3.0 (October 2024)','Support for 7 months (until May 2026)','','2.14'],
['Walnascar','5.2','April 2025','5.2.0 (April 2025)','Support for 7 months (until October 2025)','','2.12'],
#['Styhead','5.1','November 2024','5.1.0 (November 2024)','Support for 7 months (until May 2025)','','2.10'],
['Walnascar','5.2','April 2025','5.2.0 (April 2024)','Support for 7 months (until October 2025)','','2.12'],
['Styhead','5.1','November 2024','5.1.0 (November 2024)','Support for 7 months (until May 2025)','','2.10'],
#['Nanbield','4.3','November 2023','4.3.0 (November 2023)','Support for 7 months (until May 2024)','','2.6'],
#['Mickledore','4.2','April 2023','4.2.0 (April 2023)','Support for 7 months (until October 2023)','','2.4'],
#['Langdale','4.1','October 2022','4.1.2 (January 2023)','Support for 7 months (until May 2023)','','2.2'],

View File

@@ -23,21 +23,16 @@
<field type="CharField" name="branch">master</field>
</object>
<object model="orm.bitbakeversion" pk="4">
<field type="CharField" name="name">whinlatter</field>
<field type="CharField" name="giturl">git://git.openembedded.org/bitbake</field>
<field type="CharField" name="branch">2.14</field>
</object>
<object model="orm.bitbakeversion" pk="5">
<field type="CharField" name="name">walnascar</field>
<field type="CharField" name="giturl">git://git.openembedded.org/bitbake</field>
<field type="CharField" name="branch">2.12</field>
</object>
<object model="orm.bitbakeversion" pk="6">
<object model="orm.bitbakeversion" pk="5">
<field type="CharField" name="name">styhead</field>
<field type="CharField" name="giturl">git://git.openembedded.org/bitbake</field>
<field type="CharField" name="branch">2.10</field>
</object>
<object model="orm.bitbakeversion" pk="7">
<object model="orm.bitbakeversion" pk="6">
<field type="CharField" name="name">kirkstone</field>
<field type="CharField" name="giturl">git://git.openembedded.org/bitbake</field>
<field type="CharField" name="branch">2.0</field>
@@ -66,30 +61,23 @@
<field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href=\"https://cgit.openembedded.org/openembedded-core/log/\"&gt;OpenEmbedded master&lt;/a&gt; branch.</field>
</object>
<object model="orm.release" pk="4">
<field type="CharField" name="name">whinlatter</field>
<field type="CharField" name="description">Openembedded Whinlatter</field>
<field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">4</field>
<field type="CharField" name="branch_name">whinlatter</field>
<field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href=\"https://cgit.openembedded.org/openembedded-core/log/?h=whinlatter\"&gt;OpenEmbedded Whinlatter&lt;/a&gt; branch.</field>
</object>
<object model="orm.release" pk="5">
<field type="CharField" name="name">walnascar</field>
<field type="CharField" name="description">Openembedded Walnascar</field>
<field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">5</field>
<field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">4</field>
<field type="CharField" name="branch_name">walnascar</field>
<field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href=\"https://cgit.openembedded.org/openembedded-core/log/?h=walnascar\"&gt;OpenEmbedded Walnascar&lt;/a&gt; branch.</field>
</object>
<object model="orm.release" pk="6">
<object model="orm.release" pk="5">
<field type="CharField" name="name">styhead</field>
<field type="CharField" name="description">Openembedded Styhead</field>
<field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">6</field>
<field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">5</field>
<field type="CharField" name="branch_name">styhead</field>
<field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href=\"https://cgit.openembedded.org/openembedded-core/log/?h=styhead\"&gt;OpenEmbedded Styhead&lt;/a&gt; branch.</field>
</object>
<object model="orm.release" pk="7">
<object model="orm.release" pk="6">
<field type="CharField" name="name">kirkstone</field>
<field type="CharField" name="description">Openembedded Kirkstone</field>
<field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">7</field>
<field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">6</field>
<field type="CharField" name="branch_name">kirkstone</field>
<field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href=\"https://cgit.openembedded.org/openembedded-core/log/?h=kirkstone\"&gt;OpenEmbedded Kirkstone&lt;/a&gt; branch.</field>
</object>
@@ -119,10 +107,6 @@
<field rel="ManyToOneRel" to="orm.release" name="release">6</field>
<field type="CharField" name="layer_name">openembedded-core</field>
</object>
<object model="orm.releasedefaultlayer" pk="7">
<field rel="ManyToOneRel" to="orm.release" name="release">7</field>
<field type="CharField" name="layer_name">openembedded-core</field>
</object>
<!-- Layer for the Local release -->

View File

@@ -26,24 +26,18 @@
<field type="CharField" name="dirpath">bitbake</field>
</object>
<object model="orm.bitbakeversion" pk="4">
<field type="CharField" name="name">whinlatter</field>
<field type="CharField" name="giturl">git://git.yoctoproject.org/poky</field>
<field type="CharField" name="branch">whinlatter</field>
<field type="CharField" name="dirpath">bitbake</field>
</object>
<object model="orm.bitbakeversion" pk="5">
<field type="CharField" name="name">walnascar</field>
<field type="CharField" name="giturl">git://git.yoctoproject.org/poky</field>
<field type="CharField" name="branch">walnascar</field>
<field type="CharField" name="dirpath">bitbake</field>
</object>
<object model="orm.bitbakeversion" pk="6">
<object model="orm.bitbakeversion" pk="5">
<field type="CharField" name="name">styhead</field>
<field type="CharField" name="giturl">git://git.yoctoproject.org/poky</field>
<field type="CharField" name="branch">styhead</field>
<field type="CharField" name="dirpath">bitbake</field>
</object>
<object model="orm.bitbakeversion" pk="7">
<object model="orm.bitbakeversion" pk="6">
<field type="CharField" name="name">kirkstone</field>
<field type="CharField" name="giturl">git://git.yoctoproject.org/poky</field>
<field type="CharField" name="branch">kirkstone</field>
@@ -74,30 +68,23 @@
<field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/"&gt;Yocto Project Master branch&lt;/a&gt;.</field>
</object>
<object model="orm.release" pk="4">
<field type="CharField" name="name">whinlatter</field>
<field type="CharField" name="description">Yocto Project 5.3 "Whinlatter"</field>
<field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">4</field>
<field type="CharField" name="branch_name">whinlatter</field>
<field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=whinlatter"&gt;Yocto Project Whinlatter branch&lt;/a&gt;.</field>
</object>
<object model="orm.release" pk="5">
<field type="CharField" name="name">walnascar</field>
<field type="CharField" name="description">Yocto Project 5.2 "Walnascar"</field>
<field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">5</field>
<field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">4</field>
<field type="CharField" name="branch_name">walnascar</field>
<field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=walnascar"&gt;Yocto Project Walnascar branch&lt;/a&gt;.</field>
</object>
<object model="orm.release" pk="6">
<object model="orm.release" pk="5">
<field type="CharField" name="name">styhead</field>
<field type="CharField" name="description">Yocto Project 5.1 "Styhead"</field>
<field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">6</field>
<field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">5</field>
<field type="CharField" name="branch_name">styhead</field>
<field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=styhead"&gt;Yocto Project Styhead branch&lt;/a&gt;.</field>
</object>
<object model="orm.release" pk="7">
<object model="orm.release" pk="6">
<field type="CharField" name="name">kirkstone</field>
<field type="CharField" name="description">Yocto Project 4.0 "Kirkstone"</field>
<field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">7</field>
<field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">6</field>
<field type="CharField" name="branch_name">kirkstone</field>
<field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=kirkstone"&gt;Yocto Project Kirkstone branch&lt;/a&gt;.</field>
</object>
@@ -175,18 +162,6 @@
<field rel="ManyToOneRel" to="orm.release" name="release">6</field>
<field type="CharField" name="layer_name">meta-yocto-bsp</field>
</object>
<object model="orm.releasedefaultlayer" pk="19">
<field rel="ManyToOneRel" to="orm.release" name="release">7</field>
<field type="CharField" name="layer_name">openembedded-core</field>
</object>
<object model="orm.releasedefaultlayer" pk="20">
<field rel="ManyToOneRel" to="orm.release" name="release">7</field>
<field type="CharField" name="layer_name">meta-poky</field>
</object>
<object model="orm.releasedefaultlayer" pk="21">
<field rel="ManyToOneRel" to="orm.release" name="release">7</field>
<field type="CharField" name="layer_name">meta-yocto-bsp</field>
</object>
<!-- Default layers provided by poky
openembedded-core
@@ -227,27 +202,20 @@
<field rel="ManyToOneRel" to="orm.layer" name="layer">1</field>
<field type="IntegerField" name="layer_source">0</field>
<field rel="ManyToOneRel" to="orm.release" name="release">4</field>
<field type="CharField" name="branch">whinlatter</field>
<field type="CharField" name="branch">walnascar</field>
<field type="CharField" name="dirpath">meta</field>
</object>
<object model="orm.layer_version" pk="5">
<field rel="ManyToOneRel" to="orm.layer" name="layer">1</field>
<field type="IntegerField" name="layer_source">0</field>
<field rel="ManyToOneRel" to="orm.release" name="release">5</field>
<field type="CharField" name="branch">walnascar</field>
<field type="CharField" name="branch">styhead</field>
<field type="CharField" name="dirpath">meta</field>
</object>
<object model="orm.layer_version" pk="6">
<field rel="ManyToOneRel" to="orm.layer" name="layer">1</field>
<field type="IntegerField" name="layer_source">0</field>
<field rel="ManyToOneRel" to="orm.release" name="release">6</field>
<field type="CharField" name="branch">styhead</field>
<field type="CharField" name="dirpath">meta</field>
</object>
<object model="orm.layer_version" pk="7">
<field rel="ManyToOneRel" to="orm.layer" name="layer">1</field>
<field type="IntegerField" name="layer_source">0</field>
<field rel="ManyToOneRel" to="orm.release" name="release">7</field>
<field type="CharField" name="branch">kirkstone</field>
<field type="CharField" name="dirpath">meta</field>
</object>
@@ -260,14 +228,14 @@
<field type="CharField" name="vcs_web_tree_base_url">https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/%path%?h=%branch%</field>
<field type="CharField" name="vcs_web_file_base_url">https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/%path%?h=%branch%</field>
</object>
<object model="orm.layer_version" pk="8">
<object model="orm.layer_version" pk="7">
<field rel="ManyToOneRel" to="orm.layer" name="layer">2</field>
<field type="IntegerField" name="layer_source">0</field>
<field rel="ManyToOneRel" to="orm.release" name="release">1</field>
<field type="CharField" name="branch">scarthgap</field>
<field type="CharField" name="dirpath">meta-poky</field>
</object>
<object model="orm.layer_version" pk="9">
<object model="orm.layer_version" pk="8">
<field rel="ManyToOneRel" to="orm.layer" name="layer">2</field>
<field type="IntegerField" name="layer_source">0</field>
<field rel="ManyToOneRel" to="orm.release" name="release">2</field>
@@ -275,38 +243,31 @@
<field type="CharField" name="commit">HEAD</field>
<field type="CharField" name="dirpath">meta-poky</field>
</object>
<object model="orm.layer_version" pk="10">
<object model="orm.layer_version" pk="9">
<field rel="ManyToOneRel" to="orm.layer" name="layer">2</field>
<field type="IntegerField" name="layer_source">0</field>
<field rel="ManyToOneRel" to="orm.release" name="release">3</field>
<field type="CharField" name="branch">master</field>
<field type="CharField" name="dirpath">meta-poky</field>
</object>
<object model="orm.layer_version" pk="11">
<object model="orm.layer_version" pk="10">
<field rel="ManyToOneRel" to="orm.layer" name="layer">2</field>
<field type="IntegerField" name="layer_source">0</field>
<field rel="ManyToOneRel" to="orm.release" name="release">4</field>
<field type="CharField" name="branch">whinlatter</field>
<field type="CharField" name="branch">walnascar</field>
<field type="CharField" name="dirpath">meta-poky</field>
</object>
<object model="orm.layer_version" pk="11">
<field rel="ManyToOneRel" to="orm.layer" name="layer">2</field>
<field type="IntegerField" name="layer_source">0</field>
<field rel="ManyToOneRel" to="orm.release" name="release">5</field>
<field type="CharField" name="branch">styhead</field>
<field type="CharField" name="dirpath">meta-poky</field>
</object>
<object model="orm.layer_version" pk="12">
<field rel="ManyToOneRel" to="orm.layer" name="layer">2</field>
<field type="IntegerField" name="layer_source">0</field>
<field rel="ManyToOneRel" to="orm.release" name="release">5</field>
<field type="CharField" name="branch">walnascar</field>
<field type="CharField" name="dirpath">meta-poky</field>
</object>
<object model="orm.layer_version" pk="13">
<field rel="ManyToOneRel" to="orm.layer" name="layer">2</field>
<field type="IntegerField" name="layer_source">0</field>
<field rel="ManyToOneRel" to="orm.release" name="release">6</field>
<field type="CharField" name="branch">styhead</field>
<field type="CharField" name="dirpath">meta-poky</field>
</object>
<object model="orm.layer_version" pk="14">
<field rel="ManyToOneRel" to="orm.layer" name="layer">2</field>
<field type="IntegerField" name="layer_source">0</field>
<field rel="ManyToOneRel" to="orm.release" name="release">7</field>
<field type="CharField" name="branch">kirkstone</field>
<field type="CharField" name="dirpath">meta-poky</field>
</object>
@@ -319,14 +280,14 @@
<field type="CharField" name="vcs_web_tree_base_url">https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/%path%?h=%branch%</field>
<field type="CharField" name="vcs_web_file_base_url">https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/%path%?h=%branch%</field>
</object>
<object model="orm.layer_version" pk="15">
<object model="orm.layer_version" pk="13">
<field rel="ManyToOneRel" to="orm.layer" name="layer">3</field>
<field type="IntegerField" name="layer_source">0</field>
<field rel="ManyToOneRel" to="orm.release" name="release">1</field>
<field type="CharField" name="branch">scarthgap</field>
<field type="CharField" name="dirpath">meta-yocto-bsp</field>
</object>
<object model="orm.layer_version" pk="16">
<object model="orm.layer_version" pk="14">
<field rel="ManyToOneRel" to="orm.layer" name="layer">3</field>
<field type="IntegerField" name="layer_source">0</field>
<field rel="ManyToOneRel" to="orm.release" name="release">2</field>
@@ -334,38 +295,31 @@
<field type="CharField" name="commit">HEAD</field>
<field type="CharField" name="dirpath">meta-yocto-bsp</field>
</object>
<object model="orm.layer_version" pk="17">
<object model="orm.layer_version" pk="15">
<field rel="ManyToOneRel" to="orm.layer" name="layer">3</field>
<field type="IntegerField" name="layer_source">0</field>
<field rel="ManyToOneRel" to="orm.release" name="release">3</field>
<field type="CharField" name="branch">master</field>
<field type="CharField" name="dirpath">meta-yocto-bsp</field>
</object>
<object model="orm.layer_version" pk="18">
<object model="orm.layer_version" pk="16">
<field rel="ManyToOneRel" to="orm.layer" name="layer">3</field>
<field type="IntegerField" name="layer_source">0</field>
<field rel="ManyToOneRel" to="orm.release" name="release">4</field>
<field type="CharField" name="branch">whinlatter</field>
<field type="CharField" name="dirpath">meta-yocto-bsp</field>
</object>
<object model="orm.layer_version" pk="19">
<field rel="ManyToOneRel" to="orm.layer" name="layer">3</field>
<field type="IntegerField" name="layer_source">0</field>
<field rel="ManyToOneRel" to="orm.release" name="release">5</field>
<field type="CharField" name="branch">walnascar</field>
<field type="CharField" name="dirpath">meta-yocto-bsp</field>
</object>
<object model="orm.layer_version" pk="20">
<object model="orm.layer_version" pk="17">
<field rel="ManyToOneRel" to="orm.layer" name="layer">3</field>
<field type="IntegerField" name="layer_source">0</field>
<field rel="ManyToOneRel" to="orm.release" name="release">6</field>
<field rel="ManyToOneRel" to="orm.release" name="release">5</field>
<field type="CharField" name="branch">styhead</field>
<field type="CharField" name="dirpath">meta-yocto-bsp</field>
</object>
<object model="orm.layer_version" pk="21">
<object model="orm.layer_version" pk="18">
<field rel="ManyToOneRel" to="orm.layer" name="layer">3</field>
<field type="IntegerField" name="layer_source">0</field>
<field rel="ManyToOneRel" to="orm.release" name="release">7</field>
<field rel="ManyToOneRel" to="orm.release" name="release">6</field>
<field type="CharField" name="branch">kirkstone</field>
<field type="CharField" name="dirpath">meta-yocto-bsp</field>
</object>

View File

@@ -128,7 +128,7 @@ class BuildTest(unittest.TestCase):
if os.environ.get("TOASTER_TEST_USE_SSTATE_MIRROR"):
ProjectVariable.objects.get_or_create(
name="SSTATE_MIRRORS",
value="file://.* http://sstate.yoctoproject.org/all/PATH;downloadfilename=PATH",
value="file://.* http://cdn.jsdelivr.net/yocto/sstate/all/PATH;downloadfilename=PATH",
project=project)
ProjectTarget.objects.create(project=project,

View File

@@ -53,7 +53,7 @@ class TestCreateNewProject(SeleniumFunctionalTestCase):
- Release: Yocto Project 4.0 "Kirkstone" (option value: 6)
- Merge Toaster settings: True
"""
release = '7'
release = '6'
release_title = 'Yocto Project 4.0 "Kirkstone"'
project_name = 'projectkirkstone'
self.create_new_project(

View File

@@ -406,22 +406,5 @@ both the Yocto Project and BitBake manuals:
Submitting documentation changes
================================
Please refer to our contributor guide here: https://docs.yoctoproject.org/contributor-guide/
for full details on how to submit changes.
As a quick guide, patches should be sent to docs@lists.yoctoproject.org
The git command to do that would be:
git send-email -M -1 --to docs@lists.yoctoproject.org
The 'To' header can be set as default for this repository:
git config sendemail.to docs@lists.yoctoproject.org
Now you can just do 'git send-email origin/master..' to send all local patches.
Read the other sections in this document and documentation/standards.md for
rules to follow when contributing to the documentation.
Git repository: https://git.yoctoproject.org/yocto-docs
Mailing list: docs@lists.yoctoproject.org
Please see the top level README file in this repository for details of where
to send patches.

View File

@@ -57,7 +57,7 @@ following requirements:
:ref:`dev-manual/start:preparing the build host`
section in the Yocto Project Development Tasks Manual.
- Ensure that the following utilities have these minimum version numbers:
-
- Git &MIN_GIT_VERSION; or greater
- tar &MIN_TAR_VERSION; or greater
@@ -65,7 +65,7 @@ following requirements:
- gcc &MIN_GCC_VERSION; or greater.
- GNU make &MIN_MAKE_VERSION; or greater
If your build host does not satisfy all of the above version
If your build host does not meet any of these three listed version
requirements, you can take steps to prepare the system so that you
can still use the Yocto Project. See the
:ref:`ref-manual/system-requirements:required git, tar, python, make and gcc versions`
@@ -76,10 +76,9 @@ Build Host Packages
You must install essential host packages on your build host. The
following command installs the host packages based on an Ubuntu
distribution:
distribution::
.. literalinclude:: ../tools/host_packages_scripts/ubuntu_essential.sh
:language: shell
$ sudo apt install &UBUNTU_DEBIAN_HOST_PACKAGES_ESSENTIAL;
.. note::
@@ -183,7 +182,7 @@ an entire Linux distribution, including the toolchain, from source.
page of the Yocto Project Wiki.
#. **Initialize the Build Environment:** From within the ``poky``
directory, run the :ref:`ref-manual/structure:``oe-init-build-env```
directory, run the :ref:`ref-manual/structure:\`\`oe-init-build-env\`\``
environment
setup script to define Yocto Project's build environment on your
build host.
@@ -253,7 +252,7 @@ an entire Linux distribution, including the toolchain, from source.
file in the :term:`Build Directory`::
BB_HASHSERVE_UPSTREAM = "wss://hashserv.yoctoproject.org/ws"
SSTATE_MIRRORS ?= "file://.* http://sstate.yoctoproject.org/all/PATH;downloadfilename=PATH"
SSTATE_MIRRORS ?= "file://.* http://cdn.jsdelivr.net/yocto/sstate/all/PATH;downloadfilename=PATH"
BB_HASHSERVE = "auto"
BB_SIGNATURE_HANDLER = "OEEquivHash"

View File

@@ -81,7 +81,7 @@ directory of that Layer. This directory is what you add to the
``conf/bblayers.conf`` file found in your
:term:`Build Directory`, which is
established after you run the OpenEmbedded build environment setup
script (i.e. :ref:`ref-manual/structure:``oe-init-build-env```).
script (i.e. :ref:`ref-manual/structure:\`\`oe-init-build-env\`\``).
Adding the root directory allows the :term:`OpenEmbedded Build System`
to recognize the BSP
layer and from it build an image. Here is an example::
@@ -229,7 +229,7 @@ section.
#. *Initialize the Build Environment:* While in the root directory of
the Source Directory (i.e. ``poky``), run the
:ref:`ref-manual/structure:``oe-init-build-env``` environment
:ref:`ref-manual/structure:\`\`oe-init-build-env\`\`` environment
setup script to define the OpenEmbedded build environment on your
build host. ::

View File

@@ -13,7 +13,6 @@
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
import os
import re
import sys
import datetime
try:
@@ -174,24 +173,6 @@ latex_elements = {
'preamble': '\\usepackage[UTF8]{ctex}\n\\setcounter{tocdepth}{2}',
}
from sphinx.search import SearchEnglish
from sphinx.search import languages
class DashFriendlySearchEnglish(SearchEnglish):
# Accept words that can include hyphens
_word_re = re.compile(r'[\w\-]+')
js_splitter_code = r"""
function splitQuery(query) {
return query
.split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}-]+/gu)
.filter(term => term.length > 0);
}
"""
languages['en'] = DashFriendlySearchEnglish
# Make the EPUB builder prefer PNG to SVG because of issues rendering Inkscape SVG
from sphinx.builders.epub3 import Epub3Builder
Epub3Builder.supported_image_types = ['image/png', 'image/gif', 'image/jpeg']

View File

@@ -776,38 +776,6 @@ argument to ``git format-patch`` with a version number::
git format-patch -v2 <ref-branch>
After generating updated patches (v2, v3, and so on) via ``git
format-patch``, ideally developers will add a patch version changelog
to each patch that describes what has changed between each revision of
the patch. Add patch version changelogs after the ``---`` marker in the
patch, indicating that this information is part of this patch, but is not
suitable for inclusion in the commit message (i.e. the git history) itself.
Providing a patch version changelog makes it easier for maintainers and
reviewers to succinctly understand what changed in all versions of the
patch, without having to consult alternate sources of information, such as
searching through messages on a mailing list. For example::
<patch title>
<commit message>
<Signed-off-by/other trailers>
---
changes in v4:
- provide a clearer commit message
- fix spelling mistakes
changes in v3:
- replace func() to use other_func() instead
changes in v2:
- this patch was added in v2
---
<diffstat output>
<unified diff>
Lastly please ensure that you also test your revised changes. In particular
please don't just edit the patch file written out by ``git format-patch`` and
resend it.

View File

@@ -36,7 +36,7 @@ section:
use the BitBake ``-e`` option to examine variable values after a
recipe has been parsed.
- ":ref:`dev-manual/debugging:viewing package information with ``oe-pkgdata-util```"
- ":ref:`dev-manual/debugging:viewing package information with \`\`oe-pkgdata-util\`\``"
describes how to use the ``oe-pkgdata-util`` utility to query
:term:`PKGDATA_DIR` and
display package-related information for built packages.

View File

@@ -552,7 +552,7 @@ the two modes:
This instance of VSCode uses plugins that are useful for the development
of the application. ``devtool ide-sdk`` generates the necessary
``extensions.json``, ``settings.json``, ``tasks.json`` and ``launch.json``
``extensions.json``, ``settings.json``, ``tasks.json``and ``launch.json``
configuration files for all the involved plugins.
When the source code folder present in the workspace folder is opened in

View File

@@ -56,7 +56,7 @@ necessary when adding a recipe to build a new piece of software to be
included in a build.
You can find a complete description of the ``devtool add`` command in
the ":ref:`dev-manual/devtool:a closer look at ``devtool add```" section
the ":ref:`dev-manual/devtool:a closer look at \`\`devtool add\`\``" section
in the Yocto Project Application Development and the Extensible Software
Development Kit (eSDK) manual.

View File

@@ -24,20 +24,12 @@ users can read in standardized format.
:term:`SBOM` information is also critical to performing vulnerability exposure
assessments, as all the components used in the Software Supply Chain are listed.
The OpenEmbedded build system doesn't generate such information by default,
though the :term:`Poky` reference distribution has it enabled out of the box.
To enable it, inherit the :ref:`ref-classes-create-spdx` class from a
configuration file::
The OpenEmbedded build system doesn't generate such information by default.
To make this happen, you must inherit the
:ref:`ref-classes-create-spdx` class from a configuration file::
INHERIT += "create-spdx"
In the :term:`Poky` reference distribution, :term:`SPDX` generation does
consume some build time resources and thus if needed it can be disabled from a
:term:`configuration file`::
INHERIT:remove = "create-spdx"
Upon building an image, you will then get:
- :term:`SPDX` output in JSON format as an ``IMAGE-MACHINE.spdx.json`` file in

View File

@@ -858,9 +858,9 @@ Initializing the Build Environment
==================================
Before you can use Yocto you need to setup the build environment.
From within the ``poky`` directory, source the :ref:`ref-manual/structure:``oe-init-build-env``` environment
From within the ``poky`` directory, source the :ref:`ref-manual/structure:\`\`oe-init-build-env\`\`` environment
setup script to define Yocto Project's build environment on your build host::
$ source oe-init-build-env
$ source oe-init-build-env
Note, that this step will have to be repeated every time you open a new shell.

View File

@@ -333,7 +333,7 @@ Manually Upgrading a Recipe
If for some reason you choose not to upgrade recipes using
:ref:`dev-manual/upgrading-recipes:Using the Auto Upgrade Helper (AUH)` or
by :ref:`dev-manual/upgrading-recipes:Using ``devtool upgrade```,
by :ref:`dev-manual/upgrading-recipes:Using \`\`devtool upgrade\`\``,
you can manually edit the recipe files to upgrade the versions.
.. note::

View File

@@ -672,7 +672,7 @@ The steps in this procedure show you how you can patch the kernel using
Before attempting this procedure, be sure you have performed the
steps to get ready for updating the kernel as described in the
":ref:`kernel-dev/common:getting ready to develop using ``devtool```"
":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``"
section.
Patching the kernel involves changing or adding configurations to an
@@ -685,7 +685,7 @@ output at boot time through ``printk`` statements in the kernel's
``calibrate.c`` source code file. Applying the patch and booting the
modified image causes the added messages to appear on the emulator's
console. The example is a continuation of the setup procedure found in
the ":ref:`kernel-dev/common:getting ready to develop using ``devtool```" Section.
the ":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``" Section.
#. *Check Out the Kernel Source Files:* First you must use ``devtool``
to checkout the kernel source code in its workspace.
@@ -693,7 +693,7 @@ the ":ref:`kernel-dev/common:getting ready to develop using ``devtool```" Sectio
.. note::
See this step in the
":ref:`kernel-dev/common:getting ready to develop using ``devtool```"
":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``"
section for more information.
Use the following ``devtool`` command to check out the code::
@@ -804,7 +804,7 @@ the ":ref:`kernel-dev/common:getting ready to develop using ``devtool```" Sectio
.. note::
See Step 3 of the
":ref:`kernel-dev/common:getting ready to develop using ``devtool```"
":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``"
section for information on setting up this layer.
Once the command
@@ -1190,7 +1190,7 @@ appear in the ``.config`` file, which is in the :term:`Build Directory`.
For more information about where the ``.config`` file is located, see the
example in the
":ref:`kernel-dev/common:using ``menuconfig```"
":ref:`kernel-dev/common:using \`\`menuconfig\`\``"
section.
It is simple to create a configuration fragment. One method is to use
@@ -1286,7 +1286,7 @@ when you override a policy configuration in a hardware configuration
fragment.
In order to run this task, you must have an existing ``.config`` file.
See the ":ref:`kernel-dev/common:using ``menuconfig```" section for
See the ":ref:`kernel-dev/common:using \`\`menuconfig\`\``" section for
information on how to create a configuration file.
Here is sample output from the :ref:`ref-tasks-kernel_configcheck` task:
@@ -1359,7 +1359,7 @@ and
tasks until they produce no warnings.
For more information on how to use the ``menuconfig`` tool, see the
:ref:`kernel-dev/common:using ``menuconfig``` section.
:ref:`kernel-dev/common:using \`\`menuconfig\`\`` section.
Fine-Tuning the Kernel Configuration File
-----------------------------------------

View File

@@ -122,7 +122,7 @@ general information and references for further information.
Using ``devtool`` requires that you have a clean build
of the image. For
more information, see the
":ref:`kernel-dev/common:getting ready to develop using ``devtool```"
":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``"
section.
Using traditional kernel development requires that you have the

View File

@@ -12,7 +12,6 @@ to move to one release of the Yocto Project from the previous one.
.. toctree::
migration-general
release-5.3
release-5.2
release-5.1
release-5.0

View File

@@ -83,7 +83,7 @@ systemd changes
files by starting them via
`Also <https://www.freedesktop.org/software/systemd/man/latest/systemd.unit.html#Also=>`__,
the other service files were automatically added to the :term:`FILES` variable of
the same package. Example:
the same package. Example:
a.service contains::

View File

@@ -1,68 +0,0 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
.. |yocto-codename| replace:: whinlatter
.. |yocto-ver| replace:: 5.3
.. Note: anchors id below cannot contain substitutions so replace them with the
value of |yocto-ver| above.
Release |yocto-ver| (|yocto-codename|)
======================================
Migration notes for |yocto-ver| (|yocto-codename|)
--------------------------------------------------
This section provides migration information for moving to the Yocto
Project |yocto-ver| Release (codename "|yocto-codename|") from the prior release.
Supported kernel versions
~~~~~~~~~~~~~~~~~~~~~~~~~
The :term:`OLDEST_KERNEL` setting is XXX in this release, meaning that
out the box, older kernels are not supported. See :ref:`4.3 migration notes
<migration-4.3-supported-kernel-versions>` for details.
Supported distributions
~~~~~~~~~~~~~~~~~~~~~~~
Compared to the previous releases, running BitBake is supported on new
GNU/Linux distributions:
- XXX
On the other hand, some earlier distributions are no longer supported:
- XXX
See :ref:`all supported distributions <system-requirements-supported-distros>`.
Rust language changes
~~~~~~~~~~~~~~~~~~~~~
systemd changes
~~~~~~~~~~~~~~~
Recipe changes
~~~~~~~~~~~~~~
Removed variables
~~~~~~~~~~~~~~~~~
The following variables have been removed:
Removed recipes
~~~~~~~~~~~~~~~
The following recipes have been removed in this release:
Removed classes
~~~~~~~~~~~~~~~
The following classes have been removed in this release:
Removed features
~~~~~~~~~~~~~~~~
The following features have been removed in this release:
Miscellaneous changes
~~~~~~~~~~~~~~~~~~~~~

View File

@@ -32,5 +32,3 @@ Release 4.0 (kirkstone)
release-notes-4.0.23
release-notes-4.0.24
release-notes-4.0.25
release-notes-4.0.26
release-notes-4.0.27

View File

@@ -15,4 +15,3 @@ Release 5.0 (scarthgap)
release-notes-5.0.6
release-notes-5.0.7
release-notes-5.0.8
release-notes-5.0.9

View File

@@ -7,4 +7,3 @@ Release 5.2 (walnascar)
migration-5.2
release-notes-5.2
release-notes-5.2.1

View File

@@ -1,9 +0,0 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Release 5.3 (whinlatter)
========================
.. toctree::
migration-5.3
release-notes-5.3

View File

@@ -1,263 +0,0 @@
Release notes for Yocto-4.0.26 (Kirkstone)
------------------------------------------
Security Fixes in Yocto-4.0.26
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- bind: Fix :cve_nist:`2024-11187` and :cve_nist:`2024-12705`
- binutils: Fix :cve_nist:`2025-0840`
- elfutils: Fix :cve_nist:`2025-1352` and :cve_nist:`2025-1372`
- ffmpeg: Fix CVE-2024-28661, :cve_nist:`2024-35369`, :cve_nist:`2024-36613`, :cve_nist:`2024-36616`,
:cve_nist:`2024-36617`, :cve_nist:`2024-36618`, :cve_nist:`2025-0518` and :cve_nist:`2025-25473`
- ffmpeg: Ignore :cve_nist:`2023-46407`, :cve_nist:`2023-47470`, :cve_nist:`2024-7272`,
:cve_nist:`2024-22860`, :cve_nist:`2024-22861` and :cve_nist:`2024-22862`
- freetype: Fix :cve_nist:`2025-27363`
- gnutls: Fix :cve_nist:`2024-12243`
- grub: Fix :cve_nist:`2024-45774`, :cve_nist:`2024-45775`, :cve_nist:`2024-45776`,
:cve_nist:`2024-45777`, :cve_nist:`2024-45778`, :cve_nist:`2024-45779`, :cve_nist:`2024-45780`,
:cve_nist:`2024-45781`, :cve_nist:`2024-45782`, :cve_nist:`2024-45783`, :cve_nist:`2024-56737`,
:cve_nist:`2025-0622`, :cve_nist:`2025-0624`, :cve_nist:`2025-0677`, :cve_nist:`2025-0684`,
:cve_nist:`2025-0685`, :cve_nist:`2025-0686`, :cve_nist:`2025-0689`, :cve_nist:`2025-0678`,
:cve_nist:`2025-0690`, :cve_nist:`2025-1118` and :cve_nist:`2025-1125`
- gstreamer1.0-rtsp-server: fix :cve_nist:`2024-44331`
- libarchive: Fix :cve_nist:`2025-25724`
- libarchive: Ignore :cve_nist:`2025-1632`
- libcap: Fix :cve_nist:`2025-1390`
- linux-yocto/5.10: Fix :cve_nist:`2024-36476`, :cve_nist:`2024-43098`, :cve_nist:`2024-47143`,
:cve_nist:`2024-48881`, :cve_nist:`2024-50051`, :cve_nist:`2024-50074`, :cve_nist:`2024-50082`,
:cve_nist:`2024-50083`, :cve_nist:`2024-50099`, :cve_nist:`2024-50115`, :cve_nist:`2024-50116`,
:cve_nist:`2024-50117`, :cve_nist:`2024-50142`, :cve_nist:`2024-50148`, :cve_nist:`2024-50150`,
:cve_nist:`2024-50151`, :cve_nist:`2024-50167`, :cve_nist:`2024-50168`, :cve_nist:`2024-50171`,
:cve_nist:`2024-50185`, :cve_nist:`2024-50192`, :cve_nist:`2024-50193`, :cve_nist:`2024-50194`,
:cve_nist:`2024-50195`, :cve_nist:`2024-50198`, :cve_nist:`2024-50201`, :cve_nist:`2024-50202`,
:cve_nist:`2024-50205`, :cve_nist:`2024-50208`, :cve_nist:`2024-50209`, :cve_nist:`2024-50229`,
:cve_nist:`2024-50230`, :cve_nist:`2024-50233`, :cve_nist:`2024-50234`, :cve_nist:`2024-50236`,
:cve_nist:`2024-50237`, :cve_nist:`2024-50251`, :cve_nist:`2024-50262`, :cve_nist:`2024-50264`,
:cve_nist:`2024-50265`, :cve_nist:`2024-50267`, :cve_nist:`2024-50268`, :cve_nist:`2024-50269`,
:cve_nist:`2024-50273`, :cve_nist:`2024-50278`, :cve_nist:`2024-50279`, :cve_nist:`2024-50282`,
:cve_nist:`2024-50287`, :cve_nist:`2024-50292`, :cve_nist:`2024-50296`, :cve_nist:`2024-50299`,
:cve_nist:`2024-50301`, :cve_nist:`2024-50302`, :cve_nist:`2024-53042`, :cve_nist:`2024-53052`,
:cve_nist:`2024-53057`, :cve_nist:`2024-53059`, :cve_nist:`2024-53060`, :cve_nist:`2024-53061`,
:cve_nist:`2024-53063`, :cve_nist:`2024-53066`, :cve_nist:`2024-53096`, :cve_nist:`2024-53097`,
:cve_nist:`2024-53101`, :cve_nist:`2024-53103`, :cve_nist:`2024-53104`, :cve_nist:`2024-53145`,
:cve_nist:`2024-53146`, :cve_nist:`2024-53150`, :cve_nist:`2024-53155`, :cve_nist:`2024-53156`,
:cve_nist:`2024-53157`, :cve_nist:`2024-53161`, :cve_nist:`2024-53165`, :cve_nist:`2024-53171`,
:cve_nist:`2024-53173`, :cve_nist:`2024-53174`, :cve_nist:`2024-53194`, :cve_nist:`2024-53197`,
:cve_nist:`2024-53217`, :cve_nist:`2024-53226`, :cve_nist:`2024-53227`, :cve_nist:`2024-53237`,
:cve_nist:`2024-53239`, :cve_nist:`2024-55916`, :cve_nist:`2024-56548`, :cve_nist:`2024-56558`,
:cve_nist:`2024-56567`, :cve_nist:`2024-56568`, :cve_nist:`2024-56569`, :cve_nist:`2024-56572`,
:cve_nist:`2024-56574`, :cve_nist:`2024-56581`, :cve_nist:`2024-56587`, :cve_nist:`2024-56593`,
:cve_nist:`2024-56595`, :cve_nist:`2024-56596`, :cve_nist:`2024-56598`, :cve_nist:`2024-56600`,
:cve_nist:`2024-56601`, :cve_nist:`2024-56602`, :cve_nist:`2024-56603`, :cve_nist:`2024-56605`,
:cve_nist:`2024-56606`, :cve_nist:`2024-56615`, :cve_nist:`2024-56619`, :cve_nist:`2024-56623`,
:cve_nist:`2024-56629`, :cve_nist:`2024-56634`, :cve_nist:`2024-56642`, :cve_nist:`2024-56643`,
:cve_nist:`2024-56648`, :cve_nist:`2024-56650`, :cve_nist:`2024-56659`, :cve_nist:`2024-56662`,
:cve_nist:`2024-56670`, :cve_nist:`2024-56688`, :cve_nist:`2024-56698`, :cve_nist:`2024-56704`,
:cve_nist:`2024-56716`, :cve_nist:`2024-56720`, :cve_nist:`2024-56723`, :cve_nist:`2024-56724`,
:cve_nist:`2024-56728`, :cve_nist:`2024-56739`, :cve_nist:`2024-56746`, :cve_nist:`2024-56747`,
:cve_nist:`2024-56748`, :cve_nist:`2024-56754`, :cve_nist:`2024-56756`, :cve_nist:`2024-56770`,
:cve_nist:`2024-56779`, :cve_nist:`2024-56780`, :cve_nist:`2024-56781`, :cve_nist:`2024-56785`,
:cve_nist:`2024-57802`, :cve_nist:`2024-57807`, :cve_nist:`2024-57850`, :cve_nist:`2024-57874`,
:cve_nist:`2024-57890`, :cve_nist:`2024-57896`, :cve_nist:`2024-57900`, :cve_nist:`2024-57901`,
:cve_nist:`2024-57902`, :cve_nist:`2024-57910`, :cve_nist:`2024-57911`, :cve_nist:`2024-57913`,
:cve_nist:`2024-57922`, :cve_nist:`2024-57938`, :cve_nist:`2024-57939`, :cve_nist:`2024-57946`,
:cve_nist:`2024-57951`, :cve_nist:`2025-21638`, :cve_nist:`2025-21687`, :cve_nist:`2025-21689`,
:cve_nist:`2025-21692`, :cve_nist:`2025-21694`, :cve_nist:`2025-21697` and :cve_nist:`2025-21699`
- linux-yocto/5.15: Fix :cve_nist:`2024-57979`, :cve_nist:`2024-58034`, :cve_nist:`2024-58052`,
:cve_nist:`2024-58055`, :cve_nist:`2024-58058`, :cve_nist:`2024-58063`, :cve_nist:`2024-58069`,
:cve_nist:`2024-58071`, :cve_nist:`2024-58076`, :cve_nist:`2024-58083`, :cve_nist:`2025-21700`,
:cve_nist:`2025-21703`, :cve_nist:`2025-21715`, :cve_nist:`2025-21722`, :cve_nist:`2025-21727`,
:cve_nist:`2025-21731`, :cve_nist:`2025-21753`, :cve_nist:`2025-21756`, :cve_nist:`2025-21760`,
:cve_nist:`2025-21761`, :cve_nist:`2025-21762`, :cve_nist:`2025-21763`, :cve_nist:`2025-21764`,
:cve_nist:`2025-21796`, :cve_nist:`2025-21811`, :cve_nist:`2025-21887`, :cve_nist:`2025-21898`,
:cve_nist:`2025-21904`, :cve_nist:`2025-21905`, :cve_nist:`2025-21912`, :cve_nist:`2025-21917`,
:cve_nist:`2025-21919`, :cve_nist:`2025-21920`, :cve_nist:`2025-21922`, :cve_nist:`2025-21934`,
:cve_nist:`2025-21943`, :cve_nist:`2025-21948` and :cve_nist:`2025-21951`
- libpcre2: Ignore :cve_nist:`2022-1586`
- libtasn1: Fix :cve_nist:`2024-12133`
- libxml2: Fix :cve_nist:`2022-49043`, :cve_nist:`2024-56171`, :cve_nist:`2025-24928` and
:cve_nist:`2025-27113`
- libxslt: Fix :cve_nist:`2024-55549` and :cve_nist:`2025-24855`
- llvm: Fix :cve_nist:`2024-0151`
- mpg123: Fix :cve_nist:`2024-10573`
- openssh: Fix :cve_nist:`2025-26465`
- ovmf: Revert Fix for CVE-2023-45236 :cve_nist:`2023-45237`
- perl: Ignore :cve_nist:`2023-47038`
- puzzles: Ignore :cve_nist:`2024-13769`, :cve_nist:`2024-13770` and :cve_nist:`2025-0837`
- python3: Fix :cve_nist:`2025-0938`
- ruby: Fix :cve_nist:`2024-41946`, :cve_nist:`2025-27219` and :cve_nist:`2025-27220`
- subversion: Ignore :cve_nist:`2024-45720`
- systemd: Fix :cve_nist:`2022-3821`, :cve_nist:`2022-4415`, :cve_nist:`2022-45873` and
:cve_nist:`2023-7008`
- tiff: mark :cve_nist:`2023-30774` as patched with existing patch
- u-boot: Fix :cve_nist:`2022-2347`, :cve_nist:`2022-30767`, :cve_nist:`2022-30790`,
:cve_nist:`2024-57254`, :cve_nist:`2024-57255`, :cve_nist:`2024-57256`, :cve_nist:`2024-57257`,
:cve_nist:`2024-57258` and :cve_nist:`2024-57259`
- vim: Fix :cve_nist:`2025-1215`, :cve_nist:`2025-22134`, :cve_nist:`2025-24014`,
:cve_nist:`2025-26603`, :cve_nist:`2025-27423` and :cve_nist:`2025-29768`
- xserver-xorg: Fix :cve_nist:`2022-49737`, :cve_nist:`2025-26594`, :cve_nist:`2025-26595`,
:cve_nist:`2025-26596`, :cve_nist:`2025-26597`, :cve_nist:`2025-26598`, :cve_nist:`2025-26599`,
:cve_nist:`2025-26600` and :cve_nist:`2025-26601`
- xwayland: Fix :cve_nist:`2022-49737`, :cve_nist:`2024-9632`, :cve_nist:`2024-21885`,
:cve_nist:`2024-21886`, :cve_nist:`2024-31080`, :cve_nist:`2024-31081`, :cve_nist:`2024-31083`,
:cve_nist:`2025-26594`, :cve_nist:`2025-26595`, :cve_nist:`2025-26596`, :cve_nist:`2025-26597`,
:cve_nist:`2025-26598`, :cve_nist:`2025-26599`, :cve_nist:`2025-26600` and :cve_nist:`2025-26601`
- zlib: Fix :cve_nist:`2014-9485`
Fixes in Yocto-4.0.26
~~~~~~~~~~~~~~~~~~~~~
- bind: Upgrade to 9.18.33
- bitbake: cache: bump cache version
- bitbake: siggen.py: Improve taskhash reproducibility
- boost: fix do_fetch error
- build-appliance-image: Update to kirkstone head revision
- contributor-guide/submit-changes: add policy on AI generated code
- cve-update-nvd2-native: handle missing vulnStatus
- docs: Add favicon for the documentation html
- docs: Remove all mention of core-image-lsb
- libtasn1: upgrade to 4.20.0
- libxcrypt-compat: Remove libcrypt.so to fix conflict with libcrypt
- libxml2: fix compilation of explicit child axis in pattern
- linux-yocto/5.10: update to v5.10.234
- linux-yocto/5.15: update to v5.15.179
- mesa: Fix missing GLES3 headers in SDK sysroot
- mesa: Update :term:`SRC_URI`
- meta: Enable '-o pipefail' for the SDK installer
- migration-guides: add release notes for 4.0.25
- poky.conf: add ubuntu2404 to :term:`SANITY_TESTED_DISTROS`
- poky.conf: bump version for 4.0.26
- procps: replaced one use of fputs(3) with a write(2) call
- ref-manual: don't refer to poky-lsb
- scripts/install-buildtools: Update to 4.0.24
- scritps/runqemu: Ensure we only have two serial ports
- systemd: upgrade to 250.14
- tzcode-native: Fix compiler setting from 2023d version
- tzcode: Update :term:`SRC_URI`
- tzdata/tzcode-native: upgrade 2025a
- vim: Upgrade to 9.1.1198
- virglrenderer: fix do_fetch error
- vulnerabilities/classes: remove references to cve-check text format
- xz: Update :term:`SRC_URI`
- yocto-uninative: Update to 4.7 for glibc 2.41
Known Issues in Yocto-4.0.26
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- N/A
Contributors to Yocto-4.0.26
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Thanks to the following people who contributed to this release:
- Aleksandar Nikolic
- Alessio Cascone
- Antonin Godard
- Archana Polampalli
- Ashish Sharma
- Bruce Ashfield
- Carlos Dominguez
- Deepesh Varatharajan
- Divya Chellam
- Guocai He
- Hitendra Prajapati
- Hongxu Jia
- Jiaying Song
- Johannes Kauffmann
- Kai Kang
- Lee Chee Yang
- Libo Chen
- Marta Rybczynska
- Michael Halstead
- Mingli Yu
- Moritz Haase
- Narpat Mali
- Paulo Neves
- Peter Marko
- Priyal Doshi
- Richard Purdie
- Robert Yang
- Ross Burton
- Sakib Sajal
- Steve Sakoman
- Vijay Anusuri
- Yogita Urade
- Zhang Peng
Repositories / Downloads for Yocto-4.0.26
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
poky
- Repository Location: :yocto_git:`/poky`
- Branch: :yocto_git:`kirkstone </poky/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.26 </poky/log/?h=yocto-4.0.26>`
- Git Revision: :yocto_git:`d70d287a77d5026b698ac237ab865b2dafd36bb8 </poky/commit/?id=d70d287a77d5026b698ac237ab865b2dafd36bb8>`
- Release Artefact: poky-d70d287a77d5026b698ac237ab865b2dafd36bb8
- sha: 3ebfadb8bff4c1ca12b3cf3e4ef6e3ac2ce52b73570266daa98436c9959249f2
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.26/poky-d70d287a77d5026b698ac237ab865b2dafd36bb8.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.26/poky-d70d287a77d5026b698ac237ab865b2dafd36bb8.tar.bz2
openembedded-core
- Repository Location: :oe_git:`/openembedded-core`
- Branch: :oe_git:`kirkstone </openembedded-core/log/?h=kirkstone>`
- Tag: :oe_git:`yocto-4.0.26 </openembedded-core/log/?h=yocto-4.0.26>`
- Git Revision: :oe_git:`1efbe1004bc82e7c14c1e8bd4ce644f5015c3346 </openembedded-core/commit/?id=1efbe1004bc82e7c14c1e8bd4ce644f5015c3346>`
- Release Artefact: oecore-1efbe1004bc82e7c14c1e8bd4ce644f5015c3346
- sha: d3805e034dabd0865dbf55488b2c16d4ea0351d37aa826f0054a6bfdde5a8be9
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.26/oecore-1efbe1004bc82e7c14c1e8bd4ce644f5015c3346.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.26/oecore-1efbe1004bc82e7c14c1e8bd4ce644f5015c3346.tar.bz2
meta-mingw
- Repository Location: :yocto_git:`/meta-mingw`
- Branch: :yocto_git:`kirkstone </meta-mingw/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.26 </meta-mingw/log/?h=yocto-4.0.26>`
- Git Revision: :yocto_git:`87c22abb1f11be430caf4372e6b833dc7d77564e </meta-mingw/commit/?id=87c22abb1f11be430caf4372e6b833dc7d77564e>`
- Release Artefact: meta-mingw-87c22abb1f11be430caf4372e6b833dc7d77564e
- sha: f0bc4873e2e0319fb9d6d6ab9b98eb3f89664d4339a167d2db6a787dd12bc1a8
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.26/meta-mingw-87c22abb1f11be430caf4372e6b833dc7d77564e.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.26/meta-mingw-87c22abb1f11be430caf4372e6b833dc7d77564e.tar.bz2
meta-gplv2
- Repository Location: :yocto_git:`/meta-gplv2`
- Branch: :yocto_git:`kirkstone </meta-gplv2/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.26 </meta-gplv2/log/?h=yocto-4.0.26>`
- Git Revision: :yocto_git:`d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a </meta-gplv2/commit/?id=d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a>`
- Release Artefact: meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a
- sha: c386f59f8a672747dc3d0be1d4234b6039273d0e57933eb87caa20f56b9cca6d
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.26/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.26/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
bitbake
- Repository Location: :oe_git:`/bitbake`
- Branch: :oe_git:`2.0 </bitbake/log/?h=2.0>`
- Tag: :oe_git:`yocto-4.0.26 </bitbake/log/?h=yocto-4.0.26>`
- Git Revision: :oe_git:`046871d9fd76efdca7b72718b328d8f545523f7e </bitbake/commit/?id=046871d9fd76efdca7b72718b328d8f545523f7e>`
- Release Artefact: bitbake-046871d9fd76efdca7b72718b328d8f545523f7e
- sha: e9df0a9f5921b583b539188d66b23f120e1751000e7822e76c3391d5c76ee21a
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.26/bitbake-046871d9fd76efdca7b72718b328d8f545523f7e.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.26/bitbake-046871d9fd76efdca7b72718b328d8f545523f7e.tar.bz2
yocto-docs
- Repository Location: :yocto_git:`/yocto-docs`
- Branch: :yocto_git:`kirkstone </yocto-docs/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.26 </yocto-docs/log/?h=yocto-4.0.26>`
- Git Revision: :yocto_git:`9b4c36f7b02dd4bedfec90206744a1e90e37733c </yocto-docs/commit/?id=9b4c36f7b02dd4bedfec90206744a1e90e37733c>`

View File

@@ -1,153 +0,0 @@
Release notes for Yocto-4.0.27 (Kirkstone)
------------------------------------------
Security Fixes in Yocto-4.0.27
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- binutils: Fix :cve_nist:`2025-1178`
- busybox: fix :cve_nist:`2023-39810`
- connman :fix :cve_nist:`2025-32743`
- curl: Ignore :cve_nist:`2025-0725`
- ghostscript: Fix :cve_nist:`2025-27830`, :cve_nist:`2025-27831`, :cve_nist:`2025-27832`,
:cve_nist:`2025-27834`, :cve_nist:`2025-27835` and :cve_nist:`2025-27836`
- ghostscript: Ignore :cve_nist:`2024-29507`, :cve_nist:`2025-27833` and :cve_nist:`2025-27837`
- glib-2.0: Fix :cve_nist:`2025-3360`
- go: Fix :cve_nist:`2025-22871`
- libarchive: Ignore :cve_nist:`2024-48615`
- libpam: Fix :cve_nist:`2024-10041`
- libsoup-2.4: Fix :cve_nist:`2024-52532`, :cve_nist:`2025-32906` and :cve_nist:`2025-32909`
- libsoup: Fix :cve_nist:`2024-52532`, :cve_nist:`2025-32906`, :cve_nist:`2025-32909`,
:cve_nist:`2025-32910`, :cve_nist:`2025-32911`, :cve_nist:`2025-32912`, :cve_nist:`2025-32913`
and :cve_nist:`2025-32914`
- libxml2: Fix :cve_nist:`2025-32414` and :cve_nist:`2025-32415`
- ofono: Fix :cve_nist:`2024-7537`
- perl: Fix :cve_nist:`2024-56406`
- ppp: Fix :cve_nist:`2024-58250`
- python3-setuptools: Fix :cve_nist:`2024-6345`
- qemu: Ignore :cve_nist:`2023-1386`
- ruby: Fix :cve_nist:`2024-43398`
- sqlite3: Fix :cve_nist:`2025-29088`
- systemd: Ignore :cve_nist:`2022-3821`, :cve_nist:`2022-4415` and :cve_nist:`2022-45873`
Fixes in Yocto-4.0.27
~~~~~~~~~~~~~~~~~~~~~
- Revert "cve-update-nvd2-native: Tweak to work better with NFS DL_DIR"
- build-appliance-image: Update to kirkstone head revision
- cve-update-nvd2-native: add workaround for json5 style list
- docs: Fix dead links that use the :term:`DISTRO` macro
- docs: manuals: remove repeated word
- docs: poky.yaml: introduce DISTRO_LATEST_TAG
- glibc: Add single-threaded fast path to rand()
- glibc: stable 2.35 branch updates
- module.bbclass: add KBUILD_EXTRA_SYMBOLS to install
- perl: enable _GNU_SOURCE define via d_gnulibc
- poky.conf: bump version for 4.0.27
- ref-manual/variables.rst: document autotools class related variables
- scripts/install-buildtools: Update to 4.0.26
- systemd: backport patch to fix journal issue
- systemd: systemd-journald fails to setup LogNamespace
- tzdata/tzcode-native: upgrade to 2025b
Known Issues in Yocto-4.0.27
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- N/A
Contributors to Yocto-4.0.27
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Aleksandar Nikolic
- Alexander Kanavin
- Alon Bar-Lev
- Andrew Kreimer
- Antonin Godard
- Chen Qi
- Deepesh Varatharajan
- Divya Chellam
- Haitao Liu
- Haixiao Yan
- Hitendra Prajapati
- Peter Marko
- Praveen Kumar
- Priyal Doshi
- Shubham Kulkarni
- Soumya Sambu
- Steve Sakoman
- Vijay Anusuri
- Yogita Urade
Repositories / Downloads for Yocto-4.0.27
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
poky
- Repository Location: :yocto_git:`/poky`
- Branch: :yocto_git:`kirkstone </poky/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.27 </poky/log/?h=yocto-4.0.27>`
- Git Revision: :yocto_git:`ab9a994a8cd8e06b519a693db444030999d273b7 </poky/commit/?id=ab9a994a8cd8e06b519a693db444030999d273b7>`
- Release Artefact: poky-ab9a994a8cd8e06b519a693db444030999d273b7
- sha: 77a366c17cf29eef15c6ff3f44e73f81c07288c723fd4a6dbd8c7ee9b79933f3
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.27/poky-ab9a994a8cd8e06b519a693db444030999d273b7.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.27/poky-ab9a994a8cd8e06b519a693db444030999d273b7.tar.bz2
openembedded-core
- Repository Location: :oe_git:`/openembedded-core`
- Branch: :oe_git:`kirkstone </openembedded-core/log/?h=kirkstone>`
- Tag: :oe_git:`yocto-4.0.27 </openembedded-core/log/?h=yocto-4.0.27>`
- Git Revision: :oe_git:`e8be08a624b2d024715a5c8b0c37f2345a02336b </openembedded-core/commit/?id=e8be08a624b2d024715a5c8b0c37f2345a02336b>`
- Release Artefact: oecore-e8be08a624b2d024715a5c8b0c37f2345a02336b
- sha: cc5b0fadab021c6dc61f37fc4ff01a1cf657e7c219488ce264bede42f7f6212f
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.27/oecore-e8be08a624b2d024715a5c8b0c37f2345a02336b.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.27/oecore-e8be08a624b2d024715a5c8b0c37f2345a02336b.tar.bz2
meta-mingw
- Repository Location: :yocto_git:`/meta-mingw`
- Branch: :yocto_git:`kirkstone </meta-mingw/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.27 </meta-mingw/log/?h=yocto-4.0.27>`
- Git Revision: :yocto_git:`87c22abb1f11be430caf4372e6b833dc7d77564e </meta-mingw/commit/?id=87c22abb1f11be430caf4372e6b833dc7d77564e>`
- Release Artefact: meta-mingw-87c22abb1f11be430caf4372e6b833dc7d77564e
- sha: f0bc4873e2e0319fb9d6d6ab9b98eb3f89664d4339a167d2db6a787dd12bc1a8
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.27/meta-mingw-87c22abb1f11be430caf4372e6b833dc7d77564e.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.27/meta-mingw-87c22abb1f11be430caf4372e6b833dc7d77564e.tar.bz2
meta-gplv2
- Repository Location: :yocto_git:`/meta-gplv2`
- Branch: :yocto_git:`kirkstone </meta-gplv2/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.27 </meta-gplv2/log/?h=yocto-4.0.27>`
- Git Revision: :yocto_git:`d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a </meta-gplv2/commit/?id=d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a>`
- Release Artefact: meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a
- sha: c386f59f8a672747dc3d0be1d4234b6039273d0e57933eb87caa20f56b9cca6d
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.27/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.27/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
bitbake
- Repository Location: :oe_git:`/bitbake`
- Branch: :oe_git:`2.0 </bitbake/log/?h=2.0>`
- Tag: :oe_git:`yocto-4.0.27 </bitbake/log/?h=yocto-4.0.27>`
- Git Revision: :oe_git:`046871d9fd76efdca7b72718b328d8f545523f7e </bitbake/commit/?id=046871d9fd76efdca7b72718b328d8f545523f7e>`
- Release Artefact: bitbake-046871d9fd76efdca7b72718b328d8f545523f7e
- sha: e9df0a9f5921b583b539188d66b23f120e1751000e7822e76c3391d5c76ee21a
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.27/bitbake-046871d9fd76efdca7b72718b328d8f545523f7e.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.27/bitbake-046871d9fd76efdca7b72718b328d8f545523f7e.tar.bz2
yocto-docs
- Repository Location: :yocto_git:`/yocto-docs`
- Branch: :yocto_git:`kirkstone </yocto-docs/log/?h=kirkstone>`
- Tag: :yocto_git:`yocto-4.0.27 </yocto-docs/log/?h=yocto-4.0.27>`
- Git Revision: :yocto_git:`0d51e553d5f83eea6634e03ddc9c7740bf72fcea </yocto-docs/commit/?id=0d51e553d5f83eea6634e03ddc9c7740bf72fcea>`

View File

@@ -295,7 +295,7 @@ New Features / Enhancements in 4.3
- Generation of :term:`SPDX` manifests is now enabled by default.
- Git based recipes in OE-Core which used the ``git`` protocol have been
changed to use ``https`` where possible, as it is typically faster and
changed to use `https`` where possible, as it is typically faster and
more reliable.
- The ``os-release`` recipe added a ``CPE_NAME`` to the fields provided, with the

View File

@@ -1,206 +0,0 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Release notes for Yocto-5.0.9 (Scarthgap)
-----------------------------------------
Security Fixes in Yocto-5.0.9
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- binutils: Fix :cve_nist:`2024-57360`, :cve_nist:`2025-1176`, :cve_nist:`2025-1178` and
:cve_nist:`2025-1181`
- expat: Fix :cve_nist:`2024-8176`
- freetype: Fix :cve_nist:`2025-27363`
- ghostscript: Fix :cve_nist:`2025-27830`, :cve_nist:`2025-27831`, :cve_nist:`2025-27832`,
:cve_nist:`2025-27833`, :cve_nist:`2025-27833`, :cve_nist:`2025-27834`, :cve_nist:`2025-27835`
and :cve_nist:`2025-27836`
- go: fix :cve_nist:`2025-22870` and :cve_nist:`2025-22871`
- grub: Fix :cve_nist:`2024-45781`, :cve_nist:`2024-45774`, :cve_nist:`2024-45775`,
:cve_nist:`2024-45776`, :cve_nist:`2024-45777`, :cve_nist:`2024-45778`, :cve_nist:`2024-45779`,
:cve_nist:`2024-45780`, :cve_nist:`2024-45782`, :cve_nist:`2024-45783`, :cve_nist:`2024-56737`,
:cve_nist:`2025-0622`, :cve_nist:`2025-0624`, :cve_nist:`2025-0677`, :cve_nist:`2025-0678`,
:cve_nist:`2025-0684`, :cve_nist:`2025-0685`, :cve_nist:`2025-0686`, :cve_nist:`2025-0689`,
:cve_nist:`2025-0690`, :cve_nist:`2025-1118` and :cve_nist:`2025-1125`
- libarchive: Fix :cve_nist:`2024-20696`, :cve_nist:`2024-48957`, :cve_nist:`2024-48958`,
:cve_nist:`2025-1632` and :cve_nist:`2025-25724`
- libxslt: Fix :cve_nist:`2024-24855` and :cve_nist:`2024-55549`
- linux-yocto/6.6: Fix :cve_nist:`2024-54458`, :cve_nist:`2024-57834`, :cve_nist:`2024-57973`,
:cve_nist:`2024-57978`, :cve_nist:`2024-57979`, :cve_nist:`2024-57980`, :cve_nist:`2024-57981`,
:cve_nist:`2024-57984`, :cve_nist:`2024-57996`, :cve_nist:`2024-57997`, :cve_nist:`2024-58002`,
:cve_nist:`2024-58005`, :cve_nist:`2024-58007`, :cve_nist:`2024-58010`, :cve_nist:`2024-58011`,
:cve_nist:`2024-58013`, :cve_nist:`2024-58017`, :cve_nist:`2024-58020`, :cve_nist:`2024-58034`,
:cve_nist:`2024-58052`, :cve_nist:`2024-58055`, :cve_nist:`2024-58058`, :cve_nist:`2024-58063`,
:cve_nist:`2024-58068`, :cve_nist:`2024-58069`, :cve_nist:`2024-58070`, :cve_nist:`2024-58071`,
:cve_nist:`2024-58076`, :cve_nist:`2024-58080`, :cve_nist:`2024-58083`, :cve_nist:`2024-58088`,
:cve_nist:`2025-21700`, :cve_nist:`2025-21703`, :cve_nist:`2025-21707`, :cve_nist:`2025-21711`,
:cve_nist:`2025-21715`, :cve_nist:`2025-21716`, :cve_nist:`2025-21718`, :cve_nist:`2025-21726`,
:cve_nist:`2025-21727`, :cve_nist:`2025-21731`, :cve_nist:`2025-21735`, :cve_nist:`2025-21736`,
:cve_nist:`2025-21741`, :cve_nist:`2025-21742`, :cve_nist:`2025-21743`, :cve_nist:`2025-21744`,
:cve_nist:`2025-21745`, :cve_nist:`2025-21748`, :cve_nist:`2025-21749`, :cve_nist:`2025-21753`,
:cve_nist:`2025-21756`, :cve_nist:`2025-21759`, :cve_nist:`2025-21760`, :cve_nist:`2025-21761`,
:cve_nist:`2025-21762`, :cve_nist:`2025-21763`, :cve_nist:`2025-21764`, :cve_nist:`2025-21773`,
:cve_nist:`2025-21775`, :cve_nist:`2025-21776`, :cve_nist:`2025-21779`, :cve_nist:`2025-21780`,
:cve_nist:`2025-21782`, :cve_nist:`2025-21783`, :cve_nist:`2025-21785`, :cve_nist:`2025-21787`,
:cve_nist:`2025-21789`, :cve_nist:`2025-21790`, :cve_nist:`2025-21791`, :cve_nist:`2025-21792`,
:cve_nist:`2025-21793`, :cve_nist:`2025-21796`, :cve_nist:`2025-21811`, :cve_nist:`2025-21812`,
:cve_nist:`2025-21814`, :cve_nist:`2025-21820`, :cve_nist:`2025-21844`, :cve_nist:`2025-21846`,
:cve_nist:`2025-21847`, :cve_nist:`2025-21848`, :cve_nist:`2025-21853`, :cve_nist:`2025-21854`,
:cve_nist:`2025-21855`, :cve_nist:`2025-21856`, :cve_nist:`2025-21857`, :cve_nist:`2025-21858`,
:cve_nist:`2025-21859`, :cve_nist:`2025-21862`, :cve_nist:`2025-21863`, :cve_nist:`2025-21864`,
:cve_nist:`2025-21865`, :cve_nist:`2025-21866`, :cve_nist:`2025-21867`, :cve_nist:`2025-21887`,
:cve_nist:`2025-21891`, :cve_nist:`2025-21898`, :cve_nist:`2025-21904`, :cve_nist:`2025-21905`,
:cve_nist:`2025-21908`, :cve_nist:`2025-21912`, :cve_nist:`2025-21915`, :cve_nist:`2025-21917`,
:cve_nist:`2025-21918`, :cve_nist:`2025-21919`, :cve_nist:`2025-21920`, :cve_nist:`2025-21922`,
:cve_nist:`2025-21928`, :cve_nist:`2025-21934`, :cve_nist:`2025-21936`, :cve_nist:`2025-21937`,
:cve_nist:`2025-21941`, :cve_nist:`2025-21943`, :cve_nist:`2025-21945`, :cve_nist:`2025-21947`,
:cve_nist:`2025-21948`, :cve_nist:`2025-21951`, :cve_nist:`2025-21957`, :cve_nist:`2025-21959`,
:cve_nist:`2025-21962`, :cve_nist:`2025-21963`, :cve_nist:`2025-21964`, :cve_nist:`2025-21966`,
:cve_nist:`2025-21967`, :cve_nist:`2025-21968`, :cve_nist:`2025-21969`, :cve_nist:`2025-21979`,
:cve_nist:`2025-21980`, :cve_nist:`2025-21981`, :cve_nist:`2025-21991` and :cve_nist:`2025-21993`
- mpg123: Fix :cve_nist:`2024-10573`
- ofono: Fix :cve_nist:`2024-7537`
- openssh: Fix :cve_nist:`2025-26465`
- puzzles: Ignore :cve_nist:`2024-13769`, :cve_nist:`2024-13770` and :cve_nist:`2025-0837`
- qemu: Ignore :cve_nist:`2023-1386`
- ruby: Fix :cve_nist:`2025-27219` and :cve_nist:`2025-27220`
- rust-cross-canadian: Ignore :cve_nist:`2024-43402`
- vim: Fix :cve_nist:`2025-1215`, :cve_nist:`2025-26603`, :cve_nist:`2025-27423` and
:cve_nist:`2025-29768`
- xserver-xorg: Fix :cve_nist:`2025-26594`, :cve_nist:`2025-26595`, :cve_nist:`2025-26596`,
:cve_nist:`2025-26597`, :cve_nist:`2025-26598`, :cve_nist:`2025-26599`, :cve_nist:`2025-26600`
and :cve_nist:`2025-26601`
- xz: Fix :cve_nist:`2025-31115`
Fixes in Yocto-5.0.9
~~~~~~~~~~~~~~~~~~~~
- babeltrace2: extend to nativesdk
- babeltrace: extend to nativesdk
- bitbake: event/utils: Avoid deadlock from lock_timeout() and recursive events
- bitbake: utils: Add signal blocking for lock_timeout
- bitbake: utils: Print information about lock issue before exiting
- bitbake: utils: Tweak lock_timeout logic
- build-appliance-image: Update to scarthgap head revision
- cve-check.bbclass: Mitigate symlink related error
- cve-update-nvd2-native: add workaround for json5 style list
- cve-update-nvd2-native: handle missing vulnStatus
- gcc: remove paths to sysroot from configargs.h and checksum-options for gcc-cross-canadian
- gcc: unify cleanup of include-fixed, apply to cross-canadian
- ghostscript: upgrade to 10.05.0
- grub: backport strlcpy function
- grub: drop obsolete CVE statuses
- icu: Adjust ICU_DATA_DIR path on big endian targets
- kernel-arch: add macro-prefix-map in KERNEL_CC
- libarchive: upgrade to 3.7.9
- libxslt: upgrade to 1.1.43
- linux-yocto/6.6: update to v6.6.84
- mc: set ac_cv_path_ZIP to avoid buildpaths QA issues
- mpg123: upgrade to 1.32.10
- nativesdk-libtool: sanitize the script, remove buildpaths
- openssl: rewrite ptest installation
- overview-manual/concepts: remove :term:`PR` from the build dir list
- patch.py: set commituser and commitemail for addNote
- poky.conf: bump version for 5.0.9
- vim: Upgrade to 9.1.1198
- xserver-xf86-config: add a configuration fragment to disable screen blanking
- xserver-xf86-config: remove obsolete configuration files
- xserver-xorg: upgrade to 21.1.16
- xz: upgrade to 5.4.7
- yocto-uninative: Update to 4.7 for glibc 2.41
Known Issues in Yocto-5.0.9
~~~~~~~~~~~~~~~~~~~~~~~~~~~
- N/A
Contributors to Yocto-5.0.9
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Thanks to the following people who contributed to this release:
- Antonin Godard
- Archana Polampalli
- Ashish Sharma
- Bruce Ashfield
- Changqing Li
- Denys Dmytriyenko
- Divya Chellam
- Hitendra Prajapati
- Madhu Marri
- Makarios Christakis
- Martin Jansa
- Michael Halstead
- Niko Mauno
- Oleksandr Hnatiuk
- Peter Marko
- Richard Purdie
- Ross Burton
- Sana Kazi
- Stefan Mueller-Klieser
- Steve Sakoman
- Vijay Anusuri
- Virendra Thakur
- Vishwas Udupa
- Wang Mingyu
- Zhang Peng
Repositories / Downloads for Yocto-5.0.9
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
poky
- Repository Location: :yocto_git:`/poky`
- Branch: :yocto_git:`scarthgap </poky/log/?h=scarthgap>`
- Tag: :yocto_git:`yocto-5.0.9 </poky/log/?h=yocto-5.0.9>`
- Git Revision: :yocto_git:`bab0f9f62af9af580744948dd3240f648a99879a </poky/commit/?id=bab0f9f62af9af580744948dd3240f648a99879a>`
- Release Artefact: poky-bab0f9f62af9af580744948dd3240f648a99879a
- sha: ee6811d9fb6c4913e19d6e3569f1edc8ccd793779b237520596506446a6b4531
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-5.0.9/poky-bab0f9f62af9af580744948dd3240f648a99879a.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-5.0.9/poky-bab0f9f62af9af580744948dd3240f648a99879a.tar.bz2
openembedded-core
- Repository Location: :oe_git:`/openembedded-core`
- Branch: :oe_git:`scarthgap </openembedded-core/log/?h=scarthgap>`
- Tag: :oe_git:`yocto-5.0.9 </openembedded-core/log/?h=yocto-5.0.9>`
- Git Revision: :oe_git:`04038ecd1edd6592b826665a2b787387bb7074fa </openembedded-core/commit/?id=04038ecd1edd6592b826665a2b787387bb7074fa>`
- Release Artefact: oecore-04038ecd1edd6592b826665a2b787387bb7074fa
- sha: 6e201a4b486dfbdfcb7e96d83b962a205ec4764db6ad0e34bd623db18910eddb
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-5.0.9/oecore-04038ecd1edd6592b826665a2b787387bb7074fa.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-5.0.9/oecore-04038ecd1edd6592b826665a2b787387bb7074fa.tar.bz2
meta-mingw
- Repository Location: :yocto_git:`/meta-mingw`
- Branch: :yocto_git:`scarthgap </meta-mingw/log/?h=scarthgap>`
- Tag: :yocto_git:`yocto-5.0.9 </meta-mingw/log/?h=yocto-5.0.9>`
- Git Revision: :yocto_git:`bd9fef71ec005be3c3a6d7f8b99d8116daf70c4f </meta-mingw/commit/?id=bd9fef71ec005be3c3a6d7f8b99d8116daf70c4f>`
- Release Artefact: meta-mingw-bd9fef71ec005be3c3a6d7f8b99d8116daf70c4f
- sha: ab073def6487f237ac125d239b3739bf02415270959546b6b287778664f0ae65
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-5.0.9/meta-mingw-bd9fef71ec005be3c3a6d7f8b99d8116daf70c4f.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-5.0.9/meta-mingw-bd9fef71ec005be3c3a6d7f8b99d8116daf70c4f.tar.bz2
bitbake
- Repository Location: :oe_git:`/bitbake`
- Branch: :oe_git:`2.8 </bitbake/log/?h=2.8>`
- Tag: :oe_git:`yocto-5.0.9 </bitbake/log/?h=yocto-5.0.9>`
- Git Revision: :oe_git:`696c2c1ef095f8b11c7d2eff36fae50f58c62e5e </bitbake/commit/?id=696c2c1ef095f8b11c7d2eff36fae50f58c62e5e>`
- Release Artefact: bitbake-696c2c1ef095f8b11c7d2eff36fae50f58c62e5e
- sha: fc83f879cd6dd14b9b7eba0161fec23ecc191fed0fb00556ba729dceef6c145f
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-5.0.9/bitbake-696c2c1ef095f8b11c7d2eff36fae50f58c62e5e.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-5.0.9/bitbake-696c2c1ef095f8b11c7d2eff36fae50f58c62e5e.tar.bz2
yocto-docs
- Repository Location: :yocto_git:`/yocto-docs`
- Branch: :yocto_git:`scarthgap </yocto-docs/log/?h=scarthgap>`
- Tag: :yocto_git:`yocto-5.0.9 </yocto-docs/log/?h=yocto-5.0.9>`
- Git Revision: :yocto_git:`56db4fd81f6235428bef9e46a61c11ca0ba89733 </yocto-docs/commit/?id=56db4fd81f6235428bef9e46a61c11ca0ba89733>`

View File

@@ -1,161 +0,0 @@
Release notes for Yocto-5.2.1 (Walnascar)
-----------------------------------------
Security Fixes in Yocto-5.2.1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- connman :Fix :cve_nist:`2025-32366` and :cve_nist:`2025-32743`
- ffmpeg: Fix :cve_nist:`2025-22921`
- go: Fix :cve_nist:`2025-22871` and CVE-2025-22873
- iputils: Fix :cve_nist:`2025-47268`
- libsoup-2.4: Fix :cve_nist:`2024-52532` and :cve_nist:`2025-32911`
- libxml2: Fix :cve_nist:`2025-32414` and :cve_nist:`2025-32415`
- openssh: Fix :cve_nist:`2025-32728`
- perl: Fix :cve_nist:`2024-56406`
- qemu: Ignore :cve_nist:`2023-1386`
- ruby: Fix :cve_nist:`2025-27219`, :cve_nist:`2025-27220` and :cve_nist:`2025-27221`
- webkitgtk: Fix :cve_nist:`2024-54551`, :cve_nist:`2025-24208`, :cve_nist:`2025-24209`,
:cve_nist:`2025-24213`, :cve_nist:`2025-24216`, :cve_nist:`2025-24264` and :cve_nist:`2025-30427`
Fixes in Yocto-5.2.1
~~~~~~~~~~~~~~~~~~~~
- binutils: stable 2.44 branch updates
- bluez5: add missing tools to noinst-tools package
- build-appliance-image: Update to walnascar head revision
- buildtools-tarball: Make buildtools respects host CA certificates
- buildtools-tarball: add envvars into :term:`BB_ENV_PASSTHROUGH_ADDITIONS`
- buildtools-tarball: move setting of envvars to respective envfile
- cdrtools-native: fix booting EFI ISO live failed
- contributor-guide/submit-changes: encourage patch version changelogs
- gcc: Fix LDRD register overlap in register-indexed mode
- glibc-y2038-tests: remove glibc-y2038-tests_2.41.bb recipe
- glibc: Add single-threaded fast path to rand()
- glibc: stable 2.41 branch update
- go: upgrade to 1.24.3
- gobject-introspection: Fix wrong :term:`PN` used in MULTILIB_SCRIPTS
- icu: set ac_cv_path_install to ensure install tool reproducibility
- initscripts: add function log_success_msg/log_failure_msg/log_warning_msg
- insane.bbclass: Move test for invalid PACKAGECONFIGs to do_recipe_qa
- insane.bbclass: Report all invalid PACKAGECONFIGs for a recipe at once
- libxml2: upgrade to 2.13.8
- makedumpfile: upgrade to 1.7.7
- migration-guides: add release notes for 4.0.26 and 5.0.9
- module.bbclass: add KBUILD_EXTRA_SYMBOLS to install
- patch.py: set commituser and commitemail for addNote
- perl: upgrade to 5.40.2
- perlcross: upgrade to 1.6.2
- poky.conf: bump version for 5.2.1
- ref-manual/release-process: update releases.svg
- ref-manual/variables.rst: document :term:`WIC_CREATE_EXTRA_ARGS`
- ref-manual/variables.rst: update :term:`ROOT_HOME` documentation
- ref-manual: classes: uki: Fix git links
- ref-manual: kernel-fitimage.bbclass does not use :term:`SPL_SIGN_KEYNAME`
- ruby: upgrade to 3.4.3
- sbom.rst: how to disable :term:`SPDX` generation
- scripts/install-buildtools: Update to 5.2
- sphinx-lint: various fixes
- syslinux: improve isohybrid to process extra sector count for ISO 9660 image
- test-manual/intro: remove Buildbot version used
- tzdata/tzcode-native: upgrade to 2025b
- webkitgtk: Use WTF_CPU_UNKNOWN when building for riscv64
- webkitgtk: upgrade to 2.48.1
Known Issues in Yocto-5.2.1
~~~~~~~~~~~~~~~~~~~~~~~~~~~
- N/A
Contributors to Yocto-5.2.1
~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Adrian Freihofer
- Aleksandar Nikolic
- Alon Bar-Lev
- Antonin Godard
- Archana Polampalli
- Changqing Li
- Deepesh Varatharajan
- Divya Chellam
- Enrico Jörns
- Guðni Már Gilbert
- Haixiao Yan
- Hongxu Jia
- Jiaying Song
- Khem Raj
- Lee Chee Yang
- Leonard Anderweit
- Madhu Marri
- Mikko Rapeli
- Peter Kjellerstedt
- Peter Marko
- Praveen Kumar
- Priyal Doshi
- Steve Sakoman
- Trevor Woerner
- Yi Zhao
- Yogita Urade
- rajmohan r
Repositories / Downloads for Yocto-5.2.1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
poky
- Repository Location: :yocto_git:`/poky`
- Branch: :yocto_git:`walnascar </poky/log/?h=walnascar>`
- Tag: :yocto_git:`yocto-5.2.1 </poky/log/?h=yocto-5.2.1>`
- Git Revision: :yocto_git:`fd9b605507a20d850a9991316cd190c1d20dc4a6 </poky/commit/?id=fd9b605507a20d850a9991316cd190c1d20dc4a6>`
- Release Artefact: poky-fd9b605507a20d850a9991316cd190c1d20dc4a6
- sha: 0234a96fc28e60e0acaae2a03118ecde76810c47e8bb259f4950492bd75fc050
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-5.2.1/poky-fd9b605507a20d850a9991316cd190c1d20dc4a6.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-5.2.1/poky-fd9b605507a20d850a9991316cd190c1d20dc4a6.tar.bz2
openembedded-core
- Repository Location: :oe_git:`/openembedded-core`
- Branch: :oe_git:`walnascar </openembedded-core/log/?h=walnascar>`
- Tag: :oe_git:`yocto-5.2.1 </openembedded-core/log/?h=yocto-5.2.1>`
- Git Revision: :oe_git:`17affdaa600896282e07fb4d64cb23195673baa1 </openembedded-core/commit/?id=17affdaa600896282e07fb4d64cb23195673baa1>`
- Release Artefact: oecore-17affdaa600896282e07fb4d64cb23195673baa1
- sha: b6c3c15004fcd1efbaa26c9695202806402730dde8e41552a70140cff67c97c9
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-5.2.1/oecore-17affdaa600896282e07fb4d64cb23195673baa1.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-5.2.1/oecore-17affdaa600896282e07fb4d64cb23195673baa1.tar.bz2
meta-mingw
- Repository Location: :yocto_git:`/meta-mingw`
- Branch: :yocto_git:`walnascar </meta-mingw/log/?h=walnascar>`
- Tag: :yocto_git:`yocto-5.2.1 </meta-mingw/log/?h=yocto-5.2.1>`
- Git Revision: :yocto_git:`edce693e1b8fabd84651aa6c0888aafbcf238577 </meta-mingw/commit/?id=edce693e1b8fabd84651aa6c0888aafbcf238577>`
- Release Artefact: meta-mingw-edce693e1b8fabd84651aa6c0888aafbcf238577
- sha: 6cfed41b54f83da91a6cf201ec1c2cd4ac284f642b1268c8fa89d2335ea2bce1
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-5.2.1/meta-mingw-edce693e1b8fabd84651aa6c0888aafbcf238577.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-5.2.1/meta-mingw-edce693e1b8fabd84651aa6c0888aafbcf238577.tar.bz2
bitbake
- Repository Location: :oe_git:`/bitbake`
- Branch: :oe_git:`2.12 </bitbake/log/?h=2.12>`
- Tag: :oe_git:`yocto-5.2.1 </bitbake/log/?h=yocto-5.2.1>`
- Git Revision: :oe_git:`5b4e20377eea8d428edf1aeb2187c18f82ca6757 </bitbake/commit/?id=5b4e20377eea8d428edf1aeb2187c18f82ca6757>`
- Release Artefact: bitbake-5b4e20377eea8d428edf1aeb2187c18f82ca6757
- sha: 48cff22c1e61f47adce474b636ca865e7e0b62293fc5c8829d09e7f1ac5252af
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-5.2.1/bitbake-5b4e20377eea8d428edf1aeb2187c18f82ca6757.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-5.2.1/bitbake-5b4e20377eea8d428edf1aeb2187c18f82ca6757.tar.bz2
yocto-docs
- Repository Location: :yocto_git:`/yocto-docs`
- Branch: :yocto_git:`walnascar </yocto-docs/log/?h=walnascar>`
- Tag: :yocto_git:`yocto-5.2.1 </yocto-docs/log/?h=yocto-5.2.1>`
- Git Revision: :yocto_git:`6b7019c13054bf11fb16657a3fac85831352cea9 </yocto-docs/commit/?id=6b7019c13054bf11fb16657a3fac85831352cea9>`

View File

@@ -25,7 +25,7 @@ New Features / Enhancements in |yocto-ver|
:ref:`Shared State <overview-manual/concepts:Shared State>` for the
dependencies. See :doc:`/test-manual/reproducible-builds`.
- ``systemd``: Add :term:`WATCHDOG_RUNTIME_SEC`: for controlling the
- ``systemd``: Add term:`WATCHDOG_RUNTIME_SEC`: for controlling the
``RuntimeWatchdogSec`` option in ``/etc/systemd/system.conf``.
- :term:`FIT_UBOOT_ENV` to allow including a u-boot script as a text in a
@@ -354,7 +354,7 @@ New Features / Enhancements in |yocto-ver|
HTTPS tokens may not be required.
- ``compress``: use ``lz4`` instead of ``lz4c``, as ``lz4c`` as been
considered deprecated since 2018.
considered deprecrated since 2018.
- ``server/process``: decrease idle/main loop frequency, as it is idle and
main loops have socket select calls to know when to execute.
@@ -373,7 +373,7 @@ New Features / Enhancements in |yocto-ver|
- ``bb/build``: add a function ``bb.build.listtasks()`` to list the tasks in
a datastore.
- Remove custom exception backtrace formatting, and replace occurrences of
- Remove custom exception backtrace formatting, and replace occurences of
``bb.exception.format_exception()`` by ``traceback.format_exception()``.
- ``runqueue``: various performance optimizations including:
@@ -598,7 +598,7 @@ New Features / Enhancements in |yocto-ver|
code in :oe_git:`meta/lib/oe/license.py </openembedded-core/tree/meta/lib/oe/license.py>`.
- The recipe ``cairo`` now disables the features ``symbol-lookup``,
``spectre``, and ``tests`` by default.
``spectre`, and ``tests`` by default.
- The recipe ``glib-2.0`` now disables the feature ``sysprof`` by default.
@@ -671,7 +671,7 @@ New Features / Enhancements in |yocto-ver|
- New ``bbverbnote`` log utility which can be used to print on the console
(equivalent to the ``bb.verbnote`` Python implementation).
- :ref:`ref-classes-grub-efi`: Add :term:`GRUB_TITLE` variable to set
- :ref:``ref-classes-grub-efi``: Add :term:`GRUB_TITLE` variable to set
custom GRUB titles.
- ``gawk``: Enable high precision arithmetic support by default (``mpfr``
@@ -2241,60 +2241,3 @@ Thanks to the following people who contributed to this release:
Repositories / Downloads for Yocto-|yocto-ver|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
poky
- Repository Location: :yocto_git:`/poky`
- Branch: :yocto_git:`walnascar </poky/log/?h=walnascar>`
- Tag: :yocto_git:`yocto-5.2 </poky/log/?h=yocto-5.2>`
- Git Revision: :yocto_git:`9b96fdbb0cab02f4a6180e812b02bc9d4c41b1a5 </poky/commit/?id=9b96fdbb0cab02f4a6180e812b02bc9d4c41b1a5>`
- Release Artefact: poky-9b96fdbb0cab02f4a6180e812b02bc9d4c41b1a5
- sha: 2d3c0e216c7fa71a364986be6754549e2059d37581aad0a53f0f95c33fb1eefe
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-5.2/poky-9b96fdbb0cab02f4a6180e812b02bc9d4c41b1a5.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-5.2/poky-9b96fdbb0cab02f4a6180e812b02bc9d4c41b1a5.tar.bz2
openembedded-core
- Repository Location: :oe_git:`/openembedded-core`
- Branch: :oe_git:`walnascar </openembedded-core/log/?h=walnascar>`
- Tag: :oe_git:`yocto-5.2 </openembedded-core/log/?h=yocto-5.2>`
- Git Revision: :oe_git:`6ec2c52b938302b894f119f701ffcf0a847eee85 </openembedded-core/commit/?id=6ec2c52b938302b894f119f701ffcf0a847eee85>`
- Release Artefact: oecore-6ec2c52b938302b894f119f701ffcf0a847eee85
- sha: 00453354efdd9c977d559f7c0047691bb974170ce313ac9a1e6cb94108d6c648
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-5.2/oecore-6ec2c52b938302b894f119f701ffcf0a847eee85.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-5.2/oecore-6ec2c52b938302b894f119f701ffcf0a847eee85.tar.bz2
meta-mingw
- Repository Location: :yocto_git:`/meta-mingw`
- Branch: :yocto_git:`walnascar </meta-mingw/log/?h=walnascar>`
- Tag: :yocto_git:`yocto-5.2 </meta-mingw/log/?h=yocto-5.2>`
- Git Revision: :yocto_git:`edce693e1b8fabd84651aa6c0888aafbcf238577 </meta-mingw/commit/?id=edce693e1b8fabd84651aa6c0888aafbcf238577>`
- Release Artefact: meta-mingw-edce693e1b8fabd84651aa6c0888aafbcf238577
- sha: 6cfed41b54f83da91a6cf201ec1c2cd4ac284f642b1268c8fa89d2335ea2bce1
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-5.2/meta-mingw-edce693e1b8fabd84651aa6c0888aafbcf238577.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-5.2/meta-mingw-edce693e1b8fabd84651aa6c0888aafbcf238577.tar.bz2
bitbake
- Repository Location: :oe_git:`/bitbake`
- Branch: :oe_git:`2.12 </bitbake/log/?h=2.12>`
- Tag: :oe_git:`yocto-5.2 </bitbake/log/?h=yocto-5.2>`
- Git Revision: :oe_git:`5b4e20377eea8d428edf1aeb2187c18f82ca6757 </bitbake/commit/?id=5b4e20377eea8d428edf1aeb2187c18f82ca6757>`
- Release Artefact: bitbake-5b4e20377eea8d428edf1aeb2187c18f82ca6757
- sha: 48cff22c1e61f47adce474b636ca865e7e0b62293fc5c8829d09e7f1ac5252af
- Download Locations:
https://downloads.yoctoproject.org/releases/yocto/yocto-5.2/bitbake-5b4e20377eea8d428edf1aeb2187c18f82ca6757.tar.bz2
https://mirrors.kernel.org/yocto/yocto/yocto-5.2/bitbake-5b4e20377eea8d428edf1aeb2187c18f82ca6757.tar.bz2
yocto-docs
- Repository Location: :yocto_git:`/yocto-docs`
- Branch: :yocto_git:`walnascar </yocto-docs/log/?h=walnascar>`
- Tag: :yocto_git:`yocto-5.2 </yocto-docs/log/?h=yocto-5.2>`
- Git Revision: :yocto_git:`b8d9cf79d299b2e553e6bc962527d835206022ec </yocto-docs/commit/?id=b8d9cf79d299b2e553e6bc962527d835206022ec>`

View File

@@ -1,126 +0,0 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
.. |yocto-codename| replace:: whinlatter
.. |yocto-ver| replace:: 5.3
.. Note: anchors id below cannot contain substitutions so replace them with the
value of |yocto-ver| above.
Release notes for |yocto-ver| (|yocto-codename|)
------------------------------------------------
New Features / Enhancements in |yocto-ver|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Linux kernel XXX, gcc XXX, glibc XXX, LLVM XXX, and over XXX other
recipe upgrades.
- Minimum Python version required on the host: XXX.
- New variables:
- Kernel-related changes:
- New core recipes:
- New core classes:
- Architecture-specific changes:
- QEMU / ``runqemu`` changes:
- Documentation changes:
- Go changes:
- Rust changes:
- Wic Image Creator changes:
- SDK-related changes:
- Testing-related changes:
- Utility script changes:
- BitBake changes:
- Packaging changes:
- LLVM related changes:
- SPDX-related changes:
- ``devtool`` changes:
- Patchtest-related changes:
- :ref:`ref-classes-insane` class related changes:
- Security changes:
- :ref:`ref-classes-cve-check` changes:
- New :term:`PACKAGECONFIG` options for individual recipes:
- Systemd related changes:
- :ref:`ref-classes-sanity` class changes:
- Miscellaneous changes:
Known Issues in |yocto-ver|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Recipe License changes in |yocto-ver|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The following changes have been made to the :term:`LICENSE` values set by recipes:
.. list-table::
:widths: 20 40 40
:header-rows: 1
* - Recipe
- Previous value
- New value
* - ``recipe name``
- Previous value
- New value
Security Fixes in |yocto-ver|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The following CVEs have been fixed:
.. list-table::
:widths: 30 70
:header-rows: 1
* - Recipe
- CVE IDs
* - ``recipe name``
- :cve_nist:`xxx-xxxx`, ...
Recipe Upgrades in |yocto-ver|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The following recipes have been upgraded:
.. list-table::
:widths: 20 40 40
:header-rows: 1
* - Recipe
- Previous version
- New version
* - ``recipe name``
- Previous version
- New version
Contributors to |yocto-ver|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Thanks to the following people who contributed to this release:
Repositories / Downloads for Yocto-|yocto-ver|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View File

@@ -956,7 +956,7 @@ package.
For more information on the ``oe-pkgdata-util`` utility, see the section
:ref:`dev-manual/debugging:Viewing Package Information with
``oe-pkgdata-util``` of the Yocto Project Development Tasks Manual.
\`\`oe-pkgdata-util\`\`` of the Yocto Project Development Tasks Manual.
To add a custom package variant of the ``${PN}`` recipe named
``${PN}-extra`` (name is arbitrary), one can add it to the

View File

@@ -47,12 +47,10 @@ Here are features and advantages of the Yocto Project:
see the "COMMUNITY" and "ECOSYSTEM" tabs on the
:yocto_home:`Yocto Project <>` home page.
- *Architecture Agnostic:* Yocto Project supports Intel, ARM, MIPS, AMD, PPC,
RISC-V and other architectures. Most ODMs, OSVs, and chip vendors create and
supply BSPs that support their hardware. If you have custom silicon, you can
create a BSP that supports that architecture. See
:doc:`ref-manual/yocto-project-supported-features` for details on the level
of support for some of these architectures.
- *Architecture Agnostic:* Yocto Project supports Intel, ARM, MIPS,
AMD, PPC and other architectures. Most ODMs, OSVs, and chip vendors
create and supply BSPs that support their hardware. If you have
custom silicon, you can create a BSP that supports that architecture.
Aside from broad architecture support, the Yocto Project fully
supports a wide range of devices emulated by the Quick EMUlator

View File

@@ -4,18 +4,18 @@
# The DISTRO variable represents the current docs version. It should be used
# when referring to the current docs version. See also DISTRO_LATEST_TAG.
DISTRO : "5.2"
DISTRO : "5.1"
# The DISTRO_LATEST_TAG represents the latest tag on the current branch. It
# should be used in HTTP link referring to the current docs version. In these
# cases, the DISTRO may point to A.B.999 which does not exist (just used to
# represent the latest HEAD revision on the branch). DISTRO_LATEST_TAG should
# always point to an existing tag.
DISTRO_LATEST_TAG : "5.2"
DISTRO_NAME_NO_CAP : "walnascar"
DISTRO_NAME : "Walnascar"
DISTRO_NAME_NO_CAP_MINUS_ONE : "styhead"
DISTRO_LATEST_TAG : "5.1"
DISTRO_NAME_NO_CAP : "styhead"
DISTRO_NAME : "Styhead"
DISTRO_NAME_NO_CAP_MINUS_ONE : "scarthgap"
DISTRO_NAME_NO_CAP_LTS : "scarthgap"
YOCTO_DOC_VERSION : "5.2"
YOCTO_DOC_VERSION : "5.1"
DISTRO_REL_TAG : "yocto-$DISTRO;"
DISTRO_REL_LATEST_TAG : "yocto-&DISTRO_LATEST_TAG;"
DOCCONF_VERSION : "dev"

View File

@@ -3426,8 +3426,6 @@ The variables used by this class are:
- :term:`UBOOT_FIT_USER_SETTINGS`: adds a user-specific snippet to the U-Boot
Image Tree Source (ITS). Users can include their custom U-Boot Image Tree
Source (ITS) snippet in this variable.
- :term:`UBOOT_FIT_CONF_FIRMWARE`: adds one image to the ``firmware`` property
of the configuration node.
- :term:`UBOOT_FIT_CONF_USER_LOADABLES`: adds one or more user-defined images
to the ``loadables`` property of the configuration node.
@@ -3454,7 +3452,7 @@ on target hardware. Using ``systemd`` as init is recommended. Image builds
should create an ESP partition for UEFI firmware and copy ``systemd-boot`` and
UKI files there. Sample configuration for Wic images is provided in
:oe_git:`scripts/lib/wic/canned-wks/efi-uki-bootdisk.wks.in
</openembedded-core/tree/scripts/lib/wic/canned-wks/efi-uki-bootdisk.wks.in>`.
<openembedded-core/tree/scripts/lib/wic/canned-wks/efi-uki-bootdisk.wks.in>`.
UKIs are generated using ``systemd`` reference implementation `ukify
<https://www.freedesktop.org/software/systemd/man/latest/ukify.html>`__.
This class uses a number of variables but tries to find sensible defaults for
@@ -3464,7 +3462,7 @@ The variables used by this class are:
- :term:`EFI_ARCH`: architecture name within EFI standard, set in
:oe_git:`meta/conf/image-uefi.conf
</openembedded-core/tree/meta/conf/image-uefi.conf>`
<openembedded-core/tree/meta/conf/image-uefi.conf>`
- :term:`IMAGE_EFI_BOOT_FILES`: files to install to EFI boot partition
created by the ``bootimg-efi`` Wic plugin
- :term:`INITRAMFS_IMAGE`: initramfs recipe name
@@ -3483,9 +3481,9 @@ The variables used by this class are:
For examples on how to use this class see oeqa selftest
:oe_git:`meta/lib/oeqa/selftest/cases/uki.py
</openembedded-core/tree/meta/lib/oeqa/selftest/cases/uki.py>`.
<openembedded-core/tree/meta/lib/oeqa/selftest/cases/uki.py>`.
Also an oeqa runtime test :oe_git:`meta/lib/oeqa/runtime/cases/uki.py
</openembedded-core/tree/meta/lib/oeqa/runtime/cases/uki.py>` is provided which
<openembedded-core/tree/meta/lib/oeqa/runtime/cases/uki.py>` is provided which
verifies that the target system booted the same UKI binary as was set at
buildtime via :term:`UKI_FILENAME`.

View File

@@ -435,7 +435,7 @@ You can read more on the ``devtool upgrade`` workflow in the
":ref:`dev-manual/devtool:use \`\`devtool upgrade\`\` to create a version of the recipe that supports a newer version of the software`"
section in the Yocto Project Application Development and the Extensible
Software Development Kit (eSDK) manual. You can also see an example of
how to use ``devtool upgrade`` in the ":ref:`dev-manual/upgrading-recipes:using ``devtool upgrade```"
how to use ``devtool upgrade`` in the ":ref:`dev-manual/upgrading-recipes:using \`\`devtool upgrade\`\``"
section in the Yocto Project Development Tasks Manual.
.. _devtool-resetting-a-recipe:

View File

@@ -11,7 +11,6 @@ Yocto Project Reference Manual
:numbered:
system-requirements
yocto-project-supported-features
terms
release-process
structure

View File

@@ -515,7 +515,7 @@ generated during the :ref:`ref-tasks-packagedata` task. The files stored in this
directory contain information about each output package produced by the
OpenEmbedded build system, and are used in different ways by the build system
such as ":ref:`dev-manual/debugging:viewing package information with
``oe-pkgdata-util```".
\`\`oe-pkgdata-util\`\``".
.. _structure-build-tmp-sstate-control:

View File

@@ -2,11 +2,11 @@
<svg
version="1.1"
id="svg2"
width="1992.7236"
height="613.35602"
viewBox="0 0 1992.7236 613.35599"
width="1523.001"
height="504.30499"
viewBox="0 0 1523.001 504.30497"
sodipodi:docname="releases.svg"
inkscape:version="1.4.1 (93de688d07, 2025-03-30)"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
inkscape:export-filename="../../../../../../../../tmp/releases.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
@@ -70,7 +70,7 @@
scale_width="1"
end_linecap_type="zerowidth"
not_jump="false"
message="" />
message="&lt;b&gt;Ctrl + click&lt;/b&gt; on existing node and move it" />
<marker
style="overflow:visible"
id="marker5783"
@@ -412,9 +412,9 @@
inkscape:window-height="2069"
id="namedview4"
showgrid="true"
inkscape:zoom="1.5536106"
inkscape:cx="1158.2696"
inkscape:cy="273.55632"
inkscape:zoom="2.1971372"
inkscape:cx="1068.2082"
inkscape:cy="287.87461"
inkscape:window-x="2256"
inkscape:window-y="60"
inkscape:window-maximized="1"
@@ -433,8 +433,8 @@
<inkscape:grid
type="xygrid"
id="grid1257"
originx="-289.06071"
originy="478.43017"
originx="-289.99936"
originy="369.99997"
spacingy="1"
spacingx="1"
units="px"
@@ -444,90 +444,66 @@
inkscape:groupmode="layer"
inkscape:label="Image"
id="g10"
transform="translate(-289.06072,478.43022)">
<rect
style="fill:#333333;fill-opacity:0;stroke:#000000;stroke-width:0.713896;stroke-linejoin:bevel;stroke-miterlimit:0;stroke-opacity:0"
id="rect1"
width="1992.0098"
height="612.64215"
x="289.41766"
y="-478.07327"
ry="24.97636" />
transform="translate(-289.99936,370.00003)">
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.50455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 563.40434,64.000628 v -524.414808 0 0"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.449183;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 563.40434,64.000628 v -415.635938 0 0"
id="path207708" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.50455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 683.40434,64.000628 v -524.414808 0 0"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.449183;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 683.40434,64.000628 v -415.635938 0 0"
id="path207708-4" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.50455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 803.40434,64.000628 v -524.414808 0 0"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.449183;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 803.40434,64.000628 v -415.635938 0 0"
id="path207708-4-3" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.50455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 923.40434,64.000577 v -524.414757 0 0"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.449183;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 923.40434,64.000588 v -415.635898 0 0"
id="path207708-4-3-6" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.50455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1043.4043,64.000577 v -524.414757 0 0"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.449183;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1043.4043,64.000588 v -415.635898 0 0"
id="path207708-4-3-6-2" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.50455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1163.4043,64.000577 v -524.414757 0 0"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.449183;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1163.4043,64.000588 v -415.635898 0 0"
id="path207708-4-3-6-2-8" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.50455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1283.4043,64.000577 v -524.414757 0 0"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.449183;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1283.4043,64.000588 v -415.635898 0 0"
id="path207708-4-3-6-2-8-4" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.50455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1403.4043,64.000577 v -524.414757 0 0"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.449183;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1403.4043,64.000588 v -415.635898 0 0"
id="path207708-4-3-6-2-8-4-3" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.475347;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1523.4043,64.000568 v -415.757648 0 0"
id="path207708-4-3-6-2-8-4-3-8" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.50455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1523.4043,64.000577 v -524.414757 0 0"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.449183;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1523.4043,64.000588 v -415.635898 0 0"
id="path207708-4-3-6-2-8-4-3-8-0" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.50455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1643.3583,64.000565 v -524.414715 0 0"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.449183;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1643.3583,64.000578 v -415.635868 0 0"
id="path207708-4-3-6-2-8-4-3-8-4" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.50455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1763.4043,64.000565 v -524.414715 0 0"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.449183;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1763.4043,64.000578 v -415.635868 0 0"
id="path207708-4-3-6-2-8-4-3-8-4-0" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.50455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1883.7877,64.878769 v -524.414709 0 0"
id="path207708-4-3-6-2-8-4-3-8-4-0-8" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.50455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 2002.9599,64.984489 v -524.414709 0 0"
id="path207708-4-3-6-2-8-4-3-8-4-0-8-8" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.50455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 2123.2232,62.984489 v -524.414709 0 0"
id="path207708-4-3-6-2-8-4-3-8-4-0-8-8-1" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.50455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 2243.313,63.984489 v -524.414709 0 0"
id="path207708-4-3-6-2-8-4-3-8-4-0-8-8-1-9" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.50455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 443.40434,64.000628 v -524.414808 0 0"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.449183;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 443.40434,64.000628 v -415.635938 0 0"
id="path207708-9" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 323.40434,64.000608 v -375.000008 0 0"
id="path207708-9-6" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.50455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 323.40434,64.000616 v -524.414766 0 0"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.449183;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 323.40434,64.000618 v -415.635908 0 0"
id="path207708-9-6-2" />
<text
xml:space="preserve"
@@ -560,7 +536,7 @@
x="-59.575905"
y="580.05695" /></text>
<rect
style="opacity:0.5;fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-opacity:1"
style="fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-opacity:1;opacity:0.5"
id="rect917-0-0-4-4-9-4"
width="160.00002"
height="45.000004"
@@ -607,6 +583,14 @@
y="-73.501534"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none"
id="tspan10317-2-9-1-4">4.2</tspan></text>
<rect
style="opacity:0.75;fill:#251f32;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-opacity:1"
id="rect917-0-0-4-4-9-4-5-3-9-2-3"
width="140"
height="45.000004"
x="1043.132"
y="-328.2114"
ry="2.2558987" />
<rect
style="opacity:1;fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-opacity:1"
id="rect917-0-0-4-4-9-4-5-3-9-2-3-6"
@@ -631,78 +615,22 @@
y="-238.332"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none"
id="tspan10317-2-9-1-4-6-5-6">5.1</tspan></text>
<rect
style="fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-opacity:1"
id="rect917-0-0-4-4-9-4-5-3-9-2-3-6-2"
width="140"
height="45.000004"
x="1043.4697"
y="-328.48172"
ry="2.2558987" />
<text
xml:space="preserve"
style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#fffefe;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="1090.4542"
y="-309.61823"
id="text1185-3-55-4-0-0-0-1-1-6-4-7"><tspan
x="1094.2197"
y="-309.83084"
id="text1185-3-55-4-0-0-0-1-1-6-4-3"><tspan
sodipodi:role="line"
x="1090.4542"
y="-309.61823"
x="1094.2197"
y="-309.83084"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none"
id="tspan957-2-8-6-3-9-7-4-2-0-0">Walnascar</tspan><tspan
id="tspan957-2-8-6-3-9-7-4-2-0-5">Walnascar</tspan><tspan
sodipodi:role="line"
x="1090.4542"
y="-291.62155"
x="1094.2197"
y="-291.83417"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none"
id="tspan10317-2-9-1-4-6-5-6-9">5.2</tspan></text>
<rect
style="opacity:0.75;fill:#251f32;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-opacity:1"
id="rect917-0-0-4-4-9-4-5-3-9-2-3-67"
width="140"
height="45.000004"
x="1163.6425"
y="-382.27469"
ry="2.2558987" />
<text
xml:space="preserve"
style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#fffefe;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="1214.9716"
y="-363.89413"
id="text1185-3-55-4-0-0-0-1-1-6-4-3-53"><tspan
sodipodi:role="line"
x="1214.9716"
y="-363.89413"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none"
id="tspan957-2-8-6-3-9-7-4-2-0-5-5">Whinlatter</tspan><tspan
sodipodi:role="line"
x="1214.9716"
y="-345.89746"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none"
id="tspan10317-2-9-1-4-6-5-6-6-6">5.3</tspan></text>
<rect
style="opacity:0.75;fill:#251f32;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:5.29752;stroke-opacity:1"
id="rect917-0-0-4-4-9-4-5-3-9-2-3-67-6"
width="982.23163"
height="45.000004"
x="1283.7023"
y="-436.77539"
ry="2.2558987" />
<text
xml:space="preserve"
style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#fffefe;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="1335.1118"
y="-418.39484"
id="text1185-3-55-4-0-0-0-1-1-6-4-3-53-0"><tspan
sodipodi:role="line"
x="1335.1118"
y="-418.39484"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none"
id="tspan957-2-8-6-3-9-7-4-2-0-5-5-6">Wrynose</tspan><tspan
sodipodi:role="line"
x="1335.1118"
y="-400.39816"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none"
id="tspan10317-2-9-1-4-6-5-6-6-6-2">6.0</tspan></text>
id="tspan10317-2-9-1-4-6-5-6-6">5.2</tspan></text>
<g
id="g1591"
transform="translate(-516.59566,64.000598)">
@@ -753,7 +681,7 @@
id="tspan10317-2-9-0-1">5.0</tspan></text>
<g
id="g1125-0"
transform="matrix(0.42240595,0,0,0.41654472,330.77064,-497.11721)"
transform="matrix(0.42240595,0,0,0.41654472,330.77064,-441.11721)"
style="stroke:none;stroke-width:2.38399">
<rect
style="opacity:1;fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:4.76797;stroke-opacity:1"
@@ -995,8 +923,8 @@
y="345.7359" /></text>
<path
id="path29430"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99503;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 307.54809,63.999718 H 2277.72 Z" />
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.72671;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 307.54809,63.999718 H 1783.4043 Z" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 323.40434,64.000618 v 9.99995 0"
@@ -1509,324 +1437,50 @@
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1763.4043,64.000578 v 9.99999 0"
id="path29548-5-1-3-6-3-1-0-3-4-2-0-0" />
<text
xml:space="preserve"
style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="1885.6029"
y="94.285194"
id="text1185-9-7-1-1-8-1-0-4-2-8-2"><tspan
sodipodi:role="line"
x="1885.6029"
y="94.285194"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
id="tspan31345-4-0-4-81-5-2-8">Oct.</tspan><tspan
sodipodi:role="line"
x="1885.6029"
y="112.28188"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
id="tspan49906-7-3-8-2-8-9-9">2028</tspan></text>
<g
id="g1267-4-5-2-7"
transform="translate(563.45518,-155.9782)">
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1200,220.00002 v 9.99999 0"
id="path29548-5-1-3-6-3-1-0-3-4-1-3" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1220,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-0-5-0-0-5-6"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1240,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-7-5-3-5-9-1"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1260,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-5-2-0-9-9-2"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1280,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-8-9-9-4-1-9"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1299.7216,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-9-7-0-2-6-4-3"
inkscape:transform-center-x="-14.78205"
inkscape:transform-center-y="-0.085282837" />
</g>
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1883.4551,64.021829 v 9.99999 0"
id="path29548-5-1-3-6-3-1-0-3-4-2-0-0-1" />
<text
xml:space="preserve"
style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="2005.5908"
y="94.339828"
id="text1185-9-7-1-1-8-1-0-4-2-8-2-4"><tspan
sodipodi:role="line"
x="2005.5908"
y="94.339828"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
id="tspan31345-4-0-4-81-5-2-8-7">Apr.</tspan><tspan
sodipodi:role="line"
x="2005.5908"
y="112.33651"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
id="tspan49906-7-3-8-2-8-9-9-8">2029</tspan></text>
<g
id="g1267-4-5-2-7-4"
transform="translate(683.44312,-155.92356)">
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1200,220.00002 v 9.99999 0"
id="path29548-5-1-3-6-3-1-0-3-4-1-3-5" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1220,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-0-5-0-0-5-6-0"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1240,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-7-5-3-5-9-1-3"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1260,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-5-2-0-9-9-2-6"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1280,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-8-9-9-4-1-9-1"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1299.7216,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-9-7-0-2-6-4-3-0"
inkscape:transform-center-x="-14.78205"
inkscape:transform-center-y="-0.085282837" />
</g>
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 2003.443,64.076464 v 9.99999 0"
id="path29548-5-1-3-6-3-1-0-3-4-2-0-0-1-6" />
<text
xml:space="preserve"
style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="2125.6079"
y="94.692207"
id="text1185-9-7-1-1-8-1-0-4-2-8-2-4-2"><tspan
sodipodi:role="line"
x="2125.6079"
y="94.692207"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
id="tspan31345-4-0-4-81-5-2-8-7-0">Oct.</tspan><tspan
sodipodi:role="line"
x="2125.6079"
y="112.68889"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
id="tspan49906-7-3-8-2-8-9-9-8-6">2029</tspan></text>
<g
id="g1267-4-5-2-7-4-1"
transform="translate(803.46019,-155.57118)">
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1200,220.00002 v 9.99999 0"
id="path29548-5-1-3-6-3-1-0-3-4-1-3-5-5" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1220,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-0-5-0-0-5-6-0-5"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1240,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-7-5-3-5-9-1-3-4"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1260,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-5-2-0-9-9-2-6-7"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1280,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-8-9-9-4-1-9-1-6"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1299.7216,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-9-7-0-2-6-4-3-0-5"
inkscape:transform-center-x="-14.78205"
inkscape:transform-center-y="-0.085282837" />
</g>
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 2123.4601,64.428843 v 9.99999 0"
id="path29548-5-1-3-6-3-1-0-3-4-2-0-0-1-6-6" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 2123.3825,64.223284 v 9.99999 0"
id="path29548-5-1-3-6-3-1-0-3-4-2-0-0-1-6-3" />
<text
xml:space="preserve"
style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="2245.5474"
y="94.839027"
id="text1185-9-7-1-1-8-1-0-4-2-8-2-4-2-7"><tspan
sodipodi:role="line"
x="2245.5474"
y="94.839027"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
id="tspan31345-4-0-4-81-5-2-8-7-0-4">Apr.</tspan><tspan
sodipodi:role="line"
x="2245.5474"
y="112.83571"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
id="tspan49906-7-3-8-2-8-9-9-8-6-5">2030</tspan></text>
<g
id="g1267-4-5-2-7-4-1-2"
transform="translate(923.39972,-155.42436)">
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1200,220.00002 v 9.99999 0"
id="path29548-5-1-3-6-3-1-0-3-4-1-3-5-5-5" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1220,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-0-5-0-0-5-6-0-5-4"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1240,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-7-5-3-5-9-1-3-4-7"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1260,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-5-2-0-9-9-2-6-7-4"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1280,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-8-9-9-4-1-9-1-6-4"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1299.7216,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-9-7-0-2-6-4-3-0-5-3"
inkscape:transform-center-x="-14.78205"
inkscape:transform-center-y="-0.085282837" />
</g>
<g
id="g1267-4-5-2-7-4-1-2-0"
transform="translate(1043.3579,-155.33829)">
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1200,220.00002 v 9.99999 0"
id="path29548-5-1-3-6-3-1-0-3-4-1-3-5-5-5-6" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1220,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-0-5-0-0-5-6-0-5-4-8"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1240,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-7-5-3-5-9-1-3-4-7-9"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1260,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-5-2-0-9-9-2-6-7-4-2"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1280,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-8-9-9-4-1-9-1-6-4-6"
inkscape:transform-center-x="14.782001"
inkscape:transform-center-y="-0.085282837" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1299.7216,219.99997 v 5.00004 0"
id="path29548-8-5-0-6-4-6-2-9-0-8-1-3-1-9-6-9-3-4-0-4-6-2-2-7-6-1-9-9-1-4-9-7-0-2-6-4-3-0-5-3-6"
inkscape:transform-center-x="-14.78205"
inkscape:transform-center-y="-0.085282837" />
</g>
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 2243.3996,64.575663 v 9.99999 0"
id="path29548-5-1-3-6-3-1-0-3-4-2-0-0-1-6-6-0" />
<rect
style="opacity:0.75;fill:#241f31;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.751473;stroke-opacity:1"
id="rect917-0-0-4-4-9-4-5-3-9-2-36"
width="38.418175"
height="23.151052"
x="2047.6135"
y="-45.172161"
x="1605.6135"
y="-41.172161"
ry="1.1605872" />
<rect
style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.98878;stroke-dasharray:none;stroke-opacity:1"
id="rect917-0-0-4-4-9-4-5-3-9-2-36-7"
width="186.42949"
height="110.40546"
x="2036.5294"
y="-77.753708"
x="1594.5294"
y="-73.753708"
ry="5.5347452" />
<rect
style="opacity:0.75;fill:#241f31;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.50949;stroke-opacity:1"
id="rect917-0-0-4-4-9-4-5-3-9-2-6"
width="21.197233"
height="19.28739"
x="2053.8164"
y="-45.883858"
x="1611.8163"
y="-41.883858"
ry="0.96689767" />
<text
xml:space="preserve"
style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#fffefe;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="2132.4917"
y="-57.687912"
x="1690.4917"
y="-53.687912"
id="text1185-3-55-4-0-0-0-1-1-6-4-3-5"><tspan
sodipodi:role="line"
x="2132.4917"
y="-57.687912"
x="1690.4917"
y="-53.687912"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none"
id="tspan10317-2-9-1-4-6-5-6-6-5">Legend</tspan></text>
<text
xml:space="preserve"
style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#fffefe;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="2098.0986"
y="-31.899874"
x="1656.0988"
y="-27.899874"
id="text1185-3-55-4-0-0-0-1-1-6-4-3-5-2"><tspan
sodipodi:role="line"
x="2098.0986"
y="-31.899874"
x="1656.0988"
y="-27.899874"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none"
id="tspan10317-2-9-1-4-6-5-6-6-5-9">Future</tspan></text>
<rect
@@ -1834,38 +1488,38 @@
id="rect917-0-0-4-4-9-4-5-3-9-2-6-1"
width="21.197233"
height="19.28739"
x="2053.8672"
y="-21.756365"
x="1611.8671"
y="-17.756365"
ry="0.96689767" />
<text
xml:space="preserve"
style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#fffefe;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="2128.7158"
y="-7.6722765"
x="1686.7159"
y="-3.6722763"
id="text1185-3-55-4-0-0-0-1-1-6-4-3-5-2-2"><tspan
sodipodi:role="line"
x="2128.7158"
y="-7.6722765"
x="1686.7159"
y="-3.6722763"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none"
id="tspan10317-2-9-1-4-6-5-6-6-5-9-7">Current (Apr. 25)</tspan></text>
id="tspan10317-2-9-1-4-6-5-6-6-5-9-7">Current (Oct. 24)</tspan></text>
<text
xml:space="preserve"
style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#fffefe;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="2109.363"
y="16.03771"
x="1667.363"
y="20.03771"
id="text1185-3-55-4-0-0-0-1-1-6-4-3-5-2-2-9"><tspan
sodipodi:role="line"
x="2109.363"
y="16.03771"
x="1667.363"
y="20.03771"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none"
id="tspan10317-2-9-1-4-6-5-6-6-5-9-7-3">End-of-life</tspan></text>
<rect
style="opacity:0.5;fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.50949;stroke-opacity:1"
style="fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.50949;stroke-opacity:1;opacity:0.5"
id="rect917-0-0-4-4-9-4-5-3-9-2-6-1-0"
width="21.197233"
height="19.28739"
x="2054.0239"
y="1.9667883"
x="1612.0239"
y="5.9667883"
ry="0.96689767" />
<rect
style="opacity:0.5;fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.85786;stroke-opacity:1"

Before

Width:  |  Height:  |  Size: 117 KiB

After

Width:  |  Height:  |  Size: 93 KiB

View File

@@ -726,7 +726,7 @@ tool, which you then use to modify the kernel configuration.
$ bitbake linux-yocto -c menuconfig
See the ":ref:`kernel-dev/common:using ``menuconfig```"
See the ":ref:`kernel-dev/common:using \`\`menuconfig\`\``"
section in the Yocto Project Linux Kernel Development Manual for more
information on this configuration tool.
@@ -750,7 +750,7 @@ which can then be applied by subsequent tasks such as
Runs ``make menuconfig`` for the kernel. For information on
``menuconfig``, see the
":ref:`kernel-dev/common:using ``menuconfig```"
":ref:`kernel-dev/common:using \`\`menuconfig\`\``"
section in the Yocto Project Linux Kernel Development Manual.
.. _ref-tasks-savedefconfig:

View File

@@ -63,7 +63,7 @@ universal, the list includes them just in case:
This term refers to the area used by the OpenEmbedded build system for
builds. The area is created when you ``source`` the setup environment
script that is found in the Source Directory
(i.e. :ref:`ref-manual/structure:``oe-init-build-env```). The
(i.e. :ref:`ref-manual/structure:\`\`oe-init-build-env\`\``). The
:term:`TOPDIR` variable points to the :term:`Build Directory`.
You have a lot of flexibility when creating the :term:`Build Directory`.

View File

@@ -2243,7 +2243,7 @@ system and gives an overview of their function and contents.
resides within the :term:`Build Directory` as ``${TMPDIR}/deploy``.
For more information on the structure of the Build Directory, see
":ref:`ref-manual/structure:the build directory --- ``build/```" section.
":ref:`ref-manual/structure:the build directory --- \`\`build/\`\``" section.
For more detail on the contents of the ``deploy`` directory, see the
":ref:`overview-manual/concepts:images`",
":ref:`overview-manual/concepts:package feeds`", and
@@ -2285,7 +2285,7 @@ system and gives an overview of their function and contents.
contents of :term:`IMGDEPLOYDIR` by the :ref:`ref-classes-image` class.
For more information on the structure of the :term:`Build Directory`, see
":ref:`ref-manual/structure:the build directory --- ``build/```" section.
":ref:`ref-manual/structure:the build directory --- \`\`build/\`\``" section.
For more detail on the contents of the ``deploy`` directory, see the
":ref:`overview-manual/concepts:images`" and
":ref:`overview-manual/concepts:application development sdk`" sections both in
@@ -4299,33 +4299,9 @@ system and gives an overview of their function and contents.
IMAGE_ROOTFS_EXTRA_SPACE = "41943040"
:term:`IMAGE_ROOTFS_MAXSIZE`
Defines the maximum allowed size of the generated image in kilobytes.
The build will fail if the generated image size exceeds this value.
The generated image size undergoes several calculation steps before being
compared to :term:`IMAGE_ROOTFS_MAXSIZE`.
In the first step, the size of the directory pointed to by :term:`IMAGE_ROOTFS`
is calculated.
In the second step, the result from the first step is multiplied
by :term:`IMAGE_OVERHEAD_FACTOR`.
In the third step, the result from the second step is compared with
:term:`IMAGE_ROOTFS_SIZE`. The larger value of these is added to
:term:`IMAGE_ROOTFS_EXTRA_SPACE`.
In the fourth step, the result from the third step is checked for
a decimal part. If it has one, it is rounded up to the next integer.
If it does not, it is simply converted into an integer.
In the fifth step, the :term:`IMAGE_ROOTFS_ALIGNMENT` is added to the result
from the fourth step and "1" is subtracted.
In the sixth step, the remainder of the division between the result
from the fifth step and :term:`IMAGE_ROOTFS_ALIGNMENT` is subtracted from the
result of the fifth step. In this way, the result from the fourth step is
rounded up to the nearest multiple of :term:`IMAGE_ROOTFS_ALIGNMENT`.
Thus, if the :term:`IMAGE_ROOTFS_MAXSIZE` is set, is compared with the result
of the above calculations and is independent of the final image type.
No default value is set for :term:`IMAGE_ROOTFS_MAXSIZE`.
It's a good idea to set this variable for images that need to fit on a limited
Defines the maximum size in Kbytes for the generated image. If the
generated image size is above that, the build will fail. It's a good
idea to set this variable for images that need to fit on a limited
space (e.g. SD card, a fixed-size partition, ...).
:term:`IMAGE_ROOTFS_SIZE`
@@ -4511,24 +4487,6 @@ system and gives an overview of their function and contents.
INHERIT_DISTRO ?= "debian devshell sstate license remove-libtool create-spdx"
:term:`INHIBIT_AUTOTOOLS_DEPS`
Prevents the :ref:`ref-classes-autotools` class from automatically adding
its default build-time dependencies.
When a recipe inherits the :ref:`ref-classes-autotools` class, several
native cross tools such as ``autoconf-native``, ``automake-native``,
``libtool-native``, ``libtool-cross`` are added to :term:`DEPENDS` to
support the ``autotools`` build process.
To prevent the build system from adding these dependencies automatically,
set the :term:`INHIBIT_AUTOTOOLS_DEPS` variable as follows::
INHIBIT_AUTOTOOLS_DEPS = "1"
By default, the value of :term:`INHIBIT_AUTOTOOLS_DEPS` is empty. Setting
it to "0" does not disable inhibition. Only the empty string will disable
inhibition.
:term:`INHIBIT_DEFAULT_DEPS`
Prevents the default dependencies, namely the C compiler and standard
C library (libc), from being added to :term:`DEPENDS`.
@@ -4538,23 +4496,6 @@ system and gives an overview of their function and contents.
Set the variable to "1" to prevent the default dependencies from
being added.
:term:`INHIBIT_DEFAULT_RUST_DEPS`
Prevents the :ref:`ref-classes-rust` class from automatically adding
its default build-time dependencies.
When a recipe inherits the :ref:`ref-classes-rust` class, several
tools such as ``rust-native`` and ``${RUSTLIB_DEP}`` (only added when cross-compiling) are added
to :term:`DEPENDS` to support the ``rust`` build process.
To prevent the build system from adding these dependencies automatically,
set the :term:`INHIBIT_DEFAULT_RUST_DEPS` variable as follows::
INHIBIT_DEFAULT_RUST_DEPS = "1"
By default, the value of :term:`INHIBIT_DEFAULT_RUST_DEPS` is empty. Setting
it to "0" does not disable inhibition. Only the empty string will disable
inhibition.
:term:`INHIBIT_PACKAGE_DEBUG_SPLIT`
Prevents the OpenEmbedded build system from splitting out debug
information during packaging. By default, the build system splits out
@@ -4601,25 +4542,6 @@ system and gives an overview of their function and contents.
even if the toolchain's binaries are strippable, there are other files
needed for the build that are not strippable.
:term:`INHIBIT_UPDATERCD_BBCLASS`
Prevents the :ref:`ref-classes-update-rc.d` class from automatically
installing and registering SysV init scripts for packages.
When a recipe inherits the :ref:`ref-classes-update-rc.d` class, init
scripts are typically installed and registered for the packages listed in
:term:`INITSCRIPT_PACKAGES`. This ensures that the relevant
services are started and stopped at the appropriate runlevels using the
traditional SysV init system.
To prevent the build system from adding these scripts and configurations
automatically, set the :term:`INHIBIT_UPDATERCD_BBCLASS` variable as follows::
INHIBIT_UPDATERCD_BBCLASS = "1"
By default, the value of :term:`INHIBIT_UPDATERCD_BBCLASS` is empty. Setting
it to "0" does not disable inhibition. Only the empty string will disable
inhibition.
:term:`INIT_MANAGER`
Specifies the system init manager to use. Available options are:
@@ -4786,20 +4708,6 @@ system and gives an overview of their function and contents.
See the :term:`MACHINE` variable for additional
information.
:term:`INITRAMFS_MAXSIZE`
Defines the maximum allowed size of the :term:`Initramfs` image in Kbytes.
The build will fail if the :term:`Initramfs` image size exceeds this value.
The :term:`Initramfs` image size undergoes several calculation steps before
being compared to :term:`INITRAMFS_MAXSIZE`.
These steps are the same as those used for :term:`IMAGE_ROOTFS_MAXSIZE`
and are described in detail in that entry.
Thus, :term:`INITRAMFS_MAXSIZE` is compared with the result of the calculations
and is independent of the final image type (e.g. compressed).
A default value for :term:`INITRAMFS_MAXSIZE` is set in
:oe_git:`meta/conf/bitbake.conf </openembedded-core/tree/meta/conf/bitbake.conf>`.
:term:`INITRAMFS_MULTICONFIG`
Defines the multiconfig to create a multiconfig dependency to be used by
the :ref:`ref-classes-kernel` class.
@@ -5036,8 +4944,15 @@ system and gives an overview of their function and contents.
options not explicitly specified will be disabled in the kernel
config.
In case :term:`KCONFIG_MODE` is not set the ``defconfig`` file
will be handled in ``allnoconfig`` mode.
In case :term:`KCONFIG_MODE` is not set the behaviour will depend on where
the ``defconfig`` file is coming from. An "in-tree" ``defconfig`` file
will be handled in ``alldefconfig`` mode, a ``defconfig`` file placed
in ``${WORKDIR}`` through a meta-layer will be handled in
``allnoconfig`` mode.
An "in-tree" ``defconfig`` file can be selected via the
:term:`KBUILD_DEFCONFIG` variable. :term:`KCONFIG_MODE` does not need to
be explicitly set.
A ``defconfig`` file compatible with ``allnoconfig`` mode can be
generated by copying the ``.config`` file from a working Linux kernel
@@ -6216,7 +6131,7 @@ system and gives an overview of their function and contents.
By default, no API key is used, which results in larger delays between API
requests and limits the number of queries to the public rate limits posted
at the `NVD developer's page <https://nvd.nist.gov/developers/start-here>`__.
NVD API keys can be requested through the
`Request an API Key <https://nvd.nist.gov/developers/request-an-api-key>`__
page. You can set this variable to the NVD API key in your ``local.conf`` file.
@@ -7095,7 +7010,7 @@ system and gives an overview of their function and contents.
For examples of how this data is used, see the
":ref:`overview-manual/concepts:automatically added runtime dependencies`"
section in the Yocto Project Overview and Concepts Manual and the
":ref:`dev-manual/debugging:viewing package information with ``oe-pkgdata-util```"
":ref:`dev-manual/debugging:viewing package information with \`\`oe-pkgdata-util\`\``"
section in the Yocto Project Development Tasks Manual. For more
information on the shared, global-state directory, see
:term:`STAGING_DIR_HOST`.
@@ -7149,7 +7064,7 @@ system and gives an overview of their function and contents.
the package is built, the version information can be retrieved with
``oe-pkgdata-util package-info <package name>``. See the
:ref:`dev-manual/debugging:Viewing Package Information with
``oe-pkgdata-util``` section of the Yocto Project Development Tasks
\`\`oe-pkgdata-util\`\`` section of the Yocto Project Development Tasks
Manual for more information on ``oe-pkgdata-util``.
@@ -7846,12 +7761,17 @@ system and gives an overview of their function and contents.
prefer to have a read-only root filesystem and prefer to keep
writeable data in one place.
When setting ``INIT_MANAGER = systemd``, the default will be set to::
You can override the default by setting the variable in any layer or
in the ``local.conf`` file. Because the default is set using a "weak"
assignment (i.e. "??="), you can use either of the following forms to
define your override::
ROOT_HOME = "/root"
ROOT_HOME ?= "/root"
You can also override the default by setting the variable in your distro
configuration or in the ``local.conf`` file.
These
override examples use ``/root``, which is probably the most commonly
used override.
:term:`ROOTFS`
Indicates a filesystem image to include as the root filesystem.
@@ -8846,7 +8766,7 @@ system and gives an overview of their function and contents.
class.
:term:`SPL_SIGN_KEYNAME`
The name of keys used by the :ref:`ref-classes-uboot-sign` class
The name of keys used by the :ref:`ref-classes-kernel-fitimage` class
for signing U-Boot FIT image stored in the :term:`SPL_SIGN_KEYDIR`
directory. If we have for example a ``dev.key`` key and a ``dev.crt``
certificate stored in the :term:`SPL_SIGN_KEYDIR` directory, you will
@@ -9110,7 +9030,7 @@ system and gives an overview of their function and contents.
The Yocto Project actually shares the cache data objects built by its
autobuilder::
SSTATE_MIRRORS ?= "file://.* http://sstate.yoctoproject.org/all/PATH;downloadfilename=PATH"
SSTATE_MIRRORS ?= "file://.* http://cdn.jsdelivr.net/yocto/sstate/all/PATH;downloadfilename=PATH"
As such binary artifacts are built for the generic QEMU machines
supported by the various Poky releases, they are less likely to be
@@ -9134,26 +9054,6 @@ system and gives an overview of their function and contents.
For details on the process, see the :ref:`ref-classes-staging` class.
:term:`SSTATE_SKIP_CREATION`
The :term:`SSTATE_SKIP_CREATION` variable can be used to skip the
creation of :ref:`shared state <overview-manual/concepts:shared state cache>`
tarball files. It makes sense e.g. for image creation tasks as tarring images
and keeping them in sstate would consume a lot of disk space.
In general it is not recommended to use this variable as missing sstate
artefacts adversely impact the build, particularly for entries in the
middle of dependency chains. The case it can make sense is where the
size and time costs of the artefact are similar to just running the
tasks. This generally only applies to end artefact output like images.
The syntax to disable it for one task is::
SSTATE_SKIP_CREATION:task-image-complete = "1"
The syntax to disable it for the whole recipe is::
SSTATE_SKIP_CREATION = "1"
:term:`STAGING_BASE_LIBDIR_NATIVE`
Specifies the path to the ``/lib`` subdirectory of the sysroot
directory for the build host.
@@ -10432,15 +10332,6 @@ system and gives an overview of their function and contents.
do_compile[depends] += "trusted-firmware-a:do_deploy"
:term:`UBOOT_FIT_CONF_FIRMWARE`
Adds one image to the ``firmware`` property of the configuration node of
the U-Boot Image Tree Source (ITS). Sets the ``firmware`` property to
select the image to boot first::
UBOOT_FIT_CONF_FIRMWARE = "fwa"
If not set, the first entry in "loadables" is used to boot instead.
:term:`UBOOT_FIT_CONF_USER_LOADABLES`
Adds one or more user-defined images to the ``loadables`` property of the
configuration node of the U-Boot Image Tree Source (ITS). This variable
@@ -10513,7 +10404,7 @@ system and gives an overview of their function and contents.
UBOOT_FIT_TEE_IMAGE ?= "tee-raw.bin"
If a relative path is provided, the file is expected to be relative to
If a relative path is provided, the file is expected to be relative to
U-Boot's :term:`B` directory. An absolute path can be provided too,
e.g.::
@@ -11051,20 +10942,6 @@ system and gives an overview of their function and contents.
Specifies the timeout in seconds used by the ``watchdog-config`` recipe
and also by ``systemd`` during reboot. The default is 60 seconds.
:term:`WIC_CREATE_EXTRA_ARGS`
If the :term:`IMAGE_FSTYPES` variable contains "wic", the build
will generate a
:ref:`Wic image <dev-manual/wic:creating partitioned images using wic>`
automatically when BitBake builds an image recipe. As part of
this process BitBake will invoke the "`wic create`" command. The
:term:`WIC_CREATE_EXTRA_ARGS` variable is placed at the end of this
command which allows the user to supply additional arguments.
One such useful purpose for this mechanism is to add the ``-D`` (or
``--debug``) argument to the "`wic create`" command. This increases the
amount of debugging information written out to the Wic log during the
Wic creation process.
:term:`WIC_SECTOR_SIZE`
The variable :term:`WIC_SECTOR_SIZE` controls the sector size of Wic
images. In the background, this controls the value of the

View File

@@ -1,263 +0,0 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
**************************************************
Yocto Project Supported Architectures And Features
**************************************************
The Yocto Project is putting continuous efforts into testing the changes made to
the :term:`OpenEmbedded-Core (OE-Core)` metadata and core tools. The details on
how this test environment functions is described in the
:doc:`/test-manual/index`.
These tests are also run for stable and :term:`LTS` versions of the Yocto
Project. See the :doc:`/ref-manual/release-process` section of the Yocto Project
Reference Manual for more information on these types of releases.
The infrastructure behind the test environment is the
:ref:`Yocto Project Autobuilder <test-manual/intro:Yocto Project Autobuilder
Overview>`. The Autobuilder contains a set of Builders that are associated to an
architecture or a feature to test. For example, the ``qemuarm64`` builder
corresponds to testing the ARM 64-bit architecture.
Below is a comprehensive list of target architectures and features that are
supported, as well as their level of support. For each architecture or feature,
their corresponding builders are also listed.
Primary Supported
=================
The term "primary" means that dedicated builds for these architectures or
features are being run on a daily basis on the Yocto Project Autobuilder and
also tested with incoming changes before they merge. These changes are usually
on the "-next" Git branches of the :term:`OpenEmbedded-Core (OE-Core)`
repositories.
Below is a list of primary tested features, their maintainer(s) and builder(s):
.. list-table::
:widths: 20 20 20 40
:header-rows: 1
* - Feature
- Description
- Maintainer(s)
- Builder(s)
* - :wikipedia:`ARM <ARM_architecture_family>`
- ARM architecture testing
- Collective effort
- genericarm64,
genericarm64-alt,
musl-qemuarm64,
qemuarm,
qemuarm-alt,
qemuarm-oecore,
qemuarm-tc,
qemuarm64,
qemuarm64-alt,
qemuarm64-armhost,
qemuarm64-ltp,
qemuarm64-ptest,
qemuarm64-tc,
qemuarmv5
* - :yocto_git:`Beaglebone </poky/tree/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf>`
- Beaglebone image and SDK build testing
- Collective effort
- beaglebone,
beaglebone-alt
* - :doc:`Reproducible </test-manual/reproducible-builds>`
- reproducibility testing
- Collective effort
- reproducible
* - :term:`Buildtools`
- Buildtools generation
- Collective effort
- buildtools
* - `meta-agl-core <https://gerrit.automotivelinux.org/gerrit/AGL/meta-agl>`__
- meta-agl-core layer testing
- TBD
- meta-agl-core
* - `meta-arm <https://git.yoctoproject.org/meta-arm>`__
- meta-arm layer testing
- meta-arm mailing list <meta-arm@lists.yoctoproject.org>
- meta-arm
* - `meta-aws <https://github.com/aws4embeddedlinux/meta-aws>`__
- meta-aws layer testing
- TBD
- meta-aws
* - `meta-intel <https://git.yoctoproject.org/meta-intel>`__
- meta-intel layer testing
- TBD
- meta-intel
* - `meta-exein <https://github.com/exein-io/meta-exein>`__
- meta-exein layer testing
- TBD
- meta-exein
* - `meta-virtualization <https://git.yoctoproject.org/meta-virtualization/>`__
- meta-virtualization layer testing
- TBD
- meta-virt
* - :ref:`Multilib <dev-manual/libraries:Combining Multiple Versions of Library Files into One Image>`
- Multilib feature testing
- Collective effort
- multilib
* - :term:`OpenEmbedded-Core selftest<OpenEmbedded-Core (OE-Core)>`
- OpenEmbedded-Core layers selftests
- Collective effort
- oe-selftest-fedora,
oe-selftest-debian,
oe-selftest-armhost
* - Package managers
- Package managers (RPM, DEB and IPK formats) testing in the
:term:`OpenEmbedded Build System` (different from the
``package-management`` :term:`image feature <IMAGE_FEATURES>`)
- Collective effort
- pkgman-non-rpm (other builders use RPM by default)
* - :ref:`Patchtest <contributor-guide/submit-changes:Validating Patches with Patchtest>`
- Patchtest tool selftests
- TBD
- patchtest-selftest
* - :wikipedia:`RISC-V (64-bit) <RISC-V>`
- RISC-V architecture testing (64-bit)
- Collective effort
- qemuriscv64,
qemuriscv64-ptest,
qemuriscv64-tc
* - :wikipedia:`systemd <Systemd>`
- Systemd init manager testing
- Collective effort
- no-x11, qa-extras2
* - :term:`Toaster`
- Toaster web interface testing
- Collective effort
- toaster
* - :ref:`Wic <dev-manual/wic:creating partitioned images using wic>`
- WIC image creation testing
- Collective effort
- wic
* - :wikipedia:`X86 <X86>`
- X86 architecture testing
- Collective effort
- genericx86,
genericx86-64,
genericx86-64-alt,
genericx86-alt,
musl-qemux86,
musl-qemux86-64,
qemux86,
qemux86-64,
qemux86-64-alt,
qemux86-64-ltp,
qemux86-64-ptest,
qemux86-64-tc,
qemux86-64-x32,
qemux86-alt,
qemux86-tc,
qemux86-world,
qemux86-world-alt
Secondary Supported
===================
The term "secondary" means that in some cases there is code/feature/support
which is desired by people using the project and is in the project's interests
to support, however there isn't wide enough interest and support to justify
testing all incoming changes on it. There are however project member
organisations and maintainers willing to run tests and review fixes.
This category may be applicable as support/usage in an area develops and grows,
or as support/usage fades but we continue to have tests. It can also apply where
resourcing isn't available for full primary support but there is
member/maintainer support for running tests.
We therefore have the following criteria and policies for such items:
- It can be clearly isolated and defined by specific configuration.
- There is a clear documented group of maintainers agreeing to maintain it.
- Those maintainers are active and responsive.
- It is being actively and publicly tested (potentially using
the :ref:`Autobuilder <test-manual/intro:Yocto Project Autobuilder Overview>`
by agreement, or otherwise).
- Testing would not be part of standard incoming change testing and regressions
would not block incoming patches.
- The :yocto_wiki:`SWAT </Yocto_Build_Failure_Swat_Team>` team would not handle
any test builds on the Autobuilder.
- Test results can be submitted as part of the release process if desired.
The Yocto Project :oe_wiki:`Technical Steering Committee (TSC) </TSC>` makes
decisions on features in this status and Autobuilder testing. Such support would
be dropped if the maintainers/testing were inactive.
If you are interested in providing resources for improving testing please
contact the :oe_wiki:`Technical Steering Committee (TSC) </TSC>`.
Below is a list of secondary tested features, their maintainer(s) and
builder(s):
.. list-table::
:widths: 20 20 20 40
:header-rows: 1
* - Feature
- Description
- Maintainer(s)
- Builder(s)
* - :wikipedia:`PowerPC (32-bit) <PowerPC>`
- PowerPC architecture testing (32-bit)
- TBD
- qemuppc,
qemuppc-alt,
qemuppc-tc
* - :oe_git:`meta-openembedded </meta-openembedded>`
- meta-openembedded layer testing
- TBD
- meta-oe
* - `meta-mingw <https://git.yoctoproject.org/meta-mingw>`__
- mingw based SDKs testing
- TBD
- meta-mingw
* - `meta-webosose <https://github.com/webosose/meta-webosose>`__
- meta-webosose layer testing
- TBD
- meta-webosose
* - :wikipedia:`RISC-V (32-bit) <RISC-V>`
- RISC-V architecture testing (32-bit)
- Collective effort
- qemuriscv32,
qemuriscv32,
qemuriscv32-tc
Untested
========
"Untested" means that whilst the configurations are present in the project, we
don't currently run the tests on any regular basis and new changes are not
tested against them. We may take patches in these areas if they make sense but
it is on a best effort only basis.
.. list-table::
:widths: 20 20 20 40
:header-rows: 1
* - Feature
- Description
- Maintainer(s)
- Builder(s)
* - :wikipedia:`MIPS <MIPS_architecture>`
- MIPS architecture testing
- No maintainers
- qemumips,
qemumips64,
qemumips-alt,
qemumips-tc,
qemumips64-tc
* - :wikipedia:`PowerPC (64-bit) <PowerPC>`
- PowerPC architecture testing (64-bit)
- No maintainers
- qemuppc64,
qemuppc64-tc

View File

@@ -26,8 +26,8 @@ ourversion = None
if len(sys.argv) == 2:
ourversion = sys.argv[1]
activereleases = ["walnascar", "scarthgap", "kirkstone"]
devbranch = "whinlatter"
activereleases = ["styhead", "scarthgap", "kirkstone"]
devbranch = "walnascar"
ltsseries = ["scarthgap", "kirkstone"]
# used by run-docs-builds to get the default page
@@ -36,7 +36,6 @@ if ourversion == "getlatest":
sys.exit(0)
release_series = collections.OrderedDict()
release_series["whinlatter"] = "5.3"
release_series["walnascar"] = "5.2"
release_series["styhead"] = "5.1"
release_series["scarthgap"] = "5.0"
@@ -71,7 +70,6 @@ release_series["laverne"] = "0.9"
bitbake_mapping = {
"whinlatter" : "2.14",
"walnascar" : "2.12",
"styhead" : "2.10",
"scarthgap" : "2.8",

View File

@@ -51,11 +51,13 @@ fashion. Basically, during the development of a Yocto Project release,
the Autobuilder tests if things work. The Autobuilder builds all test
targets and runs all the tests.
The Yocto Project uses standard upstream Buildbot to drive its integration and
testing. Buildbot has a plug-in interface that the Yocto Project customizes
using code from the :yocto_git:`yocto-autobuilder2 </yocto-autobuilder2>`
repository, adding its own console UI plugin. The resulting UI plug-in allows
you to visualize builds in a way suited to the project's needs.
The Yocto Project uses now uses standard upstream
Buildbot (`version 3.8 <https://docs.buildbot.net/3.8.0/>`__) to
drive its integration and testing. Buildbot has a plug-in interface
that the Yocto Project customizes using code from the
``yocto-autobuilder2`` repository, adding its own console UI plugin. The
resulting UI plug-in allows you to visualize builds in a way suited to
the project's needs.
A ``helper`` layer provides configuration and job management through
scripts found in the ``yocto-autobuilder-helper`` repository. The

View File

@@ -546,7 +546,7 @@ database.
You need to run the ``buildslist`` command first to identify existing
builds in the database before using the
:ref:`toaster-manual/reference:``builddelete``` command. Here is an
:ref:`toaster-manual/reference:\`\`builddelete\`\`` command. Here is an
example that assumes default repository and :term:`Build Directory` names:
.. code-block:: shell
@@ -555,7 +555,7 @@ example that assumes default repository and :term:`Build Directory` names:
$ python ../bitbake/lib/toaster/manage.py buildslist
If your Toaster database had only one build, the above
:ref:`toaster-manual/reference:``buildslist```
:ref:`toaster-manual/reference:\`\`buildslist\`\``
command would return something like the following::
1: qemux86 poky core-image-minimal
@@ -576,7 +576,7 @@ the database.
Prior to running the ``builddelete`` command, you need to get the ID
associated with builds by using the
:ref:`toaster-manual/reference:``buildslist``` command.
:ref:`toaster-manual/reference:\`\`buildslist\`\`` command.
``perf``
--------

View File

@@ -2,4 +2,4 @@ sudo dnf install -y epel-release
sudo yum install dnf-plugins-core
sudo dnf config-manager --set-enabled crb
sudo dnf makecache
sudo dnf install bzip2 ccache chrpath cpio cpp diffstat diffutils gawk gcc gcc-c++ git glibc-devel glibc-langpack-en gzip libacl make patch perl perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue python3 python3-GitPython python3-jinja2 python3-pexpect python3-pip rpcgen socat tar texinfo unzip wget which xz zstd
sudo dnf install bzip2 ccache chrpath cpio cpp diffstat diffutils gawk gcc gcc-c++ git glibc-devel glibc-langpack-en gzip libacl lz4 make patch perl perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue python3 python3-GitPython python3-jinja2 python3-pexpect python3-pip rpcgen socat tar texinfo unzip wget which xz zstd

View File

@@ -1 +1 @@
sudo dnf install bzip2 ccache chrpath cpio cpp diffstat diffutils file findutils gawk gcc gcc-c++ git glibc-devel glibc-langpack-en gzip hostname libacl make patch perl perl-Data-Dumper perl-File-Compare perl-File-Copy perl-FindBin perl-Text-ParseWords perl-Thread-Queue perl-bignum perl-locale python python3 python3-GitPython python3-jinja2 python3-pexpect python3-pip rpcgen socat tar texinfo unzip wget which xz zstd
sudo dnf install bzip2 ccache chrpath cpio cpp diffstat diffutils file findutils gawk gcc gcc-c++ git glibc-devel glibc-langpack-en gzip hostname libacl lz4 make patch perl perl-Data-Dumper perl-File-Compare perl-File-Copy perl-FindBin perl-Text-ParseWords perl-Thread-Queue perl-bignum perl-locale python python3 python3-GitPython python3-jinja2 python3-pexpect python3-pip rpcgen socat tar texinfo unzip wget which xz zstd

View File

@@ -1,2 +1,2 @@
sudo zypper install bzip2 chrpath diffstat gcc gcc-c++ git gzip hostname libacl1 make makeinfo patch python python-curses python-xml python3 python3-Jinja2 python3-curses python3-pexpect python3-pip rpcgen socat tar wget which xz zstd
sudo zypper install bzip2 chrpath diffstat gcc gcc-c++ git gzip hostname libacl1 lz4 make makeinfo patch python python-curses python-xml python3 python3-Jinja2 python3-curses python3-pexpect python3-pip rpcgen socat tar wget which xz zstd
sudo pip3 install GitPython

View File

@@ -1 +1 @@
sudo apt-get install build-essential chrpath cpio debianutils diffstat file gawk gcc git iputils-ping libacl1 locales python3 python3-git python3-jinja2 python3-pexpect python3-pip python3-subunit socat texinfo unzip wget xz-utils zstd
sudo apt-get install build-essential chrpath cpio debianutils diffstat file gawk gcc git iputils-ping libacl1 liblz4-tool locales python3 python3-git python3-jinja2 python3-pexpect python3-pip python3-subunit socat texinfo unzip wget xz-utils zstd

View File

@@ -9,12 +9,9 @@ python pokybleeding_version_handler () {
bpn = bpn.replace("-nativesdk", "").replace("nativesdk-", "")
if bpn in d.getVar("POKY_AUTOREV_RECIPES").split():
if "pseudo" in bpn:
bb.warn("Here 5 %s %s" % (d.getVar("PN"), bpn))
d.setVar("SRCREV", "${AUTOREV}")
srcrev_format = d.getVar("SRCREV_FORMAT")
if srcrev_format:
for multi_scm in d.getVar("SRCREV_FORMAT").split("_"):
if multi_scm != "":
d.setVar("SRCREV_%s" % multi_scm, "${AUTOREV}")
if "+git" not in d.getVar("PV"):
d.appendVar("PV", "+git")
}

View File

@@ -56,7 +56,7 @@ ENABLE_WIDEC:class-native = "true"
# Drop native language support. This removes the
# eglibc->bash->gettext->libc-posix-clang-wchar dependency.
USE_NLS = "no"
USE_NLS="no"
# As we don't have native language support, don't install locales into images
IMAGE_LINGUAS = ""

View File

@@ -240,13 +240,17 @@ BB_DISKMON_DIRS ??= "\
# Using the CDN rather than the yoctoproject.org address is suggested/preferred.
#
#BB_HASHSERVE_UPSTREAM = 'wss://hashserv.yoctoproject.org/ws'
#SSTATE_MIRRORS ?= "file://.* http://sstate.yoctoproject.org/all/PATH;downloadfilename=PATH"
#SSTATE_MIRRORS ?= "file://.* http://cdn.jsdelivr.net/yocto/sstate/all/PATH;downloadfilename=PATH"
#
###SSTATE_MIRRORS ?= "file://.* http://sstate.yoctoproject.org/all/PATH;downloadfilename=PATH"
#
# Qemu configuration
#
# By default native qemu will build with a builtin VNC server and a SDL UI frontend
# where graphical output can be seen.
# By default native qemu will build with a builtin VNC server where graphical output can be
# seen. The line below enables the SDL UI frontend too.
PACKAGECONFIG:append:pn-qemu-system-native = " sdl"
# By default libsdl2-native will be built, if you want to use your host's libSDL instead of
# the minimal libsdl built by libsdl2-native then uncomment the ASSUME_PROVIDED line below.
#ASSUME_PROVIDED += "libsdl2-native"

View File

@@ -1,29 +0,0 @@
SUMMARY = "Boeaglebone Devicetrees"
DESCRIPTION = "Handle the dtc files of the beaglebone-yocto via devicetree.bbclass just for testing purpose"
SECTION = "kernel"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
inherit devicetree
COMPATIBLE_MACHINE = "^(beaglebone-yocto)$"
# Take a copy of a small devicetree from the kernel's source directory for handling it externally
# Borrowed an example DTB overlay from
# https://raw.githubusercontent.com/beagleboard/linux/refs/heads/5.10/arch/arm/boot/dts/overlays/BBORG_RELAY-00A2.dts
SRC_URI = "\
file://am335x-bonegreen-ext.dts \
file://BBORG_RELAY-00A2.dts \
"
# The am335x-bonegreen-ext.dts needs also the ti directories
DT_INCLUDE:append = " ${STAGING_KERNEL_DIR}/arch/${ARCH}/boot/dts/ti/omap"
# Sym-links are handled as extra configuration nodes in FIT images.
do_install:append() {
ln -sf am335x-bonegreen-ext.dtb "${D}/boot/devicetree/am335x-bonegreen-ext-alias.dtb"
}
do_deploy:append() {
ln -sf am335x-bonegreen-ext.dtb "${DEPLOYDIR}/devicetree/am335x-bonegreen-ext-alias.dtb"
}

View File

@@ -1,49 +0,0 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (C) 2015 Robert Nelson <robertcnelson@gmail.com>
* Copyright (C) 2019 Amilcar Lucas <amilcar.lucas@iav.de>
*/
/dts-v1/;
/plugin/;
&{/chosen} {
overlays {
BBORG_RELAY-00A2.kernel = __TIMESTAMP__;
};
};
&ocp {
P9_41_pinmux { pinctrl-0 = <&P9_41_gpio_pin>;};
P9_42_pinmux { pinctrl-0 = <&P9_42_gpio_pin>;};
P9_30_pinmux { pinctrl-0 = <&P9_30_gpio_pin>;};
P9_27_pinmux { pinctrl-0 = <&P9_27_gpio_pin>;};
};
// relay1
&bone_led_P9_41 {
status = "okay";
label = "relay1";
default-state = "keep";
};
// relay2
&bone_led_P9_42 {
status = "okay";
label = "relay2";
default-state = "keep";
};
// realy3
&bone_led_P9_30 {
status = "okay";
label = "relay3";
default-state = "keep";
};
// realy4
&bone_led_P9_27 {
status = "okay";
label = "relay4";
default-state = "keep";
};

View File

@@ -1,14 +0,0 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (C) 2012 Texas Instruments Incorporated - https://www.ti.com/
*/
/dts-v1/;
#include "am33xx.dtsi"
#include "am335x-bone-common.dtsi"
#include "am335x-bonegreen-common.dtsi"
/ {
model = "TI AM335x BeagleBone Green External";
compatible = "ti,am335x-bone-green", "ti,am335x-bone-black", "ti,am335x-bone", "ti,am33xx";
};

View File

@@ -2,7 +2,7 @@
# long-description: This image contains boot partition and 3 rootfs partitions
# created from core-image-minimal and wic-image-minimal image recipes.
part /boot --source bootimg_pcbios --ondisk sda --label boot --active --align 1024
part /boot --source bootimg-pcbios --ondisk sda --label boot --active --align 1024
part / --source rootfs --ondisk sda --fstype=ext4 --label platform --align 1024 --use-uuid
part /media --source rootfs --rootfs-dir=wic-image-minimal --ondisk sda --fstype=ext4 --label uuid-test --align 1024 --use-uuid --fsuuid 2c71ef06-a81d-4735-9d3a-379b69c6bdba
part /mnt --source rootfs --rootfs-dir=wic-image-minimal --ondisk sda --fstype=ext4 --label core --align 1024

View File

@@ -0,0 +1,23 @@
SUMMARY = "Line-oriented text editor -- selftest GPL-2.0-or-later version"
HOMEPAGE = "http://www.gnu.org/software/ed/"
SECTION = "base"
LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=6ddd5335ef96fb858a138230af773710 \
file://main.c;beginline=1;endline=17;md5=36d4b85e5ae9028e918d1cc775c2475e"
SRC_URI = "${SAVANNAH_GNU_MIRROR}/ed/ed-${PV}.tar.bz2"
SRC_URI[md5sum] = "4ee21e9dcc9b5b6012c23038734e1632"
SRC_URI[sha256sum] = "edef2bbde0fbf0d88232782a0eded323f483a0519d6fde9a3b1809056fd35f3e"
inherit autotools texinfo
S = "${WORKDIR}/ed-${PV}"
EXTRA_OECONF = "'CC=${CC}' 'CXX=${CXX}' 'CFLAGS=${CFLAGS}' 'CXXFLAGS=${CXXFLAGS}' 'CPPFLAGS=${CPPFLAGS}' 'LDFLAGS=${LDFLAGS}'"
CONFIGUREOPTS:remove = "--disable-dependency-tracking"
CONFIGUREOPTS:remove = "--disable-silent-rules"
EXTRA_OECONF:remove = "--disable-static"
BBCLASSEXTEND = "native"

View File

@@ -0,0 +1,38 @@
SUMMARY = "Line-oriented text editor -- selftest variant"
HOMEPAGE = "http://www.gnu.org/software/ed/"
LICENSE = "GPL-3.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=0c7051aef9219dc7237f206c5c4179a7 \
file://ed.h;endline=20;md5=4e36b7a40e137f42aee718165590d125 \
file://main.c;endline=17;md5=c5b8f78f115df187af76868a2aead16a"
SECTION = "base"
# LSB states that ed should be in /bin/
bindir = "${base_bindir}"
SRC_URI = "${GNU_MIRROR}/ed/ed-${PV}.tar.lz"
RECIPE_NO_UPDATE_REASON = "This recipe is used in selftest and shouldn't be updated otherwise"
SRC_URI[md5sum] = "7f4a54fa7f366479f03654b8af645fd0"
SRC_URI[sha256sum] = "ffb97eb8f2a2b5a71a9b97e3872adce953aa1b8958e04c5b7bf11d556f32552a"
S = "${WORKDIR}/ed-${PV}"
EXTRA_OEMAKE = "-e MAKEFLAGS="
inherit texinfo
do_configure() {
${S}/configure
}
do_install() {
oe_runmake 'DESTDIR=${D}' install
# Info dir listing isn't interesting at this point so remove it if it exists.
if [ -e "${D}${infodir}/dir" ]; then
rm -f ${D}${infodir}/dir
fi
}
BBCLASSEXTEND = "native"

View File

@@ -1,44 +0,0 @@
SUMMARY = "Line-oriented text editor"
HOMEPAGE = "http://www.gnu.org/software/ed/"
DESCRIPTION = "GNU ed is a line-oriented text editor. It is used to create, display, modify and otherwise manipulate text files, both interactively and via shell scripts. A restricted version of ed, red, can only edit files in the current directory and cannot execute shell commands."
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=76d6e300ffd8fb9d18bd9b136a9bba13 \
file://ed.h;endline=20;md5=c3212b6c53b09668107420af9368c0ef \
file://main.c;endline=17;md5=e5d2ae5ddd1ecb87dc71702c06dd06dc \
"
SECTION = "base"
CVE_PRODUCT = "gnu:ed"
# LSB states that ed should be in /bin/
bindir = "${base_bindir}"
# Upstream regularly removes previous releases from https://ftp.gnu.org/gnu/ed/
SRC_URI = "${GNU_MIRROR}/ed/ed-${PV}.tar.lz"
UPSTREAM_CHECK_URI = "${GNU_MIRROR}/ed/"
SRC_URI[sha256sum] = "65fec7318f48c2ca17f334ac0f4703defe62037bb13cc23920de077b5fa24523"
S = "${WORKDIR}/ed-${PV}"
EXTRA_OEMAKE = "-e MAKEFLAGS="
# for gcc 15 true/false change
CFLAGS += "-std=gnu17"
inherit texinfo
do_configure() {
${S}/configure
}
do_install() {
oe_runmake 'DESTDIR=${D}' install
# Info dir listing isn't interesting at this point so remove it if it exists.
if [ -e "${D}${infodir}/dir" ]; then
rm -f ${D}${infodir}/dir
fi
}
BBCLASSEXTEND = "native"

View File

@@ -1,42 +0,0 @@
SUMMARY = "Line-oriented text editor"
HOMEPAGE = "http://www.gnu.org/software/ed/"
DESCRIPTION = "GNU ed is a line-oriented text editor. It is used to create, display, modify and otherwise manipulate text files, both interactively and via shell scripts. A restricted version of ed, red, can only edit files in the current directory and cannot execute shell commands."
LICENSE = "GPL-2.0-only"
LICENSE:gplv3test = "GPL-3.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=cca7f74ec83b7a9ce7ccd195aad471bd \
file://ed.h;endline=20;md5=a24e7f91c0fb83e65a746f5994762a49 \
file://main.c;endline=17;md5=fd6ad9f1853f123f4ae7a31d59761f09 \
"
SECTION = "base"
CVE_PRODUCT = "gnu:ed"
# LSB states that ed should be in /bin/
bindir = "${base_bindir}"
# Upstream regularly removes previous releases from https://ftp.gnu.org/gnu/ed/
SRC_URI = "${GNU_MIRROR}/ed/ed-${PV}.tar.lz"
UPSTREAM_CHECK_URI = "${GNU_MIRROR}/ed/"
SRC_URI[sha256sum] = "d6d0c7192b02b0519c902a93719053e865ade5a784a3b327d93d888457b23c4b"
S = "${WORKDIR}/ed-${PV}"
EXTRA_OEMAKE = "-e MAKEFLAGS="
inherit texinfo
do_configure() {
${S}/configure
}
do_install() {
oe_runmake 'DESTDIR=${D}' install
# Info dir listing isn't interesting at this point so remove it if it exists.
if [ -e "${D}${infodir}/dir" ]; then
rm -f ${D}${infodir}/dir
fi
}
BBCLASSEXTEND = "native"

View File

@@ -1,4 +1,4 @@
part /boot --active --source bootimg_biosplusefi --ondisk sda --sourceparams="loader=grub-efi" --align 1024
part /boot --active --source bootimg-biosplusefi --ondisk sda --sourceparams="loader=grub-efi" --align 1024
part / --source rootfs --ondisk sda --fstype=${OVERLAYFS_ROOTFS_TYPE} --use-uuid --align 1024
part --ondisk sda --fstype=ext4 --size=5 --align 1024
bootloader --ptable gpt --timeout=1 --append="rootfstype=${OVERLAYFS_ROOTFS_TYPE} console=ttyS0,115200 console=tty0 ${OVERLAYFS_INIT_OPTION}"

View File

@@ -1,6 +1,6 @@
# short-description: This file is used in oe-selftest wic module to test biosplusefi plugin
part /boot --source bootimg_biosplusefi --sourceparams="loader=grub-efi" --active --align 1024 --use-uuid
part /boot --source bootimg-biosplusefi --sourceparams="loader=grub-efi" --active --align 1024 --use-uuid
part / --source rootfs --fstype=ext4 --align 1024 --use-uuid
bootloader --timeout=0 --append="console=ttyS0,115200n8"

View File

@@ -1,5 +1,5 @@
# short-description: This file is used in oe-selftest wic module to test efi plugin
part /boot --source bootimg_efi --sourceparams="loader=systemd-boot" --active --align 1024 --use-uuid
part /boot --source bootimg-efi --sourceparams="loader=systemd-boot" --active --align 1024 --use-uuid
part / --source rootfs --fstype=ext4 --align 1024 --use-uuid --label root
bootloader --timeout=0 --append="console=ttyS0,115200n8"

View File

@@ -1,5 +1,5 @@
# short-description: This file is used in oe-selftest wic module to test efi plugin
part /boot --source bootimg_efi --sourceparams="loader=systemd-boot,initrd=${INITRAMFS_IMAGE}-${MACHINE}.${INITRAMFS_FSTYPES}" --active --align 1024 --use-uuid
part /boot --source bootimg-efi --sourceparams="loader=systemd-boot,initrd=${INITRAMFS_IMAGE}-${MACHINE}.${INITRAMFS_FSTYPES}" --active --align 1024 --use-uuid
part / --source rootfs --fstype=ext4 --align 1024 --use-uuid
bootloader --timeout=0
bootloader --timeout=0 --append="console=ttyS0,115200n8"

View File

@@ -1,6 +1,6 @@
# short-description: This file is used in oe-selftest wic module to test rawcopy plugin
part /boot --active --source bootimg_pcbios
part /boot --active --source bootimg-pcbios
part / --source rawcopy --sourceparams="file=${IMAGE_LINK_NAME_CORE_IMAGE_MINIMAL}.ext4" --use-uuid
bootloader --timeout=0 --append="console=ttyS0,115200n8"

View File

@@ -1,5 +1,5 @@
# short-description: This file is used in oe-selftest wic module to test uefi-kernel loader
part /boot --source bootimg_efi --sourceparams="loader=uefi-kernel"
part /boot --source bootimg-efi --sourceparams="loader=uefi-kernel"
part / --source rootfs --fstype=ext4 --align 1024 --use-uuid

View File

@@ -17,8 +17,6 @@ PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
# Install selected pieces of firmware
MACHINE_EXTRA_RRECOMMENDS += "linux-firmware-wl12xx linux-firmware-wl18xx linux-firmware-rtl-nic"
# increase default size since we install a lot of kernel drivers and firmware by default
INITRAMFS_MAXSIZE = "200000"
# Use an initramfs and populate it with the kernel modules and key firmware
INITRAMFS_IMAGE ?= "core-image-initramfs-boot"

View File

@@ -3,7 +3,7 @@
#@DESCRIPTION: Machine configuration for generic x86_64 (64-bit) PCs and servers. Supports a moderately wide range of drivers that should boot and be usable on "typical" hardware.
DEFAULTTUNE ?= "core2-64"
require conf/machine/include/x86/tune-x86-64-v3.inc
require conf/machine/include/x86/tune-core2.inc
require conf/machine/include/genericx86-common.inc
#For runqemu

View File

@@ -3,7 +3,7 @@
#@DESCRIPTION: Machine configuration for generic x86 (32-bit) PCs. Supports a moderately wide range of drivers that should boot and be usable on "typical" hardware.
DEFAULTTUNE ?= "core2-32"
require conf/machine/include/x86/tune-corei7.inc
require conf/machine/include/x86/tune-core2.inc
require conf/machine/include/genericx86-common.inc
#For runqemu

View File

@@ -2,6 +2,6 @@
# long-description: Creates a partitioned SD card image for Beaglebone.
# Boot files are located in the first vfat partition.
part /boot --source bootimg_partition --ondisk mmcblk0 --fstype=vfat --label boot --active --align 4 --fixed-size 32 --sourceparams="loader=u-boot" --use-uuid
part /boot --source bootimg-partition --ondisk mmcblk0 --fstype=vfat --label boot --active --align 4 --fixed-size 32 --sourceparams="loader=u-boot" --use-uuid
part / --source rootfs --ondisk mmcblk0 --fstype=ext4 --label root --align 4 --use-uuid
bootloader --append="console=ttyS0,115200"

View File

@@ -2,7 +2,7 @@
# long-description: Creates a partitioned EFI disk image that the user
# can directly dd to boot media.
part /boot --source bootimg_efi --sourceparams="loader=${EFI_PROVIDER},initrd=${INITRAMFS_IMAGE}-${MACHINE}.${INITRAMFS_FSTYPES}" --label boot --active --align 1024 --use-uuid
part /boot --source bootimg-efi --sourceparams="loader=${EFI_PROVIDER},initrd=${INITRAMFS_IMAGE}-${MACHINE}.${INITRAMFS_FSTYPES}" --label boot --active --align 1024 --use-uuid
part swap --size 44 --label swap --fstype=swap --use-uuid

View File

@@ -1,6 +1,6 @@
# short-description: Create an EFI disk image for genericx86*
# long-description: Creates a partitioned EFI disk image for genericx86* machines
part /boot --source bootimg_efi --sourceparams="loader=${EFI_PROVIDER}" --ondisk sda --label msdos --active --align 1024
part /boot --source bootimg-efi --sourceparams="loader=${EFI_PROVIDER}" --ondisk sda --label msdos --active --align 1024
part / --source rootfs --ondisk sda --fstype=ext4 --label platform --align 1024 --use-uuid
part swap --ondisk sda --size 44 --label swap1 --fstype=swap

View File

@@ -19,21 +19,6 @@ PACKAGECONFIG_CONFARGS ??= ""
inherit metadata_scm
PREFERRED_TOOLCHAIN_TARGET ??= "gcc"
PREFERRED_TOOLCHAIN_NATIVE ??= "gcc"
PREFERRED_TOOLCHAIN_SDK ??= "gcc"
PREFERRED_TOOLCHAIN = "${PREFERRED_TOOLCHAIN_TARGET}"
PREFERRED_TOOLCHAIN:class-native = "${PREFERRED_TOOLCHAIN_NATIVE}"
PREFERRED_TOOLCHAIN:class-cross = "${PREFERRED_TOOLCHAIN_NATIVE}"
PREFERRED_TOOLCHAIN:class-crosssdk = "${PREFERRED_TOOLCHAIN_SDK}"
PREFERRED_TOOLCHAIN:class-nativesdk = "${PREFERRED_TOOLCHAIN_SDK}"
TOOLCHAIN ??= "${PREFERRED_TOOLCHAIN}"
inherit toolchain/gcc-native
inherit_defer toolchain/${TOOLCHAIN}
def lsb_distro_identifier(d):
adjust = d.getVar('LSB_DISTRO_ADJUST')
adjust_func = None
@@ -282,19 +267,10 @@ def buildcfg_neededvars(d):
bb.fatal('The following variable(s) were not set: %s\nPlease set them directly, or choose a MACHINE or DISTRO that sets them.' % ', '.join(pesteruser))
addhandler base_eventhandler
base_eventhandler[eventmask] = "bb.event.ConfigParsed bb.event.MultiConfigParsed bb.event.BuildStarted bb.event.RecipePreFinalise bb.event.RecipeParsed bb.event.RecipePreDeferredInherits"
base_eventhandler[eventmask] = "bb.event.ConfigParsed bb.event.MultiConfigParsed bb.event.BuildStarted bb.event.RecipePreFinalise bb.event.RecipeParsed"
python base_eventhandler() {
import bb.runqueue
if isinstance(e, bb.event.RecipePreDeferredInherits):
# Use this to snoop on class extensions and set these up before the deferred inherits
# are processed which allows overrides on conditional variables.
for c in ['native', 'nativesdk', 'crosssdk', 'cross']:
if c in e.inherits:
d.setVar('CLASSOVERRIDE', 'class-' + c)
break
return
if isinstance(e, bb.event.ConfigParsed):
if not d.getVar("NATIVELSBSTRING", False):
d.setVar("NATIVELSBSTRING", lsb_distro_identifier(d))

View File

@@ -32,7 +32,7 @@ CHECKLAYER_REQUIRED_TESTS = "\
invalid-packageconfig la \
license-checksum license-exception license-exists license-file-missing license-format license-no-generic license-syntax \
mime mime-xdg missing-update-alternatives multilib obsolete-license \
packages-list patch-fuzz patch-status perllocalpod perm-config perm-line perm-link recipe-naming \
packages-list patch-fuzz patch-status perllocalpod perm-config perm-line perm-link \
pkgconfig pkgvarcheck pkgv-undefined pn-overrides shebang-size src-uri-bad symlink-to-sysroot \
unhandled-features-check unknown-configure-option unlisted-pkg-lics uppercase-pn useless-rpaths \
var-undefined virtual-slash xorg-driver-abi"
@@ -832,7 +832,7 @@ def package_qa_check_rdepends(pkg, pkgdest, skip, taskdeps, packages, d):
return False
for rdepend in rdepends:
if rdepend.endswith("-dbg") and "debug-deps" not in skip:
if "-dbg" in rdepend and "debug-deps" not in skip:
error_msg = "%s rdepends on %s" % (pkg,rdepend)
oe.qa.handle_error("debug-deps", error_msg, d)
if (not "-dev" in pkg and not "-staticdev" in pkg) and rdepend.endswith("-dev") and "dev-deps" not in skip:
@@ -1332,13 +1332,6 @@ python do_qa_patch() {
elif os.path.exists(os.path.join(srcdir, "Makefile.in")) and (match_line_in_files(srcdir, "**/Makefile.in", r'\s*TESTS\s*\+?=') or match_line_in_files(srcdir,"**/*.at",r'.*AT_INIT')):
oe.qa.handle_error("unimplemented-ptest", "%s: autotools-based tests detected" % d.getVar('PN'), d)
# Detect cargo-based tests
elif os.path.exists(os.path.join(srcdir, "Cargo.toml")) and (
match_line_in_files(srcdir, "**/*.rs", r'\s*#\s*\[\s*test\s*\]') or
match_line_in_files(srcdir, "**/*.rs", r'\s*#\s*\[\s*cfg\s*\(\s*test\s*\)\s*\]')
):
oe.qa.handle_error("unimplemented-ptest", "%s: cargo-based tests detected" % d.getVar('PN'), d)
# Last resort, detect a test directory in sources
elif os.path.exists(srcdir) and any(filename.lower() in ["test", "tests"] for filename in os.listdir(srcdir)):
oe.qa.handle_error("unimplemented-ptest", "%s: test subdirectory detected" % d.getVar('PN'), d)
@@ -1425,6 +1418,16 @@ Rerun configure task after fixing this."""
except subprocess.CalledProcessError:
pass
# Check invalid PACKAGECONFIG
pkgconfig = (d.getVar("PACKAGECONFIG") or "").split()
if pkgconfig:
pkgconfigflags = d.getVarFlags("PACKAGECONFIG") or {}
for pconfig in pkgconfig:
if pconfig not in pkgconfigflags:
pn = d.getVar('PN')
error_msg = "%s: invalid PACKAGECONFIG: %s" % (pn, pconfig)
oe.qa.handle_error("invalid-packageconfig", error_msg, d)
oe.qa.exit_if_errors(d)
}
@@ -1438,12 +1441,6 @@ python do_qa_unpack() {
python do_recipe_qa() {
import re
def test_naming(pn, d):
if pn.endswith("-native") and not bb.data.inherits_class("native", d):
oe.qa.handle_error("recipe-naming", "Recipe %s appears native but is not, should inherit native" % pn, d)
if pn.startswith("nativesdk-") and not bb.data.inherits_class("nativesdk", d):
oe.qa.handle_error("recipe-naming", "Recipe %s appears nativesdk but is not, should inherit nativesdk" % pn, d)
def test_missing_metadata(pn, d):
fn = d.getVar("FILE")
srcfile = d.getVar('SRC_URI').split()
@@ -1478,21 +1475,10 @@ python do_recipe_qa() {
if re.search(r"git(hu|la)b\.com/.+/.+/archive/.+", url) or "//codeload.github.com/" in url:
oe.qa.handle_error("src-uri-bad", "%s: SRC_URI uses unstable GitHub/GitLab archives, convert recipe to use git protocol" % pn, d)
def test_packageconfig(pn, d):
pkgconfigs = (d.getVar("PACKAGECONFIG") or "").split()
if pkgconfigs:
pkgconfigflags = d.getVarFlags("PACKAGECONFIG") or {}
invalid_pkgconfigs = set(pkgconfigs) - set(pkgconfigflags)
if invalid_pkgconfigs:
error_msg = "%s: invalid PACKAGECONFIG(s): %s" % (pn, " ".join(sorted(invalid_pkgconfigs)))
oe.qa.handle_error("invalid-packageconfig", error_msg, d)
pn = d.getVar('PN')
test_naming(pn, d)
test_missing_metadata(pn, d)
test_missing_maintainer(pn, d)
test_srcuri(pn, d)
test_packageconfig(pn, d)
oe.qa.exit_if_errors(d)
}

Some files were not shown because too many files have changed in this diff Show More