Compare commits

...

573 Commits

Author SHA1 Message Date
Alexander Kanavin
3160736075 local.conf: Drop support for mklibs
This is not enabled or tested by default, and has never been
ported to python 3 upstream[1], which means it doesn't work at all
with plain poky. If you need it, please put it in a separate layer
and/or modernize to work with py3.

https://salsa.debian.org/installer-team/mklibs/-/blob/master/src/mklibs

(From meta-yocto rev: c8c8f284eb2abe7e1352850a885454487cc01986)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 23:53:47 +01:00
Richard Purdie
2f12a20935 bitbake: server/process: Handle error in heartbeat funciton in OOM case
We've seen cases where an OOM error causes bitbake server to hang:

9171 02:21:09.127810 Command Completed
Traceback (most recent call last):
  File "/home/pokybuild/yocto-worker/qemux86/build/bitbake/bin/bitbake-server", line 51, in <module>
    bb.server.process.execServer(lockfd, readypipeinfd, lockname, sockname, timeout, xmlrpcinterface)
  File "/home/pokybuild/yocto-worker/qemux86/build/bitbake/lib/bb/server/process.py", line 550, in execServer
    server.run()
  File "/home/pokybuild/yocto-worker/qemux86/build/bitbake/lib/bb/server/process.py", line 108, in run
    ret = self.main()
  File "/home/pokybuild/yocto-worker/qemux86/build/bitbake/lib/bb/server/process.py", line 242, in main
    ready = self.idle_commands(.1, fds)
  File "/home/pokybuild/yocto-worker/qemux86/build/bitbake/lib/bb/server/process.py", line 370, in idle_commands
    bb.event.fire(heartbeat, self.cooker.data)
  File "/home/pokybuild/yocto-worker/qemux86/build/bitbake/lib/bb/event.py", line 216, in fire
    fire_class_handlers(event, d)
  File "/home/pokybuild/yocto-worker/qemux86/build/bitbake/lib/bb/event.py", line 123, in fire_class_handlers
    execute_handler(name, handler, event, d)
  File "/home/pokybuild/yocto-worker/qemux86/build/bitbake/lib/bb/event.py", line 93, in execute_handler
    ret = handler(event)
  File "/home/pokybuild/yocto-worker/qemux86/build/meta/classes/buildstats.bbclass", line 182, in defaultrun_buildstats
    write_host_data(os.path.join(bsdir, "host_stats"), e, d, "interval")
  File "/home/pokybuild/yocto-worker/qemux86/build/meta/classes/buildstats.bbclass", line 160, in write_host_data
    output = subprocess.check_output(c.split(), stderr=subprocess.STDOUT, timeout=limit).decode('utf-8')
  File "/usr/lib/python3.6/subprocess.py", line 356, in check_output
    **kwargs).stdout
  File "/usr/lib/python3.6/subprocess.py", line 423, in run
    with Popen(*popenargs, **kwargs) as process:
  File "/usr/lib/python3.6/subprocess.py", line 729, in __init__
    restore_signals, start_new_session)
  File "/usr/lib/python3.6/subprocess.py", line 1295, in _execute_child
    restore_signals, start_new_session, preexec_fn)
OSError: [Errno 12] Cannot allocate memory

We need to wrap the calls in the same high level wrapper as idle function calls
and trigger an exit upon an unhandled exception.

(Bitbake rev: 74042b5b89d5a170013fc1a327ce3a6530fbf7d5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 23:53:15 +01:00
Richard Purdie
e109bdae37 Revert "cml1.bbclass: Return sorted list of cfg files"
This reverts commit dee41e92f0.

This patch breaks cases where some config files make changes to earlier ones,
ordering is important. The reproducibility issue in busybox was elsewhere.

(From OE-Core rev: ab0a296607b58775e91948ba40956c666dbb1244)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 23:52:54 +01:00
Ross Burton
d686afb18f python3: update status on upstreamed patch
(From OE-Core rev: 319fb2d804b193d39d78010115e28a31b4f9f6e9)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 23:52:54 +01:00
Tony Tascioglu
16fce99695 libxml2: Add bash dependency for ptests.
Before, running ptests on core-image-minimal would result in
an error due to missing /bin/bash:

   [ -d test   ] || ln -s ../libxml2-2.9.10/test   .
   make: /bin/bash: No such file or directory
   make: *** [Makefile:2105: runtests] Error 127

Changing the Makefile to use /bin/sh results in some of the
tests failing, so I have added the missing dependancy on bash.

(From OE-Core rev: d2e81298c446aec8d7fcf61fd5023ac30350f205)

Signed-off-by: Tony Tascioglu <tony.tascioglu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 23:52:54 +01:00
Tony Tascioglu
d05cebc52b libxml2: Reformat runtest.patch
Reformatted runtest.patch to allow it to be applied using git am.
This makes it easier to apply the series of patches to the original git repo.

There are no changes to the code of the patch other than the reformat.

Previously, the patch claimed to be a backport, but I have not found an
upstream commit so I've changed the Upstream-Status to pending.

(From OE-Core rev: 0361d625e1573e846a2f03ed90a8b897bc405160)

Signed-off-by: Tony Tascioglu <tony.tascioglu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 23:52:54 +01:00
Stefan Ghinea
8ab36da6e8 boost: fix do_fetch failure
Bintray service has been discontinued causing boost do_fetch to fail:
WARNING: boost-1.76.0-r0 do_fetch: Failed to fetch URL
https://dl.bintray.com/boostorg/release/1.76.0/source/boost_1_76_0.tar.bz2,
attempting MIRRORS if available

(From OE-Core rev: 6a76da15ece9d27fca20ace12db4978092e042b7)

Signed-off-by: Stefan Ghinea <stefan.ghinea@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 23:52:54 +01:00
Khem Raj
9b0221fd8b gcc: Refresh patch to fix patch fuzz
This is due to previous patches editing common files from this patch

Fixes
ERROR: gcc-source-11.1.0-11.1.0-r0 do_patch: Fuzz detected:

Applying patch 0028-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch
patching file gcc/config/linux.h
Hunk #1 succeeded at 203 with fuzz 1 (offset 8 lines).
patching file gcc/config/rs6000/linux.h
patching file gcc/config/rs6000/linux64.h

(From OE-Core rev: d8c3f3a1872a41cc4788ff3d9f42c13debedabd2)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 23:52:54 +01:00
Khem Raj
87635fa01c gcc: Extend .gccrelocprefix section support to musl configs
musl includes were not using the relocatable prefix like glibc
counterpart, this will mean that musl SDKs will behave better and find
the headers in right install directories

(From OE-Core rev: 8cb141306f13fa6e25c89c104af9ad0af431eb5d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 23:52:54 +01:00
Khem Raj
3b0603391b gcc: Add target gcc include search for musl config too
Musl has different search order and therefore injects it
via INCLUDE_DEFAULTS and does not use the defaults from
gcc/cppdefaults.h, this ensures that same fix is extended
to musl configs too where it can search for compiler headers
It will fix builds with musl where omp.h is not found because
it is in gcc includes path on target ( not cross ) sysroot

(From OE-Core rev: 3ff688ca02dcc4c0187d1ddc214ec0c74b4e73f1)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 23:52:54 +01:00
Bruce Ashfield
6938faf9d1 kernel-devsrc: adjust NM and OBJTOOL variables for target
v5.13 has started storting the values for NM and OBJTOOL in
auto.conf.cmd

Just as we've done for other tools, we need to adjust NM and
OBJTOOL to the names of the on-target executables. With this
adjustment, 'make scripts prepare' continues to work without
user intervention on the target.

(From OE-Core rev: e749b81ece1f94f99ca26028a2f6f891aa14bda9)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 23:52:53 +01:00
Bruce Ashfield
3bdd5b934b linux-yocto/5.4: update to v5.4.119
Updating linux-yocto/5.4 to the latest korg -stable release that comprises
the following commits:

    b82e5721a173 Linux 5.4.119
    6b183fbf18b9 Revert "fdt: Properly handle "no-map" field in the memory region"
    66b8853dfa3c Revert "of/fdt: Make sure no-map does not remove already reserved regions"
    3fe9ee040fb7 sctp: delay auto_asconf init until binding the first addr
    e1bf000709cc Revert "net/sctp: fix race condition in sctp_destroy_sock"
    32e046965fac smp: Fix smp_call_function_single_async prototype
    9884f745108f net: Only allow init netns to set default tcp cong to a restricted algo
    4a83a9deead9 mm/memory-failure: unnecessary amount of unmapping
    de143fb2feac mm/sparse: add the missing sparse_buffer_fini() in error branch
    ba450bba7115 kfifo: fix ternary sign extension bugs
    24c54e0a9747 net:nfc:digital: Fix a double free in digital_tg_recv_dep_req
    07ef3f7bc5c4 net: bridge: mcast: fix broken length + header check for MRDv6 Adv.
    da5b49598a11 RDMA/bnxt_re: Fix a double free in bnxt_qplib_alloc_res
    30b9e92d0b5e RDMA/siw: Fix a use after free in siw_alloc_mr
    55fcdd1258fa net:emac/emac-mac: Fix a use after free in emac_mac_tx_buf_send
    b1523e4ba293 bnxt_en: Fix RX consumer index logic in the error path.
    d1ad9f2f7e2d selftests: net: mirror_gre_vlan_bridge_1q: Make an FDB entry static
    6f92124d7441 net: geneve: modify IP header check in geneve6_xmit_skb and geneve_xmit_skb
    06e03b867d96 arm64: dts: uniphier: Change phy-mode to RGMII-ID to enable delay pins for RTL8211E
    978170191d3d ARM: dts: uniphier: Change phy-mode to RGMII-ID to enable delay pins for RTL8211E
    4bfea784ea35 bnxt_en: fix ternary sign extension bug in bnxt_show_temp()
    10ff6ad91e0d powerpc/52xx: Fix an invalid ASM expression ('addi' used instead of 'add')
    c6af4c1d196e ath10k: Fix ath10k_wmi_tlv_op_pull_peer_stats_info() unlock without lock
    bf0be675e646 ath9k: Fix error check in ath9k_hw_read_revisions() for PCI devices
    87fc6b2914e5 net: phy: intel-xway: enable integrated led functions
    57bed78ce64a net: renesas: ravb: Fix a stuck issue when a lot of frames are received
    27a894a9556f net: davinci_emac: Fix incorrect masking of tx and rx error channel
    8d77c9564309 ALSA: usb: midi: don't return -ENOMEM when usb_urb_ep_type_check fails
    59f965ef61d7 RDMA/i40iw: Fix error unwinding when i40iw_hmc_sd_one fails
    d7ba506b00ea RDMA/cxgb4: add missing qpid increment
    f7368865da57 gro: fix napi_gro_frags() Fast GRO breakage due to IP alignment check
    e97aea9f2503 vsock/vmci: log once the failed queue pair allocation
    469135100325 mwl8k: Fix a double Free in mwl8k_probe_hw
    afb735e764ba i2c: sh7760: fix IRQ error path
    da80b35b6e26 rtlwifi: 8821ae: upgrade PHY and RF parameters
    b1b8d90d4550 powerpc/pseries: extract host bridge from pci_bus prior to bus removal
    bdad13dd15e2 MIPS: pci-legacy: stop using of_pci_range_to_resource
    5950c9d7f987 perf beauty: Fix fsconfig generator
    0ff76bd07bc4 drm/i915/gvt: Fix error code in intel_gvt_init_device()
    ecfbcb858007 ASoC: ak5558: correct reset polarity
    c77bf004717d powerpc/xive: Fix xmon command "dxi"
    65b771660f57 i2c: sh7760: add IRQ check
    cb834ff29bdb i2c: jz4780: add IRQ check
    aa90700f953a i2c: emev2: add IRQ check
    45f02a0f8ded i2c: cadence: add IRQ check
    7e1764312440 i2c: sprd: fix reference leak when pm_runtime_get_sync fails
    5f51ddcbfc78 i2c: omap: fix reference leak when pm_runtime_get_sync fails
    815859cb1d23 i2c: imx-lpi2c: fix reference leak when pm_runtime_get_sync fails
    4734c4b1d957 i2c: img-scb: fix reference leak when pm_runtime_get_sync fails
    ed016b77012e RDMA/srpt: Fix error return code in srpt_cm_req_recv()
    e1d10b2cc792 net: thunderx: Fix unintentional sign extension issue
    b0d8fa3adc9d cxgb4: Fix unintentional sign extension issues
    05692b952365 IB/hfi1: Fix error return code in parse_platform_config()
    53656a2a0183 RDMA/qedr: Fix error return code in qedr_iw_connect()
    bf365066fbe0 KVM: PPC: Book3S HV P9: Restore host CTRL SPR after guest exit
    af5a87a1d413 mt7601u: fix always true expression
    53ada35f2ecc mac80211: bail out if cipher schemes are invalid
    22cb8496f290 powerpc: iommu: fix build when neither PCI or IBMVIO is set
    5aa028a827fe powerpc/perf: Fix PMU constraint check for EBB events
    73f9dccb29e4 powerpc/64s: Fix pte update for kernel memory on radix
    440fead0fc81 liquidio: Fix unintented sign extension of a left shift of a u16
    92626cf41b0e ASoC: simple-card: fix possible uninitialized single_cpu local variable
    e1b01d914c31 ALSA: usb-audio: Add error checks for usb_driver_claim_interface() calls
    11fa9b38e030 mips: bmips: fix syscon-reboot nodes
    c8f7e2e04724 net: hns3: Limiting the scope of vector_ring_chain variable
    cab33b3b6da8 nfc: pn533: prevent potential memory corruption
    efb0f45b4535 bug: Remove redundant condition check in report_bug
    7628bc544ba8 ALSA: core: remove redundant spin_lock pair in snd_card_disconnect
    3733a64d5828 powerpc: Fix HAVE_HARDLOCKUP_DETECTOR_ARCH build configuration
    fee81285bd09 inet: use bigger hash table for IP ID generation
    318993949423 powerpc/prom: Mark identical_pvr_fixup as __init
    4543fcd6835b powerpc/fadump: Mark fadump_calculate_reserve_size as __init
    e00c5b9eebf0 net: lapbether: Prevent racing when checking whether the netif is running
    f937a0f6ada1 perf symbols: Fix dso__fprintf_symbols_by_name() to return the number of printed chars
    1121f5f3d440 HID: plantronics: Workaround for double volume key presses
    59021008b317 drivers/block/null_blk/main: Fix a double free in null_init.
    279749d0d4ef sched/debug: Fix cgroup_path[] serialization
    c01fc0adba30 x86/events/amd/iommu: Fix sysfs type mismatch
    846357609409 HSI: core: fix resource leaks in hsi_add_client_from_dt()
    ff386ac05098 nvme-pci: don't simple map sgl when sgls are disabled
    7e1ab103f63f mfd: stm32-timers: Avoid clearing auto reload register
    e8fe98f6ec69 scsi: ibmvfc: Fix invalid state machine BUG_ON()
    ce8585f979e4 scsi: sni_53c710: Add IRQ check
    1ff0b82c6674 scsi: sun3x_esp: Add IRQ check
    4b94098f0aa7 scsi: jazz_esp: Add IRQ check
    ae0cadd35daf scsi: hisi_sas: Fix IRQ checks
    6adac4efe77d clk: uniphier: Fix potential infinite loop
    e1a5c8594c0e clk: qcom: a53-pll: Add missing MODULE_DEVICE_TABLE
    6c9bbf98b1d8 clk: zynqmp: move zynqmp_pll_set_mode out of round_rate callback
    3d81ce0cfb31 vfio/mdev: Do not allow a mdev_type to have a NULL parent pointer
    e6707395c839 media: v4l2-ctrls.c: fix race condition in hdl->requests list
    b22867aa3d32 nvme: retrigger ANA log update if group descriptor isn't found
    999d606a820c nvmet-tcp: fix incorrect locking in state_change sk callback
    ced0760eb45a nvme-tcp: block BH in sk state_change sk callback
    4bbae57c7bde ata: libahci_platform: fix IRQ check
    bafcaa016585 sata_mv: add IRQ checks
    782ec39b37bd pata_ipx4xx_cf: fix IRQ check
    af9c0391353d pata_arasan_cf: fix IRQ check
    c66229b36fd3 x86/kprobes: Fix to check non boostable prefixes correctly
    1cfaa6444a5e drm/amdkfd: fix build error with AMD_IOMMU_V2=m
    bfd83cf79b7f media: m88rs6000t: avoid potential out-of-bounds reads on arrays
    7db94692631e media: platform: sunxi: sun6i-csi: fix error return code of sun6i_video_start_streaming()
    1dc1d30ac101 media: aspeed: fix clock handling logic
    d36f9755d1db media: omap4iss: return error code when omap4iss_get() failed
    75c6252e8630 media: vivid: fix assignment of dev->fbuf_out_flags
    6b121dc6807c soc: aspeed: fix a ternary sign expansion bug
    f276d195ce10 xen-blkback: fix compatibility bug with single page rings
    aafb5e38e695 ttyprintk: Add TTY hangup callback.
    ce7b62d85791 usb: dwc2: Fix hibernation between host and device modes.
    6f7ed537ca2d usb: dwc2: Fix host mode hibernation exit with remote wakeup flow.
    e83dcf255a13 Drivers: hv: vmbus: Increase wait time for VMbus unload
    9b47b3a67552 x86/platform/uv: Fix !KEXEC build failure
    9a9ce397336e platform/x86: pmc_atom: Match all Beckhoff Automation baytrail boards with critclk_systems DMI table
    eec90f4b9575 usbip: vudc: fix missing unlock on error in usbip_sockfd_store()
    d3b6b252bab0 node: fix device cleanups in error handling code
    3f605558a4f7 firmware: qcom-scm: Fix QCOM_SCM configuration
    77a1c15145c8 serial: core: return early on unsupported ioctls
    b6803d57f587 tty: fix return value for unsupported ioctls
    932d67b84b4f tty: actually undefine superseded ASYNC flags
    a6fb73f4e009 USB: cdc-acm: fix TIOCGSERIAL implementation
    8abef571fd92 USB: cdc-acm: fix unprivileged TIOCCSERIAL
    9aa155203427 usb: gadget: r8a66597: Add missing null check on return from platform_get_resource
    4a01ad002d2e spi: fsl-lpspi: Fix PM reference leak in lpspi_prepare_xfer_hardware()
    eaf03935b859 cpufreq: armada-37xx: Fix determining base CPU frequency
    d33a00f35531 cpufreq: armada-37xx: Fix driver cleanup when registration failed
    4bffea742b66 clk: mvebu: armada-37xx-periph: Fix workaround for switching from L1 to L0
    0289edd869ac clk: mvebu: armada-37xx-periph: Fix switching CPU freq from 250 Mhz to 1 GHz
    0c793b76066b cpufreq: armada-37xx: Fix the AVS value for load L1
    b671a3277b7c clk: mvebu: armada-37xx-periph: remove .set_parent method for CPU PM clock
    3518c6d0178c cpufreq: armada-37xx: Fix setting TBG parent for load levels
    19d16a689793 crypto: qat - Fix a double free in adf_create_ring
    32f5f51a3703 ACPI: CPPC: Replace cppc_attr with kobj_attribute
    726837481c93 soc: qcom: mdt_loader: Detect truncated read of segments
    08b601cb7aef soc: qcom: mdt_loader: Validate that p_filesz < p_memsz
    001c8e83646a spi: Fix use-after-free with devm_spi_alloc_*
    3b0cd47fe1b7 PM / devfreq: Use more accurate returned new_freq as resume_freq
    51a5e5e93c01 staging: greybus: uart: fix unprivileged TIOCCSERIAL
    c751e448b726 staging: rtl8192u: Fix potential infinite loop
    8148375c865f irqchip/gic-v3: Fix OF_BAD_ADDR error handling
    ef8e7bfea99a mtd: rawnand: gpmi: Fix a double free in gpmi_nand_init
    f6a90818a320 m68k: mvme147,mvme16x: Don't wipe PCC timer config bits
    870533403ffa soundwire: stream: fix memory leak in stream config error path
    7cd10f8a5a9d memory: pl353: fix mask of ECC page_size config register
    6b18f6ac820e USB: gadget: udc: fix wrong pointer passed to IS_ERR() and PTR_ERR()
    93615b25c78f usb: gadget: aspeed: fix dma map failure
    c675ead206b7 crypto: qat - fix error path in adf_isr_resource_alloc()
    f3685a9ef29d phy: marvell: ARMADA375_USBCLUSTER_PHY should not default to y, unconditionally
    4dc0332faf80 soundwire: bus: Fix device found flag correctly
    3a76ec28824c bus: qcom: Put child node before return
    5880afefe0cb mtd: require write permissions for locking and badblock ioctls
    ff352d27d4ce fotg210-udc: Complete OUT requests on short packets
    0d19ad0706c2 fotg210-udc: Don't DMA more than the buffer can take
    88f1100e523c fotg210-udc: Mask GRP2 interrupts we don't handle
    f580a8046acf fotg210-udc: Remove a dubious condition leading to fotg210_done
    359d1b0ad239 fotg210-udc: Fix EP0 IN requests bigger than two packets
    9a97aa4bbe0f fotg210-udc: Fix DMA on EP0 for length > max packet size
    05ec8192ee4b crypto: qat - ADF_STATUS_PF_RUNNING should be set after adf_dev_init
    2a41049a0e21 crypto: qat - don't release uninitialized resources
    cfd99d250cde usb: gadget: pch_udc: Check for DMA mapping error
    44452b7bd35d usb: gadget: pch_udc: Check if driver is present before calling ->setup()
    23978eb064dc usb: gadget: pch_udc: Replace cpu_to_le32() by lower_32_bits()
    369428a646b7 x86/microcode: Check for offline CPUs before requesting new microcode
    6b8ff2a35a74 arm64: dts: renesas: r8a77980: Fix vin4-7 endpoint binding
    cbf784eff5de spi: stm32: drop devres version of spi_register_master
    15ee35be9286 arm64: dts: qcom: sm8150: fix number of pins in 'gpio-ranges'
    168877a575a5 mtd: rawnand: qcom: Return actual error code instead of -ENODEV
    73744fcb4eb0 mtd: Handle possible -EPROBE_DEFER from parse_mtd_partitions()
    e5b3e69eb36a mtd: rawnand: brcmnand: fix OOB R/W with Hamming ECC
    9e612890bb87 mtd: rawnand: fsmc: Fix error code in fsmc_nand_probe()
    d8897f7b2283 regmap: set debugfs_name to NULL after it is freed
    0d2c86076844 usb: typec: tcpci: Check ROLE_CONTROL while interpreting CC_STATUS
    6e666a05e540 serial: stm32: fix tx_empty condition
    12e423331ec9 serial: stm32: fix incorrect characters on console
    6be27923140a ARM: dts: exynos: correct PMIC interrupt trigger level on Snow
    aacfc3bef07b ARM: dts: exynos: correct PMIC interrupt trigger level on SMDK5250
    d788a900f362 ARM: dts: exynos: correct PMIC interrupt trigger level on Odroid X/U3 family
    f9b701bc13da ARM: dts: exynos: correct PMIC interrupt trigger level on Midas family
    6cf80f1fc1a9 ARM: dts: exynos: correct MUIC interrupt trigger level on Midas family
    73bc2732108c ARM: dts: exynos: correct fuel gauge interrupt trigger level on Midas family
    12d9d517a2fe memory: gpmc: fix out of bounds read and dereference on gpmc_cs[]
    52189bf0b2a2 usb: gadget: pch_udc: Revert d3cb25a12138 completely
    db699975f72d ovl: fix missing revert_creds() on error path
    a51050108bed Revert "i3c master: fix missing destroy_workqueue() on error in i3c_master_register"
    7d1bc32d6477 KVM: Stop looking for coalesced MMIO zones if the bus is destroyed
    cc6623055f2d KVM: nVMX: Truncate bits 63:32 of VMCS field on nested check in !64-bit
    358264425747 KVM: s390: split kvm_s390_real_to_abs
    45a3ae26fcd9 s390: fix detection of vector enhancements facility 1 vs. vector packed decimal facility
    9ea2c4fd1a72 KVM: s390: fix guarded storage control register handling
    34a6d1d57c71 KVM: s390: split kvm_s390_logical_to_effective
    027de80194fb ALSA: hda/realtek: ALC285 Thinkpad jack pin quirk is unreachable
    1bfa051571ac ALSA: hda/realtek: Remove redundant entry for ALC861 Haier/Uniwill devices
    9337f5ba5090 ALSA: hda/realtek: Re-order ALC662 quirk table entries
    5f68b0ec9882 ALSA: hda/realtek: Re-order remaining ALC269 quirk table entries
    15b414029478 ALSA: hda/realtek: Re-order ALC269 Lenovo quirk table entries
    99aa203c6eb6 ALSA: hda/realtek: Re-order ALC269 Sony quirk table entries
    1f1612fc6bea ALSA: hda/realtek: Re-order ALC269 ASUS quirk table entries
    65d5b99c1ea9 ALSA: hda/realtek: Re-order ALC269 Dell quirk table entries
    b161e02481d8 ALSA: hda/realtek: Re-order ALC269 Acer quirk table entries
    bd0e9154100c ALSA: hda/realtek: Re-order ALC269 HP quirk table entries
    e97cf247ba44 ALSA: hda/realtek: Re-order ALC882 Clevo quirk table entries
    02968e62200a ALSA: hda/realtek: Re-order ALC882 Sony quirk table entries
    6d9e8828fa77 ALSA: hda/realtek: Re-order ALC882 Acer quirk table entries
    e584e52783a4 drm/amd/display: Reject non-zero src_y and src_x for video planes
    56f2ea0bc2a1 drm/radeon: fix copy of uninitialized variable back to userspace
    4aea3ddac00a drm/panfrost: Don't try to map pages that are already mapped
    debaae7ac45a drm/panfrost: Clear MMU irqs before handling the fault
    6b5aa0cf321c rtw88: Fix array overrun in rtw_get_tx_power_params()
    e5b02c096145 cfg80211: scan: drop entry from hidden_list on overflow
    16b68fb8df43 ipw2x00: potential buffer overflow in libipw_wx_set_encodeext()
    af7ea06b3cae md: Fix missing unused status line of /proc/mdstat
    79c1bfae668d md: md_open returns -EBUSY when entering racing area
    adb9bbf1a284 md: factor out a mddev_find_locked helper from mddev_find
    afa4de092663 md: split mddev_find
    acdf531e77f0 md-cluster: fix use-after-free issue when removing rdev
    a72373588ce3 md/bitmap: wait for external bitmap writes to complete during tear down
    45bc83f71b22 misc: vmw_vmci: explicitly initialize vmci_datagram payload
    0f8f75b92ecc misc: vmw_vmci: explicitly initialize vmci_notify_bm_set_msg struct
    34f6ba8810c3 misc: lis3lv02d: Fix false-positive WARN on various HP models
    8809d87cb86f iio:accel:adis16201: Fix wrong axis assignment that prevents loading
    7cb1f304237a PCI: Allow VPD access for QLogic ISP2722
    f30ded0ba1b6 FDDI: defxx: Bail out gracefully with unassigned PCI resource for CSR
    8943172edaf7 MIPS: pci-rt2880: fix slot 0 configuration
    cd2e53ad366f MIPS: pci-mt7620: fix PLL lock check
    4dce2a19e76b ASoC: Intel: kbl_da7219_max98927: Fix kabylake_ssp_fixup function
    79cc386696fb ASoC: samsung: tm2_wm5110: check of of_parse return value
    2b8b8cc94f4d usb: xhci-mtk: improve bandwidth scheduling with TT
    9f0d3e676a25 usb: xhci-mtk: remove or operator for setting schedule parameters
    230bd196536b usb: typec: tcpm: update power supply once partner accepts
    9d7bb10859b9 usb: typec: tcpm: Address incorrect values of tcpm psy for pps supply
    c87bb48ac5c5 usb: typec: tcpm: Address incorrect values of tcpm psy for fixed supply
    66ca71d28301 staging: fwserial: fix TIOCSSERIAL permission check
    ebb46274e33f tty: moxa: fix TIOCSSERIAL permission check
    d524fb44c657 staging: fwserial: fix TIOCSSERIAL jiffies conversions
    f80f12ee00b8 USB: serial: ti_usb_3410_5052: fix TIOCSSERIAL permission check
    f50cad556c28 staging: greybus: uart: fix TIOCSSERIAL jiffies conversions
    3114fedf4020 USB: serial: usb_wwan: fix TIOCSSERIAL jiffies conversions
    edce32412096 tty: amiserial: fix TIOCSSERIAL permission check
    e503d7bc7bfe tty: moxa: fix TIOCSSERIAL jiffies conversions
    c30b11c74cbb Revert "USB: cdc-acm: fix rounding error in TIOCSSERIAL"
    e32352070bca net/nfc: fix use-after-free llcp_sock_bind/connect
    eeec325c9944 bluetooth: eliminate the potential race condition when removing the HCI controller
    119858caf400 hsr: use netdev_err() instead of WARN_ONCE()
    3a826ffa80d5 Bluetooth: verify AMP hci_chan before amp_destroy

(From OE-Core rev: 4d00220f08e9ec8e421157187794b5701ffc04eb)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 23:52:53 +01:00
Bruce Ashfield
59a631a847 linux-yocto/5.10: update to v5.10.37
Updating linux-yocto/5.10 to the latest korg -stable release that comprises
the following commits:

    e97bd1e03e6e Linux 5.10.37
    42f1b8653f85 sctp: delay auto_asconf init until binding the first addr
    14919cdf68d0 Revert "net/sctp: fix race condition in sctp_destroy_sock"
    41f1aed56de5 smp: Fix smp_call_function_single_async prototype
    6c1ea8bee75d net: Only allow init netns to set default tcp cong to a restricted algo
    2281df0b0226 arm64: Remove arm64_dma32_phys_limit and its uses
    00d9f429af03 bpf: Prevent writable memory-mapping of read-only ringbuf pages
    1ca284f08670 bpf, ringbuf: Deny reserve of buffers larger than ringbuf
    282bfc8848ea bpf: Fix alu32 const subreg bound tracking on bitwise operations
    f76e0829bbab afs: Fix speculative status fetches
    949e7c5f4957 mm/memory-failure: unnecessary amount of unmapping
    62d96faa74c8 mm/sparse: add the missing sparse_buffer_fini() in error branch
    31df8bc4d3fe mm: memcontrol: slab: fix obtain a reference to a freeing memcg
    2e95bc6cfed1 mm/sl?b.c: remove ctor argument from kmem_cache_flags
    618fa6a35c79 kfifo: fix ternary sign extension bugs
    c02dd80655fd ia64: fix EFI_DEBUG build
    c6b7e0b1ab87 perf session: Add swap operation for event TIME_CONV
    86941f8bd46a perf jit: Let convert_timestamp() to be backwards-compatible
    fe07408afba2 perf tools: Change fields type in perf_record_time_conv
    3bce718d977b net:nfc:digital: Fix a double free in digital_tg_recv_dep_req
    e2c34cacff7b net: bridge: mcast: fix broken length + header check for MRDv6 Adv.
    f5ce59707d6a RDMA/bnxt_re: Fix a double free in bnxt_qplib_alloc_res
    608a4b90ece0 RDMA/siw: Fix a use after free in siw_alloc_mr
    4394be0a1866 bpf: Fix propagation of 32 bit unsigned bounds from 64 bit bounds
    183d9ebd449c selftests/bpf: Fix core_reloc test runner
    0257a0a5ffb7 selftests/bpf: Fix field existence CO-RE reloc tests
    3769c54d341c selftests/bpf: Fix BPF_CORE_READ_BITFIELD() macro
    9dc373f74097 net:emac/emac-mac: Fix a use after free in emac_mac_tx_buf_send
    8fcdfa71ba6a KVM: VMX: Intercept FS/GS_BASE MSR accesses for 32-bit KVM
    4fcaad2b7dac bnxt_en: Fix RX consumer index logic in the error path.
    1625872f012c selftests: mlxsw: Remove a redundant if statement in tc_flower_scale test
    8ebdce8fe0b0 selftests: net: mirror_gre_vlan_bridge_1q: Make an FDB entry static
    71ad9260c001 net: geneve: modify IP header check in geneve6_xmit_skb and geneve_xmit_skb
    1fc61844b6a2 arm64: dts: uniphier: Change phy-mode to RGMII-ID to enable delay pins for RTL8211E
    0ae610556f23 ARM: dts: uniphier: Change phy-mode to RGMII-ID to enable delay pins for RTL8211E
    66b1cfc0cd87 bnxt_en: fix ternary sign extension bug in bnxt_show_temp()
    9f722ef596fe net: enetc: fix link error again
    bfcb5a8cc7b6 net: phy: marvell: fix m88e1111_set_downshift
    1157d01e04d9 net: phy: marvell: fix m88e1011_set_downshift
    be631825652f powerpc/52xx: Fix an invalid ASM expression ('addi' used instead of 'add')
    e06a532f31c4 powerpc/perf: Fix the threshold event selection for memory events in power10
    b6b894e7a27e wlcore: Fix buffer overrun by snprintf due to incorrect buffer size
    1cce33fe59f0 ath10k: Fix ath10k_wmi_tlv_op_pull_peer_stats_info() unlock without lock
    8bb054fb336f ath10k: Fix a use after free in ath10k_htc_send_bundle
    0f98e1ea970c ath9k: Fix error check in ath9k_hw_read_revisions() for PCI devices
    4b9fb2c9039a powerpc/64: Fix the definition of the fixmap area
    c5ebaca402f5 RDMA/core: Add CM to restrack after successful attachment to a device
    63c61d26e3fb RDMA/rxe: Fix a bug in rxe_fill_ip_info()
    7fe12d6db3f0 net: phy: intel-xway: enable integrated led functions
    cf49a91faa7d net: renesas: ravb: Fix a stuck issue when a lot of frames are received
    01dab91200dc net: stmmac: fix TSO and TBS feature enabling during driver open
    64753ac1e43e nfp: devlink: initialize the devlink port attribute "lanes"
    e606073b77a3 crypto: ccp: Detect and reject "invalid" addresses destined for PSP
    4fa28c807da5 mt76: mt7615: fix memleak when mt7615_unregister_device()
    9ed951f41643 net: davinci_emac: Fix incorrect masking of tx and rx error channel
    0ce6052802be net: marvell: prestera: fix port event handling on init
    b605673b523f vsock/virtio: free queued packets when closing socket
    5231d17eb9d0 sfc: ef10: fix TX queue lookup in TX event handling
    7459bb594328 ALSA: usb: midi: don't return -ENOMEM when usb_urb_ep_type_check fails
    312c5ce34942 RDMA/i40iw: Fix error unwinding when i40iw_hmc_sd_one fails
    45b84abb47a9 RDMA/cxgb4: add missing qpid increment
    da54cc254939 gro: fix napi_gro_frags() Fast GRO breakage due to IP alignment check
    257f38e78aa3 net: ethernet: ixp4xx: Set the DMA masks explicitly
    78d8b34751cf libbpf: Initialize the bpf_seq_printf parameters array field by field
    b9e719698fc4 vsock/vmci: log once the failed queue pair allocation
    bc2e5321d7f1 netfilter: nftables_offload: special ethertype handling for VLAN
    a7eb38aacc81 netfilter: nftables_offload: VLAN id needs host byteorder in flow dissector
    cf2de861b279 netfilter: nft_payload: fix C-VLAN offload support
    1dd5ac62c0d4 mwl8k: Fix a double Free in mwl8k_probe_hw
    87299aad6278 i2c: mediatek: Fix wrong dma sync flag
    232598e99fad i2c: sh7760: fix IRQ error path
    d204db4fe6ac wlcore: fix overlapping snprintf arguments in debugfs
    c0aa320ac617 rtlwifi: 8821ae: upgrade PHY and RF parameters
    e9bd1af4c038 KVM: x86: dump_vmcs should not assume GUEST_IA32_EFER is valid
    bf6476152a0a powerpc/smp: Reintroduce cpu_core_mask
    af39f070c8b0 powerpc/pseries: extract host bridge from pci_bus prior to bus removal
    8dfd7329ad0b MIPS: pci-legacy: stop using of_pci_range_to_resource
    cabed6027a5b drm/amd/pm: fix error code in smu_set_power_limit()
    486642baea69 perf beauty: Fix fsconfig generator
    0df2770ad33b iommu/amd: Put newline after closing bracket in warning
    a1c1de90cd28 drm/i915/gvt: Fix error code in intel_gvt_init_device()
    2b3ae007c639 net/packet: remove data races in fanout operations
    3a1c395703be net/packet: make packet_fanout.arr size configurable up to 64K
    d10c5162b493 net/mlx5: Fix bit-wise and with zero
    d97d22bda17a ASoC: ak5558: correct reset polarity
    c1f980961133 powerpc/xive: Fix xmon command "dxi"
    e2724bed6481 powerpc/xive: Drop check on irq_data in xive_core_debug_show()
    a38b77899c2c i2c: sh7760: add IRQ check
    4b8177766a8b i2c: rcar: add IRQ check
    1ac4f7a26017 i2c: rcar: protect against supurious interrupts on V3U
    11e2b2b6f6b9 i2c: rcar: make sure irq is not threaded on Gen2 and earlier
    f41d2bfef538 i2c: mlxbf: add IRQ check
    c6eea11b5cb6 i2c: jz4780: add IRQ check
    ab6d6cae0aa1 i2c: emev2: add IRQ check
    6f291ab1776e i2c: cadence: add IRQ check
    c977426db644 i2c: xiic: fix reference leak when pm_runtime_get_sync fails
    c323b270a52a i2c: stm32f7: fix reference leak when pm_runtime_get_sync fails
    e547640cee79 i2c: sprd: fix reference leak when pm_runtime_get_sync fails
    8c0a2009fb20 i2c: omap: fix reference leak when pm_runtime_get_sync fails
    3a0cdd336d92 i2c: imx: fix reference leak when pm_runtime_get_sync fails
    cc49d2064142 i2c: imx-lpi2c: fix reference leak when pm_runtime_get_sync fails
    e80ae8bde412 i2c: img-scb: fix reference leak when pm_runtime_get_sync fails
    30410519328c i2c: cadence: fix reference leak when pm_runtime_get_sync fails
    b64415c6b347 RDMA/rtrs-clt: destroy sysfs after removing session from active list
    6a07e5e39d4f RDMA/srpt: Fix error return code in srpt_cm_req_recv()
    4601bcc6410c net: thunderx: Fix unintentional sign extension issue
    6a61307e58ab cxgb4: Fix unintentional sign extension issues
    52fd8005a239 RDMA/bnxt_re: Fix error return code in bnxt_qplib_cq_process_terminal()
    afb738b74447 IB/hfi1: Fix error return code in parse_platform_config()
    a12d75f5dcfb RDMA/qedr: Fix error return code in qedr_iw_connect()
    0f8528c78fc8 ovl: invalidate readdir cache on changes to dir with origin
    082fa65bf60a KVM: PPC: Book3S HV P9: Restore host CTRL SPR after guest exit
    de4e60382b90 mt76: mt7663s: fix the possible device hang in high traffic
    188dfc470263 mt76: mt7663s: make all of packets 4-bytes aligned in sdio tx aggregation
    bf08637d32e6 mt76: mt7915: fix mib stats counter reporting to mac80211
    0b39be51626d mt76: mt7615: fix mib stats counter reporting to mac80211
    2da92db47f07 mt76: mt7915: fix aggr len debugfs node
    4e7914ce2330 mt76: mt7915: fix tx skb dma unmap
    75bc5f779a76 mt76: mt7615: fix tx skb dma unmap
    3443c54c4171 mt7601u: fix always true expression
    00792f31a330 rtw88: Fix an error code in rtw_debugfs_set_rsvd_page()
    80cff3e11670 xfs: fix return of uninitialized value in variable error
    b07520a55f10 perf vendor events amd: Fix broken L2 Cache Hits from L2 HWPF metric
    08c75d4b7682 mac80211: bail out if cipher schemes are invalid
    e00f32c2c97b powerpc: iommu: fix build when neither PCI or IBMVIO is set
    8ce329c68983 powerpc/perf: Fix PMU constraint check for EBB events
    84c0762633f2 powerpc/64s: Fix pte update for kernel memory on radix
    8fac4bd3674f IB/hfi1: Use kzalloc() for mmu_rb_handler allocation
    f9e9df72dc08 liquidio: Fix unintented sign extension of a left shift of a u16
    c87df56d28a6 ASoC: simple-card: fix possible uninitialized single_cpu local variable
    325e8f9edf72 KVM: arm64: Initialize VCPU mdcr_el2 before loading it
    348f68ae40c8 HID: lenovo: Map mic-mute button to KEY_F20 instead of KEY_MICMUTE
    9b14027e4cc2 HID: lenovo: Check hid_get_drvdata() returns non NULL in lenovo_event()
    5ccdc6dd6266 HID: lenovo: Fix lenovo_led_set_tp10ubkbd() error handling
    29bfd0446a2c HID: lenovo: Use brightness_set_blocking callback for setting LEDs brightness
    716132e00ce1 ALSA: usb-audio: Add error checks for usb_driver_claim_interface() calls
    e759105d459b iommu/vt-d: Invalidate PASID cache when root/context entry changed
    c848416cc05a iommu/vt-d: Remove WO permissions on second-level paging entries
    416fa531c816 iommu/vt-d: Preset Access/Dirty bits for IOVA over FL
    32737c3a2669 iommu/vt-d: Report the right page fault address
    eb0530d71c78 iommu/vt-d: Report right snoop capability when using FL for IOVA
    620aa5821aaa iommu: Fix a boundary issue to avoid performance drop
    c96f7eb59b7e iommu/vt-d: Don't set then clear private data in prq_event_thread()
    e0c7b956162b mips: bmips: fix syscon-reboot nodes
    3cf9fac71b79 net: hns3: Limiting the scope of vector_ring_chain variable
    db574a60c482 nfc: pn533: prevent potential memory corruption
    a16f02187d9d RDMA/core: Fix corrupted SL on passive side
    556e75a0ae03 bug: Remove redundant condition check in report_bug
    faba97afdbb9 net/tipc: fix missing destroy_workqueue() on error in tipc_crypto_start()
    fd26f3a07e73 powerpc/pseries: Only register vio drivers if vio bus exists
    4877c4a52339 udp: never accept GSO_FRAGLIST packets
    c45cb22a5500 net: phy: lan87xx: fix access to wrong register of LAN87xx
    897c095c7e9e ALSA: core: remove redundant spin_lock pair in snd_card_disconnect
    afb3416c4fef gpio: guard gpiochip_irqchip_add_domain() with GPIOLIB_IRQCHIP
    9becf957e0b0 MIPS/bpf: Enable bpf_probe_read{, str}() on MIPS again
    19c990c9fad3 powerpc: Fix HAVE_HARDLOCKUP_DETECTOR_ARCH build configuration
    499b3ceb17ad IB/isert: Fix a use after free in isert_connect_request
    78f537c0054a RDMA/mlx5: Fix drop packet rule in egress table
    4ff081701b3d iommu/arm-smmu-v3: add bit field SFM into GERROR_ERR_MASK
    9681d50a70b2 ASoC: wm8960: Remove bitclk relax condition in wm8960_configure_sysclk
    0f69f9596ba0 MIPS: loongson64: fix bug when PAGE_SIZE > 16KB
    da40d5fec5d7 pinctrl: pinctrl-single: fix pcs_pin_dbg_show() when bits_per_mux is not zero
    353fcebf49e2 pinctrl: pinctrl-single: remove unused parameter
    a273c27d7255 inet: use bigger hash table for IP ID generation
    6b4b3b84049f ima: Fix the error code for restoring the PCR value
    536175f0065c MIPS: fix local_irq_{disable,enable} in asmmacro.h
    4c45556db31c powerpc/prom: Mark identical_pvr_fixup as __init
    494327b777f6 powerpc/fadump: Mark fadump_calculate_reserve_size as __init
    454fb207476b libbpf: Add explicit padding to btf_dump_emit_type_decl_opts
    87520507b1ae selftests/bpf: Re-generate vmlinux.h and BPF skeletons if bpftool changed
    ee06efc811ea iommu/vt-d: Reject unsupported page request modes
    b60e13c30688 iommu: Check dev->iommu in iommu_dev_xxx functions
    3d15bf2b2c93 bpftool: Fix maybe-uninitialized warnings
    b1ed7a571750 libbpf: Add explicit padding to bpf_xdp_set_link_opts
    f72e3d81c622 net: lapbether: Prevent racing when checking whether the netif is running
    7cc0ba67883c Bluetooth: avoid deadlock between hci_dev->lock and socket lock
    5cce890e5dc6 KVM: x86/mmu: Retry page faults that hit an invalid memslot
    cd6e679b8d1d wilc1000: write value to WILC_INTR2_ENABLE register
    0d74db145787 RDMA/mlx5: Fix mlx5 rates to IB rates map
    4ebb3b797a63 ASoC: Intel: Skylake: Compile when any configuration is selected
    5fb733e250c0 ASoC: Intel: boards: sof-wm8804: add check for PLL setting
    b3222026dde7 perf symbols: Fix dso__fprintf_symbols_by_name() to return the number of printed chars
    56027a2e75e6 HID: plantronics: Workaround for double volume key presses
    613f9d1f1587 xsk: Respect device's headroom and tailroom on generic xmit path
    5378c92425f3 drivers/block/null_blk/main: Fix a double free in null_init.
    94f1bdf01b39 sched/debug: Fix cgroup_path[] serialization
    cbbc13b115b8 io_uring: fix overflows checks in provide buffers
    db4645fbae17 perf/amd/uncore: Fix sysfs type mismatch
    c8a54b4d6657 x86/events/amd/iommu: Fix sysfs type mismatch
    d5149a487f2d HSI: core: fix resource leaks in hsi_add_client_from_dt()
    38c1f8ebb373 media: cedrus: Fix H265 status definitions
    a11497b3bb75 nvme-pci: don't simple map sgl when sgls are disabled
    b2c55f81c1d1 nvmet-tcp: fix a segmentation fault during io parsing error
    2842b91ac7a5 mfd: stm32-timers: Avoid clearing auto reload register
    cadbba5ec895 mailbox: sprd: Introduce refcnt when clients requests/free channels
    b42ec774db50 scsi: ibmvfc: Fix invalid state machine BUG_ON()
    5129ec347a89 scsi: sni_53c710: Add IRQ check
    79ee30433357 scsi: sun3x_esp: Add IRQ check
    18e729d21f26 scsi: jazz_esp: Add IRQ check
    7d81167e513f scsi: hisi_sas: Fix IRQ checks
    aa83f32d40e2 scsi: ufs: ufshcd-pltfrm: Fix deferred probing
    4e5e08975521 scsi: pm80xx: Fix potential infinite loop
    a613887c4126 scsi: pm80xx: Increase timeout for pm80xx mpi_uninit_check()
    d3d3735858e0 clk: uniphier: Fix potential infinite loop
    c360228ecfb1 drm/radeon: Fix a missing check bug in radeon_dp_mst_detect()
    a6d56760eaba drm/amd/display: use GFP_ATOMIC in dcn20_resource_construct
    3968d95f3116 clk: qcom: apss-ipq-pll: Add missing MODULE_DEVICE_TABLE
    edc6a44bcc49 clk: qcom: a53-pll: Add missing MODULE_DEVICE_TABLE
    a6596d71a635 drm: xlnx: zynqmp: fix a memset in zynqmp_dp_train()
    fc076f40c859 clk: zynqmp: pll: add set_pll_mode to check condition in zynqmp_pll_enable
    9c91a014a3b5 clk: zynqmp: move zynqmp_pll_set_mode out of round_rate callback
    b29d6a435e0f vfio/mdev: Do not allow a mdev_type to have a NULL parent pointer
    87856f9af04e vfio/pci: Re-order vfio_pci_probe()
    dad86dd76b8b vfio/pci: Move VGA and VF initialization to functions
    daa72300c996 vfio/fsl-mc: Re-order vfio_fsl_mc_probe()
    d0702c665e6b media: v4l2-ctrls.c: fix race condition in hdl->requests list
    2d49873b49dc media: i2c: imx219: Balance runtime PM use-count
    0050c9794135 media: i2c: imx219: Move out locking/unlocking of vflip and hflip controls from imx219_set_stream
    59dd4fe0ae03 nvme: retrigger ANA log update if group descriptor isn't found
    20719538c49f power: supply: bq25980: Move props from battery node
    9e33e261b4d6 clk: imx: Fix reparenting of UARTs not associated with stdout
    60ade0d56b06 nvmet-tcp: fix incorrect locking in state_change sk callback
    a3ea59d09525 nvme-tcp: block BH in sk state_change sk callback
    7456cc7c9fd5 seccomp: Fix CONFIG tests for Seccomp_filters
    4f53ef0f7841 ata: libahci_platform: fix IRQ check
    6187fa250294 sata_mv: add IRQ checks
    f87689e71604 pata_ipx4xx_cf: fix IRQ check
    d1bb0316f507 pata_arasan_cf: fix IRQ check
    0ad91dc7ea8e selftests: fix prepending $(OUTPUT) to $(TEST_PROGS)
    296da2049f2a x86/kprobes: Fix to check non boostable prefixes correctly
    e2ff41d2ee4d of: overlay: fix for_each_child.cocci warnings
    c272c735a1e2 drm/amdkfd: fix build error with AMD_IOMMU_V2=m
    d218c7a0284f media: atomisp: Fix use after free in atomisp_alloc_css_stat_bufs()
    1f743e8d582b media: m88rs6000t: avoid potential out-of-bounds reads on arrays
    96498fbb7b14 media: atomisp: Fixed error handling path
    cc4cc2fb5aaf media: [next] staging: media: atomisp: fix memory leak of object flash
    99ce023bb8bb media: docs: Fix data organization of MEDIA_BUS_FMT_RGB101010_1X30
    757d5d54ca71 media: m88ds3103: fix return value check in m88ds3103_probe()
    697af15095fc media: platform: sunxi: sun6i-csi: fix error return code of sun6i_video_start_streaming()
    00b68a747834 media: venus: core: Fix some resource leaks in the error path of 'venus_probe()'
    0741a8f2e5b0 drm/probe-helper: Check epoch counter in output_poll_execute()
    a59d01384c80 media: aspeed: fix clock handling logic
    29eb741801b3 media: rkisp1: rsz: crash fix when setting src format
    38f9456ef5a2 media: omap4iss: return error code when omap4iss_get() failed
    3ad6a6288c88 media: saa7146: use sg_dma_len when building pgtable
    a250df336aa5 media: saa7134: use sg_dma_len when building pgtable
    385470a358a6 media: vivid: fix assignment of dev->fbuf_out_flags
    7d81aff28953 rcu: Remove spurious instrumentation_end() in rcu_nmi_enter()
    95f4e9f33b70 afs: Fix updating of i_mode due to 3rd party change
    80862cbf76c2 sched/fair: Fix shift-out-of-bounds in load_balance()
    ef8a03901259 drm/mcde/panel: Inverse misunderstood flag
    403c4528e588 drm/amd/display: Fix off by one in hdmi_14_process_transaction()
    9f075cb08822 drm/stm: Fix bus_flags handling
    1de265ad3c3c drm/tilcdc: send vblank event when disabling crtc
    8e81ff6d512e soc: aspeed: fix a ternary sign expansion bug
    bbe9de67ac5b xen-blkback: fix compatibility bug with single page rings
    565e7c98d332 serial: omap: fix rs485 half-duplex filtering
    9c3e2ad20b0c serial: omap: don't disable rs485 if rts gpio is missing
    927162c7133f ttyprintk: Add TTY hangup callback.
    62bb46f51f91 usb: dwc2: Fix hibernation between host and device modes.
    7bf9d7286cf2 usb: dwc2: Fix host mode hibernation exit with remote wakeup flow.
    1789737ca9f1 PM: hibernate: x86: Use crc32 instead of md5 for hibernation e820 integrity check
    8b4d4bd1f1ce Drivers: hv: vmbus: Increase wait time for VMbus unload
    816fbc17cbe8 hwmon: (pmbus/pxe1610) don't bail out when not all pages are active
    ee9bc379e43c x86/platform/uv: Fix !KEXEC build failure
    5980a3b9c933 spi: spi-zynqmp-gqspi: return -ENOMEM if dma_map_single fails
    1231279389b5 spi: spi-zynqmp-gqspi: fix use-after-free in zynqmp_qspi_exec_op
    fa3a26b43760 spi: spi-zynqmp-gqspi: fix hang issue when suspend/resume
    24159580abcc spi: spi-zynqmp-gqspi: fix clk_enable/disable imbalance issue
    d5c7b42c9f56 Drivers: hv: vmbus: Use after free in __vmbus_open()
    b49bdd70b337 ARM: dts: aspeed: Rainier: Fix humidity sensor bus address
    fe310fd19ff1 platform/x86: pmc_atom: Match all Beckhoff Automation baytrail boards with critclk_systems DMI table
    09a119a2d4c0 security: keys: trusted: fix TPM2 authorizations
    7bb63ed88189 memory: samsung: exynos5422-dmc: handle clk_set_parent() failure
    71bcc1b4a174 memory: renesas-rpc-if: fix possible NULL pointer dereference of resource
    73585b2714db spi: spi-zynqmp-gqspi: Fix missing unlock on error in zynqmp_qspi_exec_op()
    58ee5a0de192 m68k: Add missing mmap_read_lock() to sys_cacheflush()
    99d2fa2daf6d usbip: vudc: fix missing unlock on error in usbip_sockfd_store()
    99a29899e3a3 crypto: chelsio - Read rxchannel-id from firmware
    c703ef8289dc node: fix device cleanups in error handling code
    190a2f24aed6 firmware: qcom-scm: Fix QCOM_SCM configuration
    26882a15ed23 serial: core: return early on unsupported ioctls
    1d9cde4ddf6c tty: fix return value for unsupported termiox ioctls
    eef2158b0c44 tty: Remove dead termiox code
    aa7f103da301 tty: fix return value for unsupported ioctls
    bd8fa4ef36ca tty: actually undefine superseded ASYNC flags
    45c7e5c1428f USB: cdc-acm: fix TIOCGSERIAL implementation
    4425c2f32ac9 USB: cdc-acm: fix unprivileged TIOCCSERIAL
    e38a77c48aa0 usb: gadget: r8a66597: Add missing null check on return from platform_get_resource
    ce02e58ddf86 spi: fsl-lpspi: Fix PM reference leak in lpspi_prepare_xfer_hardware()
    cbe254a1fdce spi: spi-zynqmp-gqspi: fix incorrect operating mode in zynqmp_qspi_read_op
    314469666791 spi: spi-zynqmp-gqspi: transmit dummy circles by using the controller's internal functionality
    6bd307eb518d spi: spi-zynqmp-gqspi: add mutex locking for exec_op
    c164328f57c4 spi: spi-zynqmp-gqspi: use wait_for_completion_timeout to make zynqmp_qspi_exec_op not interruptible
    36cf347de9c4 cpufreq: armada-37xx: Fix determining base CPU frequency
    2f412fba2749 cpufreq: armada-37xx: Fix driver cleanup when registration failed
    6d7507243e05 clk: mvebu: armada-37xx-periph: Fix workaround for switching from L1 to L0
    a7ddbc86e4e4 clk: mvebu: armada-37xx-periph: Fix switching CPU freq from 250 Mhz to 1 GHz
    ce4b8f58b611 cpufreq: armada-37xx: Fix the AVS value for load L1
    cccc3f18fcb5 clk: mvebu: armada-37xx-periph: remove .set_parent method for CPU PM clock
    a13b110e7c9e cpufreq: armada-37xx: Fix setting TBG parent for load levels
    1faf7e6199b8 crypto: qat - Fix a double free in adf_create_ring
    0e596b373464 crypto: sa2ul - Fix memory leak of rxd
    2c67a9333da9 crypto: sun8i-ss - Fix memory leak of pad
    2e57ffdb5696 crypto: allwinner - add missing CRYPTO_ prefix
    ac0fc2de8ad1 ACPI: CPPC: Replace cppc_attr with kobj_attribute
    e65c287c9bd8 cpuidle: Fix ARM_QCOM_SPM_CPUIDLE configuration
    8316ec23bdd0 PM: runtime: Replace inline function pm_runtime_callbacks_present()
    d97cb4365747 soc: qcom: mdt_loader: Detect truncated read of segments
    ab86e5145f61 soc: qcom: mdt_loader: Validate that p_filesz < p_memsz
    078362f495a0 spi: fsl: add missing iounmap() on error in of_fsl_spi_probe()
    c7fabe372a90 spi: Fix use-after-free with devm_spi_alloc_*
    1de36911689c clocksource/drivers/ingenic_ost: Fix return value check in ingenic_ost_probe()
    edfcc1835958 clocksource/drivers/timer-ti-dm: Add missing set_state_oneshot_stopped
    410a1da7ee0e clocksource/drivers/timer-ti-dm: Fix posted mode status check order
    0681c62d1ea2 PM / devfreq: Use more accurate returned new_freq as resume_freq
    165b71a98c5a soc: qcom: pdr: Fix error return code in pdr_register_listener
    49f71d50cb30 staging: greybus: uart: fix unprivileged TIOCCSERIAL
    2c3ce3d84e80 staging: fwserial: fix TIOCGSERIAL implementation
    e08a24ae25b3 staging: fwserial: fix TIOCSSERIAL implementation
    40d622b31baf staging: rtl8192u: Fix potential infinite loop
    ab727e601cb5 staging: comedi: tests: ni_routes_test: Fix compilation error
    16ed454e10a8 irqchip/gic-v3: Fix OF_BAD_ADDR error handling
    b1d1f644ed9e mtd: rawnand: gpmi: Fix a double free in gpmi_nand_init
    4b465576f02a iio: adc: Kconfig: make AD9467 depend on ADI_AXI_ADC symbol
    11e708c19bdd firmware: qcom_scm: Workaround lack of "is available" call on SC7180
    89d449867c5d firmware: qcom_scm: Reduce locking section for __get_convention()
    2ceac2b6c87c firmware: qcom_scm: Make __qcom_scm_is_call_available() return bool
    1dfb26df15fc m68k: mvme147,mvme16x: Don't wipe PCC timer config bits
    7c468deae306 soundwire: stream: fix memory leak in stream config error path
    aa531c6c51e7 memory: pl353: fix mask of ECC page_size config register
    0256f4205c14 driver core: platform: Declare early_platform_cleanup() prototype
    100a5c76e5d2 drivers: nvmem: Fix voltage settings for QTI qfprom-efuse
    409ab5a9d809 USB: gadget: udc: fix wrong pointer passed to IS_ERR() and PTR_ERR()
    4b6b771a6d3f usb: gadget: aspeed: fix dma map failure
    36babddef782 crypto: qat - fix error path in adf_isr_resource_alloc()
    bbd61fa05cd6 crypto: poly1305 - fix poly1305_core_setkey() declaration
    821ff1d44fe3 NFSv4.2: fix copy stateid copying for the async copy
    74bcea1a608e NFSD: Fix sparse warning in nfs4proc.c
    c9df2c56f502 arm64: dts: mediatek: fix reset GPIO level on pumpkin
    53191c1d78b1 phy: marvell: ARMADA375_USBCLUSTER_PHY should not default to y, unconditionally
    6cca7cc213d6 phy: ti: j721e-wiz: Delete "clk_div_sel" clk provider during cleanup
    1e337097fe10 soundwire: bus: Fix device found flag correctly
    00f6abd3509b bus: qcom: Put child node before return
    6a4d2f863ab8 arm64: dts: renesas: r8a779a0: Fix PMU interrupt
    7b6552719c0c mtd: require write permissions for locking and badblock ioctls
    45eb038029b9 dt-bindings: serial: stm32: Use 'type: object' instead of false for 'additionalProperties'
    42c9f39a7222 usb: gadget: s3c: Fix the error handling path in 's3c2410_udc_probe()'
    0764c91011c5 usb: gadget: s3c: Fix incorrect resources releasing
    b33c05d6bf6f fotg210-udc: Complete OUT requests on short packets
    7d5ff493219c fotg210-udc: Don't DMA more than the buffer can take
    e06d4a0c39bf fotg210-udc: Mask GRP2 interrupts we don't handle
    3515fd226ea0 fotg210-udc: Remove a dubious condition leading to fotg210_done
    36df13916de9 fotg210-udc: Fix EP0 IN requests bigger than two packets
    01c66e834024 fotg210-udc: Fix DMA on EP0 for length > max packet size
    1f50392650ae crypto: qat - ADF_STATUS_PF_RUNNING should be set after adf_dev_init
    b50967781767 crypto: qat - don't release uninitialized resources
    31e1314ceee0 crypto: ccp - fix command queuing to TEE ring buffer
    22ae303805aa usb: gadget: pch_udc: Provide a GPIO line used on Intel Minnowboard (v1)
    9f6e0fdb154c usb: gadget: pch_udc: Initialize device pointer before use
    3b6769806027 usb: gadget: pch_udc: Check for DMA mapping error
    a6e680788c62 usb: gadget: pch_udc: Check if driver is present before calling ->setup()
    7d18eb34036a usb: gadget: pch_udc: Replace cpu_to_le32() by lower_32_bits()
    501ba8bf8d35 devtmpfs: fix placement of complete() call
    bac20313210a x86/microcode: Check for offline CPUs before requesting new microcode
    05b3f9b0ac32 spi: stm32: Fix use-after-free on unbind
    75a7a8920a57 arm64: dts: renesas: r8a77980: Fix vin4-7 endpoint binding
    e8146dc804bf regulator: bd9576: Fix return from bd957x_probe()
    0390f6f1d0bc spi: stm32: drop devres version of spi_register_master
    617ec35ed51f crypto: sun8i-ss - Fix memory leak of object d when dma_iv fails to map
    75d0f3fb02d9 arm64: dts: qcom: db845c: fix correct powerdown pin for WSA881x
    a27a2590f76e arm64: dts: qcom: sm8250: fix number of pins in 'gpio-ranges'
    2feffa751958 arm64: dts: qcom: sm8150: fix number of pins in 'gpio-ranges'
    8ff9b9f4fb54 arm64: dts: qcom: sdm845: fix number of pins in 'gpio-ranges'
    3673e0fa13ec arm64: dts: qcom: sm8250: Fix timer interrupt to specify EL2 physical timer
    5faf320a2b4d arm64: dts: qcom: sm8250: Fix level triggered PMU interrupt polarity
    33ffc713dfc2 ARM: dts: stm32: fix usart 2 & 3 pinconf to wake up with flow control
    5133b4bdc98e mtd: maps: fix error return code of physmap_flash_remove()
    c55310e30de2 mtd: don't lock when recursively deleting partitions
    174fe383de80 mtd: rawnand: qcom: Return actual error code instead of -ENODEV
    ca28e6a013b2 mtd: Handle possible -EPROBE_DEFER from parse_mtd_partitions()
    705ad2d8c361 mtd: rawnand: brcmnand: fix OOB R/W with Hamming ECC
    c8f3837c51f8 mtd: rawnand: fsmc: Fix error code in fsmc_nand_probe()
    82a0cadf6fa5 spi: rockchip: avoid objtool warning
    eb949f891226 regmap: set debugfs_name to NULL after it is freed
    840a6ff50a53 usb: typec: stusb160x: fix return value check in stusb160x_probe()
    72fa4c30ac1b usb: typec: tps6598x: Fix return value check in tps6598x_probe()
    2c80fa2cbfec usb: typec: tcpci: Check ROLE_CONTROL while interpreting CC_STATUS
    98743f2b8c25 serial: stm32: fix tx_empty condition
    566901ba502f serial: stm32: add FIFO flush when port is closed
    01ce9c5d1715 serial: stm32: fix FIFO flush in startup and set_termios
    f765918b334d serial: stm32: call stm32_transmit_chars locked
    a98c0683a3be serial: stm32: fix tx dma completion, release channel
    1f308f65d851 serial: stm32: fix a deadlock in set_termios
    5eacd7fa4087 serial: stm32: fix wake-up flag handling
    ea627af3dddd serial: stm32: fix a deadlock condition with wakeup event
    69ac7b3b893c serial: stm32: fix TX and RX FIFO thresholds
    5ca0d5b2c801 serial: stm32: fix incorrect characters on console
    a44d6acfa7df serial: stm32: fix startup by enabling usart for reception
    b5e8f0adaec1 serial: stm32: Use of_device_get_match_data()
    379b007b57ca serial: stm32: fix probe and remove order for dma
    1027c8c028c0 serial: stm32: add "_usart" prefix in functions name
    ab8363f13f12 serial: stm32: fix code cleaning warnings and checks
    7c5e96e89c05 x86/platform/uv: Set section block size for hubless architectures
    e6d95f35235a arm64: dts: renesas: Add mmc aliases into board dts files
    9d48f2b903d1 ARM: dts: renesas: Add mmc aliases into R-Car Gen2 board dts files
    2ddb0b285c2c ARM: dts: s5pv210: correct fuel gauge interrupt trigger level on Fascinate family
    6d6abd5e4778 ARM: dts: exynos: correct PMIC interrupt trigger level on Snow
    0069053e21ed ARM: dts: exynos: correct PMIC interrupt trigger level on SMDK5250
    c4121dac1c14 ARM: dts: exynos: correct PMIC interrupt trigger level on Odroid X/U3 family
    2c2d05131e1b ARM: dts: exynos: correct PMIC interrupt trigger level on Midas family
    c6541b0e8891 ARM: dts: exynos: correct MUIC interrupt trigger level on Midas family
    0cc067284a3e ARM: dts: exynos: correct fuel gauge interrupt trigger level on Midas family
    41fdefb351ae ARM: dts: exynos: correct fuel gauge interrupt trigger level on GT-I9100
    dff20fb2791c memory: gpmc: fix out of bounds read and dereference on gpmc_cs[]
    1f12aaf07f61 crypto: sun8i-ss - fix result memory leak on error path
    9c0d2c3f7f72 fpga: fpga-mgr: xilinx-spi: fix error messages on -EPROBE_DEFER
    305a936af4fc firmware: xilinx: Remove zynqmp_pm_get_eemi_ops() in IS_REACHABLE(CONFIG_ZYNQMP_FIRMWARE)
    cfc0577ab19e firmware: xilinx: Add a blank line after function declaration
    ef7809681b2c firmware: xilinx: Fix dereferencing freed memory
    7f69649dad99 Revert "tools/power turbostat: adjust for temperature offset"
    0781a13c9c44 usb: gadget: pch_udc: Revert d3cb25a12138 completely
    6b922dc1d11e Revert "drm/qxl: do not run release if qxl failed to init"
    06f414e5c9f0 ovl: fix missing revert_creds() on error path
    7604978e85b8 Revert "i3c master: fix missing destroy_workqueue() on error in i3c_master_register"
    545dbb1bbeff Revert "drivers/net/wan/hdlc_fr: Fix a double free in pvc_xmit"
    96e308a36efe KVM: arm64: Fix KVM_VGIC_V3_ADDR_TYPE_REDIST_REGION read
    00824c30236b KVM: arm64: Fully zero the vcpu state on reset
    2a20592baff5 KVM: Stop looking for coalesced MMIO zones if the bus is destroyed
    03c6cccedd39 KVM: Destroy I/O bus devices on unregister failure _after_ sync'ing SRCU
    ae996824da9b KVM: arm/arm64: Fix KVM_VGIC_V3_ADDR_TYPE_REDIST read
    a947f95b6b3a KVM: nVMX: Truncate base/index GPR value on address calc in !64-bit
    6b7028de661d KVM: nVMX: Truncate bits 63:32 of VMCS field on nested check in !64-bit
    fa9b4ee318f9 KVM: nVMX: Defer the MMU reload to the normal path on an EPTP switch
    6748f80aeaf3 KVM: SVM: Inject #GP on guest MSR_TSC_AUX accesses if RDTSCP unsupported
    6ccdbedd167c KVM: SVM: Do not allow SEV/SEV-ES initialization after vCPUs are created
    ead4fb53fd42 KVM: SVM: Don't strip the C-bit from CR2 on #PF interception
    12d684302581 KVM: nSVM: Set the shadow root level to the TDP level for nested NPT
    f59c2220f6ec KVM: x86: Remove emulator's broken checks on CR0/CR3/CR4 loads
    c8b49e01a23b KVM: x86/mmu: Alloc page for PDPTEs when shadowing 32-bit NPT with 64-bit
    b4414fbc0fb3 KVM: s390: extend kvm_s390_shadow_fault to return entry pointer
    568782de5df1 KVM: s390: split kvm_s390_real_to_abs
    3804d1a4be99 KVM: s390: VSIE: fix MVPG handling for prefixing and MSO
    814cb6de6db6 s390: fix detection of vector enhancements facility 1 vs. vector packed decimal facility
    be4ed1ac92ef KVM: s390: fix guarded storage control register handling
    2705bc3f1c8d KVM: s390: split kvm_s390_logical_to_effective
    82de9ad49303 KVM: s390: VSIE: correctly handle MVPG when in VSIE
    885024a8fb20 ALSA: hda/realtek: Fix speaker amp on HP Envy AiO 32
    bead5f0e81d7 ALSA: hda/realtek: ALC285 Thinkpad jack pin quirk is unreachable
    e8a3a49001f3 ALSA: hda/realtek: Remove redundant entry for ALC861 Haier/Uniwill devices
    ccaa81e802d2 ALSA: hda/realtek: Re-order ALC662 quirk table entries
    ada3f488d576 ALSA: hda/realtek: Re-order remaining ALC269 quirk table entries
    5a58fbcf6443 ALSA: hda/realtek: Re-order ALC269 Lenovo quirk table entries
    44d57dcd8300 ALSA: hda/realtek: Re-order ALC269 Sony quirk table entries
    9f7ee3dd2c09 ALSA: hda/realtek: Re-order ALC269 ASUS quirk table entries
    7aee1f28ebd9 ALSA: hda/realtek: Re-order ALC269 Dell quirk table entries
    ba56b860da86 ALSA: hda/realtek: Re-order ALC269 Acer quirk table entries
    252feb3af9a0 ALSA: hda/realtek: Re-order ALC269 HP quirk table entries
    91d5c81bf24f ALSA: hda/realtek: Re-order ALC882 Clevo quirk table entries
    56e923d0368f ALSA: hda/realtek: Re-order ALC882 Sony quirk table entries
    8c9841ae6e8b ALSA: hda/realtek: Re-order ALC882 Acer quirk table entries
    ae5c6690e0c8 drm/amdgpu: fix concurrent VM flushes on Vega/Navi v2
    7e2459bb19b9 drm/amd/display: Reject non-zero src_y and src_x for video planes
    ce450934a00c drm: bridge/panel: Cleanup connector on bridge detach
    92b98bcc4f48 drm/dp_mst: Set CLEAR_PAYLOAD_ID_TABLE as broadcast
    7eea3eff02ed drm/dp_mst: Revise broadcast msg lct & lcr
    9b50c185d27d drm/radeon: fix copy of uninitialized variable back to userspace
    09b031b5fc18 drm/panfrost: Don't try to map pages that are already mapped
    abb79f67a909 drm/panfrost: Clear MMU irqs before handling the fault
    08f6e8a7538d drm/qxl: use ttm bo priorities
    f6c5cc6febbe drm/i915/gvt: Fix vfio_edid issue for BXT/APL
    92b82770e9ba drm/i915/gvt: Fix virtual display setup for BXT/APL
    3b999f3eac04 FDDI: defxx: Make MMIO the configuration default except for EISA
    9fa26701cd1f mt76: fix potential DMA mapping leak
    95fb153c6027 rtw88: Fix array overrun in rtw_get_tx_power_params()
    9e7fcf39e2f8 cfg80211: scan: drop entry from hidden_list on overflow
    c9996845ff67 ipw2x00: potential buffer overflow in libipw_wx_set_encodeext()
    f54f21c07fea mt76: mt7615: use ieee80211_free_txskb() in mt7615_tx_token_put()
    0035a4704557 md: Fix missing unused status line of /proc/mdstat
    b70b7ec50089 md: md_open returns -EBUSY when entering racing area
    cdcfa77a332a md: factor out a mddev_find_locked helper from mddev_find
    07e737408502 md: split mddev_find
    61b8c6efbe87 md-cluster: fix use-after-free issue when removing rdev
    569885ad7518 md/bitmap: wait for external bitmap writes to complete during tear down
    cab2e8e5997b async_xor: increase src_offs when dropping destination page
    a4c421b12cc6 x86, sched: Treat Intel SNC topology as default, COD as exception
    4c0ddc8712d9 selinux: add proper NULL termination to the secclass_map permissions
    bb27aecf06a3 misc: vmw_vmci: explicitly initialize vmci_datagram payload
    15f2a3de1a6b misc: vmw_vmci: explicitly initialize vmci_notify_bm_set_msg struct
    6115a9027e52 phy: ti: j721e-wiz: Invoke wiz_init() before of_platform_device_create()
    dbd328dfd9c1 misc: lis3lv02d: Fix false-positive WARN on various HP models
    be6566144cbd phy: cadence: Sierra: Fix PHY power_on sequence
    66c86eefa2eb sc16is7xx: Defer probe if device read fails
    814919a0739f iio:adc:ad7476: Fix remove handling
    62a560ac4acd iio:accel:adis16201: Fix wrong axis assignment that prevents loading
    5670ed4d5568 iio: inv_mpu6050: Fully validate gyro and accel scale writes
    a1ad124c8368 soc/tegra: regulators: Fix locking up when voltage-spread is out of range
    2f2d444ac496 PM / devfreq: Unlock mutex and free devfreq struct in error path
    e0b325888b53 PCI: keystone: Let AM65 use the pci_ops defined in pcie-designware-host.c
    cc178b77f8a3 PCI: xgene: Fix cfg resource mapping
    451a3e7570fc KVM: x86: Defer the MMU unload to the normal path on an global INVPCID
    14e3676e3cad PCI: Allow VPD access for QLogic ISP2722
    a22fc2eb03c4 FDDI: defxx: Bail out gracefully with unassigned PCI resource for CSR
    bd93fbc101d0 MIPS: pci-rt2880: fix slot 0 configuration
    149e1986ff6a MIPS: pci-mt7620: fix PLL lock check
    cdc7ff119a65 ASoC: tlv320aic32x4: Increase maximum register in regmap
    8d24a7195976 ASoC: tlv320aic32x4: Register clocks before registering component
    c3c86bd3d5e4 ASoC: Intel: kbl_da7219_max98927: Fix kabylake_ssp_fixup function
    7a7c14873c6d ASoC: samsung: tm2_wm5110: check of of_parse return value
    5a75dc20a92b usb: xhci-mtk: improve bandwidth scheduling with TT
    eb58724f4476 usb: xhci-mtk: remove or operator for setting schedule parameters
    048a99032d8a usb: typec: tcpm: update power supply once partner accepts
    61a4b925aa0f usb: typec: tcpm: Address incorrect values of tcpm psy for pps supply
    79cae796dbf0 usb: typec: tcpm: Address incorrect values of tcpm psy for fixed supply
    0dace269aa22 drm: bridge: fix LONTIUM use of mipi_dsi_() functions
    8a80901a061f staging: fwserial: fix TIOCSSERIAL permission check
    af5145c8efa6 tty: moxa: fix TIOCSSERIAL permission check
    6096118089c9 staging: fwserial: fix TIOCSSERIAL jiffies conversions
    eb3a757e0baa USB: serial: ti_usb_3410_5052: fix TIOCSSERIAL permission check
    767e8241dd1c staging: greybus: uart: fix TIOCSSERIAL jiffies conversions
    304efedabad2 USB: serial: usb_wwan: fix TIOCSSERIAL jiffies conversions
    f283aaa01824 tty: amiserial: fix TIOCSSERIAL permission check
    f09ec0fc67a4 tty: moxa: fix TIOCSSERIAL jiffies conversions
    eeb4fd46eb9e usb: roles: Call try_module_get() from usb_role_switch_find_by_fwnode()
    c2ef392fff9d Revert "USB: cdc-acm: fix rounding error in TIOCSSERIAL"
    7e916d0124e5 io_uring: truncate lengths larger than MAX_RW_COUNT on provide buffers
    6b7021ed36da net/nfc: fix use-after-free llcp_sock_bind/connect
    2d84ef4e6569 bluetooth: eliminate the potential race condition when removing the HCI controller
    1d7bd87a2c8d Bluetooth: verify AMP hci_chan before amp_destroy

(From OE-Core rev: 7e47d02cb34d23132b54e48bf0c86844d20d0f02)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 23:52:53 +01:00
Bruce Ashfield
6f79bfa414 linux-yocto/5.4: update to v5.4.118
Updating linux-yocto/5.4 to the latest korg -stable release that comprises
the following commits:

    16022114de98 Linux 5.4.118
    a992a283c0b7 dm rq: fix double free of blk_mq_tag_set in dev remove after table load fails
    569bae00ebbe dm integrity: fix missing goto in bitmap_flush_interval error handling
    ff8fd1e3b58a dm space map common: fix division bug in sm_ll_find_free_block()
    6fcaa44105aa dm persistent data: packed struct should have an aligned() attribute too
    c64da3294a7d tracing: Restructure trace_clock_global() to never block
    0834094c9a08 tracing: Map all PIDs to command lines
    8768085ba271 rsi: Use resume_noirq for SDIO
    55aa314a1a6c tty: fix memory leak in vc_deallocate
    943131fda33b usb: dwc2: Fix session request interrupt handler
    5bd06fc6b02c usb: dwc3: gadget: Fix START_TRANSFER link state check
    0790fdbf37ee usb: gadget/function/f_fs string table fix for multiple languages
    3b8b63be230f usb: gadget: Fix double free of device descriptor pointers
    efa99087ea69 usb: gadget: dummy_hcd: fix gpf in gadget_setup
    ffe824c0e35a media: staging/intel-ipu3: Fix race condition during set_fmt
    a03fb1e8a110 media: staging/intel-ipu3: Fix set_fmt error handling
    ff792ae52005 media: staging/intel-ipu3: Fix memory leak in imu_fmt
    ae37aee56cad media: dvb-usb: Fix memory leak at error in dvb_usb_device_init()
    e5c27c2ae2f2 media: dvb-usb: Fix use-after-free access
    9185b3b1c143 media: dvbdev: Fix memory leak in dvb_media_device_free()
    92eb134265fa ext4: fix error code in ext4_commit_super
    c599462ab9c3 ext4: do not set SB_ACTIVE in ext4_orphan_cleanup()
    9c61387630a5 ext4: fix check to prevent false positive report of incorrect used inodes
    79c95130a52a kbuild: update config_data.gz only when the content of .config is changed
    19c8c34a8b80 x86/cpu: Initialize MSR_TSC_AUX if RDTSCP *or* RDPID is supported
    8d2be04dbb17 Revert 337f13046ff0 ("futex: Allow FUTEX_CLOCK_REALTIME with FUTEX_WAIT op")
    2b040d13b411 jffs2: check the validity of dstlen in jffs2_zlib_compress()
    564b1868f229 Fix misc new gcc warnings
    8aa728568202 security: commoncap: fix -Wstringop-overread warning
    be8db260f482 fuse: fix write deadlock
    dc21b424861a dm raid: fix inconclusive reshape layout on fast raid4/5/6 table reload sequences
    6920cef604fa md/raid1: properly indicate failure when ending a failed write request
    5f2d256875a5 crypto: rng - fix crypto_rng_reset() refcounting when !CRYPTO_STATS
    63a25b715633 tpm: vtpm_proxy: Avoid reading host log when using a virtual device
    2f12258b5224 tpm: efi: Use local variable for calculating final log size
    2af501de8f43 intel_th: pci: Add Alder Lake-M support
    ab5d5c9dfd02 powerpc: fix EDEADLOCK redefinition error in uapi/asm/errno.h
    abf3573ef4e7 powerpc/eeh: Fix EEH handling for hugepages in ioremap space.
    077f526fe3cc jffs2: Fix kasan slab-out-of-bounds problem
    ad3f360ef20f Input: ili210x - add missing negation for touch indication on ili210x
    6be0e4b59314 NFSv4: Don't discard segments marked for return in _pnfs_return_layout()
    12ccd59941e3 NFS: Don't discard pNFS layout segments that are marked for return
    504632a3577a ACPI: GTDT: Don't corrupt interrupt mappings on watchdow probe failure
    490ad0a23904 openvswitch: fix stack OOB read while fragmenting IPv4 packets
    9508634b2b18 mlxsw: spectrum_mr: Update egress RIF list before route's action
    27a130638406 f2fs: fix to avoid out-of-bounds memory access
    6c9b98a66d0a ubifs: Only check replay with inode type to judge if inode linked
    310efc95c72c virtiofs: fix memory leak in virtio_fs_probe()
    2b28e26bd776 Makefile: Move -Wno-unused-but-set-variable out of GCC only block
    13a474c01353 arm64/vdso: Discard .note.gnu.property sections in vDSO
    f40bf82bf693 btrfs: fix race when picking most recent mod log operation for an old root
    2bc0131d5be0 ALSA: hda/realtek: Add quirk for Intel Clevo PCx0Dx
    45392da1bd91 ALSA: hda/realtek: fix static noise on ALC285 Lenovo laptops
    ee47a6414950 ALSA: hda/realtek: fix mic boost on Intel NUC 8
    d143cd1f8f6b ALSA: hda/realtek: GA503 use same quirks as GA401
    f2b75e357816 ALSA: usb-audio: Add dB range mapping for Sennheiser Communications Headset PC 8
    2136ecfcf3d9 ALSA: usb-audio: More constifications
    adba683c573d ALSA: usb-audio: Explicitly set up the clock selector
    93588ea2fbd4 ALSA: sb: Fix two use after free in snd_sb_qsound_build
    1666f1ac383f ALSA: hda/conexant: Re-order CX5066 quirk table entries
    b53b72ef83ff ALSA: emu8000: Fix a use after free in snd_emu8000_create_mixer
    a65181cfd953 s390/archrandom: add parameter check for s390_arch_random_generate
    ef00a39e2c78 scsi: libfc: Fix a format specifier
    02c13900477c mfd: arizona: Fix rumtime PM imbalance on error
    0d0e6dbd5fca scsi: lpfc: Remove unsupported mbox PORT_CAPABILITIES logic
    0756818b4d3b scsi: lpfc: Fix error handling for mailboxes completed in MBX_POLL mode
    f67fc8095bbe scsi: lpfc: Fix crash when a REG_RPI mailbox fails triggering a LOGO response
    82bc134b93b5 drm/amdgpu: fix NULL pointer dereference
    4b65414ea416 amdgpu: avoid incorrect %hu format string
    443fdd7b4bc3 drm/amdkfd: Fix cat debugfs hang_hws file causes system crash bug
    c49981759450 drm/msm/mdp5: Do not multiply vclk line count by 100
    336e7e758640 drm/msm/mdp5: Configure PP_SYNC_HEIGHT to double the vtotal
    b56ad4febe67 sched/fair: Ignore percpu threads for imbalance pulls
    53995be39f93 media: gscpa/stv06xx: fix memory leak
    3a855efb5426 media: dvb-usb: fix memory leak in dvb_usb_adapter_init
    4ca05c0e04d5 media: platform: sti: Fix runtime PM imbalance in regs_show
    47be6867d2d0 media: i2c: adv7842: fix possible use-after-free in adv7842_remove()
    f6b97476053d media: i2c: tda1997: Fix possible use-after-free in tda1997x_remove()
    cc265fb8e549 media: i2c: adv7511-v4l2: fix possible use-after-free in adv7511_remove()
    48304f37ce81 media: adv7604: fix possible use-after-free in adv76xx_remove()
    b76249a0a64e media: tc358743: fix possible use-after-free in tc358743_remove()
    b25324cf16f5 power: supply: s3c_adc_battery: fix possible use-after-free in s3c_adc_bat_remove()
    ac22a96c7388 power: supply: generic-adc-battery: fix possible use-after-free in gab_remove()
    e0be54070ba1 clk: socfpga: arria10: Fix memory leak of socfpga_clk on error return
    330753d38f26 media: vivid: update EDID
    71b75e6e2410 media: em28xx: fix memory leak
    cfb42c1bcce8 scsi: scsi_dh_alua: Remove check for ASC 24h in alua_rtpg()
    1a22a9fde806 scsi: smartpqi: Add new PCI IDs
    7973764b5454 scsi: smartpqi: Correct request leakage during reset operations
    7d77ac088fd7 ata: ahci: Disable SXS for Hisilicon Kunpeng920
    1f3daf672a13 mmc: sdhci-pci: Add PCI IDs for Intel LKF
    40fdaa2d149b scsi: qla2xxx: Fix use after free in bsg
    2cb8ce1d79d3 drm/vkms: fix misuse of WARN_ON
    3f67d5b6f943 scsi: qla2xxx: Always check the return value of qla24xx_get_isp_stats()
    48425948d2b6 drm/amd/display: fix dml prefetch validation
    cd148571eab0 drm/amd/display: Fix UBSAN warning for not a valid value for type '_Bool'
    e81f4da43b1d drm/amdgpu : Fix asic reset regression issue introduce by 8f211fe8ac7c4f
    0c0356ef2498 drm/amdkfd: Fix UBSAN shift-out-of-bounds warning
    888b482dbe26 drm/amdgpu: mask the xgmi number of hops reported from psp to kfd
    8d802ad28f9c power: supply: Use IRQF_ONESHOT
    bc73cb52997d media: gspca/sq905.c: fix uninitialized variable
    bec3831f5108 media: media/saa7164: fix saa7164_encoder_register() memory leak bugs
    20065ae0056a extcon: arizona: Fix various races on driver unbind
    32990455bd12 extcon: arizona: Fix some issues when HPDET IRQ fires after the jack has been unplugged
    22ee443ac784 power: supply: bq27xxx: fix power_avg for newer ICs
    5bc128a16333 media: imx: capture: Return -EPIPE from __capture_legacy_try_fmt()
    e18cee768a6e media: drivers: media: pci: sta2x11: fix Kconfig dependency on GPIOLIB
    a2e71d2d797d media: ite-cir: check for receive overflow
    78829d2ec594 scsi: target: pscsi: Fix warning in pscsi_complete_cmd()
    a27784943a96 scsi: lpfc: Fix pt2pt connection does not recover after LOGO
    52d2b4370a9d scsi: lpfc: Fix incorrect dbde assignment when building target abts wqe
    2b847dc1f662 drm/amd/display: Don't optimize bandwidth before disabling planes
    84b03026cccc drm/amd/display: Check for DSC support instead of ASIC revision
    bbf11337ded8 drm/qxl: release shadow on shutdown
    a7d964da5d17 drm: Added orientation quirk for OneGX1 Pro
    567c83104471 btrfs: convert logic BUG_ON()'s in replace_path to ASSERT()'s
    3260434687cc platform/x86: intel_pmc_core: Don't use global pmcdev in quirks
    229d2c12f1eb crypto: omap-aes - Fix PM reference leak on omap-aes.c
    5c411b92439d crypto: stm32/cryp - Fix PM reference leak on stm32-cryp.c
    e6d5c66737a9 crypto: stm32/hash - Fix PM reference leak on stm32-hash.c
    e7138a6d6a4d phy: phy-twl4030-usb: Fix possible use-after-free in twl4030_usb_remove()
    349f95248bce intel_th: Consistency and off-by-one fix
    86f4ac7ca448 tty: n_gsm: check error while registering tty devices
    665dbcf35508 usb: core: hub: Fix PM reference leak in usb_port_resume()
    b8035ac2ad08 usb: musb: fix PM reference leak in musb_irq_work()
    972639ed7b90 spi: qup: fix PM reference leak in spi_qup_remove()
    0adc0e0c87ff spi: omap-100k: Fix reference leak to master
    d6aa2fcd8566 spi: dln2: Fix reference leak to master
    99569ac2e97c xhci: fix potential array out of bounds with several interrupters
    99c82db050ae xhci: check control context is valid before dereferencing it.
    6f34d2ab34ed usb: xhci-mtk: support quirk to disable usb2 lpm
    d95748f23084 perf/arm_pmu_platform: Fix error handling
    fe53f8fd64d7 tee: optee: do not check memref size on return from Secure World
    dda2bc82891c x86/build: Propagate $(CLANG_FLAGS) to $(REALMODE_FLAGS)
    ee68dd4e502f PCI: PM: Do not read power state in pci_enable_device_flags()
    52b4b9d250d4 usb: xhci: Fix port minor revision
    c13c8354fd58 usb: dwc3: gadget: Ignore EP queue requests during bus reset
    9f3c7e0074b7 usb: gadget: f_uac1: validate input parameters
    a10fb8a1c70a usb: gadget: f_uac2: validate input parameters
    a629f6bc034a genirq/matrix: Prevent allocation counter corruption
    1b2207a19664 usb: webcam: Invalid size of Processing Unit Descriptor
    4cc65c749d58 usb: gadget: uvc: add bInterval checking for HS mode
    28da0edb56ae crypto: qat - fix unmap invalid dma address
    69f1a9702d3f crypto: api - check for ERR pointers in crypto_destroy_tfm()
    8ac79bdcc0c4 spi: ath79: remove spi-master setup and cleanup assignment
    4d6a20917fda spi: ath79: always call chipselect function
    e24b9cded4bc staging: wimax/i2400m: fix byte-order issue
    ce64f57a0fe0 bus: ti-sysc: Probe for l4_wkup and l4_cfg interconnect devices first
    4928d3b02083 fbdev: zero-fill colormap in fbcmap.c
    1c5cb86cdd7f posix-timers: Preserve return value in clock_adjtime32()
    e07d0fd8d64f intel_th: pci: Add Rocket Lake CPU support
    b6635915a3c3 btrfs: fix metadata extent leak after failure to create subvolume
    93f3339b22ba cifs: Return correct error code from smb2_get_enc_key
    e7ea8e46e3b7 irqchip/gic-v3: Do not enable irqs when handling spurious interrups
    13b0a28e6fef modules: inherit TAINT_PROPRIETARY_MODULE
    cd5a738e28ac modules: return licensing information from find_symbol
    c4698910a9af modules: rename the licence field in struct symsearch to license
    7500d4999431 modules: unexport __module_address
    ad6d414703d7 modules: unexport __module_text_address
    86de29b833e6 modules: mark each_symbol_section static
    79100b191e71 modules: mark find_symbol static
    6e38daf2e5db modules: mark ref_module static
    909a01b95120 mmc: core: Fix hanging on I/O during system suspend for removable cards
    c80524b9e418 mmc: core: Set read only for SD cards with permanent write protect bit
    42998c98ce9f mmc: core: Do a power cycle when the CMD11 fails
    1b45fcf11d28 mmc: block: Issue a cache flush only when it's enabled
    2fb68f705c56 mmc: block: Update ext_csd.cache_ctrl if it was written
    4e438ff2d967 mmc: sdhci-pci: Fix initialization of some SD cards for Intel BYT-based controllers
    698df555cc5f mmc: sdhci: Check for reset prior to DMA address unmap
    0d8941b9b2d3 mmc: uniphier-sd: Fix a resource leak in the remove function
    06e48bb631d3 mmc: uniphier-sd: Fix an error handling path in uniphier_sd_probe()
    21171ede4337 scsi: mpt3sas: Block PCI config access from userspace during reset
    77509a238547 scsi: qla2xxx: Fix crash in qla2xxx_mqueuecommand()
    e45acaddd64b spi: spi-ti-qspi: Free DMA resources
    c57af0be7722 erofs: add unsupported inode i_format check
    49fc21a47e93 mtd: rawnand: atmel: Update ecc_stats.corrected counter
    3ef6813bb3a4 mtd: spinand: core: add missing MODULE_DEVICE_TABLE()
    fd1772305002 ecryptfs: fix kernel panic with null dev_name
    e057164f8731 arm64: dts: mt8173: fix property typo of 'phys' in dsi node
    527edae13d24 arm64: dts: marvell: armada-37xx: add syscon compatible to NB clk node
    34ae75d699fd ARM: 9056/1: decompressor: fix BSS size calculation for LLVM ld.lld
    0b641b25870f ftrace: Handle commands when closing set_ftrace_filter file
    6a4f786f8eb5 ACPI: custom_method: fix a possible memory leak
    72814a94c38a ACPI: custom_method: fix potential use-after-free issue
    b691331218d0 s390/disassembler: increase ebpf disasm buffer size

(From OE-Core rev: 4d4609d4bb709db887b5302077f89a14c05b1edc)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 23:52:53 +01:00
Bruce Ashfield
9d768da0f8 linux-yocto/5.10: update to v5.10.36
Updating linux-yocto/5.10 to the latest korg -stable release that comprises
the following commits:

    72bb632d15f2 Linux 5.10.36
    14b2801ccd9b thermal/core/fair share: Lock the thermal zone while looping over instances
    c24a20912eef thermal/drivers/cpufreq_cooling: Fix slab OOB issue
    051dd0681ce1 lib/vsprintf.c: remove leftover 'f' and 'F' cases from bstr_printf()
    1cb02dc76f4c dm rq: fix double free of blk_mq_tag_set in dev remove after table load fails
    06141465e372 dm integrity: fix missing goto in bitmap_flush_interval error handling
    df893916b330 dm space map common: fix division bug in sm_ll_find_free_block()
    fcf763a80e0e dm persistent data: packed struct should have an aligned() attribute too
    a33614d52e97 tracing: Restructure trace_clock_global() to never block
    9e40ef5391df tracing: Map all PIDs to command lines
    ea6803ff2cd1 tools/power turbostat: Fix offset overflow issue in index converting
    b84c57762cef rsi: Use resume_noirq for SDIO
    b1c953dc853a tty: fix memory leak in vc_deallocate
    25e9c2c11735 usb: dwc2: Fix session request interrupt handler
    fce7bbcd07d5 usb: dwc3: core: Do core softreset when switch mode
    b624b32584ac usb: dwc3: gadget: Fix START_TRANSFER link state check
    f9ddfaa9703c usb: dwc3: gadget: Remove FS bInterval_m1 limitation
    8df75d1296d0 usb: gadget/function/f_fs string table fix for multiple languages
    ba8ce683076e usb: gadget: Fix double free of device descriptor pointers
    f12c5cca65f7 usb: gadget: dummy_hcd: fix gpf in gadget_setup
    678e76bccee4 media: venus: hfi_parser: Don't initialize parser on v1
    5d0f6f5251a3 media: v4l2-ctrls: fix reference to freed memory
    4121def7df29 media: staging/intel-ipu3: Fix race condition during set_fmt
    c6b81b897f6f media: staging/intel-ipu3: Fix set_fmt error handling
    517f6f570566 media: staging/intel-ipu3: Fix memory leak in imu_fmt
    8acb13189dae media: dvb-usb: Fix memory leak at error in dvb_usb_device_init()
    a5e9ae5a22b0 media: dvb-usb: Fix use-after-free access
    43263fd43083 media: dvbdev: Fix memory leak in dvb_media_device_free()
    378a016271ba ext4: Fix occasional generic/418 failure
    133e83b5b3b3 ext4: allow the dax flag to be set and cleared on inline directories
    72447c925ea9 ext4: fix error return code in ext4_fc_perform_commit()
    bf4ba04f0161 ext4: fix ext4_error_err save negative errno into superblock
    12905cf9e5c4 ext4: fix error code in ext4_commit_super
    7e9298f4d139 ext4: do not set SB_ACTIVE in ext4_orphan_cleanup()
    098b257563b9 ext4: fix check to prevent false positive report of incorrect used inodes
    346190959f97 ext4: annotate data race in jbd2_journal_dirty_metadata()
    9aca313726cb ext4: annotate data race in start_this_handle()
    a27aad321751 kbuild: update config_data.gz only when the content of .config is changed
    3aec683ee79b x86/cpu: Initialize MSR_TSC_AUX if RDTSCP *or* RDPID is supported
    d19a456acaec futex: Do not apply time namespace adjustment on FUTEX_LOCK_PI
    2543329485e2 Revert 337f13046ff0 ("futex: Allow FUTEX_CLOCK_REALTIME with FUTEX_WAIT op")
    d35c4c959eb4 smb3: do not attempt multichannel to server which does not support it
    796b82637528 smb3: when mounting with multichannel include it in requested capabilities
    5781c9df77a3 jffs2: check the validity of dstlen in jffs2_zlib_compress()
    54708651bc1e Fix misc new gcc warnings
    f37b9c142e1c security: commoncap: fix -Wstringop-overread warning
    bf2b941d0a6f sfc: farch: fix TX queue lookup in TX event handling
    fb791572d674 sfc: farch: fix TX queue lookup in TX flush done handling
    11e3ff7e164a exfat: fix erroneous discard when clear cluster bit
    1c525c265668 fuse: fix write deadlock
    0cd2d2577a98 dm raid: fix inconclusive reshape layout on fast raid4/5/6 table reload sequences
    661061a45e32 md/raid1: properly indicate failure when ending a failed write request
    015cc7ad58d0 crypto: rng - fix crypto_rng_reset() refcounting when !CRYPTO_STATS
    0ba942cbf52b crypto: arm/curve25519 - Move '.fpu' after '.arch'
    c9adb76c712c tpm: vtpm_proxy: Avoid reading host log when using a virtual device
    60a01ecc9f68 tpm: efi: Use local variable for calculating final log size
    4a63b2438a93 intel_th: pci: Add Alder Lake-M support
    34ceafa62f49 powerpc: fix EDEADLOCK redefinition error in uapi/asm/errno.h
    0bdcaebb1225 powerpc/32: Fix boot failure with CONFIG_STACKPROTECTOR
    f2aa64979e11 powerpc/kexec_file: Use current CPU info while setting up FDT
    481fee8295ab powerpc/eeh: Fix EEH handling for hugepages in ioremap space.
    293c30ce25e0 powerpc/powernv: Enable HAIL (HV AIL) for ISA v3.1 processors
    643243e31868 jffs2: Hook up splice_write callback
    72c282b10951 jffs2: Fix kasan slab-out-of-bounds problem
    072f787e8798 Input: ili210x - add missing negation for touch indication on ili210x
    2fafe7d5047f NFSv4: Don't discard segments marked for return in _pnfs_return_layout()
    334165d9fb69 NFS: Don't discard pNFS layout segments that are marked for return
    96fa26b74cdc NFS: fs_context: validate UDP retrans to prevent shift out-of-bounds
    e0f2d86481ea ACPI: GTDT: Don't corrupt interrupt mappings on watchdow probe failure
    a1478374b0bd openvswitch: fix stack OOB read while fragmenting IPv4 packets
    4248f4649bf3 mlxsw: spectrum_mr: Update egress RIF list before route's action
    9aa4602237d5 f2fs: fix to avoid out-of-bounds memory access
    39624749c52d f2fs: fix error handling in f2fs_end_enable_verity()
    50b0c0c3385d ubifs: Only check replay with inode type to judge if inode linked
    5a876a46d7b7 kcsan, debugfs: Move debugfs file creation out of early init
    d19555ff225d virtiofs: fix memory leak in virtio_fs_probe()
    1b41d4e5aa75 fs: fix reporting supported extra file attributes for statx()
    dc4b67baba3b Makefile: Move -Wno-unused-but-set-variable out of GCC only block
    0f9055936668 arm64/vdso: Discard .note.gnu.property sections in vDSO
    1d852d6bb4d4 btrfs: fix race when picking most recent mod log operation for an old root
    b24f0e381036 tools/power/turbostat: Fix turbostat for AMD Zen CPUs
    d1ca3d2c4fd5 ALSA: hda/realtek: Add quirk for Intel Clevo PCx0Dx
    a9d0f7c14789 ALSA: hda/realtek: fix static noise on ALC285 Lenovo laptops
    3c8a599bc951 ALSA: hda/realtek - Headset Mic issue on HP platform
    871234a6ad4c ALSA: hda/realtek: fix mic boost on Intel NUC 8
    13ff604c79a0 ALSA: hda/realtek: GA503 use same quirks as GA401
    970fbbee55bc ALSA: hda/realtek: fix mute/micmute LEDs for HP ProBook 445 G7
    12fea3cb2277 ALSA: usb-audio: Add dB range mapping for Sennheiser Communications Headset PC 8
    ad7736cebf4d ALSA: usb-audio: Explicitly set up the clock selector
    cc427a507f29 ALSA: sb: Fix two use after free in snd_sb_qsound_build
    1ce8212e80f9 ALSA: hda/conexant: Re-order CX5066 quirk table entries
    9b7388931fbb ALSA: emu8000: Fix a use after free in snd_emu8000_create_mixer
    443467bd6240 power: supply: cpcap-battery: fix invalid usage of list cursor
    a15f68a5d55c sched,psi: Handle potential task count underflow bugs more gracefully
    a32a2d831de0 s390/archrandom: add parameter check for s390_arch_random_generate
    338a87230228 block/rnbd-clt: Fix missing a memory free when unloading the module
    ae7fe4794da2 sched,fair: Alternative sched_slice()
    94902ee2996a perf: Rework perf_event_exit_event()
    2c4de79e9a09 scsi: libfc: Fix a format specifier
    97a81d4051c3 mfd: arizona: Fix rumtime PM imbalance on error
    14c7e3f5bed5 mfd: da9063: Support SMBus and I2C mode
    d7ec1dab6be7 mfd: intel-m10-bmc: Fix the register access range
    c8fe9ef530e9 scsi: lpfc: Remove unsupported mbox PORT_CAPABILITIES logic
    cc42ea42e250 scsi: lpfc: Fix error handling for mailboxes completed in MBX_POLL mode
    1ac2b3720f61 scsi: lpfc: Fix crash when a REG_RPI mailbox fails triggering a LOGO response
    56488df9f4bc drm/amdgpu: fix NULL pointer dereference
    d721702f8a82 drm/amd/display: Try YCbCr420 color when YCbCr444 fails
    f26f33a40952 amdgpu: avoid incorrect %hu format string
    a98a90048853 drm/amdkfd: Fix cat debugfs hang_hws file causes system crash bug
    081cec78467f drm/amd/display: Fix UBSAN: shift-out-of-bounds warning
    cc6215d94de9 drm/amd/display: Fix debugfs link_settings entry
    bcefa89b3e48 drm/radeon/ttm: Fix memory leak userptr pages
    14637a8dfe4f drm/amdgpu/ttm: Fix memory leak userptr pages
    6e4ae9b0eb23 drm/msm/mdp5: Do not multiply vclk line count by 100
    79f701ec9efa drm/msm/mdp5: Configure PP_SYNC_HEIGHT to double the vtotal
    2f5f4cce496e sched/fair: Ignore percpu threads for imbalance pulls
    fded2096b153 media: gscpa/stv06xx: fix memory leak
    f8f2b7ebe03a media: dvb-usb: fix memory leak in dvb_usb_adapter_init
    1b61ad26af55 media: sun8i-di: Fix runtime PM imbalance in deinterlace_start_streaming
    810cf54025b7 media: platform: sti: Fix runtime PM imbalance in regs_show
    67a97525dd6e media: i2c: adv7842: fix possible use-after-free in adv7842_remove()
    c8e7e6e1780c media: i2c: tda1997: Fix possible use-after-free in tda1997x_remove()
    3f9e0eb06258 media: i2c: adv7511-v4l2: fix possible use-after-free in adv7511_remove()
    651ad9e04f75 media: adv7604: fix possible use-after-free in adv76xx_remove()
    8d3ae83d6344 media: tc358743: fix possible use-after-free in tc358743_remove()
    a931c5791b5e power: supply: s3c_adc_battery: fix possible use-after-free in s3c_adc_bat_remove()
    ccb098c053dc power: supply: generic-adc-battery: fix possible use-after-free in gab_remove()
    932329941ca8 clk: socfpga: arria10: Fix memory leak of socfpga_clk on error return
    573bbb6f80f1 drm/msm/dp: Fix incorrect NULL check kbot warnings in DP driver
    4066456bb2de media: vivid: update EDID
    6fef73a039da media: em28xx: fix memory leak
    ed7ab208cc2e scsi: scsi_dh_alua: Remove check for ASC 24h in alua_rtpg()
    486e974358e7 scsi: smartpqi: Add new PCI IDs
    c3187412d9c7 scsi: smartpqi: Correct request leakage during reset operations
    bc05560dd756 scsi: smartpqi: Use host-wide tag space
    dc655d743c2b power: supply: cpcap-charger: Add usleep to cpcap charger to avoid usb plug bounce
    a669817a3384 selftests/resctrl: Fix checking for < 0 for unsigned values
    726d3185b89a selftests/resctrl: Fix incorrect parsing of iMC counters
    19eaad1400ea selftests/resctrl: Use resctrl/info for feature detection
    0ccead50c386 selftests/resctrl: Fix missing options "-n" and "-p"
    cd29eef12771 selftests/resctrl: Clean up resctrl features check
    6ef95f0b80ec selftests/resctrl: Fix compilation issues for other global variables
    cf99daf7c3a2 selftests/resctrl: Fix compilation issues for global variables
    078d3d75dd4c selftests/resctrl: Enable gcc checks to detect buffer overflows
    9ec74da2ac4c nvmet: return proper error code from discovery ctrl
    7f9757005cf5 drm/komeda: Fix bit check to import to value of proper type
    5e8b58e27ea8 ata: ahci: Disable SXS for Hisilicon Kunpeng920
    c753c1a77e7a mmc: sdhci-brcmstb: Remove CQE quirk
    fdd04d1c8336 mmc: sdhci-pci: Add PCI IDs for Intel LKF
    79315ebff432 mmc: sdhci-esdhc-imx: validate pinctrl before use it
    47ac226199f0 scsi: qla2xxx: Fix use after free in bsg
    1d7935fd022d drm/vkms: fix misuse of WARN_ON
    57fa6a6a998c scsi: qla2xxx: Always check the return value of qla24xx_get_isp_stats()
    298778681c10 drm/amd/display: fix dml prefetch validation
    dd5d6042e5d2 drm/amd/display: DCHUB underflow counter increasing in some scenarios
    9cc76f29b9e5 drm/amd/display: Fix UBSAN warning for not a valid value for type '_Bool'
    729b92e68b8e drm/amd/pm: fix workload mismatch on vega10
    7cb855dfe5f0 drm/amdgpu : Fix asic reset regression issue introduce by 8f211fe8ac7c4f
    1874b0ef1426 drm/amdkfd: Fix UBSAN shift-out-of-bounds warning
    7b3eb98a3ef4 drm/amdgpu: mask the xgmi number of hops reported from psp to kfd
    61c1ddd29f87 backlight: qcom-wled: Fix FSC update issue for WLED5
    918a45b65365 backlight: qcom-wled: Use sink_addr for sync toggle
    983d10e59fb4 power: supply: Use IRQF_ONESHOT
    80ba39ec7cc9 media: gspca/sq905.c: fix uninitialized variable
    6a3edc1a5e17 media: media/saa7164: fix saa7164_encoder_register() memory leak bugs
    087c2bffb4e9 extcon: arizona: Fix various races on driver unbind
    b7d2e5097f18 extcon: arizona: Fix some issues when HPDET IRQ fires after the jack has been unplugged
    8ff0d8a0904b power: supply: bq27xxx: fix power_avg for newer ICs
    7bb783ec9e0e atomisp: don't let it go past pipes array
    12b4b2855024 media: imx: capture: Return -EPIPE from __capture_legacy_try_fmt()
    f3dd6c47c493 media: drivers: media: pci: sta2x11: fix Kconfig dependency on GPIOLIB
    b5261590f309 media: ite-cir: check for receive overflow
    3a2270dd3f09 scsi: target: pscsi: Fix warning in pscsi_complete_cmd()
    09a27d662006 kvfree_rcu: Use same set of GFP flags as does single-argument
    661af9371c32 sched/pelt: Fix task util_est update filtering
    b168fffa3821 drm/amdgpu: Fix some unload driver issues
    5b62053e762c scsi: lpfc: Fix pt2pt connection does not recover after LOGO
    7382825b068e scsi: lpfc: Fix incorrect dbde assignment when building target abts wqe
    b814402fdf37 drm/amd/display/dc/dce/dce_aux: Remove duplicate line causing 'field overwritten' issue
    500ec98998c2 drm/amdgpu/display: buffer INTERRUPT_LOW_IRQ_CONTEXT interrupt work
    bd9477319714 drm/amd/display: Don't optimize bandwidth before disabling planes
    6b2132f50d9f drm/amd/display: Check for DSC support instead of ASIC revision
    01e03a661872 drm/ast: fix memory leak when unload the driver
    100e35484682 drm/amd/display: changing sr exit latency
    2c518667f953 drm/ast: Fix invalid usage of AST_MAX_HWC_WIDTH in cursor atomic_check
    6f64be8f5211 drm/qxl: release shadow on shutdown
    423fb866b3fc drm/qxl: do not run release if qxl failed to init
    6228456ceb1a drm: Added orientation quirk for OneGX1 Pro
    9c60c881d662 btrfs: convert logic BUG_ON()'s in replace_path to ASSERT()'s
    f32b84d7c977 btrfs: do proper error handling in btrfs_update_reloc_root
    224c654a2eca btrfs: do proper error handling in create_reloc_root
    c5aa9ea54a00 spi: sync up initial chipselect state
    b82e8f0bb028 platform/x86: intel_pmc_core: Don't use global pmcdev in quirks
    5d60792d1292 crypto: omap-aes - Fix PM reference leak on omap-aes.c
    92894b185321 crypto: sa2ul - Fix PM reference leak in sa_ul_probe()
    4e7ae0cfaca9 crypto: stm32/cryp - Fix PM reference leak on stm32-cryp.c
    8a090d492f70 crypto: stm32/hash - Fix PM reference leak on stm32-hash.c
    836671775a6e crypto: sun8i-ce - Fix PM reference leak in sun8i_ce_probe()
    2264965f576f crypto: sun8i-ss - Fix PM reference leak when pm_runtime_get_sync() fails
    a16162a17417 phy: phy-twl4030-usb: Fix possible use-after-free in twl4030_usb_remove()
    df9105950755 intel_th: Consistency and off-by-one fix
    b549cc7c9ca2 tty: n_gsm: check error while registering tty devices
    8f7cdbbf61f9 usb: dwc3: gadget: Check for disabled LPM quirk
    2946f95356cc usb: core: hub: Fix PM reference leak in usb_port_resume()
    e82da9b21fed usb: musb: fix PM reference leak in musb_irq_work()
    015f3f25213e usb: gadget: tegra-xudc: Fix possible use-after-free in tegra_xudc_remove()
    0e73535a496c spi: qup: fix PM reference leak in spi_qup_remove()
    75e2b4621137 spi: omap-100k: Fix reference leak to master
    517e99f22842 spi: dln2: Fix reference leak to master
    4ddfac16b5c7 platform/x86: ISST: Account for increased timeout in some cases
    bc900a7ccdd4 tools/power/x86/intel-speed-select: Increase string size
    125b3590d1fb ARM: dts: at91: change the key code of the gpio key
    2ed4d587539e bus: mhi: core: Clear context for stopped channels from remove()
    3737cf191a80 xhci: fix potential array out of bounds with several interrupters
    98599e1045c2 xhci: check control context is valid before dereferencing it.
    2b195c32bccd xhci: check port array allocation was successful before dereferencing it
    b52b1b8c480c fpga: dfl: pci: add DID for D5005 PAC cards
    e22fd531518d usb: xhci-mtk: support quirk to disable usb2 lpm
    5c22421fb35f random: initialize ChaCha20 constants with correct endianness
    2d78ede60615 perf/arm_pmu_platform: Fix error handling
    167fecaa4311 perf/arm_pmu_platform: Use dev_err_probe() for IRQ errors
    64d579453bd6 soundwire: cadence: only prepare attached devices on clock stop
    9584ce366cc9 tee: optee: do not check memref size on return from Secure World
    e5da8b37ce34 arm64: dts: imx8mq-librem5-r3: Mark buck3 as always on
    187c001c492c soc/tegra: pmc: Fix completion of power-gate toggling
    bc24381f5768 efi/libstub: Add $(CLANG_FLAGS) to x86 flags
    8829b6ccf49f x86/boot: Add $(CLANG_FLAGS) to compressed KBUILD_CFLAGS
    fdc9c3cff9e2 x86/build: Propagate $(CLANG_FLAGS) to $(REALMODE_FLAGS)
    af79dc5ad974 ARM: dts: ux500: Fix up TVK R3 sensors
    3f571ae706da ARM: dts: BCM5301X: fix "reg" formatting in /memory node
    f38f972e14f1 kselftest/arm64: mte: Fix MTE feature detection
    d16749988d09 PCI: PM: Do not read power state in pci_enable_device_flags()
    d863389e9f2e ARM: tegra: acer-a500: Rename avdd to vdda of touchscreen node
    d9a1f62b03da kselftest/arm64: mte: Fix compilation with native compiler
    173ab4bb8cbf usb: xhci: Fix port minor revision
    45f879b29da7 usb: dwc3: gadget: Ignore EP queue requests during bus reset
    85eb84bd818f usb: gadget: f_uac1: validate input parameters
    f63390de9b43 usb: gadget: f_uac2: validate input parameters
    df7452f03b7f genirq/matrix: Prevent allocation counter corruption
    bde50f19ba24 crypto: hisilicon/sec - fixes a printing error
    6a6273a65fcd x86/sev: Do not require Hypervisor CPUID bit for SEV guests
    ba637773a9f9 usb: webcam: Invalid size of Processing Unit Descriptor
    930d586646cf usb: gadget: uvc: add bInterval checking for HS mode
    6202e708f303 crypto: qat - fix unmap invalid dma address
    92f333793a78 crypto: api - check for ERR pointers in crypto_destroy_tfm()
    298a44f38171 bus: mhi: core: Destroy SBL devices when moving to mission mode
    2e40d8cd3db5 spi: ath79: remove spi-master setup and cleanup assignment
    91629921cef9 spi: ath79: always call chipselect function
    40e02e167816 staging: wimax/i2400m: fix byte-order issue
    e160833c9fdf bus: ti-sysc: Probe for l4_wkup and l4_cfg interconnect devices first
    6af796b4ac45 cpuidle: tegra: Fix C7 idling state on Tegra114
    6f85f0497274 fbdev: zero-fill colormap in fbcmap.c
    af830b27c34d posix-timers: Preserve return value in clock_adjtime32()
    a4794be7b00b btrfs: fix race between transaction aborts and fsyncs leading to use-after-free
    af835665ddc9 intel_th: pci: Add Rocket Lake CPU support
    97f30747b22c btrfs: fix metadata extent leak after failure to create subvolume
    0c48349a6d41 x86/build: Disable HIGHMEM64G selection for M486SX
    dba16ca6f347 btrfs: handle remount to no compress during compression
    5f2adf84624e smb2: fix use-after-free in smb2_ioctl_query_info()
    8a90058752e0 cifs: detect dead connections only when echoes are enabled.
    23d7b4a8f77a cifs: fix out-of-bound memory access when calling smb3_notify() at mount point
    aaa0faa5c28a cifs: Return correct error code from smb2_get_enc_key
    7be4db5c2b59 irqchip/gic-v3: Do not enable irqs when handling spurious interrups
    44faf03f56b8 mmc: core: Fix hanging on I/O during system suspend for removable cards
    886da99e8fc4 mmc: core: Set read only for SD cards with permanent write protect bit
    140f225218cd mmc: core: Do a power cycle when the CMD11 fails
    20d6f231f8f1 mmc: block: Issue a cache flush only when it's enabled
    b1fba87e60bc mmc: block: Update ext_csd.cache_ctrl if it was written
    cdc615acade4 mmc: sdhci-tegra: Add required callbacks to set/clear CQE_EN bit
    6c43290972ed mmc: sdhci-pci: Fix initialization of some SD cards for Intel BYT-based controllers
    01db7cb746f0 mmc: sdhci: Check for reset prior to DMA address unmap
    25ac6ce65f1a mmc: uniphier-sd: Fix a resource leak in the remove function
    83e9e22ba93a mmc: uniphier-sd: Fix an error handling path in uniphier_sd_probe()
    b7a1577a1a79 scsi: mpt3sas: Block PCI config access from userspace during reset
    702cdaa2c628 scsi: qla2xxx: Fix crash in qla2xxx_mqueuecommand()
    f1cbba5ea75b spi: spi-ti-qspi: Free DMA resources
    421f24114c64 spi: stm32-qspi: fix pm_runtime usage_count counter
    dbaf435ddf97 erofs: add unsupported inode i_format check
    34ec706bf0b7 mtd: physmap: physmap-bt1-rom: Fix unintentional stack access
    706e60c19237 mtd: rawnand: atmel: Update ecc_stats.corrected counter
    907452b3b6a6 mtd: spinand: core: add missing MODULE_DEVICE_TABLE()
    cb5305ac5bac Revert "mtd: spi-nor: macronix: Add support for mx25l51245g"
    2e41cc10660e mtd: spi-nor: core: Fix an issue of releasing resources during read/write
    4c44c136f2fa fs/epoll: restore waking from ep_done_scan()
    6b5aeb69bb9f ecryptfs: fix kernel panic with null dev_name
    3ad1fb97619b arm64: dts: mt8173: fix property typo of 'phys' in dsi node
    6c2f97f3887f arm64: dts: marvell: armada-37xx: add syscon compatible to NB clk node
    011b9e1c2a18 ARM: 9056/1: decompressor: fix BSS size calculation for LLVM ld.lld
    634684d79733 ftrace: Handle commands when closing set_ftrace_filter file
    d11fdbee28af ACPI: custom_method: fix a possible memory leak
    62dc2440ebb5 ACPI: custom_method: fix potential use-after-free issue
    58a762a7f3be tpm: acpi: Check eventlog signature before using it
    3b8b6399666a vhost-vdpa: fix vm_flags for virtqueue doorbell mapping
    026499a9c2e0 s390/zcrypt: fix zcard and zqueue hot-unplug memleak
    e534a4b139a8 s390/disassembler: increase ebpf disasm buffer size
    90402b6b45f3 dyndbg: fix parsing file query without a line-range suffix
    ed9cfd60c787 nitro_enclaves: Fix stale file descriptors on failed usercopy
    a1d2bd164c1c bus: mhi: core: Sanity check values from remote device before use
    bcb80329e815 bus: mhi: core: Clear configuration from channel context during reset
    542fd3e4fde6 bus: mhi: core: Fix check for syserr at power_up

(From OE-Core rev: 86bac399136de151c2b33e715fd8d810707c431c)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 23:52:53 +01:00
Bruce Ashfield
4dc1b5240e linux-yocto/5.10: ktypes/standard: disable obsolete crypto options by default
Integrating the following commit(s) to linux-yocto/5.10.:

    ktypes/standard: disable obsolete crypto options by default

    CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE is on by default, but really
    shouldn't be on in our kernels for a safe set of baseline options.

    This is almost never used, so we disable it by default. If something
    needs it, they can turn it on in a board specific config.

(From OE-Core rev: f29be437290a960decdc2d8be8e505e8179c2f58)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 23:52:53 +01:00
Bruce Ashfield
086230f08a linux-yocto/5.4: update to v5.4.117
Updating linux-yocto/5.4 to the latest korg -stable release that comprises
the following commits:

    b5dbcd05792a Linux 5.4.117
    0ee3bfc2c31e vfio: Depend on MMU
    b246759284d6 perf/core: Fix unconditional security_locked_down() call
    a1e6a0d1e6cf ovl: allow upperdir inside lowerdir
    8198962021fd scsi: ufs: Unlock on a couple error paths
    91aa2644a3ab platform/x86: thinkpad_acpi: Correct thermal sensor allocation
    164f74391822 USB: Add reset-resume quirk for WD19's Realtek Hub
    5922dfc42ac8 USB: Add LPM quirk for Lenovo ThinkPad USB-C Dock Gen2 Ethernet
    314192f055d9 ALSA: usb-audio: Add MIDI quirk for Vox ToneLab EX
    6cede11149bf perf ftrace: Fix access to pid in array when setting a pid filter
    ad4659935e11 perf data: Fix error return code in perf_data__create_dir()
    cbc6b467610c iwlwifi: Fix softirq/hardirq disabling in iwl_pcie_gen2_enqueue_hcmd()
    c7166a529e2b avoid __memcat_p link failure
    8ba25a9ef9b9 bpf: Fix leakage of uninitialized bpf stack under speculation
    53e0db429b37 bpf: Fix masking negation logic upon negative dst register
    b0c8fe7ef797 iwlwifi: Fix softirq/hardirq disabling in iwl_pcie_enqueue_hcmd()
    43b515c52942 igb: Enable RSS for Intel I211 Ethernet Controller
    354520d3ea81 net: usb: ax88179_178a: initialize local variables before use
    55714a57f369 ACPI: x86: Call acpi_boot_table_init() after acpi_table_upgrade()
    b3041510f0fc ACPI: tables: x86: Reserve memory occupied by ACPI tables
    91b08c5319a5 mips: Do not include hi and lo in clobber list for R6

(From OE-Core rev: 0bb2a057ed02b94e6f12b0508b5d7f4a535b1ca0)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 23:52:53 +01:00
Bruce Ashfield
f94bc9ea76 linux-yocto/5.10: update to v5.10.35
Updating linux-yocto/5.10 to the latest korg -stable release that comprises
the following commits:

    f53a3a480862 Linux 5.10.35
    94c76056fc3f vfio: Depend on MMU
    4348d3b5027b perf/core: Fix unconditional security_locked_down() call
    399f9c18473c platform/x86: thinkpad_acpi: Correct thermal sensor allocation
    ac2cd82c7609 USB: Add reset-resume quirk for WD19's Realtek Hub
    d844aaa49ac8 USB: Add LPM quirk for Lenovo ThinkPad USB-C Dock Gen2 Ethernet
    59b3f88386b5 ALSA: usb-audio: Add MIDI quirk for Vox ToneLab EX
    27c1936af506 ovl: allow upperdir inside lowerdir
    71d58457a8af ovl: fix leaked dentry
    2fa0387fa2d0 nvme-pci: set min_align_mask
    f8e71c667ee1 swiotlb: respect min_align_mask
    85a5a6875ca9 swiotlb: don't modify orig_addr in swiotlb_tbl_sync_single
    25ed8827cfbf swiotlb: refactor swiotlb_tbl_map_single
    9efd5df078a7 swiotlb: clean up swiotlb_tbl_unmap_single
    1f2ef5a0f771 swiotlb: factor out a nr_slots helper
    1bbcc985d195 swiotlb: factor out an io_tlb_offset helper
    22163a8ec863 swiotlb: add a IO_TLB_SIZE define
    2e8b3b0b8e2d driver core: add a min_align_mask field to struct device_dma_parameters
    6995512a472f tools/cgroup/slabinfo.py: updated to work on current kernel
    a7c37332afa8 perf ftrace: Fix access to pid in array when setting a pid filter
    fb4c1c2e9fd1 capabilities: require CAP_SETFCAP to map uid 0
    b571a6302a64 perf data: Fix error return code in perf_data__create_dir()
    48ec949ac979 net: qrtr: Avoid potential use after free in MHI send
    2fa15d61e4cb bpf: Fix leakage of uninitialized bpf stack under speculation
    2cfa537674cd bpf: Fix masking negation logic upon negative dst register
    a41c193d004e igb: Enable RSS for Intel I211 Ethernet Controller
    2e68890993d0 net: usb: ax88179_178a: initialize local variables before use
    d3598eb3915c netfilter: conntrack: Make global sysctls readonly in non-init netns
    c239bfc2e4ac mips: Do not include hi and lo in clobber list for R6

(From OE-Core rev: 767e6755740204981e5789b7a3066eac855605e8)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 23:52:53 +01:00
Bruce Ashfield
029d331448 kernel-yocto: provide debug / summary information for metadata
It was mentioned that when developing a BSP, the information about what
definition was used, or what fragments have been applied is not obvious
and requires looking at the code.

With this change, we can trigger a full summary of the meta data gathering
phase when KCONF_AUDIT_LEVEL > 0.

Sample output follows:

   NOTE: do_kernel_metadata: for summary/debug, set KCONF_AUDIT_LEVEL > 0
   NOTE: kernel meta data summary for qemux86-64 (standard):
   NOTE:
   ======================================================================
   NOTE: BSP entry point / definition:
   /build/tmp/work/qemux86_64-poky-linux/linux-yocto/5.10.34+gitAUTOINC+bca3bfbc74_85c17ad073-r0/kernel-meta/bsp/common-pc-64/common-pc-64-standard.scc
   NOTE: Fragments from SRC_URI:
   /poky/meta-virtualization/recipes-kernel/linux/linux-yocto/xt-checksum.scc
   /poky/meta-virtualization/recipes-kernel/linux/linux-yocto/ebtables.scc
   /poky/meta-virtualization/recipes-kernel/linux/linux-yocto/vswitch.scc
   /poky/meta-virtualization/recipes-kernel/linux/linux-yocto/lxc.scc
   /poky/meta-virtualization/recipes-kernel/linux/linux-yocto/docker.scc
   /poky/meta-virtualization/recipes-kernel/linux/linux-yocto/cgroup-hugetlb.scc
   /poky/meta-virtualization/recipes-kernel/linux/linux-yocto/xen.scc
   /poky/meta-virtualization/recipes-kernel/linux/linux-yocto/kubernetes.scc
   NOTE: KERNEL_FEATURES:  features/nfsd/nfsd-enable.scc
   features/debug/printk.scc features/kernel-sample/kernel-sample.scc
   features/netfilter/netfilter.scc cfg/virtio.scc
   features/drm-bochs/drm-bochs.scc cfg/sound.scc cfg/paravirt_kvm.scc
   features/scsi/scsi-debug.scc features/gpio/mockup.scc
   features/aufs/aufs-enable.scc cfg/fs/flash_fs.scc cfg/virtio.scc
   NOTE: Final scc/cfg list:
   /build/tmp/work/qemux86_64-poky-linux/linux-yocto/5.10.34+gitAUTOINC+bca3bfbc74_85c17ad073-r0/kernel-meta/bsp/common-pc-64/common-pc-64-standard.scc
   /poky/meta-virtualization/recipes-kernel/linux/linux-yocto/xt-checksum.scc
   /poky/meta-virtualization/recipes-kernel/linux/linux-yocto/ebtables.scc
   /poky/meta-virtualization/recipes-kernel/linux/linux-yocto/vswitch.scc
   /poky/meta-virtualization/recipes-kernel/linux/linux-yocto/lxc.scc
   /poky/meta-virtualization/recipes-kernel/linux/linux-yocto/docker.scc
   /poky/meta-virtualization/recipes-kernel/linux/linux-yocto/cgroup-hugetlb.scc
   /poky/meta-virtualization/recipes-kernel/linux/linux-yocto/xen.scc
   /poky/meta-virtualization/recipes-kernel/linux/linux-yocto/kubernetes.scc
   features/nfsd/nfsd-enable.scc features/debug/printk.scc
   features/kernel-sample/kernel-sample.scc
   features/netfilter/netfilter.scc cfg/virtio.scc
   features/drm-bochs/drm-bochs.scc cfg/sound.scc cfg/paravirt_kvm.scc
   features/scsi/scsi-debug.scc features/gpio/mockup.scc
   features/aufs/aufs-enable.scc cfg/fs/flash_fs.scc cfg/virtio.scc

(From OE-Core rev: b95b11e130e91cb7c5e65f0f9a1c655bcbcbc919)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 23:52:53 +01:00
Alexander Kanavin
e897e02d21 mklibs: remove recipes and class
This is not enabled or tested by default, and has never been
ported to python 3 upstream[1], which means it doesn't work at all
with plain poky. If you need it, please put it in a separate layer
and/or modernize to work with py3.

https://salsa.debian.org/installer-team/mklibs/-/blob/master/src/mklibs

(From OE-Core rev: 908df863b419d1cad7317153101fc827e7e3a354)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 23:52:53 +01:00
Richard Purdie
c879b0797b libxcrypt-compat: upgrade 4.4.19 -> 4.4.20
(From OE-Core rev: d7eb1125e974fddd43062665bd5eb29f352832dc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 23:52:53 +01:00
Ross Burton
b96c342fbd rpm: turn Berkeley DB hard dependency into PACKAGECONFIG
In the future we hope to switch to sqlite instead of Berkeley DB, so
prepare for this by adding an (enabled by default) PACKAGECONFIG for
Berkeley DB.

(From OE-Core rev: 365f0804a0726fe4be9eb7ef3515fea2dd38bef1)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 23:52:53 +01:00
Ross Burton
d54f9cf4cf libsolv: add missing db dependency
The RPM option currently enables ENABLE_RPMDB_BDB which means libsolv
depends on db.

(From OE-Core rev: 8d6be1b9914186bca2552ae03bf9bd35ecbffeec)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 23:52:53 +01:00
Michael Halstead
ed2d99203d releases: update to include 3.2.4
Adding 3.2.4 to documentation switcher and release list.

(From yocto-docs rev: b24cddff0f1367360441e3f9ff59cbed77da28ad)

Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 12:53:08 +01:00
Ross Burton
3a461e071e cups: whitelist CVE-2021-25317
This CVE relates to bad ownership of /var/log/cups, which we don't have.

(From OE-Core rev: 0792312f3637ec160d2ef90781a8cb1f75b84940)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 12:43:00 +01:00
Robert P. J. Day
da52dce440 bitbake.conf: alphabetize contents of ASSUME_PROVIDED
Alphabetical order is always good.

(From OE-Core rev: 338834153ec2042fbe256b598753ffe492221cc4)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 12:43:00 +01:00
Richard Purdie
c206f7e984 wpebackend-fdo: upgrade 1.8.3 -> 1.8.4
(From OE-Core rev: 304cb97053eb4593a37ad3282594747b5e601bee)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 12:43:00 +01:00
Richard Purdie
169f863cf3 shaderc: upgrade 2020.5 -> 2021.0
(From OE-Core rev: 9ff9536efdc4e5cc7c9934ab739bb7a75b55fb29)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 12:43:00 +01:00
Richard Purdie
709ff9bd1c wayland-protocols: upgrade 1.20 -> 1.21
(From OE-Core rev: 590fd78550a1754ab3ea0c64510601025c13436c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 12:43:00 +01:00
Richard Purdie
16e8c05a63 sqlite3: upgrade 3.35.3 -> 3.35.5
(From OE-Core rev: a7480b206848df56fb64d9bfec9d4cdffa16efea)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 12:43:00 +01:00
Richard Purdie
7447735d6f mpg123: upgrade 1.26.5 -> 1.27.2
(From OE-Core rev: 769647f1bc857ab03c1740ae24f020ed3ca3522a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 12:43:00 +01:00
Richard Purdie
5e3580e1e1 diffoscope: upgrade 172 -> 175
(From OE-Core rev: 7b6ace9394aef54025744bdf187166049ac17b31)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 12:43:00 +01:00
Richard Purdie
a642a9a1e8 spirv-tools: upgrade 2020.7 -> 2021.1
(From OE-Core rev: 160c3c063450356738198cd2f13f9abd87bf2a93)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 12:43:00 +01:00
Richard Purdie
0bb620b18a libxkbcommon: upgrade 1.2.1 -> 1.3.0
(From OE-Core rev: a41f88496d99251ea88cf93e08f233b10580eaab)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 12:43:00 +01:00
Richard Purdie
0e9f80ed55 hdparm: upgrade 9.61 -> 9.62
(From OE-Core rev: c2270c807c4628f0abddea0a4c039acaa4b1cf67)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 12:43:00 +01:00
Richard Purdie
9ca6a18e04 zstd: upgrade 1.4.9 -> 1.5.0
(From OE-Core rev: 6de028400650c1a8f6320c46d3b191bccdfad331)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 12:43:00 +01:00
Richard Purdie
c4dacef328 libinput: upgrade 1.17.1 -> 1.17.2
(From OE-Core rev: a59063cfb23132ee5a110f1cd84cd43f8b8eea41)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 12:43:00 +01:00
Richard Purdie
726ccae31f libtirpc: upgrade 1.3.1 -> 1.3.2
(From OE-Core rev: 041c67f8366b41675bf070e0102ed04563bbf8c1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 12:43:00 +01:00
Richard Purdie
cc5c4860fe less: upgrade 581 -> 586
(From OE-Core rev: 69b5b82498a00217a55a3781d636cdd3e280586b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 12:43:00 +01:00
Richard Purdie
101dd81a62 stress-ng: upgrade 0.12.06 -> 0.12.08
(From OE-Core rev: 177ca64feee973b5d60c5601ba03042a6f073204)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 12:43:00 +01:00
Richard Purdie
600e9b6ad0 sudo: upgrade 1.9.6p1 -> 1.9.7
(From OE-Core rev: a1698056f5548285d87ebe25052c48c701f89143)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 12:43:00 +01:00
Richard Purdie
9ad80efd2a gtk+3: upgrade 3.24.28 -> 3.24.29
(From OE-Core rev: 1933012b19849befcf09b90940f00468f0da1cec)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 12:43:00 +01:00
Richard Purdie
29c0c3da49 python3-numpy: upgrade 1.20.2 -> 1.20.3
(From OE-Core rev: 759bd9cfcf753c4ef2c20411aee0301ac8b45469)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 12:43:00 +01:00
Richard Purdie
e6b682534f python3-hypothesis: upgrade 6.9.1 -> 6.12.0
(From OE-Core rev: 4499ec65592df456c60d7f0ff690a50ca55c9c01)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 12:43:00 +01:00
Richard Purdie
7965967d09 btrfs-tools: upgrade 5.12 -> 5.12.1
(From OE-Core rev: f75c02e3e067473d85b4b57d36250098ddb99dbd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 12:43:00 +01:00
Richard Purdie
9be8314df2 libjpeg-turbo: upgrade 2.0.6 -> 2.1.0
License changes were from a new author entry and changes to copyrght
years, no license change.

(From OE-Core rev: e2ddecb7ca7b35259fcce0052b40366379047935)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 12:43:00 +01:00
Richard Purdie
b34e16f839 vala: upgrade 0.52.2 -> 0.52.3
(From OE-Core rev: 8416c85539ac7ac4e13e873773f00e67304aacfa)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 12:43:00 +01:00
Richard Purdie
c3a541d23d bind: upgrade 9.16.13 -> 9.16.15
(From OE-Core rev: e938c7041a651071a995ceeb475ed4eb8fb8949a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 12:43:00 +01:00
Richard Purdie
016af160c1 python3-git: upgrade 3.1.14 -> 3.1.17
(From OE-Core rev: b56ef3af9d6afdb2208b4d3d1813241e77fe2fd8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 12:42:59 +01:00
Richard Purdie
0f60b3a7aa libnss-mdns: upgrade 0.14.1 -> 0.15
(From OE-Core rev: bef3740cfd146921d0dd8789246573e68081c80a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 12:42:59 +01:00
Richard Purdie
74267b69b3 ofono: upgrade 1.31 -> 1.32
(From OE-Core rev: c0e635c85b2d1eedcc515a89e949b8c9e43d8881)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 12:42:58 +01:00
Ross Burton
fb26a7c9b8 meson: update patch status
(From OE-Core rev: 87f0b45a307bb47df5a68d6649fe5625f2dd0775)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-17 09:53:15 +01:00
Richard Purdie
09a5d1e444 python3-jinja2: Upgrade 2.11.3 -> 3.0.0
(From OE-Core rev: 1e520a7d0602059101646f24e7e347e4117697e9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-16 08:29:59 +01:00
Richard Purdie
6e58a59f31 python3-markupsafe: Upgrade 1.1.1 -> 2.0.0
(From OE-Core rev: def6184a8f24fe8965db77511bbc65edb38942c2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-16 08:29:59 +01:00
Richard Purdie
d9aa32dbf9 qemu: Upgrade 5.2.0 -> 6.0.0
Building without PIE support seems broken upstream, enable it by default
to match the configuration others evidently use.

Tweak git submodule option to match upstream.

Drop backported/merged patches, refresh others.

(From OE-Core rev: ede1b86e663f1cafccc8aa8c35fa13ebd3f55d11)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-16 08:29:59 +01:00
Richard Purdie
a9e49336dc lttng-ust: Upgrade 2.12.1 -> 2.12.2
(From OE-Core rev: 03b9c9ab5e74c4e825a023e54fe8891f6f6cc809)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-16 08:29:59 +01:00
Bruce Ashfield
4f7ea3fef7 lttng-modules: update to v2.12.6
To support building against v5.12+ and v5.13+ kernels, bumping to the
v2.12.6 lttng-release.

We drop the previously backported patches, and bring in the following
commits:

   0d8e4ab9 Version 2.12.6
   78f56ae3 fix: adjust ranges for RHEL 8.2 and 8.3
   4c996ea7 Disable block rwbs bitwise enum in default build
   4ac46085 Disable sched_switch bitwise enum in default build
   5e22c27b Add experimental bitwise enum config option
   937d307e Add defaults to Kconfig options
   4a114d43 Sync `show_inode_state()` macro with upstream stable kernels
   3bd6ac3e fix: block: remove disk_part_iter (v5.12)
   8bbb8c9d Fix: Backport of "Fix: increment buffer offset when failing to copy from user-space"
   30cddf69 Fix: increment buffer offset when failing to copy from user-space
   4733b9ab Sync `show_inode_state()` macro with Ubuntu 4.15 kernel
   ff21ec48 fix: mm, tracing: kfree event name mismatching with provider kmem (v5.12)
   b2b02c29 Set 'stable-2.12' branch in git review config
   00b42dbf fix backport: block: add a disk_uevent helper (v5.12)
   771ff089 fix: Adjust ranges for Ubuntu 5.4.0-67 kernel
   d8933959 fix: block: add a disk_uevent helper (v5.12)
   71034df1 Fix: properly compare type enumeration
   4d879d23 compiler warning cleanup: is_signed_type: compare -1 to 1
   fead3a9c Fix: bytecode linker: validate event and field array/sequence encoding
   92cc3e7f Fix: kretprobe: null ptr deref on session destroy
   49c603ef fix: mm, tracing: record slab name for kmem_cache_free() (v5.12)
   23a2f61f Fix: filter interpreter early-exits on uninitialized value
   b3fdf78b Fix: memory leaks on event destroy

(From OE-Core rev: c2f027b8e2f842915a0ffdfd6c2c0597f3b02bce)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-16 08:29:59 +01:00
Bruce Ashfield
f98ea33f63 lttng-modules: update devupstream to v2.13-rc
To support builds against v5.13+ kernels, bumping the devupstream
to 2.13 and the 2.13-rc series.

Along with the SRCREV update, a port of the existing CONFIG_TRACEPOINTS
patch from the main Makefile to src/Kbuild is done.

The LICENSE file was part of commit [Cleanup: Move headers from toplevel
to include/lttng/], so we adjust the checksum to the new fie contents.

(From OE-Core rev: 18bf7b0eafc5331b0b33c0ae777374e24df741b8)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-16 08:29:59 +01:00
Mike Crowe
7fedc98498 libnotify: Make gtk+3 dependency optional
libnotify only requires gtk+3 for its tests. Let's disable them by
default and only enable them if "tests" is in PACKAGECONFIG. If gtk+3 is
not available then we need to declare the dependency on gdk-pixbuf
explicitly.

It looks like the tests genuinely do need some sort of desktop
environment to run, so let's maintain the ANY_OF_DISTRO_FEATURES check
added back in 3edf08b38b0af93cef0933b061349264dc86d54c.

(From OE-Core rev: da15d7cf3e6f31c92232f8dd7272ea9ee41656db)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Cc: Khem Raj <raj.khem@gmail.com>
Cc: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-16 08:29:59 +01:00
Richard Purdie
11222ce6df sstate: Handle manifest 'corruption' issue
Under certain build patterns, warnings about missing manifests can appear. These
are real issues where the manifest was removed and shouldn't have been.

Martin Jansa was able to find a reproducer of:

MACHINE=qemux86 bitbake zlib-native
echo 'PR = "r1"' >> meta/recipes-core/zlib/zlib_1.2.11.bb
MACHINE=qemux86-64 bitbake zlib-native
MACHINE=qemux86 bitbake zlib-native
<the zlib-native manifest is now removed along with the sysroot-components contents>

The code maintains a per machine list of stamps but a per PACAGE_ARCH list of
stamp/manifest/workdir mappings. The latter is only appended to for speed with
the assumption that once stamps are gone, the code wouldn't trigger.

The code only ever appends to the mapping list (for speed/efficency under lock)
meaning that multiple entries can result where the stamp/workdir differs due to
version changes but the manifest remains the same.

By switching MACHINE part way through the build, the older stamp is referenced
and the manifest is incorrectly removed as it matches an now obsolete entry in
the mapping file.

There are two possible fixes, one is to rewrite the mapping file every time
which means adding regexs, iterating and generally complicating that code. The
second option is to only use the last mapping entry in the file for a given
manifest and ignore any earlier ones. This patch implments the latter.

Also drop the stale entries if we are rewriting it.

(From OE-Core rev: 63da9a4f889c5b0e41bc8ec08abe0acea1546479)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-16 08:29:59 +01:00
zhengruoqin
c33de3dbaf sysklogd: upgrade 2.2.2 -> 2.2.3
(From OE-Core rev: a366a457bf0c990df4bb97cfc5477dbc75eaff65)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-16 08:29:59 +01:00
zhengruoqin
b05c3637ce rpcbind: upgrade 1.2.5 -> 1.2.6
refresh rpcbind_add_option_to_fix_port_number.patch

(From OE-Core rev: 11bbe1c86d5d3e446fe5ea4028bc8b3f21b98587)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-16 08:29:59 +01:00
zhengruoqin
f1b7f662c5 rng-tools: upgrade 6.11 -> 6.12
(From OE-Core rev: 5af1d25d9621020d89c1193e0f95fefa1be85642)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-16 08:29:59 +01:00
wangmy
8c0ee9a7ed vulkan-loader: upgrade 1.2.170.0 -> 1.2.176.0
(From OE-Core rev: b87917335c252a38ea63f999b9d3611ac079104b)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-16 08:29:59 +01:00
wangmy
2b79b15ef3 vulkan-tools: upgrade 1.2.170.0 -> 1.2.176.0
(From OE-Core rev: 8c864d0711a39548b69c7ea278f2d978651925e7)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-16 08:29:59 +01:00
wangmy
ae2ad4d57c vulkan-headers: upgrade 1.2.170.0 -> 1.2.176.0
(From OE-Core rev: 4ebbb906227f31548e708bd01c54407f3221c63e)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-16 08:29:59 +01:00
wangmy
4df55c95a5 vulkan-samples: update to latest revision
(From OE-Core rev: e59138cc1ee028e19b00ced57da33ab348c367cf)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-16 08:29:59 +01:00
wangmy
f8019df2b9 python3-six: upgrade 1.15.0 -> 1.16.0
(From OE-Core rev: c27ede9d77edc0a0ca71707642f19e43fe9c4e7d)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-16 08:29:59 +01:00
wangmy
eb83c19d97 python3-attrs: upgrade 20.3.0 -> 21.2.0
(From OE-Core rev: f6e624046afbbf6853c7fe409f77ecd2ab802f21)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-16 08:29:59 +01:00
Armin Kuster
ed2e3b739a bitbake: hashserver/client.py: drop unused imports
(Bitbake rev: 9dc77266085c605b108641a9d76ac4dbdc064c34)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-14 07:57:57 +01:00
Armin Kuster
c0c16809ef bitbake: hashserv/server.py: drop unused imports
remove unused vars.

(Bitbake rev: 3287d28a506f67abd192799e61ef28e74ce7002d)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-14 07:57:57 +01:00
Alexander Kanavin
37792f1410 bitbake: fetch2/wget: when checking latest versions, consider all numerical directories
Previously the regex was maching x.y, but wasn't matching x, which is a problem
e.g. here:
https://download.gnome.org/sources/epiphany/
(the new gnome version scheme adds 40-series at the end).

(Bitbake rev: c03101576f447263ea38e8464210d3a3a2c27226)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-14 07:57:57 +01:00
Mike Crowe
bac39de14e npm.bbclass: Allow nodedir to be overridden by NPM_NODEDIR
Node modules may need to be built against multiple Node
versions. Setting nodedir in the NPM configuration stops older ways of
doing this, such as setting npm_config_target and npm_config_disturl,
from working.

(From OE-Core rev: 14795ee305f3c11fcc31cc7ca815b8ff1020e29a)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-14 07:57:28 +01:00
Alexander Kanavin
436662bc4d nativesdk-meson: correctly set cpu_family
This was a warning before, but with the patch
that turns it into an error, it needs to be properly addressed.

(From OE-Core rev: b6257f3b88e788af3ee748a8a6366aab819dce3f)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-14 07:57:28 +01:00
Alexander Kanavin
74fbe5578a qemu: backport a patch to fix meson 0.58 builds
(From OE-Core rev: fe6889ed05edf2f1e4ac7b06debd4cc43ebb9607)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-14 07:57:28 +01:00
Alexander Kanavin
2077235f35 meson: update 0.57.2 -> 0.58.0
Rebase patches; dropped chunks (and cross-prop-default.patch)
have been removed upstream.

Move native-only patches to all-patches, as they're a pain to rebase
separately.

(From OE-Core rev: cb2a7dcc86d784cb9903f69570ddc05e23d36529)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-14 07:57:28 +01:00
Alexander Kanavin
6b10910b47 gstreamer1.0-plugins-base: backport a patch to fix meson 0.58 builds
(From OE-Core rev: 4e509099d1a8c22e5f592e6675dabacfe910b9b9)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-14 07:57:28 +01:00
Alexander Kanavin
830e634bbb meson.bbclass: split python routines into a separate class
This allows reusing them in nativesdk-meson without copy-pasting code.

(From OE-Core rev: f2715f5f2a56f9b660f9f0fe2933ec231a2dd8c0)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-14 07:57:27 +01:00
Alexander Kanavin
6f8cc237bf expat: upgrade 2.2.10 -> 2.3.0
Drop 0001-Add-output-of-tests-result.patch
(difficult to rebase). I have verified that ptests
still pass, and print PASS for every test. If they
start failing we can revisit what kind of output would
be beneficial.

(From OE-Core rev: ef1a76f9c130e7efaecae15ccb1d48a03fa17b9b)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-14 07:57:27 +01:00
Alexander Kanavin
e63fd638d3 gnome: drop upstream even condition from a few recipes
They have adopted the new gnome version scheme where the distinction
is no longer:
https://lwn.net/Articles/831746/

(From OE-Core rev: 7e36fe212eb6bc9a4dbe66007837ad87d8f00a7d)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-14 07:57:27 +01:00
Alexander Kanavin
035f8548fe gdk-pixbuf: rewrite the cross-build support for tests
It was scattered over four different patches, and wasn't guarded
by a configuration option. Hopefully the new patch is acceptable
to upstream.

(From OE-Core rev: 92fc28498fcb9bdcea743961729b21b7e6c6b1fa)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-14 07:57:27 +01:00
wangmy
ec94923ec7 go: upgrade 1.16.3 -> 1.16.4
(From OE-Core rev: 1e280a596293976ac835b557dcaaa56972682480)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-14 07:57:27 +01:00
Khem Raj
fd9ae730cf npth: Check for pthread_create for including lpthread
pthread_detach() is moved into libc which means this test will fail
so check for pthead_create again

[1] https://sourceware.org/git/?p=glibc.git;a=commit;h=df65f897e9501aa5b64a5cbcb101301715f2ec2f
(From OE-Core rev: e82742849e6228f892a489bfbd02c365c4a8607e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-14 07:57:27 +01:00
Trevor Gamblin
b9f5a890a5 python3: upgrade 3.9.4 -> 3.9.5
Version 3.9.5 includes a fix for CVE-2021-29921.

(From OE-Core rev: be23351f97c1a7362c0ddd240a6de0cddfca1b01)

Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-14 07:57:27 +01:00
Alexander Kanavin
9e130813ce avahi: disable gtk bits
This should greatly reduce dependency chains on the autobuilder;
the only affected recipe is remmina, where avahi support will be
disabled by default.

(From OE-Core rev: 5f68f2e72accecaad6210c71d7f1ffb069edf011)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-14 07:57:26 +01:00
Robert P. J. Day
5019cfef85 meta/lib/oe/rootfs.py: Fix typo "Restoreing" -> "Restoring"
(From OE-Core rev: 2621dbbc1181808f18ca4ae79408d0d5b557670f)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-13 18:09:38 +01:00
Robert P. J. Day
1dfd7f9a42 image.bbclass: fix comment "pacackages" -> "packages"
(From OE-Core rev: 5c5f0d21799c2bff6875ef9fdc22d11035ea3320)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-13 18:09:38 +01:00
Richard Purdie
4898e857db qemu-x86: Add commandline options to improve boot
To try and help with the inermittent rcu stalls and boot issues with qemu
add some kernel commandline options commonly used with qemu instances which
were suggested may help.

(From OE-Core rev: d75cb16ecb3a55fd7631bf7720663e4b196421ee)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-13 18:09:10 +01:00
Richard Purdie
e8997d869b qemuboot-x86: Switch to IvyBridge and q35 instead of pc
Move from 1996 to 2009 by swapping machine 'pc' for 'q35'.

Also move to a CPU which is SMP capable and doesn't have tsc bugs. IvyBridge
matches what we're using on the autobuilder.

The intent here is to try and improve on some of the intermittent autobuilder
issues we're seeing. I'm told that nobody else runs with config this old
and it could well be contributing to our issues. Having reliable testing
is key to the project and justifies updating this IMO.

(From OE-Core rev: 6d9f25782bd585e89c5aaf7046266c848f1e581b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-13 18:09:10 +01:00
Richard Purdie
34e1bea0e8 qemu: Set SMP to 4 cpus for arm/x86 only
Only qemux86* and qemuarm* support SMP with our current configurations so
rework qemu SMP enabling to account for that and only use it on the architectures
where it works.

(From OE-Core rev: ee371325ce651cc113e43bdeb5d8986d5b84a3f4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-13 18:09:10 +01:00
Alexander Kanavin
1584108bdc qemu: use 4 cores in qemu guests
Each of the cores is mapped to a thread on the host, this
should speed up things inside qemu which can take advantage of that.

(From OE-Core rev: 56f98d12a79585a4d4c459160f39403e05b620a5)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-13 18:09:10 +01:00
Ulrich Ölmann
64ba8fc55b local.conf.sample: fix typo
(From meta-yocto rev: 8d872236e713a4b26059039fb32e93e7b602bb6c)

Signed-off-by: Ulrich Ölmann <u.oelmann@pengutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-13 11:34:34 +01:00
Robert Joslyn
899da712ae btrfs-tools: Update to 5.12
Add PACKAGECONFIG for zoned block devices. Leave disabled by default, as
this requires a recent kernel.

License-Update: libbtrfsutil was relicensed to LGPLv2.1+: https://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git/commit/?id=9e30f779e3cbf12a88ebe309ee371851fdfd3aa0

(From OE-Core rev: d10b62f54c6e0f19af02bab024680462d9e4418a)

Signed-off-by: Robert Joslyn <robert.joslyn@redrectangle.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-13 11:34:15 +01:00
Martin Jansa
e7ce28c8b0 binutils: backport DWARF-5 support for gold
* DWARF-5 is now used by default with gcc-11, causing
  11.1.0/ld: internal error in format_file_lineno, at ../../gold/dwarf_reader.cc:2278
  collect2: error: ld returned 1 exit status
  in various projects (runc-opencontainers, libhybris, collada-dom)

* https://gcc.gnu.org/gcc-11/changes.html

  For targets that produce DWARF debugging information GCC now defaults to DWARF version 5
  (with the exception of VxWorks and Darwin/Mac OS X which default to version 2 and
  AIX which defaults to version 4). This can produce up to 25% more compact debug
  information compared to earlier versions.

  To take full advantage of DWARF version 5 GCC needs to be build against binutils version 2.35.2 or higher.
  When GCC is build against earlier versions of binutils GCC will still emit DWARF version 5 for
  most debuginfo data, but will generate version 4 debug line tables (even when explicitly given -gdwarf-5).

  The following debug information consumers can process DWARF version 5:

  GDB 8.0, or higher
  valgrind 3.17.0
  elfutils 0.172, or higher (for use with systemtap, dwarves/pahole, perf and libabigail)
  dwz 0.14
  Programs embedding libbacktrace are urged to upgrade to the version shipping with GCC 11.

  To make GCC 11 generate an older DWARF version use -g together with -gdwarf-2, -gdwarf-3 or -gdwarf-4.

(From OE-Core rev: d07d4d739ae17787017f771dd2068fda0e836722)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-13 11:34:15 +01:00
Ross Burton
0fc0804e4b libarchive: disable redundant libxml2 PACKAGECONFIG
An XML parser (either libxml2, or expat) is only needed by libarchive to
read/write XAR archives.  However, these also need OpenSSL enabled which
by default it is not, so XAR files were disabled and libxml2 was a build
dependency for no reason.

As XAR archives are mainly used on macOS, we can remove libxml2.

(From OE-Core rev: 363f1ee30b0e6d222943aaed8dce37a4a441a86d)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-13 11:34:14 +01:00
Martin Jansa
1e122267fd webkitgtk: fix build without opengl in DISTRO_FEATURES
(From OE-Core rev: 3b46038685c4d319ca0c88b3519cde04d615dc2a)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-13 11:34:14 +01:00
Richard Purdie
5dd7fde24f avahi: Exclude CVE-2021-26720 from cve-check
Issue only affects Debian and SUSE.

(From OE-Core rev: 72522fa1a5f3b9b2855043fe6b421886d641385f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-13 11:34:14 +01:00
Richard Purdie
41ccc827cf librsvg: Exclude CVE-2018-1000041 from cve-check
Issue only affects windows.

(From OE-Core rev: a90d3b056992346003d96765fc8639f5235cca55)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-13 11:34:14 +01:00
Richard Purdie
ac9436c81b coreutils: Exclude CVE-2016-2781 from cve-check
http://git.savannah.gnu.org/cgit/coreutils.git/commit/?id=v8.27-101-gf5d7c0842

"Given runcon is not really a sandbox command, the advice is to use
`runcon ... setsid ...` to avoid this particular issue.

(From OE-Core rev: 2d273b5aed4a5bd509ec9c68a6f451c17ec17d0c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-13 11:34:14 +01:00
Richard Purdie
b77802fb05 rpm: Exclude CVE-2021-20271 from cve-check
This is included in the release we have, it was the reason for the last rpm
point release.

(From OE-Core rev: 117feb358c81b6b852dee24268eac0a1a47c1701)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-13 11:34:14 +01:00
Bruce Ashfield
53ac441029 kern-tools: Kconfiglib: add support for bare 'modules' keyword
Bumping the SRCREV to pickup the following for the kern-tools:

    commit 6dd85ff178cd76851e2184b13e545f5a88d1be30 [kconfig: change
    "modules" from sub-option to first-level attribute] broke parsing
    in 5.13+ trees.

    We add the new location to the parser so we can support both
    types of module specifications.

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

Without this, the kernel configuration audit for 5.13+ errors
immediately.

The older "option modules" parsing has been left in the code, so that
older kernels continue to work as well.

(From OE-Core rev: ba39e42681e7e3c6fe82686a42a9ee4b519003f9)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-13 11:34:14 +01:00
Richard Purdie
944de7ea5f ovmf: Fix other reproducibility issues
When building in longer paths, the ovmf build changes in many ways. This adds a
patch addressing various causes of problems. Full details are in the patch header.

(From OE-Core rev: 9113a5815f3c682ef99fd777e35e892b2e08237f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-13 11:34:14 +01:00
Richard Purdie
8e19e48f1b ovmf: Disable lto to aid reproducibility
lto tends to break reproducibility and makes ovmf near impossible to debug
reproducibility issues in. Disable it and supress the warnings that then
generates from Werror.

(From OE-Core rev: 627b6ed763eca90192203932784872b60a65fcaa)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-13 11:34:14 +01:00
Michael Opdenacker
d4a82b30b7 manuals: reduce verbosity related to "the following" expression
(From yocto-docs rev: da9d1cfb5c084d172eff3cb10ec3631dd8266260)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-13 11:28:34 +01:00
Michael Opdenacker
f3540fc691 manuals: reduce verbosity with "worry about" expression
(From yocto-docs rev: 6c65f5f350cdc79a435deb20c48d861d9f4c5c14)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Reviewed-by: Quentin Schulz <foss@0leil.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-13 11:28:34 +01:00
Daniel Wagenknecht
e145129aaa kernel-dev: document KCONFIG_MODE
(From yocto-docs rev: 12aa6f9c6af68ea03fbb056677213b00d693cf5f)

Signed-off-by: Daniel Wagenknecht <dwagenknecht@emlix.com>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Reviewed-by: Quentin Schulz <foss@0leil.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-13 11:28:34 +01:00
Robert P. J. Day
0fc54213c2 ref-manual: delete extraneous back quote
(From yocto-docs rev: 784d39fe28436302b4df7e1ea08582d4d2f664c6)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-13 11:28:34 +01:00
Robert P. J. Day
6afc2f5737 ref-manual: delete references to dead LSB compliance
Since LSB does not seem to be relevant these days, delete mentions of
it.

(From yocto-docs rev: 5b4354e0611253b40ad58613b910b6591493a1b4)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-13 11:28:34 +01:00
Drew Moseley
6591d95eb1 manuals: fix a few incorrect option specifications.
(From yocto-docs rev: b6b218de3629d1f8fb61137e8bdcf84739cfaf67)

Signed-off-by: Drew Moseley <drew@moseleynet.net>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-13 11:28:34 +01:00
Robert P. J. Day
f3a66b53bb sdk-manual: various cleanups to intro.rst
Minutiae including grammar fixes, increased brevity and adding a
proper link to another SDK manual section.

(From yocto-docs rev: 21d6c6fcbae938c256da6e72d6ac8d2ca72d5bc0)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Reviewed-by: Quentin Schulz <foss@0leil.net>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-13 11:28:34 +01:00
Robert P. J. Day
60c081d9f8 sdk-manual: couple minor fixes in using.rst
One grammar fix, and adding two proper links to other sections.

(From yocto-docs rev: 969d4737da992e1fbca14cfbeb35bd5401698cba)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-13 11:28:34 +01:00
Khem Raj
c553b55a48 ffmpeg: Fix build on mips
configure is not able to decode, right options to compiler, it needs to
be set according to default tune manually. Fixes build issue on mips
e.g.

 {standard input}: Assembler messages:
| {standard input}:2162: Error: opcode not supported on this processor: mips32r2 (mips32r2) `dmult $22,$22'
| {standard input}:2164: Error: opcode not supported on this processor: mips32r2 (mips32r2) `dsrl $5,$5,32'
| make: *** [/mnt/b/yoe/master/build/tmp/work/mips32r2-yoe-linux/ffmpeg/4.4-r0/ffmpeg-4.4/ffbuild/common.mak:67: libavcodec/aptxenc.o] Error 1

(From OE-Core rev: b254db634fc888ae75e843c8a9108e71ffff3f77)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-12 23:06:05 +01:00
Alexander Kanavin
2153aa26e3 ffmpeg: update 4.3.2 -> 4.4
Drop mips64_cpu_detection.patch as upstream
has changed the code in a way that's difficult
to rebase. I have confirmed that builds on qemumip64 still
work, and the patch does not say clearly what was the
way to reproduce the failure it's aiming to address.

(From OE-Core rev: 7db3aed539044bed1c7d3cf7b91f55caed974fe2)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-12 23:06:05 +01:00
Richard Purdie
2d5c161021 tiff: Exclude CVE-2015-7313 from cve-check
Some fix upstream addresses the issue, it isn't clear which change this was. Our
current version doesn't have issues with the test image though so we can exclude.

(From OE-Core rev: 3874da694ae1d9de06dd003bd80705205e2b033b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-12 23:06:05 +01:00
Richard Purdie
c887238347 bluez: Exclude CVE-2020-12352 CVE-2020-24490 from cve-check
These CVEs are fixed with kernel changes and don't affect the bluez recipe.

(From OE-Core rev: 658902477840ea34d414083c4c79616bf5e999a2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-12 23:06:05 +01:00
Richard Purdie
409df45522 ghostscript: Exclude CVE-2013-6629 from cve-check
The CVE is in the jpeg sources included with ghostscript. We use our own
external jpeg library so this doesn't affect us.

(From OE-Core rev: 8556d6a6722f21af5e6f97589bec3cbd31da206c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-12 23:06:05 +01:00
Richard Purdie
4b7fae138c xinetd: Exclude CVE-2013-4342 from cve-check
We use the SUSE mirror of xinetd. The CVE fix was added to the main repo
after the latest release but is included in the version from the SUSE repo.

(From OE-Core rev: 6f587d1e1fdf8141d240160d57c9a05ff97ea510)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-12 23:06:05 +01:00
Richard Purdie
fd5f1656ae cpio: Exclude CVE-2010-4226 from cve-check
Issue applies to use of cpio in SUSE/OBS, doesn't apply to us.

(From OE-Core rev: 915b38c54a7932744a9f56713d1c6bd00a789331)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-12 23:06:05 +01:00
Richard Purdie
a6e8f4163c unzip: Exclude CVE-2008-0888 from cve-check
The patch mentioned as the fix for the CVE is applied to the 6.0 source
code. Zip versioning makes CPE entry changes hard.

(From OE-Core rev: 8917e5ae2bb44d017fc0155f16632c5decadb0bd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-12 23:06:05 +01:00
Richard Purdie
8efb104e7b openssh: Exclude CVE-2008-3844 from cve-check
CVE only applies to some distributed RHEL binaries so irrelavent to us.

(From OE-Core rev: 5d8b3ddf91050f6745a99a8abb1c3b03c35247af)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-12 23:06:05 +01:00
Richard Purdie
c6421254c5 bind: Exclude CVE-2019-6470 from cve-check
Issue only affects dhcpd with recent bind versions. We don't ship dhcpd anymore
so the issue doesn't affect us.

(From OE-Core rev: 30106ae676124ba3c0e496a4f19c919c8418b59b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-12 23:06:04 +01:00
Robert Joslyn
987b668b13 epiphany: Update to 40.1
Refresh patch and adjust version directory for new version numbering
scheme. Add new dependency on libarchive.

(From OE-Core rev: 02bce05698d905771250ab12b48d8b0e19d218cb)

Signed-off-by: Robert Joslyn <robert.joslyn@redrectangle.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-12 23:06:04 +01:00
Alejandro Hernandez Samaniego
4ba09d6a2b baremetal-helloworld: Enable RISC-V 64 port
Add support for MACHINE=qemuriscv64.

$ runqemu nographic

KERNEL: [tmp/deploy/images/qemuriscv64/baremetal-helloworld-image-qemuriscv64.bin]
MACHINE: [qemuriscv64]
FSTYPE: [bin]

runqemu - INFO - Running tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin/qemu-system-riscv64

Hello OpenEmbedded on RISC-V 64!

(From OE-Core rev: 31fde82640bf0d185eab55d2cbaf663c9faae801)

Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-12 23:06:04 +01:00
Alexander Kanavin
d875ba64e9 mesa: add lmsensors PACKAGECONFIG
(From OE-Core rev: 1b470a5fe7c74938cac7c83cd104ca25182af6cc)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-12 23:06:04 +01:00
Alexander Kanavin
c4473061f7 powertop: update 2.13 -> 2.14
Drop configure() tweaks, none of them are needed anymore, and particularly
the ncurses tweak was changing the build in a way that is not clear
(and no one remembers why it was there in the first place).

Adjust LDFLAGS as somehow -pthread isn't there --> link failures.

(From OE-Core rev: c4982ddd71ac652f9d3b879bf31bb087500fb611)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-12 23:06:04 +01:00
Alexander Kanavin
3127ef1b43 Revert "go: Use dl.google.com for SRC_URI"
This reverts commit 4118415d4b.

This was found to be unnecessary, and broke upstream version checks.

(From OE-Core rev: cee436d1eb94663f3604c80b6ad87292f6901498)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-12 23:06:03 +01:00
Richard Purdie
8dcb68f477 ovmf: Improve reproducibility by enabling prefix mapping
We want to pass ${DEBUG_PREFIX_MAP} to gcc commands and also pass in
--debug-prefix-map to nasm (we carry a patch to nasm for this). The
tools definitions are built by ovmf-native so we need to pass this in
at target build time when we know the right values.

By using determininistc file paths in the ovmf build, it removes the
opportunitity for gcc/ld to change the output binaries due to path
lengths overflowing section sizes and causing small changes in the
binary output.

This also means that if builds have reproducibility issues in future, it
becomes much easier to compare intermediate build artefacts.

(From OE-Core rev: 51f51310d6d5cced2b55bf27dbb9a5717740a206)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-11 11:54:26 +01:00
Richard Purdie
20efb29a5d openssh: Exclude CVE-2007-2768 from cve-check
We don't build/use the OPIE PAM module, exclude the CVE from this recipe.

(From OE-Core rev: 3670be602f2ace24dc49e196407efec577164050)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-11 11:54:26 +01:00
Richard Purdie
a087553fa5 logrotate: Exclude CVE-2011-1548,1549,1550 from cve-check
These CVEs apply to the way logrotate was installed on Gentoo, Debian
and SUSE, exclude from cve-check as they don't apply to OE.

(From OE-Core rev: 23643016f3b8794db772e333ff0b8f598571b628)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-11 11:54:26 +01:00
Richard Purdie
8a6a71ea4d jquery: Exclude CVE-2007-2379 from cve-check
The CVE is non-specific and depends on the users of jquery, doesn't
make sense to have this flagged against jquery as there is nothing we can
do about it.

(From OE-Core rev: 1f82843584f6d2843c5bbd2fe5dcbc654a0fbcfb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-11 11:54:26 +01:00
Richard Purdie
d2708c0b5b qemu: Exclude CVE-2018-18438 from cve-check
The issues were investigated and found not to be an issue therefore
exclude from checks.

(From OE-Core rev: ee6ee9bd489c126b99d15c1011560df2f840a6e9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-11 11:54:26 +01:00
Richard Purdie
ae3527372f qemu: Exclude CVE-2007-0998 from cve-check
The CVE applies to the built-in VNC server but we don't enable this by default.

(From OE-Core rev: d62b9974a5f3a0f462434ce2763c28a4b4bbcfc6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-11 11:54:26 +01:00
Richard Purdie
458f5d026e qemu: Exclude CVE-2017-5957 from cve-check
The CVE applies to virglrender before 0.6.0 which we don't have.

(From OE-Core rev: 9b5355375d028577de0b98e05992de6a088cb972)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-11 11:54:26 +01:00
Ross Burton
a8192999f0 builder: whitelist CVE-2008-4178 (a different builder)
(From OE-Core rev: 107987b342a834badfad286474b03543b4764d23)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-11 11:54:26 +01:00
Ross Burton
e703650fce libnotify: whitelist CVE-2013-7381 (specific to the NodeJS bindings)
(From OE-Core rev: be04484f99a5b29cc9066e350b526fc4420ad6d4)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-11 11:54:26 +01:00
Ross Burton
cb93117edb cairo: backport patch for CVE-2020-35492
(From OE-Core rev: 0c4e6f99332ae253855708845a41fdfeb72d4c30)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-11 11:54:26 +01:00
Richard Purdie
217e7c61c5 glibc: Document and whitelist CVE-2019-1010022-25
These CVEs are disputed by upstream and there is no plan to fix/address them. No
other distros are carrying patches for them. There is a patch for 1010025
however it isn't merged upstream and probably carries more risk of other bugs
than not having it.

(From OE-Core rev: b238db678083cc15313b98d2e33f83cccab03fc6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-11 11:54:26 +01:00
Richard Purdie
1c926417e1 grub2: Add CVE whitelist entries for issues fixed in 2.06
We're using a pre-release version of 2.06 so these issues are fixed but
continue to show up in the checks since it is pre-2.06 and the CPE
entries are "before but excluding 2.06".

Adding these will clean up CVE reports until the 2.06 release comes out.

(From OE-Core rev: 2467ab1554bee3a431636046735e8e369e865bc6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-11 11:54:26 +01:00
Bastian Krause
4638576d10 ccache: version bump 4.2.1 -> 4.3
Instead of [1] a very similar PR [2] was merged that allows
enabling/disabling documentation builds. So drop the patch here and use
the upstream cmake option ENABLE_DOCUMENTATION instead.

[1] https://github.com/ccache/ccache/pull/844
[2] https://github.com/ccache/ccache/pull/842

(From OE-Core rev: 1eedc5f822933928ed7861350ad47ff9c096552a)

Signed-off-by: Bastian Krause <bst@pengutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-11 11:54:26 +01:00
Alexander Kanavin
2809a33b74 liberation-fonts: fix upstream version check
(From OE-Core rev: dbb283b838007744e6bb1641e844ca7719fc4742)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-11 11:54:26 +01:00
Alexander Kanavin
9427f6f92a swig: fix upstream version check
(From OE-Core rev: 4e9f4dca48e853a794331a75200fd7450176eeb2)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-11 11:54:26 +01:00
Martin Jansa
17535c15b7 gcc-sanitizers: Package up static hwasan files as well
* introduced with gcc-11, other hwasan files were already packaged in:
  3df4a25465 gcc-sanitizers: Package up hwasan files
  but static library was still triggering installed-vs-shipped

(From OE-Core rev: 49aec04aa8ac98545b48c41382ebf1a1c3be1118)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-11 11:54:26 +01:00
Yann Dirson
698fd81c55 linux-firmware: include all relevant files in -bcm4356
This currently catches the .clb_blob and .vamrs,rock960.txt, and other
.txt files may come in future upstream releases.

(From OE-Core rev: e332738a8aae0914c58b40faae8b9d7a82fd6a95)

Signed-off-by: Yann Dirson <yann@blade-group.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-11 11:54:26 +01:00
zhengruoqin
c8ea2cb37d busybox: upgrade 1.33.0 -> 1.33.1
0001-decompress_gunzip-Fix-DoS-if-gzip-is-corrupt.patch
removed since it is included in 1.33.1

(From OE-Core rev: 544236b12a72ee5be5ef0147249ead112082b871)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-11 11:54:26 +01:00
wangmy
764db5fde8 kexec-tools: upgrade 2.0.21 -> 2.0.22
(From OE-Core rev: 2c7868ef9e85a3cdd56b11cd5e876e633307a21d)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-11 11:54:25 +01:00
wangmy
d7323f994e ell: upgrade 0.39 -> 0.40
(From OE-Core rev: db1f0f28a0651a648cd9fd238f5e2809110ff577)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-11 11:54:25 +01:00
wangmy
beac6e438f at-spi2-core: upgrade 2.40.0 -> 2.40.1
(From OE-Core rev: 7944928f86348562e4b4440e53f4201b186a3ca6)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-11 11:54:25 +01:00
Alexander Kanavin
a6f18016c4 ptest: add a test for orphaned ptests, and restore ones found by it
Particularly, numactl, numpy and libseccomp are disabled for now
due to failures or lack of qemu support. The rest have been verified
to pass quickly.

[RP: Fix multilib recipe handling]
(From OE-Core rev: 8bb5da87000ade519529e44181448244bd94d4f5)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-11 11:54:25 +01:00
Richard Purdie
bb490c7ea9 puzzles: Upstream changed to main branch for development
(From OE-Core rev: 943402b25212408a4ddcfa8a146b645509e138dd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-10 08:00:22 +01:00
Khem Raj
03a3fddb50 python3-markdown: Upgrade to 3.3.4
meta-python is carrying 3.3.4, once we upgrade it in core
we can safely drop it from meta-python, helps with layer-compatibility
checks

(From OE-Core rev: 88c11b0a45b3fd310288325f97c16ca2c9e0006e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:16 +01:00
Andreas Müller
caa8605d8d gstreamer1.0-plugins-good: fix build with gcc11
This fixes issues when qt plugins are enabled (which is not by default
without additional layers).

(From OE-Core rev: 25f3ff9c4ca20962994c43b741c7839b713cbfe6)

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:16 +01:00
Kai Kang
4444786679 grub2.inc: remove '-O2' from CFLAGS
It fails to boot grub after upgrade grub to 2.06. According to
description in

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

it is introduced by a commit to fix CVE. So remove option '-O2' from
CFLAGS rather than revert the commit to avoid the failure.

[YOCTO #14367]

CC: Tony Battersby <tonyb@cybernetics.com>
(From OE-Core rev: 69805629b8f47fd46a37b7c5cc435982e2ac3d1d)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:16 +01:00
Romain Naour
4523af6c1d dejagnu: needs expect at runtime
runtest return an error due to missing expect on the target.
Add expect as runtime dependency.

(From OE-Core rev: d9a3a08edc1efcbe7b02e80be98370792d3c6cc2)

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:16 +01:00
Khem Raj
3f93502b27 swig: Upgrade to 4.0.2
Drop backports and refresh patches to apply on 4.x series

(From OE-Core rev: 5c7923e79c2411a0a36e540a8b894d399ad04aa7)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:16 +01:00
Peter Kjellerstedt
48c64d609b libcap: Configure Make variables correctly without a horrible hack
Occasionally, the build would fail with:

  make[2]: execvp: mkdir: Argument list too long

This turned out to be due to a hacky solution used in the recipe to
modify the Makefile, which resulted in one more $(BUILD_CFLAGS) being
added to the immediately expanded BUILD_CFLAGS Make variable each time
do_configure was executed. After a couple of times, this lead to an
environment with a 140 kB BUILD_CFLAGS when mkdir should execute, which
resulted in the E2BIG.

(From OE-Core rev: 116e6b61c585c6f0f7ae6f010bd490bb39914348)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:16 +01:00
Vinícius Ossanes Aquino
071fa40b0e lttng-modules: backport patches to fix build against 5.12+ kernel
Add the following patches from stable-2.12 branch of lttng repository
to fix errors when building lttng-modules against 5.12+ kernel
since they are not present on the release 2.12.5:

- 17cd2dc9 fix: block: add a disk_uevent helper (v5.12)
- 127135b6 fix backport: block: add a disk_uevent helper (v5.12)
- 853d5903 fix: mm, tracing: kfree event name mismatching with
provider kmem (v5.12)

(From OE-Core rev: 2538ba2b3490e3599d9ccd637aa8486ea428f1b0)

Signed-off-by: Vinicius Aquino <vinicius.aquino@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:16 +01:00
Bruce Ashfield
3bebf05cff linux-yocto/5.4: qemuppc32: reduce serial shutdown issues
Integrating the following commit(s) to linux-yocto/5.4:

    qemuppc32: reduce serial issues seen on shutdown

    Richard reported:

    We've been seeing a lot of the qemuppc shutdown issue and I decided to
    look into it. The really worrying thing looking at the logs locally is the
    serial ports are showing irq issues and becoming disabled as nobody would
    handle them.

    Errors like:

       [    9.194886] irq 36: nobody cared (try booting with the "irqpoll" option)
       [    9.198712] CPU: 0 PID: 127 Comm: bootlogd Not tainted
       [    9.202283] Call Trace:
       [    9.205611] [d1005f00] [c00a0da8] __report_bad_irq+0x50/0x138 (unreliable)
       [    9.209347] [d1005f30] [c00a0cc0] note_interrupt+0x324/0x378
       [    9.212855] [d1005f70] [c009d138] handle_irq_event+0xe8/0x104
       [    9.216353] [d1005fa0] [c00a1d9c] handle_fasteoi_irq+0xc0/0x29c
       [    9.219960] [d1005fc0] [c009b798] generic_handle_irq+0x40/0x5c
       [    9.223496] [d1005fd0] [c00075d0] __do_irq+0x58/0x188
       [    9.226948] [d1005ff0] [c0010040] call_do_irq+0x20/0x38
       [    9.230391] [d29eda60] [c0007788] do_IRQ+0x88/0xfc
       [    9.233860] [d29eda90] [c0016454] ret_from_except+0x0/0x14
       [    9.237288] --- interrupt: 501 at __setup_irq+0x3c4/0x838
       [    9.237288]     LR = __setup_irq+0x790/0x838
       [    9.244155] [d29edb88] [c009f0a4] request_threaded_irq+0x114/0x1c8
       [    9.247672] [d29edbb8] [c07a5a18] pmz_startup+0x17c/0x32c
       [    9.251203] [d29edbd8] [c07a1140] uart_port_startup+0x184/0x2f8
       [    9.254651] [d29edc08] [c07a1974] uart_port_activate+0x78/0xf4
       [    9.258141] [d29edc28] [c07839f8] tty_port_open+0xd4/0x170
       [    9.261579] [d29edc58] [c079db74] uart_open+0x2c/0x48
       [    9.265116] [d29edc68] [c077a288] tty_open+0x168/0x640
       [    9.268574] [d29edcd8] [c0280be8] chrdev_open+0x138/0x2a4
       [    9.272123] [d29edd18] [c027421c] do_dentry_open+0x228/0x410
       [    9.275643] [d29edd48] [c028e9f4] path_openat+0xb04/0xf28
       [    9.279184] [d29eddd8] [c02917e4] do_filp_open+0x120/0x164
       [    9.282535] [d29ede98] [c0276238] do_sys_openat2+0xd8/0x19c
       [    9.285790] [d29edee8] [c0276574] sys_openat+0x88/0xdc
       [    9.289096] [d29edf38] [c00160d8] ret_from_syscall+0x0/0x34
       [    9.292620] --- interrupt: c01 at 0xfec3738
       [    9.292620]     LR = 0xfec36e0
       [    9.299035] handlers:
       [    9.302312] [<7f7f7da8>] pmz_interrupt
       [    9.305541] Disabling IRQ #36

    (and the irqpoll option does not help)

    This is problematic as the shutdown test uses the serial interface to
    shut down the system. If the serial interface fails to login or run the command,
    game over for the test.

    CONFIG_SERIAL_PMACZILOG_CONSOLE complicates that handling, but doesn't provide
    any output or capabilities that we need. So we disable it here, and
    reduce the chances of issues during shutdown.

(From OE-Core rev: 42355cb73049ee7a4af0f539a2a5b7d4ee1abc65)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:16 +01:00
Alexander Kanavin
8edb167924 x264: upgrade to latest revision
(From OE-Core rev: 17f18d0aa3a8588717b6b5ae2a2b9c773fbf7863)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:16 +01:00
Alexander Kanavin
341796ff8c python3-setuptools-scm: upgrade 5.0.1 -> 6.0.1
(From OE-Core rev: a95aab10c662dda99867c2cffd4e6fcfe33cebe0)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:16 +01:00
Alexander Kanavin
b18df94122 python3-pytest: upgrade 6.2.2 -> 6.2.3
(From OE-Core rev: a49c3ee159164dbea35fdae51584ce8c2abb488b)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:16 +01:00
Alexander Kanavin
ac7fdbe558 python3-importlib-metadata: upgrade 3.4.0 -> 3.10.1
(From OE-Core rev: 68ec69e4c135ce49956a50698f681cd317cf96c7)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:16 +01:00
Alexander Kanavin
922ebe04b6 python3-hypothesis: upgrade 6.2.0 -> 6.9.1
(From OE-Core rev: 549b395e0fcc59e01a48b91d33cf72b7501c41df)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:16 +01:00
Alexander Kanavin
5e164fcba6 pkgconf: upgrade 1.7.3 -> 1.7.4
(From OE-Core rev: a7cb5f9160fa1575adf10d4a0b679478cfa585ef)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:16 +01:00
Alexander Kanavin
4d2ed6b901 piglit: upgrade to latest revision
(From OE-Core rev: dd085bd577a2a64b46485a9fde7eb8f2a727e1e8)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:16 +01:00
Alexander Kanavin
24ac6969db pango: upgrade 1.48.2 -> 1.48.4
(From OE-Core rev: 894f2783ac1f9741bcf3e54c1b86ac0dd1bc04e0)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:16 +01:00
Alexander Kanavin
d45d46f2ee linux-firmware: upgrade 20210208 -> 20210315
License-Update: additional firmware files, version changes

(From OE-Core rev: 2f10b9dbb4fb8ccb9a427883370fbbeb6f394551)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:15 +01:00
Alexander Kanavin
54cd6a5a51 libxres: upgrade 1.2.0 -> 1.2.1
(From OE-Core rev: beb2c79c77f9a5370c633f3f7cd4f7302c0cf49a)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:15 +01:00
Alexander Kanavin
97063ca5d7 libwpe: upgrade 1.8.0 -> 1.10.0
(From OE-Core rev: 2abc471c24d60485fb6fb3380eeea33137bf81bf)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:15 +01:00
Alexander Kanavin
85cb9f2c73 libinput: upgrade 1.16.4 -> 1.17.1
(From OE-Core rev: c70e9a812659811664b40fa103d52bbb06e39750)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:15 +01:00
Alexander Kanavin
3a7b18544f libfm: upgrade 1.3.1 -> 1.3.2
(From OE-Core rev: 3f40b23dc8e034d17a97c988892ef01522bc1b43)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:15 +01:00
Alexander Kanavin
d158921a6f less: upgrade 563 -> 581
(From OE-Core rev: e19736b809cbc8c15808e75473a95117fbdb1468)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:15 +01:00
Alexander Kanavin
93d88fe52b harfbuzz: upgrade 2.7.4 -> 2.8.0
(From OE-Core rev: e5f82c4431e3d48914e26be97c83b0efbb2b478c)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:15 +01:00
Alexander Kanavin
5ef38c9cae gtk+3: upgrade 3.24.25 -> 3.24.28
(From OE-Core rev: 09cc5725b8ecdfd1cc54eaf834cdf5e2dbdd050c)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:15 +01:00
Alexander Kanavin
6c1dd9dede gobject-introspection: upgrade 1.66.1 -> 1.68.0
(From OE-Core rev: 803bbae963d59a91fbd3c517003f9972fc9bf7e8)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:15 +01:00
Alexander Kanavin
05904ebc14 systemd-boot: backport a fix to address failures with new gnu-efi
(From OE-Core rev: c88679a2f1a3aa84f7699a0ee752cf8071e8a430)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:15 +01:00
Alexander Kanavin
46fcf0d6d3 gnu-efi: upgrade 3.0.12 -> 3.0.13
(From OE-Core rev: 464a09f45f619f1f96e3f5c83dc3d6d68eadfcbe)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:15 +01:00
Alexander Kanavin
3ac289eb81 e2fsprogs: upgrade 1.46.1 -> 1.46.2
(From OE-Core rev: 89ed9395b247e741fe667e7321be996b27d4e0c0)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:15 +01:00
Alexander Kanavin
21bd255395 dnf: upgrade 4.6.0 -> 4.7.0
(From OE-Core rev: 432352dddc97eb19cefacd8644fb59b1f10bc2d3)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:15 +01:00
Alexander Kanavin
ad7581132d cronie: upgrade 1.5.5 -> 1.5.7
(From OE-Core rev: 3ad65c9509c2c352f4126f87d34634e4248579b4)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:15 +01:00
Alexander Kanavin
f5dbb6b815 createrepo-c: upgrade 0.17.0 -> 0.17.2
(From OE-Core rev: 0013f8195c046031aad5156d889b86676144e74b)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:15 +01:00
Alexander Kanavin
85a6dffc87 bison: upgrade 3.7.5 -> 3.7.6
License-Update: http links -> https

(From OE-Core rev: d3072372c95f327d38581e0f29f3d3329e0ecaae)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:15 +01:00
Alexander Kanavin
2fb7154779 bind: upgrade 9.16.12 -> 9.16.13
(From OE-Core rev: 40624d1d3420783f24253b87465cd5ab7ecb32b4)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:15 +01:00
Alexander Kanavin
1cc617ae10 acl: upgrade 2.2.53 -> 2.3.1
(From OE-Core rev: dabe3173a9b9cd8f96913c3c47c01f056d79f274)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:15 +01:00
Alexander Kanavin
99445990ca webkitgtk: update 2.30.6 -> 2.32.0
Drop 0001-Extend-atomics-check-to-include-1-byte-CAS-test.patch
(merged upstream).

Rebase other patches.

(From OE-Core rev: f64e9ba5f0d48e34d7022bf74bd9765f9e8a792c)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:15 +01:00
Alexander Kanavin
39932f22fa virglrenderer: update 0.8.2 -> 0.9.1
Drop 0001-gallium-Expand-libc-check-to-be-platform-OS-check.patch,
issue fixed upstream.

(From OE-Core rev: ad968bc3d3ec5ae6862cdbe46608a99f561046fd)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:15 +01:00
Alexander Kanavin
a3b5f86004 gnupg: upgrade 2.2.27 -> 2.3.1
Remove 0001-Use-pkg-config-to-find-pth-instead-of-pth-config.patch
as upstream has removed the .m4 files.

Rebase other patches.

(From OE-Core rev: 623b10d3428f84219f7fb0cbb539fbbba7161e2d)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:15 +01:00
Alexander Kanavin
0de28255b7 vulkan-samples: update to latest revision
(From OE-Core rev: a6f8da2a59b3c8fd14bacb7e29feb1cc2fea0088)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:15 +01:00
Alexander Kanavin
b36bf2f6d4 libgudev: update 234 -> 236
Convert to meson.

(From OE-Core rev: 80bf33236e26c57f441ebebce758afad9900f27e)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:15 +01:00
Alexander Kanavin
ab3a1f4262 libxkbcommon: update 1.0.3 -> 1.2.1
(From OE-Core rev: eb5044711bd74cd37799feb55aa006fcbf5ad155)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:15 +01:00
Alexander Kanavin
b143dc6db0 bluez5: upgrade 5.56 -> 5.58
(From OE-Core rev: 6aabd10b113a81b0abbcb9654bc6fe17cc6bb3ce)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:15 +01:00
Alexander Kanavin
d112d5bee6 libdnf: upgrade 0.58.0 -> 0.62.0
(From OE-Core rev: 87f9e745998be322cf13952f8d914139185b9d8c)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:15 +01:00
Alexander Kanavin
9f137c86a8 pulseaudio: unbreak build with latest meson
(From OE-Core rev: 3ac3c5dad3e9a434b421c654b3d375c2fee044a9)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:15 +01:00
Alexander Kanavin
038eb82ad6 systemd: backport a patch to avoid unnecessary rsync dependency with latest meson
(From OE-Core rev: 3f0269ff1e5f87b23ef9012813a753daf3c5c24f)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:15 +01:00
Alexander Kanavin
ec0e1d4fb9 meson: update 0.57.1 -> 0.57.2
(From OE-Core rev: 85345697c6e492598c882eb452b999b8a05f97a9)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:15 +01:00
Alexander Kanavin
25fdd28161 cmake: update 3.19.5 -> 3.20.1
Remove 0002-cmake-Prevent-the-detection-of-Qt5.patch
(patch purpose and failing scenarios unclear; disabling
is better done through configuration options which
are available for all of these items).

License-Update: copyright years

(From OE-Core rev: 6f3a4f224931866ab2e9758530efdb81d7ddb63d)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:15 +01:00
Richard Purdie
ecaefb9d57 ptest-packagelists: Add expat-ptest to fast ptests
This ptest package was accidentally not enabled. The tests run quickly (2s) and
pass so add to the standard test suite.

(From OE-Core rev: 53dcc4b7bb4dce6cd2bc8d194efc4b8246317f22)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:15 +01:00
Alexander Kanavin
537ffe0d95 puzzles: update to latest revision
Convert to cmake, drop all the unneeded cruft from the recipe.

License-Update: additional contributors
(From OE-Core rev: adba510022781f139014d6174e46954c1f4774c0)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:15 +01:00
Alexander Kanavin
73b4bf301e dpkg: update 1.20.7.1 -> 1.20.9
(From OE-Core rev: 2000040d92a41ef5ae594aed2482a7b33d17dda9)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:15 +01:00
Alexander Kanavin
b4a004d583 xorgproto: upgrade 2020.1 -> 2021.3
License-Update: formatting

(From OE-Core rev: fa51ebcff8424eb0f777a78647c462f33318849f)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:15 +01:00
Alexander Kanavin
c04b40a21e xserver-xorg: upgrade 1.20.10 -> 1.20.11
(From OE-Core rev: 0e9ff8859492403a88e61cfba5df2917d70d3584)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:14 +01:00
Alexander Kanavin
70f797eced stress-ng: upgrade 0.12.05 -> 0.12.06
(From OE-Core rev: 31a09f59db6461a5f65f93783c25d8d05e4edf3e)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:14 +01:00
Alexander Kanavin
f33847f5ba xkbcomp: upgrade 1.4.4 -> 1.4.5
License-Update: formatting

(From OE-Core rev: 2cfc32df6c527d308d436464421766522d34c829)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:14 +01:00
Alexander Kanavin
9fbf28b1d9 vala: upgrade 0.50.4 -> 0.52.2
(From OE-Core rev: 25c6b77d2ab914dc7a38e7bf6171d66bd3be85d3)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:14 +01:00
Chen Qi
91787002cb db: update CVE_PRODUCT
Update CVE_PRODUCT to also include 'berkeley_db'. For example,
CVE-2020-2981 uses 'berkeley_db'.

(From OE-Core rev: ad799b109716ccd2f44dcf7a6a4cfcbd622ea661)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:14 +01:00
Robert Joslyn
276974ca9e liberation-fonts: Update to 2.1.4
Update HOMEPAGE and SRC_URI since development moved to GitHub.

(From OE-Core rev: a522704c1891eeb78b0cf1bcbdb2bb6b3c96c204)

Signed-off-by: Robert Joslyn <robert.joslyn@redrectangle.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:14 +01:00
wangmy
0fe48bb863 python3-pygments: upgrade 2.8.1 -> 2.9.0
(From OE-Core rev: cd0b5ecccccb5b77aee77e3eb4547fd342fbabaf)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:14 +01:00
Anuj Mittal
3d6e67b389 lsb-release: fix reproducibility failure
Make sure help2man output is reproducible. Fixes:

| .\"·DO·NOT·MODIFY·THIS·FILE!··It·was·generated·by·help2man·1.022.	.\"·DO·NOT·MODIFY·THIS·FILE!··It·was·generated·by·help2man·1.022.
| .TH·FSG·"1"·"April·2021"·"FSG·lsb_release·v1.4"·FSG	.TH·FSG·"1"·"May·2021"·"FSG·lsb_release·v1.4"·FSG
| .SH·NAME	3 	.SH·NAME

(From OE-Core rev: 49371207a7f1fe3d3feb7b8b9aabb62b43ae34d1)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:14 +01:00
Alexander Kanavin
3eab723431 gdk-pixbuf/pango: replace gtk-doc with gi-docgen
(From OE-Core rev: fe97a89056857e1326b087fb3d4a4b4be28acdc9)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:14 +01:00
Alexander Kanavin
7572042364 gi-docgen: add a recipe and class
This seems to be the gtk-doc successor, and gnome
projects such as pango and gdk-pixbuf have started
transitioning to it.

(From OE-Core rev: f87bb7d848015c371095ef3ff423eee81e6d8ecd)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:14 +01:00
Alexander Kanavin
13e4ff2250 python3: add markdown/smartypants/typogrify modules
This is needed to enable gi-docgen, a successor to gtk-doc

(From OE-Core rev: b557ea3cc61da326bb7783a2ac8e4080c4bf79e5)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:14 +01:00
Richard Purdie
b681827f5b oeqa/qemurunner: Improve handling of run_serial for shutdown commands
When running a shutdown command, the serial port can close without the
command returning. This is seen as the socket being readable but having
no data. Change the way this case is handled in the code to avoid
tracebacks.

(From OE-Core rev: 396a3ba884820d040c91f7592daf20ac28c49b5d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:14 +01:00
Richard Purdie
4a3a0e7838 oeqa/qemurunner: Fix binary vs str issue
The recent logging changes for qemurunner showed up as errors on the
autobuilder where decode couldn't be called on the returned string.
Since the code returns binary data, return b'' instead of '' to match
to avoid tracebacks.

One of these cases was newly added, copied from the other which has
been there for a long time, always broken.

(From OE-Core rev: b8995b27db265b0a0b2d2ca595915f70f9f96e07)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-09 23:30:14 +01:00
Bruce Ashfield
2dcd1f2a21 yocto-check-layer: Only note a layer without a conf/layer.conf (versus error)
Dynamic layers may have a conf directory, but don't need (or
want) a conf/layer.conf

This isn't an error, so we can just log it and indicate the
layer is being skipped.

A full layer without a conf file isn't all that useable, so we
aren't letting anything subtle slip through by just logging
it.

(From OE-Core rev: 9841a7c70bc21c5cd3bbea98d5f8654434577f61)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-06 16:55:35 +01:00
Saul Wold
3d79025398 qemurunner: change warning to info
This information is useful, but should not be a warning level.

[YOCTO #14382]

(From OE-Core rev: cd17d8bb00be1ecb7c92ab13eb8b162807aefed9)

Signed-off-by: Saul Wold <saul.wold@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-06 16:55:35 +01:00
Bruce Ashfield
6716a16efc linux-yocto/5.10: qemuppc32: reduce serial shutdown issues
Integrating the following commit(s) to linux-yocto/5.10:

    qemuppc32: reduce serial issues seen on shutdown

    Richard reported:

    We've been seeing a lot of the qemuppc shutdown issue and I decided to
    look into it. The really worrying thing looking at the logs locally is the
    serial ports are showing irq issues and becoming disabled as nobody would
    handle them.

    Errors like:

       [    9.194886] irq 36: nobody cared (try booting with the "irqpoll" option)
       [    9.198712] CPU: 0 PID: 127 Comm: bootlogd Not tainted 5.10.30-yocto-standard #1
       [    9.202283] Call Trace:
       [    9.205611] [d1005f00] [c00a0da8] __report_bad_irq+0x50/0x138 (unreliable)
       [    9.209347] [d1005f30] [c00a0cc0] note_interrupt+0x324/0x378
       [    9.212855] [d1005f70] [c009d138] handle_irq_event+0xe8/0x104
       [    9.216353] [d1005fa0] [c00a1d9c] handle_fasteoi_irq+0xc0/0x29c
       [    9.219960] [d1005fc0] [c009b798] generic_handle_irq+0x40/0x5c
       [    9.223496] [d1005fd0] [c00075d0] __do_irq+0x58/0x188
       [    9.226948] [d1005ff0] [c0010040] call_do_irq+0x20/0x38
       [    9.230391] [d29eda60] [c0007788] do_IRQ+0x88/0xfc
       [    9.233860] [d29eda90] [c0016454] ret_from_except+0x0/0x14
       [    9.237288] --- interrupt: 501 at __setup_irq+0x3c4/0x838
       [    9.237288]     LR = __setup_irq+0x790/0x838
       [    9.244155] [d29edb88] [c009f0a4] request_threaded_irq+0x114/0x1c8
       [    9.247672] [d29edbb8] [c07a5a18] pmz_startup+0x17c/0x32c
       [    9.251203] [d29edbd8] [c07a1140] uart_port_startup+0x184/0x2f8
       [    9.254651] [d29edc08] [c07a1974] uart_port_activate+0x78/0xf4
       [    9.258141] [d29edc28] [c07839f8] tty_port_open+0xd4/0x170
       [    9.261579] [d29edc58] [c079db74] uart_open+0x2c/0x48
       [    9.265116] [d29edc68] [c077a288] tty_open+0x168/0x640
       [    9.268574] [d29edcd8] [c0280be8] chrdev_open+0x138/0x2a4
       [    9.272123] [d29edd18] [c027421c] do_dentry_open+0x228/0x410
       [    9.275643] [d29edd48] [c028e9f4] path_openat+0xb04/0xf28
       [    9.279184] [d29eddd8] [c02917e4] do_filp_open+0x120/0x164
       [    9.282535] [d29ede98] [c0276238] do_sys_openat2+0xd8/0x19c
       [    9.285790] [d29edee8] [c0276574] sys_openat+0x88/0xdc
       [    9.289096] [d29edf38] [c00160d8] ret_from_syscall+0x0/0x34
       [    9.292620] --- interrupt: c01 at 0xfec3738
       [    9.292620]     LR = 0xfec36e0
       [    9.299035] handlers:
       [    9.302312] [<7f7f7da8>] pmz_interrupt
       [    9.305541] Disabling IRQ #36

    (and the irqpoll option does not help)

    This is problematic as the shutdown test uses the serial interface to
    shut down the system. If the serial interface fails to login or run the command,
    game over for the test.

    CONFIG_SERIAL_PMACZILOG_CONSOLE complicates that handling, but doesn't provide
    any output or capabilities that we need. So we disable it here, and
    reduce the chances of issues during shutdown.

(From OE-Core rev: bf2c6ea03d45742597275691b4c883044765c57e)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-06 16:55:35 +01:00
Alexander Kanavin
5ac0965479 gnu-config: update to latest revision
(From OE-Core rev: 2f13632a0b573f635c91efee3fd6ce2215f407cf)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-06 12:12:58 +01:00
Alexander Kanavin
1681d34e4b glib-2.0: update 2.68.0 -> 2.68.1
(From OE-Core rev: 1e8959da12afbde05060c5ee0019a28fd6945ef2)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-06 12:12:58 +01:00
Alexander Kanavin
3533549e78 gdk-pixbuf: update 2.40.0 -> 2.42.6
Note: jpg/png loaders are now builtin and no longer
provided as separate packages.

Drop backport missing-test-data.patch.

Drop no longer needed 0004-Do-not-run-tests-when-building.patch

Rebase 0004-Do-not-run-tests-when-building.patch

Rework 0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch
so that it can be applied to both native and target builds.

(From OE-Core rev: 9eda439c7c775fb7fa26a97d2575b491e2a4bd45)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-06 12:12:58 +01:00
Alexander Kanavin
c9af0cd128 vte: use tarballs again
(From OE-Core rev: 4f4d631dbb88dad03a3f83ea57cb7a0a17a7fdb8)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-06 12:12:58 +01:00
Richard Purdie
eff192abe2 lib/package_manager: Use shutil.copy instead of bb.utils.copyfile for intercepts
If the scripts/postinst-intercepts is owned by root/root then the copyfile() calls
will fail due to chown issues. We don't care about ownership of these files so
use shutil.copy() instead which won't perform any chown.

(From OE-Core rev: 1a03c70c282b3445b93a4c70ea6d40a1778750c5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-06 11:16:24 +01:00
Richard Purdie
1140cca023 oeqa/qemurunner: Handle path length issues for qmp socket
After the addition of the qmp socket, runqemu started failing:

ERROR - Failed to run qemu: qemu-system-aarch64: -qmp unix:/home/yocto/actions-runner-meta-openembedded/_work/meta-openembedded/meta-openembedded/yoe/build/tmp/.3eg5fiid,server,wait:
UNIX socket path '/home/yocto/actions-runner-meta-openembedded/_work/meta-openembedded/meta-openembedded/yoe/build/tmp/.3eg5fiid' is too long
Path must be less than 108 bytes

To avoid this, run qemu within tmpdir and use a relative path to the socket.
This avoids having to patch the socket code within qemu.

Update the client code to chdir and only use a relative path to the socket
to match.

(From OE-Core rev: 5c56e72fca18dc942f5c1fd377e98d46ae0126f1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-06 11:16:24 +01:00
Richard Purdie
e293a37935 oeqa/qemurunner: Improve logging thread exit handling for qemu shutdown test
Rather than totally disabling the logging, inform it we're about to exit
so we can log messages over the exit cleanly too. This aids debugging. It
also avoids a race where the logging handler could still error whilst
shutting down.

Also remove a race window by notificing the handler of the shutdown
first, before triggering it. This removes a race window I watched in
local testing.

(From OE-Core rev: 0e19f31a1005f94105e1cef252abfffcef2aafad)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-06 11:16:23 +01:00
Yi Fan Yu
27c77ee898 libevent: Increase ptest timing tolerance 50 ms -> 100 ms
Adjusting the tolerance to a more reasonable time
given the load on the AB and given the high amount(100) of
events some of the tests like `common_timeout` generates.

[YOCTO #14163]

(From OE-Core rev: 38b36d2b90d570149e63816e68f457aea28a5092)

Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-06 11:16:23 +01:00
Devendra Tewari
b71375304f classes/lib/scripts: Use bb.utils.rename() instead of os.rename()
Incremental build in Docker fails with:

OSError: [Errno 18] Invalid cross-device link

when source and destination are on different overlay filesystems.

Rather than adding fallback code to every call site, use a new wrapper
in bitbake which detects this case and falls back to shutil.move
which is slower but will handtle the overlay docker filesystems correctly.

[YOCTO #14301]

(From OE-Core rev: 656a65b2b84e7d529b89cf5de7eb838f902d84a2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-06 11:16:23 +01:00
Richard Purdie
974441aeda sanity.conf: Require bitbake 1.51.0
We're about to require bb.utils.rename() so depend on the correct
version of bitbake.

(From OE-Core rev: ed2b18ed6e76a3bc050a1c48526c114de5cb1a93)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-06 11:12:40 +01:00
Richard Purdie
49da1ed2dc bitbake: bitbake: Switch to post release version number 1.51.0
(Bitbake rev: 97a64d12f70eb02f1d35b4ffefb291b80ca8c425)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-06 11:08:08 +01:00
Richard Purdie
7bbeddeee1 bitbake: bin/bitbake-getvar: Add a new command to query a variable value (with history)
We've talked about having this for long enough. Add a command which queries a single
variable value with history. This saves "bitbake -e | grep" and avoids the
various pitfalls that has.

It also provides a neat example of using tinfoil to make such a query.

Parameters to limit the output to just the value, to limit to a variable flag
and to not expand the output are provided.

[YOCTO #10748]

(Bitbake rev: 4c1881b620e885f55d7772f8626b8a76c2828333)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-06 11:08:08 +01:00
Harald Brinkmann
e155a81ab6 bitbake: fetch/svn: Fix parsing revision of SVN repos with redirects
svn was printing a message when encountering HTTP redirects.
This confused the revision parser.

(Bitbake rev: a944a335f8f4c4fe5df55f3d7d8e757bd2835146)

Signed-off-by: Harald Brinkmann <Harald.Brinkmann@detectomat.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-06 11:08:08 +01:00
Paul Barker
81b55a050d bitbake: prserv: Handle requests in main thread
The prserver process is cleanly separated from the main bitbake process
so requests can be handled in the main thread. This removes the need for
a request queue and a separate request handling thread.

(Bitbake rev: 6b09415bed6b5e7c12aaf39b677d9ef72844e233)

Signed-off-by: Paul Barker <pbarker@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-06 11:08:07 +01:00
Paul Barker
d66a1d83f5 bitbake: prserv: Extract daemonization from PRServer class
The code to start the prservice process as a daemon is extracted out of
the PRServer class and simplified. This makes the PRServer class easier
to modernise as it no longer needs to worry about process management.

(Bitbake rev: 39c7c158c52157b18f5ccbbd673e3298e6402f52)

Signed-off-by: Paul Barker <pbarker@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-06 11:08:07 +01:00
Paul Barker
802024fd2a bitbake: prserv: Use multiprocessing to auto start prserver
We can use the modern multiprocessing support in Python instead of
manually using fork to start the prserver process. To do this we need
to set up the signal handlers for the prserver process in the
work_forever function (which is now used as the main function for this
process).

The old code to start the prserver process using fork is not removed in
this commit as it is tightly intertwined with the daemonization code
which will be refactored in a following commit.

(Bitbake rev: b3da56240c0f92efab1c0b293738c35c0f1ee6ab)

Signed-off-by: Paul Barker <pbarker@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-06 11:08:07 +01:00
Devendra Tewari
581233a798 bitbake: lib/bb: Add bb.utils.rename() helper function and use for renaming
os.rename can fail for example an incremental build in Docker fails with:

OSError: [Errno 18] Invalid cross-device link

when source and destination are on different overlay filesystems.

Rather than trying to fix every call site, add a wrapper in bb.utils
for renames. We can then handle cross device failures and
fall back to shutil.move. The reason os.rename is still used is
because shutil.move is too slow for speed sensitive sections of code.

[YOCTO #14301]

(Bitbake rev: c5c4e49574ab2a65e06298a0a77bb98b041cf56b)

Signed-off-by: Devendra Tewari <devendra.tewari@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-06 11:04:59 +01:00
Alexander Kanavin
7fbd7744ea boost: correct upstream version check
(From OE-Core rev: 4b04153a7d30f1a7a6485e2537bc3a708128bad4)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-06 08:41:26 +01:00
Michael Opdenacker
dd628adc7c sanity.bbclass: mention CONNECTIVITY_CHECK_URIS in network failure message
This expands the error message when a network failure is detected.
It happens that some ISPs or networks block the default example.com
domain. Therefore, instead of disabling network access, it
lets the user know how to modify the test URL.

(From OE-Core rev: 62c94bb925543c1e1c5af3c751913d9f06d9597d)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-06 08:41:26 +01:00
Joshua Watt
ad3879eb61 classes/image: Use xargs to set file timestamps
Instead of having find directly invoke touch for each file in the root
file system, pass a list to xargs for batching. This significantly
reduces the number of times the touch program is invoked and speeds up
the do_image task time:

    PKG           TASK      ABSDIFF  RELDIFF  CPUTIME1 -> CPUTIME2
    my-image      do_image   -45.3s   -94.2%     48.1s -> 2.8s

    Cumulative cputime:
      -44.3s    -92.3%    00:48.1 (48.1s) -> 00:03.7 (3.7s)

(From OE-Core rev: 15c65f90a3aa1e98c2beab2539403157df1fca08)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-06 08:41:26 +01:00
Alexander Kanavin
c8e1aeebd8 Revert "oeqa: Set LD_LIBRARY_PATH when executing native commands"
LD_LIBRARY_PATH leaks into host executables too, and breaks them
as they are not uninative-enabled. E.g. on ubuntu 18.04 trying
to run host bash with a sysroot that was built on Fedora 33:

akanavin@ubuntu1804-ty-3:/home/pokybuild/yocto-worker/oe-selftest-ubuntu/build/build-st-24341/tmp/work/x86_64-linux/gnupg-native/2.3.1-r0/recipe-sysroot-native$ LD_LIBRARY_PATH=./usr/lib /bin/bash
/bin/bash: ./usr/lib/libtinfo.so.5: no version information available (required by /bin/bash)
/bin/bash: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by ./usr/lib/libtinfo.so.5)

This was seen e.g. here:
https://autobuilder.yoctoproject.org/typhoon/#/builders/87/builds/2090/steps/14/logs/stdio

(From OE-Core rev: 0e9850486b74a3de934527ca1077df001d3a8d22)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-06 08:41:26 +01:00
Alexander Kanavin
5c2ccb059d diffoscope: add native libraries to LD_LIBRARY_PATH
Reversal of global setting in previous commit necessitates
a local fix, otherwise, this happens:

  File "/home/pokybuild/yocto-worker/reproducible-debian/build/build-st-52142/tmp/work/x86_64-linux/diffoscope-native/172-r0/recipe-sysroot-native/usr/lib/python3.9/ctypes/__init__.py", line 392, in __getitem__
    func = self._FuncPtr((name_or_ordinal, self))
AttributeError: nativepython3: undefined symbol: archive_errno

(From OE-Core rev: 87884d9938829d5ae5d250f483c749e00cd83322)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-06 08:41:26 +01:00
Vinay Kumar
f628b052f6 binutils: Fix CVE-2021-20197
Source: git://sourceware.org/git/binutils-gdb.git
Tracking -- https://sourceware.org/bugzilla/show_bug.cgi?id=26945

Backported upstream commit d3edaa91d4cf7202ec14342410194841e2f67f12 to
binutils-2.36 source along with commit id dependencies
(8e03235147a9e774d3ba084e93c2da1aa94d1cec and 8b69e61d4be276bb862698aaafddc3e779d23c8f).

(From OE-Core rev: 395812c345cb510471e264c6f5bb83eed61d79df)

Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-06 08:41:26 +01:00
Robert P. J. Day
71d07cdebc bitbake.conf: sort MIRROR list, add missing SAMBA_MIRROR
As is the pattern with all lists, put the list of MIRRORs in
alphabetical order, and add an entry for SAMBA_MIRROR as it appears in
the samba recipe from the meta-networking layer.

(From OE-Core rev: 3301536f821dce86cd3683d9c50abea2d39c6c20)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-06 08:41:26 +01:00
Anuj Mittal
e3d054cd62 qemu: fix CVE-2021-3392
(From OE-Core rev: a0257aee7d80fc67c92877e2de1e4b98ece54174)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-06 08:41:26 +01:00
Anuj Mittal
db4d9619aa Revert "qemu: fix CVE-2021-3392"
This reverts commit 5e8e08df8b.

This is an incomplete fix.

(From OE-Core rev: 2e7494cd388c5d03a95d8a54d6231e7fe7fd46ef)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-06 08:41:26 +01:00
Khem Raj
0a0c83d083 strace: Upgrade to 5.12
Changes are here [1]

[1] https://github.com/strace/strace/releases/tag/v5.12

(From OE-Core rev: 853eb9a9c4b02b7acfc72659eb20914f0f19e66b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-06 08:41:26 +01:00
Andreas Müller
d71ed04ebf xwayland: remove protocol.txt - it clashes with xserver-xorg
* Images with wayland-compositors + xwayland + xserver fail to build
* Fedora - they introduced standalone xwayland - does same [1]

[1] https://src.fedoraproject.org/rpms/xorg-x11-server-Xwayland/blob/rawhide/f/xorg-x11-server-Xwayland.spec

(From OE-Core rev: ace7a71b09df24de7b70f52edcd425366f39d56e)

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-06 08:41:26 +01:00
Ross Burton
e3887b0690 oe-buildenv-internal: add BitBake's library to PYTHONPATH
There are many Python scripts in oe-core that want to use Tinfoil, and
right now they have to know where they are to work out where BitBake is
likely to be.

This is suboptimal as BitBake could be somewhere else, so this
approach doesn't scale to other layers at all.

Solve this by adding BITBAKEDIR/lib to PYTHONPATH in oe-buildenv-internal,
so that Python has BitBake on its search path once the build system is
configured.

(From OE-Core rev: a48178f6d00e7f97a09f42d5a164204e9dcffa9f)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-06 08:41:26 +01:00
Bastian Krause
ce39d05d51 ccache: add packageconfig docs option
Before, ccache's configure stage built HTML documentation and man pages
depending on if asciidoc is installed. This patch makes it configurable.

Pass the new cmake option BUILD_DOCS along and add the asciidoc
dependency if necessary.

This fixes an issue when ccache's configure stage found asciidoc/a2x on
the system outside of the sysroot (e.g. installed via 'apt install
asciidoc'). ccache would then decide to build docs and manual pages, but
would fail during compilation: the system's a2x could not find the
system's asciidoc because it did not reside in the set PATH.

By enabling/disabling docs/man page generation explicitly and adding
asciidoc to DEPENDS as necessary, this is no longer an issue.

(From OE-Core rev: b0aedd74f13b174861ff742eb503d8d343f9e714)

Signed-off-by: Bastian Krause <bst@pengutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-06 08:41:26 +01:00
Richard Purdie
9f951a2d49 Revert "perl: fix startperl configuration option for perl-native"
This reverts commit f2d1523b19cb066a4a06609f036822fe4a8b43f0.

We've reports of a number of failures from this, it causes pod2man to
reference full paths to perl rather than nativeperl from the environment.
I've also seen this issue locally now. Revert until we can find a solution
which works for everyone.

(From OE-Core rev: 231c99728da9d81c9430a2aa62239ce28734ef4a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-06 08:41:26 +01:00
Khem Raj
5a0679cb75 busybox: Fix reproducibility
The ensures that globbing results in same order irrespective of shell in
use

(From OE-Core rev: fdeee94fa78f91613850500b209b75a6608241d0)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-04 22:48:17 +01:00
Jose Quaresma
30f3691c3f gstreamer1.0: update ptest patch
- rework the ptest patch with a new one that are sent upstream [1].
- it uses the same approach as the existing patch in OE-Core but
  is based on the glib meson installed-tests [2] logic.

* qemux86-64 ptest-runner result
  SUMMARY: total=105; passed=105; skipped=0; failed=0; user=20.4s; system=4.7s; maxrss=9928

[1] - https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789
[2] - 1bba3276bb

(From OE-Core rev: 44befb922e061823c636c7ccbf09cc5e7defd9e2)

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-04 22:48:17 +01:00
Jose Quaresma
0728558a52 gstreamer1.0: rename patches
(From OE-Core rev: 793b6f72e5b06cbbc7a8eec6c8880d9e407b8a2e)

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-04 22:48:16 +01:00
Jose Quaresma
faf1197865 ptest-runner: libgcc must be installed for pthread_cancel to work
This only affects glibc systems and have been
found on runqemu core-image-minimal with gstreamer ptest-runner

STOP: ptest-runner
libgcc_s.so.1 must be installed for pthread_cancel to work
Aborted

(From OE-Core rev: 1cb679e6a4528a2cef16f65342d5e65adb14cb16)

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-04 22:48:16 +01:00
Sakib Sajal
dad4cfaca3 qemu: fix CVE-2021-20263
virtiofs: drop remapped security.capability xattr as needed

(From OE-Core rev: 7ad71de89dd60700cbaad2df1937bc3d743112da)

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-04 22:48:16 +01:00
Sakib Sajal
9f31c9ebeb qemu: fix CVE-2020-27821
memory: clamp cached translation in case it points to an MMIO region

(From OE-Core rev: df92b3359743ed1837fa57df8035d121f5c5676b)

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-04 22:48:16 +01:00
Bruce Ashfield
7cb612add7 linux-yocto/5.4: update to v5.4.116
Updating linux-yocto/5.4 to the latest korg -stable release that comprises
the following commits:

    370636ffbb86 Linux 5.4.116
    e23967af130b bpf: Update selftests to reflect new error states
    ef4e68f0af04 bpf: Tighten speculative pointer arithmetic mask
    4dc6e55e282f bpf: Move sanitize_val_alu out of op switch
    876d1cec9369 bpf: Refactor and streamline bounds check into helper
    4158e5fea3b1 bpf: Improve verifier error messages for users
    15de0c537bf7 bpf: Rework ptr_limit into alu_limit and add common error path
    f7fbedc90909 bpf: Ensure off_reg has no mixed signed bounds for all types
    4a163b1c7053 bpf: Move off_reg into sanitize_ptr_alu
    19bfeb47e96b Linux 5.4.115
    af7099bad495 USB: CDC-ACM: fix poison/unpoison imbalance
    d7fad2ce15bd net: hso: fix NULL-deref on disconnect regression
    699017fe0de4 x86/crash: Fix crash_setup_memmap_entries() out-of-bounds access
    b3962b4e8334 ia64: tools: remove duplicate definition of ia64_mf() on ia64
    763cbe5e1ebb ia64: fix discontig.c section mismatches
    3dce9c4bb546 csky: change a Kconfig symbol name to fix e1000 build error
    892f6bc55746 cavium/liquidio: Fix duplicate argument
    2ccca124620e xen-netback: Check for hotplug-status existence before watching
    78687d6a3213 s390/entry: save the caller of psw_idle
    026490fac496 net: geneve: check skb is large enough for IPv4/IPv6 header
    caaf9371ecad ARM: dts: Fix swapped mmc order for omap3
    be60afbb9136 HID: wacom: Assign boolean values to a bool variable
    116ee59ef886 HID: alps: fix error return code in alps_input_configured()
    a4e2b91cea52 HID: google: add don USB id
    aefb6ac6ac11 perf auxtrace: Fix potential NULL pointer dereference
    39638289595b perf/x86/kvm: Fix Broadwell Xeon stepping in isolation_ucodes[]
    319a06e58ed7 perf/x86/intel/uncore: Remove uncore extra PCI dev HSWEP_PCI_PCU_3
    82808cc02681 locking/qrwlock: Fix ordering in queued_write_lock_slowpath()
    c6eb92b37af1 arm64: dts: allwinner: Revert SD card CD GPIO for Pine64-LTS
    37ee803d7ed7 pinctrl: lewisburg: Update number of pins in community
    dbb355960ef9 gpio: omap: Save and restore sysconfig
    835c8d688e1e s390/ptrace: return -ENOSYS when invalid syscall is supplied

(From OE-Core rev: 667352cc46429f3d8eca12cf93c26be2d26e5d74)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-04 22:48:16 +01:00
Bruce Ashfield
538c918fa3 linux-yocto/5.10: update to v5.10.34
Updating linux-yocto/5.10 to the latest korg -stable release that comprises
the following commits:

    0aa66717f684 Linux 5.10.34
    47d54b990103 mei: me: add Alder Lake P device id.
    2a442f11407e iwlwifi: Fix softirq/hardirq disabling in iwl_pcie_gen2_enqueue_hcmd()
    8bd8301ccc11 Linux 5.10.33
    8a661bad6cee USB: CDC-ACM: fix poison/unpoison imbalance
    90642ee9eb58 net: hso: fix NULL-deref on disconnect regression
    31720f9e87c0 x86/crash: Fix crash_setup_memmap_entries() out-of-bounds access
    bed21bed2e79 ia64: tools: remove duplicate definition of ia64_mf() on ia64
    ba0910ad1c57 ia64: fix discontig.c section mismatches
    f4a777bcc8d1 csky: change a Kconfig symbol name to fix e1000 build error
    393200a1b095 kasan: fix hwasan build for gcc
    f2b46286e326 cavium/liquidio: Fix duplicate argument
    1bfefd866195 xen-netback: Check for hotplug-status existence before watching
    509ae27a1874 arm64: kprobes: Restore local irqflag if kprobes is cancelled
    da99331fc6ce s390/entry: save the caller of psw_idle
    d33031a894d2 dmaengine: tegra20: Fix runtime PM imbalance on error
    66d0cf7dcaa1 net: geneve: check skb is large enough for IPv4/IPv6 header
    6ce64437224d ARM: dts: Fix swapped mmc order for omap3
    db010ba54a96 dmaengine: xilinx: dpdma: Fix race condition in done IRQ
    e8d9a93ec46e dmaengine: xilinx: dpdma: Fix descriptor issuing on video group
    eb2c81ee764d soc: qcom: geni: shield geni_icc_get() for ACPI boot
    8c4bfe30eb55 HID: wacom: Assign boolean values to a bool variable
    e913cbc952c3 HID cp2112: fix support for multiple gpiochips
    f691dc86411d HID: alps: fix error return code in alps_input_configured()
    079e32723f78 HID: google: add don USB id
    ffe249b4fc2c perf map: Fix error return code in maps__clone()
    4d0cfb3713bc perf auxtrace: Fix potential NULL pointer dereference
    ab112cc573cc perf/x86/kvm: Fix Broadwell Xeon stepping in isolation_ucodes[]
    6f8315e5d951 perf/x86/intel/uncore: Remove uncore extra PCI dev HSWEP_PCI_PCU_3
    82fa9ced35d8 locking/qrwlock: Fix ordering in queued_write_lock_slowpath()
    b642e493a9a0 bpf: Tighten speculative pointer arithmetic mask
    2982ea926b5c bpf: Refactor and streamline bounds check into helper
    f3c4b01689d3 bpf: Allow variable-offset stack access
    f79efcb0075a bpf: Permits pointers on stack for helper calls
    edc5d1601389 arm64: dts: allwinner: Revert SD card CD GPIO for Pine64-LTS
    83d93d05376a pinctrl: core: Show pin numbers for the controllers with base = 0
    fc2454cc0c4b block: return -EBUSY when there are open partitions in blkdev_reread_part
    2bbd8aafde36 pinctrl: lewisburg: Update number of pins in community
    a8cd07e4400d vdpa/mlx5: Set err = -ENOMEM in case dma_map_sg_attrs fails
    bf84ef2dd2cc KEYS: trusted: Fix TPM reservation for seal/unseal
    9857fccd653c gpio: omap: Save and restore sysconfig
    71777492b745 vhost-vdpa: protect concurrent access to vhost device iotlb

(From OE-Core rev: 2cfc4489c14f8d1ec2c6fc2aa411d158058f5aea)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-04 22:48:16 +01:00
Bruce Ashfield
18c45c5bcb linux-yocto/5.4: update to v5.4.114
Updating linux-yocto/5.4 to the latest korg -stable release that comprises
the following commits:

    a7eb81c1d11a Linux 5.4.114
    3822683fd101 net: phy: marvell: fix detection of PHY on Topaz switches
    cec3b778f70f ARM: 9071/1: uprobes: Don't hook on thumb instructions
    4f0cda5e9e62 r8169: don't advertise pause in jumbo mode
    c5934da725bb r8169: tweak max read request size for newer chips also in jumbo mtu mode
    50b7a68664dc r8169: improve rtl_jumbo_config
    cbbd3e2a2e7c r8169: fix performance regression related to PCIe max read request size
    0243bb394186 r8169: simplify setting PCI_EXP_DEVCTL_NOSNOOP_EN
    c667953d6433 r8169: remove fiddling with the PCIe max read request size
    b14992c96274 arm64: dts: allwinner: Fix SD card CD GPIO for SOPine systems
    871b569a3e67 ARM: footbridge: fix PCI interrupt mapping
    9a7ac9afc8d7 gro: ensure frag0 meets IP header alignment
    fde195c03bff ibmvnic: remove duplicate napi_schedule call in open function
    c591bbaae545 ibmvnic: remove duplicate napi_schedule call in do_reset function
    c6acd7d19124 ibmvnic: avoid calling napi_disable() twice
    2bc14f5eca10 i40e: fix the panic when running bpf in xdpdrv mode
    51edda8a6334 net: ip6_tunnel: Unregister catch-all devices
    92f93a03cef0 net: sit: Unregister catch-all devices
    4fcbb1fa2703 net: davicom: Fix regulator not turned off on failed probe
    01fb1626b620 netfilter: nft_limit: avoid possible divide error in nft_limit_init
    e65cd80558e5 net: macb: fix the restore of cmp registers
    6449b405f99a netfilter: arp_tables: add pre_exit hook for table unregister
    ce23be37ecac netfilter: bridge: add pre_exit hooks for ebtable unregistration
    61ca5b653220 libnvdimm/region: Fix nvdimm_has_flush() to handle ND_REGION_ASYNC
    4ce8e86d125d netfilter: conntrack: do not print icmpv6 as unknown via /proc
    5f6c1a81713e scsi: libsas: Reset num_scatter if libata marks qc as NODATA
    7779f84e4677 riscv: Fix spelling mistake "SPARSEMEM" to "SPARSMEM"
    ec3bb712fb62 vfio/pci: Add missing range check in vfio_pci_mmap
    9e8c5e3d8279 arm64: alternatives: Move length validation in alternative_{insn, endif}
    b7d15166c1d1 arm64: fix inline asm in load_unaligned_zeropad()
    b9956950f23c readdir: make sure to verify directory entry for legacy interfaces too
    ff821c7ce913 dm verity fec: fix misaligned RS roots IO
    804607635cc1 HID: wacom: set EV_KEY and EV_ABS only for non-HID_GENERIC type of devices
    b428063fb310 Input: i8042 - fix Pegatron C15B ID entry
    995503dd6546 Input: s6sy761 - fix coordinate read bit shift
    7a2ac9ed8cf6 virt_wifi: Return micros for BSS TSF values
    bd7e90c82850 mac80211: clear sta->fast_rx when STA removed from 4-addr VLAN
    f666567a51fb pcnet32: Use pci_resource_len to validate PCI resource
    9e249bc38a48 net: ieee802154: forbid monitor for add llsec seclevel
    7a7899eaaeb8 net: ieee802154: stop dump llsec seclevels for monitors
    fc5f9c33edb5 net: ieee802154: forbid monitor for del llsec devkey
    63581374638b net: ieee802154: forbid monitor for add llsec devkey
    0d5ee2ee9ab2 net: ieee802154: stop dump llsec devkeys for monitors
    6c8caf78304f net: ieee802154: forbid monitor for del llsec dev
    c993c05b9d48 net: ieee802154: forbid monitor for add llsec dev
    f9d7088d385c net: ieee802154: stop dump llsec devs for monitors
    178ddee28d53 net: ieee802154: forbid monitor for del llsec key
    5d025404d513 net: ieee802154: forbid monitor for add llsec key
    d8b4f3a9d732 net: ieee802154: stop dump llsec keys for monitors
    e16998019358 scsi: scsi_transport_srp: Don't block target in SRP_PORT_LOST state
    f0268d35305d ASoC: fsl_esai: Fix TDM slot setup for I2S mode
    d60837aa64be drm/msm: Fix a5xx/a6xx timestamps
    01e86da75c18 ARM: omap1: fix building with clang IAS
    4f02dc4d360f ARM: keystone: fix integer overflow warning
    f3183866b3da neighbour: Disregard DEAD dst in neigh_update
    1cf8b48a4de2 ASoC: max98373: Added 30ms turn on/off time delay
    47d04c039915 arc: kernel: Return -EFAULT if copy_to_user() fails
    68bd0d8ab19e lockdep: Add a missing initialization hint to the "INFO: Trying to register non-static key" message
    6ffc9f854d23 ARM: dts: Fix moving mmc devices with aliases for omap4 & 5
    4609d27ca6e4 ARM: dts: Drop duplicate sha2md5_fck to fix clk_disable race
    09db44ad36b0 dmaengine: dw: Make it dependent to HAS_IOMEM
    5130cda3cb1f gpio: sysfs: Obey valid_mask
    2dce5702ef05 Input: nspire-keypad - enable interrupts only when opened
    6180d2274b17 net/sctp: fix race condition in sctp_destroy_sock
    304c21786b01 scsi: qla2xxx: Fix fabric scan hang
    ca0188d396cd scsi: qla2xxx: Fix stuck login session using prli_pend_timer
    c393c7f77cf8 scsi: qla2xxx: Add a shadow variable to hold disc_state history of fcport
    ad66dc6d8830 scsi: qla2xxx: Retry PLOGI on FC-NVMe PRLI failure
    8b5e82aea7b3 scsi: qla2xxx: Fix device connect issues in P2P configuration
    8eed34d3c444 scsi: qla2xxx: Dual FCP-NVMe target port support
    33beb0e6c244 Revert "scsi: qla2xxx: Fix stuck login session using prli_pend_timer"
    94ac0a8866c4 Revert "scsi: qla2xxx: Retry PLOGI on FC-NVMe PRLI failure"
    ab3bed80f9d3 Linux 5.4.113
    94371b6c5553 xen/events: fix setting irq affinity
    4ea6097986c4 perf map: Tighten snprintf() string precision to pass gcc check on some 32-bit arches
    d462247bb274 perf tools: Use %zd for size_t printf formats on 32-bit
    2715a4c0dc34 perf tools: Use %define api.pure full instead of %pure-parser
    799f02f0dfc4 driver core: Fix locking bug in deferred_probe_timeout_work_func()
    cc59b872f2e1 netfilter: x_tables: fix compat match/target pad out-of-bound write
    8119a2b42028 block: don't ignore REQ_NOWAIT for direct IO
    2d71bffbe9a0 riscv,entry: fix misaligned base for excp_vect_table
    90b71ae8e5cf idr test suite: Create anchor before launching throbber
    b9299c2bf554 idr test suite: Take RCU read lock in idr_find_test_1
    cde89079ce46 radix tree test suite: Register the main thread with the RCU library
    f5b60f26e36b block: only update parent bi_status when bio fail
    5b8f89685a9a drm/tegra: dc: Don't set PLL clock to 0Hz
    db162d8d7d08 gfs2: report "already frozen/thawed" errors
    3c89c7240412 drm/imx: imx-ldb: fix out of bounds array access warning
    e1ff1c6bbe4b KVM: arm64: Disable guest access to trace filter controls
    2012f9f75444 KVM: arm64: Hide system instruction access to Trace registers
    cc678e2f372e interconnect: core: fix error return code of icc_link_destroy()

(From OE-Core rev: a24b8651365b333e903b317ad969ba8adfed28c4)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-04 22:48:16 +01:00
Bruce Ashfield
327eb77b0e perf: fix python-audit RDEPENDS
When doing the perf python3 conversion, the audit-python RDEPENDS
was caught up in the regex replacement and was incorrectly changed.

The audit recipe continues to produce a package called audit-python
and it is that package we should have as a RDEPENDS.

(From OE-Core rev: 7eccb9c0c2ea00685451c44cb8faa96c4a2272fd)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-04 22:48:16 +01:00
Bruce Ashfield
afca35c665 linux-yocto/5.10: update to v5.10.32
Updating linux-yocto/5.10 to the latest korg -stable release that comprises
the following commits:

    aea70bd5a455 Linux 5.10.32
    6ac98ee9cb7c net: phy: marvell: fix detection of PHY on Topaz switches
    fbe6603e7cab bpf: Move sanitize_val_alu out of op switch
    7723d3243857 bpf: Improve verifier error messages for users
    55565c307908 bpf: Rework ptr_limit into alu_limit and add common error path
    496e2fabbbe3 arm64: mte: Ensure TIF_MTE_ASYNC_FAULT is set atomically
    cada2ed0bb70 ARM: 9071/1: uprobes: Don't hook on thumb instructions
    480d875f1242 bpf: Move off_reg into sanitize_ptr_alu
    589fd9684dfa bpf: Ensure off_reg has no mixed signed bounds for all types
    b2df20c0f19f r8169: don't advertise pause in jumbo mode
    154fb9cb3e6f r8169: tweak max read request size for newer chips also in jumbo mtu mode
    7f64753835a7 KVM: VMX: Don't use vcpu->run->internal.ndata as an array index
    c670ff84fac9 KVM: VMX: Convert vcpu_vmx.exit_reason to a union
    4f3ff11204ea bpf: Use correct permission flag for mixed signed bounds arithmetic
    8d7906c548aa arm64: dts: allwinner: h6: beelink-gs1: Remove ext. 32 kHz osc reference
    286c39d08664 arm64: dts: allwinner: Fix SD card CD GPIO for SOPine systems
    4f90db2e92d2 ARM: OMAP2+: Fix uninitialized sr_inst
    1fc087fdb98d ARM: footbridge: fix PCI interrupt mapping
    11a718ef953f ARM: 9069/1: NOMMU: Fix conversion for_each_membock() to for_each_mem_range()
    a13d4a1228ab ARM: OMAP2+: Fix warning for omap_init_time_of()
    9143158a6bd3 gro: ensure frag0 meets IP header alignment
    fd766f792a56 ch_ktls: do not send snd_una update to TCB in middle
    65bdd564b387 ch_ktls: tcb close causes tls connection failure
    5f3c278035c0 ch_ktls: fix device connection close
    8d5a9dbd2116 ch_ktls: Fix kernel panic
    976da1b08784 ibmvnic: remove duplicate napi_schedule call in open function
    008885a880dc ibmvnic: remove duplicate napi_schedule call in do_reset function
    685bc730e3a9 ibmvnic: avoid calling napi_disable() twice
    e154b5060aa1 ia64: tools: remove inclusion of ia64-specific version of errno.h header
    f8f01fc8c653 ia64: remove duplicate entries in generic_defconfig
    1aec111c944f ethtool: pause: make sure we init driver stats
    44ef38c0a2b3 i40e: fix the panic when running bpf in xdpdrv mode
    35d7491e2f77 net: Make tcp_allowed_congestion_control readonly in non-init netns
    76af8126a6e4 mm: ptdump: fix build failure
    33f3dab42ae2 net: ip6_tunnel: Unregister catch-all devices
    ea0340e632ba net: sit: Unregister catch-all devices
    154ac84d497a net: davicom: Fix regulator not turned off on failed probe
    e072247938a8 net/mlx5e: Fix setting of RS FEC mode
    dc1732baa9da netfilter: nft_limit: avoid possible divide error in nft_limit_init
    cda5507d234f net/mlx5e: fix ingress_ifindex check in mlx5e_flower_parse_meta
    40ed1d29f151 net: macb: fix the restore of cmp registers
    7f8e59c4c5e5 libbpf: Fix potential NULL pointer dereference
    7824d5a9935a netfilter: arp_tables: add pre_exit hook for table unregister
    4d26865974fb netfilter: bridge: add pre_exit hooks for ebtable unregistration
    eb82199e377a libnvdimm/region: Fix nvdimm_has_flush() to handle ND_REGION_ASYNC
    a2af8a0f38e4 ice: Fix potential infinite loop when using u8 loop counter
    783645e65b57 netfilter: conntrack: do not print icmpv6 as unknown via /proc
    394c81e36e49 netfilter: flowtable: fix NAT IPv6 offload mangling
    be07581aacae ixgbe: fix unbalanced device enable/disable in suspend/resume
    0ef9919a06a3 scsi: libsas: Reset num_scatter if libata marks qc as NODATA
    6a70ab9769cd riscv: Fix spelling mistake "SPARSEMEM" to "SPARSMEM"
    f66d695c06f4 vfio/pci: Add missing range check in vfio_pci_mmap
    e6177990e17d arm64: alternatives: Move length validation in alternative_{insn, endif}
    e2931f05eb32 arm64: fix inline asm in load_unaligned_zeropad()
    957f83a138f1 readdir: make sure to verify directory entry for legacy interfaces too
    2b8308741cf5 dm verity fec: fix misaligned RS roots IO
    18ba387261ea HID: wacom: set EV_KEY and EV_ABS only for non-HID_GENERIC type of devices
    dedf75aec8fc Input: i8042 - fix Pegatron C15B ID entry
    8b978750dcd2 Input: s6sy761 - fix coordinate read bit shift
    955da2b5cd98 lib: fix kconfig dependency on ARCH_WANT_FRAME_POINTERS
    024f9d048000 virt_wifi: Return micros for BSS TSF values
    cc413b375c6d mac80211: clear sta->fast_rx when STA removed from 4-addr VLAN
    2e08d9a56838 pcnet32: Use pci_resource_len to validate PCI resource
    248b9b61b951 net: ieee802154: forbid monitor for add llsec seclevel
    b97c7bc42d8d net: ieee802154: stop dump llsec seclevels for monitors
    ab9f9a1d5874 net: ieee802154: forbid monitor for del llsec devkey
    4846c2debb2c net: ieee802154: forbid monitor for add llsec devkey
    07714229e0e2 net: ieee802154: stop dump llsec devkeys for monitors
    4c1775d6ea86 net: ieee802154: forbid monitor for del llsec dev
    813b13155d14 net: ieee802154: forbid monitor for add llsec dev
    2f80452951b5 net: ieee802154: stop dump llsec devs for monitors
    08744a622faa net: ieee802154: forbid monitor for del llsec key
    7edf4d2baa8a net: ieee802154: forbid monitor for add llsec key
    c09075df5e4d net: ieee802154: stop dump llsec keys for monitors
    8b9485b651d4 iwlwifi: add support for Qu with AX201 device
    c836374bacfa scsi: scsi_transport_srp: Don't block target in SRP_PORT_LOST state
    d9fc084067f5 ASoC: fsl_esai: Fix TDM slot setup for I2S mode
    79ef0e6c0cf8 drm/msm: Fix a5xx/a6xx timestamps
    d61238aa6482 ARM: omap1: fix building with clang IAS
    505c48942f04 ARM: keystone: fix integer overflow warning
    0d0ad98bee39 neighbour: Disregard DEAD dst in neigh_update
    7a1cd9044da4 gpu/xen: Fix a use after free in xen_drm_drv_init
    bfb5a1523f17 ASoC: max98373: Added 30ms turn on/off time delay
    58d59d9ae56f ASoC: max98373: Changed amp shutdown register as volatile
    b2f8476193eb xfrm: BEET mode doesn't support fragments for inner packets
    806addaf8dfd iwlwifi: Fix softirq/hardirq disabling in iwl_pcie_enqueue_hcmd()
    b448a6a2fc5a arc: kernel: Return -EFAULT if copy_to_user() fails
    f12e8cf6b180 lockdep: Add a missing initialization hint to the "INFO: Trying to register non-static key" message
    a55de4f0d1d4 ARM: dts: Fix moving mmc devices with aliases for omap4 & 5
    9f399a9d7006 ARM: dts: Drop duplicate sha2md5_fck to fix clk_disable race
    f338b8fffd75 ACPI: x86: Call acpi_boot_table_init() after acpi_table_upgrade()
    e5eb9757fe4c dmaengine: idxd: fix wq cleanup of WQCFG registers
    4c59c5c8668e dmaengine: plx_dma: add a missing put_device() on error path
    ac030f5c5680 dmaengine: Fix a double free in dma_async_device_register
    56f9c04893fb dmaengine: dw: Make it dependent to HAS_IOMEM
    4ecf25595273 dmaengine: idxd: fix wq size store permission state
    db23b7b5ca3e dmaengine: idxd: fix opcap sysfs attribute output
    0e3f14755111 dmaengine: idxd: fix delta_rec and crc size field for completion record
    a5ad12d5d69c dmaengine: idxd: Fix clobbering of SWERR overflow bit on writeback
    f567fde02baa gpio: sysfs: Obey valid_mask
    dfed481e62e5 Input: nspire-keypad - enable interrupts only when opened
    b80ea54e1e71 mtd: rawnand: mtk: Fix WAITRDY break condition and timeout
    5a627026be4a net/sctp: fix race condition in sctp_destroy_sock
    65f1995ea1e9 Linux 5.10.31
    ceee49ca34bf xen/events: fix setting irq affinity
    9d9facd32d89 net: sfp: cope with SFPs that set both LOS normal and LOS inverted
    2a60ab2dab3d net: sfp: relax bitrate-derived mode check
    cd8ce27e6caa perf map: Tighten snprintf() string precision to pass gcc check on some 32-bit arches
    1f3b9000cb44 netfilter: x_tables: fix compat match/target pad out-of-bound write
    5402a67ac403 block: don't ignore REQ_NOWAIT for direct IO
    efa7b6e4017a riscv,entry: fix misaligned base for excp_vect_table
    6fbdce3cde97 io_uring: don't mark S_ISBLK async work as unbounded
    5d4600017bee null_blk: fix command timeout completion handling
    b1f6c6f39bd6 idr test suite: Create anchor before launching throbber
    9a7552daa93b idr test suite: Take RCU read lock in idr_find_test_1
    edd822b69241 radix tree test suite: Register the main thread with the RCU library
    1d2310d95fb8 block: only update parent bi_status when bio fail
    d99e22c0ea74 XArray: Fix splitting to non-zero orders
    9576dd89554e gpu: host1x: Use different lock classes for each client
    39af2f472f21 drm/tegra: dc: Don't set PLL clock to 0Hz
    e4a0956574c7 tools/kvm_stat: Add restart delay
    1dcb3ebc2416 ftrace: Check if pages were allocated before calling free_pages()
    6c6d58322079 gfs2: report "already frozen/thawed" errors
    870c8df1d192 drm/imx: imx-ldb: fix out of bounds array access warning
    5b50468a2d4d KVM: arm64: Disable guest access to trace filter controls
    fa0c0dce589d KVM: arm64: Hide system instruction access to Trace registers
    57fb08fb9a25 gfs2: Flag a withdraw if init_threads() fails
    9b57ecb01b43 interconnect: core: fix error return code of icc_link_destroy()

(From OE-Core rev: 91fcd094619e25d63a80231c3b776788504ce37b)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-04 22:48:16 +01:00
Bruce Ashfield
551ae27ea0 linux-yocto/5.10: qemuriscv32.cfg: RV32 only supports 1G physical memory
Integrating the following commit(s) to linux-yocto/5.10:

    a19886b00ea qemuriscv32.cfg: RV32 only supports 1G physical memory

(From OE-Core rev: 894f5328d395872f69bd48c59518bbafb7cbd61e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-04 22:48:16 +01:00
Bruce Ashfield
fc7a4c3be9 linux-yocto/5.10: aufs fixes
It was reported that aufs was behaving incorrectly on arm/x86. Although
we don't have an exact fix for the issues, the Wind River guys were able
to come up with a minimal patch set to fix just the core issue, versus
a full aufs uprev.

We didn't have time to get this in before the release, but picking it up
in a dot release is sufficient. (given that it took several months for
the issue to be noticed).

Integrating the following commit(s) to linux-yocto/5.10:

    a8808e541750 aufs: linux-v5.10-rc1, no more f_op->read() and ->write()
    cb1c41dac775 for aufs: linux-v5.10-rc1, no more vfs_(read|write)f_t
    a5805df6583f aufs: linux-v5.10-rc1, no more set_fs()
    64e145dcca8c Revert "aufs: initial port to v5.10"

(From OE-Core rev: c290adec4e27f5d7987193e9a0749082f3ed3e20)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-04 22:48:16 +01:00
Stefano Babic
148ada9b35 libubootenv: upgrade 0.3.1 -> 0.3.2
This is a bugfix release which includes the following changes:

f4ab25d shared library: Link against zlib
e663439 Always fsync file writes
80b7f31 Treat '=' as an illegal character in variable names
950f541 libuboot_env: fix calculation of usable envsize
fb88032 Correct initialisations in libuboot_configure
20d1ec7 Force writing of environment if default is used
5ca11bd libuboot_env: correct length to usable env size length
cd4a8f1 libuboot_env_store: fix env double-null termination
9510164 uboot_env: fix infinite loop on short read (EOF)

(From OE-Core rev: ed270bd146139a85935544bc0c6f35c3ecc27313)

Signed-off-by: Stefano Babic <sbabic@denx.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-04 22:48:16 +01:00
Richard Purdie
fc277ba011 yocto-uninative: Update to 3.1 which includes a patchelf fix
(From OE-Core rev: 1d9d38eb6b3621fed58a217eeb4de1816e3e6487)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-03 15:38:47 +01:00
Khem Raj
b621ead6d5 gcc: Upgrade to GCC 11
Drop already upstream/backported patches

(From OE-Core rev: e64bf999a92aed3c6be38eae9e75ec9277638b95)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-03 15:23:48 +01:00
Khem Raj
4a72c681fa libgcc-initial: Do not build fp128 to decimal ppc functions
These functions depend on glibc headers e.g.
stdlib.h/fenv.h/string.h/stdio.h which do not exist when building
lbgcc-initial, and these functions are not needed during glibc build
so we are fine to disable them

introdcued with [1]
[1] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=781183595acba67a37c66f59a0c1d9b5fee7e248

(From OE-Core rev: 7883b4c1384fe30066072f39e9a930be537bc3b4)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-03 15:23:47 +01:00
Khem Raj
7d3e35204f webkitgtk: Update patch status
These patches are accepted in webkit master ( 2.34+ )

(From OE-Core rev: 1e5b73f068cfe709bf7188ed3fff46a391b89897)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-03 15:23:47 +01:00
Khem Raj
7c84c70161 webkitgtk: Fix reproducibility in minibrowser
(From OE-Core rev: 8f08ca440b6c2ad3494808ffa4ec6091722c0339)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-03 15:23:47 +01:00
Khem Raj
68dd1a5400 busybox: Enable long options for enabled applets
certain applets are enabled but the long options are not enabled for
them, it results in subtle failures in ptests where its expecting these
options e.g. gzip --best is commonly used in many package tests e.g.

root@qemux86-64:/usr/lib# grep -r "\-\-best" *
acl/ptest/Makefile:GZIP_ENV = --best
attr/ptest/Makefile:GZIP_ENV = --best
coreutils/ptest/Makefile:GZIP_ENV = --best
ethtool/ptest/Makefile:GZIP_ENV = --best
libxml2/ptest/Makefile:GZIP_ENV = --best
lttng-tools/ptest/Makefile:GZIP_ENV = --best
opkg/ptest/Makefile:GZIP_ENV = --best
perl/ptest/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm:    COMPRESS     ('gzip --best')
python3.9/test/test_gzip.py:        for compress_level in ('--fast', '--best'):
...

this ensures that these options are enabled by default, which makes them more
compatible than now with coreutils provided utilities

busybox size grows by 4K which perhaps is acceptable

--rwxr-xr-x root       root           817704 ./bin/busybox.nosuid
+-rwxr-xr-x root       root           821800 ./bin/busybox.nosuid

This makes autopoint-3/gettext pass

This patch add all the long options to this fragment. The long options
for a tool will only get enabled if the corresponding tool/feature is
enabled in main defconfig, otherwise it will be ignored in final .config

(From OE-Core rev: 6a6c64426f544fcd376f2eabdb5aecc0ab04e541)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-03 15:23:47 +01:00
Khem Raj
dee41e92f0 cml1.bbclass: Return sorted list of cfg files
Since these files are passed to merge_config.sh its better to use a
sorted list, so we can be sure that this list is always fed in same
order irrespective of python versions on host

(From OE-Core rev: 3d949f286c29bcaaf4dfc0aaffd15f129d1bab2d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-03 15:23:47 +01:00
Robert P. J. Day
68e84ae936 sdk-manual: fix broken formatting of sample command
And add proper quoting around the first instance
of the "image" word, as it refers to a keyword in the
subsequent command.

(From yocto-docs rev: 1ffaa1db5a6eba53558b714f6071ea2e9bfe03e6)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-03 13:37:48 +01:00
Michael Opdenacker
c075e28aa0 dev-manual: update references to Docker installation instructions
Update Docker installation URL on various plaforms, replacing
some URLs by the ones they now redirect to, renaming "Docker CE"
to "Docker Desktop" on Mac and Windows, and to "Docker Engine"
on GNU/Linux.

Stop mentioning "Docker Toolbox" which is now deprecated and
replaced by "Docker Desktop" on Mac and Windows.

(From yocto-docs rev: 8eb249aed50b7b5b2078648c9efd9c79262ae57f)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-03 13:37:48 +01:00
Robert P. J. Day
73d317c393 sdk-manual: "beablebone" -> "beaglebone"
(From yocto-docs rev: 29d8b6f07dddba43cf14706ec26cc8cf033d1040)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-03 13:37:48 +01:00
Alexander Kanavin
e1ebdcff7c dev-manual/common-tasks.rst: correct the documentation for debuginfod
Particularly,
- correctly describe the use of DEBUGINFOD_URLS; drop it from bitbake variables
- all necessary component tweaks are enabled by default via DISTRO_FEATURES
- provide on-target examples of what to look for when things work properly

(From yocto-docs rev: 6d5d568d427b22675b999f94ead829ab1bef0b21)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Reviewed-by: Quentin Schulz <foss@0leil.net>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-03 13:37:48 +01:00
zhengruoqin
f353ba0ec2 wireless-regdb: upgrade 2020.11.20 -> 2021.04.21
(From OE-Core rev: df540a630f87c02898f7ce5703f63e9c7bd2c156)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-02 23:21:42 +01:00
zhengruoqin
f03a094f3e python3-numpy: upgrade 1.20.1 -> 1.20.2
(From OE-Core rev: dc98345d7b6c5d4342415723d0b578c0268c646e)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-02 23:21:42 +01:00
zhengruoqin
eb31bf7ea3 libmicrohttpd: upgrade 0.9.72 -> 0.9.73
(From OE-Core rev: 079d56b24b4e1a577b58516c00000184542f2dfe)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-02 23:21:42 +01:00
Christophe Chapuis
2d96636ebc rootfs.py: find .ko.gz and .ko.xz kernel modules as well
* with xz PACKAGECONFIG enabled in kmod and xz module compression enabled in kernel
  the do_rootfs task doesn't run depmod in the image, because it thinks there are no modules:
  NOTE: No Kernel Modules found, not running depmod

(From OE-Core rev: 9c13ce05eae0f126eb150e48709e9bd06e9280fa)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Christophe Chapuis <chris.chapuis@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-02 23:21:42 +01:00
Stefan Ghinea
cd618cc017 xserver-xorg: fix CVE-2021-3472
Insufficient checks on the lengths of the XInput extension
ChangeFeedbackControl request can lead to out of bounds memory accesses
in the X server.

References:
https://nvd.nist.gov/vuln/detail/CVE-2021-3472

Upstream patches:
7aaf54a188

(From OE-Core rev: 6fec5fea942ce88e33e5cf4c2102d69ce25e7180)

Signed-off-by: Stefan Ghinea <stefan.ghinea@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-02 23:21:42 +01:00
Zqiang
c52b46825f rt-tests: Update rt-tests
When run cyclictest, the parameter enable NUMA. but in some BSP
which not support NUMA, will causes the test program to exit
directly and does not carry out subsequent operations, the
latest changes have fixed this problem. so update to the
latest branch to resolve.

(From OE-Core rev: a8a9b0d9155ee9f233e46021eae896552428c51a)

Signed-off-by: Zqiang <qiang.zhang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-02 23:21:42 +01:00
Khem Raj
7cd4258049 libpam: Provide needed env for tst-pam_start_confdir ptest
tst-pam_start_confdir needs a file called confdir and it should reside
in directory pointed by srcdir env variable, therefore copy confdir into
ptest package and export srcdir before running the ptests

(From OE-Core rev: 149d84b7eba8240737a301d0fd75b69e8a767854)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-02 23:21:42 +01:00
Khem Raj
0a5079681e bash: Include files needed for run-heredoc ptest
These files are used by this ptest case

103,108d102
< cat: ../y.tab.c: No such file or directory
< cmp: ../y.tab.c: No such file or directory
< cat: /usr/lib/bash/ptest/config.h: No such file or directory
< cmp: /usr/lib/bash/ptest/config.h: No such file or directory
< cat: /usr/lib/bash/ptest/version.h: No such file or directory
< cmp: /usr/lib/bash/ptest/version.h: No such file or directory
FAIL: run-heredoc

(From OE-Core rev: 0672a3dae14462e590959e966fef22b6e2a2ad09)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-02 23:21:42 +01:00
Richard Purdie
86a66606fe pybootchart/draw: Avoid divide by zero error
When disk stats don't run frequenctly enough, we see divide by zero
errors. The code already has a fallback path so ensure we use it
for this case too.

[YOCTO #14360]

(From OE-Core rev: b71d30aef5dc2c360432c0dd4147859dd303ea48)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-02 23:21:42 +01:00
Khem Raj
b80e6aeffe findutils: Do not use SIGSTKSZ
(From OE-Core rev: d2962c51e5588166b0618cd37364df32f040f671)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-02 23:21:42 +01:00
Khem Raj
984ffe3ab4 valgrind: Disable leak_cpp_interior test
This test is known to fail and especially is prominent with GCC-11
where stdc++17 is enabled by default

(From OE-Core rev: 7f549d7c1f0a3f3cf312ebe00ce8cfc0e787bf15)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-02 23:21:42 +01:00
Khem Raj
3ca350ebe7 bluez: Fix shadowing of pause function from libc
(From OE-Core rev: d5e0d319fc714a5af59ebec0b3a89851c04a6c4f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-02 23:21:42 +01:00
Khem Raj
e4f7cdf988 m4: Do not use SIGSTKSZ
Fixes
../../m4-1.4.18/lib/c-stack.c:55:26: error: missing binary operator before token "("
   55 | #elif HAVE_LIBSIGSEGV && SIGSTKSZ < 16384
      |                          ^~~~~~~~

(From OE-Core rev: 44ca8edd622782733d507e20a3d5ee9e44eb8be4)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-02 23:21:42 +01:00
Khem Raj
d713988268 pkgconfig: Fix nativesdk builds for mingw sdk hosts
pkgconfig uses a vendored version of ancient glib-2.0, which does not
have many of fixes that current glib-2.0 will have, we enable this
internal version for nativesdk/native recipe, which on mingw hosts does
not work well, as its missing necessary mingw support. This patch
backports couple of fixes which makes GCC11 happy

but its going to be a constant source of pain as long as we support mingw

(From OE-Core rev: 348b1ebb917cdd65e6678078e23a3f9fa079badc)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Joshua Watt <jpewhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-02 23:21:42 +01:00
Richard Purdie
c19e2c23be patchelf: Fix alignment patch
The previous fix was in the right direction but needed to account
for the section alignment of the current section. Tweak the patch
to handle this.

(From OE-Core rev: e464efc07a8997c43998a9c6a9544be11ab4f303)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-02 23:20:12 +01:00
Richard Purdie
93aaa5e994 bitbake: runqueue: Handle deferred task rehashing in multiconfig builds
If the hash of a task changes and that hash is a deferred task (e.g. a multiconfig
build), we need to ensure that the hash change propagates through to all the tasks
else the build will run multiple copies of the task, sometimes with oddly differing
results as the outhashes of native tasks built in differing locations can confuse
things.

(Bitbake rev: 2db571324f755edc4981deecbcfdf0aaa5a97627)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-01 22:51:06 +01:00
Richard Purdie
76891afd76 bitbake: runqueue: Fix multiconfig deferred task sstate validity caching issue
We were testing the validity of deferred tasks setscene status "up front" which
is very unlikely to succeed and leads to cache invalidation issues. With the
change to rebuild the deferred task list, this status becomes out of sync. The
result was tasks being executed when they should not have been leading to extra
work for the build unnecessarily.

Instead, don't process validity status for deferred tasks and assume their
data will become available. If it doesn't, this will now result in a build
error as the setscene task will fail and the main task will run instead.

In theory we could try and track the state changes in the deferred list and
re-test validity then but I'm not sure it is worth the effort when the other
code path and errors in setscene tasks will give a pretty good idea of what
is happening anyway.

(Bitbake rev: edcafac13b3b241b6687419e59018d21811507a1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-01 22:51:06 +01:00
Joshua Watt
f3e1a668fb bitbake: knotty: Re-enable command line logging levels
The "-l" command line options to enable specific logging domains wasn't
working with the switch to structured logging because they were only
being used to set the legacy logging domains. Fix this by implementing
the logic to parse the user options into the logging configuration.

(Bitbake rev: 005fc7a8c588d0b0bca382469645cbf481ad8e30)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-01 22:51:06 +01:00
Przemyslaw Gorszkowski
6da327c788 bitbake: fetch/s3: Add progress handler for S3 cp command
Adds progress support for fetchers from S3.

(Bitbake rev: 90d31b2d5a81e5f41fe95907c78fd2f5f36e39ee)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-01 22:51:06 +01:00
Przemyslaw Gorszkowski
a854068b52 bitbake: progress: LineFilterProgressHandler - Handle parsing line which ends with CR only
S3 commands need to handle different CR only line endings, update the handler
to cope with this.

(Bitbake rev: 3f7b9c1b429a4c68240e80832a8ef93ee210e5ff)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-01 22:51:06 +01:00
Minjae Kim
5e8e08df8b qemu: fix CVE-2021-3392
scsi: use-after-free in mptsas_process_scsi_io_request() of mptsas1068 emulator
(From OE-Core rev: 97ec10a1d7111dafde8609176ffa9e13cc1b8f1f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-01 22:48:17 +01:00
wangmy
a6ccd73562 libjitterentropy: upgrade 3.0.1 -> 3.0.2
(From OE-Core rev: 4c8a675e436e8e6b08baa5b4709244c04cc8f6f1)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-01 22:48:17 +01:00
wangmy
67dfa8b02a libhandy: upgrade 1.2.1 -> 1.2.2
(From OE-Core rev: 9f36a62fc6ff59885b41d932a838ec9145a46dc6)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-01 22:48:17 +01:00
wangmy
00e4a35b82 hdparm: upgrade 9.60 -> 9.61
(From OE-Core rev: e6c73cfb01299b5a98fb18063a04baacb59346fc)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-01 22:48:17 +01:00
wangmy
db195e73bc glslang: upgrade 11.2.0 -> 11.4.0
(From OE-Core rev: 857f413e1db69e42262e230b4aff110a00a20429)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-01 22:48:17 +01:00
wangmy
4a68753196 glib-networking: upgrade 2.66.0 -> 2.68.1
(From OE-Core rev: 12a9bb0feed96a0f3e0795106c6d95755ccb42b0)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-01 22:48:17 +01:00
wangmy
4dfba049f4 gdb: upgrade 10.1 -> 10.2
(From OE-Core rev: 7505165ac90ba34a465eb707c7e6c8ccbeae024d)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-01 22:48:17 +01:00
Paul Barker
f7f459bf65 prservice: Use new connect API
The new prserv connect() function decouples the code in oe-core from the
exact classes and implementation details used within bitbake. This
allows us to more easily switch over to a new asyncrpc based prservice.

(From OE-Core rev: 6bf39c5c8cf09e3f2ce6eba13b9d18193bce9655)

Signed-off-by: Paul Barker <pbarker@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-01 22:48:17 +01:00
Khem Raj
fc5b3c78e5 reproducible_build.bbclass: Enable -Wdate-time
This will help identifying packages using __TIME__, __DATE__ and
__TIMESTAMP__ macros in code, its a warning from the compiler and the
packages which use -Werror will break the build with this and where they
don't we will atleast have a warning in the build logs

(From OE-Core rev: 20335cd89001f5fb159f5f1b0c3bd5e40b8b2fb5)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-01 22:48:17 +01:00
Khem Raj
eb6154c46e gcc-runtime: Fix __FILE__ related reproducablity issues
libstdc++ uses assertion macros which use __FILE__ macros and

  if (__builtin_expect(!bool(_Condition), false))                      \
    std::__replacement_assert(__FILE__, __LINE__, __PRETTY_FUNCTION__, \
                              #_Condition)

This ends up using absolute paths into build tree for the cases where
the charconv header is used, therefore replace the file prefix paths
with on-target paths to make them build dir independent

(From OE-Core rev: 972c50d6e46ee9dfba8b8ea3867ebdbf24001e6e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-01 22:48:17 +01:00
Khem Raj
3b33c0870e ltp: Filter out -ffile-prefix-map
ffile-prefix-map is also needed for reproduble builds and when
introduced can be handled

(From OE-Core rev: 1f8132450b0192ad0c9f35f8b5dbac186c240e29)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-01 22:48:17 +01:00
Khem Raj
bc0a58343b openssl: Filter out -ffile-prefix-map as well
(From OE-Core rev: 1829fa0bda9a9388c3134866c471f26ec5658c36)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-01 22:48:17 +01:00
Khem Raj
08989d4f56 libid3tag: Filter -ffile-prefix-map too
helps when compiler has -ffile-prefix-map flag which helps
reproducibility as well

(From OE-Core rev: c3799bfdcc37ef139061aef22d125873607b0965)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-01 22:48:17 +01:00
Khem Raj
be3912baf9 libjpeg-turbo: Use --reproducible option for nasm
This ensures that nasm version and timestamps do but appear in build
outputs

(From OE-Core rev: 2f69c00c4bc1de6cd518fd78f67ff3ca863392f3)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-01 22:48:17 +01:00
Petr Vorel
efbef1daa3 ltp: Replace musl patches with do_patch[postfuncs]
MUSL related build fixes are not going to be upstreamed.  They just not
compile broken files, thus replace them with upstream solution for CI:
just deleting files for musl (easier to maintain).

(From OE-Core rev: c781677fd5f4e15bde17114468d9f66ba5dc38a2)

Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-01 22:48:17 +01:00
wangmy
3f657a908e mesa: upgrade 21.0.2 -> 21.0.3
(From OE-Core rev: a89ed8ce30a5830a0ac90aa633ec466b4e3a0ba1)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-01 22:48:17 +01:00
Richard Purdie
cde414f571 patchelf: Fix note section alignment issues
Improve note section normalization was added to patchelf in recent versions
however if fails if there are two note sections which aren't sized to match
section alignment. Tweak the code to account for section alignment.

This fixes patchelf failures on the autobuilder, particularly to ccache-native.

(From OE-Core rev: fee8dde0d597b511b37d8dcf215e8355980d5f2b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-01 22:43:11 +01:00
Richard Purdie
19c365d040 libxcrypt: Update to 4.4.19 release and fix symbol version issues
This patch upgrades to the 4.4.19 release and replaces a configure patch
from "libxcrypt: fix sporadic failures in nativesdk-libxcrypt-compat" with
a fix to avoid leading spaces in CFLAGS causing failures.

The license changed a few filenames listed in the license but the overall
license remains unchanged.

(From OE-Core rev: 7a2144f065c913ef189011b94d90de4dde51a347)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-30 16:42:25 +01:00
Sakib Sajal
c21419b1fe buildstats.bbclass: collect data in the same file.
Previously "at interval" and "on failure" logs were collected
in separate files. Collect both types of logging in the same
file for better analysis.

Introduced new variable which allows different set of commands
to be run by the different logging, interval or failure. The
variables are BB_LOG_HOST_STAT_CMDS_INTERVAL and
BB_LOG_HOST_STAT_CMDS_FAILURE respecteviely.

(From OE-Core rev: 4fbf422351668f755a14811ac39161c889087e81)

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-27 23:43:57 +01:00
Paul Barker
ebb7adac03 bitbake: prserv: Add connect function
This function abstracts the setup of a PR service client connection so
that openembedded-core doesn't need to be updated any time the details
are changed.

(Bitbake rev: d892287b31f81b075983ba500be265f75b53df64)

Signed-off-by: Paul Barker <pbarker@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-27 15:12:57 +01:00
Paul Barker
ad5c898808 bitbake: prserv: Drop unused dump_db method
(Bitbake rev: ecb7bf34eac02ff58dbc27b3768ceaf4adb1c9cd)

Signed-off-by: Paul Barker <pbarker@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-27 15:12:57 +01:00
Paul Barker
ea647326d1 bitbake: prserv: Drop obsolete python version check
Bitbake no longer supports Python 2 so this version check is obsolete.

(Bitbake rev: 45eb6c6e124e507012df9c288f1fbde0e7899e5d)

Signed-off-by: Paul Barker <pbarker@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-27 15:12:57 +01:00
Paul Barker
421e86e7ed bitbake: hashserv: Refactor to use asyncrpc
The asyncrpc module can now be used to provide the json & asyncio based
RPC system used by hashserv.

(Bitbake rev: 5afb9586b0a4a23a05efb0e8ff4a97262631ae4a)

Signed-off-by: Paul Barker <pbarker@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-27 15:12:57 +01:00
Paul Barker
244b044fd6 bitbake: asyncrpc: Common implementation of RPC using json & asyncio
The hashserv module implements a flexible RPC mechanism based on sending
json formatted messages over unix or tcp sockets and uses Python's
asyncio features to build an efficient message loop on both the client
and server side. Much of this implementation is not specific to the
hash equivalency service and can be extracted into a new module for
easy re-use elsewhere in bitbake.

(Bitbake rev: 4105ffd967fa86154ad67366aaf0f898abf78d14)

Signed-off-by: Paul Barker <pbarker@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-27 15:12:57 +01:00
Paul Barker
1023671823 bitbake: hashserv: Use generic ConnectionError
The Python built-in ConnectionError type can be used instead of a custom
HashConnectionError type. This will make code refactoring simpler.

(Bitbake rev: 8a796c3d6d99cfa8ef7aff0ae55bb0f23bbbeae1)

Signed-off-by: Paul Barker <pbarker@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-27 15:12:57 +01:00
Alexander Kanavin
bf348561f3 core-image-multilib-example: base on weston, and not sato
(From OE-Core rev: 56cd96651c6304712fd544fbc9b69c986d2b2efe)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-27 15:11:47 +01:00
Alexander Kanavin
06413d33b3 oeqa/selftest: transition to weston images
For readonly rootfs tests core-image-weston
is appended; everywhere else it replaces core-image-sato.

(From OE-Core rev: 75e042db853b9bf9a70ff8a5abe6d45ebb0b77a9)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-27 15:11:47 +01:00
Alexander Kanavin
377a73d5b7 oeqa/core/tests/test_data.py: use weston image instead of sato
(From OE-Core rev: c2ccd8c8144cdda52b858589f7d5d3a15ab28b90)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-27 15:11:47 +01:00
Alexander Kanavin
f66d90a06f core-image-weston: add sdk/ptest images
This is the first step towards rebasing the AB matrix from sato to
weston; the eventual goal is to keep sato only in core-image-sato
image.

The broader rationale is that X11 is effectively deprecated technology
at this point with only minimal maintenance; standalone X server will not
be developed any further, and all attention currently is towards making
it work well under Wayland.

I believe YP should be defaulting to Wayland and not X11.

(From OE-Core rev: 3a6996f87a9e32f2e6e668dce98f77d0b40fceb8)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-27 15:11:47 +01:00
Reto Schneider
73bdeae2fc license_image.bbclass: Fix symlink to generic license files
Link to the canonical filename of a license as only this one exists.

Fixes commit 670fe71dd18ea675f35581db4a61fda137f8bf00
[license_image.bbclass: use canonical name for license files].

(From OE-Core rev: 64b1ba978e079c345e1f7fbd1bf44052fc3dd857)

Signed-off-by: Reto Schneider <reto.schneider@husqvarnagroup.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-27 15:11:47 +01:00
Reto Schneider
62eb846232 license_image.bbclass: Detect broken symlinks
Find and report symlinks which point to a non-existing file.

(From OE-Core rev: 81809a1ffe67aade1b2ed66fe95044ffbf7d3df8)

Signed-off-by: Reto Schneider <reto.schneider@husqvarnagroup.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-27 15:11:47 +01:00
Sakib Sajal
f8b2e0f600 oe-time-dd-test.sh: collect cooker log when timeout is exceeded
Collect the last 30 lines from the cooker.log
whenever the timeout is exceeded.

(From OE-Core rev: 58f7cd4d6186525f08f3027975530d647cbfa26b)

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-27 15:11:47 +01:00
Khem Raj
6db9f63412 gnutls: Point to staging area for finding seccomp libs and includes
This ensures that if libseccomp is installed on build host then it does
not resort to use it.

Fixes
checking for libseccomp... (cached) yes
checking how to link with libseccomp... /usr/lib/libseccomp.so

(From OE-Core rev: 3751ac58720a500e3b749b2296922d7c82db49a1)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-27 15:11:47 +01:00
Saul Wold
3acbec85b0 qemurunner: Add support for qmp commands
This adds support for the Qemu Machine Protocol [0] extending
the current dump process for Host and Target. The commands are
added in the testimage.bbclass.

Currently, we setup qemu to stall until qmp gets connected and
sends the initialization and continue commands, this works
correctly. If the UNIX Socket does not exist, we wait an timeout
to ensure to socket file is created.

With this version, the monitor_dumper is created in OEQemuTarget
but then set in OESSHTarget as that's where we get the SSH failure
happens. Python's @property is used to create a setter/getter type
of setup in OESSHTarget to get overridden by OEQemuTarget.

By default the data is currently dumped to files for each command in
TMPDIR/log/runtime-hostdump/<date>_qmp/unknown_<seq>_qemu_monitor as
this is the naming convenstion in the dump.py code.

We use the qmp.py from qemu, which needs to get installed in the
recipe-sysroot-native of the target image.

[0] https://github.com/qemu/qemu/blob/master/docs/interop/qmp-spec.txt

(From OE-Core rev: 42af4cd2df72fc8ed9deb3fde4312909842fcf91)

Signed-off-by: Saul Wold <saul.wold@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-27 15:11:47 +01:00
Saul Wold
2c86aba6f0 qemu-system-native: install qmp python module
The qmp python module supports the Qemu Machine Protocol [0].
This module needs to be installed in a known location so the
qemurunner python script can find the qmp module.

This change causes it to be installed in the recipe-sysroot-native
of the target image and that directory can be added to the python
sys.path that needs to use the qmp.py module.

[0] https://github.com/qemu/qemu/blob/master/docs/interop/qmp-spec.txt

(From OE-Core rev: 46a60f67562a6ae227e018228212fc797d1f2795)

Signed-off-by: Saul Wold <saul.wold@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-27 15:11:47 +01:00
Khem Raj
8cf9b6529e gcc-cross-canadian: Install LTO linker plugin to BFD searchable location
This helps binutils provided tools ar/ranlib/nm to find the LTO linker
plugin automatically as well which makes it equivalent to gcc-ar/gcc-nm/gcc-ranlib

(From OE-Core rev: 7d8d0b90bea7ea01e1e9ab0ff98f22431f68a506)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-27 15:11:47 +01:00
Khem Raj
fb21d2e147 gcc-cross: Install linker LTO plugin for binutils tools
This will ensure that ar/ranlib/nm can load the lto linker plugin like
gcc-ar, gcc-nm, gcc-ranlib does, this will let the behaviour match
between gcc wrappers for these tools, this should help LTO builds for
packages

(From OE-Core rev: d6658505089234476c1b35fc08fef1eb4f121e85)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-27 15:11:47 +01:00
Khem Raj
dfc632785d bitbake.conf: Use gcc-nm as default NM
This ensures linker LTO plugin is loaded correctly

(From OE-Core rev: d6ffd683bf635548e0bfb3fd6458ed03e26ec2bf)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-27 15:11:47 +01:00
Khem Raj
d18f8178b8 gcc-target: Create a LTO plugin symlink in bfd-plugins directory
This directory is scanned by binutils provided ar,ranlib,nm for plugins
that it can load automatically, putting liblto_plugin.so in their means
we do not need gcc-ar, gcc-nm, gcc-ranlib particularly as normal
ar/ranlib/nm tools will work equally well as they can now use this
linker plugin by default

This also mean we can revert back to using ar/ranlib/nm as default
providers for AR/NM/RANLIB on target

(From OE-Core rev: 5aae5812223792d5e5bd57e024de50fbcd1e6da5)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-27 15:11:47 +01:00
Nicolas Dechesne
b3426e89f5 bitbake: doc: bitbake-user-manual: fix typo left over from Sphinx migration
Fixes d99760cc687c (sphinx: last manual round of fixes/improvements)

Reported-by: Michal Piechowski <m.z.piechowski@gmail.com>
(Bitbake rev: 00ce48919de720639eda2b6f7065a82b641e5167)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-26 15:26:14 +01:00
Michael Opdenacker
7e9305613d bitbake: doc: bitbake-user-manual: code insertion simplification over two lines
This simplifies paragraphs ending with a colon and followed
by code insertion.

Automatically substituted through the command:
sed -i -z "s/:\n\s*::/::/g" file.rst

This generates identical HTML output.

(Bitbake rev: 51c80fc3497eecc8e50194fe1ff8069b59f03eda)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-26 15:26:14 +01:00
Michael Opdenacker
91aacf4ed3 bitbake: doc: bitbake-user-manual: simplify colon usage
- This replaces instances of ": ::" by "::", which
  generates identical HTML output

(Bitbake rev: fd8ce4dcaff3aae395f9945fb0a3be54905e1727)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-26 15:26:14 +01:00
Khem Raj
a836bd6fc0 default-distrovars.inc: Remove seccomp for riscv32
libseccomp needs too be ported to rv32 first

(From OE-Core rev: ecf167c6419afd483f5291043a1d5072d388866b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-26 14:16:31 +01:00
Chen Qi
c9e8724e26 rsync: fix CVE-2020-14387
Backport patch to fix CVE-2020-14387.

(From OE-Core rev: 13f331436747ebb8e9211feee3aa774f1acd0fee)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-26 14:14:42 +01:00
Armin Kuster
71c216b4be default-distrovars.inc: Add seccomp to DISTRO_FEATURES_DEFAULT
Since xattr is included, seccomp should be too

(From OE-Core rev: e164bd55ef5becf691c2755d8d6af45a490fe9b2)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-26 14:14:42 +01:00
Khem Raj
3db18236b9 apt: Fix build on musl when seccomp is enabled
(From OE-Core rev: 3ffce694d75977895557ff61f27b627c1a11be12)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-26 14:14:42 +01:00
Richard Purdie
0086576160 apt: Disable libseccomp
This isn't in DEPENDS and isn't configured. It can detect the library when
pulled in via other dependencies meaning the build isn't deterministic.

Ultimately this could become a PACKAGECONFIG. It doesn't build on musl
so disable it for now until someone fixes and sorts this out properly.

(From OE-Core rev: 1425fe0f28a31b1d4004736b9edb036680e12c92)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-26 14:14:42 +01:00
Armin Kuster
f7c278c330 qemu: Enable seccomp if FEATURE is set
(From OE-Core rev: c057509306319cc0c2c7ef89154995ffd96c5646)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-26 14:14:42 +01:00
Armin Kuster
528547a46a systemd: Enable seccomp if FEATURE is set
(From OE-Core rev: c9d4fb93429a90191dc77e1dbc183535d66952cb)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-26 14:14:42 +01:00
Armin Kuster
65ecffc430 gnutls: Enable seccomp if FEATURE is set
(From OE-Core rev: f2527b5567252c7da4fbd863e119c8114e6debcd)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-26 14:14:42 +01:00
Richard Purdie
280a83d4af libseccomp: Fix reproducibility issue
Rather than installing libtool wrapper scripts which won't work on target
and aren't reproducible, use the real binaries.

(From OE-Core rev: 8afdf055b7b8bad6f0f13c3cd184d019c50a1e25)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-26 14:14:42 +01:00
Richard Purdie
e07821846b libseccomp: Add MAINTAINERS entry and HOMEPAGE
Add entries for the migrated recipe to passify the various checks.

(From OE-Core rev: cd49367af2b3daa8d3012ae2b8ace380d41cc0b9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-26 14:14:42 +01:00
Armin Kuster
241c7d2e67 libseccomp: move recipe from meta-security to core
ptest results:
Regression Test Summary
 tests run: 1404
 tests skipped: 369
 tests passed: 1402
 tests failed: 2
 tests errored: 154

Add feature_check so that the other recipes who can take
advantage of this funtionality can enable it.

(From OE-Core rev: 5b0182f5c01c8b10b4b65f8af55d682be4839947)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-26 14:14:42 +01:00
Marek Vasut
4d05decb97 linux-firmware: Package RSI 911x WiFi firmware
The RSI 911x WiFi firmware is already part of the linux-firmware
repository, package it to make it easily available.

(From OE-Core rev: cc44b71f6ea68ca0f483d635df7dc7b9905b1593)

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
Cc: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-26 14:14:42 +01:00
Richard Purdie
bf59f39653 yocto-check-layer: Avoid bug when iterating and autoadding dependencies
If iterating a layer with multiple components and auto-adding dependencies
the tests can break since layers are never removed and order isn't guaranteed
to account for that.

Fix this by resetting the layer list back to the original list each time
before auto-adding the dependencies in each case.

This fixes scanning of meta-openembedded in particular where the sublayers
may not be added in order of minimal dependency.

(From OE-Core rev: bf1b467dacf345379cd5d84a1c9b3b0d844d5c91)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-24 17:53:05 +01:00
Stefan Ghinea
01bd284339 libssh2: fix build failure with option no-ecdsa
libssh2 fails at do_compile if
DEPRECATED_CRYPTO_FLAGS = "no-ecdsa" is set in recipe:

../src/.libs/libssh2.so: undefined reference to
`LIBSSH2_KEX_METHOD_EC_SHA_HASH_CREATE_VERIFY'

References:
https://github.com/libssh2/libssh2/issues/549

Upstream patches:
1f76151c92

(From OE-Core rev: 2bb146e7315f8080cb49a95212231ccb76a4a822)

Signed-off-by: Stefan Ghinea <stefan.ghinea@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-24 17:53:05 +01:00
Richard Purdie
35d6da6fe5 pyyaml: Add missing HOMEPAGE
Add a HOMEPAGE to the new recipe to avoid sanity test failures.

(From OE-Core rev: 23be2a27e16d711f928561d96f901a25f5f29998)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-24 17:53:05 +01:00
Khem Raj
9be7098de3 python3-pyyaml: Add recipe
This is migrated from meta-python

(From OE-Core rev: 0a8600f9cec0a88b90693302554c82cfe28152ae)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Tim Orling <timothy.t.orling@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-24 17:53:05 +01:00
Khem Raj
c3a3153810 python3-jinja2: Enable ptests
Needed dependencies on toml and pytest and unixadmin
are in core now

(From OE-Core rev: c983359eae9d7e3d729af36755612916dabe32d6)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-24 17:53:05 +01:00
Khem Raj
b39ea6620f python3-markupsafe: Enable ptests
pytest is now in OE-Core

(From OE-Core rev: 48c83fc1141ff22c9ede0c82acec896937d61357)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-24 17:53:05 +01:00
Khem Raj
64e26d1e6b python3-docutils: Upgrade to 0.17.1
This was in meta-python for a while so merge the changes here
and  upgrade, once applied, delete from meta-python

License-Change: Deleted legacy stylesheets from LICENSE [1]
                Updated URI for BSD-2 [2]

[1] https://sourceforge.net/p/docutils/code/8487/
[2] https://sourceforge.net/p/docutils/code/8554/

(From OE-Core rev: 757d87f676d542f49760ef4ed8bea238719af159)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-24 17:53:05 +01:00
Changqing Li
770532164f gcr: fix one parallel build failure
ui/gcr-live-search.c includes gcr/gcr-marshal.h. Because missing
dependency, following error occurred intermittently during doing parallel
build:

 -o ui/libgcr-ui-3.so.1.0.0.p/gcr-live-search.c.o -c ../gcr-3.38.1/ui/gcr-live-search.c
../gcr-3.38.1/ui/gcr-live-search.c:32:10: fatal error: gcr/gcr-marshal.h: No such file or directory
   32 | #include "gcr/gcr-marshal.h"
      |          ^~~~~~~~~~~~~~~~~~~
compilation terminated.

(From OE-Core rev: a6690c22952a315e6c6734a5936d9eb18e1b3004)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-24 17:53:05 +01:00
Mikko Rapeli
7d228861e8 unzip: use optimization from bitbake
Build with bitbake default optimizations, e.g. O2,
instead of custom O3. Reduces unzip binary package
size from 304401 to 283921 bytes, and enables building
with Os to even further reduce binary size if needed
and configured for the whole system.

(From OE-Core rev: 1330ac1902360cc5e01b69a6065963bf7b92d4bb)

Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-24 17:53:05 +01:00
Sakib Sajal
dcfdecb9ff qemu: fix CVE-2021-20257
(From OE-Core rev: 547ac986a74cfcae39b691ebb92aadc8436443ea)

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-24 17:53:05 +01:00
Sakib Sajal
4284f80d1f qemu: fix CVE-2021-3416
(From OE-Core rev: e2b5bc11d1b26b73b62e1a63cb75572793282dcb)

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-24 17:53:05 +01:00
Sakib Sajal
ea7850cd83 qemu: fix CVE-2021-3409
(From OE-Core rev: e2fb8c15a64e1f5db678e8e95924da8c88a188c0)

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-24 17:53:05 +01:00
Sakib Sajal
2c01852bcb qemu: fix CVE-2021-20221
(From OE-Core rev: 59a44f8c70d4a026ae74e44b9d70100029c691b5)

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-24 17:53:05 +01:00
Sakib Sajal
5c59b634a2 qemu: fix CVE-2020-29443
(From OE-Core rev: 481e012de865ee232fa5a233e9f1d4fc7a2232ab)

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-24 17:53:05 +01:00
Sakib Sajal
640c6d1191 qemu: fix CVE-2021-20181
(From OE-Core rev: c2f79065ef0684f2c0bdb92f1b03e690ab730b8c)

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-24 17:53:05 +01:00
Kai Kang
e7746189de kernel-yocto.bbclass: chdir to ${WORKDIR} for do_kernel_checkout
It chdirs to ${S} at the beginning of task do_kernel_checkout. Then it
removes ${S} when it still resides in ${S}. It may fail to run the task
do_kernel_checkout when bitbake is called by third-part wrapper script.
So chdir to ${WORKDIR} by default for do_kernel_checkout. And it will
chdir to ${S} afterwards in task do_kernel_checkout.

(From OE-Core rev: cf0e3397d3f86c7ea1f3c66c50a44d6205f5921b)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-24 17:53:05 +01:00
Kai Kang
9bbd9cab86 cmake.bbclass: remove ${B} before cmake_do_configure
It is fallible to remove ${B} in directory ${B} itself. And it does fail
when call bitbake by third-party wrapper script.

Use flag 'cleandirs' to remove ${B} first if build out of source tree.

(From OE-Core rev: 0fb6280432a36985590d9a714a5f11164aaebb51)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-24 17:53:05 +01:00
Mikko Rapeli
d2c176d1ca lz4: use CFLAGS from bitbake
Currently lz4 uses it's own defaults which include O3 optimization.
Switch from O3 to bitbake default O2 reduces binary package size
from 467056 to 331888 bytes. Enables also building with Os if needed.

(From OE-Core rev: abaaf8c6bcd368728d298937a9406eb2aebc7a7d)

Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-24 17:53:04 +01:00
Paulo Cesar Zaneti
de0c3226ab perl: fix startperl configuration option for perl-native
Unlike vanilla Perl "Configure" script, perl-cross "configure" does not
derive "startperl" from "bin". It instead derives from "perlpath".

This patch aims to fix "startperl" configuration option for perl-native by
correctly setting "perlpath" on perl-cross "configure" script.

It also changes do_install_append_class-native task to comply with
cpan_do_install task.

(From OE-Core rev: f2d1523b19cb066a4a06609f036822fe4a8b43f0)

Signed-off-by: Paulo Cesar Zaneti <paulo.zaneti@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-24 17:53:04 +01:00
Trevor Gamblin
4aff77c851 ref-manual/variables.rst: Add incompatibility warning for SERIAL_CONSOLES_CHECK
See [YOCTO #13921]

Add details to the SERIAL_CONSOLES_CHECK entry to clarify that it
doesn't work with read-only rootfs.

(From yocto-docs rev: cefd66301a40f9048499879674e467543f704c44)

Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Reviewed-by: Quentin Schulz <foss@0leil.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 16:39:03 +01:00
Michael Opdenacker
c3c6de2187 manuals: code insertion simplification over two lines
This simplifies paragraphs ending with a colon and followed
by code insertion.

Automatically substituted through the command:
sed -i -z "s/:\n\s*::/::/g" file.rst

This generates identical HTML output.

(From yocto-docs rev: 28e2192a7c12d64b68061138a9f6c796453eebb1)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 16:39:03 +01:00
Michael Opdenacker
773536c333 manuals: simplify code insertion
This replaces instances of ": ::" by "::", which
generates identical HTML output

(From yocto-docs rev: 1f410dfc7c16c09af612de659f8574ef6cff4636)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 16:39:03 +01:00
Michael Opdenacker
21b42cc54f dev-manual: fix code insertion
Fix a misaligned code insertion statement, causing
the code block to be misaligned compared to the other ones
in subsequent paragraphs

(From yocto-docs rev: bc03d122a35ac027d0aab5bfd70b366933fd7356)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 16:39:03 +01:00
Vineela Tummalapalli
1ea11c5c20 Adding dunfell 3.1.7 to the switcher and release list.
(From yocto-docs rev: bed221137de77340280d71b4a8b0f2f60addc566)

Signed-off-by: Vineela Tummalapalli <vineela.tummalapalli@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 16:39:03 +01:00
Diego Sueiro
cda69e0166 bitbake: layerindex: Add --fetchdir parameter to layerindex-fetch
Introduce --fetchdir parameter to layerindex-fetch enabling users to choose
the directory to fetch the layers different from BBLAYERS_FETCH_DIR.

[YOCTO #14347]

(Bitbake rev: 784a904faffac723ddf58ba765b9dd11ac068de5)

Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:13:13 +01:00
Diego Sueiro
9fae310dd2 bitbake: layerindex: Fix bitbake-layers layerindex-show-depends command
Running 'bitbake-layers layerindex-show-depends meta-filesystems' fails with:
```
Traceback (most recent call last):
  File "<...>/poky/bitbake/bin/bitbake-layers", line 93, in <module>
    ret = main()
  File "<...>/poky/bitbake/bin/bitbake-layers", line 86, in main
    return args.func(args)
  File "<...>/poky/bitbake/lib/bblayers/layerindex.py", line 209, in do_layerindex_show_depends
    self.do_layerindex_fetch(args)
  File "<...>/poky/bitbake/lib/bblayers/layerindex.py", line 182, in do_layerindex_fetch
    args.shallow)
AttributeError: 'Namespace' object has no attribute 'shallow'
```

Initialize the shallow attribute to fix it.

(Bitbake rev: 71f095c147fe6aa7b5e6272002e0498cf9494256)

Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:13:13 +01:00
Khem Raj
93c73856f4 llvm: Upgrade to LLVM 12 release
Drop backported patch

(From OE-Core rev: ca72375a3bbebcb9a7af4dce3c06716ac2c0f5fc)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:10 +01:00
wangmy
cc6b1e2b1d wpebackend-fdo: upgrade 1.8.2 -> 1.8.3
(From OE-Core rev: 3aa145d326cf22aa423940e8b09f609fe9c27cbe)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:10 +01:00
wangmy
aac6941d84 boost: upgrade 1.75.0 -> 1.76.0
(From OE-Core rev: 14b597845ad7b97e84c652ce56e137dc4b9d23b9)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:10 +01:00
wangmy
fa1208406e tiff: upgrade 4.2.0 -> 4.3.0
(From OE-Core rev: 702c5c7973c77c51d5ce8de11e73c708c55927a3)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:10 +01:00
wangmy
05343e7611 python3-cython: upgrade 0.29.22 -> 0.29.23
(From OE-Core rev: 7f0482bf6709277f2506e71d828f6bed3ab72263)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:10 +01:00
wangmy
7bc3a900a6 mtools: upgrade 4.0.26 -> 4.0.27
(From OE-Core rev: 86777da8f46e6ddf9b04a80fa1ecbcf41faff21c)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:10 +01:00
wangmy
41334b0064 openssh: upgrade 8.5p1 -> 8.6p1
(From OE-Core rev: 5fd4497e7ad156fa426bb1913846c2b65a9fbd1b)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:10 +01:00
zhengruoqin
b02c5193c2 libsolv: upgrade 0.7.18 -> 0.7.19
(From OE-Core rev: 74355aff39b4bbed9dc3ecb403e679d1aa0edbb5)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:10 +01:00
zhengruoqin
00bfb40b68 libical: upgrade 3.0.9 -> 3.0.10
(From OE-Core rev: 8f67f233c77ef03572aee8b8c484b634f42b668b)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:10 +01:00
zhengruoqin
73639903c2 libhandy: upgrade 1.2.0 -> 1.2.1
(From OE-Core rev: 089d75b47d4d1a7b2c68b8b310cddf40b4b83199)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:10 +01:00
zhengruoqin
6d774dadd2 libedit: upgrade 20210216-3.1 -> 20210419-3.1
(From OE-Core rev: be628ddfbc401242e0884916ccf4abea336c4ad9)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:10 +01:00
Khem Raj
e165bf75b1 musl: Update to latest master
changelog [1]

* aad50fcd fix regression in dl_iterate_phdr reporting of modules with no TLS
* 0ea78a64 nscd: fall back gracefully on kernels without AF_UNIX support
* 95a540e1 mallocng/aligned_alloc: check for malloc failure
* 2c00f95c make epoll_[p]wait a cancellation point
* 521b4d27 fix dl_iterate_phdr dlpi_tls_data reporting to match spec
* 122002f0 remove no-longer-needed special case handling in popen
* 8ef9d46f use internal malloc for posix_spawn file actions objects
* cfdfd5ea don't fail to map library/executable with zero-length segment maps
* e48e99c1 suppress isascii() macro for C++
* b129cd86 guard against compilers failing to handle setjmp specially by default
* 3309e2d7 aarch64/bits/mman.h: add PROT_MTE from linux v5.10
* 44331150 aarch64/bits/hwcap.h: add HWCAP2_MTE from linux v5.10
* 42aa19a0 add aarch64/bits/mman.h with PROT_BTI from linux v5.8
* b7554b5e aarch64/bits/hwcap.h: add HWCAP2_BTI from linux v5.8
* 87b8f148 signal.h: add MTE specific SIGSEGV codes from linux v5.10
* 19239cde sys/prctl.h: add MTE related constants from linux v5.10
* 8b29f023 elf.h: add NT_ARM_TAGGED_ADDR_CTRL from linux v5.10
* d7210f0c sys/mman.h: add MAP_HUGE_16KB from linux v5.10
* a7456524 sys/mount.h: add MS_NOSYMFOLLOW from linux v5.10
* 54ca1cc7 sys/membarrier.h: add new constants from linux v5.10
* fd285f9d bits/syscall.h: add process_madvise from linux v5.10
* 49b6df3d fix error return value for cuserid
* cc577d0e fix misuse of getpwuid_r in cuserid
* a75283d7 cuserid: don't return truncated results
* ef137da6 cuserid: support invocation with a null pointer argument

[1] https://git.musl-libc.org/cgit/musl/log/\?qt\=range\&q\=e5d2823631bbfebacf48e1a34ed28f28d7cb2570..aad50fcd791e009961621ddfbe3d4c245fd689a3

(From OE-Core rev: 601d8e87a7c796bd9d91d1ffa090d3b1afcf2a2d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:10 +01:00
Yi Fan Yu
c707bf9f80 valgrind: Enable drd/tests/bar_bad* ptest
Revert some of 7f7d2fa18267090891754d976cbc3e628324d3dd

Was not able to reproduce the reported non-deterministic failure.
(ran 20 times on qemux86-64 on a relatively isolated machine)
it might be related to the AB-INT issues,
but it seems to only affect ARM builders now.

Also no action taken by upstream valgrind to fix
https://bugs.kde.org/show_bug.cgi?id=430321

Let it run on AB to see if failure was fixed by uprev to 3.17.0.
if not, we can gather more data from the AB failure.

[YOCTO #14051]

(From OE-Core rev: c0ea23832a96352d8eeda5cebc9d37a22c5d5439)

Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:10 +01:00
Yi Fan Yu
223ef10436 re2c: Upgrade 2.0.3 -> 2.1.1
(From OE-Core rev: 09bfe5cbd68f2e837c99c9d7554e9fadd009ad65)

Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:10 +01:00
Khem Raj
4118415d4b go: Use dl.google.com for SRC_URI
golang.org/dl is resolving to this anyway

(From OE-Core rev: 8470e38ac1d9f9bb6d8a4ee43724af452d080057)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:10 +01:00
Khem Raj
70a757bbec binutils: Fix linking failures when using dwarf-5
Since GCC 11 will switch to dwarf-5 as default, this patch will be
required soon

(From OE-Core rev: 9dc9bf85f53c6712dd047df5fd718e9895946fd5)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:10 +01:00
Alexander Kanavin
c13be2e1dc meta/lib/oeqa/core/tests/cases/timeout.py: add a testcase for the previous fix
This is the sequence that didn't properly operate:

- a test case that skips and isn't executed
- a second test case that is skipped via a dependency decorator, and sets a timeout
- a third test case that takes longer than the timeout from the second
test case

Without the fix, the timeout is not cleared, and the third test case is
erroneously aborted. With the fix, the timeout is cleared and the third
test case is able to complete.

(From OE-Core rev: 54ef07a9aa1af8f41cfb9a4802929c918efc43c8)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:10 +01:00
Alexander Kanavin
b40f78a5c7 oeqa: tear down oeqa decorators if one of them raises an exception in setup
Some of the decorators need proper cleanup, such as OETimeout
which sets a signal handler that needs to be cleared via teardown.
If this is not done then the signal gets called later with unpredictable effects.

This can be seen if there's a test that is skipped via a decorator and sets a timeout
at the same time: the timeout isn't cleared, and is invoked later in a
completely unrelated context. The test case for this is added in the
next commit.

(From OE-Core rev: f42a08e1aabf1ca57e0c09d69fb69cc717c7f156)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:10 +01:00
Chen Qi
942b80e82e weston: fix build failure due to race condition
The wayland.c actually include 'xdg-shell-client-protocol.h' instead of
the server one, so fix it. Otherwise, it's possible to get build failure
due to race condition.

(From OE-Core rev: bd2a9a4d82f66f1ff414c392bcf234d8dbd5e553)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:10 +01:00
Mingli Yu
ce9e341775 rpm: Upgrade to 4.16.1.3
Fixes some security vulnerabilities such as CVE-2021-3421 and
CVE-2021-20271.

Rebase 0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch
to avoid fuzz warnings.

(From OE-Core rev: 5dcd9c673502dab276b4fb4e6b4c7c1d1d9425ef)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:10 +01:00
Martin Jansa
a8ae23104c ofono: prevent using bundled ell headers and fix build with ell-0.39
* -I../ofono-1.31 is included when building drivers/mbimmodem/mbim.c and then
  ell.h will happily include ell/util.h from there:

  # 1 "/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/ofono/1.31-r0/recipe-sysroot/usr/include/ell/ell.h" 1 3 4
  # 23 "/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/ofono/1.31-r0/recipe-sysroot/usr/include/ell/ell.h" 3 4
  # 1 "../ofono-1.31/ell/util.h" 1 3 4
  # 26 "../ofono-1.31/ell/util.h" 3 4
  # 1 "/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/ofono/1.31-r0/recipe-sysroot/usr/include/string.h" 1 3 4
  # 26 "/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/ofono/1.31-r0/recipe-sysroot/usr/include/string.h" 3 4
  # 1 "/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/ofono/1.31-r0/recipe-sysroot/usr/include/bits/libc-header-start.h" 1 3 4
  # 27 "/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/ofono/1.31-r0/recipe-sysroot/usr/include/string.h" 2 3 4

* and it gets more interesting because unlikely() macro was dropped from ell/util.h in:
  https://git.kernel.org/pub/scm/libs/ell/ell.git/commit/?id=2a682421b06e41c45098217a686157f576847021
  and ofono builds from git (which doesn't bundle ell) were failing with:

drivers/mbimmodem/mbim-message.c: In function 'message_iter_next_entry_valist':
drivers/mbimmodem/mbim-message.c:504:8: warning: implicit declaration of function 'unlikely' [-Wimplicit-function-declaration]
  504 |    if (unlikely(indent > MAX_NESTING))
      |        ^~~~~~~~
...
x86_64-webos-linux-libtool: link: x86_64-webos-linux-gcc -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/ofono/1.31+gitAUTOINC+0db662bd6b-r0/recipe-sysroot -I/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/ofono/1.31+gitAUTOINC+0db662bd6b-r0/recipe-sysroot/usr/include/dbus-1.0 -I/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/ofono/1.31+gitAUTOINC+0db662bd6b-r0/recipe-sysroot/usr/lib/dbus-1.0/include -I/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/ofono/1.31+gitAUTOINC+0db662bd6b-r0/recipe-sysroot/usr/include/glib-2.0 -I/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/ofono/1.31+gitAUTOINC+0db662bd6b-r0/recipe-sysroot/usr/lib/glib-2.0/include -DOFONO_PLUGIN_BUILTIN -DPLUGINDIR=\"/usr/lib/ofono/plugins\" -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/ofono/1.31+gitAUTOINC+0db662bd6b-r0=/usr/src/debug/ofono/1.31+gitAUTOINC+0db662bd6b-r0 -fdebug-prefix-map=/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/ofono/1.31+gitAUTOINC+0db662bd6b-r0=/usr/src/debug/ofono/1.31+gitAUTOINC+0db662bd6b-r0 -fdebug-prefix-map=/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/ofono/1.31+gitAUTOINC+0db662bd6b-r0/recipe-sysroot= -fdebug-prefix-map=/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/ofono/1.31+gitAUTOINC+0db662bd6b-r0/recipe-sysroot-native= -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o unit/test-mbim unit/test-mbim.o drivers/mbimmodem/mbim-message.o drivers/mbimmodem/mbim.o  -lell
drivers/mbimmodem/mbim-message.c:1389: error: undefined reference to 'unlikely'
drivers/mbimmodem/mbim-message.c:1255: error: undefined reference to 'unlikely'
drivers/mbimmodem/mbim-message.c:514: error: undefined reference to 'unlikely'
drivers/mbimmodem/mbim-message.c:504: error: undefined reference to 'unlikely'
collect2: error: ld returned 1 exit status

  while build from 1.31 tarball was passing OK, because using this older
  bundled ell/util.h

  delete bundled ell as we always enable external ell to make sure this
  doesn't happen again and fix mbimmodem to build with ell-0.39

(From OE-Core rev: 25f44ce327aff94c956d431c3cdf92adc39b2eeb)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:10 +01:00
Diego Sueiro
d00d7e6621 oeqa/selftest/bblayers: Add test case for bitbake-layers layerindex-show-depends
(From OE-Core rev: 80090c31164d62a169431ab71c4aaee5475b6f40)

Signed-off-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:10 +01:00
Alexander Kanavin
dd35211b69 default-distrovars.inc: add debuginfod to default DISTRO_FEATURES
Obtaining debug information by having it served automatically via http
is far more pleasant than messing about with debugfs and gdbserver or
transferring and installing -dbg packages by hand.

I believe we should follow the desktop distros and have it enabled
out of the box. Please see the following commit for the description
of how it works.

(From OE-Core rev: 024c88c82791a113b614abf61ffd82e097bf21d1)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:09 +01:00
Khem Raj
972888296c elfutils: Make 64bit time_t fix generic
Apply it always since more than x32 needs it

(From OE-Core rev: faf5034876c319aa51d6b3e21265d0984566bb9e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:08 +01:00
Alexander Kanavin
2cd3d10d36 elfutils: adjust ptests for correct debuginfod testing
(From OE-Core rev: fdfe429dad9b9ab685caf3a61876f7a23453aedd)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:08 +01:00
Alexander Kanavin
1b349efbc2 elfutils: correct debuginfod builds on x32
(From OE-Core rev: 53cd394a6fe409eef3542832ad81ae3dd2cc6aad)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:08 +01:00
Changqing Li
46edbab0b3 libpam: make volatile files created successfully
(From OE-Core rev: f0de19e31122abd225bd75c6202839094194a36d)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:08 +01:00
Teoh Jay Shen
d601dfdb74 oeqa/manual/bsp-hw.json : remove Test_if_usb_hid_device_works_well_after_resume_from_suspend_state manual test
Remove the Test_if_usb_hid_device_works_well_after_resume_from_suspend_state test as it was replaced by the new automated runtime oeqa/runtime/cases/usb_hid.py.

(From OE-Core rev: 61b0eba90ba4676967b96b5561f99ee2294352a0)

Signed-off-by: Teoh Jay Shen <jay.shen.teoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:08 +01:00
Teoh Jay Shen
7542a292de oeqa/manual/bsp-hw.json :remove Check_if_RTC_(Real_Time_Clock)_can_work_correctly manual test
Remove the Check_if_RTC_(Real_Time_Clock)_can_work_correctly test as it was replaced by the new automated runtime oeqa/runtime/cases/rtc.py.

(From OE-Core rev: ea5d87f014b33b88402176ae7e07f8ff216415a0)

Signed-off-by: Teoh Jay Shen <jay.shen.teoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:08 +01:00
Teoh Jay Shen
711039f052 oeqa/manual/bsp-hw.json : remove click_terminal_icon_on_X_desktop manual test
Remove the click_terminal_icon_on_X_desktop test as it was replaced by the new automated runtime oeqa/runtime/cases/terminal.py.

(From OE-Core rev: ce10543b03349a68dd2639990b8c267110dcab2e)

Signed-off-by: Teoh Jay Shen <jay.shen.teoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:08 +01:00
Teoh Jay Shen
3d02cc072e oeqa/manual/bsp-hw.json : remove standby and Test_if_LAN_device_works_well_after_resume_from_suspend_state manual test
Remove standby and Test_if_LAN_device_works_well_after_resume_from_suspend_state test as they was replaced by the new automated runtime oeqa/runtime/cases/suspend.py.

(From OE-Core rev: 2b99a35f0131300a121304ac46f2d29b593128c0)

Signed-off-by: Teoh Jay Shen <jay.shen.teoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:08 +01:00
Teoh Jay Shen
495f029389 oeqa/manual/bsp-hw.json : remove ethernet_static_ip_set_in_connman and ethernet_get_IP_in_connman_via_DHCP manual test
Remove ethernet_static_ip_set_in_connman and ethernet_get_IP_in_connman_via_DHCP test as they was replaced by the new automated runtime oeqa/runtime/cases/ethernet_ip_connman.py.

(From OE-Core rev: bb7d753e636c81d1a9d48210da6910c711e4f2df)

Signed-off-by: Teoh Jay Shen <jay.shen.teoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:08 +01:00
Teoh Jay Shen
99d8cd1201 oeqa/manual/bsp-hw.json : remove boot_from_runlevel_3 and boot_from_runlevel_5 manual test
Remove boot_from_runlevel_3 and boot_from_runlevel_5 test as they was replaced by the new automated runtime oeqa/runtime/cases/runlevel.py.

(From OE-Core rev: f4f9dffddf699cef63ab5554e2f92ae026574e89)

Signed-off-by: Teoh Jay Shen <jay.shen.teoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:08 +01:00
Richard Purdie
63b0992ab7 patchelf: Backport fix from upstream for note section overlap error
Backport a patch from upstream to fix an error:
patchelf: cannot normalize PT_NOTE segment: non-contiguous SHT_NOTE sections

seen on our ubuntu1604 autobuilder worker.

(From OE-Core rev: 80e8f7d34d7032cc94b61bf155eac7648e6b6c74)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:08 +01:00
Khem Raj
c365e38233 weston: Drop loading xwayland.so module
This module is no longer installed by x11 instead it uses a stand along
server for xwayland, as a result when xwayland is enabled in
packageconfig in weston then it fails to load xwayland.so during runtime

Fixes

[21:07:12.-100663296] Old Xwayland module loading detected: Please use --xwayland command line option or set xwayland=true in the [core] section in weston.ini
[21:07:12.-100663296] Loading module '/usr/lib/libweston-9/xwayland.so'
[21:07:12.-100663296] Failed to load module: /usr/lib/libweston-9/xwayland.so: cannot open shared object file: No such file or directory
[21:07:12.-100663296] Destroying fbdev output.

(From OE-Core rev: aa829e27a0d3bda3ed943005c1622e71d38bb872)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:08 +01:00
Martin Jansa
5625fbdfa5 xwayland: add opengl to REQUIRED_DISTRO_FEATURES
* it depends on libepoxy which has this restriction
* fixes:
  ERROR: Nothing PROVIDES 'libepoxy' (but openembedded-core/meta/recipes-graphics/xwayland/xwayland_21.1.1.bb DEPENDS on or otherwise requires it)
  libepoxy was skipped: missing required distro feature 'opengl' (not in DISTRO_FEATURES)
  ERROR: Nothing RPROVIDES 'xwayland' (but openembedded-core/meta/recipes-graphics/xwayland/xwayland_21.1.1.bb RDEPENDS on or otherwise requires it)
  No eligible RPROVIDERs exist for 'xwayland'
  NOTE: Runtime target 'xwayland' is unbuildable, removing...
  Missing or unbuildable dependency chain was: ['xwayland']
  ERROR: Nothing RPROVIDES 'xwayland-dev' (but openembedded-core/meta/recipes-graphics/xwayland/xwayland_21.1.1.bb RDEPENDS on or otherwise requires it)
  No eligible RPROVIDERs exist for 'xwayland-dev'
  NOTE: Runtime target 'xwayland-dev' is unbuildable, removing...
  Missing or unbuildable dependency chain was: ['xwayland-dev']

(From OE-Core rev: d5455a8f636599d6be8c36ea1578274148d558df)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:12:08 +01:00
Konrad Weihmann
df2a1f37f7 cve-update-db-native: skip on empty cpe23Uri
Recently an entry in the NVD DB appeared that looks like that
{'vulnerable': True, 'cpe_name': []}.
As besides all the vulnerable flag no data is present we would get
a KeyError exception on acccess.
Use get method on dictionary and return if no meta data is present
Also quit if the length of the array after splitting is less than 6

(From OE-Core rev: 00ce2796d97de2bc376b038d0ea7969088791d34)

Signed-off-by: Konrad Weihmann <kweihmann@outlook.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 10:06:04 +01:00
Richard Purdie
d5eb86b3aa runqemu: Ensure we cleanup snapshot files after image run
We need to cleanup snapshot files if we make a copy of them to ensure
the tmpfs doesn't run out of space. There is already NFS code needing
this so make it a generic code path.

(From OE-Core rev: a3e0eec5a4785a0c4859455eb10b43aa832e606d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23 00:08:38 +01:00
Richard Purdie
6f7bc9e4af poky.conf: Post release version bump
(From meta-yocto rev: 63b7374d9053f4f585d7e30fc2347fafa4381528)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-21 22:43:58 +01:00
Bruce Ashfield
1f75873390 linux-yocto/5.10: fix arm defconfig warnings
A recent fix to the kern-tools promoted some previously unseen
issues to warnings. This commit fixes them by tagging some BT
options as non-hardware so they won't generate warnings if they
don't appear in the final .config. These are sub BT options and
shouldn't warn when/if their controlling option is disabled by
a fragment.

    40a967b115f base: exclude some BT options as non-hardware

(From OE-Core rev: fc7875ce3c68a253f8b8e5d8855c1814731b5a45)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-21 22:43:58 +01:00
Bruce Ashfield
afb15a8817 linux-yocto/5.4: fix arm defconfig warnings
A recent fix to the kern-tools promoted some previously unseen
issues to warnings. This commit fixes them by tagging some BT
options as non-hardware so they won't generate warnings if they
don't appear in the final .config. These are sub BT options and
shouldn't warn when/if their controlling option is disabled by
a fragment.

    d7fd0213b75 base: exclude some BT options as non-hardware

(From OE-Core rev: a86c8251905baf5bf4714f3db01cdfae02383839)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-21 22:43:58 +01:00
Bruce Ashfield
64d8607232 linux-yocto/5.4: update to v5.4.112
Updating linux-yocto/5.4 to the latest korg -stable release that comprises
the following commits:

    8f55ad4daf00 Linux 5.4.112
    ea42fd91d304 Revert "cifs: Set CIFS_MOUNT_USE_PREFIX_PATH flag on setting cifs_sb->prepath."
    7ee5bde3164c net: ieee802154: stop dump llsec params for monitors
    b4042ecc12cb net: ieee802154: forbid monitor for del llsec seclevel
    e82f8b7713ab net: ieee802154: forbid monitor for set llsec params
    948a2817f71d net: ieee802154: fix nl802154 del llsec devkey
    b3a105e15cd6 net: ieee802154: fix nl802154 add llsec key
    4097afd93df7 net: ieee802154: fix nl802154 del llsec dev
    7d32fc7964d6 net: ieee802154: fix nl802154 del llsec key
    8f4c815c74f4 net: ieee802154: nl-mac: fix check on panid
    38ea2b3ed00f net: mac802154: Fix general protection fault
    6e7098f56c83 drivers: net: fix memory leak in peak_usb_create_dev
    32e2f9a708e1 drivers: net: fix memory leak in atusb_probe
    0a790ad1358b net: tun: set tun->dev->addr_len during TUNSETLINK processing
    ed13df88c6d5 cfg80211: remove WARN_ON() in cfg80211_sme_connect
    628ac886dfba net: sched: bump refcount for new action in ACT replace mode
    3dbafee8426f dt-bindings: net: ethernet-controller: fix typo in NVMEM
    f4c5968da773 clk: socfpga: fix iomem pointer cast on 64-bit
    35ba6d9240ee RAS/CEC: Correct ce_add_elem()'s returned values
    f666ad4f8d87 RDMA/addr: Be strict with gid size
    44d03319fe77 RDMA/cxgb4: check for ipv6 address properly while destroying listener
    3ca5345db92c net/mlx5: Fix PBMC register mapping
    798d94a274fb net/mlx5: Fix placement of log_max_flow_counter
    9716aac17419 net: hns3: clear VF down state bit before request link status
    9dd7092d1a96 openvswitch: fix send of uninitialized stack memory in ct limit reply
    731abf396e37 net: openvswitch: conntrack: simplify the return expression of ovs_ct_limit_get_default_limit()
    d0aab59f0993 perf inject: Fix repipe usage
    d3343a35d108 s390/cpcmd: fix inline assembly register clobbering
    c88fa8d4f994 workqueue: Move the position of debug_work_activate() in __queue_work()
    14060454cdb9 clk: fix invalid usage of list cursor in unregister
    bedda47d5dce clk: fix invalid usage of list cursor in register
    b3717885865c net: macb: restore cmp registers on resume path
    c61fe6b7e21f scsi: ufs: core: Fix wrong Task Tag used in task management request UPIUs
    81fddc7be649 scsi: ufs: core: Fix task management request completion timeout
    f6abec1a3172 scsi: ufs: Use blk_{get,put}_request() to allocate and free TMFs
    a8d2d45c70c7 scsi: ufs: Avoid busy-waiting by eliminating tag conflicts
    c5efc9d26c84 scsi: ufs: Fix irq return code
    537a2449cc6f net: udp: Add support for getsockopt(..., ..., UDP_GRO, ..., ...);
    de8c5962bdae drm/msm: Set drvdata to NULL when msm_drm_init() fails
    e22ce1d21b42 i40e: Fix display statistics for veb_tc
    7c0d2372298f soc/fsl: qbman: fix conflicting alignment attributes
    c178e8a19937 net/rds: Fix a use after free in rds_message_map_pages
    73f88cc2bf5c net/mlx5: Don't request more than supported EQs
    029416e14be2 net/mlx5e: Fix ethtool indication of connector type
    1f3010fc3fe6 ASoC: sunxi: sun4i-codec: fill ASoC card owner
    db4600aa938c net: phy: broadcom: Only advertise EEE for supported modes
    6aa7d2621b19 nfp: flower: ignore duplicate merge hints from FW
    bbbee59f4f32 net/ncsi: Avoid channel_monitor hrtimer deadlock
    c66b672a231c ARM: dts: imx6: pbab01: Set vmmc supply for both SD interfaces
    c991ca6a2c79 net:tipc: Fix a double free in tipc_sk_mcast_rcv
    200c8453287f cxgb4: avoid collecting SGE_QBASE regs during traffic
    e9bdd3e45f0e gianfar: Handle error code at MAC address change
    516c436ff5d6 can: bcm/raw: fix msg_namelen values depending on CAN_REQUIRED_SIZE
    ca443546f8d4 arm64: dts: imx8mm/q: Fix pad control of SD1_DATA0
    840a181729ac sch_red: fix off-by-one checks in red_check_params()
    accb27006595 amd-xgbe: Update DMA coherency values
    e472f6814ceb hostfs: fix memory handling in follow_link()
    613f35568a5d hostfs: Use kasprintf() instead of fixed buffer formatting
    fec47d458add i40e: Fix kernel oops when i40e driver removes VF's
    c0aacaa0a8f2 i40e: Added Asym_Pause to supported link modes
    f819977ad42c xfrm: Fix NULL pointer dereference on policy lookup
    bac7e764e5d5 ASoC: wm8960: Fix wrong bclk and lrclk with pll enabled for some chips
    b32969aaed1c ASoC: SOF: Intel: HDA: fix core status verification
    99b4e9af8f00 ASoC: SOF: Intel: hda: remove unnecessary parentheses
    540ddeed5c51 esp: delete NETIF_F_SCTP_CRC bit from features for esp offload
    a128e07b472b net: xfrm: Localize sequence counter per network namespace
    34659399e713 regulator: bd9571mwv: Fix AVS and DVFS voltage range
    d78e99dd4960 xfrm: interface: fix ipv4 pmtu check to honor ip header df
    7977d5fe3d5b net: dsa: lantiq_gswip: Configure all remaining GSWIP_MII_CFG bits
    249908ed36a8 net: dsa: lantiq_gswip: Don't use PHY auto polling
    910e785ba8de virtio_net: Add XDP meta data support
    0534f1f1bc76 i2c: turn recovery error on init to debug
    cafced041915 usbip: synchronize event handler with sysfs code paths
    37168011d427 usbip: vudc synchronize sysfs code paths
    06fedcc6870e usbip: stub-dev synchronize sysfs code paths
    6a435364b608 usbip: add sysfs_lock to synchronize sysfs code paths
    b02bded94b91 net: let skb_orphan_partial wake-up waiters.
    fd8a95d56050 net-ipv6: bugfix - raw & sctp - switch to ipv6_can_nonlocal_bind()
    b5e7653ffdd1 net: hsr: Reset MAC header for Tx path
    a9311be5f617 mac80211: fix TXQ AC confusion
    5a4f39f19e6f net: sched: sch_teql: fix null-pointer dereference
    2f5edf14f62a i40e: Fix sparse error: 'vsi->netdev' could be null
    b31d91e9e8c8 i40e: Fix sparse warning: missing error code 'err'
    599200ad44e7 net: ensure mac header is set in virtio_net_hdr_to_skb()
    158a9b815c54 bpf, sockmap: Fix sk->prot unhash op reset
    0242251d6a97 ethernet/netronome/nfp: Fix a use after free in nfp_bpf_ctrl_msg_rx
    4a2933c88399 net: hso: fix null-ptr-deref during tty device unregistration
    ef2ccf84071f ice: Cleanup fltr list in case of allocation issues
    0df579b3de8c ice: Fix for dereference of NULL pointer
    1aecc5781101 ice: Increase control queue timeout
    9de1caa1103f batman-adv: initialize "struct batadv_tvlv_tt_vlan_data"->reserved field
    79407ae3475e ARM: dts: turris-omnia: configure LED[2]/INTn pin as interrupt pin
    9dfd74a8c015 parisc: avoid a warning on u8 cast for cmpxchg on u8 pointers
    957d0308aa36 parisc: parisc-agp requires SBA IOMMU driver
    507c2009dc4c fs: direct-io: fix missing sdio->boundary
    f495bedb001b ocfs2: fix deadlock between setattr and dio_end_io_write
    52999a66c0b3 nds32: flush_dcache_page: use page_mapping_file to avoid races with swapoff
    75fd54ea1b60 ia64: fix user_stack_pointer() for ptrace()
    7a92396bf8dd gcov: re-fix clang-11+ support
    c2b3cf2c70d6 drm/i915: Fix invalid access to ACPI _DSM objects
    0e8f850e26b2 net: dsa: lantiq_gswip: Let GSWIP automatically set the xMII clock
    6649b5eda131 net: ipv6: check for validity before dereferencing cfg->fc_nlinfo.nlh
    a09acbb53934 xen/evtchn: Change irq_info lock to raw_spinlock_t
    aa0cff2e0751 nfc: Avoid endless loops caused by repeated llcp_sock_connect()
    404daa4d62a3 nfc: fix memory leak in llcp_sock_connect()
    41bc58ba0945 nfc: fix refcount leak in llcp_sock_connect()
    c89903c9eff2 nfc: fix refcount leak in llcp_sock_bind()
    12289d9840d6 ASoC: intel: atom: Stop advertising non working S24LE support
    c99780f782aa ALSA: hda/realtek: Fix speaker amp setup on Acer Aspire E1
    da8f3cc5771e ALSA: aloop: Fix initialization of controls
    8732c2df9d15 counter: stm32-timer-cnt: fix ceiling miss-alignment with reload register

(From OE-Core rev: bd41c1b7170b4d27bebac0a4387cad070c41e03d)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-21 22:43:58 +01:00
Bruce Ashfield
c6f0f24dba linux-yocto-rt/5.10: update to -rt34
Integrating the following commit(s) to linux-yocto/5.10:

    ac98a75ef2bc net/xfrm: fixup 5.10.30 -stable merge

(From OE-Core rev: 2e7dd8afd0dbe7803170006297309b6699b98f34)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-21 22:43:58 +01:00
Bruce Ashfield
6698385521 linux-yocto/5.10: update to v5.10.30
Updating linux-yocto/5.10 to the latest korg -stable release that comprises
the following commits:

    1e798745fa8e Linux 5.10.30
    b451aed56348 Revert "net: sched: bump refcount for new action in ACT replace mode"
    a22115c3492f net: ieee802154: stop dump llsec params for monitors
    f872fb3feadd net: ieee802154: forbid monitor for del llsec seclevel
    a933bcbb1f7f net: ieee802154: forbid monitor for set llsec params
    0238c7b47f77 net: ieee802154: fix nl802154 del llsec devkey
    d06a96e72803 net: ieee802154: fix nl802154 add llsec key
    399f38c420ee net: ieee802154: fix nl802154 del llsec dev
    07699fcce052 net: ieee802154: fix nl802154 del llsec key
    8bfb45fa131d net: ieee802154: nl-mac: fix check on panid
    38731bbcd9f0 net: mac802154: Fix general protection fault
    9f51a42d81f6 drivers: net: fix memory leak in peak_usb_create_dev
    160ac0d55d52 drivers: net: fix memory leak in atusb_probe
    4d9117b7404a net: tun: set tun->dev->addr_len during TUNSETLINK processing
    26ab092615f5 cfg80211: remove WARN_ON() in cfg80211_sme_connect
    138a6e1dc35e gpiolib: Read "gpio-line-names" from a firmware node
    300368c59cf0 net: sched: bump refcount for new action in ACT replace mode
    982dd14fba0f dt-bindings: net: ethernet-controller: fix typo in NVMEM
    c65a000a236e lockdep: Address clang -Wformat warning printing for %hd
    4c4aa344edf4 clk: socfpga: fix iomem pointer cast on 64-bit
    674ddb52f94b RAS/CEC: Correct ce_add_elem()'s returned values
    253acf2e983b vdpa/mlx5: Fix wrong use of bit numbers
    0ddb34c2ccce vdpa/mlx5: should exclude header length and fcs from mtu
    5700c3d4abb2 RDMA/addr: Be strict with gid size
    e53ff6e59144 i40e: Fix parameters in aq_get_phy_register()
    999852207464 drm/vc4: crtc: Reduce PV fifo threshold on hvs4
    d8a0861e269d RDMA/qedr: Fix kernel panic when trying to access recv_cq
    3fa7ae3f3754 perf report: Fix wrong LBR block sorting
    7f40e9332898 RDMA/cxgb4: check for ipv6 address properly while destroying listener
    03ad6a2521a0 net/mlx5: Fix PBMC register mapping
    1312f11eb33d net/mlx5: Fix PPLM register mapping
    f92faf0bdd25 net/mlx5: Fix placement of log_max_flow_counter
    f780a0808827 net: hns3: clear VF down state bit before request link status
    f473789db536 tipc: increment the tmp aead refcnt before attaching it
    3292c4fc9ce2 can: mcp251x: fix support for half duplex SPI host controllers
    a96f1ed70927 iwlwifi: fix 11ax disabled bit in the regulatory capability flags
    363d610a9652 i2c: designware: Adjust bus_freq_hz when refuse high speed mode set
    cc5418973cc9 openvswitch: fix send of uninitialized stack memory in ct limit reply
    3e288c3a7d55 net: openvswitch: conntrack: simplify the return expression of ovs_ct_limit_get_default_limit()
    3b70c6f26364 perf inject: Fix repipe usage
    d9dc1b406cb9 s390/cpcmd: fix inline assembly register clobbering
    7943f749f0d2 workqueue: Move the position of debug_work_activate() in __queue_work()
    b3f29ed5dd4b clk: fix invalid usage of list cursor in unregister
    2307baac56af clk: fix invalid usage of list cursor in register
    d9c55b2d3368 net: macb: restore cmp registers on resume path
    af36da5becfb net: cls_api: Fix uninitialised struct field bo->unlocked_driver_cb
    ffd5f1e87c15 scsi: ufs: core: Fix wrong Task Tag used in task management request UPIUs
    ff9231ddfec8 scsi: ufs: core: Fix task management request completion timeout
    71ee255d0698 mptcp: forbit mcast-related sockopt on MPTCP sockets
    24bbfe89b1c7 net: udp: Add support for getsockopt(..., ..., UDP_GRO, ..., ...);
    a08d5d3bec53 drm/msm: Set drvdata to NULL when msm_drm_init() fails
    7290bf419894 RDMA/rtrs-clt: Close rtrs client conn before destroying rtrs clt session files
    49cfa2b20193 i40e: Fix display statistics for veb_tc
    e8c96b57a781 soc/fsl: qbman: fix conflicting alignment attributes
    553290002aa8 xdp: fix xdp_return_frame() kernel BUG throw for page_pool memory model
    4cfae7b23889 net/rds: Fix a use after free in rds_message_map_pages
    05bbe9d85a4c net/mlx5: Don't request more than supported EQs
    86530effd18f net/mlx5e: Fix ethtool indication of connector type
    bde64eac2379 net/mlx5e: Fix mapping of ct_label zero
    d65b66ca3334 ASoC: sunxi: sun4i-codec: fill ASoC card owner
    dcdf0876b040 I2C: JZ4780: Fix bug for Ingenic X1000.
    f295dfc831bc net: phy: broadcom: Only advertise EEE for supported modes
    7a896e189361 nfp: flower: ignore duplicate merge hints from FW
    6af631d1caf2 net: qrtr: Fix memory leak on qrtr_tx_wait failure
    dfe7805e6aa6 net/ncsi: Avoid channel_monitor hrtimer deadlock
    ae4a8d10ac8b ARM: dts: imx6: pbab01: Set vmmc supply for both SD interfaces
    e5e5ecc9d9fd net:tipc: Fix a double free in tipc_sk_mcast_rcv
    f273e3726e14 cxgb4: avoid collecting SGE_QBASE regs during traffic
    63a64c366ce0 net: dsa: Fix type was not set for devlink port
    ed613d96842e gianfar: Handle error code at MAC address change
    1eb5f4e00755 ethernet: myri10ge: Fix a use after free in myri10ge_sw_tso
    759b44d247c6 mlxsw: spectrum: Fix ECN marking in tunnel decapsulation
    d02b68a92905 can: isotp: fix msg_namelen values depending on CAN_REQUIRED_SIZE
    1d3837ca7335 can: bcm/raw: fix msg_namelen values depending on CAN_REQUIRED_SIZE
    58f8f1074039 xfrm: Provide private skb extensions for segmented and hw offloaded ESP packets
    bc0b89a9a28f arm64: dts: imx8mm/q: Fix pad control of SD1_DATA0
    d9670f5e77e5 drivers/net/wan/hdlc_fr: Fix a double free in pvc_xmit
    d38bce5adcd9 sch_red: fix off-by-one checks in red_check_params()
    985c9bb1b594 geneve: do not modify the shared tunnel info when PMTU triggers an ICMP reply
    f3bc1885746f vxlan: do not modify the shared tunnel info when PMTU triggers an ICMP reply
    f33f79703a4e amd-xgbe: Update DMA coherency values
    e5a3449ce16a hostfs: fix memory handling in follow_link()
    3cc4db1213a4 i40e: Fix kernel oops when i40e driver removes VF's
    9856607c9c29 i40e: Added Asym_Pause to supported link modes
    d4d4c6a4ca7c virtchnl: Fix layout of RSS structures
    95d58bf5ed43 xfrm: Fix NULL pointer dereference on policy lookup
    48a443026bb6 ASoC: wm8960: Fix wrong bclk and lrclk with pll enabled for some chips
    f6db9dbfa6b6 ASoC: SOF: Intel: HDA: fix core status verification
    ef4ddd1d6d93 esp: delete NETIF_F_SCTP_CRC bit from features for esp offload
    0224432a8fc1 net: xfrm: Localize sequence counter per network namespace
    1e6a3b41cf2a ARM: OMAP4: PM: update ROM return address for OSWR and OFF
    042b2cad81de ARM: OMAP4: Fix PMIC voltage domains for bionic
    1f51cb88e788 regulator: bd9571mwv: Fix AVS and DVFS voltage range
    b267688ce007 remoteproc: qcom: pil_info: avoid 64-bit division
    c7a175a24b0e xfrm: Use actual socket sk instead of skb socket for xfrm_output_resume
    3b74ce529ece xfrm: interface: fix ipv4 pmtu check to honor ip header df
    2d62d6980c2b ice: Recognize 860 as iSCSI port in CEE mode
    fd92e7aacc16 ice: Refactor DCB related variables out of the ice_port_info struct
    4a78ae127803 net: sched: fix err handler in tcf_action_init()
    3c7d3d188ca7 KVM: x86/mmu: preserve pending TLB flush across calls to kvm_tdp_mmu_zap_sp
    25fc773b21ce KVM: x86/mmu: Don't allow TDP MMU to yield when recovering NX pages
    be2c527b5d39 KVM: x86/mmu: Ensure TLBs are flushed for TDP MMU during NX zapping
    0aa4dd9e5132 KVM: x86/mmu: Ensure TLBs are flushed when yielding during GFN range zap
    3c7a18440638 KVM: x86/mmu: Yield in TDU MMU iter even if no SPTES changed
    85f4ff2b06af KVM: x86/mmu: Ensure forward progress when yielding in TDP MMU iter
    1cd17c5c9b8a KVM: x86/mmu: Rename goal_gfn to next_last_level_gfn
    b4a3a0d27924 KVM: x86/mmu: Merge flush and non-flush tdp_mmu_iter_cond_resched
    8f90432d7f59 KVM: x86/mmu: change TDP MMU yield function returns to match cond_resched
    5ea9e6038d29 i2c: turn recovery error on init to debug
    efa869b68be9 percpu: make pcpu_nr_empty_pop_pages per chunk type
    c441949184a9 scsi: target: iscsi: Fix zero tag inside a trace event
    d8e7fa8509d7 scsi: pm80xx: Fix chip initialization failure
    0c47d8a55f7f driver core: Fix locking bug in deferred_probe_timeout_work_func()
    f06cb4641b15 usbip: synchronize event handler with sysfs code paths
    28dc9237fe83 usbip: vudc synchronize sysfs code paths
    513765b186c9 usbip: stub-dev synchronize sysfs code paths
    68be610c19a5 usbip: add sysfs_lock to synchronize sysfs code paths
    126ce97d39cf thunderbolt: Fix off by one in tb_port_find_retimer()
    256ece954961 thunderbolt: Fix a leak in tb_retimer_add()
    b830650c1a0c net: let skb_orphan_partial wake-up waiters.
    5d9216b85100 net-ipv6: bugfix - raw & sctp - switch to ipv6_can_nonlocal_bind()
    b82816d77875 net: hsr: Reset MAC header for Tx path
    9b9c910ccc19 mac80211: fix TXQ AC confusion
    cc357c29358d mac80211: fix time-is-after bug in mlme
    cc1a702e6ec0 cfg80211: check S1G beacon compat element length
    fea52345f422 nl80211: fix potential leak of ACL params
    42e4450e3790 nl80211: fix beacon head validation
    81692c6add7e net: sched: fix action overwrite reference counting
    cdcf3829f418 net: sched: sch_teql: fix null-pointer dereference
    422eda625516 vdpa/mlx5: Fix suspend/resume index restoration
    89e406e95278 i40e: Fix sparse errors in i40e_txrx.c
    12e1438a0946 i40e: Fix sparse error: uninitialized symbol 'ring'
    2472ba1c46b4 i40e: Fix sparse error: 'vsi->netdev' could be null
    792387118204 i40e: Fix sparse warning: missing error code 'err'
    f0b4c9acf5fe net: ensure mac header is set in virtio_net_hdr_to_skb()
    72c5de25ba83 bpf, sockmap: Fix incorrect fwd_alloc accounting
    00c01de1a994 bpf, sockmap: Fix sk->prot unhash op reset
    d921baabd964 bpf: Refcount task stack in bpf_get_task_stack
    caef7806141a libbpf: Only create rx and tx XDP rings when necessary
    4cc9177b099e libbpf: Restore umem state after socket create failure
    5aa7df172207 libbpf: Ensure umem pointer is non-NULL before dereferencing
    b52e88638f71 ethernet/netronome/nfp: Fix a use after free in nfp_bpf_ctrl_msg_rx
    d86046a77535 bpf: link: Refuse non-O_RDWR flags in BPF_OBJ_GET
    b7004ecafade bpf: Enforce that struct_ops programs be GPL-only
    3015db3de715 libbpf: Fix bail out from 'ringbuf_process_ring()' on error
    dc195928d7e4 net: hso: fix null-ptr-deref during tty device unregistration
    c2743e0a631c ice: fix memory leak of aRFS after resuming from suspend
    6bd4e822925d iwlwifi: pcie: properly set LTR workarounds on 22000 devices
    e5386e87f8aa ice: Cleanup fltr list in case of allocation issues
    9d1c342c5018 ice: Use port number instead of PF ID for WoL
    b69686110291 ice: Fix for dereference of NULL pointer
    4d73a6143d40 ice: remove DCBNL_DEVRESET bit from PF state
    286830a8469c ice: fix memory allocation call
    4686a26e9536 ice: prevent ice_open and ice_stop during reset
    ef7ed8c77d1c ice: Increase control queue timeout
    6590b7bfbc2b ice: Continue probe on link/PHY errors
    9a7bc0c40367 batman-adv: initialize "struct batadv_tvlv_tt_vlan_data"->reserved field
    d1173effc574 ARM: dts: turris-omnia: configure LED[2]/INTn pin as interrupt pin
    4941889535f3 parisc: avoid a warning on u8 cast for cmpxchg on u8 pointers
    597121792eb4 parisc: parisc-agp requires SBA IOMMU driver
    9b54dad28def of: property: fw_devlink: do not link ".*,nr-gpios"
    009c5665278b ethtool: fix incorrect datatype in set_eee ops
    3a675c1b507f fs: direct-io: fix missing sdio->boundary
    b1a5122554ae ocfs2: fix deadlock between setattr and dio_end_io_write
    4fabcf229477 nds32: flush_dcache_page: use page_mapping_file to avoid races with swapoff
    7d9da660affc ia64: fix user_stack_pointer() for ptrace()
    8e5bfafedf6d gcov: re-fix clang-11+ support
    43908139368e LOOKUP_MOUNTPOINT: we are cleaning "jumped" flag too late
    de427b662bfb IB/hfi1: Fix probe time panic when AIP is enabled with a buggy BIOS
    856f60e3e800 ACPI: processor: Fix build when CONFIG_ACPI_PROCESSOR=m
    8599a39adca8 drm/i915: Fix invalid access to ACPI _DSM objects
    bf991df9535e net: dsa: lantiq_gswip: Configure all remaining GSWIP_MII_CFG bits
    c4ae852ec940 net: dsa: lantiq_gswip: Don't use PHY auto polling
    ba39959bfebd net: dsa: lantiq_gswip: Let GSWIP automatically set the xMII clock
    40375bc3d0f9 net: ipv6: check for validity before dereferencing cfg->fc_nlinfo.nlh
    005c5afa9f85 xen/evtchn: Change irq_info lock to raw_spinlock_t
    a28124e8ad03 selinux: fix race between old and new sidtab
    fd75d73aa214 selinux: fix cond_list corruption when changing booleans
    4f29b08e238f selinux: make nslot handling in avtab more robust
    a12a2fa9a129 nfc: Avoid endless loops caused by repeated llcp_sock_connect()
    568ac94df580 nfc: fix memory leak in llcp_sock_connect()
    99b596199e84 nfc: fix refcount leak in llcp_sock_connect()
    6fb003e5ae18 nfc: fix refcount leak in llcp_sock_bind()
    117557711974 ASoC: intel: atom: Stop advertising non working S24LE support
    c4a6fb0e8389 ALSA: hda/conexant: Apply quirk for another HP ZBook G5 model
    6c9119de7ffe ALSA: hda/realtek: Fix speaker amp setup on Acer Aspire E1
    6efe4c1f4d17 ALSA: aloop: Fix initialization of controls
    4c933ff31f21 xfrm/compat: Cleanup WARN()s that can be user-triggered

(From OE-Core rev: aec9a6d709f14decd65013434f13a26c57e9196f)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-21 22:43:58 +01:00
Bruce Ashfield
55d65fc106 linux-yocto/5.4: update to v5.4.111
Updating linux-yocto/5.4 to the latest korg -stable release that comprises
the following commits:

    a49e5ea5e045 Linux 5.4.111
    45f540622d5b init/Kconfig: make COMPILE_TEST depend on HAS_IOMEM
    43dd03f08819 init/Kconfig: make COMPILE_TEST depend on !S390
    f5eb7e12a75d nvme-mpath: replace direct_make_request with generic_make_request
    6cce30548058 bpf, x86: Validate computation of branch displacements for x86-32
    a0b3927a07be bpf, x86: Validate computation of branch displacements for x86-64
    20c60bbc1c54 cifs: Silently ignore unknown oplock break handle
    754c82a6bf48 cifs: revalidate mapping when we open files for SMB1 POSIX
    e5991b4fcedb ia64: fix format strings for err_inject
    3e9292b39862 ia64: mca: allocate early mca with GFP_ATOMIC
    9b872bac1923 scsi: target: pscsi: Clean up after failure in pscsi_map_sg()
    e2db0e66139a x86/build: Turn off -fcf-protection for realmode targets
    0465098898ef platform/x86: thinkpad_acpi: Allow the FnLock LED to change state
    5a8c30e8acad netfilter: conntrack: Fix gre tunneling over ipv6
    e84a795b8a0b drm/msm: Ratelimit invalid-fence message
    daf5aaa8e6e0 drm/msm/adreno: a5xx_power: Don't apply A540 lm_setup to other GPUs
    6abe3dad0afe mac80211: choose first enabled channel for monitor
    37b51460b25a mISDN: fix crash in fritzpci
    901d39f7b2ce net: pxa168_eth: Fix a potential data race in pxa168_eth_remove
    dc7c4d30d6e0 net/mlx5e: Enforce minimum value check for ICOSQ size
    b0e2b3271236 bpf, x86: Use kvmalloc_array instead kmalloc_array in bpf_jit_comp
    e5868baa1e3c platform/x86: intel-hid: Support Lenovo ThinkPad X1 Tablet Gen 2
    422c68101110 bus: ti-sysc: Fix warning on unbind if reset is not deasserted
    bec7103b04a9 ARM: dts: am33xx: add aliases for mmc interfaces
    59c8e3329268 Linux 5.4.110
    cde4e338c2b2 drivers: video: fbcon: fix NULL dereference in fbcon_cursor()
    0ca13611d33f staging: rtl8192e: Change state information from u16 to u8
    f9974f189c67 staging: rtl8192e: Fix incorrect source in memcpy()
    fd5ce87aee48 usb: dwc2: Prevent core suspend when port connection flag is 0
    85e1752ae0ed usb: dwc2: Fix HPRT0.PrtSusp bit setting for HiKey 960 board.
    26d2284a0580 usb: gadget: udc: amd5536udc_pci fix null-ptr-dereference
    25c13ca8302f USB: cdc-acm: fix use-after-free after probe failure
    b5aedddb621e USB: cdc-acm: fix double free on probe failure
    7220bba3066e USB: cdc-acm: downgrade message to debug
    62da51d0e7b7 USB: cdc-acm: untangle a circular dependency between callback and softint
    7443350af8cb cdc-acm: fix BREAK rx code path adding necessary calls
    58cace45f84b usb: xhci-mtk: fix broken streams issue on 0.96 xHCI
    a22e35f7b4fb usb: musb: Fix suspend with devices connected for a64
    e94dec2765b5 USB: quirks: ignore remote wake-up on Fibocom L850-GL LTE modem
    2ecf5803557b usbip: vhci_hcd fix shift out-of-bounds in vhci_hub_control()
    5ecfad1efbc3 firewire: nosy: Fix a use-after-free bug in nosy_ioctl()
    58073dc536a6 extcon: Fix error handling in extcon_dev_register
    e3a3d5005e63 extcon: Add stubs for extcon_register_notifier_all() functions
    67ff75be1ab1 pinctrl: rockchip: fix restore error in resume
    c92e8a8ecb9d vfio/nvlink: Add missing SPAPR_TCE_IOMMU depends
    7f93d47677dd reiserfs: update reiserfs_xattrs_initialized() condition
    4dc52ce56d63 drm/amdgpu: check alignment on CPU page for bo map
    f9b3b70fd468 drm/amdgpu: fix offset calculation in amdgpu_vm_bo_clear_mappings()
    00bd9c22409e mm: fix race by making init_zero_pfn() early_initcall
    558ab52776c0 tracing: Fix stack trace event size
    07b19a118d2f PM: runtime: Fix ordering in pm_runtime_get_suppliers()
    72a667681cc4 PM: runtime: Fix race getting/putting suppliers at probe
    b6e7dbf0ed9c xtensa: move coprocessor_flush to the .text section
    c3715f06f9ad ALSA: hda/realtek: call alc_update_headset_mode() in hp_automute_hook
    09a08fd89996 ALSA: hda/realtek: fix a determine_headset_type issue for a Dell AIO
    3acbf473a885 ALSA: hda: Add missing sanity checks in PM prepare/complete callbacks
    65f92e40cc6d ALSA: hda: Re-add dropped snd_poewr_change_state() calls
    05dd1a4223c5 ALSA: usb-audio: Apply sample rate quirk to Logitech Connect
    42c83e3bca43 bpf: Remove MTU check in __bpf_skb_max_len
    aca623d79cb7 net: wan/lmc: unregister device when no matching device is found
    f22854911523 appletalk: Fix skb allocation size in loopback case
    4ff476b88135 net: ethernet: aquantia: Handle error cleanup of start on open
    ee898d95f446 ath10k: hold RCU lock when calling ieee80211_find_sta_by_ifaddr()
    0b8dfb61f29a brcmfmac: clear EAP/association status bits on linkdown events
    2d0e594c1316 can: tcan4x5x: fix max register value
    4ac1feff6ea6 net: introduce CAN specific pointer in the struct net_device
    23394679aa56 can: dev: move driver related infrastructure into separate subdir
    7ca4feb37e9e flow_dissector: fix TTL and TOS dissection on IPv4 fragments
    ee5055593d0e net: mvpp2: fix interrupt mask/unmask skip condition
    aa9345d10f0a ext4: do not iput inode under running transaction in ext4_rename()
    5e39a73e47ef locking/ww_mutex: Simplify use_ww_ctx & ww_ctx handling
    84bd602c14b7 thermal/core: Add NULL pointer check before using cooling device stats
    50c38f76b51d ASoC: rt5659: Update MCLK rate in set_sysclk()
    b6408fd7eb89 staging: comedi: cb_pcidas64: fix request_irq() warn
    b9fe8673b874 staging: comedi: cb_pcidas: fix request_irq() warn
    7390a1cdf304 scsi: qla2xxx: Fix broken #endif placement
    6e79f829e791 scsi: st: Fix a use after free in st_open()
    98052c40e3ac vhost: Fix vhost_vq_reset()
    57aa4f30911a powerpc: Force inlining of cpu_has_feature() to avoid build failure
    dcf4b6e710c7 NFSD: fix error handling in NFSv4.0 callbacks
    990a0fa1ccbb ASoC: cs42l42: Always wait at least 3ms after reset
    6d197691a1c5 ASoC: cs42l42: Fix mixer volume control
    aa74bf73937c ASoC: cs42l42: Fix channel width support
    47ae33d5b32b ASoC: cs42l42: Fix Bitclock polarity inversion
    5952cf385ceb ASoC: es8316: Simplify adc_pga_gain_tlv table
    381679aec216 ASoC: sgtl5000: set DAP_AVC_CTRL register to correct default value on probe
    57b8a192872a ASoC: rt5651: Fix dac- and adc- vol-tlv values being off by a factor of 10
    b75073a37c65 ASoC: rt5640: Fix dac- and adc- vol-tlv values being off by a factor of 10
    ca3f8dcd6d94 iomap: Fix negative assignment to unsigned sis->pages in iomap_swapfile_activate
    c899b8391a54 rpc: fix NULL dereference on kmalloc failure
    0e71c59b2450 fs: nfsd: fix kconfig dependency warning for NFSD_V4
    9b68d3ed8aa8 ext4: fix bh ref count on error paths
    721a6f64c0bc ext4: shrink race window in ext4_should_retry_alloc()
    05d891e76dde module: harden ELF info handling
    6a8df0821f67 module: avoid *goto*s in module_sig_check()
    d9b98ccdfed0 module: merge repetitive strings in module_sig_check()
    1a8c5fbe2f1d modsign: print module name along with error message
    120589bb0970 ipv6: weaken the v4mapped source check
    1225bb45c87b selinux: vsock: Set SID for socket returned by accept()

(From OE-Core rev: 199566a40671ac273028cb44d0bb4494be22c4aa)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-21 22:43:58 +01:00
Bruce Ashfield
376f5cc843 linux-yocto/5.10: update to v5.10.29
Updating linux-yocto/5.10 to the latest korg -stable release that comprises
the following commits:

    d8cf82b410b4 Linux 5.10.29
    cef13a04376b init/Kconfig: make COMPILE_TEST depend on HAS_IOMEM
    ba02635769f1 init/Kconfig: make COMPILE_TEST depend on !S390
    faa30969f66e bpf, x86: Validate computation of branch displacements for x86-32
    3edb8967d91e bpf, x86: Validate computation of branch displacements for x86-64
    f890246ae75c tools/resolve_btfids: Add /libbpf to .gitignore
    76983e244908 kbuild: Do not clean resolve_btfids if the output does not exist
    0945d67e5d43 kbuild: Add resolve_btfids clean to root clean target
    eff1e0465727 tools/resolve_btfids: Set srctree variable unconditionally
    f60c918b07b7 tools/resolve_btfids: Check objects before removing
    249719092447 tools/resolve_btfids: Build libbpf and libsubcmd in separate directories
    2934985086b9 math: Export mul_u64_u64_div_u64
    7345d4b2d421 io_uring: fix timeout cancel return code
    8f9049e70cd6 cifs: Silently ignore unknown oplock break handle
    fee111089cc9 cifs: revalidate mapping when we open files for SMB1 POSIX
    42498ee67296 ia64: fix format strings for err_inject
    bc30fdd598e3 ia64: mca: allocate early mca with GFP_ATOMIC
    b008489d8b86 selftests/vm: fix out-of-tree build
    47f8bc68ae95 scsi: target: pscsi: Clean up after failure in pscsi_map_sg()
    266d3106efbd ptp_qoriq: fix overflow in ptp_qoriq_adjfine() u64 calcalation
    f135b89e286b platform/x86: intel_pmc_core: Ignore GBE LTR on Tiger Lake platforms
    037950869be3 block: clear GD_NEED_PART_SCAN later in bdev_disk_changed
    7c73059bf849 x86/build: Turn off -fcf-protection for realmode targets
    6372aa9a78f8 drm/msm/disp/dpu1: icc path needs to be set before dpu runtime resume
    6deb9d9a84a2 kselftest/arm64: sve: Do not use non-canonical FFR register value
    bcd57b07fd90 platform/x86: thinkpad_acpi: Allow the FnLock LED to change state
    6304295c6190 net: ipa: fix init header command validation
    8a57256e0548 netfilter: nftables: skip hook overlap logic if flowtable is stale
    b0c795f4cc53 netfilter: conntrack: Fix gre tunneling over ipv6
    439c2c22fb85 drm/msm: Ratelimit invalid-fence message
    57e0546f01ca drm/msm/adreno: a5xx_power: Don't apply A540 lm_setup to other GPUs
    b9ec77ef36af drm/msm/dsi_pll_7nm: Fix variable usage for pll_lockdet_rate
    0a66bd60b1ce mac80211: choose first enabled channel for monitor
    7705c48b8695 mac80211: Check crypto_aead_encrypt for errors
    05878b681981 mISDN: fix crash in fritzpci
    4ca265610cc6 kunit: tool: Fix a python tuple typing error
    f0ed115feccc net: pxa168_eth: Fix a potential data race in pxa168_eth_remove
    4b4ce9895e64 net/mlx5e: Enforce minimum value check for ICOSQ size
    198afc3b0c01 bpf, x86: Use kvmalloc_array instead kmalloc_array in bpf_jit_comp
    107875a53868 platform/x86: intel-hid: Support Lenovo ThinkPad X1 Tablet Gen 2
    4c875e034dfb bus: ti-sysc: Fix warning on unbind if reset is not deasserted
    5c6f778e8f7d ARM: dts: am33xx: add aliases for mmc interfaces
    ecdfb9d70fb8 Linux 5.10.28
    7973a0dad073 bpf: Use NOP_ATOMIC5 instead of emit_nops(&prog, 5) for BPF_TRAMP_F_CALL_ORIG
    12b5f9dae410 Revert "kernel: freezer should treat PF_IO_WORKER like PF_KTHREAD for freezing"
    6ae5eaee1ea5 riscv: evaluate put_user() arg before enabling user access
    61f0c3e8098f drivers: video: fbcon: fix NULL dereference in fbcon_cursor()
    d06d0b3cf626 driver core: clear deferred probe reason on probe retry
    d29c38dd926d staging: rtl8192e: Change state information from u16 to u8
    538b96315375 staging: rtl8192e: Fix incorrect source in memcpy()
    84e5203fd277 soc: qcom-geni-se: Cleanup the code to remove proxy votes
    996a5782faef usb: dwc3: gadget: Clear DEP flags after stop transfers in ep disable
    1808ee421ce5 usb: dwc3: qcom: skip interconnect init for ACPI probe
    137dfed1552a usb: dwc2: Prevent core suspend when port connection flag is 0
    4e28aca96729 usb: dwc2: Fix HPRT0.PrtSusp bit setting for HiKey 960 board.
    77c0d6af858b usb: gadget: udc: amd5536udc_pci fix null-ptr-dereference
    6f86681691c2 USB: cdc-acm: fix use-after-free after probe failure
    64deff1f4e0f USB: cdc-acm: fix double free on probe failure
    439a27521112 USB: cdc-acm: downgrade message to debug
    511302531eb8 USB: cdc-acm: untangle a circular dependency between callback and softint
    e700e3aec303 cdc-acm: fix BREAK rx code path adding necessary calls
    9efa606a83e0 usb: xhci-mtk: fix broken streams issue on 0.96 xHCI
    1addcb1f77d6 usb: musb: Fix suspend with devices connected for a64
    15e61d9ae7ac USB: quirks: ignore remote wake-up on Fibocom L850-GL LTE modem
    4027d6e88fef usbip: vhci_hcd fix shift out-of-bounds in vhci_hub_control()
    c04adcc819d3 firewire: nosy: Fix a use-after-free bug in nosy_ioctl()
    2c7d85026324 video: hyperv_fb: Fix a double free in hvfb_probe
    a267a7e1c0ca usb: dwc3: pci: Enable dis_uX_susphy_quirk for Intel Merrifield
    bf4c643192b3 firmware: stratix10-svc: reset COMMAND_RECONFIG_FLAG_PARTIAL to 0
    3b681a1c43b6 extcon: Fix error handling in extcon_dev_register
    023d13952e9b extcon: Add stubs for extcon_register_notifier_all() functions
    0fe56e294cef pinctrl: rockchip: fix restore error in resume
    80ee9e02be3d vfio/nvlink: Add missing SPAPR_TCE_IOMMU depends
    d2308dd5119b drm/tegra: sor: Grab runtime PM reference across reset
    f552f95853f8 drm/tegra: dc: Restore coupling of display controllers
    77a8e6f792d5 drm/imx: fix memory leak when fails to init
    74612ecdf263 reiserfs: update reiserfs_xattrs_initialized() condition
    8c71f5b30955 drm/amdgpu: check alignment on CPU page for bo map
    78ceecd2ed45 drm/amdgpu: fix offset calculation in amdgpu_vm_bo_clear_mappings()
    28f901fe1634 drm/amdkfd: dqm fence memory corruption
    ec3e06e06f76 mm: fix race by making init_zero_pfn() early_initcall
    d88b557b9b73 s390/vdso: fix tod_steering_delta type
    b332265430c8 s390/vdso: copy tod_steering_delta value to vdso_data page
    f706acc9312b tracing: Fix stack trace event size
    cc038ab785a8 PM: runtime: Fix ordering in pm_runtime_get_suppliers()
    da2976cd711b PM: runtime: Fix race getting/putting suppliers at probe
    e6d8eb65532e KVM: SVM: ensure that EFER.SVME is set when running nested guest or on nested vmexit
    5f6625f5cd5c KVM: SVM: load control fields from VMCB12 before checking them
    6aaa3c2ebb4f xtensa: move coprocessor_flush to the .text section
    a3be911a5fee xtensa: fix uaccess-related livelock in do_page_fault
    bcd7999c03ed ALSA: hda/realtek: fix mute/micmute LEDs for HP 640 G8
    ee58eee4501f ALSA: hda/realtek: call alc_update_headset_mode() in hp_automute_hook
    f235ffa56b8e ALSA: hda/realtek: fix a determine_headset_type issue for a Dell AIO
    6d91f3afb632 ALSA: hda: Add missing sanity checks in PM prepare/complete callbacks
    b3116cda4e52 ALSA: hda: Re-add dropped snd_poewr_change_state() calls
    474d3d65784e ALSA: usb-audio: Apply sample rate quirk to Logitech Connect
    e525cd364c09 ACPI: processor: Fix CPU0 wakeup in acpi_idle_play_dead()
    cdd192a20b06 ACPI: tables: x86: Reserve memory occupied by ACPI tables
    fd38d4e6757b bpf: Remove MTU check in __bpf_skb_max_len
    ff64f33bc93b net: 9p: advance iov on empty read
    84877db1cdea net: wan/lmc: unregister device when no matching device is found
    33a6b3eea44b net: ipa: fix register write command validation
    44d76042c038 net: ipa: remove two unused register definitions
    c805f215e9c5 appletalk: Fix skb allocation size in loopback case
    f2294a707f63 net: ethernet: aquantia: Handle error cleanup of start on open
    7d3ffc0993fe ath10k: hold RCU lock when calling ieee80211_find_sta_by_ifaddr()
    221528c20e5e iwlwifi: pcie: don't disable interrupts for reg_lock
    f33d87047323 netdevsim: dev: Initialize FIB module after debugfs
    660bf76aec07 rtw88: coex: 8821c: correct antenna switch function
    b5777172cce2 ath11k: add ieee80211_unregister_hw to avoid kernel crash caused by NULL pointer
    731c4447e6db brcmfmac: clear EAP/association status bits on linkdown events
    4094194d103b can: tcan4x5x: fix max register value
    1a5751d58b14 net: introduce CAN specific pointer in the struct net_device
    9e35159c6e9a can: dev: move driver related infrastructure into separate subdir
    e3ccad57ac09 flow_dissector: fix TTL and TOS dissection on IPv4 fragments
    8fe47a33944f net: mvpp2: fix interrupt mask/unmask skip condition
    44c816c8b9ab io_uring: call req_set_fail_links() on short send[msg]()/recv[msg]() with MSG_WAITALL
    5038c1122e13 ext4: do not iput inode under running transaction in ext4_rename()
    eb8049d85a92 static_call: Align static_call_is_init() patching condition
    21c2bbc17b6b io_uring: imply MSG_NOSIGNAL for send[msg]()/recv[msg]() calls
    fa068ee3f37e nvmet-tcp: fix kmap leak when data digest in use
    3ac4aaff387b locking/ww_mutex: Fix acquire/release imbalance in ww_acquire_init()/ww_acquire_fini()
    905ef030bdf9 locking/ww_mutex: Simplify use_ww_ctx & ww_ctx handling
    1e2a75c24a48 thermal/core: Add NULL pointer check before using cooling device stats
    cf51b6145b9d ASoC: rt711: add snd_soc_component remove callback
    805645d89a20 ASoC: rt5659: Update MCLK rate in set_sysclk()
    7d4344fd3ee0 staging: comedi: cb_pcidas64: fix request_irq() warn
    e833d5716fbb staging: comedi: cb_pcidas: fix request_irq() warn
    4cd96a0de7a1 scsi: qla2xxx: Fix broken #endif placement
    3860814ef620 scsi: st: Fix a use after free in st_open()
    861fc287e036 io_uring: fix ->flags races by linked timeouts
    e1f8c95c1110 vhost: Fix vhost_vq_reset()
    7f6518ec6ee9 kernel: freezer should treat PF_IO_WORKER like PF_KTHREAD for freezing
    540a1ebf3c23 NFSD: fix error handling in NFSv4.0 callbacks
    73df108e3aec ASoC: cs42l42: Always wait at least 3ms after reset
    9b7b92c4b92d ASoC: cs42l42: Fix mixer volume control
    20b39eb99598 ASoC: cs42l42: Fix channel width support
    0d3753babfa7 ASoC: cs42l42: Fix Bitclock polarity inversion
    ed47acc0c888 ASoC: soc-core: Prevent warning if no DMI table is present
    294d4c2b4fda ASoC: es8316: Simplify adc_pga_gain_tlv table
    f134a436d766 ASoC: sgtl5000: set DAP_AVC_CTRL register to correct default value on probe
    b057d540ad2c ASoC: rt5651: Fix dac- and adc- vol-tlv values being off by a factor of 10
    ed4cdb772680 ASoC: rt5640: Fix dac- and adc- vol-tlv values being off by a factor of 10
    4bac395e0b8a ASoC: rt1015: fix i2c communication error
    4eff80b14014 iomap: Fix negative assignment to unsigned sis->pages in iomap_swapfile_activate
    5fb71b231c4e rpc: fix NULL dereference on kmalloc failure
    9e9aa1c03c33 fs: nfsd: fix kconfig dependency warning for NFSD_V4
    e178f362f095 ext4: fix bh ref count on error paths
    4b3139576a20 ext4: shrink race window in ext4_should_retry_alloc()
    1bfb046d29e3 virtiofs: Fail dax mount if device does not support it
    e21d2b92354b bpf: Fix fexit trampoline.
    68abc0115617 arm64: mm: correct the inside linear map range during hotplug check

(From OE-Core rev: 255ec8ff86d31c3464c30c26bdb15f01563b088e)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-21 22:43:58 +01:00
Bruce Ashfield
7f7281cb6d linux-yocto/5.10: BSP configuration fixes
Integrating the following commit(s) to linux-yocto/5.10.:

    fa039db710c qemuppc64: Enable the RTC driver
    f6cfc23fbfc nxp-s32g2xx: add HSE UIO related configs to make hse demo work
    2b445fb1e0b firmware: fix CONFIG_FW_LOADER option mismatch warning
    60dde01d949 nxp-imx8: Correct DRM_TTM config and delete redundant config
    07119316ee5 xlnx: bsp: drop obsolete kernel options for xilinx-zynqmp and xilinx-zynq
    0cf78165f8e bcm-2xxx-rpi: update v5.10 kernel config for raspberrypi 4b platform
    9b5a9e46778 marvell-cn96xx: Add the preempt-rt support

(From OE-Core rev: 6186f21b29e7a152d34c620e81878bf6eff6519d)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-21 22:43:58 +01:00
He Zhe
0596dc8d51 linux-yocto-dev: add features/scsi/scsi-debug.scc features/gpio/mockup.scc to KERNEL_FEATURES
Add features/scsi/scsi-debug.scc and features/gpio/mockup.scc to
KERNEL_FEATURES to meet ptest requirement as what we did for other
linux-yocto*.

(From OE-Core rev: fd27f302df886c27cb424191c27152ad9d0e8d80)

Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-21 22:43:58 +01:00
Bruce Ashfield
995acdd74e linux-yocto/5.10: update to v5.10.27
Updating linux-yocto/5.10 to the latest korg -stable release that comprises
the following commits:

    472493c8a425 Linux 5.10.27
    3a1ca9bd4f5a xen-blkback: don't leak persistent grants from xen_blkbk_map()
    03a1c3253f25 can: peak_usb: Revert "can: peak_usb: add forgotten supported devices"
    f12d05f70282 nvme: fix the nsid value to print in nvme_validate_or_alloc_ns
    36478a9ec5af Revert "net: bonding: fix error return code of bond_neigh_init()"
    451ba16cc5b7 Revert "xen: fix p2m size in dom0 for disabled memory hotplug case"
    df61d3cff422 fs/ext4: fix integer overflow in s_log_groups_per_flex
    0229b5926dc9 ext4: add reclaim checks to xattr code
    25e809bf8bec mac80211: fix double free in ibss_leave
    39e1a35ea65a net: dsa: b53: VLAN filtering is global to all users
    d3b5a04b8ce5 r8169: fix DMA being used after buffer free if WoL is enabled
    8dc08a2962c8 can: dev: Move device back to init netns on owning netns delete
    24256b4d87eb ch_ktls: fix enum-conversion warning
    6f15c02ebbe9 fs/cachefiles: Remove wait_bit_key layout dependency
    002ea848d7fd mm/memcg: fix 5.10 backport of splitting page memcg
    2c163520e12b x86/mem_encrypt: Correct physical address calculation in __set_clr_pte_enc()
    c6c9bc4f261d locking/mutex: Fix non debug version of mutex_lock_io_nested()
    d4ce2a8f465d cifs: Adjust key sizes and key generation routines for AES256 encryption
    86cc799e1d9d smb3: fix cached file size problems in duplicate extents (reflink)
    2423511cc5ba scsi: mpt3sas: Fix error return code of mpt3sas_base_attach()
    6b977fea78de scsi: qedi: Fix error return code of qedi_alloc_global_queues()
    62bb066cdfb6 scsi: Revert "qla2xxx: Make sure that aborted commands are freed"
    fc062d21c011 block: recalculate segment count for multi-segment discards correctly
    dcf2dfc1614d io_uring: fix provide_buffers sign extension
    efb334c4e5ff perf synthetic events: Avoid write of uninitialized memory when generating PERF_RECORD_MMAP* records
    5febe60a8021 perf auxtrace: Fix auxtrace queue conflict
    4a5891992c68 ACPI: scan: Use unique number for instance_no
    2ba9964a9653 ACPI: scan: Rearrange memory allocation in acpi_device_add()
    c33f918758fa Revert "netfilter: x_tables: Update remaining dereference to RCU"
    de2e6b4e32d6 mm/mmu_notifiers: ensure range_end() is paired with range_start()
    42aa210795d8 dm table: Fix zoned model check and zone sectors check
    3fdebc2d8e79 netfilter: x_tables: Use correct memory barriers.
    520be4d1af9c Revert "netfilter: x_tables: Switch synchronization to RCU"
    87771c9b09bb net: phy: broadcom: Fix RGMII delays for BCM50160 and BCM50610M
    485335a637c8 net: phy: broadcom: Set proper 1000BaseX/SGMII interface mode for BCM54616S
    837a3ae33459 net: phy: broadcom: Avoid forward for bcm54xx_config_clock_delay()
    9a5267264fc2 net: phy: introduce phydev->port
    c4934e65c8bc net: axienet: Fix probe error cleanup
    3e08fd4a8298 net: axienet: Properly handle PCS/PMA PHY for 1000BaseX mode
    d65e7d0c7449 igb: avoid premature Rx buffer reuse
    c7eb3e12f18f net, bpf: Fix ip6ip6 crash with collect_md populated skbs
    0a245acbce89 net: Consolidate common blackhole dst ops
    33cd5f88b5bf bpf: Don't do bpf_cgroup_storage_set() for kuprobe/tp programs
    d95696f537d6 RDMA/cxgb4: Fix adapter LE hash errors while destroying ipv6 listening server
    b740e58324c8 xen/x86: make XEN_BALLOON_MEMORY_HOTPLUG_LIMIT depend on MEMORY_HOTPLUG
    889c56ea941e octeontx2-af: Fix memory leak of object buf
    558454ec5170 net: bridge: don't notify switchdev for local FDB addresses
    7d019b2d0f27 PM: EM: postpone creating the debugfs dir till fs_initcall
    08a5f812ad6c net/mlx5e: Fix error path for ethtool set-priv-flag
    624f0dc8f7f4 net/mlx5e: Offload tuple rewrite for non-CT flows
    c83207bb02d6 net/mlx5e: Allow to match on MPLS parameters only for MPLS over UDP
    0be13d01473a net/mlx5: Add back multicast stats for uplink representor
    65c021e73590 PM: runtime: Defer suspending suppliers
    3db5fc556515 arm64: kdump: update ppos when reading elfcorehdr
    447a011bb40d drm/msm: Fix suspend/resume on i.MX5
    c7552dee62a0 drm/msm: fix shutdown hook in case GPU components failed to bind
    0b7bc92c1986 can: isotp: tx-path: zero initialize outgoing CAN frames
    ccd5565feea3 bpf: Fix umd memory leak in copy_process()
    eeadce8811d3 libbpf: Fix BTF dump of pointer-to-array-of-struct
    7693b64ae508 selftests: forwarding: vxlan_bridge_1d: Fix vxlan ecn decapsulate value
    5ebb9947b488 selinux: vsock: Set SID for socket returned by accept()
    1e01729999c0 net: stmmac: dwmac-sun8i: Provide TX and RX fifo sizes
    961d9a6e47b9 r8152: limit the RX buffer size of RTL8153A for USB 2.0
    2330d46db081 igb: check timestamp validity
    421e0d731070 net: cdc-phonet: fix data-interface release on probe failure
    943e1583bf8a net: check all name nodes in __dev_alloc_name
    748a158359d7 octeontx2-af: fix infinite loop in unmapping NPC counter
    b553f45c76ec octeontx2-pf: Clear RSS enable flag on interace down
    11e94cfa9dd8 octeontx2-af: Fix irq free in rvu teardown
    da517ca38dc6 octeontx2-af: Remove TOS field from MKEX TX
    1055796ca031 octeontx2-af: Modify default KEX profile to extract TX packet fields
    f896ae2886d1 octeontx2-af: Formatting debugfs entry rsrc_alloc.
    5f64c4c550c8 ipv6: weaken the v4mapped source check
    9e48a3bc8ba2 ARM: dts: imx6ull: fix ubi filesystem mount failed
    b4c574e4b471 libbpf: Use SOCK_CLOEXEC when opening the netlink socket
    86e525bc04f2 libbpf: Fix error path in bpf_object__elf_init()
    4280132339ce netfilter: flowtable: Make sure GC works periodically in idle system
    186d8dc40a65 netfilter: nftables: allow to update flowtable flags
    4a741b4df032 netfilter: nftables: report EOPNOTSUPP on unsupported flowtable flags
    a96a8cb0500a net/sched: cls_flower: fix only mask bit check in the validate_ct_state
    6233c2d09633 ionic: linearize tso skb with too many frags
    7637048707e5 drm/msm/dsi: fix check-before-set in the 7nm dsi_pll code
    126aa8f23424 ftrace: Fix modify_ftrace_direct.
    29b8834cf828 nfp: flower: fix pre_tun mask id allocation
    47dae14b21f7 nfp: flower: add ipv6 bit to pre_tunnel control message
    259b0122dea5 nfp: flower: fix unsupported pre_tunnel flows
    aeff815e76ef selftests/net: fix warnings on reuseaddr_ports_exhausted
    bd63bd78d303 mac80211: Allow HE operation to be longer than expected.
    f865127b1d26 mac80211: fix rate mask reset
    48d0b548b49e can: m_can: m_can_rx_peripheral(): fix RX being blocked by errors
    afaca48e3017 can: m_can: m_can_do_rx_poll(): fix extraneous msg loss warning
    4fcf59c24990 can: c_can: move runtime PM enable/disable to c_can_platform
    524320e8034a can: c_can_pci: c_can_pci_remove(): fix use-after-free
    f9a5974b9719 can: kvaser_pciefd: Always disable bus load reporting
    af3e6c3dcf54 can: flexcan: flexcan_chip_freeze(): fix chip freeze for missing bitrate
    0cbadc0fb54c can: peak_usb: add forgotten supported devices
    3b3d9279be6c can: isotp: TX-path: ensure that CAN frame flags are initialized
    f88517dae95b can: isotp: isotp_setsockopt(): only allow to set low level TX flags for CAN-FD
    63f2a9bd3133 tcp: relookup sock for RST+ACK packets handled by obsolete req sock
    50f41f2e29ff tipc: better validate user input in tipc_nl_retrieve_key()
    ddeba5b39cca net: phylink: Fix phylink_err() function name error in phylink_major_config
    375f5169f231 net: hdlc_x25: Prevent racing between "x25_close" and "x25_xmit"/"x25_rx"
    ee39ee5f437c netfilter: ctnetlink: fix dump of the expect mask attribute
    d5380ceede6f selftests/bpf: Set gopt opt_class to 0 if get tunnel opt failed
    33cc382c5830 flow_dissector: fix byteorder of dissected ICMP ID
    fce6fb902189 net: qrtr: fix a kernel-infoleak in qrtr_recvmsg()
    6d3635ed12e7 net: ipa: terminate message handler arrays
    1701bd22b05d clk: qcom: gcc-sc7180: Use floor ops for the correct sdcc1 clk
    b50c46ef67d6 ftgmac100: Restart MAC HW once
    e64a5a5b8e93 net: phy: broadcom: Add power down exit reset state delay
    87378c850fee net/qlcnic: Fix a use after free in qlcnic_83xx_get_minidump_template
    648b62f10cec e1000e: Fix error handling in e1000_set_d0_lplu_state_82571
    8ed431fec355 e1000e: add rtnl_lock() to e1000_reset_task
    5994a096570f igc: Fix igc_ptp_rx_pktstamp()
    0963fadcf536 igc: Fix Supported Pause Frame Link Setting
    d5330d5cc3ad igc: Fix Pause Frame Advertising
    d85ffade499a igc: reinit_locked() should be called with rtnl_lock
    4c91fc60e3f6 net: dsa: bcm_sf2: Qualify phydev->dev_flags based on port
    f64270027928 net: sched: validate stab values
    400199d6e6f6 macvlan: macvlan_count_rx() needs to be aware of preemption
    2514c7ad115e drop_monitor: Perform cleanup upon probe registration failure
    7f041ee8effd ipv6: fix suspecious RCU usage warning
    61219de46413 net/mlx5e: Don't match on Geneve options in case option masks are all zero
    d0be25fa4f96 net/mlx5e: When changing XDP program without reset, take refs for XSK RQs
    60b5ff15b41d net/mlx5e: RX, Mind the MPWQE gaps when calculating offsets
    9857de932b30 libbpf: Fix INSTALL flag order
    f7c3d7615e6c bpf: Change inode_storage's lookup_elem return value from NULL to -EBADF
    926cde9eec67 veth: Store queue_mapping independently of XDP prog presence
    f47a9b2570ad soc: ti: omap-prm: Fix occasional abort on reset deassert for dra7 iva
    1f798907b435 ARM: OMAP2+: Fix smartreflex init regression after dropping legacy data
    965e6cb8d4c9 bus: omap_l3_noc: mark l3 irqs as IRQF_NO_THREAD
    921aae17bb0f dm ioctl: fix out of bounds array access when no devices
    d8b36c483d47 dm verity: fix DM_VERITY_OPTS_MAX value
    1e2d70d08ade drm/i915: Fix the GT fence revocation runtime PM logic
    da6a9b5b1799 drm/amdgpu: Add additional Sienna Cichlid PCI ID
    dc28098f40b4 drm/amdgpu/display: restore AUX_DPHY_TX_CONTROL for DCN2.x
    e02f765fa784 drm/amd/pm: workaround for audio noise issue
    f771b2b3eb2f drm/etnaviv: Use FOLL_FORCE for userptr
    546f7fcc451c integrity: double check iint_cache was initialized
    5f7b515df003 ARM: dts: at91-sama5d27_som1: fix phy address to 7
    2a0d35962ff1 ARM: dts: at91: sam9x60: fix mux-mask to match product's datasheet
    0b6cd8802d32 ARM: dts: at91: sam9x60: fix mux-mask for PA7 so it can be set to A, B and C
    1c103f512251 arm64: dts: ls1043a: mark crypto engine dma coherent
    4f35b64ba823 arm64: dts: ls1012a: mark crypto engine dma coherent
    3883f335b5ee arm64: dts: ls1046a: mark crypto engine dma coherent
    1ced45535d4b arm64: stacktrace: don't trace arch_stack_walk()
    53d3c8063590 ACPICA: Always create namespace nodes using acpi_ns_create_node()
    36fe73bd0af9 ACPI: video: Add missing callback back for Sony VPCEH3U1E
    1f5c9efad9fe gcov: fix clang-11+ support
    6e63cc1fe253 kasan: fix per-page tags for non-page_alloc pages
    fe03ccc3ce90 hugetlb_cgroup: fix imbalanced css_get and css_put pair for shared mappings
    269042e8ffed squashfs: fix xattr id and id lookup sanity checks
    61d72c5952c4 squashfs: fix inode lookup sanity checks
    1d215fcbc4ef z3fold: prevent reclaim/free race for headless pages
    e4642090734e psample: Fix user API breakage
    a4be7e4ed5d9 platform/x86: intel-vbtn: Stop reporting SW_DOCK events
    4f67d3e8c0ac netsec: restore phy power state after controller reset
    19c9967e495e selinux: fix variable scope issue in live sidtab conversion
    9731e08a3381 selinux: don't log MAC_POLICY_LOAD record on failed policy load
    3b87d0c5834b btrfs: fix sleep while in non-sleep context during qgroup removal
    771dfb3c531d KVM: x86: Protect userspace MSR filter with SRCU, and set atomically-ish
    394e4fd67946 static_call: Fix static_call_set_init()
    0fefb5f3e574 static_call: Fix the module key fixup
    a63068e93917 static_call: Allow module use without exposing static_call_key
    433cd7ca386c static_call: Pull some static_call declarations to the type headers
    533c293f737c ia64: fix ptrace(PTRACE_SYSCALL_INFO_EXIT) sign
    d76e207991c4 ia64: fix ia64_syscall_get_set_arguments() for break-based syscalls
    7077d5e7f074 mm/fork: clear PASID for new mm
    07feac84efc6 block: Suppress uevent for hidden device when removed
    9f704608010b nfs: we don't support removing system.nfs4_acl
    3dab008e23bd nvme-pci: add the DISABLE_WRITE_ZEROES quirk for a Samsung PM1725a
    8f0534c96ac8 nvme-rdma: Fix a use after free in nvmet_rdma_write_data_done
    c7b3f6db97c2 nvme-core: check ctrl css before setting up zns
    9083dc773d67 nvme-fc: return NVME_SC_HOST_ABORTED_CMD when a command has been aborted
    4d6aea29a795 nvme-fc: set NVME_REQ_CANCELLED in nvme_fc_terminate_exchange()
    7e62a89b51dd nvme: add NVME_REQ_CANCELLED flag in nvme_cancel_request()
    d8b17df7bf80 nvme: simplify error logic in nvme_validate_ns()
    b91230a0013f drm/radeon: fix AGP dependency
    35d4f0712828 drm/amdgpu: fb BO should be ttm_bo_type_device
    a255d14eb5dc drm/amd/display: Revert dram_clock_change_latency for DCN2.1
    d27b0964ade9 block: Fix REQ_OP_ZONE_RESET_ALL handling
    c9d1f6ad1e25 regulator: qcom-rpmh: Correct the pmic5_hfsmps515 buck
    6366a5bb888b kselftest: arm64: Fix exit code of sve-ptrace
    da5bc0c21c04 u64_stats,lockdep: Fix u64_stats_init() vs lockdep
    f89338395545 staging: rtl8192e: fix kconfig dependency on CRYPTO
    eb4154fb61e2 habanalabs: Call put_pid() when releasing control device
    f2b38f03a3f7 sparc64: Fix opcode filtering in handling of no fault loads
    58b34195b33f umem: fix error return code in mm_pci_probe()
    feaa91193ad3 kbuild: dummy-tools: fix inverted tests for gcc
    ede8be3ae078 kbuild: add image_name to no-sync-config-targets
    264bb27b9fe4 irqchip/ingenic: Add support for the JZ4760
    b684c380f0b9 cifs: change noisy error message to FYI
    758bca385a79 atm: idt77252: fix null-ptr-dereference
    f35954a3961b atm: uPD98402: fix incorrect allocation
    852143ed96e2 net: enetc: set MAC RX FIFO to recommended value
    697082b125b0 net: davicom: Use platform_get_irq_optional()
    e6946ef43848 net: wan: fix error return code of uhdlc_init()
    184dc037575c net: hisilicon: hns: fix error return code of hns_nic_clear_all_rx_fetch()
    9d1a5392aca1 NFS: Correct size calculation for create reply length
    2479c6b9ef36 nfs: fix PNFS_FLEXFILE_LAYOUT Kconfig default
    b48779c863c0 gpiolib: acpi: Add missing IRQF_ONESHOT
    9443aef16fca cpufreq: blacklist Arm Vexpress platforms in cpufreq-dt-platdev
    6d7dce3bdfc4 gfs2: fix use-after-free in trans_drain
    419ebba40dbf cifs: ask for more credit on async read/write code paths
    b8bfda6e08b8 gianfar: fix jumbo packets+napi+rx overrun crash
    2d0fba5a2e9f sun/niu: fix wrong RXMAC_BC_FRM_CNT_COUNT count
    81b1a8f14436 net: intel: iavf: fix error return code of iavf_init_get_resources()
    5f86016bdfa7 net: tehuti: fix error return code in bdx_probe()
    71b996c9b883 blk-cgroup: Fix the recursive blkg rwstat
    b171748b7953 scsi: ufs: ufs-qcom: Disable interrupt in reset path
    028210541b3c ixgbe: Fix memleak in ixgbe_configure_clsu32
    4dc123500c3b ALSA: hda: ignore invalid NHLT table
    18f27fc6bcc2 Revert "r8152: adjust the settings about MAC clock speed down for RTL8153"
    f8f6190094a3 atm: lanai: dont run lanai_dev_close if not open
    6f6e45947572 atm: eni: dont release is never initialized
    75e967a04d37 powerpc/4xx: Fix build errors from mfdcr()
    4a104e4d4d9d net: fec: ptp: avoid register access when ipg clock is disabled
    50c75680bdce net: stmmac: fix dma physical address of descriptor when display ring
    a9daba140178 mt76: fix tx skb error handling in mt76_dma_tx_queue_skb
    efb12c03fcd0 mm/memcg: set memcg when splitting page
    6143a1d193e9 mm/memcg: rename mem_cgroup_split_huge_fixup to split_page_memcg and add nr_pages argument
    856cd02bbdd4 Linux 5.10.26
    de1126ea44bb cifs: Fix preauth hash corruption
    21536d7b7e6f x86/apic/of: Fix CPU devicetree-node lookups
    95247d24c4d4 genirq: Disable interrupts for force threaded handlers
    80b2787789af firmware/efi: Fix a use after bug in efi_mem_reserve_persistent
    47ba0d4d2afb efi: use 32-bit alignment for efi_guid_t literals
    e5154ea8e48f static_call: Fix static_call_update() sanity check
    51ccdd25d7e5 MAINTAINERS: move the staging subsystem to lists.linux.dev
    4c9a74798ef1 MAINTAINERS: move some real subsystems off of the staging mailing list
    35ecf664fd6c ext4: fix rename whiteout with fast commit
    e8fa569465e5 ext4: fix potential error in ext4_do_update_inode
    6163a0662b79 ext4: do not try to set xattr into ea_inode if value is empty
    d130b802f98a ext4: stop inode update before return
    258db8e6ffdc ext4: find old entry again if failed to rename whiteout
    9689ecadf8a7 ext4: fix error handling in ext4_end_enable_verity()
    e4ea2a28d068 efivars: respect EFI_UNSUPPORTED return from firmware
    a548acde9608 x86: Introduce TS_COMPAT_RESTART to fix get_nr_restart_syscall()
    97c608959c27 x86: Move TS_COMPAT back to asm/thread_info.h
    4523e648b7b7 kernel, fs: Introduce and use set_restart_fn() and arch_set_restart_data()
    0e245256e34d x86/ioapic: Ignore IRQ2 again
    4fdf5f4ba61f perf/x86/intel: Fix unchecked MSR access error caused by VLBR_EVENT
    514ea597be8e perf/x86/intel: Fix a crash caused by zero PEBS status
    be1f58e58f76 PCI: rpadlpar: Fix potential drc_name corruption in store functions
    6d4e1fed18d0 counter: stm32-timer-cnt: fix ceiling miss-alignment with reload register
    cbc4c42dbec0 counter: stm32-timer-cnt: fix ceiling write max value
    dcdde25844d4 iio: hid-sensor-temperature: Fix issues of timestamp channel
    7de97c4bba51 iio: hid-sensor-prox: Fix scale not correct issue
    fd8efe16d867 iio: hid-sensor-humidity: Fix alignment issue of timestamp channel
    b477c121a287 iio: adc: adi-axi-adc: add proper Kconfig dependencies
    d894acab2844 iio: adc: ad7949: fix wrong ADC result due to incorrect bit mask
    533ee1e28455 iio: adc: ab8500-gpadc: Fix off by 10 to 3
    f8bfbd3917fa iio: gyro: mpu3050: Fix error handling in mpu3050_trigger_handler
    06c281c23ace iio: adis16400: Fix an error code in adis16400_initial_setup()
    531231485844 iio:adc:qcom-spmi-vadc: add default scale to LR_MUX2_BAT_ID channel
    3ce2e7b2d360 iio:adc:stm32-adc: Add HAS_IOMEM dependency
    6c3c90058b95 thunderbolt: Increase runtime PM reference count on DP tunnel discovery
    f4ca082e3f59 thunderbolt: Initialize HopID IDAs in tb_switch_alloc()
    c7bb96a37dd2 usb: dwc3: gadget: Prevent EP queuing while stopping transfers
    395d273f2998 usb: dwc3: gadget: Allow runtime suspend if UDC unbinded
    8b8a84234c38 usb: typec: tcpm: Invoke power_supply_changed for tcpm-source-psy-
    0ea3fb15a87e usb: typec: Remove vdo[3] part of tps6598x_rx_identity_reg struct
    0f882bcc6407 usb: gadget: configfs: Fix KASAN use-after-free
    22e85a6a35cc usbip: Fix incorrect double assignment to udc->ud.tcp_rx
    7046e5f7a2f6 usb-storage: Add quirk to defeat Kindle's automatic unload
    5a62d6d7afa0 powerpc: Force inlining of cpu_has_feature() to avoid build failure
    2bdef2b476e2 gfs2: bypass signal_our_withdraw if no journal
    a602e830ddaf gfs2: move freeze glock outside the make_fs_rw and _ro functions
    49787b1bba1f gfs2: Add common helper for holding and releasing the freeze glock
    db37238f3452 regulator: pca9450: Clear PRESET_EN bit to fix BUCK1/2/3 voltage setting
    cfbff8bd9efc regulator: pca9450: Enable system reset on WDOG_B assertion
    775691b94ce7 regulator: pca9450: Add SD_VSEL GPIO for LDO5
    9392b8219b62 net: bonding: fix error return code of bond_neigh_init()
    76f496681d6a io_uring: clear IOCB_WAITQ for non -EIOCBQUEUED return
    3c08f772ad0d io_uring: don't attempt IO reissue from the ring exit path
    40345b9c9d90 drm/amd/pm: fulfill the Polaris implementation for get_clock_by_type_with_latency()
    e8e99acd0830 s390/qeth: schedule TX NAPI on QAOB completion
    f3f6765fd0e8 ibmvnic: remove excessive irqsave
    96823c1e9997 media: cedrus: h264: Support profile controls
    1c20e9040f49 io_uring: fix inconsistent lock state
    e1a69079edc4 iwlwifi: Add a new card for MA family
    e7f6ebde21cf drm/amd/display: turn DPMS off on connector unplug
    559b842a64ff MIPS: compressed: fix build with enabled UBSAN
    8545519b1f51 net: phy: micrel: set soft_reset callback to genphy_soft_reset for KSZ8081
    33cafc7952a4 i40e: Fix endianness conversions
    41d4c889b274 powerpc/sstep: Fix darn emulation
    8a335142f1c5 powerpc/sstep: Fix load-store and update emulation
    8b4a797e86a0 RDMA/mlx5: Allow creating all QPs even when non RDMA profile is used
    bb38c1c03384 scsi: isci: Pass gfp_t flags in isci_port_bc_change_received()
    d74238028a11 scsi: isci: Pass gfp_t flags in isci_port_link_up()
    d9f5efd1afc4 scsi: isci: Pass gfp_t flags in isci_port_link_down()
    1eda358e37e5 scsi: mvsas: Pass gfp_t flags to libsas event notifiers
    58bdc321beb5 scsi: libsas: Introduce a _gfp() variant of event notifiers
    18c3c04e8e53 scsi: libsas: Remove notifier indirection
    29c5b80327b7 scsi: pm8001: Neaten debug logging macros and uses
    c4186c00adc1 scsi: pm80xx: Fix pm8001_mpi_get_nvmd_resp() race condition
    3e4b3770744d scsi: pm80xx: Make running_req atomic
    6075c84a98ce scsi: pm80xx: Make mpi_build_cmd locking consistent
    d802672c7f00 module: harden ELF info handling
    e2c8978a75e0 module: avoid *goto*s in module_sig_check()
    8587715b65fa module: merge repetitive strings in module_sig_check()
    c02a33f0fd28 RDMA/rtrs: Fix KASAN: stack-out-of-bounds bug
    904a52dd9e50 RDMA/rtrs: Introduce rtrs_post_send
    9e97c211b701 RDMA/rtrs-srv: Jump to dereg_mr label if allocate iu fails
    5abee8b1fc4f RDMA/rtrs: Remove unnecessary argument dir of rtrs_iu_free
    4ebd8f0c82a5 bpf: Declare __bpf_free_used_maps() unconditionally
    0e44f1e18398 serial: stm32: fix DMA initialization error handling
    5f8659adf7a2 tty: serial: stm32-usart: Remove set but unused 'cookie' variables
    20c0bd2b6579 ibmvnic: serialize access to work queue on remove
    f8ba6913c40a ibmvnic: add some debugs
    b4be6e6e2696 nvme-rdma: fix possible hang when failing to set io queues
    b3901ceb120d gpiolib: Assign fwnode to parent's if no primary one provided
    c5fe922eaf1a counter: stm32-timer-cnt: Report count function when SLAVE_MODE_DISABLED
    f854abe46b0e RISC-V: correct enum sbi_ext_rfence_fid
    359d8ff40a09 scsi: ufs: ufs-mediatek: Correct operator & -> &&
    38089ba4b20c scsi: myrs: Fix a double free in myrs_cleanup()
    eb9d08b34351 scsi: lpfc: Fix some error codes in debugfs
    e95c0d43509c riscv: Correct SPARSEMEM configuration
    04eb2b2fa12f cifs: fix allocation size on newly created files
    bb2e41e65c33 kbuild: Fix <linux/version.h> for empty SUBLEVEL or PATCHLEVEL again
    72714560fbc7 net/qrtr: fix __netdev_alloc_skb call
    6cae8095490c io_uring: ensure that SQPOLL thread is started for exit
    a7acb614287b pstore: Fix warning in pstore_kill_sb()
    5f7d470696ad i915/perf: Start hrtimer only if sampling the OA buffer
    cb14e99e886f sunrpc: fix refcount leak for rpc auth modules
    2ea2d3a79800 vhost_vdpa: fix the missing irq_bypass_unregister_producer() invocation
    3e5a1bb6ea20 vfio: IOMMU_API should be selected
    c2219627091c svcrdma: disable timeouts on rdma backchannel
    982b899ba672 NFSD: fix dest to src mount in inter-server COPY
    800369d61add NFSD: Repair misuse of sv_lock in 5.10.16-rt30.
    12628e7779f8 nfsd: don't abort copies early
    5ea0aa29ad4b nfsd: Don't keep looking up unhashed files in the nfsd file cache
    628f39a57a46 nvmet: don't check iosqes,iocqes for discovery controllers
    b4f911e3a982 nvme-tcp: fix a NULL deref when receiving a 0-length r2t PDU
    7089cdfce32f nvme-tcp: fix possible hang when failing to set io queues
    a83e5c6c35fa nvme-tcp: fix misuse of __smp_processor_id with preemption enabled
    fd9e2b999740 nvme: fix Write Zeroes limitations
    2d202085d2dd ALSA: usb-audio: Fix unintentional sign extension issue
    64195f022ae8 afs: Stop listxattr() from listing "afs.*" attributes
    78ba4793b084 afs: Fix accessing YFS xattrs on a non-YFS server
    07fa872bf79c ASoC: simple-card-utils: Do not handle device clock
    d1ab87e31761 ASoC: qcom: lpass-cpu: Fix lpass dai ids parse
    1ae54de79fba ASoC: codecs: wcd934x: add a sanity check in set channel map
    03079a0f1bf7 ASoC: qcom: sdm845: Fix array out of range on rx slim channels
    26b08c08a5f3 ASoC: qcom: sdm845: Fix array out of bounds access
    47a6cadb6cfd ASoC: SOF: intel: fix wrong poll bits in dsp power down
    b94b71a7a6f6 ASoC: SOF: Intel: unregister DMIC device on probe error
    4da5a9a73c4c ASoC: Intel: bytcr_rt5640: Fix HP Pavilion x2 10-p0XX OVCD current threshold
    118cfdc770cd ASoC: fsl_ssi: Fix TDM slot setup for I2S mode
    223dc51caa51 drm/amd/display: Correct algorithm for reversed gamma
    4daa70a80c68 vhost-vdpa: set v->config_ctx to NULL if eventfd_ctx_fdget() fails
    49ca3100fbaf vhost-vdpa: fix use-after-free of v->config_ctx
    2c8d6a9474f0 btrfs: fix slab cache flags for free space tree bitmap
    38ffe9eaeb7c btrfs: fix race when cloning extent buffer during rewind of an old root
    78486cf1f31e zonefs: fix to update .i_wr_refcnt correctly in zonefs_open_zone()
    9c1c5e81a002 zonefs: prevent use of seq files as swap file
    dfbdbf0f359a zonefs: Fix O_APPEND async write handling
    38c74f2f2318 s390/pci: fix leak of PCI device structure
    075e3034740c s390/pci: remove superfluous zdev->zbus check
    bd37d9b9c4fb s390/pci: refactor zpci_create_device()
    015916ca0266 s390/vtime: fix increased steal time accounting
    5c0a3a331dc5 Revert "PM: runtime: Update device status before letting suppliers suspend"
    68525e424175 ALSA: hda/realtek: fix mute/micmute LEDs for HP 850 G8
    f086deab2c64 ALSA: hda/realtek: fix mute/micmute LEDs for HP 440 G8
    7b00df1894c6 ALSA: hda/realtek: fix mute/micmute LEDs for HP 840 G8
    14af4bf8d481 ALSA: hda/realtek: Apply headset-mic quirks for Xiaomi Redmibook Air
    4c698a3b8fb7 ALSA: hda: generic: Fix the micmute led init state
    e6c7cdf0baf3 ALSA: hda/realtek: apply pin quirk for XiaomiNotebook Pro
    cd7b17ba8e4d ALSA: dice: fix null pointer dereference when node is disconnected
    422806f8d289 spi: cadence: set cqspi to the driver_data field of struct device
    f8d5ced57b07 ASoC: ak5558: Add MODULE_DEVICE_TABLE
    064a7289b445 ASoC: ak4458: Add MODULE_DEVICE_TABLE

(From OE-Core rev: cbb5c4392c63f896f204c0c15b0cfa7a364feed2)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-21 22:43:58 +01:00
Bruce Ashfield
94afd49286 linux-yocto/5.4: update to v5.4.109
Updating linux-yocto/5.4 to the latest korg -stable release that comprises
the following commits:

    4e85f8a712cd Linux 5.4.109
    057dd3e6986b xen-blkback: don't leak persistent grants from xen_blkbk_map()
    ce934540ff09 can: peak_usb: Revert "can: peak_usb: add forgotten supported devices"
    2638770e793b ext4: add reclaim checks to xattr code
    92b9e3deffb6 mac80211: fix double free in ibss_leave
    ae23957bd1fb net: qrtr: fix a kernel-infoleak in qrtr_recvmsg()
    f7a962970001 net: dsa: b53: VLAN filtering is global to all users
    f866d1fa48e4 can: dev: Move device back to init netns on owning netns delete
    dfd6627c83dd x86/mem_encrypt: Correct physical address calculation in __set_clr_pte_enc()
    f989059cd22a locking/mutex: Fix non debug version of mutex_lock_io_nested()
    1260d8dc2d66 scsi: mpt3sas: Fix error return code of mpt3sas_base_attach()
    d31747705762 scsi: qedi: Fix error return code of qedi_alloc_global_queues()
    063c3cfb264b scsi: Revert "qla2xxx: Make sure that aborted commands are freed"
    fdc61af371db block: recalculate segment count for multi-segment discards correctly
    8ce9f6efa655 perf auxtrace: Fix auxtrace queue conflict
    bc0b1a2036dd ACPI: scan: Use unique number for instance_no
    b382f9d61609 ACPI: scan: Rearrange memory allocation in acpi_device_add()
    cc578c3e612b Revert "netfilter: x_tables: Update remaining dereference to RCU"
    19a5fb4ceada netfilter: x_tables: Use correct memory barriers.
    c46cd29b89da Revert "netfilter: x_tables: Switch synchronization to RCU"
    e74d46e69a45 bpf: Don't do bpf_cgroup_storage_set() for kuprobe/tp programs
    01398e024ba6 RDMA/cxgb4: Fix adapter LE hash errors while destroying ipv6 listening server
    78aafa0240bc PM: EM: postpone creating the debugfs dir till fs_initcall
    f54b10114d63 net/mlx5e: Fix error path for ethtool set-priv-flag
    fa4addf30c2c PM: runtime: Defer suspending suppliers
    c82d289fe958 arm64: kdump: update ppos when reading elfcorehdr
    8bf90e000c10 drm/msm: fix shutdown hook in case GPU components failed to bind
    4fda26d2f7e1 libbpf: Fix BTF dump of pointer-to-array-of-struct
    4f71aacd6c92 selftests: forwarding: vxlan_bridge_1d: Fix vxlan ecn decapsulate value
    4ecf6d486e45 net: stmmac: dwmac-sun8i: Provide TX and RX fifo sizes
    1f103ca31c51 r8152: limit the RX buffer size of RTL8153A for USB 2.0
    048d0bf8ad19 net: cdc-phonet: fix data-interface release on probe failure
    ecc62c3b1b57 octeontx2-af: fix infinite loop in unmapping NPC counter
    7e9a48ceccae octeontx2-af: Fix irq free in rvu teardown
    e15823801229 libbpf: Use SOCK_CLOEXEC when opening the netlink socket
    7722378c4a0a nfp: flower: fix pre_tun mask id allocation
    060deac22f87 mac80211: fix rate mask reset
    52cc7bad1275 can: m_can: m_can_rx_peripheral(): fix RX being blocked by errors
    059c1996017d can: m_can: m_can_do_rx_poll(): fix extraneous msg loss warning
    e484616a9600 can: c_can: move runtime PM enable/disable to c_can_platform
    4f71965ee897 can: c_can_pci: c_can_pci_remove(): fix use-after-free
    42e49b3aa536 can: kvaser_pciefd: Always disable bus load reporting
    e3ca9fbfcdf5 can: flexcan: flexcan_chip_freeze(): fix chip freeze for missing bitrate
    fb4a6ac4851a can: peak_usb: add forgotten supported devices
    0a8046daba17 tcp: relookup sock for RST+ACK packets handled by obsolete req sock
    67319a8df5d3 netfilter: ctnetlink: fix dump of the expect mask attribute
    c4dd0b36cce4 selftests/bpf: Set gopt opt_class to 0 if get tunnel opt failed
    9d06cabe3bf4 ftgmac100: Restart MAC HW once
    81c591299da3 net/qlcnic: Fix a use after free in qlcnic_83xx_get_minidump_template
    d00db63edd0a e1000e: Fix error handling in e1000_set_d0_lplu_state_82571
    9f02a5658413 e1000e: add rtnl_lock() to e1000_reset_task
    71fa8051f2f4 igc: Fix Supported Pause Frame Link Setting
    35d8a780fa2b igc: Fix Pause Frame Advertising
    da8af444b325 net: dsa: bcm_sf2: Qualify phydev->dev_flags based on port
    267b79a11046 net: sched: validate stab values
    76909a298ebb macvlan: macvlan_count_rx() needs to be aware of preemption
    c6b6c7a92fe5 ipv6: fix suspecious RCU usage warning
    40fa14bbe3fe net/mlx5e: Don't match on Geneve options in case option masks are all zero
    e64e327c7fab libbpf: Fix INSTALL flag order
    53f1483984bf veth: Store queue_mapping independently of XDP prog presence
    f259a7fdeb12 bus: omap_l3_noc: mark l3 irqs as IRQF_NO_THREAD
    e6587d142d02 dm ioctl: fix out of bounds array access when no devices
    7b6944f18cec dm verity: fix DM_VERITY_OPTS_MAX value
    752589cd4ea8 integrity: double check iint_cache was initialized
    f3404a677770 ARM: dts: at91-sama5d27_som1: fix phy address to 7
    1815a24b9483 arm64: dts: ls1043a: mark crypto engine dma coherent
    7447c05e06c4 arm64: dts: ls1012a: mark crypto engine dma coherent
    b6f866bbf7ca arm64: dts: ls1046a: mark crypto engine dma coherent
    e980bd1f7f60 ACPI: video: Add missing callback back for Sony VPCEH3U1E
    431aaecd24ac gcov: fix clang-11+ support
    4748b6d56efe kasan: fix per-page tags for non-page_alloc pages
    037ecab65eb6 squashfs: fix xattr id and id lookup sanity checks
    79b8814d6765 squashfs: fix inode lookup sanity checks
    5b1abfe7d620 platform/x86: intel-vbtn: Stop reporting SW_DOCK events
    599cbcda68ee netsec: restore phy power state after controller reset
    8aa97ae0f5d9 ia64: fix ptrace(PTRACE_SYSCALL_INFO_EXIT) sign
    cb1504b30b6f ia64: fix ia64_syscall_get_set_arguments() for break-based syscalls
    37732ea82e09 block: Suppress uevent for hidden device when removed
    a2d07d077eb3 nfs: we don't support removing system.nfs4_acl
    eed4e1abc997 nvme-pci: add the DISABLE_WRITE_ZEROES quirk for a Samsung PM1725a
    5fc284999c4a nvme-fc: return NVME_SC_HOST_ABORTED_CMD when a command has been aborted
    526abcb05c61 nvme: add NVME_REQ_CANCELLED flag in nvme_cancel_request()
    8cdbee05b83f drm/radeon: fix AGP dependency
    5a0e3fcbeb5a drm/amdgpu: fb BO should be ttm_bo_type_device
    fc8e4af4c3ef drm/amd/display: Revert dram_clock_change_latency for DCN2.1
    6292d84c8af4 regulator: qcom-rpmh: Correct the pmic5_hfsmps515 buck
    c45182707277 u64_stats,lockdep: Fix u64_stats_init() vs lockdep
    f59604786a48 habanalabs: Call put_pid() when releasing control device
    694761bfdd76 sparc64: Fix opcode filtering in handling of no fault loads
    11efb0cda655 irqchip/ingenic: Add support for the JZ4760
    69423418c5eb cifs: change noisy error message to FYI
    981ba9c9a529 atm: idt77252: fix null-ptr-dereference
    6b2844ad7b17 atm: uPD98402: fix incorrect allocation
    40d0a9297f83 net: davicom: Use platform_get_irq_optional()
    b90de232a806 net: wan: fix error return code of uhdlc_init()
    0da0f199e767 net: hisilicon: hns: fix error return code of hns_nic_clear_all_rx_fetch()
    ab60e4f5eb3a NFS: Correct size calculation for create reply length
    785be28d360f nfs: fix PNFS_FLEXFILE_LAYOUT Kconfig default
    d605afb11945 gpiolib: acpi: Add missing IRQF_ONESHOT
    f6c1da94ddb3 cpufreq: blacklist Arm Vexpress platforms in cpufreq-dt-platdev
    1d2c9669135f cifs: ask for more credit on async read/write code paths
    ec7ce1e337ec gianfar: fix jumbo packets+napi+rx overrun crash
    7ef7d296b154 sun/niu: fix wrong RXMAC_BC_FRM_CNT_COUNT count
    d25f579ec557 net: intel: iavf: fix error return code of iavf_init_get_resources()
    d4dd6de6fc90 net: tehuti: fix error return code in bdx_probe()
    e224a789d4a6 ixgbe: Fix memleak in ixgbe_configure_clsu32
    537653a0698b ALSA: hda: ignore invalid NHLT table
    bd272f11a9d4 Revert "r8152: adjust the settings about MAC clock speed down for RTL8153"
    7a12167636bf atm: lanai: dont run lanai_dev_close if not open
    fb0067fcda6a atm: eni: dont release is never initialized
    614a4ba66854 powerpc/4xx: Fix build errors from mfdcr()
    45c1ca3e5784 net: fec: ptp: avoid register access when ipg clock is disabled
    d0f5726ab1df hugetlbfs: hugetlb_fault_mutex_hash() cleanup
    b90344f7d600 Linux 5.4.108
    819eb4d7a85e cifs: Fix preauth hash corruption
    cf113ffd620d x86/apic/of: Fix CPU devicetree-node lookups
    288be0ed9b36 genirq: Disable interrupts for force threaded handlers
    b8ebe853abca firmware/efi: Fix a use after bug in efi_mem_reserve_persistent
    31e17169a116 efi: use 32-bit alignment for efi_guid_t literals
    886dbe0e338b ext4: fix potential error in ext4_do_update_inode
    2f65ae3a7ee3 ext4: do not try to set xattr into ea_inode if value is empty
    474aab448436 ext4: find old entry again if failed to rename whiteout
    de2e1603c125 x86: Introduce TS_COMPAT_RESTART to fix get_nr_restart_syscall()
    076b60af926b x86: Move TS_COMPAT back to asm/thread_info.h
    27ddd2b59045 kernel, fs: Introduce and use set_restart_fn() and arch_set_restart_data()
    f546965c3aac x86/ioapic: Ignore IRQ2 again
    da326ba3b84a perf/x86/intel: Fix a crash caused by zero PEBS status
    51a2b19b554c PCI: rpadlpar: Fix potential drc_name corruption in store functions
    796fc331c3cf counter: stm32-timer-cnt: fix ceiling write max value
    850ca1c0130a iio: hid-sensor-temperature: Fix issues of timestamp channel
    31a2e804ad4a iio: hid-sensor-prox: Fix scale not correct issue
    3fa27c8749cf iio: hid-sensor-humidity: Fix alignment issue of timestamp channel
    4458ae8d4001 iio: adc: ad7949: fix wrong ADC result due to incorrect bit mask
    a605c095bb46 iio: gyro: mpu3050: Fix error handling in mpu3050_trigger_handler
    87163fbba6d2 iio: adis16400: Fix an error code in adis16400_initial_setup()
    ed0625334b94 iio:adc:qcom-spmi-vadc: add default scale to LR_MUX2_BAT_ID channel
    08414c498b4b iio:adc:stm32-adc: Add HAS_IOMEM dependency
    b0a595269e62 usb: typec: tcpm: Invoke power_supply_changed for tcpm-source-psy-
    4baade6fd6e5 usb: gadget: configfs: Fix KASAN use-after-free
    c92aebf2b0f3 USB: replace hardcode maximum usb string length by definition
    f89366164693 usbip: Fix incorrect double assignment to udc->ud.tcp_rx
    251949ec9d95 usb-storage: Add quirk to defeat Kindle's automatic unload
    81b56afc2841 nvme-rdma: fix possible hang when failing to set io queues
    b891d41d01f4 counter: stm32-timer-cnt: Report count function when SLAVE_MODE_DISABLED
    86fd6c0d22a5 scsi: myrs: Fix a double free in myrs_cleanup()
    eb46392d329a scsi: lpfc: Fix some error codes in debugfs
    1f925558e3f1 riscv: Correct SPARSEMEM configuration
    7db8f3be034d kbuild: Fix <linux/version.h> for empty SUBLEVEL or PATCHLEVEL again
    1dad483b1ebc net/qrtr: fix __netdev_alloc_skb call
    f0b09d547713 sunrpc: fix refcount leak for rpc auth modules
    3c57ea09365f vfio: IOMMU_API should be selected
    b439aac77360 svcrdma: disable timeouts on rdma backchannel
    d1ae8f16c223 NFSD: Repair misuse of sv_lock in 5.10.16-rt30.
    4c5fab560cb0 nfsd: Don't keep looking up unhashed files in the nfsd file cache
    49545a7b8b30 nvmet: don't check iosqes,iocqes for discovery controllers
    cf7d7728d8a5 nvme-tcp: fix a NULL deref when receiving a 0-length r2t PDU
    36a4f9164cf6 nvme-tcp: fix possible hang when failing to set io queues
    81c1dbe1070c nvme: fix Write Zeroes limitations
    6712b7fcef9d afs: Stop listxattr() from listing "afs.*" attributes
    c71b93323f37 ASoC: simple-card-utils: Do not handle device clock
    e029384c1835 ASoC: SOF: intel: fix wrong poll bits in dsp power down
    626a484d1ec2 ASoC: SOF: Intel: unregister DMIC device on probe error
    db3d39bcd66a ASoC: fsl_ssi: Fix TDM slot setup for I2S mode
    24c553371add btrfs: fix slab cache flags for free space tree bitmap
    5b3b99525c4f btrfs: fix race when cloning extent buffer during rewind of an old root
    a3e438db75fb ARM: 9044/1: vfp: use undef hook for VFP support detection
    a47b395d441d ARM: 9030/1: entry: omit FP emulation for UND exceptions taken in kernel mode
    34794bc0e768 s390/vtime: fix increased steal time accounting
    ba4342094d71 Revert "PM: runtime: Update device status before letting suppliers suspend"
    62cf220630a0 ALSA: hda/realtek: Apply headset-mic quirks for Xiaomi Redmibook Air
    613fd762d188 ALSA: hda: generic: Fix the micmute led init state
    5a5f85603e6e ALSA: hda/realtek: apply pin quirk for XiaomiNotebook Pro
    4d35c01a3645 ALSA: dice: fix null pointer dereference when node is disconnected
    d0fc0e7bfda2 ASoC: ak5558: Add MODULE_DEVICE_TABLE
    a592a4c2889e ASoC: ak4458: Add MODULE_DEVICE_TABLE

(From OE-Core rev: a6aecb7e564f067b786cdec5b2eedd7fc3f2f13d)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-21 22:43:58 +01:00
Bruce Ashfield
0f9ce18071 kern-tools: add dropped options to audit output
The rewrite of the configuration audit code dropped the ability to
generate warnings for configuration options that didn't make it into
the final .config.

We integrated the following commit to restore those warnings:

    symbol_why: classify based on config.queue hints

    The config.queue has typing hints inline with each fragment,
    we should be using them to further classify the options, and
    not only relying on the special hardware.cfg, etc, files that
    are part of the meta data

    We also should be checking for options that were set to a
    non 'no' value, and that don't make it into the final .config,
    since without that check it means we are missing some warnings.

(From OE-Core rev: f5e8a8c52386317607e333e55f710bf0393186c8)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-21 22:43:58 +01:00
Michael Halstead
6204a3f5f4 releases: update to include 3.3
Adding Hardknott to documentation switcher and release list.

(From yocto-docs rev: d1578f6ae84d0c44c63632bd5f3146653f1310a3)

Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-20 14:04:56 +01:00
Richard Purdie
8c5b67bec2 bitbake: doc/user-manual-fetching: Remove basepath unpack parameter docs
The code for this was removed in 2016 in commit
e659a3b0c2771679057ee3e13cd42e6c62383ff2. Nobody seems to have missed it
so remove the documentation so we match the code.

[YOCTO #13449]

(Bitbake rev: 76bf42ea41a28b19d0377c2e548b0a59119fdf67)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-20 13:57:51 +01:00
Niels Avonds
d12a06cd49 bitbake: fetch/gitsm: Fix crash when using git LFS and submodules
Gitsm fetcher crashes when cloning a repository that contains LFS files.
This happens because the unpack method is called during download, but the
submodules have not been downloaded yet at this point.

This issue was introduced in this
commit: 977b7268bf

[YOCTO #14283]

(Bitbake rev: 26caedc4d2e9b5a0f1d57f9291754a7f6c5e437e)

Signed-off-by: Niels Avonds <niels@codebits.be>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-20 13:57:50 +01:00
Richard Purdie
6584e59ff0 bitbake: bitbake-server: Remove now unneeded code
With the previous patch this code is now pointless as we'd have hit a TypeError
before now.

(Bitbake rev: 6301a99055c79d89b715f72182cd0ef1b781b89a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-20 13:57:50 +01:00
Ross Burton
01066a584a bitbake: bitbake-server: ensure server timeout is a float
bitbake-server is spawned by process.py and passes the arguments it is
given to ProcessServer.  There's some type confusion here:

bitbake-server is called with a string representation of the timeout,
which may be None.  If the timeout is not set, pass 0 instead of None.

Inside bitbake-server a ProcessServer is created which expects the
timeout to be a float not a string, so always float() the value.

[ YOCTO #14350 ]

(Bitbake rev: c93ae1f861208f6d39fd15c84fbcd0e2b54331f5)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-20 13:57:50 +01:00
Trevor Gamblin
f39676bf56 nettle: upgrade 3.7.1 -> 3.7.2
Version 3.7.2 includes a fix for CVE-2021-20305.

(From OE-Core rev: 29f0ef2e32a9b55d8271fde240a4469070d57729)

Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-20 13:56:48 +01:00
Richard Purdie
ad2206b3fa sanity: Further improve directory sanity tests
Add tests to ensure COREBASE/TMPDIR doon't contain ".." as this causes
hard to understand build failures.

Also rework the code to test TMPDIR and COREBASE for all the patterns
since they may be set differently and one may contain problematic
characters.

[YOCTO #14111]

(From OE-Core rev: f22a6e46d003aba516a9a0cc7f94eae678d846b7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-20 13:56:48 +01:00
Khem Raj
1e6a42e923 ca-certificates: Fix openssl runtime cert dependencies
With commit dc778c70449ee5401b5a24ad18b22b88338c47c5, dependency was
moved to openssl-bin which in itself was a fine change, but dropping
dependency on openssl too should have been kept along, dropping this
meant that openssl binary wont be able to validate secure connections as
the CApath files wont be installed, which infact are required for
openssl bins to work, following call e.g. fails

$ openssl s_client -connect google.com:443

....
New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
Server public key is 256 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 20 (unable to get local issuer certificate)
....

The local issuer certs are not found in default location
/usr/lib/ssh-1.1/certs, this dir and its content is installed by openssl package
therefore re-add the dependency on openssl

(From OE-Core rev: eaf377315efc73d6ffe361372a873918b3bb3bf5)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-20 13:56:48 +01:00
Alexander Kanavin
9fc863bcdb weston: use standalone xwayland instead of outdated xserver-xorg version
(From OE-Core rev: e933962061ac3fa1c0c1069b8075a5f7645001c4)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-20 13:56:48 +01:00
Alexander Kanavin
07d33c8ec8 xwayland: add a standalone recipe
Please see here for the rationale for splitting XWayland out of
main xserver-xorg tree:
https://fedoraproject.org/wiki/Changes/XwaylandStandalone

Release announcement:
https://lists.x.org/archives/xorg-announce/2021-March/003076.html

(From OE-Core rev: 1533d913af0aac5524d2f9ebacaeafb5891124e2)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-20 13:56:48 +01:00
Alexander Kanavin
be76f499ad maintainers.inc: add libmicrohttpd entry
(From OE-Core rev: 3e588abaa081b2de238bbeead867204ff485e5ba)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-20 13:56:48 +01:00
Alexander Kanavin
76a9b01ff3 libmicrohttpd: add a recipe from meta-oe
This is required to enable debuginfod in elfutils.

(From OE-Core rev: e6035099772a0ccbb4835c0c782317c19527876c)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-20 13:56:48 +01:00
Alexander Kanavin
5aa20fe1b9 scripts/oe-debuginfod: correct several issues
Particularly:
- nesting subprocess.run() inside subprocess.check_output() does not work at all.
How was this tested?
- -R and -U options can be combined; no need to separate the invocations based
on packaging format
- both exception handlers are unnecessary; we can simply print the hint if
invocation did not succeed
- to run debuginfod from its own sysroot, '-c addto_recipe_sysroot' for elfutils-native
must be executed

(From OE-Core rev: 9e57bf636ec63e74d56f1ac48b5a27c5b80f1877)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-20 13:56:48 +01:00
Randy MacLeod
193251b8d0 oe-time-dd-test.sh: increase timeout to 15 sec
With the previous timeout of 5 seconds, there would be
builds such as:
   https://autobuilder.yocto.io/pub/non-release/20210417-13/
which produced 17 files with top output with top running 454 times
and that's a bit too much data to analyze for each run. By
increasing the timeout, we'll find the worse problems
first, fix them and then we can decrease the timeout if needed.

(From OE-Core rev: 92b29a09b4c442597d212337b785afb76129ac7c)

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-20 13:56:48 +01:00
Khem Raj
c226e49cd5 gstreamer1.0-plugins-bad: Add packageconfigs for hls crypto backends
Use openssl by default

(From OE-Core rev: 4959563e59e0a829b9526009b14f71500624cced)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-20 13:56:48 +01:00
Khem Raj
268888f484 glib-networking: Prefer openssl backend instead of gnutls
Change the defaults to use openSSL

(From OE-Core rev: e63a422a407ed941a0d31522a8016d4c784bd87b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-20 13:56:48 +01:00
Khem Raj
1ceb808fb7 libpsl: Add config knobs for runtime/builtin conversion choices
Use libicu by default

(From OE-Core rev: 20fc11919e2cec656685dab3fad07862b0b90610)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-20 13:56:48 +01:00
Khem Raj
96b4ed1e93 curl: Use openssl backend
use openssl instead of gnutls

(From OE-Core rev: c39452bf65a8baa0eac15e6c4d39cc0f88e089d0)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-20 13:56:48 +01:00
Khem Raj
7bfe0a4e7d wpa-supplicant: Enable openssl
Use openSSL for TLS/SSL implementation

(From OE-Core rev: 2bd4702d68ef79320c8194934568c56b4cc87aa3)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-20 13:56:48 +01:00
Khem Raj
2d07f91008 cups: Turn gnutls into a packageconfig knob
Disable it by default

(From OE-Core rev: 438d00af14a0cc108a25b36bf37502f1383865be)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-20 13:56:48 +01:00
Khem Raj
397f7130e5 epiphany: Add missing dependency on gnutls
This was being pulled in by other dependencies thus far

(From OE-Core rev: de944399fa3dadecd3faa5054145fe0cd7adbbf7)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-20 13:56:48 +01:00
Robert Joslyn
b129f2edda btrfs-tools: Try to follow style guide
Cosmetic changes to better follow the style guide.

(From OE-Core rev: e478013830700580c25877ab55b70ff73072bb81)

Signed-off-by: Robert Joslyn <robert.joslyn@redrectangle.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-20 13:56:48 +01:00
Robert Joslyn
769004c34a btrfs-tools: Add PACKAGECONFIG options
Add options to make it easier to control which features are enabled. All
of these default to enabled by upstream, so keep them enabled to
maintain previous behavior.

The convert option also supports reiserfs, but no recipes exist in the
layer index. Limit the option to ext filesystems until someone cares
enough to make reiserfs recipes.

Remove acl and attr from DEPENDS, as they do not apper to be needed. Add
zlib since it is required.

(From OE-Core rev: 7452cab85b65ce4b6e8309ab85ad40555c24435f)

Signed-off-by: Robert Joslyn <robert.joslyn@redrectangle.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-20 13:56:48 +01:00
Robert Joslyn
46b49025f3 btrfs-tools: Update to 5.11.1
Update licensing, as libtrfsutil is under LGPLv3+. Note that libtrfsutil
is in the process of being relicensed to LGPLv2.1+:
	https://github.com/kdave/btrfs-progs/issues/323

(From OE-Core rev: 0f75bb0e4d99c658302e28435d055b4f99dcc247)

Signed-off-by: Robert Joslyn <robert.joslyn@redrectangle.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-20 13:56:48 +01:00
Oleksandr Kravchuk
bd2c93374e autoconf-archive: update to 2021.02.19
(From OE-Core rev: f7417480667e7a06206239e3aac48dd1149d42fb)

Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-20 13:56:48 +01:00
Wes Lindauer
ada30f1091 oeqa/runtime/cases: Only disable/enable for current boot
Previously doing a stop/start worked, but using a disable/enable does
not work on a read-only rootfs. Add a --runtime flag to systemctl so
that systemd only modifies the current boot and does not attempt to
write to the filesystem.

This also keeps the test from making a permanent (one could argue
policy) change to the running system being tested. i.e. What if the
image being tested had intentionally disabled the timesyncd service in
preference to using chrony or ntpd? The test shouldn't assume that the
user wants the timesyncd service enabled.

(From OE-Core rev: 43dd83b6a325589368c980a3f17cab90935aaeb0)

Signed-off-by: Wes Lindauer <wesley.lindauer@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-20 13:56:48 +01:00
Richard Purdie
d08d362cf9 bitbake: tinfoil/data_smart: Allow variable history emit() to function remotely
We can't access the emit() function of varhistory currently as the datastore parameter
isn't handled correctly, nor is the output stream. Add a custom wrapper for this
function which handles the two details correctly.

(Bitbake rev: ba0fa084ccd2b1ade96425d158fd31e49e42f286)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:38:22 +01:00
Henning Schild
46654e14a5 bitbake: tests/fetch: add tests for local and remote "noshared" git fetching
(Bitbake rev: e0267fe43bda208856af939b17e39beb9e5586c3)

Signed-off-by: Henning Schild <henning.schild@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:38:22 +01:00
Henning Schild
d274cf0cf8 bitbake: tests/fetch: deduplicate local git testing code
Purely cosmetic change that probably improves the code.

(Bitbake rev: 9c0733f0062f3cf19514c891cc06c9a8e0db429b)

Signed-off-by: Henning Schild <henning.schild@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:38:22 +01:00
Henning Schild
2cb6ce7788 bitbake: fetch/git: add support for disabling shared clones on unpack
By default the unpacker will create a "shared" clone when cloning from
the DL_DIR to the WORKDIR. This patch introduces an option to control
that behaviour.

Imagine some recipe steps are executed in a namespace that is different
from the one your downloader and unpacker ran in. (chroot) Because a
"shared" clone has an absolute reference to its "alternate" you now
have to make that "alternate" visible in that new namespace (chroot) at
the exact place.

With this patch you can unpack "noshared" and get a stand-alone copy.
This copy will also work if the "alternate" is not visible or existant.

The switch is a global bitbake switch and will affect all git urls.
Build systems that need "noshared" most likely need it for everything
they do with git.

(Bitbake rev: 6ae6f1865d5e666ebc670f70b7401a7b41648102)

Signed-off-by: Henning Schild <henning.schild@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:38:22 +01:00
Mikko Rapeli
33650ffdc7 bitbake: bitbake: tests/fetch: remove write protected files too
For some reason several git-annex files in Debian 10 buster
are read-only and removing them with "rm -rf" fails.

Fixes test failures like:

$ bitbake-selftest
...
rm: cannot remove '/tmp/tmpwmfn4w64/download/git2/tmp.tmpwmfn4w64.gitsource/annex/objects/f87/4d5/SHA256E-s0--e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/SHA256E-s0--e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855': Permission denied
rm: cannot remove '/tmp/tmpwmfn4w64/download/git2/tmp.tmpwmfn4w64.gitsource/annex/objects/f87/4d5/SHA256E-s0--e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/SHA256E-s0--e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855': Permission denied
EE..................................ssss.sssssssssssssss.sssss.......................................................................................................
======================================================================
ERROR: test_shallow_annex (bb.tests.fetch.GitShallowTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/builder/src/base/poky/bitbake/lib/bb/tests/fetch.py", line 1773, in test_shallow_annex
    fetcher, ud = self.fetch_shallow(uri)
  File "/home/builder/src/base/poky/bitbake/lib/bb/tests/fetch.py", line 1541, in fetch_shallow
    bb.utils.remove(ud.clonedir, recurse=True)
  File "/home/builder/src/base/poky/bitbake/lib/bb/utils.py", line 700, in remove
    subprocess.check_call(cmd + ['rm', '-rf'] + glob.glob(path))
  File "/usr/lib/python3.7/subprocess.py", line 347, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['rm', '-rf', '/tmp/tmpwmfn4w64/download/git2/tmp.tmpwmfn4w64.gitsource']' returned non-zero exit status 1.

Also, one "chmod" call was failing since the .git/annex subdirectory doesn't exist so just chmod
the whole temporary directory which should cover any directory name differences between
different git-annex versions. Fixes tests failing after chmod call:

Running 'export PSEUDO_DISABLED=1; unset _PYTHON_SYSCONFIGDATA_NAME; chmod u+w -R /tmp/tmpwmfn4w64/git//.git/annex' in /tmp/tmpwmfn4w64/git/

(Bitbake rev: 7729ef2983c72867e99fad82d671069ba5cb32b2)

Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:38:22 +01:00
Mikko Rapeli
490fb73e34 bitbake: bitbake: tests/fetch: fix test execution without .gitconfig
A CI user validating changes does not have any git push rights or
even a .gitconfig file so fix tests so that they run
by setting the user.name and user.email for the repo before
committing changes.

Fixes errors like:

ERROR: test_that_unpack_throws_an_error_when_the_git_clone_nor_shallow_tarball_exist (bb.tests.fetch.GitShallowTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/builder/src/base/poky/bitbake/lib/bb/tests/fetch.py", line 2055, in test_that_unpack_throws_an_error_when_the_git_clone_nor_shallow_tarball_exist
    self.add_empty_file('a')
  File "/home/builder/src/base/poky/bitbake/lib/bb/tests/fetch.py", line 1562, in add_empty_file
    self.git(['commit', '-m', msg, path], cwd)
  File "/home/builder/src/base/poky/bitbake/lib/bb/tests/fetch.py", line 1553, in git
    return bb.process.run(cmd, cwd=cwd)[0]
  File "/home/builder/src/base/poky/bitbake/lib/bb/process.py", line 184, in run
    raise ExecutionError(cmd, pipe.returncode, stdout, stderr)
bb.process.ExecutionError: Execution of 'git commit -m a a' failed with exit code 128:

*** Please tell me who you are.

Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

(Bitbake rev: 57c0811f1ee19b6619f4840a39e01e3cb98c34c4)

Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:38:22 +01:00
Richard Purdie
7ea37b9291 bitbake: runqueue: Fix deferred task issues
In a multiconfig situation there are circumstances where firstly, tasks
are deferred when they shouldn't be, then later, tasks can end up as
both covered and not covered.

This patch fixes two related issues. Firstly, the stamp validity checking
is done up front in the build and not reevaulated. When rebuilding the
deferred task list after scenequeue hash change updates, we need therefore
need to check if a task was in notcovered *or* covered when deciding to
defer it. This avoids strange logs like:

NOTE: Running setscene task X of Y (mc:initrfs_guest:/A/alsa-state.bb:do_deploy_source_date_epoch_setscene)
NOTE: Deferring mc:initrfs_guest:/A/alsa-state.bb:do_deploy_source_date_epoch after mc:host:/A/alsa-state.bb:do_deploy_source_date_epoch

where tasks have run but are then deferred.

Since we're recalculating the whole list, we also need to clear it before
iterating to rebuild it. By ensuring covered tasks aren't added to the
deferred queue, the covered + notcovered issue should also be avoided.
in the task deadlock forcing code.

[YOCTO #14342]

(Bitbake rev: 3c8717fb9ee1114dd80fc1ad22ee6c9e312bdac7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:38:22 +01:00
Oleksandr Kravchuk
3f1ccea75e python3-setuptools: update to 56.0.0
(From OE-Core rev: 589a5695befb887f290746a3fc85d291fcb881ff)

Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:26 +01:00
Alejandro Enedino Hernandez Samaniego
a8ec0d8cfd python3: Upgrade 3.9.2 -> 3.9.4
- Rebased patch 0001-test_locale.py-correct-the-test-output-format
  Maintainer needs to sign CLA and resubmit
- configure now explicitly requires autoconf-archive to be present

(From OE-Core rev: 34cb8f2a2ed36ad929dca9055c96f2f843656b8f)

Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:26 +01:00
Alejandro Enedino Hernandez Samaniego
51b7ecfef3 python3: Improve logging, syntax and update deprecated modules to create_manifest
The imp module has een deprecated by upstream python, drop its usage
  (imp.get_tag) in favor of sys.implementation.cache_tag.

Avoid incorrectly getting dependencies for running script and
multiprocessing module.

Improve logging behavior of the create_manifest task:
- Use indentation.
- Logs on temp directory.
- Use a proper debug flag.
- Standarize syntax.

(From OE-Core rev: a3ac339f5b8549a050308ba94c4ef9093f10e303)

Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:26 +01:00
Khem Raj
18007c25bd systemd: Fix build on mips/musl
(From OE-Core rev: b4a0d8799af0a3d1b685dd7200b545fdb2c79d64)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:26 +01:00
Otavio Salvador
44b37abc66 gstreamer1.0-plugins-base: Use bb.utils.filter to reduce code
(From OE-Core rev: ec3a1cb77131a3cf61fc005c84295d282a2eb80a)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:26 +01:00
Otavio Salvador
8569ec6e7e gstreamer1.0-plugins-base: Add 'viv-fb' OpenGL Window System option
This adds the 'viv-fb' PACKAGECONFIG option to allow Vivante GPU window
system to work.

(From OE-Core rev: 846564f1a999ea044f580bd61f7bcd527af62dce)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:26 +01:00
zhengruoqin
7117390a42 python3-pygobject: upgrade 3.38.0 -> 3.40.1
(From OE-Core rev: 3a274301edc359fba086e36da1272af93d59d178)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:26 +01:00
zangrc
a369684a85 maintainers.inc: Modify email address
zangrc.fnst@cn.fujitsu.com -> zangrc.fnst@fujitsu.com
wangmy@cn.fujitsu.com -> wangmy@fujitsu.com

(From OE-Core rev: 6e8562e5b924e6c10625c2e9b660eed89fdfbdf4)

Signed-off-by: Zang Ruochen <zangrc.fnst@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:26 +01:00
wangmy
313c21d257 mesa: upgrade 21.0.1 -> 21.0.2
(From OE-Core rev: 58ad359da1b05820ea3dc4ae3f789ccb8991fc32)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:26 +01:00
wangmy
3d389d46d7 go: update SRC_URI to use https protocol
(From OE-Core rev: 2a1eb731ed3bcb049192550e362b771c3a9ea6eb)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:26 +01:00
Yanfei Xu
6a58e0c4ad parselogs: ignore floppy error on qemu-system-x86 at boot stage
We can disable floppy drive by BIOS on a hardware, but an empty floppy
drive is connected by default on qemu-system-x86. Linux usually detect
the device and modprode the matched floppy.ko at the boot stage. Due to
we don't specify a floppy deivce in qemu boot arguments, then the errors
about floppy reading comes out.

It is harmless and normal, so we could ignore this error message on
qemux86.

Seen if kernel-modules is included in the image which pulls in the
relavent kernel module.

https://lists.gnu.org/archive/html/qemu-devel/2021-04/msg01402.html

(From OE-Core rev: 3359f23ee9351c70997d5e0a17d17d1e47d59623)

Signed-off-by: Yanfei Xu <yanfei.xu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:26 +01:00
Jon Mason
f349bce59e oeqa/runtime: space needed
Messages are currently being printed as:
	Test requires dropbear, oropenssh-sshd to be installed
but should be
	Test requires dropbear, or openssh-sshd to be installed
Adding the space after the 'or' corrects this.

(From OE-Core rev: 51596e0f8cebe1607ab64ffb018d51e815c0ee4b)

Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:26 +01:00
wangmy
c3bd6ba29a man-pages: upgrade 5.10 -> 5.11
(From OE-Core rev: 40b0cd87c6677220168bfa029e68437b43d51df5)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:26 +01:00
wangmy
e88cb57ea8 mpg123: upgrade 1.26.4 -> 1.26.5
(From OE-Core rev: f277c3bbde507ae1830b1ba6c5ce9c0878f42491)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:26 +01:00
Mingli Yu
d186f922ef groff: not ship /usr/bin/grap2graph
grap2graph which converts a GRAP diagram into a cropped image fails
to run as below:
 $ grap2graph
 /usr/bin/grap2graph: line 89: convert: command not found
 /usr/bin/grap2graph: warning: falling back to old '-crop 0x0' trim method
 /usr/bin/grap2graph: line 104: convert: command not found
 /usr/bin/grap2graph: line 103: grap: command not found

Considering we don't often need to convert a GRAP diagram into
a cropped image and the recipe ImageMagick which provides convert
command is in meta-oe layer, so don't ship the related files to
avoid the confusion about the above run time error.

(From OE-Core rev: 251be7279a475ee18c0c53fe9795bb37bffc2b45)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:26 +01:00
wangmy
67609b751e icu: upgrade 68.2 -> 69.1
refresh 0001-icu-Added-armeb-support.patch

(From OE-Core rev: 6b22fce3a8a3567c794d0d701ffd14b61ea859c8)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:26 +01:00
zhengruoqin
2e95ad1e67 libdrm: upgrade 2.4.104 -> 2.4.105
0001-meson-Also-search-for-rst2man.py.patch
removed since it is included in 2.4.105

(From OE-Core rev: 7871f85a9fe610f600c4234fce38d24808f5a2fd)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:26 +01:00
zhengruoqin
9ff374170d librepo: upgrade 1.13.0 -> 1.14.0
(From OE-Core rev: 7017725b14888c9668efcad92bca46b4d1ce9a68)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:26 +01:00
zhengruoqin
86f2dff78b libdazzle: upgrade 3.38.0 -> 3.40.0
(From OE-Core rev: 5c184382bd9e952d91993bd29320357360d79cb3)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:26 +01:00
wangmy
fb2be3e462 libcomps: upgrade 0.1.15 -> 0.1.16
refresh 0001-Add-crc32.c-to-sources-list.patch

(From OE-Core rev: f1f66e20eeea7bb1c370991490d34f868cd8a964)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:26 +01:00
wangmy
98d10b1c42 libcap: upgrade 2.48 -> 2.49
License-Update: add description of GPL v2.0

(From OE-Core rev: 2a02e5622d07146687f72615e9bcb8612cce03e3)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:26 +01:00
Richard Purdie
b3092cf96d sanity: Add error check for '%' in build path
It has been reported that '%' characters in build paths break with python
exceptions, probably due to confusion with python string escaping. Whilst it
is probably fixable, showing the user a human readable error is better given
it doesn't work.

[YOCTO #14282]

(From OE-Core rev: 31a3cf78452270131a657be45e76569515cff7ef)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:26 +01:00
Ross Burton
9230ef121d insane: clean up some more warning messages
(From OE-Core rev: 2abe18682192e7b38b9af5a5043906f2f069648f)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:26 +01:00
Armin Kuster
190a53a942 binutils: rename BRANCH var
If BRANCH is defined in local.conf then that name is used to d/l sources
for binutils. You will get this error:

Fetcher failure for URL: 'git://sourceware.org/git/binutils-gdb.git;branch=hardknott;protocol=git'. Unable to fetch URL from any source.

Rename to SRCBRANCH like glibc has to avoid the more common variable name BRANCH.

(From OE-Core rev: 40d18272cd765420080fffc0e4bde7e3e79982af)

Signed-off-by: Armin Kuster <akuster808@gmail.com>

--
V2]
Remove commented out BINUPV and function

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:26 +01:00
Kevin Hao
a24d0161f6 Revert "inittab: Add getty launch on hvc0 for qemuppc64"
This reverts commit ed69ef2016.

The console entry has already been added into /etc/inittab based
on the SERIAL_CONSOLES. So drop this redundant entry.

(From OE-Core rev: 633f0c6b74e3caa2bae52ca60c61b811b7b2215d)

Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:26 +01:00
Kevin Hao
bfbccfd85f sysvinit-inittab/start_getty: Check /sys for the tty device existence
The hvc tty driver doesn't populate a file like /proc/tty/driver/serial,
so the current implementation of start_getty doesn't work for the hvc
console. By checking the /sys/class/tty/ for the tty device existence,
it should support more console types and also make the codes more simple.

(From OE-Core rev: 670ceef0f6584ece5ce4176610255226a6148570)

Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:26 +01:00
Kevin Hao
7d9a47e623 modutils-initscripts: Bail out when no module is installed
Fix the following warning when boot with a core-image-minimal rootfs:
  depmod: can't change directory to 'lib/modules/5.10.25-yocto-standard': No such file or directory

(From OE-Core rev: c34650400182a1104a5fbe03e54f5cea69eb1900)

Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:26 +01:00
Mingli Yu
25e1aabea6 libtool: make sure autoheader run before automake
When use automake to generate Makefile.in from Makefile.am, there
comes below race:
 | configure.ac:45: error: required file 'config-h.in' not found

It is because the file config-h.in in updating process by autoheader,
so make automake run after autoheader to avoid the above race.

(From OE-Core rev: 1fc0a4a98e65db7efba8bb5cb835101ea5dd865b)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:26 +01:00
Gavin Li
55c1c00456 kmod: do not symlink config.guess/config.sub during autoreconf
I was encountering the following race condition on poky:

- automake-native does do_install.
- automake-native does do_populate_sysroot. This hardlinks config.guess
  and config.sub into ${D}.
- kmod-native does do_configure. This runs `autoreconf`, which runs
  `automake --add-missing` (symlinks config.guess/config.sub from
  recipe-sysroot-native to build dir), then runs `gnu-configize` (copies
  _its own_ config.guess/config.sub _on top_ of the already existing
  ones). Since the destinations already had symlinks, the copy would
  overwrite config.guess/config.sub in recipe-sysroot-native, which
  would in turn overwrite the same in ${D} due to being hardlinked.
- automake-native does do_package. The outhash is thus calculated on the
  clobbered config.guess/config.sub files.

With hash equivalency enabled, the different outhash produced a
different unihash, which kept me from reusing sstate between my laptop
and my build server. This race condition would happen only on the build
server (BB_NUMBER_THREADS = 32) but never on my laptop
(BB_NUMBER_THREADS = 6).

I didn't see the --install and --symlink flags being used by any other
recipe, so I removed them, and that fixed the issue.

(From OE-Core rev: 89d675efd633b495daa4a3a57420b9c309497035)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:26 +01:00
Saul Wold
984dddf288 pango: re-enable ptest
The run-ptest script got accidently dropped from the SRC_URI during
a past update and ptest patch.

(From OE-Core rev: 4479f810c1a3ab2badf4f9610c309bc0e23e2a5f)

Signed-off-by: Saul Wold <saul.wold@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:26 +01:00
Anthony Bagwell
77ee8ef875 systemd: upgrade 247.4 -> 247.6
(From OE-Core rev: 63fbf39b8aa3d94ca2db719d1a53190045dbb86d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:25 +01:00
wangmy
bdda15e0f3 go: upgrade 1.16.2 -> 1.16.3
This is bugfix release in 1.16 series [1]

[1] https://github.com/golang/go/issues?q=milestone%3AGo1.16.3+label%3ACherryPickApproved

(From OE-Core rev: 84188e7b78aa40b168b526fa5d681a8a21d3b77c)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:25 +01:00
Jose Quaresma
cac76cef79 gstreamer1.0: update patch upstream status
(From OE-Core rev: 0bd65127a249ce8a1199d4961e2351dbd6d83dd6)

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:25 +01:00
Konrad Weihmann
ded1504299 cpan-base: set default UPSTREAM_CHECK_REGEX
as cpan release versions are almost always follow an a.b version scheme,
it's better to filter out beta releases such as a.b.c.
Use the first resource fetched from https://cpan.metacpan.org as base
for calculating the needed regex.
In case nothing can be calculated fall back to nothing.
Add this to cpan-base to enable it for new & old style cpan integration.

(From OE-Core rev: 3df2cf383b58a3100bd78ebb0369047221121512)

Signed-off-by: Konrad Weihmann <kweihmann@outlook.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:25 +01:00
Ross Burton
da24dbf7b9 glslang: strip whitespace in pkgconfig file
Whilst pkg-config is fine with .pc files containing leading whitespace,
pkgconf is less forgiving.

(From OE-Core rev: 14bfe5f15f78c1bc049868633fd6fa19feb5a70c)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:25 +01:00
Jonas Höppner
bcb4246fa6 ltp: fix empty ltp-dev package
Currently the headers are not installed and the ltp-dev package is
empty.

This patch adds an include-install make target in the do_install step to
install them in sysroot which ends up as a working ltp-dev package.

(From OE-Core rev: f6943da4444cd71053650be0c9212bc25ac53137)

Signed-off-by: Jonas Höppner <jonas.hoeppner@garz-fricke.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:25 +01:00
Anatol Belski
036a8d4330 cross-canadian: Whitelist "mingw32" as TARGET_OS
If a recipe inherits cross-canadian and contains "nativesdk" in
BBCLASSEXTEND and meta-mingw is included and multiconfig is enabled,
bitbake will generate the correspending recipe. As meta-mingw sets
SDK_OS to "mingw32", that's what TARGET_OS will be set to as well.
Thus, currently such a recipe won't pass the check and fail with
a message:

Building cross-candian for an unknown TARGET_SYS
(x86_64-mysdk-mingw32), please update cross-canadian.bbclass

Even when building an SDK targeting Linux, but the mentioned conditions
are met, bitbake will try to generate the corresponding recipe and fail.

As the described combination seems valid, including "mingw32" into the
whitelist unconditionally as a fix is suggested.

(From OE-Core rev: d9306e8f9dbdbd30382f0bc0f0a1af75e702a2aa)

Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:25 +01:00
Mingli Yu
0ae3f1edd6 packagegroup-core-tools-testapps.bb: Remove kexec for riscv32
kexec is not yet ported to riscv32.

(From OE-Core rev: f1e7da7737b3d6df27cc5af002fd1eb0c202d0b4)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:25 +01:00
Mingli Yu
5228f37b7e packagegroup-core-tools-profile: Remove valgrind for riscv32
valgrind is not yet ported to riscv32.

(From OE-Core rev: df70bc4c60838af1dd7e7f31aba43e8d190def77)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:25 +01:00
Mingli Yu
8cf34c3517 libxshmfence: Build fixes for riscv32
NR_futex is not defined by newer architectures e.g. riscv32 as
they only have 64bit variant of time_t. Glibc defines SYS_futex
interface based on __NR_futex, since this is used in applications,
such applications start to fail to build for these newer architectures.

Define a fallback to alias __NR_futex to __NR_futex_time64 to make
SYS_futex keep working.

Reference: https://git.openembedded.org/openembedded-core/commit/?id=7a218adf9990f5e18d0b6a33eb34091969f979c7

(From OE-Core rev: 81599bf32135187b34726d41e9f619d22ca1bdd1)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:25 +01:00
Ulrich Ölmann
91aa850998 arch-armv6m.inc: fix access rights
(From OE-Core rev: 2f7ebe444c2a78ef149b8c5f0f005ab23f24a176)

Signed-off-by: Ulrich Ölmann <u.oelmann@pengutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:25 +01:00
Douglas Royds
a7c950d7b5 externalsrc: Detect code changes in submodules
Further to 50ff9afb39, only detect code changes in submodules that are
subdirectories of the EXTERNALSRC directory.

The (undocumented) git submodule--helper returns a path
for each submodule relative to the top of the repo.
Don't add submodules that are not within our source subtree.

[YOCTO #14333]

(From OE-Core rev: 1c18225d3ef94a41fc073ae87c163b68e6d46571)

Signed-off-by: Douglas Royds <douglas.royds@taitradio.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:25 +01:00
Douglas Royds
52c1cb2a9d Revert "externalsrc: Detect code changes in submodules"
This reverts commit 4525310d49d115a37705f04ac5c03d639e5e8f8c.

Further to 50ff9afb39, only detect code changes in submodules that are
subdirectories of the EXTERNALSRC directory.

The (undocumented) git submodule--helper returns a path
for each submodule relative to the top of the repo.
Don't add submodules that are not within our EXTERNALSRC subtree.

If we unpack one git repo inside another, like this:

    SRC_URI = "git://${GIT_SERVER}/repo1;name=repo1;destsuffix=repo1 \
               git://${GIT_SERVER}/repo2;name=repo2;destsuffix=repo1/repo2 \
               "

Git status reports, for repo1:

    Untracked files:
      (use "git add <file>..." to include in what will be committed)
	repo2/

If we run `devtool modify` on this recipe, do_patch runs with:

    PATCHTOOL = "git"
    PATCH_COMMIT_FUNCTIONS = "1"

The `patch_task_postfunc` (patch.bbclass, line 82) runs a `git add .` on the
top-level repo1, leaving the checkout in an invalid state. The following git
warning does not appear in the log:

    $ git add .
    warning: adding embedded git repository: repo2
    hint: You've added another git repository inside your current repository.
    hint: Clones of the outer repository will not contain the contents of
    hint: the embedded repository and will not know how to obtain it.
    hint: If you meant to add a submodule, use:
    hint:
    hint: 	git submodule add <url> repo2
    hint:
    hint: If you added this path by mistake, you can remove it from the
    hint: index with:
    hint:
    hint: 	git rm --cached repo2
    hint:
    hint: See "git help submodule" for more information.

    $ git submodule status
    fatal: no submodule mapping found in .gitmodules for path 'repo2'

No further git submodule commands can be run on the checkout.

We could enhance the `patch_task_postfunc` to look for any embedded git
checkouts and add them as submodules, but this seems unnecessary complexity for
an obscure edge-case. Although the git repo is left in an invalid state with
respect to the submodules, it still serves the purpose required by devtool:
To take further commits, and generate patch files from them.

We are still able to run these commands to examine any submodules,
where git submodule--helper reports paths relative to the top of the checkout:

    $ git ls-files --stage | grep ^160000
    160000 5feee12d6e974dd8c0614cf5b593380b046439a5 0   repo2

    $ git submodule--helper list
    160000 5feee12d6e974dd8c0614cf5b593380b046439a5 0   repo2

When a recipe sets EXTERNALSRC to a subdirectory of the git checkout, we test
for the existence of the reported submodule paths within the EXTERNALSRC
directory.

The latest versions of git submodule--helper accept a path to a subdirectory and
correctly report no submodules within that subdirectory. Regrettably, we still
support git versions that don't accept a path to a subdirectory.

[YOCTO #14333]

(From OE-Core rev: 2055718fdd19f925e236d67823017323bbd92a4b)

Signed-off-by: Douglas Royds <douglas.royds@taitradio.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:25 +01:00
Samuli Piippo
91cb0b9645 assimp: BBCLASSEXTEND to native and nativesdk
At least some Qt tooling depends on assimp.

(From OE-Core rev: 49c6742eba328236cb73c0ac59b6288f29c46c81)

Signed-off-by: Samuli Piippo <samuli.piippo@qt.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:25 +01:00
wangmy
40f1ab6a53 libksba: upgrade 1.5.0 -> 1.5.1
(From OE-Core rev: 506a99a9f2dd49bacc06821ad5e953c15d44b5e2)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:25 +01:00
wangmy
c2804bba62 libportal: upgrade 0.3 -> 0.4
(From OE-Core rev: c6517d33eed8b092d2eda04b9173892139090b4c)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:25 +01:00
wangmy
82fb0385a9 help2man: upgrade 1.48.2 -> 1.48.3
(From OE-Core rev: 27a2cbc0fa14ed8f6bdf5e75c38203238ed82931)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:25 +01:00
zhengruoqin
8c1dff642c libva-utils: upgrade 2.10.0 -> 2.11.1
(From OE-Core rev: e296fc53b738c3a2b72831a6d6d003f28f19d062)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:25 +01:00
zhengruoqin
122293878e ruby: upgrade 3.0.0 -> 3.0.1
(From OE-Core rev: b6949a028fd31bd04ed0478fb34a58b971f31e1f)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:25 +01:00
zhengruoqin
32710bff53 libva: upgrade 2.10.0 -> 2.11.0
(From OE-Core rev: 47360e2dacf0521260ef5883f4a741eb8c69a18e)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:25 +01:00
Yi Fan Yu
1a42923505 Revert "glib-2.0: add workaround to fix codegen.py.test failing"
This reverts commit afc9ba7d546f3f2e60fb6f46f740dc925542df16.

Ptest-runner was upgraded in e3fd8f17dfb41173dbe037c25087a69f90b1346f,
which means we no longer need to limit glib-2.0 ptest output.

[YOCTO #14170]

(From OE-Core rev: e7be3901e43645796e195348924739d03495a079)

Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:25 +01:00
hongxu
9ca4b13bd5 deb: apply postinstall on sdk
If not postinstall applied, some nativesdk command could not be found
in sdk due to update-alternatives in postinst not be executed, such as chroot:

$ which chroot
/sbin/chroot
$ which chroot.coreutils
path-to-sdk/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/chroot.coreutils

After applying the fix
$ which chroot
path-to-sdk/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/chroot
$ which chroot.coreutils
path-to-sdk/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/chroot.coreutils

(From OE-Core rev: 2a9bf19502766baa4087456649d5471483d04f6a)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:25 +01:00
Anders Wallin
9e0f210179 scripts/contrib/image-manifest: add new script
image-manifest: script to generate product/image specific BOM

The image-manifest script generates image specific reports based on
an image manifest file. Currently there is data generated by buildhistory,
pkgdata, and license manifest but this data is poorly formated and spread
across multiple text files. This script can generate a single JSON output
file that is machine readable by other tools.

The manifest-info collects package information and stores the information
in a tarball. manifest-info can be configured using a json configuration
file. The default configuration including all possible options can be
dumped using the dump-config subcommand.

image-manifest takes an image manifest file as input to get the runtime
dependencies. As an option image-manifest can also use the build dependency
file, pn-buildlist, to get the build dependencies excluding native
packages.

This script extends the oe-image-manifest script [0] done by Paul Eggleton

[0]
https://github.com/intel/clear-linux-dissector-web/blob/master/layerindex/static/files/oe-image-manifest

------------------------------------------------------
usage: image-manifest [-h] [-d] [-q] <subcommand> ...

Image manifest utility

options:
  -h, --help     show this help message and exit
  -d, --debug    Enable debug output
  -q, --quiet    Print only errors

subcommands:
  recipe-info    Get recipe info
  list-depends   List dependencies
  list-recipes   List recipes producing packages within an image
  list-packages  List packages within an image
  list-layers    List included layers
  dump-config    Dump default config
  manifest-info  Export recipe info for a manifest
Use image-manifest <subcommand> --help to get help on a specific command

Co-developed-by: Paul Eggleton <bluelightning@bluelightning.org>
(From OE-Core rev: ad8fec9ce1704866df925bda18a240d6889b1ed5)

Signed-off-by: Anders Wallin <anders.wallin@windriver.com>
Signed-off-by: Saul Wold <saul.wold@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:25 +01:00
Stefan Ghinea
f07d4c2234 wpa-supplicant: fix CVE-2021-30004
In wpa_supplicant and hostapd 2.9, forging attacks may occur because
AlgorithmIdentifier parameters are mishandled in tls/pkcs1.c and
tls/x509v3.c.

References:
https://nvd.nist.gov/vuln/detail/CVE-2021-30004

Upstream patches:
https://w1.fi/cgit/hostap/commit/?id=a0541334a6394f8237a4393b7372693cd7e96f15

(From OE-Core rev: b32b671bf430b36a5547f8d822dbb760d6be47f7)

Signed-off-by: Stefan Ghinea <stefan.ghinea@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:25 +01:00
wangmy
317907d736 acpica: upgrade 20210105 -> 20210331
(From OE-Core rev: 5165d2e38406c29809dcdbbde4fbc48bcda01b43)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:25 +01:00
wangmy
218e1e3f47 curl: upgrade 7.75.0 -> 7.76.0
(From OE-Core rev: c1dfe36c5641ce1ddc1424e56037e23fd927c058)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:25 +01:00
wangmy
3db91ef623 file: upgrade 5.39 -> 5.40
0001-src-compress.c-correct-header-define-for-xz-lzma.patch
removed since it is included in 5.40

(From OE-Core rev: ae73c5fa666c0e0a7d1d7a04acd6246542b744aa)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:25 +01:00
Anders Wallin
565cbd773d lttng-tools: Fix path for test_python_looging
" was missing

(From OE-Core rev: e1780ccfc89e9ff4e260276f28ffa0bb8e9b44e1)

Signed-off-by: Anders Wallin <anders.wallin@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:25 +01:00
Anders Wallin
beb01f1820 lttng-tools: Fix missing legacy test files
tests/regression/tools/save-load

(From OE-Core rev: 2e892895e25d148b4c522e3a30bfb1bb4e9a9506)

Signed-off-by: Anders Wallin <anders.wallin@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:25 +01:00
Khem Raj
5765253344 vte: Upgrade to 0.64.0 release
Use git for SRC_URI as thi release has not appeared on gnome downloads yet
Drop LGPL-2.0 as it has fully moved to LGPL-3.1+ see [1] that also
covers for change in License checksums for GPL-3

Add license information to cover for Xterm files in libvte

Add new glade files into -dev package

[1] 5e14529d42

(From OE-Core rev: 4a1a20325e2d40256e03ab1a5be348a4c213d181)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:25 +01:00
wangmy
54dff05002 glib-2.0: upgrade 2.66.7 -> 2.68.0
the following patches are refreshed:
0001-Set-host_machine-correctly-when-building-with-mingw3.patch
0001-gio-tests-codegen.py-bump-timeout-to-100-seconds.patch
0001-tests-codegen.py-removing-unecessary-print-statement.patch
relocate-modules.patch

the following patches are removed since they are included
in 2.68.0:
0001-gobject-Drop-use-of-volatile-from-get_type-macros.patch
0002-tests-Fix-non-atomic-access-to-a-shared-variable.patch
0003-tests-Fix-non-atomic-access-to-a-shared-variable.patch
0004-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch
0005-tests-Fix-non-atomic-access-to-some-shared-variables.patch
0006-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch
0007-gdbusconnection-Drop-unnecessary-volatile-qualifiers.patch
0008-gdbuserror-Drop-unnecessary-volatile-qualifiers-from.patch
0009-gio-Drop-unnecessary-volatile-qualifiers-from-intern.patch
0010-kqueue-Fix-unlocked-access-to-shared-variable.patch
0011-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch
0012-tests-Fix-non-atomic-access-to-some-shared-variables.patch
0013-gatomic-Drop-unnecessary-volatile-qualifiers-from-in.patch
0014-gatomic-Drop-unnecessary-volatile-qualifiers-from-ma.patch
0015-glib-Drop-unnecessary-volatile-qualifiers-from-inter.patch
0016-gobject-Drop-unnecessary-volatile-qualifiers-from-in.patch
0017-gmessages-Drop-unnecessary-volatile-qualifiers-from-.patch
0018-gtypes-Drop-volatile-qualifier-from-gatomicrefcount.patch
0019-gatomicarray-Drop-volatile-qualifier-from-GAtomicArr.patch
0020-gobject-Drop-volatile-qualifier-from-GObject.ref_cou.patch
0021-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch
0022-build-Drop-unnecessary-volatile-qualifiers-from-conf.patch
0023-gdbusprivate-Avoid-a-warning-about-a-statement-with-.patch
0024-tests-Add-comment-to-volatile-atomic-tests.patch
0025-gthread-Use-g_atomic-primitives-correctly-in-destruc.patch
0026-gtype-Fix-some-typos-in-comments.patch
0027-gtype-Add-some-missing-atomic-accesses-to-init_state.patch
0028-gresource-Fix-a-pointer-mismatch-with-an-atomic-load.patch
0029-docs-Document-not-to-use-volatile-qualifiers.patch

(From OE-Core rev: fde4cb18e28e98f934c0742292f7ec183a568233)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:25 +01:00
zhengruoqin
d7e0475b50 python3-gitdb: upgrade 4.0.5 -> 4.0.7
(From OE-Core rev: 4abef6ce5093ce62fb583eba1f103f1b79723723)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:25 +01:00
zhengruoqin
4ca98c14a6 python3-dbusmock: upgrade 0.22.0 -> 0.23.0
(From OE-Core rev: 114950983c82a7412301ed88bf1f74d7f2d2ac14)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:25 +01:00
zhengruoqin
075ac6ca72 netbase: upgrade 6.2 -> 6.3
(From OE-Core rev: 9fd991163cfce6c4a1cf481b42c493eccb0a5a1a)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:24 +01:00
wangmy
2e7c5829fc libsolv: upgrade 0.7.17 -> 0.7.18
(From OE-Core rev: a06a4d19b102c4b1fbdb969c8b6e96c2ffba3ef9)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:24 +01:00
wangmy
bf8055edad ghostscript: upgrade 9.53.3 -> 9.54.0
(From OE-Core rev: bb4cdbda73b77808ebbd17cce3420fab767b496d)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:24 +01:00
wangmy
446a078ad5 gcr: upgrade 3.38.1 -> 3.40.0
(From OE-Core rev: d9f8925864d80d959b2b145c00fb36423f6dd08e)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:24 +01:00
wangmy
6852a907dc ccache: upgrade 4.2 -> 4.2.1
License-Update: add license information of src/third_party/win32/winerror_to_errno.h

(From OE-Core rev: 12f0aa9533edc7ac5a65b1c165797b049349b19e)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:24 +01:00
wangmy
49652a4910 dbus-glib: upgrade 0.110 -> 0.112
License-Update:add the following information of license
     SPDX-License-Identifier: AFL-2.1 OR GPL-2.0-or-later

(From OE-Core rev: fbc9e6f5c2a45ff917b7c255487616d922bdeb7a)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:24 +01:00
wangmy
da9f221f70 ell: upgrade 0.38 -> 0.39
(From OE-Core rev: dba7774a0f34eea86707a011941c7b3ef2fa5c1c)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:24 +01:00
Randy MacLeod
0b16b83dff sqlite3: upgrade 3.35.0 -> 3.35.3
(From OE-Core rev: 7d511f9b2b1f739e0c96a063d85428b3ab5767b3)

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:24 +01:00
Wang Mingyu
af42c1a8ad vte: upgrade 0.62.2 -> 0.62.3
(From OE-Core rev: f258154135980c054c220a34c6a9c4278d2038c3)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:24 +01:00
Wang Mingyu
b676111c64 webkitgtk: upgrade 2.30.5 -> 2.30.6
(From OE-Core rev: 9a3a925cc90f1b882463f3e885af441177a8215c)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:24 +01:00
zhengruoqin
7b4b6ff618 wpebackend-fdo: upgrade 1.8.0 -> 1.8.2
(From OE-Core rev: c65d04d555df94ad3b5c1076d8b5097de699f8c5)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:24 +01:00
zhengruoqin
19ff739725 epiphany: upgrade 3.38.2 -> 3.38.3
(From OE-Core rev: 5062a5a0e7d2228051721346bbc2abb4ab7c9ecc)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:24 +01:00
Wang Mingyu
31e395f4ba libassuan: upgrade 2.5.4 -> 2.5.5
refresh libassuan-add-pkgconfig-support.patch

(From OE-Core rev: e4948654311034d75352ffd74d7f602d7f8394de)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:24 +01:00
Khem Raj
8c88d149c8 valgrind: Add libstdc++ debug symbols for ptest
new/delete symbols are needed by overloaded-new.post test

(From OE-Core rev: 11bb1fe42590fd35ae5f24196d263f93dd063d35)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:24 +01:00
Khem Raj
5015e6711d valgrind: Add glibc-src to ptest rdeps
gdbserver tests look for glibc sources ( rtld.c )
or else they are flagged as differences and tests marked as failures

(From OE-Core rev: 3824f811db82c6f2360eea19a9df9129f4330291)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:24 +01:00
Khem Raj
5751bf6e14 valgrind: Delete trailing whitespaces
(From OE-Core rev: 2a049dd918e565c37b03af03973c695420b9599a)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:24 +01:00
Yi Fan Yu
e90519f1b5 valgrind: Fix ptest swapcontext.vgtest
Backport an upstream patch.
to limit the amount of stackstrace present.

Revert "valgrind: Disable ptest swapcontext.vgtest"
Effectively reverts commit 9dff5766f5795bb02677050045f24365f68bbc1a.

[YOCTO #14324]

(From OE-Core rev: a9baae5994354ba6410793f8a54e224e9dc21b5a)

Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:24 +01:00
Yi Fan Yu
0f51493992 valgrind: Disable ptest swapcontext.vgtest
New test introduced in valgrind 3.17.0.
Test fails on both qemuarm64 and qemux64.

[YOCTO #14324]

(From OE-Core rev: 2c21e5dda1d88280be3062eabb8c2788ff543600)

Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:24 +01:00
Yi Fan Yu
70dcfaea5e valgrind: update 3.16.1 -> 3.17.0
Notable changes:
* library is now in libexecdir instead of libdir

Added patches:
* Add musl.supp: missing musl.supp in 3.17.0

Dropped backport patches:
* nlcontrolc: found in c79180a3afcf65902e578646c3b716cc749db406
* drd Fedora33: found in 15330adf7c2471fbaa6a0818db07078d81dbff97
* lmw lswi ppc64le: found in 74b74174d572fee4015b8f4e326db3cd949bcdc3

Other dropped patches
* helgrind intercept: found in d2d54dbcc74244adfc0c80b40862edf2b82f53b9
* drd musl fix: found in d2d54dbcc74244adfc0c80b40862edf2b82f53b9

TESTING RESULTS:
qemux86-64:
FAIL: drd/tests/swapcontext

      3.17.0  3.16.1
===================
TOTAL:  736    726
PASSED: 694    688
FAILED:   1      0
SKIPPED: 41     38

(From OE-Core rev: 7c8c04ad933be38a806da355158c1e13e2c1b84c)

Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:24 +01:00
Wang Mingyu
ea6c56ed89 boost-build-native: upgrade 4.3.0 -> 4.4.1
(From OE-Core rev: 9c8cc168d215d5eb784997a40c31262904ff8145)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:24 +01:00
Wang Mingyu
583a26f346 babeltrace2: upgrade 2.0.3 -> 2.0.4
(From OE-Core rev: 628d335300ac378f8b7af5d1437873990fffa9e5)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:24 +01:00
Wang Mingyu
0732afc6e9 at-spi2-core: upgrade 2.38.0 -> 2.40.0
(From OE-Core rev: 3e3e158839b57221919d1dd54eb54fffc1f9ac1b)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:24 +01:00
Richard Purdie
83b9c24889 layer.conf: Update to add post 3.3 release honister series
(From OE-Core rev: c0f43f19fecfd16f973c2d2f8227106c46b451bb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:24 +01:00
Chen Qi
bbec2f3f29 busybox: fix CVE-2021-28831
Backport patch to fix CVE-2021-28831.

(From OE-Core rev: e579dbd9a6b2472ca90f411c0b594da9e38c9aca)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:24 +01:00
Daniel Ammann
cf80f79422 archiver: Fix typos
(From OE-Core rev: 36de56496bc07c321162555d603fac756297911a)

Signed-off-by: Daniel Ammann <daniel.ammann@bytesatwork.ch>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:24 +01:00
Khem Raj
27eadb84fe gcc-runtime: Make DEBUG_PREFIX_MAP relative to S
Current definition of SLIB is actually equal to S but is hardcoded, this
means when we have altered location of S, then the regexp for
DEBUG_PREFIX_MAP will not be effective, which could result in S being
emitted into debug_line sections. Simplify the maps to use S variable
instead of SLIB

Secondly, rename SLIB_NEW to REL_S to make it more appropritate to what
it represents

(From OE-Core rev: 2c8e130adb5d4d55ba732a042ec157498460ee29)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:24 +01:00
Khem Raj
f715025381 glibc: Rename glibc src package
Since glibc uses custom PACKAGES, it misses using ${PN}-src and as a
result it uses libc-src for name which means creating rdep on glibc src
package becomes difficult since bitbake can not resolve rdep = glibc-src
back to glibc recipe and bails out on builds

Missing or unbuildable dependency chain was: ['glibc-src']
ERROR: Required build target 'valgrind' has no buildable providers.
Missing or unbuildable dependency chain was: ['valgrind', 'glibc-src']

(From OE-Core rev: 816c8529f05271aba3d414ab2e68506ac7b6ec69)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:24 +01:00
Khem Raj
e237e345fb gcc: Upgrade to 10.3.0 bug-fix release
Drop aarch64 backports which are already upstream
List of bugs fixed is [1]

[1] https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&list_id=298084&resolution=FIXED&target_milestone=10.3

(From OE-Core rev: 023806e0e0de2b0e814e6e38d78bf2faa9661f19)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:24 +01:00
Khairul Rohaizzat Jamaluddin
b50e51b1c8 qemu: Fix CVE-2020-35517
CVE:
CVE-2020-35517

(From OE-Core rev: 51376edb13eed748395ebe1e56081c092565be9b)

Signed-off-by: Khairul Rohaizzat Jamaluddin <khairul.rohaizzat.jamaluddin@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:24 +01:00
Richard Purdie
84a6d97670 oeqa/selftest: Ensure packages classes are set correctly for maintainers test
The dnf packages aren't parsed if rpm isn't in PACKAGE_CLASSES which means
the aintainers test failes for OE-Core (where ipk is the default) but not
for poky (where the default is rpm).

Ensure PACKAGE_CLASSES is set so it works in all cases.

[YOCTO #14277]

(From OE-Core rev: 842b11107363357ed933cfcf619f1cf23f0d841e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:24 +01:00
Richard Purdie
773f19df44 pseudo: Upgrade to add trailing slashes ignore path fix
Pull in:
  client: strip trailing slashes when opening an ignored path

(From OE-Core rev: 9fb92bc13b8a78ef98798f14e728058feb180ba6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:23 +01:00
Peter Budny
16aeb6e94f lib/oe/terminal: Fix tmux new-session on older tmux versions (<1.9)
`tmux new -c` fails on tmux older than 1.9, when that flag was added.
We can omit the flag for older versions of tmux, and the working
directory gets set even without it.

(From OE-Core rev: c55c294be6f5119f4c58a4e7a0bc052904126569)

Signed-off-by: Peter Budny <pbbudny@amazon.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:23 +01:00
Richard Purdie
227a93441f oeqa/selftest: Hardcode test assumptions about heartbeat event timings
Setting a value of 10 for heartbeat events causes the test to fail. Hardcode
a value to ensure it works correctly even if the default is changed.

(From OE-Core rev: 08b2c9a23ce43ed65a16f5f0714b19a571e1b54a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-16 13:37:08 +01:00
Sakib Sajal
1cb269448b oe-time-dd-test.sh: provide more information from "top"
Improvements:
    - increase width to 512
    - pass -c option to show full command-line

(From OE-Core rev: aeae9467af5609c3c7bf8d0379d5546d9797ead5)

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-16 09:24:48 +01:00
Sakib Sajal
6e8f334c77 oe-time-dd-test.sh: make executable
(From OE-Core rev: d58d5ce00a997646fc7b691e6fd23ebd7f84e3ab)

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-16 09:24:48 +01:00
Paul Eggleton
1203d1f24d ref-manual: add mention of DISTUTILS_SETUP_PATH
Add a variable glossary entry and corresponding 3.3 migration
section entry for DISTUTILS_SETUP_PATH.

(From yocto-docs rev: 0823237e6f4b9dbdf48500b3c1e8cc61696fa2d2)

Signed-off-by: Paul Eggleton <paul.eggleton@microsoft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-15 20:18:58 +01:00
Paul Eggleton
34a72cf613 ref-manual: migration guide: add release codenames
People will see release codenames in other contexts, and thus it is
useful to mention them explicitly here rather than having to go to the
Releases wiki page to map version number to release codename.

(From yocto-docs rev: fe3a91e8b3ef09b79711b62c6a08643f9444dcec)

Signed-off-by: Paul Eggleton <paul.eggleton@microsoft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-15 20:18:58 +01:00
Paul Eggleton
e88b0ba326 ref-manual: add migration section for 3.3 release
(From yocto-docs rev: b8b6e8335be382337fe4adda11d5a90872ff4c79)

Signed-off-by: Paul Eggleton <paul.eggleton@microsoft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-15 20:18:58 +01:00
Paul Eggleton
5b11fd8881 ref-manual: tweak buildtools section
Add a joining paragraph and fix the second section so that it makes
sense with the addition of the first one.

(From yocto-docs rev: 8ee993995d9d72873f36e40dda5e3f345901978c)

Signed-off-by: Paul Eggleton <paul.eggleton@microsoft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-15 20:18:58 +01:00
Paul Eggleton
93e2dd396e ref-manual: fix reference to build-essential
This has been here since the text was added to the DocBook version.

(From yocto-docs rev: 611588b065ab98d7021173525027d16b5ab519c8)

Signed-off-by: Paul Eggleton <paul.eggleton@microsoft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-15 20:18:58 +01:00
Paul Eggleton
4af4b69f71 ref-manual: add FIT_KERNEL_COMP_ALG*
Add FIT_KERNEL_COMP_ALG and FIT_KERNEL_COMP_ALG_EXTENSION. Examining
OE-Core commit 5c72105e2973e613b5c0f0e6310ffdea6e56c6c7 and the
associated code, these do not enable arbitrary selection of compression
algorithm - only disabling compression - so document them accordingly.

(From yocto-docs rev: 41640526dd87153fdf802b058336c6fb466b8ade)

Signed-off-by: Paul Eggleton <paul.eggleton@microsoft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-15 20:18:58 +01:00
Paul Eggleton
e7559be8d5 ref-manual: add passwd-expire to EXTRA_USERS_PARAMS
Add a reference to the recently added passwd-expire command in
EXTRA_USERS_PARAMS.

(From yocto-docs rev: 9a6c8b37a1e6baab4dfb2ffe7b4abdf7dcbb8822)

Signed-off-by: Paul Eggleton <paul.eggleton@microsoft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-15 20:18:58 +01:00
Paul Eggleton
bf68c627b1 ref-manual: add python3targetconfig class and remove python 2 references
Add the recently added python3targetconfig class. Also, we no longer
have the python 2 classes, remove all references to those.

(From yocto-docs rev: c63d88656e2fc5361c512d4d9b426260c3e339f3)

Signed-off-by: Paul Eggleton <paul.eggleton@microsoft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-15 20:18:58 +01:00
Paul Eggleton
70441f2b73 ref-manual: add REQUIRED_VERSION and adjust PREFERRED_VERSION entry
Add REQUIRED_VERSION, add a reference to it in PREFERRED_VERSION and
adjust the opening statement to read slightly better.

(From yocto-docs rev: c1c0b3600f2f6e752faacfc877b80c2dda7cf522)

Signed-off-by: Paul Eggleton <paul.eggleton@microsoft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-15 20:18:58 +01:00
Paul Eggleton
71b78ef384 ref-manual: and SDK_CUSTOM_TEMPLATECONF to glossary
(From yocto-docs rev: dc23e9cf8fa161388a52deae5e6c9da54c6573d5)

Signed-off-by: Paul Eggleton <paul.eggleton@microsoft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-15 20:18:58 +01:00
Paul Eggleton
06e98c4b80 overview-manual: fix git command line
There was an en dash here instead of a hyphen; this meant that the
command line could not be copied and pasted verbatim. (Admittedly that
is less likely here than in other examples, but let's correct it
anyway.)

(From yocto-docs rev: 4f289752fab3529516ad44e6e62a1042c339fd13)

Signed-off-by: Paul Eggleton <paul.eggleton@microsoft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-15 20:18:57 +01:00
Paul Eggleton
6a4a9e8333 ref-manual: update/fix text for SDK_VERSION
DISTRO_VERSION snapshot versions use METADATA_REVISION not DATE in
hardknott and thus the default for SDK_VERSION has been updated, so
update it here as well. Additionally, fix the text so it makes sense.

(From yocto-docs rev: 7b0c4229591d6325384800137e9242c2b030e118)

Signed-off-by: Paul Eggleton <paul.eggleton@microsoft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-15 20:18:57 +01:00
Paul Eggleton
8396001238 Use variables for minimum host versions and bump Python to 3.6
Minimum Git, tar, Python and gcc versions are specified in quite a few
different places. Let's add some variables for these so there's no
chance of missing one if they're updated in future. Additionally, for
hardknott the minimum Python version is 3.6 so set that as the value for
Python.

(From yocto-docs rev: 9a802bc4bb0438c2540f360a08c7787caf64408a)

Signed-off-by: Paul Eggleton <paul.eggleton@microsoft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-15 20:18:57 +01:00
Paul Eggleton
b56736ae76 ref-manual: add METADATA_REVISION and METADATA_BRANCH
These are not new variables, but we are using METADATA_REVISION in a new
place and thus need to refer to it.

(From yocto-docs rev: 3b80ece864e8cc06f09d3d4ee645ddeef5d4eaf6)

Signed-off-by: Paul Eggleton <paul.eggleton@microsoft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-15 20:18:57 +01:00
Paul Eggleton
f2a20f7bd0 bitbake: bitbake-user-manual: add REQUIRED_VERSION and adjust PREFERRED_VERSION entry
Add REQUIRED_VERSION, add a reference to it in PREFERRED_VERSION and
adjust the opening statement to read slightly better.

(Bitbake rev: b32e6c8d4ea2f83fe77021207e9db883fec82d97)

Signed-off-by: Paul Eggleton <paul.eggleton@microsoft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-15 20:18:57 +01:00
Paul Eggleton
1892aae539 bitbake: bitbake-user-manual: document no support for using passwords in git URLs
This is based on the comment added in revision
aded964eed4ce5a725ed1ab477efabc86b1aa481.

(Bitbake rev: 082683da089115d8b6f71f221cabb41ac401f733)

Signed-off-by: Paul Eggleton <paul.eggleton@microsoft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-15 20:18:57 +01:00
Nicolas Dechesne
ddc9e2fd33 docs: add a top level page for bitbake documentation
The top level index file includes a link to the Bitbake
documentation. This link is static, however the location of the
Bitbake documentation depends on the intersphinx configuration. As
such, when looking at an old YP docs release, the link to the bitbake
documentation is always the same (and wrong).

Since we cannot use a cross reference in a toc index, this patch
creates an intermediate page for bitbake documentation, and in that
page we insert the right link to the bibtake documentation
(e.g. :doc:`bitbake:index`) which will be adjusted dynamically based
on intersphinx config.

(From yocto-docs rev: 4f7f451df266a307b34bf145b29291ca85eb882f)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Tested-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-09 15:24:46 +01:00
Quentin Schulz
c380ba5a17 docs: replace anchor links
Anchor links are treated by Sphinx as external links and are not checked
during build, meaning it is impossible to know if a link becomes broken or
not.

As a matter of fact, most of the anchor links replaced in this commit
were actually broken.

The README now states that anchor links are forbidden so that there's no
need to go through such a change later on.

(From yocto-docs rev: de9e4d26b46afa3c79137d07529a74553400d2e0)

Signed-off-by: Quentin Schulz <foss@0leil.net>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-09 15:24:46 +01:00
Ulrich Ölmann
802ac0b75e sdk-manual: fix typo
(From yocto-docs rev: 5bde446a0335ccf7f3d772e1eef666aeb31eace3)

Signed-off-by: Ulrich Ölmann <u.oelmann@pengutronix.de>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-09 15:24:46 +01:00
Richard Purdie
ca07d22405 bitbake: bitbake: Update version to 1.50.0 stable release series
(Bitbake rev: e70b925ba98fd4fedf3940d141a4210c953087ca)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-09 14:20:01 +01:00
725 changed files with 11825 additions and 14083 deletions

View File

@@ -26,7 +26,7 @@ from bb.main import bitbake_main, BitBakeConfigParameters, BBMainException
if sys.getfilesystemencoding() != "utf-8":
sys.exit("Please use a locale setting which supports UTF-8 (such as LANG=en_US.UTF-8).\nPython can't change the filesystem locale after loading so we need a UTF-8 when Python starts or things won't work.")
__version__ = "1.49.2"
__version__ = "1.51.0"
if __name__ == "__main__":
if __version__ != bb.__version__:

48
bitbake/bin/bitbake-getvar Executable file
View File

@@ -0,0 +1,48 @@
#! /usr/bin/env python3
#
# Copyright (C) 2021 Richard Purdie
#
# SPDX-License-Identifier: GPL-2.0-only
#
import argparse
import io
import os
import sys
bindir = os.path.dirname(__file__)
topdir = os.path.dirname(bindir)
sys.path[0:0] = [os.path.join(topdir, 'lib')]
import bb.tinfoil
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Bitbake Query Variable")
parser.add_argument("variable", help="variable name to query")
parser.add_argument("-r", "--recipe", help="Recipe name to query", default=None, required=False)
parser.add_argument('-u', '--unexpand', help='Do not expand the value (with --value)', action="store_true")
parser.add_argument('-f', '--flag', help='Specify a variable flag to query (with --value)', default=None)
parser.add_argument('--value', help='Only report the value, no history and no variable name', action="store_true")
args = parser.parse_args()
if args.unexpand and not args.value:
print("--unexpand only makes sense with --value")
sys.exit(1)
if args.flag and not args.value:
print("--flag only makes sense with --value")
sys.exit(1)
with bb.tinfoil.Tinfoil(tracking=True) as tinfoil:
if args.recipe:
tinfoil.prepare(quiet=2)
d = tinfoil.parse_recipe(args.recipe)
else:
tinfoil.prepare(quiet=2, config_only=True)
d = tinfoil.config_data
if args.flag:
print(str(d.getVarFlag(args.variable, args.flag, expand=(not args.unexpand))))
elif args.value:
print(str(d.getVar(args.variable, expand=(not args.unexpand))))
else:
bb.data.emit_var(args.variable, d=d, all=True)

View File

@@ -26,12 +26,10 @@ readypipeinfd = int(sys.argv[3])
logfile = sys.argv[4]
lockname = sys.argv[5]
sockname = sys.argv[6]
timeout = sys.argv[7]
timeout = float(sys.argv[7])
xmlrpcinterface = (sys.argv[8], int(sys.argv[9]))
if xmlrpcinterface[0] == "None":
xmlrpcinterface = (None, xmlrpcinterface[1])
if timeout == "None":
timeout = None
# Replace standard fds with our own
with open('/dev/null', 'r') as si:

View File

@@ -16,7 +16,7 @@ data, or simply return information about the execution environment.
This chapter describes BitBake's execution process from start to finish
when you use it to create an image. The execution process is launched
using the following command form: ::
using the following command form::
$ bitbake target
@@ -32,7 +32,7 @@ the BitBake command and its options, see ":ref:`The BitBake Command
your project's ``local.conf`` configuration file.
A common method to determine this value for your build host is to run
the following: ::
the following::
$ grep processor /proc/cpuinfo
@@ -139,7 +139,7 @@ in ``BBPATH`` in the same way as configuration files.
A good way to get an idea of the configuration files and the class files
used in your execution environment is to run the following BitBake
command: ::
command::
$ bitbake -e > mybb.log
@@ -155,7 +155,7 @@ execution environment.
pair of curly braces in a shell function, the closing curly brace
must not be located at the start of the line without leading spaces.
Here is an example that causes BitBake to produce a parsing error: ::
Here is an example that causes BitBake to produce a parsing error::
fakeroot create_shar() {
cat << "EOF" > ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.sh
@@ -185,7 +185,7 @@ During the configuration phase, BitBake will have set
:term:`BBFILES`. BitBake now uses it to construct a
list of recipes to parse, along with any append files (``.bbappend``) to
apply. ``BBFILES`` is a space-separated list of available files and
supports wildcards. An example would be: ::
supports wildcards. An example would be::
BBFILES = "/path/to/bbfiles/*.bb /path/to/appends/*.bbappend"
@@ -206,7 +206,7 @@ parses in order any append files found in ``BBFILES``.
One common convention is to use the recipe filename to define pieces of
metadata. For example, in ``bitbake.conf`` the recipe name and version
are used to set the variables :term:`PN` and
:term:`PV`: ::
:term:`PV`::
PN = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[0] or 'defaultpkgname'}"
PV = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[1] or '1.0'}"
@@ -238,7 +238,7 @@ Recipe file collections exist to allow the user to have multiple
repositories of ``.bb`` files that contain the same exact package. For
example, one could easily use them to make one's own local copy of an
upstream repository, but with custom modifications that one does not
want upstream. Here is an example: ::
want upstream. Here is an example::
BBFILES = "/stuff/openembedded/*/*.bb /stuff/openembedded.modified/*/*.bb"
BBFILE_COLLECTIONS = "upstream local"
@@ -270,7 +270,7 @@ variable, which is optional.
When a recipe uses ``PROVIDES``, that recipe's functionality can be
found under an alternative name or names other than the implicit ``PN``
name. As an example, suppose a recipe named ``keyboard_1.0.bb``
contained the following: ::
contained the following::
PROVIDES += "fullkeyboard"
@@ -291,7 +291,7 @@ needs to prioritize providers by determining provider preferences.
A common example in which a target has multiple providers is
"virtual/kernel", which is on the ``PROVIDES`` list for each kernel
recipe. Each machine often selects the best kernel provider by using a
line similar to the following in the machine configuration file: ::
line similar to the following in the machine configuration file::
PREFERRED_PROVIDER_virtual/kernel = "linux-yocto"
@@ -331,7 +331,7 @@ If the first recipe is named ``a_1.1.bb``, then the
Thus, if a recipe named ``a_1.2.bb`` exists, BitBake will choose 1.2 by
default. However, if you define the following variable in a ``.conf``
file that BitBake parses, you can change that preference: ::
file that BitBake parses, you can change that preference::
PREFERRED_VERSION_a = "1.1"
@@ -498,7 +498,7 @@ to the task.
Like the working directory case, situations exist where dependencies
should be ignored. For these cases, you can instruct the build process
to ignore a dependency by using a line like the following: ::
to ignore a dependency by using a line like the following::
PACKAGE_ARCHS[vardepsexclude] = "MACHINE"
@@ -508,7 +508,7 @@ even if it does reference it.
Equally, there are cases where we need to add dependencies BitBake is
not able to find. You can accomplish this by using a line like the
following: ::
following::
PACKAGE_ARCHS[vardeps] = "MACHINE"
@@ -536,7 +536,7 @@ configuration file, we can give BitBake some extra information to help
it construct the basehash. The following statement effectively results
in a list of global variable dependency excludes - variables never
included in any checksum. This example uses variables from OpenEmbedded
to help illustrate the concept: ::
to help illustrate the concept::
BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH DL_DIR \
SSTATE_DIR THISDIR FILESEXTRAPATHS FILE_DIRNAME HOME LOGNAME SHELL \
@@ -557,7 +557,7 @@ OpenEmbedded-Core uses: "OEBasic" and "OEBasicHash". By default, there
is a dummy "noop" signature handler enabled in BitBake. This means that
behavior is unchanged from previous versions. ``OE-Core`` uses the
"OEBasicHash" signature handler by default through this setting in the
``bitbake.conf`` file: ::
``bitbake.conf`` file::
BB_SIGNATURE_HANDLER ?= "OEBasicHash"

View File

@@ -27,7 +27,7 @@ and unpacking the files is often optionally followed by patching.
Patching, however, is not covered by this module.
The code to execute the first part of this process, a fetch, looks
something like the following: ::
something like the following::
src_uri = (d.getVar('SRC_URI') or "").split()
fetcher = bb.fetch2.Fetch(src_uri, d)
@@ -37,7 +37,7 @@ This code sets up an instance of the fetch class. The instance uses a
space-separated list of URLs from the :term:`SRC_URI`
variable and then calls the ``download`` method to download the files.
The instantiation of the fetch class is usually followed by: ::
The instantiation of the fetch class is usually followed by::
rootdir = l.getVar('WORKDIR')
fetcher.unpack(rootdir)
@@ -72,7 +72,7 @@ URLs by looking for source files in a specific search order:
For each URL passed to the fetcher, the fetcher calls the submodule that
handles that particular URL type. This behavior can be the source of
some confusion when you are providing URLs for the ``SRC_URI`` variable.
Consider the following two URLs: ::
Consider the following two URLs::
http://git.yoctoproject.org/git/poky;protocol=git
git://git.yoctoproject.org/git/poky;protocol=http
@@ -81,7 +81,7 @@ In the former case, the URL is passed to the ``wget`` fetcher, which does not
understand "git". Therefore, the latter case is the correct form since the Git
fetcher does know how to use HTTP as a transport.
Here are some examples that show commonly used mirror definitions: ::
Here are some examples that show commonly used mirror definitions::
PREMIRRORS ?= "\
bzr://.*/.\* http://somemirror.org/sources/ \\n \
@@ -111,19 +111,19 @@ File integrity is of key importance for reproducing builds. For
non-local archive downloads, the fetcher code can verify SHA-256 and MD5
checksums to ensure the archives have been downloaded correctly. You can
specify these checksums by using the ``SRC_URI`` variable with the
appropriate varflags as follows: ::
appropriate varflags as follows::
SRC_URI[md5sum] = "value"
SRC_URI[sha256sum] = "value"
You can also specify the checksums as
parameters on the ``SRC_URI`` as shown below: ::
parameters on the ``SRC_URI`` as shown below::
SRC_URI = "http://example.com/foobar.tar.bz2;md5sum=4a8e0f237e961fd7785d19d07fdb994d"
If multiple URIs exist, you can specify the checksums either directly as
in the previous example, or you can name the URLs. The following syntax
shows how you name the URIs: ::
shows how you name the URIs::
SRC_URI = "http://example.com/foobar.tar.bz2;name=foo"
SRC_URI[foo.md5sum] = 4a8e0f237e961fd7785d19d07fdb994d
@@ -163,9 +163,6 @@ govern the behavior of the unpack stage:
- *dos:* Applies to ``.zip`` and ``.jar`` files and specifies whether
to use DOS line ending conversion on text files.
- *basepath:* Instructs the unpack stage to strip the specified
directories from the source path when unpacking.
- *subdir:* Unpacks the specific URL to the specified subdirectory
within the root directory.
@@ -204,7 +201,7 @@ time the ``download()`` method is called.
If you specify a directory, the entire directory is unpacked.
Here are a couple of example URLs, the first relative and the second
absolute: ::
absolute::
SRC_URI = "file://relativefile.patch"
SRC_URI = "file:///Users/ich/very_important_software"
@@ -225,7 +222,7 @@ downloaded file is useful for avoiding collisions in
:term:`DL_DIR` when dealing with multiple files that
have the same name.
Some example URLs are as follows: ::
Some example URLs are as follows::
SRC_URI = "http://oe.handhelds.org/not_there.aac"
SRC_URI = "ftp://oe.handhelds.org/not_there_as_well.aac"
@@ -235,15 +232,13 @@ Some example URLs are as follows: ::
Because URL parameters are delimited by semi-colons, this can
introduce ambiguity when parsing URLs that also contain semi-colons,
for example:
::
for example::
SRC_URI = "http://abc123.org/git/?p=gcc/gcc.git;a=snapshot;h=a5dd47"
Such URLs should should be modified by replacing semi-colons with '&'
characters:
::
characters::
SRC_URI = "http://abc123.org/git/?p=gcc/gcc.git&a=snapshot&h=a5dd47"
@@ -251,8 +246,7 @@ Some example URLs are as follows: ::
In most cases this should work. Treating semi-colons and '&' in
queries identically is recommended by the World Wide Web Consortium
(W3C). Note that due to the nature of the URL, you may have to
specify the name of the downloaded file as well:
::
specify the name of the downloaded file as well::
SRC_URI = "http://abc123.org/git/?p=gcc/gcc.git&a=snapshot&h=a5dd47;downloadfilename=myfile.bz2"
@@ -321,7 +315,7 @@ The supported parameters are as follows:
- *"port":* The port to which the CVS server connects.
Some example URLs are as follows: ::
Some example URLs are as follows::
SRC_URI = "cvs://CVSROOT;module=mymodule;tag=some-version;method=ext"
SRC_URI = "cvs://CVSROOT;module=mymodule;date=20060126;localdir=usethat"
@@ -363,7 +357,7 @@ The supported parameters are as follows:
username is different than the username used in the main URL, which
is passed to the subversion command.
Following are three examples using svn: ::
Following are three examples using svn::
SRC_URI = "svn://myrepos/proj1;module=vip;protocol=http;rev=667"
SRC_URI = "svn://myrepos/proj1;module=opie;protocol=svn+ssh"
@@ -436,11 +430,20 @@ This fetcher supports the following parameters:
parameter implies no branch and only works when the transfer protocol
is ``file://``.
Here are some example URLs: ::
Here are some example URLs::
SRC_URI = "git://git.oe.handhelds.org/git/vip.git;tag=version-1"
SRC_URI = "git://git.oe.handhelds.org/git/vip.git;protocol=http"
.. note::
Specifying passwords directly in ``git://`` urls is not supported.
There are several reasons: ``SRC_URI`` is often written out to logs and
other places, and that could easily leak passwords; it is also all too
easy to share metadata without removing passwords. SSH keys, ``~/.netrc``
and ``~/.ssh/config`` files can be used as alternatives.
.. _gitsm-fetcher:
Git Submodule Fetcher (``gitsm://``)
@@ -475,7 +478,7 @@ repository.
To use this fetcher, make sure your recipe has proper
:term:`SRC_URI`, :term:`SRCREV`, and
:term:`PV` settings. Here is an example: ::
:term:`PV` settings. Here is an example::
SRC_URI = "ccrc://cc.example.org/ccrc;vob=/example_vob;module=/example_module"
SRCREV = "EXAMPLE_CLEARCASE_TAG"
@@ -497,7 +500,7 @@ Following are options for the ``SRC_URI`` statement:
The module and vob options are combined to create the load rule in the
view config spec. As an example, consider the vob and module values from
the SRC_URI statement at the start of this section. Combining those values
results in the following: ::
results in the following::
load /example_vob/example_module
@@ -549,7 +552,7 @@ the server's URL and port number, and you can specify a username and
password directly in your recipe within ``SRC_URI``.
Here is an example that relies on ``P4CONFIG`` to specify the server URL
and port, username, and password, and fetches the Head Revision: ::
and port, username, and password, and fetches the Head Revision::
SRC_URI = "p4://example-depot/main/source/..."
SRCREV = "${AUTOREV}"
@@ -557,7 +560,7 @@ and port, username, and password, and fetches the Head Revision: ::
S = "${WORKDIR}/p4"
Here is an example that specifies the server URL and port, username, and
password, and fetches a Revision based on a Label: ::
password, and fetches a Revision based on a Label::
P4PORT = "tcp:p4server.example.net:1666"
SRC_URI = "p4://user:passwd@example-depot/main/source/..."
@@ -583,7 +586,7 @@ paths locally is desirable, the fetcher supports two parameters:
paths locally for the specified location, even in combination with the
``module`` parameter.
Here is an example use of the the ``module`` parameter: ::
Here is an example use of the the ``module`` parameter::
SRC_URI = "p4://user:passwd@example-depot/main;module=source/..."
@@ -591,7 +594,7 @@ In this case, the content of the top-level directory ``source/`` will be fetched
to ``${P4DIR}``, including the directory itself. The top-level directory will
be accesible at ``${P4DIR}/source/``.
Here is an example use of the the ``remotepath`` parameter: ::
Here is an example use of the the ``remotepath`` parameter::
SRC_URI = "p4://user:passwd@example-depot/main;module=source/...;remotepath=keep"
@@ -619,7 +622,7 @@ This fetcher supports the following parameters:
- *"manifest":* Name of the manifest file (default: ``default.xml``).
Here are some example URLs: ::
Here are some example URLs::
SRC_URI = "repo://REPOROOT;protocol=git;branch=some_branch;manifest=my_manifest.xml"
SRC_URI = "repo://REPOROOT;protocol=file;branch=some_branch;manifest=my_manifest.xml"
@@ -642,11 +645,11 @@ 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 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>"
Here is an example URL: ::
Here is an example URL::
SRC_URI = "az://<azure-storage-account>.blob.core.windows.net/<foo_container>/<bar_file>"

View File

@@ -20,7 +20,7 @@ Obtaining BitBake
See the :ref:`bitbake-user-manual/bitbake-user-manual-hello:obtaining bitbake` section for
information on how to obtain BitBake. Once you have the source code on
your machine, the BitBake directory appears as follows: ::
your machine, the BitBake directory appears as follows::
$ ls -al
total 100
@@ -49,7 +49,7 @@ Setting Up the BitBake Environment
First, you need to be sure that you can run BitBake. Set your working
directory to where your local BitBake files are and run the following
command: ::
command::
$ ./bin/bitbake --version
BitBake Build Tool Core version 1.23.0, bitbake version 1.23.0
@@ -61,14 +61,14 @@ The recommended method to run BitBake is from a directory of your
choice. To be able to run BitBake from any directory, you need to add
the executable binary to your binary to your shell's environment
``PATH`` variable. First, look at your current ``PATH`` variable by
entering the following: ::
entering the following::
$ echo $PATH
Next, add the directory location
for the BitBake binary to the ``PATH``. Here is an example that adds the
``/home/scott-lenovo/bitbake/bin`` directory to the front of the
``PATH`` variable: ::
``PATH`` variable::
$ export PATH=/home/scott-lenovo/bitbake/bin:$PATH
@@ -116,7 +116,7 @@ Following is the complete "Hello World" example.
#. **Create a Project Directory:** First, set up a directory for the
"Hello World" project. Here is how you can do so in your home
directory: ::
directory::
$ mkdir ~/hello
$ cd ~/hello
@@ -127,7 +127,7 @@ Following is the complete "Hello World" example.
directory is a good way to isolate your project.
#. **Run BitBake:** At this point, you have nothing but a project
directory. Run the ``bitbake`` command and see what it does: ::
directory. Run the ``bitbake`` command and see what it does::
$ bitbake
The BBPATH variable is not set and bitbake did not
@@ -161,7 +161,7 @@ Following is the complete "Hello World" example.
``BBPATH`` variable up in a configuration file for each project.
From your shell, enter the following commands to set and export the
``BBPATH`` variable: ::
``BBPATH`` variable::
$ BBPATH="projectdirectory"
$ export BBPATH
@@ -176,7 +176,7 @@ Following is the complete "Hello World" example.
shell would.
#. **Run BitBake:** Now that you have ``BBPATH`` defined, run the
``bitbake`` command again: ::
``bitbake`` command again::
$ bitbake
ERROR: Traceback (most recent call last):
@@ -208,13 +208,13 @@ Following is the complete "Hello World" example.
http://git.openembedded.org/bitbake/tree/conf/bitbake.conf.
Use the following commands to create the ``conf`` directory in the
project directory: ::
project directory::
$ mkdir conf
From within the ``conf`` directory,
use some editor to create the ``bitbake.conf`` so that it contains
the following: ::
the following::
PN = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[0] or 'defaultpkgname'}"
@@ -251,7 +251,7 @@ Following is the complete "Hello World" example.
glossary.
#. **Run BitBake:** After making sure that the ``conf/bitbake.conf`` file
exists, you can run the ``bitbake`` command again: ::
exists, you can run the ``bitbake`` command again::
$ bitbake
ERROR: Traceback (most recent call last):
@@ -278,7 +278,7 @@ Following is the complete "Hello World" example.
in the ``classes`` directory of the project (i.e ``hello/classes``
in this example).
Create the ``classes`` directory as follows: ::
Create the ``classes`` directory as follows::
$ cd $HOME/hello
$ mkdir classes
@@ -291,7 +291,7 @@ Following is the complete "Hello World" example.
environments BitBake is supporting.
#. **Run BitBake:** After making sure that the ``classes/base.bbclass``
file exists, you can run the ``bitbake`` command again: ::
file exists, you can run the ``bitbake`` command again::
$ bitbake
Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information.
@@ -314,7 +314,7 @@ Following is the complete "Hello World" example.
Minimally, you need a recipe file and a layer configuration file in
your layer. The configuration file needs to be in the ``conf``
directory inside the layer. Use these commands to set up the layer
and the ``conf`` directory: ::
and the ``conf`` directory::
$ cd $HOME
$ mkdir mylayer
@@ -322,12 +322,12 @@ Following is the complete "Hello World" example.
$ mkdir conf
Move to the ``conf`` directory and create a ``layer.conf`` file that has the
following: ::
following::
BBPATH .= ":${LAYERDIR}"
BBFILES += "${LAYERDIR}/\*.bb"
BBFILES += "${LAYERDIR}/*.bb"
BBFILE_COLLECTIONS += "mylayer"
`BBFILE_PATTERN_mylayer := "^${LAYERDIR_RE}/"
BBFILE_PATTERN_mylayer := "^${LAYERDIR_RE}/"
For information on these variables, click on :term:`BBFILES`,
:term:`LAYERDIR`, :term:`BBFILE_COLLECTIONS` or :term:`BBFILE_PATTERN_mylayer <BBFILE_PATTERN>`
@@ -335,7 +335,7 @@ Following is the complete "Hello World" example.
You need to create the recipe file next. Inside your layer at the
top-level, use an editor and create a recipe file named
``printhello.bb`` that has the following: ::
``printhello.bb`` that has the following::
DESCRIPTION = "Prints Hello World"
PN = 'printhello'
@@ -356,7 +356,7 @@ Following is the complete "Hello World" example.
follow the links to the glossary.
#. **Run BitBake With a Target:** Now that a BitBake target exists, run
the command and provide that target: ::
the command and provide that target::
$ cd $HOME/hello
$ bitbake printhello
@@ -376,7 +376,7 @@ Following is the complete "Hello World" example.
``hello/conf`` for this example).
Set your working directory to the ``hello/conf`` directory and then
create the ``bblayers.conf`` file so that it contains the following: ::
create the ``bblayers.conf`` file so that it contains the following::
BBLAYERS ?= " \
/home/<you>/mylayer \
@@ -386,7 +386,7 @@ Following is the complete "Hello World" example.
#. **Run BitBake With a Target:** Now that you have supplied the
``bblayers.conf`` file, run the ``bitbake`` command and provide the
target: ::
target::
$ bitbake printhello
Parsing recipes: 100% |##################################################################################|

View File

@@ -248,13 +248,13 @@ underlying, similarly-named recipe files.
When you name an append file, you can use the "``%``" wildcard character
to allow for matching recipe names. For example, suppose you have an
append file named as follows: ::
append file named as follows::
busybox_1.21.%.bbappend
That append file
would match any ``busybox_1.21.``\ x\ ``.bb`` version of the recipe. So,
the append file would match the following recipe names: ::
the append file would match the following recipe names::
busybox_1.21.1.bb
busybox_1.21.2.bb
@@ -290,7 +290,7 @@ You can obtain BitBake several different ways:
are using. The metadata is generally backwards compatible but not
forward compatible.
Here is an example that clones the BitBake repository: ::
Here is an example that clones the BitBake repository::
$ git clone git://git.openembedded.org/bitbake
@@ -298,7 +298,7 @@ You can obtain BitBake several different ways:
Git repository into a directory called ``bitbake``. Alternatively,
you can designate a directory after the ``git clone`` command if you
want to call the new directory something other than ``bitbake``. Here
is an example that names the directory ``bbdev``: ::
is an example that names the directory ``bbdev``::
$ git clone git://git.openembedded.org/bitbake bbdev
@@ -317,7 +317,7 @@ You can obtain BitBake several different ways:
method for getting BitBake. Cloning the repository makes it easier
to update as patches are added to the stable branches.
The following example downloads a snapshot of BitBake version 1.17.0: ::
The following example downloads a snapshot of BitBake version 1.17.0::
$ wget http://git.openembedded.org/bitbake/snapshot/bitbake-1.17.0.tar.gz
$ tar zxpvf bitbake-1.17.0.tar.gz
@@ -347,7 +347,7 @@ execution examples.
Usage and syntax
----------------
Following is the usage and syntax for BitBake: ::
Following is the usage and syntax for BitBake::
$ bitbake -h
Usage: bitbake [options] [recipename/target recipe:do_task ...]
@@ -469,11 +469,11 @@ default task, which is "build". BitBake obeys inter-task dependencies
when doing so.
The following command runs the build task, which is the default task, on
the ``foo_1.0.bb`` recipe file: ::
the ``foo_1.0.bb`` recipe file::
$ bitbake -b foo_1.0.bb
The following command runs the clean task on the ``foo.bb`` recipe file: ::
The following command runs the clean task on the ``foo.bb`` recipe file::
$ bitbake -b foo.bb -c clean
@@ -497,13 +497,13 @@ functionality, or when there are multiple versions of a recipe.
The ``bitbake`` command, when not using "--buildfile" or "-b" only
accepts a "PROVIDES". You cannot provide anything else. By default, a
recipe file generally "PROVIDES" its "packagename" as shown in the
following example: ::
following example::
$ bitbake foo
This next example "PROVIDES" the
package name and also uses the "-c" option to tell BitBake to just
execute the ``do_clean`` task: ::
execute the ``do_clean`` task::
$ bitbake -c clean foo
@@ -514,7 +514,7 @@ The BitBake command line supports specifying different tasks for
individual targets when you specify multiple targets. For example,
suppose you had two targets (or recipes) ``myfirstrecipe`` and
``mysecondrecipe`` and you needed BitBake to run ``taskA`` for the first
recipe and ``taskB`` for the second recipe: ::
recipe and ``taskB`` for the second recipe::
$ bitbake myfirstrecipe:do_taskA mysecondrecipe:do_taskB
@@ -540,7 +540,7 @@ produce more readable graphs. This way, you can remove from the graph
``DEPENDS`` from inherited classes such as ``base.bbclass``.
Here are two examples that create dependency graphs. The second example
omits depends common in OpenEmbedded from the graph: ::
omits depends common in OpenEmbedded from the graph::
$ bitbake -g foo
@@ -582,17 +582,17 @@ accomplished by setting the
configuration files for ``target1`` and ``target2`` defined in the build
directory. The following statement in the ``local.conf`` file both
enables BitBake to perform multiple configuration builds and specifies
the two extra multiconfigs: ::
the two extra multiconfigs::
BBMULTICONFIG = "target1 target2"
Once the target configuration files are in place and BitBake has been
enabled to perform multiple configuration builds, use the following
command form to start the builds: ::
command form to start the builds::
$ bitbake [mc:multiconfigname:]target [[[mc:multiconfigname:]target] ... ]
Here is an example for two extra multiconfigs: ``target1`` and ``target2``: ::
Here is an example for two extra multiconfigs: ``target1`` and ``target2``::
$ bitbake mc::target mc:target1:target mc:target2:target
@@ -613,12 +613,12 @@ multiconfig.
To enable dependencies in a multiple configuration build, you must
declare the dependencies in the recipe using the following statement
form: ::
form::
task_or_package[mcdepends] = "mc:from_multiconfig:to_multiconfig:recipe_name:task_on_which_to_depend"
To better show how to use this statement, consider an example with two
multiconfigs: ``target1`` and ``target2``: ::
multiconfigs: ``target1`` and ``target2``::
image_task[mcdepends] = "mc:target1:target2:image2:rootfs_task"
@@ -629,7 +629,7 @@ completion of the rootfs_task used to build out image2, which is
associated with the "target2" multiconfig.
Once you set up this dependency, you can build the "target1" multiconfig
using a BitBake command as follows: ::
using a BitBake command as follows::
$ bitbake mc:target1:image1
@@ -639,7 +639,7 @@ the ``rootfs_task`` for the "target2" multiconfig build.
Having a recipe depend on the root filesystem of another build might not
seem that useful. Consider this change to the statement in the image1
recipe: ::
recipe::
image_task[mcdepends] = "mc:target1:target2:image2:image_task"

View File

@@ -26,7 +26,7 @@ assignment. ::
VARIABLE = "value"
As expected, if you include leading or
trailing spaces as part of an assignment, the spaces are retained: ::
trailing spaces as part of an assignment, the spaces are retained::
VARIABLE = " value"
VARIABLE = "value "
@@ -40,7 +40,7 @@ blank space (i.e. these are not the same values). ::
You can use single quotes instead of double quotes when setting a
variable's value. Doing so allows you to use values that contain the
double quote character: ::
double quote character::
VARIABLE = 'I have a " in my value'
@@ -77,7 +77,7 @@ occurs, you can use BitBake to check the actual value of the suspect
variable. You can make these checks for both configuration and recipe
level changes:
- For configuration changes, use the following: ::
- For configuration changes, use the following::
$ bitbake -e
@@ -91,7 +91,7 @@ level changes:
Variables that are exported to the environment are preceded by the
string "export" in the command's output.
- For recipe changes, use the following: ::
- For recipe changes, use the following::
$ bitbake recipe -e \| grep VARIABLE="
@@ -105,7 +105,7 @@ Outside of :ref:`functions <bitbake-user-manual/bitbake-user-manual-metadata:fun
BitBake joins any line ending in
a backslash character ("\") with the following line before parsing
statements. The most common use for the "\" character is to split
variable assignments over multiple lines, as in the following example: ::
variable assignments over multiple lines, as in the following example::
FOO = "bar \
baz \
@@ -116,7 +116,7 @@ character that follow it are removed when joining lines. Thus, no
newline characters end up in the value of ``FOO``.
Consider this additional example where the two assignments both assign
"barbaz" to ``FOO``: ::
"barbaz" to ``FOO``::
FOO = "barbaz"
FOO = "bar\
@@ -149,7 +149,7 @@ The "=" operator does not immediately expand variable references in the
right-hand side. Instead, expansion is deferred until the variable
assigned to is actually used. The result depends on the current values
of the referenced variables. The following example should clarify this
behavior: ::
behavior::
A = "${B} baz"
B = "${C} bar"
@@ -177,7 +177,7 @@ Setting a default value (?=)
You can use the "?=" operator to achieve a "softer" assignment for a
variable. This type of assignment allows you to define a variable if it
is undefined when the statement is parsed, but to leave the value alone
if the variable has a value. Here is an example: ::
if the variable has a value. Here is an example::
A ?= "aval"
@@ -199,7 +199,7 @@ by using the "??=" operator. This assignment behaves identical to "?="
except that the assignment is made at the end of the parsing process
rather than immediately. Consequently, when multiple "??=" assignments
exist, the last one is used. Also, any "=" or "?=" assignment will
override the value set with "??=". Here is an example: ::
override the value set with "??=". Here is an example::
A ??= "somevalue"
A ??= "someothervalue"
@@ -215,7 +215,7 @@ Immediate variable expansion (:=)
---------------------------------
The ":=" operator results in a variable's contents being expanded
immediately, rather than when the variable is actually used: ::
immediately, rather than when the variable is actually used::
T = "123"
A := "test ${T}"
@@ -241,7 +241,7 @@ the "+=" and "=+" operators. These operators insert a space between the
current value and prepended or appended value.
These operators take immediate effect during parsing. Here are some
examples: ::
examples::
B = "bval"
B += "additionaldata"
@@ -260,7 +260,7 @@ If you want to append or prepend values without an inserted space, use
the ".=" and "=." operators.
These operators take immediate effect during parsing. Here are some
examples: ::
examples::
B = "bval"
B .= "additionaldata"
@@ -278,7 +278,7 @@ style syntax. When you use this syntax, no spaces are inserted.
These operators differ from the ":=", ".=", "=.", "+=", and "=+"
operators in that their effects are applied at variable expansion time
rather than being immediately applied. Here are some examples: ::
rather than being immediately applied. Here are some examples::
B = "bval"
B_append = " additional data"
@@ -309,7 +309,7 @@ syntax. Specifying a value for removal causes all occurrences of that
value to be removed from the variable.
When you use this syntax, BitBake expects one or more strings.
Surrounding spaces and spacing are preserved. Here is an example: ::
Surrounding spaces and spacing are preserved. Here is an example::
FOO = "123 456 789 123456 123 456 123 456"
FOO_remove = "123"
@@ -334,27 +334,27 @@ An advantage of the override style operations "_append", "_prepend", and
"_remove" as compared to the "+=" and "=+" operators is that the
override style operators provide guaranteed operations. For example,
consider a class ``foo.bbclass`` that needs to add the value "val" to
the variable ``FOO``, and a recipe that uses ``foo.bbclass`` as follows: ::
the variable ``FOO``, and a recipe that uses ``foo.bbclass`` as follows::
inherit foo
FOO = "initial"
If ``foo.bbclass`` uses the "+=" operator,
as follows, then the final value of ``FOO`` will be "initial", which is
not what is desired: ::
not what is desired::
FOO += "val"
If, on the other hand, ``foo.bbclass``
uses the "_append" operator, then the final value of ``FOO`` will be
"initial val", as intended: ::
"initial val", as intended::
FOO_append = " val"
.. note::
It is never necessary to use "+=" together with "_append". The following
sequence of assignments appends "barbaz" to FOO: ::
sequence of assignments appends "barbaz" to FOO::
FOO_append = "bar"
FOO_append = "baz"
@@ -381,7 +381,7 @@ standard syntax operations previously mentioned work for variable flags
except for override style syntax (i.e. "_prepend", "_append", and
"_remove").
Here are some examples showing how to set variable flags: ::
Here are some examples showing how to set variable flags::
FOO[a] = "abc"
FOO[b] = "123"
@@ -393,7 +393,7 @@ respectively. The ``[a]`` flag becomes "abc 456".
No need exists to pre-define variable flags. You can simply start using
them. One extremely common application is to attach some brief
documentation to a BitBake variable as follows: ::
documentation to a BitBake variable as follows::
CACHE[doc] = "The directory holding the cache of the metadata."
@@ -401,7 +401,7 @@ Inline Python Variable Expansion
--------------------------------
You can use inline Python variable expansion to set variables. Here is
an example: ::
an example::
DATE = "${@time.strftime('%Y%m%d',time.gmtime())}"
@@ -410,7 +410,7 @@ This example results in the ``DATE`` variable being set to the current date.
Probably the most common use of this feature is to extract the value of
variables from BitBake's internal data dictionary, ``d``. The following
lines select the values of a package name and its version number,
respectively: ::
respectively::
PN = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[0] or 'defaultpkgname'}"
PV = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[1] or '1.0'}"
@@ -419,12 +419,12 @@ respectively: ::
Inline Python expressions work just like variable expansions insofar as the
"=" and ":=" operators are concerned. Given the following assignment, foo()
is called each time FOO is expanded: ::
is called each time FOO is expanded::
FOO = "${@foo()}"
Contrast this with the following immediate assignment, where foo() is only
called once, while the assignment is parsed: ::
called once, while the assignment is parsed::
FOO := "${@foo()}"
@@ -437,7 +437,7 @@ Unsetting variables
It is possible to completely remove a variable or a variable flag from
BitBake's internal data dictionary by using the "unset" keyword. Here is
an example: ::
an example::
unset DATE
unset do_fetch[noexec]
@@ -452,7 +452,7 @@ When specifying pathnames for use with BitBake, do not use the tilde
cause BitBake to not recognize the path since BitBake does not expand
this character in the same way a shell would.
Instead, provide a fuller path as the following example illustrates: ::
Instead, provide a fuller path as the following example illustrates::
BBLAYERS ?= " \
/home/scott-lenovo/LayerA \
@@ -463,7 +463,7 @@ Exporting Variables to the Environment
You can export variables to the environment of running tasks by using
the ``export`` keyword. For example, in the following example, the
``do_foo`` task prints "value from the environment" when run: ::
``do_foo`` task prints "value from the environment" when run::
export ENV_VARIABLE
ENV_VARIABLE = "value from the environment"
@@ -481,7 +481,7 @@ It does not matter whether ``export ENV_VARIABLE`` appears before or
after assignments to ``ENV_VARIABLE``.
It is also possible to combine ``export`` with setting a value for the
variable. Here is an example: ::
variable. Here is an example::
export ENV_VARIABLE = "variable-value"
@@ -518,7 +518,7 @@ variable.
to satisfy conditions. Thus, if you have a variable that is
conditional on "arm", and "arm" is in ``OVERRIDES``, then the
"arm"-specific version of the variable is used rather than the
non-conditional version. Here is an example: ::
non-conditional version. Here is an example::
OVERRIDES = "architecture:os:machine"
TEST = "default"
@@ -535,7 +535,7 @@ variable.
an OpenEmbedded metadata-based Linux kernel recipe file. The
following lines from the recipe file first set the kernel branch
variable ``KBRANCH`` to a default value, then conditionally override
that value based on the architecture of the build: ::
that value based on the architecture of the build::
KBRANCH = "standard/base"
KBRANCH_qemuarm = "standard/arm-versatile-926ejs"
@@ -547,7 +547,7 @@ variable.
- *Appending and Prepending:* BitBake also supports append and prepend
operations to variable values based on whether a specific item is
listed in ``OVERRIDES``. Here is an example: ::
listed in ``OVERRIDES``. Here is an example::
DEPENDS = "glibc ncurses"
OVERRIDES = "machine:local"
@@ -557,14 +557,14 @@ variable.
Again, using an OpenEmbedded metadata-based kernel recipe file as an
example, the following lines will conditionally append to the
``KERNEL_FEATURES`` variable based on the architecture: ::
``KERNEL_FEATURES`` variable based on the architecture::
KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
- *Setting a Variable for a Single Task:* BitBake supports setting a
variable just for the duration of a single task. Here is an example: ::
variable just for the duration of a single task. Here is an example::
FOO_task-configure = "val 1"
FOO_task-compile = "val 2"
@@ -580,7 +580,7 @@ variable.
``do_compile`` task.
You can also use this syntax with other combinations (e.g.
"``_prepend``") as shown in the following example: ::
"``_prepend``") as shown in the following example::
EXTRA_OEMAKE_prepend_task-compile = "${PARALLEL_MAKE} "
@@ -588,7 +588,7 @@ Key Expansion
-------------
Key expansion happens when the BitBake datastore is finalized. To better
understand this, consider the following example: ::
understand this, consider the following example::
A${B} = "X"
B = "2"
@@ -614,7 +614,7 @@ There is often confusion concerning the order in which overrides and
various "append" operators take effect. Recall that an append or prepend
operation using "_append" and "_prepend" does not result in an immediate
assignment as would "+=", ".=", "=+", or "=.". Consider the following
example: ::
example::
OVERRIDES = "foo"
A = "Z"
@@ -631,7 +631,7 @@ Applying overrides, however, changes things. Since "foo" is listed in
version, which is equal to "X". So effectively, ``A_foo`` replaces
``A``.
This next example changes the order of the override and the append: ::
This next example changes the order of the override and the append::
OVERRIDES = "foo"
A = "Z"
@@ -644,7 +644,7 @@ appended with "X". Consequently, ``A`` becomes "ZX". Notice that spaces
are not appended.
This next example has the order of the appends and overrides reversed
back as in the first example: ::
back as in the first example::
OVERRIDES = "foo"
A = "Y"
@@ -658,7 +658,7 @@ leaving the variable set to "ZX". Finally, applying the override for
"foo" results in the conditional variable ``A`` becoming "ZX" (i.e.
``A`` is replaced with ``A_foo``).
This final example mixes in some varying operators: ::
This final example mixes in some varying operators::
A = "1"
A_append = "2"
@@ -720,7 +720,7 @@ file and then have your recipe inherit that class file.
As an example, your recipes could use the following directive to inherit
an ``autotools.bbclass`` file. The class file would contain common
functionality for using Autotools that could be shared across recipes: ::
functionality for using Autotools that could be shared across recipes::
inherit autotools
@@ -734,7 +734,7 @@ In this case, BitBake would search for the directory
If you want to use the directive to inherit multiple classes, separate
them with spaces. The following example shows how to inherit both the
``buildhistory`` and ``rm_work`` classes: ::
``buildhistory`` and ``rm_work`` classes::
inherit buildhistory rm_work
@@ -742,19 +742,19 @@ An advantage with the inherit directive as compared to both the
:ref:`include <bitbake-user-manual/bitbake-user-manual-metadata:\`\`include\`\` directive>` and :ref:`require <bitbake-user-manual/bitbake-user-manual-metadata:\`\`require\`\` directive>`
directives is that you can inherit class files conditionally. You can
accomplish this by using a variable expression after the ``inherit``
statement. Here is an example: ::
statement. Here is an example::
inherit ${VARNAME}
If ``VARNAME`` is
going to be set, it needs to be set before the ``inherit`` statement is
parsed. One way to achieve a conditional inherit in this case is to use
overrides: ::
overrides::
VARIABLE = ""
VARIABLE_someoverride = "myclass"
Another method is by using anonymous Python. Here is an example: ::
Another method is by using anonymous Python. Here is an example::
python () {
if condition == value:
@@ -764,7 +764,7 @@ Another method is by using anonymous Python. Here is an example: ::
}
Alternatively, you could use an in-line Python expression in the
following form: ::
following form::
inherit ${@'classname' if condition else ''}
inherit ${@functionname(params)}
@@ -790,7 +790,7 @@ encapsulated functionality or configuration that does not suit a
``.bbclass`` file.
As an example, suppose you needed a recipe to include some self-test
definitions: ::
definitions::
include test_defs.inc
@@ -831,7 +831,7 @@ include file named ``foo.inc`` that contains the common definitions
needed to build "foo". You need to be sure ``foo.inc`` is located in the
same directory as your two recipe files as well. Once these conditions
are set up, you can share the functionality using a ``require``
directive from within each recipe: ::
directive from within each recipe::
require foo.inc
@@ -844,7 +844,7 @@ class. BitBake only supports this directive when used within a
configuration file.
As an example, suppose you needed to inherit a class file called
``abc.bbclass`` from a configuration file as follows: ::
``abc.bbclass`` from a configuration file as follows::
INHERIT += "abc"
@@ -862,7 +862,7 @@ subdirectory in one of the directories specified in ``BBPATH``.
If you want to use the directive to inherit multiple classes, you can
provide them on the same line in the ``local.conf`` file. Use spaces to
separate the classes. The following example shows how to inherit both
the ``autotools`` and ``pkgconfig`` classes: ::
the ``autotools`` and ``pkgconfig`` classes::
INHERIT += "autotools pkgconfig"
@@ -895,7 +895,7 @@ Shell Functions
Functions written in shell script and executed either directly as
functions, tasks, or both. They can also be called by other shell
functions. Here is an example shell function definition: ::
functions. Here is an example shell function definition::
some_function () {
echo "Hello World"
@@ -912,7 +912,7 @@ can also be applied to shell functions. Most commonly, this application
would be used in a ``.bbappend`` file to modify functions in the main
recipe. It can also be used to modify functions inherited from classes.
As an example, consider the following: ::
As an example, consider the following::
do_foo() {
bbplain first
@@ -931,7 +931,7 @@ As an example, consider the following: ::
bbplain fourth
}
Running ``do_foo`` prints the following: ::
Running ``do_foo`` prints the following::
recipename do_foo: first
recipename do_foo: second
@@ -952,7 +952,7 @@ BitBake-Style Python Functions
These functions are written in Python and executed by BitBake or other
Python functions using ``bb.build.exec_func()``.
An example BitBake function is: ::
An example BitBake function is::
python some_python_function () {
d.setVar("TEXT", "Hello World")
@@ -975,7 +975,7 @@ import these modules. Also in these types of functions, the datastore
Similar to shell functions, you can also apply overrides and
override-style operators to BitBake-style Python functions.
As an example, consider the following: ::
As an example, consider the following::
python do_foo_prepend() {
bb.plain("first")
@@ -989,7 +989,7 @@ As an example, consider the following: ::
bb.plain("third")
}
Running ``do_foo`` prints the following: ::
Running ``do_foo`` prints the following::
recipename do_foo: first
recipename do_foo: second
@@ -1004,7 +1004,7 @@ Python Functions
These functions are written in Python and are executed by other Python
code. Examples of Python functions are utility functions that you intend
to call from in-line Python or from within other Python functions. Here
is an example: ::
is an example::
def get_depends(d):
if d.getVar('SOMECONDITION'):
@@ -1056,7 +1056,7 @@ functions and regular Python functions defined with "def":
- Regular Python functions are called with the usual Python syntax.
BitBake-style Python functions are usually tasks and are called
directly by BitBake, but can also be called manually from Python code
by using the ``bb.build.exec_func()`` function. Here is an example: ::
by using the ``bb.build.exec_func()`` function. Here is an example::
bb.build.exec_func("my_bitbake_style_function", d)
@@ -1094,7 +1094,7 @@ Sometimes it is useful to set variables or perform other operations
programmatically during parsing. To do this, you can define special
Python functions, called anonymous Python functions, that run at the end
of parsing. For example, the following conditionally sets a variable
based on the value of another variable: ::
based on the value of another variable::
python () {
if d.getVar('SOMEVAR') == 'value':
@@ -1107,7 +1107,7 @@ the name "__anonymous", rather than no name.
Anonymous Python functions always run at the end of parsing, regardless
of where they are defined. If a recipe contains many anonymous
functions, they run in the same order as they are defined within the
recipe. As an example, consider the following snippet: ::
recipe. As an example, consider the following snippet::
python () {
d.setVar('FOO', 'foo 2')
@@ -1122,7 +1122,7 @@ recipe. As an example, consider the following snippet: ::
BAR = "bar 1"
The previous example is conceptually
equivalent to the following snippet: ::
equivalent to the following snippet::
FOO = "foo 1"
BAR = "bar 1"
@@ -1136,7 +1136,7 @@ available to tasks, which always run after parsing.
Overrides and override-style operators such as "``_append``" are applied
before anonymous functions run. In the following example, ``FOO`` ends
up with the value "foo from anonymous": ::
up with the value "foo from anonymous"::
FOO = "foo"
FOO_append = " from outside"
@@ -1173,24 +1173,24 @@ version of the function.
To make use of this technique, you need the following things in place:
- The class needs to define the function as follows: ::
- The class needs to define the function as follows::
classname_functionname
For example, if you have a class file
``bar.bbclass`` and a function named ``do_foo``, the class must
define the function as follows: ::
define the function as follows::
bar_do_foo
- The class needs to contain the ``EXPORT_FUNCTIONS`` statement as
follows: ::
follows::
EXPORT_FUNCTIONS functionname
For example, continuing with
the same example, the statement in the ``bar.bbclass`` would be as
follows: ::
follows::
EXPORT_FUNCTIONS do_foo
@@ -1199,7 +1199,7 @@ To make use of this technique, you need the following things in place:
class version of the function, it should call ``bar_do_foo``.
Assuming ``do_foo`` was a shell function and ``EXPORT_FUNCTIONS`` was
used as above, the recipe's function could conditionally call the
class version of the function as follows: ::
class version of the function as follows::
do_foo() {
if [ somecondition ] ; then
@@ -1233,7 +1233,7 @@ Tasks are either :ref:`shell functions <bitbake-user-manual/bitbake-user-manual-
that have been promoted to tasks by using the ``addtask`` command. The
``addtask`` command can also optionally describe dependencies between
the task and other tasks. Here is an example that shows how to define a
task and declare some dependencies: ::
task and declare some dependencies::
python do_printdate () {
import time
@@ -1264,12 +1264,12 @@ Additionally, the ``do_printdate`` task becomes dependent upon the
rerun for experimentation purposes, you can make BitBake always
consider the task "out-of-date" by using the
:ref:`[nostamp] <bitbake-user-manual/bitbake-user-manual-metadata:Variable Flags>`
variable flag, as follows: ::
variable flag, as follows::
do_printdate[nostamp] = "1"
You can also explicitly run the task and provide the
-f option as follows: ::
-f option as follows::
$ bitbake recipe -c printdate -f
@@ -1278,7 +1278,7 @@ Additionally, the ``do_printdate`` task becomes dependent upon the
name.
You might wonder about the practical effects of using ``addtask``
without specifying any dependencies as is done in the following example: ::
without specifying any dependencies as is done in the following example::
addtask printdate
@@ -1286,7 +1286,7 @@ In this example, assuming dependencies have not been
added through some other means, the only way to run the task is by
explicitly selecting it with ``bitbake`` recipe ``-c printdate``. You
can use the ``do_listtasks`` task to list all tasks defined in a recipe
as shown in the following example: ::
as shown in the following example::
$ bitbake recipe -c listtasks
@@ -1312,7 +1312,7 @@ Deleting a Task
As well as being able to add tasks, you can delete them. Simply use the
``deltask`` command to delete a task. For example, to delete the example
task used in the previous sections, you would use: ::
task used in the previous sections, you would use::
deltask printdate
@@ -1328,7 +1328,7 @@ to run before ``do_a``.
If you want dependencies such as these to remain intact, use the
``[noexec]`` varflag to disable the task instead of using the
``deltask`` command to delete it: ::
``deltask`` command to delete it::
do_b[noexec] = "1"
@@ -1356,7 +1356,7 @@ environment, you must take these two steps:
example, assume you want to prevent the build system from accessing
your ``$HOME/.ccache`` directory. The following command "whitelists"
the environment variable ``CCACHE_DIR`` causing BitBake to allow that
variable into the datastore: ::
variable into the datastore::
export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE CCACHE_DIR"
@@ -1366,7 +1366,7 @@ environment, you must take these two steps:
available in the datastore. To export it to the task environment of
every running task, use a command similar to the following in your
local configuration file ``local.conf`` or your distribution
configuration file: ::
configuration file::
export CCACHE_DIR
@@ -1385,7 +1385,7 @@ environment into a special variable named :term:`BB_ORIGENV`.
The ``BB_ORIGENV`` variable returns a datastore object that can be
queried using the standard datastore operators such as
``getVar(, False)``. The datastore object is useful, for example, to
find the original ``DISPLAY`` variable. Here is an example: ::
find the original ``DISPLAY`` variable. Here is an example::
origenv = d.getVar("BB_ORIGENV", False)
bar = origenv.getVar("BAR", False)
@@ -1398,7 +1398,7 @@ Variable Flags
Variable flags (varflags) help control a task's functionality and
dependencies. BitBake reads and writes varflags to the datastore using
the following command forms: ::
the following command forms::
variable = d.getVarFlags("variable")
self.d.setVarFlags("FOO", {"func": True})
@@ -1537,7 +1537,7 @@ intent is to make it easy to do things like email notification on build
failures.
Following is an example event handler that prints the name of the event
and the content of the ``FILE`` variable: ::
and the content of the ``FILE`` variable::
addhandler myclass_eventhandler
python myclass_eventhandler() {
@@ -1676,7 +1676,7 @@ incarnations are buildable. These features are enabled through the
also specify conditional metadata (using the
:term:`OVERRIDES` mechanism) for a single
version, or an optionally named range of versions. Here is an
example: ::
example::
BBVERSIONS = "1.0 2.0 git"
SRC_URI_git = "git://someurl/somepath.git"
@@ -1719,7 +1719,7 @@ Dependencies Internal to the ``.bb`` File
BitBake uses the ``addtask`` directive to manage dependencies that are
internal to a given recipe file. You can use the ``addtask`` directive
to indicate when a task is dependent on other tasks or when other tasks
depend on that recipe. Here is an example: ::
depend on that recipe. Here is an example::
addtask printdate after do_fetch before do_build
@@ -1743,7 +1743,7 @@ task depends on the completion of the ``do_printdate`` task.
- The directive ``addtask mytask after do_configure`` by itself
never causes ``do_mytask`` to run. ``do_mytask`` can still be run
manually as follows: ::
manually as follows::
$ bitbake recipe -c mytask
@@ -1757,7 +1757,7 @@ Build Dependencies
BitBake uses the :term:`DEPENDS` variable to manage
build time dependencies. The ``[deptask]`` varflag for tasks signifies
the task of each item listed in ``DEPENDS`` that must complete before
that task can be executed. Here is an example: ::
that task can be executed. Here is an example::
do_configure[deptask] = "do_populate_sysroot"
@@ -1799,7 +1799,7 @@ dependencies are discovered and added.
The ``[recrdeptask]`` flag is most commonly used in high-level recipes
that need to wait for some task to finish "globally". For example,
``image.bbclass`` has the following: ::
``image.bbclass`` has the following::
do_rootfs[recrdeptask] += "do_packagedata"
@@ -1808,7 +1808,7 @@ the current recipe and all recipes reachable (by way of dependencies)
from the image recipe must run before the ``do_rootfs`` task can run.
BitBake allows a task to recursively depend on itself by
referencing itself in the task list: ::
referencing itself in the task list::
do_a[recrdeptask] = "do_a do_b"
@@ -1825,7 +1825,7 @@ Inter-Task Dependencies
BitBake uses the ``[depends]`` flag in a more generic form to manage
inter-task dependencies. This more generic form allows for
inter-dependency checks for specific tasks rather than checks for the
data in ``DEPENDS``. Here is an example: ::
data in ``DEPENDS``. Here is an example::
do_patch[depends] = "quilt-native:do_populate_sysroot"
@@ -1920,7 +1920,7 @@ To help understand how BitBake does this, the section assumes an
OpenEmbedded metadata-based example.
These checksums are stored in :term:`STAMP`. You can
examine the checksums using the following BitBake command: ::
examine the checksums using the following BitBake command::
$ bitbake-dumpsigs

View File

@@ -130,7 +130,7 @@ overview of their function and contents.
you to control the build based on these parameters.
Disk space monitoring is disabled by default. When setting this
variable, use the following form: ::
variable, use the following form::
BB_DISKMON_DIRS = "<action>,<dir>,<threshold> [...]"
@@ -166,7 +166,7 @@ overview of their function and contents.
not specify G, M, or K, Kbytes is assumed by
default. Do not use GB, MB, or KB.
Here are some examples: ::
Here are some examples::
BB_DISKMON_DIRS = "ABORT,${TMPDIR},1G,100K WARN,${SSTATE_DIR},1G,100K"
BB_DISKMON_DIRS = "STOPTASKS,${TMPDIR},1G"
@@ -207,7 +207,7 @@ overview of their function and contents.
BB_DISKMON_WARNINTERVAL = "50M,5K"
When specifying the variable in your configuration file, use the
following form: ::
following form::
BB_DISKMON_WARNINTERVAL = "<disk_space_interval>,<disk_inode_interval>"
@@ -223,7 +223,7 @@ overview of their function and contents.
G, M, or K for Gbytes, Mbytes, or Kbytes,
respectively. You cannot use GB, MB, or KB.
Here is an example: ::
Here is an example::
BB_DISKMON_DIRS = "WARN,${SSTATE_DIR},1G,100K"
BB_DISKMON_WARNINTERVAL = "50M,5K"
@@ -329,7 +329,7 @@ overview of their function and contents.
Specifies the name of the log files saved into
``${``\ :term:`T`\ ``}``. By default, the ``BB_LOGFMT``
variable is undefined and the log file names get created using the
following form: ::
following form::
log.{task}.{pid}
@@ -383,7 +383,7 @@ overview of their function and contents.
Specifies the name of the executable script files (i.e. run files)
saved into ``${``\ :term:`T`\ ``}``. By default, the
``BB_RUNFMT`` variable is undefined and the run file names get
created using the following form: ::
created using the following form::
run.{task}.{pid}
@@ -511,7 +511,7 @@ overview of their function and contents.
This variable works similarly to the :term:`BB_TASK_NICE_LEVEL`
variable except with a task's I/O priorities.
Set the variable as follows: ::
Set the variable as follows::
BB_TASK_IONICE_LEVEL = "class.prio"
@@ -529,7 +529,7 @@ overview of their function and contents.
In order for your I/O priority settings to take effect, you need the
Completely Fair Queuing (CFQ) Scheduler selected for the backing block
device. To select the scheduler, use the following command form where
device is the device (e.g. sda, sdb, and so forth): ::
device is the device (e.g. sda, sdb, and so forth)::
$ sudo sh -c "echo cfq > /sys/block/device/queu/scheduler"
@@ -570,7 +570,7 @@ overview of their function and contents.
To build a different variant of the recipe with a minimal amount of
code, it usually is as simple as adding the variable to your recipe.
Here are two examples. The "native" variants are from the
OpenEmbedded-Core metadata: ::
OpenEmbedded-Core metadata::
BBCLASSEXTEND =+ "native nativesdk"
BBCLASSEXTEND =+ "multilib:multilib_name"
@@ -658,12 +658,12 @@ overview of their function and contents.
``.bb`` files in case a layer is not present. Use this avoid hard
dependency on those other layers.
Use the following form for ``BBFILES_DYNAMIC``: ::
Use the following form for ``BBFILES_DYNAMIC``::
collection_name:filename_pattern
The following example identifies two collection names and two filename
patterns: ::
patterns::
BBFILES_DYNAMIC += "\
clang-layer:${LAYERDIR}/bbappends/meta-clang/*/*/*.bbappend \
@@ -671,14 +671,14 @@ overview of their function and contents.
"
When the collection name is prefixed with "!" it will add the file pattern in case
the layer is absent: ::
the layer is absent::
BBFILES_DYNAMIC += "\
!clang-layer:${LAYERDIR}/backfill/meta-clang/*/*/*.bb \
"
This next example shows an error message that occurs because invalid
entries are found, which cause parsing to abort: ::
entries are found, which cause parsing to abort::
ERROR: BBFILES_DYNAMIC entries must be of the form {!}<collection name>:<filename pattern>, not:
/work/my-layer/bbappends/meta-security-isafw/*/*/*.bbappend
@@ -701,7 +701,7 @@ overview of their function and contents.
:term:`BBLAYERS`
Lists the layers to enable during the build. This variable is defined
in the ``bblayers.conf`` configuration file in the build directory.
Here is an example: ::
Here is an example::
BBLAYERS = " \
/home/scottrif/poky/meta \
@@ -735,13 +735,13 @@ overview of their function and contents.
The following example uses a complete regular expression to tell
BitBake to ignore all recipe and recipe append files in the
``meta-ti/recipes-misc/`` directory: ::
``meta-ti/recipes-misc/`` directory::
BBMASK = "meta-ti/recipes-misc/"
If you want to mask out multiple directories or recipes, you can
specify multiple regular expression fragments. This next example
masks out multiple directories and individual recipes: ::
masks out multiple directories and individual recipes::
BBMASK += "/meta-ti/recipes-misc/ meta-ti/recipes-ti/packagegroup/"
BBMASK += "/meta-oe/recipes-support/"
@@ -762,7 +762,7 @@ overview of their function and contents.
``conf/local.conf`` configuration file.
As an example, the following line specifies three multiconfigs, each
having a separate configuration file: ::
having a separate configuration file::
BBMULTIFONFIG = "configA configB configC"
@@ -783,7 +783,7 @@ overview of their function and contents.
If you run BitBake from a directory outside of the build directory,
you must be sure to set ``BBPATH`` to point to the build directory.
Set the variable as you would any environment variable and then run
BitBake: ::
BitBake::
$ BBPATH="build_directory"
$ export BBPATH
@@ -852,7 +852,7 @@ overview of their function and contents.
Consider this simple example for two recipes named "a" and "b" that
produce similarly named packages. In this example, the ``DEPENDS``
statement appears in the "a" recipe: ::
statement appears in the "a" recipe::
DEPENDS = "b"
@@ -1074,7 +1074,7 @@ overview of their function and contents.
recipes provide the same item. You should always suffix the variable
with the name of the provided item, and you should set it to the
:term:`PN` of the recipe to which you want to give
precedence. Some examples: ::
precedence. Some examples::
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
PREFERRED_PROVIDER_virtual/xserver = "xserver-xf86"
@@ -1086,18 +1086,18 @@ overview of their function and contents.
``PREFERRED_PROVIDERS`` is identical to
:term:`PREFERRED_PROVIDER`. However, the ``PREFERRED_PROVIDERS`` variable
lets you define preferences for multiple situations using the following
form: ::
form::
PREFERRED_PROVIDERS = "xxx:yyy aaa:bbb ..."
This form is a convenient replacement for the following: ::
This form is a convenient replacement for the following::
PREFERRED_PROVIDER_xxx = "yyy"
PREFERRED_PROVIDER_aaa = "bbb"
:term:`PREFERRED_VERSION`
If there are multiple versions of recipes available, this variable
determines which recipe should be given preference. You must always
If there are multiple versions of a recipe available, this variable
determines which version should be given preference. You must always
suffix the variable with the :term:`PN` you want to
select, and you should set :term:`PV` accordingly for
precedence.
@@ -1106,7 +1106,7 @@ overview of their function and contents.
through the "``%``" character. You can use the character to match any
number of characters, which can be useful when specifying versions
that contain long revision numbers that potentially change. Here are
two examples: ::
two examples::
PREFERRED_VERSION_python = "2.7.3"
PREFERRED_VERSION_linux-yocto = "4.12%"
@@ -1117,6 +1117,10 @@ overview of their function and contents.
end of the string. You cannot use the wildcard character in any other
location of the string.
If a recipe with the specified version is not available, a warning
message will be shown. See :term:`REQUIRED_VERSION` if you want this
to be an error instead.
:term:`PREMIRRORS`
Specifies additional paths from which BitBake gets source code. When
the build system searches for source code, it first tries the local
@@ -1126,7 +1130,7 @@ overview of their function and contents.
Typically, you would add a specific server for the build system to
attempt before any others by adding something like the following to
your configuration: ::
your configuration::
PREMIRRORS_prepend = "\
git://.*/.* http://www.yoctoproject.org/sources/ \n \
@@ -1148,7 +1152,7 @@ overview of their function and contents.
``DEPENDS``.
Consider the following example ``PROVIDES`` statement from a recipe
file ``libav_0.8.11.bb``: ::
file ``libav_0.8.11.bb``::
PROVIDES += "libpostproc"
@@ -1171,7 +1175,7 @@ overview of their function and contents.
:term:`PRSERV_HOST`
The network based :term:`PR` service host and port.
Following is an example of how the ``PRSERV_HOST`` variable is set: ::
Following is an example of how the ``PRSERV_HOST`` variable is set::
PRSERV_HOST = "localhost:0"
@@ -1192,7 +1196,7 @@ overview of their function and contents.
you should always use the variable in a form with an attached package
name. For example, suppose you are building a development package
that depends on the ``perl`` package. In this case, you would use the
following ``RDEPENDS`` statement: ::
following ``RDEPENDS`` statement::
RDEPENDS_${PN}-dev += "perl"
@@ -1203,11 +1207,11 @@ overview of their function and contents.
BitBake supports specifying versioned dependencies. Although the
syntax varies depending on the packaging format, BitBake hides these
differences from you. Here is the general syntax to specify versions
with the ``RDEPENDS`` variable: ::
with the ``RDEPENDS`` variable::
RDEPENDS_${PN} = "package (operator version)"
For ``operator``, you can specify the following: ::
For ``operator``, you can specify the following::
=
<
@@ -1216,7 +1220,7 @@ overview of their function and contents.
>=
For example, the following sets up a dependency on version 1.2 or
greater of the package ``foo``: ::
greater of the package ``foo``::
RDEPENDS_${PN} = "foo (>= 1.2)"
@@ -1227,6 +1231,16 @@ overview of their function and contents.
The directory in which a local copy of a ``google-repo`` directory is
stored when it is synced.
:term:`REQUIRED_VERSION`
If there are multiple versions of a recipe available, this variable
determines which version should be given preference. ``REQUIRED_VERSION``
works in exactly the same manner as :term:`PREFERRED_VERSION`, except
that if the specified version is not available then an error message
is shown and the build fails immediately.
If both ``REQUIRED_VERSION`` and ``PREFERRED_VERSION`` are set for
the same recipe, the ``REQUIRED_VERSION`` value applies.
:term:`RPROVIDES`
A list of package name aliases that a package also provides. These
aliases are useful for satisfying runtime dependencies of other
@@ -1235,7 +1249,7 @@ overview of their function and contents.
As with all package-controlling variables, you must always use the
variable in conjunction with a package name override. Here is an
example: ::
example::
RPROVIDES_${PN} = "widget-abi-2"
@@ -1249,11 +1263,11 @@ overview of their function and contents.
BitBake supports specifying versioned recommends. Although the syntax
varies depending on the packaging format, BitBake hides these
differences from you. Here is the general syntax to specify versions
with the ``RRECOMMENDS`` variable: ::
with the ``RRECOMMENDS`` variable::
RRECOMMENDS_${PN} = "package (operator version)"
For ``operator``, you can specify the following: ::
For ``operator``, you can specify the following::
=
<
@@ -1262,7 +1276,7 @@ overview of their function and contents.
>=
For example, the following sets up a recommend on version
1.2 or greater of the package ``foo``: ::
1.2 or greater of the package ``foo``::
RRECOMMENDS_${PN} = "foo (>= 1.2)"

View File

@@ -9,7 +9,7 @@
# SPDX-License-Identifier: GPL-2.0-only
#
__version__ = "1.49.2"
__version__ = "1.51.0"
import sys
if sys.version_info < (3, 5, 0):

View File

@@ -0,0 +1,31 @@
#
# SPDX-License-Identifier: GPL-2.0-only
#
import itertools
import json
# The Python async server defaults to a 64K receive buffer, so we hardcode our
# maximum chunk size. It would be better if the client and server reported to
# each other what the maximum chunk sizes were, but that will slow down the
# connection setup with a round trip delay so I'd rather not do that unless it
# is necessary
DEFAULT_MAX_CHUNK = 32 * 1024
def chunkify(msg, max_chunk):
if len(msg) < max_chunk - 1:
yield ''.join((msg, "\n"))
else:
yield ''.join((json.dumps({
'chunk-stream': None
}), "\n"))
args = [iter(msg)] * (max_chunk - 1)
for m in map(''.join, itertools.zip_longest(*args, fillvalue='')):
yield ''.join(itertools.chain(m, "\n"))
yield "\n"
from .client import AsyncClient, Client
from .serv import AsyncServer, AsyncServerConnection

View File

@@ -0,0 +1,145 @@
#
# SPDX-License-Identifier: GPL-2.0-only
#
import abc
import asyncio
import json
import os
import socket
from . import chunkify, DEFAULT_MAX_CHUNK
class AsyncClient(object):
def __init__(self, proto_name, proto_version, logger):
self.reader = None
self.writer = None
self.max_chunk = DEFAULT_MAX_CHUNK
self.proto_name = proto_name
self.proto_version = proto_version
self.logger = logger
async def connect_tcp(self, address, port):
async def connect_sock():
return await asyncio.open_connection(address, port)
self._connect_sock = connect_sock
async def connect_unix(self, path):
async def connect_sock():
return await asyncio.open_unix_connection(path)
self._connect_sock = connect_sock
async def setup_connection(self):
s = '%s %s\n\n' % (self.proto_name, self.proto_version)
self.writer.write(s.encode("utf-8"))
await self.writer.drain()
async def connect(self):
if self.reader is None or self.writer is None:
(self.reader, self.writer) = await self._connect_sock()
await self.setup_connection()
async def close(self):
self.reader = None
if self.writer is not None:
self.writer.close()
self.writer = None
async def _send_wrapper(self, proc):
count = 0
while True:
try:
await self.connect()
return await proc()
except (
OSError,
ConnectionError,
json.JSONDecodeError,
UnicodeDecodeError,
) as e:
self.logger.warning("Error talking to server: %s" % e)
if count >= 3:
if not isinstance(e, ConnectionError):
raise ConnectionError(str(e))
raise e
await self.close()
count += 1
async def send_message(self, msg):
async def get_line():
line = await self.reader.readline()
if not line:
raise ConnectionError("Connection closed")
line = line.decode("utf-8")
if not line.endswith("\n"):
raise ConnectionError("Bad message %r" % msg)
return line
async def proc():
for c in chunkify(json.dumps(msg), self.max_chunk):
self.writer.write(c.encode("utf-8"))
await self.writer.drain()
l = await get_line()
m = json.loads(l)
if m and "chunk-stream" in m:
lines = []
while True:
l = (await get_line()).rstrip("\n")
if not l:
break
lines.append(l)
m = json.loads("".join(lines))
return m
return await self._send_wrapper(proc)
class Client(object):
def __init__(self):
self.client = self._get_async_client()
self.loop = asyncio.new_event_loop()
self._add_methods('connect_tcp', 'close')
@abc.abstractmethod
def _get_async_client(self):
pass
def _get_downcall_wrapper(self, downcall):
def wrapper(*args, **kwargs):
return self.loop.run_until_complete(downcall(*args, **kwargs))
return wrapper
def _add_methods(self, *methods):
for m in methods:
downcall = getattr(self.client, m)
setattr(self, m, self._get_downcall_wrapper(downcall))
def connect_unix(self, path):
# AF_UNIX has path length issues so chdir here to workaround
cwd = os.getcwd()
try:
os.chdir(os.path.dirname(path))
self.loop.run_until_complete(self.client.connect_unix(os.path.basename(path)))
self.loop.run_until_complete(self.client.connect())
finally:
os.chdir(cwd)
@property
def max_chunk(self):
return self.client.max_chunk
@max_chunk.setter
def max_chunk(self, value):
self.client.max_chunk = value

View File

@@ -0,0 +1,218 @@
#
# SPDX-License-Identifier: GPL-2.0-only
#
import abc
import asyncio
import json
import os
import signal
import socket
import sys
from . import chunkify, DEFAULT_MAX_CHUNK
class ClientError(Exception):
pass
class ServerError(Exception):
pass
class AsyncServerConnection(object):
def __init__(self, reader, writer, proto_name, logger):
self.reader = reader
self.writer = writer
self.proto_name = proto_name
self.max_chunk = DEFAULT_MAX_CHUNK
self.handlers = {
'chunk-stream': self.handle_chunk,
}
self.logger = logger
async def process_requests(self):
try:
self.addr = self.writer.get_extra_info('peername')
self.logger.debug('Client %r connected' % (self.addr,))
# Read protocol and version
client_protocol = await self.reader.readline()
if client_protocol is None:
return
(client_proto_name, client_proto_version) = client_protocol.decode('utf-8').rstrip().split()
if client_proto_name != self.proto_name:
self.logger.debug('Rejecting invalid protocol %s' % (self.proto_name))
return
self.proto_version = tuple(int(v) for v in client_proto_version.split('.'))
if not self.validate_proto_version():
self.logger.debug('Rejecting invalid protocol version %s' % (client_proto_version))
return
# Read headers. Currently, no headers are implemented, so look for
# an empty line to signal the end of the headers
while True:
line = await self.reader.readline()
if line is None:
return
line = line.decode('utf-8').rstrip()
if not line:
break
# Handle messages
while True:
d = await self.read_message()
if d is None:
break
await self.dispatch_message(d)
await self.writer.drain()
except ClientError as e:
self.logger.error(str(e))
finally:
self.writer.close()
async def dispatch_message(self, msg):
for k in self.handlers.keys():
if k in msg:
self.logger.debug('Handling %s' % k)
await self.handlers[k](msg[k])
return
raise ClientError("Unrecognized command %r" % msg)
def write_message(self, msg):
for c in chunkify(json.dumps(msg), self.max_chunk):
self.writer.write(c.encode('utf-8'))
async def read_message(self):
l = await self.reader.readline()
if not l:
return None
try:
message = l.decode('utf-8')
if not message.endswith('\n'):
return None
return json.loads(message)
except (json.JSONDecodeError, UnicodeDecodeError) as e:
self.logger.error('Bad message from client: %r' % message)
raise e
async def handle_chunk(self, request):
lines = []
try:
while True:
l = await self.reader.readline()
l = l.rstrip(b"\n").decode("utf-8")
if not l:
break
lines.append(l)
msg = json.loads(''.join(lines))
except (json.JSONDecodeError, UnicodeDecodeError) as e:
self.logger.error('Bad message from client: %r' % lines)
raise e
if 'chunk-stream' in msg:
raise ClientError("Nested chunks are not allowed")
await self.dispatch_message(msg)
class AsyncServer(object):
def __init__(self, logger, loop=None):
if loop is None:
self.loop = asyncio.new_event_loop()
self.close_loop = True
else:
self.loop = loop
self.close_loop = False
self._cleanup_socket = None
self.logger = logger
def start_tcp_server(self, host, port):
self.server = self.loop.run_until_complete(
asyncio.start_server(self.handle_client, host, port, loop=self.loop)
)
for s in self.server.sockets:
self.logger.info('Listening on %r' % (s.getsockname(),))
# Newer python does this automatically. Do it manually here for
# maximum compatibility
s.setsockopt(socket.SOL_TCP, socket.TCP_NODELAY, 1)
s.setsockopt(socket.SOL_TCP, socket.TCP_QUICKACK, 1)
name = self.server.sockets[0].getsockname()
if self.server.sockets[0].family == socket.AF_INET6:
self.address = "[%s]:%d" % (name[0], name[1])
else:
self.address = "%s:%d" % (name[0], name[1])
def start_unix_server(self, path):
def cleanup():
os.unlink(path)
cwd = os.getcwd()
try:
# Work around path length limits in AF_UNIX
os.chdir(os.path.dirname(path))
self.server = self.loop.run_until_complete(
asyncio.start_unix_server(self.handle_client, os.path.basename(path), loop=self.loop)
)
finally:
os.chdir(cwd)
self.logger.info('Listening on %r' % path)
self._cleanup_socket = cleanup
self.address = "unix://%s" % os.path.abspath(path)
@abc.abstractmethod
def accept_client(self, reader, writer):
pass
async def handle_client(self, reader, writer):
# writer.transport.set_write_buffer_limits(0)
try:
client = self.accept_client(reader, writer)
await client.process_requests()
except Exception as e:
import traceback
self.logger.error('Error from client: %s' % str(e), exc_info=True)
traceback.print_exc()
writer.close()
self.logger.info('Client disconnected')
def run_loop_forever(self):
try:
self.loop.run_forever()
except KeyboardInterrupt:
pass
def signal_handler(self):
self.loop.stop()
def serve_forever(self):
asyncio.set_event_loop(self.loop)
try:
self.loop.add_signal_handler(signal.SIGTERM, self.signal_handler)
self.run_loop_forever()
self.server.close()
self.loop.run_until_complete(self.server.wait_closed())
self.logger.info('Server shutting down')
finally:
if self.close_loop:
if sys.version_info >= (3, 6):
self.loop.run_until_complete(self.loop.shutdown_asyncgens())
self.loop.close()
if self._cleanup_socket is not None:
self._cleanup_socket()

View File

@@ -20,6 +20,7 @@ Commands are queued in a CommandQueue
from collections import OrderedDict, defaultdict
import io
import bb.event
import bb.cooker
import bb.remotedata
@@ -500,6 +501,17 @@ class CommandsSync:
d = command.remotedatastores[dsindex].varhistory
return getattr(d, method)(*args, **kwargs)
def dataStoreConnectorVarHistCmdEmit(self, command, params):
dsindex = params[0]
var = params[1]
oval = params[2]
val = params[3]
d = command.remotedatastores[params[4]]
o = io.StringIO()
command.remotedatastores[dsindex].varhistory.emit(var, oval, val, o, d)
return o.getvalue()
def dataStoreConnectorIncHistCmd(self, command, params):
dsindex = params[0]
method = params[1]

View File

@@ -168,7 +168,11 @@ class Git(FetchMethod):
if len(branches) != len(ud.names):
raise bb.fetch2.ParameterError("The number of name and branch parameters is not balanced", ud.url)
ud.cloneflags = "-s -n"
ud.noshared = d.getVar("BB_GIT_NOSHARED") == "1"
ud.cloneflags = "-n"
if not ud.noshared:
ud.cloneflags += " -s"
if ud.bareclone:
ud.cloneflags += " --mirror"
@@ -394,7 +398,7 @@ class Git(FetchMethod):
tmpdir = tempfile.mkdtemp(dir=d.getVar('DL_DIR'))
try:
# Do the checkout. This implicitly involves a Git LFS fetch.
self.unpack(ud, tmpdir, d)
Git.unpack(self, ud, tmpdir, d)
# Scoop up a copy of any stuff that Git LFS downloaded. Merge them into
# the bare clonedir.

View File

@@ -18,10 +18,47 @@ The aws tool must be correctly installed and configured prior to use.
import os
import bb
import urllib.request, urllib.parse, urllib.error
import re
from bb.fetch2 import FetchMethod
from bb.fetch2 import FetchError
from bb.fetch2 import runfetchcmd
def convertToBytes(value, unit):
value = float(value)
if (unit == "KiB"):
value = value*1024.0;
elif (unit == "MiB"):
value = value*1024.0*1024.0;
elif (unit == "GiB"):
value = value*1024.0*1024.0*1024.0;
return value
class S3ProgressHandler(bb.progress.LineFilterProgressHandler):
"""
Extract progress information from s3 cp output, e.g.:
Completed 5.1 KiB/8.8 GiB (12.0 MiB/s) with 1 file(s) remaining
"""
def __init__(self, d):
super(S3ProgressHandler, self).__init__(d)
# Send an initial progress event so the bar gets shown
self._fire_progress(0)
def writeline(self, line):
percs = re.findall(r'^Completed (\d+.{0,1}\d*) (\w+)\/(\d+.{0,1}\d*) (\w+) (\(.+\)) with\s+', line)
if percs:
completed = (percs[-1][0])
completedUnit = (percs[-1][1])
total = (percs[-1][2])
totalUnit = (percs[-1][3])
completed = convertToBytes(completed, completedUnit)
total = convertToBytes(total, totalUnit)
progress = (completed/total)*100.0
rate = percs[-1][4]
self.update(progress, rate)
return False
return True
class S3(FetchMethod):
"""Class to fetch urls via 'aws s3'"""
@@ -52,7 +89,9 @@ class S3(FetchMethod):
cmd = '%s cp s3://%s%s %s' % (ud.basecmd, ud.host, ud.path, ud.localpath)
bb.fetch2.check_network_access(d, cmd, ud.url)
runfetchcmd(cmd, d)
progresshandler = S3ProgressHandler(d)
runfetchcmd(cmd, d, False, log=progresshandler)
# Additional sanity checks copied from the wget class (although there
# are no known issues which mean these are required, treat the aws cli

View File

@@ -86,7 +86,7 @@ class Svn(FetchMethod):
if command == "info":
svncmd = "%s info %s %s://%s/%s/" % (ud.basecmd, " ".join(options), proto, svnroot, ud.module)
elif command == "log1":
svncmd = "%s log --limit 1 %s %s://%s/%s/" % (ud.basecmd, " ".join(options), proto, svnroot, ud.module)
svncmd = "%s log --limit 1 --quiet %s %s://%s/%s/" % (ud.basecmd, " ".join(options), proto, svnroot, ud.module)
else:
suffix = ""

View File

@@ -472,7 +472,7 @@ class Wget(FetchMethod):
version_dir = ['', '', '']
version = ['', '', '']
dirver_regex = re.compile(r"(?P<pfx>\D*)(?P<ver>(\d+[\.\-_])+(\d+))")
dirver_regex = re.compile(r"(?P<pfx>\D*)(?P<ver>(\d+[\.\-_])*(\d+))")
s = dirver_regex.search(dirver)
if s:
version_dir[1] = s.group('ver')

View File

@@ -94,12 +94,15 @@ class LineFilterProgressHandler(ProgressHandler):
while True:
breakpos = self._linebuffer.find('\n') + 1
if breakpos == 0:
break
# for the case when the line with progress ends with only '\r'
breakpos = self._linebuffer.find('\r') + 1
if breakpos == 0:
break
line = self._linebuffer[:breakpos]
self._linebuffer = self._linebuffer[breakpos:]
# Drop any line feeds and anything that precedes them
lbreakpos = line.rfind('\r') + 1
if lbreakpos:
if lbreakpos and lbreakpos != breakpos:
line = line[lbreakpos:]
if self.writeline(filter_color(line)):
super().write(line)

View File

@@ -2030,8 +2030,6 @@ class RunQueueExecute:
logger.debug("%s didn't become valid, skipping setscene" % nexttask)
self.sq_task_failoutright(nexttask)
return True
else:
self.sqdata.outrightfail.remove(nexttask)
if nexttask in self.sqdata.outrightfail:
logger.debug2('No package found, so skipping setscene task %s', nexttask)
self.sq_task_failoutright(nexttask)
@@ -2296,10 +2294,16 @@ class RunQueueExecute:
self.updated_taskhash_queue.remove((tid, unihash))
if unihash != self.rqdata.runtaskentries[tid].unihash:
hashequiv_logger.verbose("Task %s unihash changed to %s" % (tid, unihash))
self.rqdata.runtaskentries[tid].unihash = unihash
bb.parse.siggen.set_unihash(tid, unihash)
toprocess.add(tid)
# Make sure we rehash any other tasks with the same task hash that we're deferred against.
torehash = [tid]
for deftid in self.sq_deferred:
if self.sq_deferred[deftid] == tid:
torehash.append(deftid)
for hashtid in torehash:
hashequiv_logger.verbose("Task %s unihash changed to %s" % (hashtid, unihash))
self.rqdata.runtaskentries[hashtid].unihash = unihash
bb.parse.siggen.set_unihash(hashtid, unihash)
toprocess.add(hashtid)
# Work out all tasks which depend upon these
total = set()
@@ -2827,6 +2831,8 @@ def update_scenequeue_data(tids, sqdata, rqdata, rq, cooker, stampcache, sqrq, s
sqdata.stamppresent.remove(tid)
if tid in sqdata.valid:
sqdata.valid.remove(tid)
if tid in sqdata.outrightfail:
sqdata.outrightfail.remove(tid)
noexec, stamppresent = check_setscene_stamps(tid, rqdata, rq, stampcache, noexecstamp=True)
@@ -2845,6 +2851,7 @@ def update_scenequeue_data(tids, sqdata, rqdata, rq, cooker, stampcache, sqrq, s
sqdata.valid |= rq.validate_hashes(tocheck, cooker.data, len(sqdata.stamppresent), False, summary=summary)
sqdata.hashes = {}
sqrq.sq_deferred = {}
for mc in sorted(sqdata.multiconfigs):
for tid in sorted(sqdata.sq_revdeps):
if mc_from_tid(tid) != mc:
@@ -2857,10 +2864,13 @@ def update_scenequeue_data(tids, sqdata, rqdata, rq, cooker, stampcache, sqrq, s
continue
if tid in sqrq.scenequeue_notcovered:
continue
sqdata.outrightfail.add(tid)
if tid in sqrq.scenequeue_covered:
continue
h = pending_hash_index(tid, rqdata)
if h not in sqdata.hashes:
if tid in tids:
sqdata.outrightfail.add(tid)
sqdata.hashes[h] = tid
else:
sqrq.sq_deferred[tid] = sqdata.hashes[h]

View File

@@ -367,7 +367,12 @@ class ProcessServer():
self.next_heartbeat = now + self.heartbeat_seconds
if hasattr(self.cooker, "data"):
heartbeat = bb.event.HeartbeatEvent(now)
bb.event.fire(heartbeat, self.cooker.data)
try:
bb.event.fire(heartbeat, self.cooker.data)
except Exception as exc:
if not isinstance(exc, bb.BBHandledException):
logger.exception('Running heartbeat function')
self.quit = True
if nextsleep and now + nextsleep > self.next_heartbeat:
# Shorten timeout so that we we wake up in time for
# the heartbeat.
@@ -509,7 +514,7 @@ class BitBakeServer(object):
os.set_inheritable(self.bitbake_lock.fileno(), True)
os.set_inheritable(self.readypipein, True)
serverscript = os.path.realpath(os.path.dirname(__file__) + "/../../../bin/bitbake-server")
os.execl(sys.executable, "bitbake-server", serverscript, "decafbad", str(self.bitbake_lock.fileno()), str(self.readypipein), self.logfile, self.bitbake_lock.name, self.sockname, str(self.server_timeout), str(self.xmlrpcinterface[0]), str(self.xmlrpcinterface[1]))
os.execl(sys.executable, "bitbake-server", serverscript, "decafbad", str(self.bitbake_lock.fileno()), str(self.readypipein), self.logfile, self.bitbake_lock.name, self.sockname, str(self.server_timeout or 0), str(self.xmlrpcinterface[0]), str(self.xmlrpcinterface[1]))
def execServer(lockfd, readypipeinfd, lockname, sockname, server_timeout, xmlrpcinterface):

View File

@@ -402,7 +402,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
p = pickle.dump(data, stream, -1)
stream.flush()
os.chmod(tmpfile, 0o664)
os.rename(tmpfile, sigfile)
bb.utils.rename(tmpfile, sigfile)
except (OSError, IOError) as err:
try:
os.unlink(tmpfile)
@@ -542,7 +542,7 @@ class SignatureGeneratorUniHashMixIn(object):
hashequiv_logger.debug((1, 2)[unihash == taskhash], 'Found unihash %s in place of %s for %s from %s' % (unihash, taskhash, tid, self.server))
else:
hashequiv_logger.debug2('No reported unihash for %s:%s from %s' % (tid, taskhash, self.server))
except hashserv.client.HashConnectionError as e:
except ConnectionError as e:
bb.warn('Error contacting Hash Equivalence Server %s: %s' % (self.server, str(e)))
self.set_unihash(tid, unihash)
@@ -621,7 +621,7 @@ class SignatureGeneratorUniHashMixIn(object):
d.setVar('BB_UNIHASH', new_unihash)
else:
hashequiv_logger.debug('Reported task %s as unihash %s to %s' % (taskhash, unihash, self.server))
except hashserv.client.HashConnectionError as e:
except ConnectionError as e:
bb.warn('Error contacting Hash Equivalence Server %s: %s' % (self.server, str(e)))
finally:
if sigfile:
@@ -661,7 +661,7 @@ class SignatureGeneratorUniHashMixIn(object):
# TODO: What to do here?
hashequiv_logger.verbose('Task %s unihash reported as unwanted hash %s' % (tid, finalunihash))
except hashserv.client.HashConnectionError as e:
except ConnectionError as e:
bb.warn('Error contacting Hash Equivalence Server %s: %s' % (self.server, str(e)))
return False

View File

@@ -390,6 +390,7 @@ class FetcherTest(unittest.TestCase):
if os.environ.get("BB_TMPDIR_NOCLEAN") == "yes":
print("Not cleaning up %s. Please remove manually." % self.tempdir)
else:
bb.process.run('chmod u+rw -R %s' % self.tempdir)
bb.utils.prunedir(self.tempdir)
class MirrorUriTest(FetcherTest):
@@ -673,12 +674,14 @@ class FetcherLocalTest(FetcherTest):
with self.assertRaises(bb.fetch2.UnpackError):
self.fetchUnpack(['file://a;subdir=/bin/sh'])
def test_local_gitfetch_usehead(self):
def dummyGitTest(self, suffix):
# Create dummy local Git repo
src_dir = tempfile.mkdtemp(dir=self.tempdir,
prefix='gitfetch_localusehead_')
src_dir = os.path.abspath(src_dir)
bb.process.run("git init", cwd=src_dir)
bb.process.run("git config user.email 'you@example.com'", cwd=src_dir)
bb.process.run("git config user.name 'Your Name'", cwd=src_dir)
bb.process.run("git commit --allow-empty -m'Dummy commit'",
cwd=src_dir)
# Use other branch than master
@@ -690,7 +693,7 @@ class FetcherLocalTest(FetcherTest):
# Fetch and check revision
self.d.setVar("SRCREV", "AUTOINC")
url = "git://" + src_dir + ";protocol=file;usehead=1"
url = "git://" + src_dir + ";protocol=file;" + suffix
fetcher = bb.fetch.Fetch([url], self.d)
fetcher.download()
fetcher.unpack(self.unpackdir)
@@ -699,31 +702,23 @@ class FetcherLocalTest(FetcherTest):
unpack_rev = stdout[0].strip()
self.assertEqual(orig_rev, unpack_rev)
def test_local_gitfetch_usehead(self):
self.dummyGitTest("usehead=1")
def test_local_gitfetch_usehead_withname(self):
# Create dummy local Git repo
src_dir = tempfile.mkdtemp(dir=self.tempdir,
prefix='gitfetch_localusehead_')
src_dir = os.path.abspath(src_dir)
bb.process.run("git init", cwd=src_dir)
bb.process.run("git commit --allow-empty -m'Dummy commit'",
cwd=src_dir)
# Use other branch than master
bb.process.run("git checkout -b my-devel", cwd=src_dir)
bb.process.run("git commit --allow-empty -m'Dummy commit 2'",
cwd=src_dir)
stdout = bb.process.run("git rev-parse HEAD", cwd=src_dir)
orig_rev = stdout[0].strip()
self.dummyGitTest("usehead=1;name=newName")
# Fetch and check revision
self.d.setVar("SRCREV", "AUTOINC")
url = "git://" + src_dir + ";protocol=file;usehead=1;name=newName"
fetcher = bb.fetch.Fetch([url], self.d)
fetcher.download()
fetcher.unpack(self.unpackdir)
stdout = bb.process.run("git rev-parse HEAD",
cwd=os.path.join(self.unpackdir, 'git'))
unpack_rev = stdout[0].strip()
self.assertEqual(orig_rev, unpack_rev)
def test_local_gitfetch_shared(self):
self.dummyGitTest("usehead=1;name=sharedName")
alt = os.path.join(self.unpackdir, 'git/.git/objects/info/alternates')
self.assertTrue(os.path.exists(alt))
def test_local_gitfetch_noshared(self):
self.d.setVar('BB_GIT_NOSHARED', '1')
self.unpackdir += '_noshared'
self.dummyGitTest("usehead=1;name=noSharedName")
alt = os.path.join(self.unpackdir, 'git/.git/objects/info/alternates')
self.assertFalse(os.path.exists(alt))
class FetcherNoNetworkTest(FetcherTest):
def setUp(self):
@@ -1390,6 +1385,8 @@ class GitMakeShallowTest(FetcherTest):
self.gitdir = os.path.join(self.tempdir, 'gitshallow')
bb.utils.mkdirhier(self.gitdir)
bb.process.run('git init', cwd=self.gitdir)
bb.process.run('git config user.email "you@example.com"', cwd=self.gitdir)
bb.process.run('git config user.name "Your Name"', cwd=self.gitdir)
def assertRefs(self, expected_refs):
actual_refs = self.git(['for-each-ref', '--format=%(refname)']).splitlines()
@@ -1513,6 +1510,8 @@ class GitShallowTest(FetcherTest):
bb.utils.mkdirhier(self.srcdir)
self.git('init', cwd=self.srcdir)
self.git('config user.email "you@example.com"', cwd=self.srcdir)
self.git('config user.name "Your Name"', cwd=self.srcdir)
self.d.setVar('WORKDIR', self.tempdir)
self.d.setVar('S', self.gitdir)
self.d.delVar('PREMIRRORS')
@@ -1594,6 +1593,7 @@ class GitShallowTest(FetcherTest):
# fetch and unpack, from the shallow tarball
bb.utils.remove(self.gitdir, recurse=True)
bb.process.run('chmod u+w -R "%s"' % ud.clonedir)
bb.utils.remove(ud.clonedir, recurse=True)
bb.utils.remove(ud.clonedir.replace('gitsource', 'gitsubmodule'), recurse=True)
@@ -1746,6 +1746,8 @@ class GitShallowTest(FetcherTest):
smdir = os.path.join(self.tempdir, 'gitsubmodule')
bb.utils.mkdirhier(smdir)
self.git('init', cwd=smdir)
self.git('config user.email "you@example.com"', cwd=smdir)
self.git('config user.name "Your Name"', cwd=smdir)
# Make this look like it was cloned from a remote...
self.git('config --add remote.origin.url "%s"' % smdir, cwd=smdir)
self.git('config --add remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"', cwd=smdir)
@@ -1776,6 +1778,8 @@ class GitShallowTest(FetcherTest):
smdir = os.path.join(self.tempdir, 'gitsubmodule')
bb.utils.mkdirhier(smdir)
self.git('init', cwd=smdir)
self.git('config user.email "you@example.com"', cwd=smdir)
self.git('config user.name "Your Name"', cwd=smdir)
# Make this look like it was cloned from a remote...
self.git('config --add remote.origin.url "%s"' % smdir, cwd=smdir)
self.git('config --add remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"', cwd=smdir)
@@ -1794,7 +1798,7 @@ class GitShallowTest(FetcherTest):
# Set up the mirror
mirrordir = os.path.join(self.tempdir, 'mirror')
os.rename(self.dldir, mirrordir)
bb.utils.rename(self.dldir, mirrordir)
self.d.setVar('PREMIRRORS', 'gitsm://.*/.* file://%s/\n' % mirrordir)
# Fetch from the mirror
@@ -1818,8 +1822,8 @@ class GitShallowTest(FetcherTest):
self.git('annex init', cwd=self.srcdir)
open(os.path.join(self.srcdir, 'c'), 'w').close()
self.git('annex add c', cwd=self.srcdir)
self.git('commit -m annex-c -a', cwd=self.srcdir)
bb.process.run('chmod u+w -R %s' % os.path.join(self.srcdir, '.git', 'annex'))
self.git('commit --author "Foo Bar <foo@bar>" -m annex-c -a', cwd=self.srcdir)
bb.process.run('chmod u+w -R %s' % self.srcdir)
uri = 'gitannex://%s;protocol=file;subdir=${S}' % self.srcdir
fetcher, ud = self.fetch_shallow(uri)
@@ -1912,7 +1916,7 @@ class GitShallowTest(FetcherTest):
bb.utils.mkdirhier(mirrordir)
self.d.setVar('PREMIRRORS', 'git://.*/.* file://%s/\n' % mirrordir)
os.rename(os.path.join(self.dldir, mirrortarball),
bb.utils.rename(os.path.join(self.dldir, mirrortarball),
os.path.join(mirrordir, mirrortarball))
# Fetch from the mirror
@@ -2094,6 +2098,8 @@ class GitLfsTest(FetcherTest):
bb.utils.mkdirhier(self.srcdir)
self.git('init', cwd=self.srcdir)
self.git('config user.email "you@example.com"', cwd=self.srcdir)
self.git('config user.name "Your Name"', cwd=self.srcdir)
with open(os.path.join(self.srcdir, '.gitattributes'), 'wt') as attrs:
attrs.write('*.mp3 filter=lfs -text')
self.git(['add', '.gitattributes'], cwd=self.srcdir)
@@ -2634,3 +2640,29 @@ class NPMTest(FetcherTest):
fetcher = bb.fetch.Fetch(['npmsw://' + swfile], self.d)
fetcher.download()
self.assertTrue(os.path.exists(ud.localpath))
class GitSharedTest(FetcherTest):
def setUp(self):
super(GitSharedTest, self).setUp()
self.recipe_url = "git://git.openembedded.org/bitbake"
self.d.setVar('SRCREV', '82ea737a0b42a8b53e11c9cde141e9e9c0bd8c40')
@skipIfNoNetwork()
def test_shared_unpack(self):
fetcher = bb.fetch.Fetch([self.recipe_url], self.d)
fetcher.download()
fetcher.unpack(self.unpackdir)
alt = os.path.join(self.unpackdir, 'git/.git/objects/info/alternates')
self.assertTrue(os.path.exists(alt))
@skipIfNoNetwork()
def test_noshared_unpack(self):
self.d.setVar('BB_GIT_NOSHARED', '1')
self.unpackdir += '_noshared'
fetcher = bb.fetch.Fetch([self.recipe_url], self.d)
fetcher.download()
fetcher.unpack(self.unpackdir)
alt = os.path.join(self.unpackdir, 'git/.git/objects/info/alternates')
self.assertFalse(os.path.exists(alt))

View File

@@ -52,6 +52,10 @@ class TinfoilDataStoreConnectorVarHistory:
def remoteCommand(self, cmd, *args, **kwargs):
return self.tinfoil.run_command('dataStoreConnectorVarHistCmd', self.dsindex, cmd, args, kwargs)
def emit(self, var, oval, val, o, d):
ret = self.tinfoil.run_command('dataStoreConnectorVarHistCmdEmit', self.dsindex, var, oval, val, d.dsindex)
o.write(ret)
def __getattr__(self, name):
if not hasattr(bb.data_smart.VariableHistory, name):
raise AttributeError("VariableHistory has no such method %s" % name)

View File

@@ -21,6 +21,7 @@ import fcntl
import struct
import copy
import atexit
from itertools import groupby
from bb.ui import uihelper
@@ -539,6 +540,13 @@ def main(server, eventHandler, params, tf = TerminalFilter):
except OSError:
pass
# Add the logging domains specified by the user on the command line
for (domainarg, iterator) in groupby(params.debug_domains):
dlevel = len(tuple(iterator))
l = logconfig["loggers"].setdefault("BitBake.%s" % domainarg, {})
l["level"] = logging.DEBUG - dlevel + 1
l.setdefault("handlers", []).extend(["BitBake.verbconsole"])
conf = bb.msg.setLoggingConfig(logconfig, logconfigfile)
if sys.stdin.isatty() and sys.stdout.isatty():

View File

@@ -782,7 +782,7 @@ def movefile(src, dest, newmtime = None, sstat = None):
if sstat[stat.ST_DEV] == dstat[stat.ST_DEV]:
try:
os.rename(src, destpath)
bb.utils.rename(src, destpath)
renamefailed = 0
except Exception as e:
if e.errno != errno.EXDEV:
@@ -796,7 +796,7 @@ def movefile(src, dest, newmtime = None, sstat = None):
if stat.S_ISREG(sstat[stat.ST_MODE]):
try: # For safety copy then move it over.
shutil.copyfile(src, destpath + "#new")
os.rename(destpath + "#new", destpath)
bb.utils.rename(destpath + "#new", destpath)
didcopy = 1
except Exception as e:
print('movefile: copy', src, '->', dest, 'failed.', e)
@@ -874,7 +874,7 @@ def copyfile(src, dest, newmtime = None, sstat = None):
# For safety copy then move it over.
shutil.copyfile(src, dest + "#new")
os.rename(dest + "#new", dest)
bb.utils.rename(dest + "#new", dest)
except Exception as e:
logger.warning("copyfile: copy %s to %s failed (%s)" % (src, dest, e))
return False
@@ -1669,3 +1669,15 @@ def is_semver(version):
return False
return True
# Wrapper around os.rename which can handle cross device problems
# e.g. from container filesystems
def rename(src, dst):
try:
os.rename(src, dst)
except OSError as err:
if err.errno == 18:
# Invalid cross-device link error
shutil.move(src, dst)
else:
raise err

View File

@@ -159,12 +159,17 @@ class LayerIndexPlugin(ActionPlugin):
logger.plain(' recommended by: %s' % ' '.join(recommendedby))
if dependencies:
fetchdir = self.tinfoil.config_data.getVar('BBLAYERS_FETCH_DIR')
if not fetchdir:
logger.error("Cannot get BBLAYERS_FETCH_DIR")
return 1
if args.fetchdir:
fetchdir = args.fetchdir
else:
fetchdir = self.tinfoil.config_data.getVar('BBLAYERS_FETCH_DIR')
if not fetchdir:
logger.error("Cannot get BBLAYERS_FETCH_DIR")
return 1
if not os.path.exists(fetchdir):
os.makedirs(fetchdir)
addlayers = []
for deplayerbranch in dependencies:
@@ -206,6 +211,8 @@ class LayerIndexPlugin(ActionPlugin):
"""
args.show_only = True
args.ignore = []
args.fetchdir = ""
args.shallow = True
self.do_layerindex_fetch(args)
def register_commands(self, sp):
@@ -214,6 +221,7 @@ class LayerIndexPlugin(ActionPlugin):
parser_layerindex_fetch.add_argument('-b', '--branch', help='branch name to fetch')
parser_layerindex_fetch.add_argument('-s', '--shallow', help='do only shallow clones (--depth=1)', action='store_true')
parser_layerindex_fetch.add_argument('-i', '--ignore', help='assume the specified layers do not need to be fetched/added (separate multiple layers with commas, no spaces)', metavar='LAYER')
parser_layerindex_fetch.add_argument('-f', '--fetchdir', help='directory to fetch the layer(s) into (will be created if it does not exist)')
parser_layerindex_fetch.add_argument('layername', nargs='+', help='layer to fetch')
parser_layerindex_show_depends = self.add_command(sp, 'layerindex-show-depends', self.do_layerindex_show_depends, parserecipes=False)

View File

@@ -3,115 +3,28 @@
# SPDX-License-Identifier: GPL-2.0-only
#
import asyncio
import json
import logging
import socket
import os
from . import chunkify, DEFAULT_MAX_CHUNK, create_async_client
import bb.asyncrpc
from . import create_async_client
logger = logging.getLogger("hashserv.client")
class HashConnectionError(Exception):
pass
class AsyncClient(object):
class AsyncClient(bb.asyncrpc.AsyncClient):
MODE_NORMAL = 0
MODE_GET_STREAM = 1
def __init__(self):
self.reader = None
self.writer = None
super().__init__('OEHASHEQUIV', '1.1', logger)
self.mode = self.MODE_NORMAL
self.max_chunk = DEFAULT_MAX_CHUNK
async def connect_tcp(self, address, port):
async def connect_sock():
return await asyncio.open_connection(address, port)
self._connect_sock = connect_sock
async def connect_unix(self, path):
async def connect_sock():
return await asyncio.open_unix_connection(path)
self._connect_sock = connect_sock
async def connect(self):
if self.reader is None or self.writer is None:
(self.reader, self.writer) = await self._connect_sock()
self.writer.write("OEHASHEQUIV 1.1\n\n".encode("utf-8"))
await self.writer.drain()
cur_mode = self.mode
self.mode = self.MODE_NORMAL
await self._set_mode(cur_mode)
async def close(self):
self.reader = None
if self.writer is not None:
self.writer.close()
self.writer = None
async def _send_wrapper(self, proc):
count = 0
while True:
try:
await self.connect()
return await proc()
except (
OSError,
HashConnectionError,
json.JSONDecodeError,
UnicodeDecodeError,
) as e:
logger.warning("Error talking to server: %s" % e)
if count >= 3:
if not isinstance(e, HashConnectionError):
raise HashConnectionError(str(e))
raise e
await self.close()
count += 1
async def send_message(self, msg):
async def get_line():
line = await self.reader.readline()
if not line:
raise HashConnectionError("Connection closed")
line = line.decode("utf-8")
if not line.endswith("\n"):
raise HashConnectionError("Bad message %r" % message)
return line
async def proc():
for c in chunkify(json.dumps(msg), self.max_chunk):
self.writer.write(c.encode("utf-8"))
await self.writer.drain()
l = await get_line()
m = json.loads(l)
if m and "chunk-stream" in m:
lines = []
while True:
l = (await get_line()).rstrip("\n")
if not l:
break
lines.append(l)
m = json.loads("".join(lines))
return m
return await self._send_wrapper(proc)
async def setup_connection(self):
await super().setup_connection()
cur_mode = self.mode
self.mode = self.MODE_NORMAL
await self._set_mode(cur_mode)
async def send_stream(self, msg):
async def proc():
@@ -119,7 +32,7 @@ class AsyncClient(object):
await self.writer.drain()
l = await self.reader.readline()
if not l:
raise HashConnectionError("Connection closed")
raise ConnectionError("Connection closed")
return l.decode("utf-8").rstrip()
return await self._send_wrapper(proc)
@@ -128,11 +41,11 @@ class AsyncClient(object):
if new_mode == self.MODE_NORMAL and self.mode == self.MODE_GET_STREAM:
r = await self.send_stream("END")
if r != "ok":
raise HashConnectionError("Bad response from server %r" % r)
raise ConnectionError("Bad response from server %r" % r)
elif new_mode == self.MODE_GET_STREAM and self.mode == self.MODE_NORMAL:
r = await self.send_message({"get-stream": None})
if r != "ok":
raise HashConnectionError("Bad response from server %r" % r)
raise ConnectionError("Bad response from server %r" % r)
elif new_mode != self.mode:
raise Exception(
"Undefined mode transition %r -> %r" % (self.mode, new_mode)
@@ -189,12 +102,10 @@ class AsyncClient(object):
return (await self.send_message({"backfill-wait": None}))["tasks"]
class Client(object):
class Client(bb.asyncrpc.Client):
def __init__(self):
self.client = AsyncClient()
self.loop = asyncio.new_event_loop()
for call in (
super().__init__()
self._add_methods(
"connect_tcp",
"close",
"get_unihash",
@@ -204,30 +115,7 @@ class Client(object):
"get_stats",
"reset_stats",
"backfill_wait",
):
downcall = getattr(self.client, call)
setattr(self, call, self._get_downcall_wrapper(downcall))
)
def _get_downcall_wrapper(self, downcall):
def wrapper(*args, **kwargs):
return self.loop.run_until_complete(downcall(*args, **kwargs))
return wrapper
def connect_unix(self, path):
# AF_UNIX has path length issues so chdir here to workaround
cwd = os.getcwd()
try:
os.chdir(os.path.dirname(path))
self.loop.run_until_complete(self.client.connect_unix(os.path.basename(path)))
self.loop.run_until_complete(self.client.connect())
finally:
os.chdir(cwd)
@property
def max_chunk(self):
return self.client.max_chunk
@max_chunk.setter
def max_chunk(self, value):
self.client.max_chunk = value
def _get_async_client(self):
return AsyncClient()

View File

@@ -6,15 +6,12 @@
from contextlib import closing, contextmanager
from datetime import datetime
import asyncio
import json
import logging
import math
import os
import signal
import socket
import sys
import time
from . import chunkify, DEFAULT_MAX_CHUNK, create_async_client, TABLE_COLUMNS
from . import create_async_client, TABLE_COLUMNS
import bb.asyncrpc
logger = logging.getLogger('hashserv.server')
@@ -109,12 +106,6 @@ class Stats(object):
return {k: getattr(self, k) for k in ('num', 'total_time', 'max_time', 'average', 'stdev')}
class ClientError(Exception):
pass
class ServerError(Exception):
pass
def insert_task(cursor, data, ignore=False):
keys = sorted(data.keys())
query = '''INSERT%s INTO tasks_v2 (%s) VALUES (%s)''' % (
@@ -128,7 +119,6 @@ async def copy_from_upstream(client, db, method, taskhash):
if d is not None:
# Filter out unknown columns
d = {k: v for k, v in d.items() if k in TABLE_COLUMNS}
keys = sorted(d.keys())
with closing(db.cursor()) as cursor:
insert_task(cursor, d)
@@ -141,7 +131,6 @@ async def copy_outhash_from_upstream(client, db, method, outhash, taskhash):
if d is not None:
# Filter out unknown columns
d = {k: v for k, v in d.items() if k in TABLE_COLUMNS}
keys = sorted(d.keys())
with closing(db.cursor()) as cursor:
insert_task(cursor, d)
@@ -149,7 +138,7 @@ async def copy_outhash_from_upstream(client, db, method, outhash, taskhash):
return d
class ServerClient(object):
class ServerClient(bb.asyncrpc.AsyncServerConnection):
FAST_QUERY = 'SELECT taskhash, method, unihash FROM tasks_v2 WHERE method=:method AND taskhash=:taskhash ORDER BY created ASC LIMIT 1'
ALL_QUERY = 'SELECT * FROM tasks_v2 WHERE method=:method AND taskhash=:taskhash ORDER BY created ASC LIMIT 1'
OUTHASH_QUERY = '''
@@ -168,21 +157,19 @@ class ServerClient(object):
'''
def __init__(self, reader, writer, db, request_stats, backfill_queue, upstream, read_only):
self.reader = reader
self.writer = writer
super().__init__(reader, writer, 'OEHASHEQUIV', logger)
self.db = db
self.request_stats = request_stats
self.max_chunk = DEFAULT_MAX_CHUNK
self.max_chunk = bb.asyncrpc.DEFAULT_MAX_CHUNK
self.backfill_queue = backfill_queue
self.upstream = upstream
self.handlers = {
self.handlers.update({
'get': self.handle_get,
'get-outhash': self.handle_get_outhash,
'get-stream': self.handle_get_stream,
'get-stats': self.handle_get_stats,
'chunk-stream': self.handle_chunk,
}
})
if not read_only:
self.handlers.update({
@@ -192,56 +179,19 @@ class ServerClient(object):
'backfill-wait': self.handle_backfill_wait,
})
def validate_proto_version(self):
return (self.proto_version > (1, 0) and self.proto_version <= (1, 1))
async def process_requests(self):
if self.upstream is not None:
self.upstream_client = await create_async_client(self.upstream)
else:
self.upstream_client = None
try:
await super().process_requests()
self.addr = self.writer.get_extra_info('peername')
logger.debug('Client %r connected' % (self.addr,))
# Read protocol and version
protocol = await self.reader.readline()
if protocol is None:
return
(proto_name, proto_version) = protocol.decode('utf-8').rstrip().split()
if proto_name != 'OEHASHEQUIV':
return
proto_version = tuple(int(v) for v in proto_version.split('.'))
if proto_version < (1, 0) or proto_version > (1, 1):
return
# Read headers. Currently, no headers are implemented, so look for
# an empty line to signal the end of the headers
while True:
line = await self.reader.readline()
if line is None:
return
line = line.decode('utf-8').rstrip()
if not line:
break
# Handle messages
while True:
d = await self.read_message()
if d is None:
break
await self.dispatch_message(d)
await self.writer.drain()
except ClientError as e:
logger.error(str(e))
finally:
if self.upstream_client is not None:
await self.upstream_client.close()
self.writer.close()
if self.upstream_client is not None:
await self.upstream_client.close()
async def dispatch_message(self, msg):
for k in self.handlers.keys():
@@ -255,47 +205,7 @@ class ServerClient(object):
await self.handlers[k](msg[k])
return
raise ClientError("Unrecognized command %r" % msg)
def write_message(self, msg):
for c in chunkify(json.dumps(msg), self.max_chunk):
self.writer.write(c.encode('utf-8'))
async def read_message(self):
l = await self.reader.readline()
if not l:
return None
try:
message = l.decode('utf-8')
if not message.endswith('\n'):
return None
return json.loads(message)
except (json.JSONDecodeError, UnicodeDecodeError) as e:
logger.error('Bad message from client: %r' % message)
raise e
async def handle_chunk(self, request):
lines = []
try:
while True:
l = await self.reader.readline()
l = l.rstrip(b"\n").decode("utf-8")
if not l:
break
lines.append(l)
msg = json.loads(''.join(lines))
except (json.JSONDecodeError, UnicodeDecodeError) as e:
logger.error('Bad message from client: %r' % message)
raise e
if 'chunk-stream' in msg:
raise ClientError("Nested chunks are not allowed")
await self.dispatch_message(msg)
raise bb.asyncrpc.ClientError("Unrecognized command %r" % msg)
async def handle_get(self, request):
method = request['method']
@@ -499,74 +409,20 @@ class ServerClient(object):
cursor.close()
class Server(object):
class Server(bb.asyncrpc.AsyncServer):
def __init__(self, db, loop=None, upstream=None, read_only=False):
if upstream and read_only:
raise ServerError("Read-only hashserv cannot pull from an upstream server")
raise bb.asyncrpc.ServerError("Read-only hashserv cannot pull from an upstream server")
super().__init__(logger, loop)
self.request_stats = Stats()
self.db = db
if loop is None:
self.loop = asyncio.new_event_loop()
self.close_loop = True
else:
self.loop = loop
self.close_loop = False
self.upstream = upstream
self.read_only = read_only
self._cleanup_socket = None
def start_tcp_server(self, host, port):
self.server = self.loop.run_until_complete(
asyncio.start_server(self.handle_client, host, port, loop=self.loop)
)
for s in self.server.sockets:
logger.info('Listening on %r' % (s.getsockname(),))
# Newer python does this automatically. Do it manually here for
# maximum compatibility
s.setsockopt(socket.SOL_TCP, socket.TCP_NODELAY, 1)
s.setsockopt(socket.SOL_TCP, socket.TCP_QUICKACK, 1)
name = self.server.sockets[0].getsockname()
if self.server.sockets[0].family == socket.AF_INET6:
self.address = "[%s]:%d" % (name[0], name[1])
else:
self.address = "%s:%d" % (name[0], name[1])
def start_unix_server(self, path):
def cleanup():
os.unlink(path)
cwd = os.getcwd()
try:
# Work around path length limits in AF_UNIX
os.chdir(os.path.dirname(path))
self.server = self.loop.run_until_complete(
asyncio.start_unix_server(self.handle_client, os.path.basename(path), loop=self.loop)
)
finally:
os.chdir(cwd)
logger.info('Listening on %r' % path)
self._cleanup_socket = cleanup
self.address = "unix://%s" % os.path.abspath(path)
async def handle_client(self, reader, writer):
# writer.transport.set_write_buffer_limits(0)
try:
client = ServerClient(reader, writer, self.db, self.request_stats, self.backfill_queue, self.upstream, self.read_only)
await client.process_requests()
except Exception as e:
import traceback
logger.error('Error from client: %s' % str(e), exc_info=True)
traceback.print_exc()
writer.close()
logger.info('Client disconnected')
def accept_client(self, reader, writer):
return ServerClient(reader, writer, self.db, self.request_stats, self.backfill_queue, self.upstream, self.read_only)
@contextmanager
def _backfill_worker(self):
@@ -597,31 +453,8 @@ class Server(object):
else:
yield
def serve_forever(self):
def signal_handler():
self.loop.stop()
def run_loop_forever(self):
self.backfill_queue = asyncio.Queue()
asyncio.set_event_loop(self.loop)
try:
self.backfill_queue = asyncio.Queue()
self.loop.add_signal_handler(signal.SIGTERM, signal_handler)
with self._backfill_worker():
try:
self.loop.run_forever()
except KeyboardInterrupt:
pass
self.server.close()
self.loop.run_until_complete(self.server.wait_closed())
logger.info('Server shutting down')
finally:
if self.close_loop:
if sys.version_info >= (3, 6):
self.loop.run_until_complete(self.loop.shutdown_asyncgens())
self.loop.close()
if self._cleanup_socket is not None:
self._cleanup_socket()
with self._backfill_worker():
super().run_loop_forever()

View File

@@ -6,7 +6,6 @@
#
from . import create_server, create_client
from .client import HashConnectionError
import hashlib
import logging
import multiprocessing
@@ -277,7 +276,7 @@ class HashEquivalenceCommonTests(object):
outhash2 = '3c979c3db45c569f51ab7626a4651074be3a9d11a84b1db076f5b14f7d39db44'
unihash2 = '90e9bc1d1f094c51824adca7f8ea79a048d68824'
with self.assertRaises(HashConnectionError):
with self.assertRaises(ConnectionError):
ro_client.report_unihash(taskhash2, self.METHOD, outhash2, unihash2)
# Ensure that the database was not modified

View File

@@ -5,8 +5,6 @@
import os,sys,logging
import signal, time
from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler
import threading
import queue
import socket
import io
import sqlite3
@@ -14,14 +12,10 @@ import bb.server.xmlrpcclient
import prserv
import prserv.db
import errno
import select
import multiprocessing
logger = logging.getLogger("BitBake.PRserv")
if sys.hexversion < 0x020600F0:
print("Sorry, python 2.6 or later is required.")
sys.exit(1)
class Handler(SimpleXMLRPCRequestHandler):
def _dispatch(self,method,params):
try:
@@ -37,7 +31,7 @@ singleton = None
class PRServer(SimpleXMLRPCServer):
def __init__(self, dbfile, logfile, interface, daemon=True):
def __init__(self, dbfile, logfile, interface):
''' constructor '''
try:
SimpleXMLRPCServer.__init__(self, interface,
@@ -50,57 +44,18 @@ class PRServer(SimpleXMLRPCServer):
raise PRServiceConfigError
self.dbfile=dbfile
self.daemon=daemon
self.logfile=logfile
self.working_thread=None
self.host, self.port = self.socket.getsockname()
self.pidfile=PIDPREFIX % (self.host, self.port)
self.register_function(self.getPR, "getPR")
self.register_function(self.quit, "quit")
self.register_function(self.ping, "ping")
self.register_function(self.export, "export")
self.register_function(self.dump_db, "dump_db")
self.register_function(self.importone, "importone")
self.register_introspection_functions()
self.quitpipein, self.quitpipeout = os.pipe()
self.requestqueue = queue.Queue()
self.handlerthread = threading.Thread(target = self.process_request_thread)
self.handlerthread.daemon = False
def process_request_thread(self):
"""Same as in BaseServer but as a thread.
In addition, exception handling is done here.
"""
iter_count = 1
self.iter_count = 0
# 60 iterations between syncs or sync if dirty every ~30 seconds
iterations_between_sync = 60
bb.utils.set_process_name("PRServ Handler")
while not self.quitflag:
try:
(request, client_address) = self.requestqueue.get(True, 30)
except queue.Empty:
self.table.sync_if_dirty()
continue
if request is None:
continue
try:
self.finish_request(request, client_address)
self.shutdown_request(request)
iter_count = (iter_count + 1) % iterations_between_sync
if iter_count == 0:
self.table.sync_if_dirty()
except:
self.handle_error(request, client_address)
self.shutdown_request(request)
self.table.sync()
self.table.sync_if_dirty()
self.iterations_between_sync = 60
def sigint_handler(self, signum, stack):
if self.table:
@@ -109,11 +64,30 @@ class PRServer(SimpleXMLRPCServer):
def sigterm_handler(self, signum, stack):
if self.table:
self.table.sync()
self.quit()
self.requestqueue.put((None, None))
raise(SystemExit)
def process_request(self, request, client_address):
self.requestqueue.put((request, client_address))
if request is None:
return
try:
self.finish_request(request, client_address)
self.shutdown_request(request)
self.iter_count = (self.iter_count + 1) % self.iterations_between_sync
if self.iter_count == 0:
self.table.sync_if_dirty()
except:
self.handle_error(request, client_address)
self.shutdown_request(request)
self.table.sync()
self.table.sync_if_dirty()
def serve_forever(self, poll_interval=0.5):
signal.signal(signal.SIGINT, self.sigint_handler)
signal.signal(signal.SIGTERM, self.sigterm_handler)
self.db = prserv.db.PRData(self.dbfile)
self.table = self.db["PRMAIN"]
return super().serve_forever(poll_interval)
def export(self, version=None, pkgarch=None, checksum=None, colinfo=True):
try:
@@ -122,31 +96,11 @@ class PRServer(SimpleXMLRPCServer):
logger.error(str(exc))
return None
def dump_db(self):
"""
Returns a script (string) that reconstructs the state of the
entire database at the time this function is called. The script
language is defined by the backing database engine, which is a
function of server configuration.
Returns None if the database engine does not support dumping to
script or if some other error is encountered in processing.
"""
buff = io.StringIO()
try:
self.table.sync()
self.table.dump_db(buff)
return buff.getvalue()
except Exception as exc:
logger.error(str(exc))
return None
finally:
buff.close()
def importone(self, version, pkgarch, checksum, value):
return self.table.importone(version, pkgarch, checksum, value)
def ping(self):
return not self.quitflag
return True
def getinfo(self):
return (self.host, self.port)
@@ -161,144 +115,6 @@ class PRServer(SimpleXMLRPCServer):
logger.error(str(exc))
return None
def quit(self):
self.quitflag=True
os.write(self.quitpipeout, b"q")
os.close(self.quitpipeout)
return
def work_forever(self,):
self.quitflag = False
# This timeout applies to the poll in TCPServer, we need the select
# below to wake on our quit pipe closing. We only ever call into handle_request
# if there is data there.
self.timeout = 0.01
bb.utils.set_process_name("PRServ")
# DB connection must be created after all forks
self.db = prserv.db.PRData(self.dbfile)
self.table = self.db["PRMAIN"]
logger.info("Started PRServer with DBfile: %s, IP: %s, PORT: %s, PID: %s" %
(self.dbfile, self.host, self.port, str(os.getpid())))
self.handlerthread.start()
while not self.quitflag:
ready = select.select([self.fileno(), self.quitpipein], [], [], 30)
if self.quitflag:
break
if self.fileno() in ready[0]:
self.handle_request()
self.handlerthread.join()
self.db.disconnect()
logger.info("PRServer: stopping...")
self.server_close()
os.close(self.quitpipein)
return
def start(self):
if self.daemon:
pid = self.daemonize()
else:
pid = self.fork()
self.pid = pid
# Ensure both the parent sees this and the child from the work_forever log entry above
logger.info("Started PRServer with DBfile: %s, IP: %s, PORT: %s, PID: %s" %
(self.dbfile, self.host, self.port, str(pid)))
def delpid(self):
os.remove(self.pidfile)
def daemonize(self):
"""
See Advanced Programming in the UNIX, Sec 13.3
"""
try:
pid = os.fork()
if pid > 0:
os.waitpid(pid, 0)
#parent return instead of exit to give control
return pid
except OSError as e:
raise Exception("%s [%d]" % (e.strerror, e.errno))
os.setsid()
"""
fork again to make sure the daemon is not session leader,
which prevents it from acquiring controlling terminal
"""
try:
pid = os.fork()
if pid > 0: #parent
os._exit(0)
except OSError as e:
raise Exception("%s [%d]" % (e.strerror, e.errno))
self.cleanup_handles()
os._exit(0)
def fork(self):
try:
pid = os.fork()
if pid > 0:
self.socket.close() # avoid ResourceWarning in parent
return pid
except OSError as e:
raise Exception("%s [%d]" % (e.strerror, e.errno))
bb.utils.signal_on_parent_exit("SIGTERM")
self.cleanup_handles()
os._exit(0)
def cleanup_handles(self):
signal.signal(signal.SIGINT, self.sigint_handler)
signal.signal(signal.SIGTERM, self.sigterm_handler)
os.chdir("/")
sys.stdout.flush()
sys.stderr.flush()
# We could be called from a python thread with io.StringIO as
# stdout/stderr or it could be 'real' unix fd forking where we need
# to physically close the fds to prevent the program launching us from
# potentially hanging on a pipe. Handle both cases.
si = open('/dev/null', 'r')
try:
os.dup2(si.fileno(),sys.stdin.fileno())
except (AttributeError, io.UnsupportedOperation):
sys.stdin = si
so = open(self.logfile, 'a+')
try:
os.dup2(so.fileno(),sys.stdout.fileno())
except (AttributeError, io.UnsupportedOperation):
sys.stdout = so
try:
os.dup2(so.fileno(),sys.stderr.fileno())
except (AttributeError, io.UnsupportedOperation):
sys.stderr = so
# Clear out all log handlers prior to the fork() to avoid calling
# event handlers not part of the PRserver
for logger_iter in logging.Logger.manager.loggerDict.keys():
logging.getLogger(logger_iter).handlers = []
# Ensure logging makes it to the logfile
streamhandler = logging.StreamHandler()
streamhandler.setLevel(logging.DEBUG)
formatter = bb.msg.BBLogFormatter("%(levelname)s: %(message)s")
streamhandler.setFormatter(formatter)
logger.addHandler(streamhandler)
# write pidfile
pid = str(os.getpid())
with open(self.pidfile, 'w') as pf:
pf.write("%s\n" % pid)
self.work_forever()
self.delpid()
class PRServSingleton(object):
def __init__(self, dbfile, logfile, interface):
self.dbfile = dbfile
@@ -308,8 +124,10 @@ class PRServSingleton(object):
self.port = None
def start(self):
self.prserv = PRServer(self.dbfile, self.logfile, self.interface, daemon=False)
self.prserv.start()
self.prserv = PRServer(self.dbfile, self.logfile, self.interface)
self.process = multiprocessing.Process(target=self.prserv.serve_forever)
self.process.start()
self.host, self.port = self.prserv.getinfo()
def getinfo(self):
@@ -323,13 +141,6 @@ class PRServerConnection(object):
self.port = port
self.connection, self.transport = bb.server.xmlrpcclient._create_server(self.host, self.port)
def terminate(self):
try:
logger.info("Terminating PRServer...")
self.connection.quit()
except Exception as exc:
sys.stderr.write("%s\n" % str(exc))
def getPR(self, version, pkgarch, checksum):
return self.connection.getPR(version, pkgarch, checksum)
@@ -339,15 +150,82 @@ class PRServerConnection(object):
def export(self,version=None, pkgarch=None, checksum=None, colinfo=True):
return self.connection.export(version, pkgarch, checksum, colinfo)
def dump_db(self):
return self.connection.dump_db()
def importone(self, version, pkgarch, checksum, value):
return self.connection.importone(version, pkgarch, checksum, value)
def getinfo(self):
return self.host, self.port
def run_as_daemon(func, pidfile, logfile):
"""
See Advanced Programming in the UNIX, Sec 13.3
"""
try:
pid = os.fork()
if pid > 0:
os.waitpid(pid, 0)
#parent return instead of exit to give control
return pid
except OSError as e:
raise Exception("%s [%d]" % (e.strerror, e.errno))
os.setsid()
"""
fork again to make sure the daemon is not session leader,
which prevents it from acquiring controlling terminal
"""
try:
pid = os.fork()
if pid > 0: #parent
os._exit(0)
except OSError as e:
raise Exception("%s [%d]" % (e.strerror, e.errno))
os.chdir("/")
sys.stdout.flush()
sys.stderr.flush()
# We could be called from a python thread with io.StringIO as
# stdout/stderr or it could be 'real' unix fd forking where we need
# to physically close the fds to prevent the program launching us from
# potentially hanging on a pipe. Handle both cases.
si = open('/dev/null', 'r')
try:
os.dup2(si.fileno(),sys.stdin.fileno())
except (AttributeError, io.UnsupportedOperation):
sys.stdin = si
so = open(logfile, 'a+')
try:
os.dup2(so.fileno(),sys.stdout.fileno())
except (AttributeError, io.UnsupportedOperation):
sys.stdout = so
try:
os.dup2(so.fileno(),sys.stderr.fileno())
except (AttributeError, io.UnsupportedOperation):
sys.stderr = so
# Clear out all log handlers prior to the fork() to avoid calling
# event handlers not part of the PRserver
for logger_iter in logging.Logger.manager.loggerDict.keys():
logging.getLogger(logger_iter).handlers = []
# Ensure logging makes it to the logfile
streamhandler = logging.StreamHandler()
streamhandler.setLevel(logging.DEBUG)
formatter = bb.msg.BBLogFormatter("%(levelname)s: %(message)s")
streamhandler.setFormatter(formatter)
logger.addHandler(streamhandler)
# write pidfile
pid = str(os.getpid())
with open(pidfile, 'w') as pf:
pf.write("%s\n" % pid)
func()
os.remove(pidfile)
os._exit(0)
def start_daemon(dbfile, host, port, logfile):
ip = socket.gethostbyname(host)
pidfile = PIDPREFIX % (ip, port)
@@ -363,7 +241,7 @@ def start_daemon(dbfile, host, port, logfile):
return 1
server = PRServer(os.path.abspath(dbfile), os.path.abspath(logfile), (ip,port))
server.start()
run_as_daemon(server.serve_forever, pidfile, os.path.abspath(logfile))
# Sometimes, the port (i.e. localhost:0) indicated by the user does not match with
# the one the server actually is listening, so at least warn the user about it
@@ -400,25 +278,13 @@ def stop_daemon(host, port):
return 1
try:
PRServerConnection(ip, port).terminate()
except:
logger.critical("Stop PRService %s:%d failed" % (host,port))
if is_running(pid):
print("Sending SIGTERM to pr-server.")
os.kill(pid, signal.SIGTERM)
time.sleep(0.1)
try:
if pid:
wait_timeout = 0
print("Waiting for pr-server to exit.")
while is_running(pid) and wait_timeout < 50:
time.sleep(0.1)
wait_timeout += 1
if is_running(pid):
print("Sending SIGTERM to pr-server.")
os.kill(pid,signal.SIGTERM)
time.sleep(0.1)
if os.path.exists(pidfile):
os.remove(pidfile)
if os.path.exists(pidfile):
os.remove(pidfile)
except OSError as e:
err = str(e)
@@ -494,19 +360,14 @@ def auto_start(d):
def auto_shutdown():
global singleton
if singleton:
host, port = singleton.getinfo()
try:
PRServerConnection(host, port).terminate()
except:
logger.critical("Stop PRService %s:%d failed" % (host,port))
try:
os.waitpid(singleton.prserv.pid, 0)
except ChildProcessError:
pass
if singleton and singleton.process:
singleton.process.terminate()
singleton.process.join()
singleton = None
def ping(host, port):
conn=PRServerConnection(host, port)
return conn.ping()
def connect(host, port):
return PRServerConnection(host, port)

View File

@@ -167,7 +167,7 @@ The layout of the Yocto Project manuals is organized as follows
Section
Section
The following headings styles are defined in Sphinx:
Here are the heading styles defined in Sphinx:
Book => overline ===
Chapter => overline ***
@@ -259,6 +259,9 @@ websites.
More information can be found here:
https://sublime-and-sphinx-guide.readthedocs.io/en/latest/references.html.
Anchor (<#link>) links are forbidden as they are not checked by Sphinx during
the build and may be broken without knowing about it.
References
==========

19
documentation/bitbake.rst Normal file
View File

@@ -0,0 +1,19 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
=====================
BitBake Documentation
=====================
|
BitBake was originally a part of the OpenEmbedded project. It was inspired by
the Portage package management system used by the Gentoo Linux distribution. In
2004, the OpenEmbedded project was split the project into two distinct pieces:
- BitBake, a generic task executor
- OpenEmbedded, a metadata set utilized by BitBake
Today, BitBake is the primary build tool of OpenEmbedded based projects, such as
the Yocto Project.
The BitBake documentation can be found :doc:`here <bitbake:index>`.

View File

@@ -60,10 +60,10 @@ following requirements:
-
- Git 1.8.3.1 or greater
- tar 1.28 or greater
- Python 3.5.0 or greater.
- gcc 5.0 or greater.
- Git &MIN_GIT_VERSION; or greater
- tar &MIN_TAR_VERSION; or greater
- Python &MIN_PYTHON_VERSION; or greater.
- gcc &MIN_GCC_VERSION; or greater.
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
@@ -238,7 +238,7 @@ an entire Linux distribution, including the toolchain, from source.
You can significantly speed up your build and guard against fetcher
failures by using mirrors. To use mirrors, add these lines to your
local.conf file in the Build directory: ::
local.conf file in the Build directory::
SSTATE_MIRRORS = "\
file://.* http://sstate.yoctoproject.org/dev/PATH;downloadfilename=PATH \n \

View File

@@ -26,7 +26,7 @@ A BSP consists of a file structure inside a base directory.
Collectively, you can think of the base directory, its file structure,
and the contents as a BSP layer. Although not a strict requirement, BSP
layers in the Yocto Project use the following well-established naming
convention: ::
convention::
meta-bsp_root_name
@@ -58,7 +58,7 @@ Each repository is a BSP layer supported by the Yocto Project (e.g.
``meta-raspberrypi`` and ``meta-intel``). Each of these layers is a
repository unto itself and clicking on the layer name displays two URLs
from which you can clone the layer's repository to your local system.
Here is an example that clones the Raspberry Pi BSP layer: ::
Here is an example that clones the Raspberry Pi BSP layer::
$ git clone git://git.yoctoproject.org/meta-raspberrypi
@@ -84,7 +84,7 @@ established after you run the OpenEmbedded build environment setup
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: ::
layer and from it build an image. Here is an example::
BBLAYERS ?= " \
/usr/local/src/yocto/meta \
@@ -113,7 +113,7 @@ this type of layer is OpenEmbedded's
`meta-openembedded <https://github.com/openembedded/meta-openembedded>`__
layer. The ``meta-openembedded`` layer contains many ``meta-*`` layers.
In cases like this, you need to include the names of the actual layers
you want to work with, such as: ::
you want to work with, such as::
BBLAYERS ?= " \
/usr/local/src/yocto/meta \
@@ -193,7 +193,7 @@ section.
#. *Check Out the Proper Branch:* The branch you check out for
``meta-intel`` must match the same branch you are using for the
Yocto Project release (e.g. ``&DISTRO_NAME_NO_CAP;``): ::
Yocto Project release (e.g. ``&DISTRO_NAME_NO_CAP;``)::
$ cd meta-intel
$ git checkout -b &DISTRO_NAME_NO_CAP; remotes/origin/&DISTRO_NAME_NO_CAP;
@@ -216,7 +216,7 @@ section.
The process is identical to the process used for the ``meta-intel``
layer except for the layer's name. For example, if you determine that
your hardware most closely matches the ``meta-raspberrypi``, clone
that layer: ::
that layer::
$ git clone git://git.yoctoproject.org/meta-raspberrypi
Cloning into 'meta-raspberrypi'...
@@ -451,7 +451,7 @@ The following sections describe each part of the proposed BSP format.
License Files
-------------
You can find these files in the BSP Layer at: ::
You can find these files in the BSP Layer at::
meta-bsp_root_name/bsp_license_file
@@ -469,7 +469,7 @@ section in the Yocto Project Development Tasks Manual.
README File
-----------
You can find this file in the BSP Layer at: ::
You can find this file in the BSP Layer at::
meta-bsp_root_name/README
@@ -484,7 +484,7 @@ name of the BSP maintainer with his or her contact information.
README.sources File
-------------------
You can find this file in the BSP Layer at: ::
You can find this file in the BSP Layer at::
meta-bsp_root_name/README.sources
@@ -503,7 +503,7 @@ used to generate the images that ship with the BSP.
Pre-built User Binaries
-----------------------
You can find these files in the BSP Layer at: ::
You can find these files in the BSP Layer at::
meta-bsp_root_name/binary/bootable_images
@@ -526,7 +526,7 @@ information on the Metadata.
Layer Configuration File
------------------------
You can find this file in the BSP Layer at: ::
You can find this file in the BSP Layer at::
meta-bsp_root_name/conf/layer.conf
@@ -550,7 +550,7 @@ template). ::
LAYERDEPENDS_bsp = "intel"
To illustrate the string substitutions, here are the corresponding
statements from the Raspberry Pi ``conf/layer.conf`` file: ::
statements from the Raspberry Pi ``conf/layer.conf`` file::
# We have a conf and classes directory, append to BBPATH
BBPATH .= ":${LAYERDIR}"
@@ -576,7 +576,7 @@ recognize the BSP.
Hardware Configuration Options
------------------------------
You can find these files in the BSP Layer at: ::
You can find these files in the BSP Layer at::
meta-bsp_root_name/conf/machine/*.conf
@@ -607,14 +607,14 @@ For example, many ``tune-*`` files (e.g. ``tune-arm1136jf-s.inc``,
To use an include file, you simply include them in the machine
configuration file. For example, the Raspberry Pi BSP
``raspberrypi3.conf`` contains the following statement: ::
``raspberrypi3.conf`` contains the following statement::
include conf/machine/include/rpi-base.inc
Miscellaneous BSP-Specific Recipe Files
---------------------------------------
You can find these files in the BSP Layer at: ::
You can find these files in the BSP Layer at::
meta-bsp_root_name/recipes-bsp/*
@@ -624,7 +624,7 @@ Raspberry Pi BSP, there is the ``formfactor_0.0.bbappend`` file, which
is an append file used to augment the recipe that starts the build.
Furthermore, there are machine-specific settings used during the build
that are defined by the ``machconfig`` file further down in the
directory. Here is the ``machconfig`` file for the Raspberry Pi BSP: ::
directory. Here is the ``machconfig`` file for the Raspberry Pi BSP::
HAVE_TOUCHSCREEN=0
HAVE_KEYBOARD=1
@@ -644,7 +644,7 @@ directory. Here is the ``machconfig`` file for the Raspberry Pi BSP: ::
Display Support Files
---------------------
You can find these files in the BSP Layer at: ::
You can find these files in the BSP Layer at::
meta-bsp_root_name/recipes-graphics/*
@@ -655,7 +655,7 @@ to support a display are kept here.
Linux Kernel Configuration
--------------------------
You can find these files in the BSP Layer at: ::
You can find these files in the BSP Layer at::
meta-bsp_root_name/recipes-kernel/linux/linux*.bbappend
meta-bsp_root_name/recipes-kernel/linux/*.bb
@@ -678,7 +678,7 @@ Suppose you are using the ``linux-yocto_4.4.bb`` recipe to build the
kernel. In other words, you have selected the kernel in your
``"bsp_root_name".conf`` file by adding
:term:`PREFERRED_PROVIDER` and :term:`PREFERRED_VERSION`
statements as follows: ::
statements as follows::
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
PREFERRED_VERSION_linux-yocto ?= "4.4%"
@@ -698,7 +698,7 @@ in the Yocto Project Linux Kernel Development Manual.
An alternate scenario is when you create your own kernel recipe for the
BSP. A good example of this is the Raspberry Pi BSP. If you examine the
``recipes-kernel/linux`` directory you see the following: ::
``recipes-kernel/linux`` directory you see the following::
linux-raspberrypi-dev.bb
linux-raspberrypi.inc
@@ -1042,7 +1042,7 @@ BSP-specific configuration file named ``interfaces`` to the
also supports several other machines:
#. Edit the ``init-ifupdown_1.0.bbappend`` file so that it contains the
following: ::
following::
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
@@ -1050,14 +1050,14 @@ also supports several other machines:
directory.
#. Create and place the new ``interfaces`` configuration file in the
BSP's layer here: ::
BSP's layer here::
meta-xyz/recipes-core/init-ifupdown/files/xyz-machine-one/interfaces
.. note::
If the ``meta-xyz`` layer did not support multiple machines, you would place
the interfaces configuration file in the layer here: ::
the interfaces configuration file in the layer here::
meta-xyz/recipes-core/init-ifupdown/files/interfaces
@@ -1210,7 +1210,7 @@ BSP Layer Configuration Example
-------------------------------
The layer's ``conf`` directory contains the ``layer.conf`` configuration
file. In this example, the ``conf/layer.conf`` is the following: ::
file. In this example, the ``conf/layer.conf`` is the following::
# We have a conf and classes directory, add to BBPATH
BBPATH .= ":${LAYERDIR}"
@@ -1242,7 +1242,7 @@ configuration file is what makes a layer a BSP layer as compared to a
general or kernel layer.
One or more machine configuration files exist in the
``bsp_layer/conf/machine/`` directory of the layer: ::
``bsp_layer/conf/machine/`` directory of the layer::
bsp_layer/conf/machine/machine1\.conf
bsp_layer/conf/machine/machine2\.conf
@@ -1252,7 +1252,7 @@ One or more machine configuration files exist in the
For example, the machine configuration file for the `BeagleBone and
BeagleBone Black development boards <https://beagleboard.org/bone>`__ is
located in the layer ``poky/meta-yocto-bsp/conf/machine`` and is named
``beaglebone-yocto.conf``: ::
``beaglebone-yocto.conf``::
#@TYPE: Machine
#@NAME: Beaglebone-yocto machine
@@ -1447,7 +1447,7 @@ BSP Kernel Recipe Example
-------------------------
The kernel recipe used to build the kernel image for the BeagleBone
device was established in the machine configuration: ::
device was established in the machine configuration::
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
PREFERRED_VERSION_linux-yocto ?= "5.0%"
@@ -1458,7 +1458,7 @@ metadata used to build the kernel. In this case, a kernel append file
kernel recipe (i.e. ``linux-yocto_5.0.bb``), which is located in
:yocto_git:`/poky/tree/meta/recipes-kernel/linux`.
Following is the contents of the append file: ::
Following is the contents of the append file::
KBRANCH_genericx86 = "v5.0/standard/base"
KBRANCH_genericx86-64 = "v5.0/standard/base"

File diff suppressed because it is too large Load Diff

View File

@@ -55,16 +55,14 @@ available. Follow these general steps to run QEMU:
- If you cloned the ``poky`` repository or you downloaded and
unpacked a Yocto Project release tarball, you can source the build
environment script (i.e. :ref:`structure-core-script`):
::
environment script (i.e. :ref:`structure-core-script`)::
$ cd poky
$ source oe-init-build-env
- If you installed a cross-toolchain, you can run the script that
initializes the toolchain. For example, the following commands run
the initialization script from the default ``poky_sdk`` directory:
::
the initialization script from the default ``poky_sdk`` directory::
. poky_sdk/environment-setup-core2-64-poky-linux
@@ -86,8 +84,7 @@ available. Follow these general steps to run QEMU:
Extensible Software Development Kit (eSDK) manual for information on
how to extract a root filesystem.
4. *Run QEMU:* The basic ``runqemu`` command syntax is as follows:
::
4. *Run QEMU:* The basic ``runqemu`` command syntax is as follows::
$ runqemu [option ] [...]
@@ -222,18 +219,15 @@ using an NFS server.
Should you need to start, stop, or restart the NFS share, you can use
the following commands:
- The following command starts the NFS share:
::
- To start the NFS share::
runqemu-export-rootfs start file-system-location
- The following command stops the NFS share:
::
- To stop the NFS share::
runqemu-export-rootfs stop file-system-location
- The following command restarts the NFS share:
::
- To restart the NFS share::
runqemu-export-rootfs restart file-system-location
@@ -306,15 +300,14 @@ present, the toolchain is also automatically used.
tarball by using the ``runqemu-extract-sdk`` command. After
running the command, you must then point the ``runqemu`` script to
the extracted directory instead of a root filesystem image file.
See the "`Running Under a Network File System (NFS)
Server <#qemu-running-under-a-network-file-system-nfs-server>`__"
See the
":ref:`dev-manual/qemu:running under a network file system (nfs) server`"
section for more information.
QEMU Command-Line Syntax
========================
The basic ``runqemu`` command syntax is as follows:
::
The basic ``runqemu`` command syntax is as follows::
$ runqemu [option ] [...]
@@ -325,8 +318,7 @@ timestamp when it needs to look for an image. Minimally, through the use
of options, you must provide either a machine name, a virtual machine
image (``*wic.vmdk``), or a kernel image (``*.bin``).
Following is the command-line help output for the ``runqemu`` command:
::
Following is the command-line help output for the ``runqemu`` command::
$ runqemu --help
@@ -452,7 +444,7 @@ command line:
or "qemux86-64" QEMU architectures. For KVM with VHOST to work, the
following conditions must be met:
- `kvm <#kvm-cond>`__ option conditions must be met.
- ``kvm`` option conditions defined above must be met.
- Your build host has to have virtio net device, which are
``/dev/vhost-net``.

View File

@@ -230,8 +230,8 @@ particular working environment and set of practices.
- Separate the project's Metadata and code by using separate Git
repositories. See the ":ref:`overview-manual/development-environment:yocto project source repositories`"
section in the Yocto Project Overview and Concepts Manual for
information on these repositories. See the "`Locating Yocto
Project Source Files <#locating-yocto-project-source-files>`__"
information on these repositories. See the
":ref:`dev-manual/start:locating yocto project source files`"
section for information on how to set up local Git repositories
for related upstream Yocto Project Git repositories.
@@ -314,13 +314,13 @@ Project Build Host:
should be able to run on any modern distribution that has the
following versions for Git, tar, Python and gcc.
- Git 1.8.3.1 or greater
- Git &MIN_GIT_VERSION; or greater
- tar 1.28 or greater
- tar &MIN_TAR_VERSION; or greater
- Python 3.5.0 or greater.
- Python &MIN_PYTHON_VERSION; or greater.
- gcc 5.0 or greater.
- gcc &MIN_GCC_VERSION; or greater.
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
@@ -387,36 +387,28 @@ as your Yocto Project build host:
software. Follow the instructions for your specific machine and the
type of the software you need to install:
- Install `Docker CE for
- Install `Docker Desktop on
Windows <https://docs.docker.com/docker-for-windows/install/#install-docker-desktop-on-windows>`__
for Windows build hosts that meet requirements.
- Install `Docker CE for
- Install `Docker Desktop on
MacOs <https://docs.docker.com/docker-for-mac/install/#install-and-run-docker-desktop-on-mac>`__
for Mac build hosts that meet requirements.
- Install `Docker Toolbox for
Windows <https://docs.docker.com/toolbox/toolbox_install_windows/>`__
for Windows build hosts that do not meet Docker requirements.
- Install `Docker Toolbox for
MacOS <https://docs.docker.com/toolbox/toolbox_install_mac/>`__
for Mac build hosts that do not meet Docker requirements.
- Install `Docker CE for
CentOS <https://docs.docker.com/install/linux/docker-ce/centos/>`__
- Install `Docker Engine on
CentOS <https://docs.docker.com/engine/install/centos/>`__
for Linux build hosts running the CentOS distribution.
- Install `Docker CE for
Debian <https://docs.docker.com/install/linux/docker-ce/debian/>`__
- Install `Docker Engine on
Debian <https://docs.docker.com/engine/install/debian/>`__
for Linux build hosts running the Debian distribution.
- Install `Docker CE for
Fedora <https://docs.docker.com/install/linux/docker-ce/fedora/>`__
- Install `Docker Engine for
Fedora <https://docs.docker.com/engine/install/fedora/>`__
for Linux build hosts running the Fedora distribution.
- Install `Docker CE for
Ubuntu <https://docs.docker.com/install/linux/docker-ce/ubuntu/>`__
- Install `Docker Engine for
Ubuntu <https://docs.docker.com/engine/install/ubuntu/>`__
for Linux build hosts running the Ubuntu distribution.
5. *Optionally Orient Yourself With Docker:* If you are unfamiliar with
@@ -486,8 +478,7 @@ your Yocto Project build host:
distribution.
3. *Check your Linux distribution is using WSLv2:* Open a Windows
PowerShell and run:
::
PowerShell and run::
C:\WINDOWS\system32> wsl -l -v
NAME STATE VERSION
@@ -514,8 +505,7 @@ your Yocto Project build host:
1. *Find the location of your VHDX file:* First you need to find the
distro app package directory, to achieve this open a Windows
Powershell as Administrator and run:
::
Powershell as Administrator and run::
C:\WINDOWS\system32> Get-AppxPackage -Name "*Ubuntu*" | Select PackageFamilyName
PackageFamilyName
@@ -525,8 +515,7 @@ your Yocto Project build host:
You should now
replace the PackageFamilyName and your user on the following path
to find your VHDX file:
::
to find your VHDX file::
ls C:\Users\myuser\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79abcdefgh\LocalState\
Mode LastWriteTime Length Name
@@ -536,8 +525,7 @@ your Yocto Project build host:
``C:\Users\myuser\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79abcdefgh\LocalState\ext4.vhdx``
2. *Optimize your VHDX file:* Open a Windows Powershell as
Administrator to optimize your VHDX file, shutting down WSL first:
::
Administrator to optimize your VHDX file, shutting down WSL first::
C:\WINDOWS\system32> wsl --shutdown
C:\WINDOWS\system32> optimize-vhd -Path C:\Users\myuser\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79abcdefgh\LocalState\ext4.vhdx -Mode full
@@ -655,8 +643,7 @@ The :yocto_home:`Yocto Project Website <>` uses a "DOWNLOADS" page
from which you can locate and download tarballs of any Yocto Project
release. Rather than Git repositories, these files represent snapshot
tarballs similar to the tarballs located in the Index of Releases
described in the "`Accessing Index of
Releases <#accessing-index-of-releases>`__" section.
described in the ":ref:`dev-manual/start:accessing index of releases`" section.
.. note::
@@ -742,8 +729,7 @@ Follow these steps to create a local version of the upstream
2. *Clone the Repository:* The following example command clones the
``poky`` repository and uses the default name "poky" for your local
repository:
::
repository::
$ git clone git://git.yoctoproject.org/poky
Cloning into 'poky'...
@@ -759,14 +745,13 @@ Follow these steps to create a local version of the upstream
"master" branch, which results in a snapshot of the latest
development changes for "master". For information on how to check out
a specific development branch or on how to check out a local branch
based on a tag name, see the "`Checking Out By Branch in
Poky <#checking-out-by-branch-in-poky>`__" and `Checking Out By Tag
in Poky <#checkout-out-by-tag-in-poky>`__" sections, respectively.
based on a tag name, see the
":ref:`dev-manual/start:checking out by branch in poky`" and
":ref:`dev-manual/start:checking out by tag in poky`" sections, respectively.
Once the local repository is created, you can change to that
directory and check its status. Here, the single "master" branch
exists on your system and by default, it is checked out:
::
exists on your system and by default, it is checked out::
$ cd poky
$ git status
@@ -827,8 +812,7 @@ and then specifically check out that development branch.
3. *Check out the Branch:* Check out the development branch in which you
want to work. For example, to access the files for the Yocto Project
&DISTRO; Release (&DISTRO_NAME;), use the following command:
::
&DISTRO; Release (&DISTRO_NAME;), use the following command::
$ git checkout -b &DISTRO_NAME_NO_CAP; origin/&DISTRO_NAME_NO_CAP;
Branch &DISTRO_NAME_NO_CAP; set up to track remote branch &DISTRO_NAME_NO_CAP; from origin.
@@ -840,8 +824,7 @@ and then specifically check out that development branch.
The following command displays the branches that are now part of your
local poky repository. The asterisk character indicates the branch
that is currently checked out for work:
::
that is currently checked out for work::
$ git branch
master
@@ -868,14 +851,12 @@ similar to checking out by branch name except you use tag names.
section.
2. *Fetch the Tag Names:* To checkout the branch based on a tag name,
you need to fetch the upstream tags into your local repository:
::
you need to fetch the upstream tags into your local repository::
$ git fetch --tags
$
3. *List the Tag Names:* You can list the tag names now:
::
3. *List the Tag Names:* You can list the tag names now::
$ git tag
1.1_M1.final

View File

@@ -34,7 +34,7 @@ Welcome to the Yocto Project Documentation
Application Development and the Extensible SDK (eSDK) <sdk-manual/index>
Toaster Manual <toaster-manual/index>
Test Environment Manual <test-manual/index>
Bitbake User Manual <https://docs.yoctoproject.org/bitbake>
bitbake
.. toctree::
:maxdepth: 1

View File

@@ -56,8 +56,8 @@ using the same BSP description. Multiple Corei7-based BSPs could share
the same "intel-corei7-64" value for ``KMACHINE``. It is important to
realize that ``KMACHINE`` is just for kernel mapping, while ``MACHINE``
is the machine type within a BSP Layer. Even with this distinction,
however, these two variables can hold the same value. See the `BSP
Descriptions <#bsp-descriptions>`__ section for more information.
however, these two variables can hold the same value. See the
":ref:`kernel-dev/advanced:bsp descriptions`" section for more information.
Every linux-yocto style recipe must also indicate the Linux kernel
source repository branch used to build the Linux kernel. The
@@ -67,8 +67,7 @@ to indicate the branch.
.. note::
You can use the ``KBRANCH`` value to define an alternate branch typically
with a machine override as shown here from the ``meta-yocto-bsp`` layer:
::
with a machine override as shown here from the ``meta-yocto-bsp`` layer::
KBRANCH_edgerouter = "standard/edgerouter"
@@ -87,7 +86,7 @@ Together with ``KMACHINE``, ``LINUX_KERNEL_TYPE`` defines the search
arguments used by the kernel tools to find the appropriate description
within the kernel Metadata with which to build out the sources and
configuration. The linux-yocto recipes define "standard", "tiny", and
"preempt-rt" kernel types. See the "`Kernel Types <#kernel-types>`__"
"preempt-rt" kernel types. See the ":ref:`kernel-dev/advanced:kernel types`"
section for more information on kernel types.
During the build, the kern-tools search for the BSP description file
@@ -106,15 +105,13 @@ You can use the
variable to include features (configuration fragments, patches, or both)
that are not already included by the ``KMACHINE`` and
``LINUX_KERNEL_TYPE`` variable combination. For example, to include a
feature specified as "features/netfilter/netfilter.scc", specify:
::
feature specified as "features/netfilter/netfilter.scc", specify::
KERNEL_FEATURES += "features/netfilter/netfilter.scc"
To include a
feature called "cfg/sound.scc" just for the ``qemux86`` machine,
specify:
::
specify::
KERNEL_FEATURES_append_qemux86 = " cfg/sound.scc"
@@ -123,8 +120,8 @@ the entries in ``KERNEL_FEATURES`` are dependent on their location
within the kernel Metadata itself. The examples here are taken from the
``yocto-kernel-cache`` repository. Each branch of this repository
contains "features" and "cfg" subdirectories at the top-level. For more
information, see the "`Kernel Metadata
Syntax <#kernel-metadata-syntax>`__" section.
information, see the ":ref:`kernel-dev/advanced:kernel metadata syntax`"
section.
Kernel Metadata Syntax
======================
@@ -148,7 +145,7 @@ Features aggregate sources in the form of patches and configuration
fragments into a modular reusable unit. You can use features to
implement conceptually separate kernel Metadata descriptions such as
pure configuration fragments, simple patches, complex features, and
kernel types. `Kernel types <#kernel-types>`__ define general kernel
kernel types. :ref:`kernel-dev/advanced:kernel types` define general kernel
features and policy to be reused in the BSPs.
BSPs define hardware-specific features and aggregate them with kernel
@@ -157,8 +154,7 @@ types to form the final description of what will be assembled and built.
While the kernel Metadata syntax does not enforce any logical separation
of configuration fragments, patches, features or kernel types, best
practices dictate a logical separation of these types of Metadata. The
following Metadata file hierarchy is recommended:
::
following Metadata file hierarchy is recommended::
base/
bsp/
@@ -167,10 +163,9 @@ following Metadata file hierarchy is recommended:
ktypes/
patches/
The ``bsp`` directory contains the `BSP
descriptions <#bsp-descriptions>`__. The remaining directories all
contain "features". Separating ``bsp`` from the rest of the structure
aids conceptualizing intended usage.
The ``bsp`` directory contains the :ref:`kernel-dev/advanced:bsp descriptions`.
The remaining directories all contain "features". Separating ``bsp`` from the
rest of the structure aids conceptualizing intended usage.
Use these guidelines to help place your ``scc`` description files within
the structure:
@@ -198,11 +193,12 @@ contain "features" as far as the kernel tools are concerned.
Paths used in kernel Metadata files are relative to base, which is
either
:term:`FILESEXTRAPATHS` if
you are creating Metadata in `recipe-space <#recipe-space-metadata>`__,
you are creating Metadata in
:ref:`recipe-space <kernel-dev/advanced:recipe-space metadata>`,
or the top level of
:yocto_git:`yocto-kernel-cache </yocto-kernel-cache/tree/>`
if you are creating `Metadata outside of the
recipe-space <#metadata-outside-the-recipe-space>`__.
if you are creating
:ref:`kernel-dev/advanced:metadata outside the recipe-space`.
.. [1]
``scc`` stands for Series Configuration Control, but the naming has
@@ -222,8 +218,7 @@ used with the ``linux-yocto-4.12`` kernel as defined outside of the
recipe space (i.e. ``yocto-kernel-cache``). This Metadata consists of
two files: ``smp.scc`` and ``smp.cfg``. You can find these files in the
``cfg`` directory of the ``yocto-4.12`` branch in the
``yocto-kernel-cache`` Git repository:
::
``yocto-kernel-cache`` Git repository::
cfg/smp.scc:
define KFEATURE_DESCRIPTION "Enable SMP for 32 bit builds"
@@ -265,8 +260,7 @@ non-hardware fragment.
As described in the
":ref:`kernel-dev/common:validating configuration`" section, you can
use the following BitBake command to audit your configuration:
::
use the following BitBake command to audit your configuration::
$ bitbake linux-yocto -c kernel_configcheck -f
@@ -287,8 +281,7 @@ in the ``patches/build`` directory of the ``yocto-4.12`` branch in the
``yocto-kernel-cache`` Git repository.
The following listings show the ``build.scc`` file and part of the
``modpost-mask-trivial-warnings.patch`` file:
::
``modpost-mask-trivial-warnings.patch`` file::
patches/build/build.scc:
patch arm-serialize-build-targets.patch
@@ -334,8 +327,7 @@ Features
Features are complex kernel Metadata types that consist of configuration
fragments, patches, and possibly other feature description files. As an
example, consider the following generic listing:
::
example, consider the following generic listing::
features/myfeature.scc
define KFEATURE_DESCRIPTION "Enable myfeature"
@@ -353,9 +345,9 @@ as how an additional feature description file is included with the
Typically, features are less granular than configuration fragments and
are more likely than configuration fragments and patches to be the types
of things you want to specify in the ``KERNEL_FEATURES`` variable of the
Linux kernel recipe. See the "`Using Kernel Metadata in a
Recipe <#using-kernel-metadata-in-a-recipe>`__" section earlier in the
manual.
Linux kernel recipe. See the
":ref:`kernel-dev/advanced:using kernel metadata in a recipe`" section earlier
in the manual.
Kernel Types
------------
@@ -364,22 +356,20 @@ A kernel type defines a high-level kernel policy by aggregating
non-hardware configuration fragments with patches you want to use when
building a Linux kernel of a specific type (e.g. a real-time kernel).
Syntactically, kernel types are no different than features as described
in the "`Features <#features>`__" section. The
in the ":ref:`kernel-dev/advanced:features`" section. The
:term:`LINUX_KERNEL_TYPE`
variable in the kernel recipe selects the kernel type. For example, in
the ``linux-yocto_4.12.bb`` kernel recipe found in
``poky/meta/recipes-kernel/linux``, a
:ref:`require <bitbake:bitbake-user-manual/bitbake-user-manual-metadata:\`\`require\`\` directive>` directive
includes the ``poky/meta/recipes-kernel/linux/linux-yocto.inc`` file,
which has the following statement that defines the default kernel type:
::
which has the following statement that defines the default kernel type::
LINUX_KERNEL_TYPE ??= "standard"
Another example would be the real-time kernel (i.e.
``linux-yocto-rt_4.12.bb``). This kernel recipe directly sets the kernel
type as follows:
::
type as follows::
LINUX_KERNEL_TYPE = "preempt-rt"
@@ -412,8 +402,7 @@ for Linux Yocto kernels:
For any given kernel type, the Metadata is defined by the ``.scc`` (e.g.
``standard.scc``). Here is a partial listing for the ``standard.scc``
file, which is found in the ``ktypes/standard`` directory of the
``yocto-kernel-cache`` Git repository:
::
``yocto-kernel-cache`` Git repository::
# Include this kernel type fragment to get the standard features and
# configuration values.
@@ -482,15 +471,13 @@ Description Overview
For simplicity, consider the following root BSP layer description files
for the BeagleBone board. These files employ both a structure and naming
convention for consistency. The naming convention for the file is as
follows:
::
follows::
bsp_root_name-kernel_type.scc
Here are some example root layer
BSP filenames for the BeagleBone Board BSP, which is supported by the
Yocto Project:
::
Yocto Project::
beaglebone-standard.scc
beaglebone-preempt-rt.scc
@@ -498,8 +485,7 @@ Yocto Project:
Each file uses the root name (i.e "beaglebone") BSP name followed by the
kernel type.
Examine the ``beaglebone-standard.scc`` file:
::
Examine the ``beaglebone-standard.scc`` file::
define KMACHINE beaglebone
define KTYPE standard
@@ -533,24 +519,21 @@ description file match.
To separate your kernel policy from your hardware configuration, you
include a kernel type (``ktype``), such as "standard". In the previous
example, this is done using the following:
::
example, this is done using the following::
include ktypes/standard/standard.scc
This file aggregates all the configuration
fragments, patches, and features that make up your standard kernel
policy. See the "`Kernel Types <#kernel-types>`__" section for more
policy. See the ":ref:`kernel-dev/advanced:kernel types`" section for more
information.
To aggregate common configurations and features specific to the kernel
for `mybsp`, use the following:
::
for `mybsp`, use the following::
include mybsp.scc
You can see that in the BeagleBone example with the following:
::
You can see that in the BeagleBone example with the following::
include beaglebone.scc
@@ -558,15 +541,13 @@ For information on how to break a complete ``.config`` file into the various
configuration fragments, see the ":ref:`kernel-dev/common:creating configuration fragments`" section.
Finally, if you have any configurations specific to the hardware that
are not in a ``*.scc`` file, you can include them as follows:
::
are not in a ``*.scc`` file, you can include them as follows::
kconf hardware mybsp-extra.cfg
The BeagleBone example does not include these
types of configurations. However, the Malta 32-bit board does
("mti-malta32"). Here is the ``mti-malta32-le-standard.scc`` file:
::
("mti-malta32"). Here is the ``mti-malta32-le-standard.scc`` file::
define KMACHINE mti-malta32-le
define KMACHINE qemumipsel
@@ -623,8 +604,7 @@ found on the machine. This ``minnow.scc`` description file is then
included in each of the three "minnow" description files for the
supported kernel types (i.e. "standard", "preempt-rt", and "tiny").
Consider the "minnow" description for the "standard" kernel type (i.e.
``minnow-standard.scc``):
::
``minnow-standard.scc``)::
define KMACHINE minnow
define KTYPE standard
@@ -656,8 +636,7 @@ that defines all enabled hardware for the BSP that is common to all
kernel types. Using this command significantly reduces duplication.
Now consider the "minnow" description for the "tiny" kernel type (i.e.
``minnow-tiny.scc``):
::
``minnow-tiny.scc``)::
define KMACHINE minnow
define KTYPE tiny
@@ -720,8 +699,7 @@ See the ":ref:`kernel-dev/common:modifying an existing recipe`"
section for more information.
Here is an example that shows a trivial tree of kernel Metadata stored
in recipe-space within a BSP layer:
::
in recipe-space within a BSP layer::
meta-my_bsp_layer/
`-- recipes-kernel
@@ -744,8 +722,7 @@ value when changing the content of files not explicitly listed in the
If the BSP description is in recipe space, you cannot simply list the
``*.scc`` in the ``SRC_URI`` statement. You need to use the following
form from your kernel append file:
::
form from your kernel append file::
SRC_URI_append_myplatform = " \
file://myplatform;type=kmeta;destsuffix=myplatform \
@@ -759,8 +736,7 @@ reside in a separate repository. The OpenEmbedded build system adds the
Metadata to the build as a "type=kmeta" repository through the
:term:`SRC_URI` variable. As an
example, consider the following ``SRC_URI`` statement from the
``linux-yocto_4.12.bb`` kernel recipe:
::
``linux-yocto_4.12.bb`` kernel recipe::
SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.12.git;name=machine;branch=${KBRANCH}; \
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.12;destsuffix=${KMETA}"
@@ -825,11 +801,11 @@ Given this scenario, you do not need to create any branches in the
source repository. Rather, you just take the static patches you need and
encapsulate them within a feature description. Once you have the feature
description, you simply include that into the BSP description as
described in the "`BSP Descriptions <#bsp-descriptions>`__" section.
described in the ":ref:`kernel-dev/advanced:bsp descriptions`" section.
You can find information on how to create patches and BSP descriptions
in the "`Patches <#patches>`__" and "`BSP
Descriptions <#bsp-descriptions>`__" sections.
in the ":ref:`kernel-dev/advanced:patches`" and
":ref:`kernel-dev/advanced:bsp descriptions`" sections.
Machine Branches
----------------
@@ -844,14 +820,12 @@ patches into a feature.
Once you have a new branch, you can set up your kernel Metadata to use
the branch a couple different ways. In the recipe, you can specify the
new branch as the ``KBRANCH`` to use for the board as follows:
::
new branch as the ``KBRANCH`` to use for the board as follows::
KBRANCH = "mynewbranch"
Another method is to use the ``branch`` command in the BSP
description:
::
description::
mybsp.scc:
define KMACHINE mybsp
@@ -865,15 +839,13 @@ description:
If you find yourself with numerous branches, you might consider using a
hierarchical branching system similar to what the Yocto Linux Kernel Git
repositories use:
::
repositories use::
common/kernel_type/machine
If you had two kernel types, "standard" and "small" for instance, three
machines, and common as ``mydir``, the branches in your Git repository
might look like this:
::
might look like this::
mydir/base
mydir/standard/base
@@ -905,8 +877,7 @@ that have to be regularly updated. The Yocto Project Linux kernel tools
provide for this with the ``git merge`` command.
To merge a feature branch into a BSP, insert the ``git merge`` command
after any ``branch`` commands:
::
after any ``branch`` commands::
mybsp.scc:
define KMACHINE mybsp

View File

@@ -54,8 +54,7 @@ section:
1. *Initialize the BitBake Environment:* Before building an extensible
SDK, you need to initialize the BitBake build environment by sourcing
the build environment script (i.e. :ref:`structure-core-script`):
::
the build environment script (i.e. :ref:`structure-core-script`)::
$ cd poky
$ source oe-init-build-env
@@ -83,16 +82,14 @@ section:
In this example we wish to build for qemux86 so we must set the
``MACHINE`` variable to "qemux86" and also add the "kernel-modules".
As described we do this by appending to ``conf/local.conf``:
::
As described we do this by appending to ``conf/local.conf``::
MACHINE = "qemux86"
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
3. *Create a Layer for Patches:* You need to create a layer to hold
patches created for the kernel image. You can use the
``bitbake-layers create-layer`` command as follows:
::
``bitbake-layers create-layer`` command as follows::
$ cd poky/build
$ bitbake-layers create-layer ../../meta-mylayer
@@ -116,8 +113,7 @@ section:
4. *Inform the BitBake Build Environment About Your Layer:* As directed
when you created your layer, you need to add the layer to the
:term:`BBLAYERS` variable in the
``bblayers.conf`` file as follows:
::
``bblayers.conf`` file as follows::
$ cd poky/build
$ bitbake-layers add-layer ../../meta-mylayer
@@ -125,16 +121,14 @@ section:
$
5. *Build the Extensible SDK:* Use BitBake to build the extensible SDK
specifically for use with images to be run using QEMU:
::
specifically for use with images to be run using QEMU::
$ cd poky/build
$ bitbake core-image-minimal -c populate_sdk_ext
Once
the build finishes, you can find the SDK installer file (i.e.
``*.sh`` file) in the following directory:
::
``*.sh`` file) in the following directory::
poky/build/tmp/deploy/sdk
@@ -143,8 +137,7 @@ section:
6. *Install the Extensible SDK:* Use the following command to install
the SDK. For this example, install the SDK in the default
``poky_sdk`` directory:
::
``poky_sdk`` directory::
$ cd poky/build/tmp/deploy/sdk
$ ./poky-glibc-x86_64-core-image-minimal-i586-toolchain-ext-&DISTRO;.sh
@@ -172,8 +165,7 @@ section:
BitBake shell used to build the installer.
After opening a new shell, run the SDK environment setup script as
directed by the output from installing the SDK:
::
directed by the output from installing the SDK::
$ source poky_sdk/environment-setup-i586-poky-linux
"SDK environment now set up; additionally you may now run devtool to perform development tasks.
@@ -186,8 +178,7 @@ section:
8. *Build the Clean Image:* The final step in preparing to work on the
kernel is to build an initial image using ``devtool`` in the new
terminal you just set up and initialized for SDK work:
::
terminal you just set up and initialized for SDK work::
$ devtool build-image
Parsing recipes: 100% |##########################################| Time: 0:00:05
@@ -269,16 +260,14 @@ section:
In this example we wish to build for qemux86 so we must set the
``MACHINE`` variable to "qemux86" and also add the "kernel-modules".
As described we do this by appending to ``conf/local.conf``:
::
As described we do this by appending to ``conf/local.conf``::
MACHINE = "qemux86"
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
3. *Create a Layer for Patches:* You need to create a layer to hold
patches created for the kernel image. You can use the
``bitbake-layers create-layer`` command as follows:
::
``bitbake-layers create-layer`` command as follows::
$ cd poky/build
$ bitbake-layers create-layer ../../meta-mylayer
@@ -301,8 +290,7 @@ section:
4. *Inform the BitBake Build Environment About Your Layer:* As directed
when you created your layer, you need to add the layer to the
:term:`BBLAYERS` variable in the
``bblayers.conf`` file as follows:
::
``bblayers.conf`` file as follows::
$ cd poky/build
$ bitbake-layers add-layer ../../meta-mylayer
@@ -350,8 +338,7 @@ section:
the ``yocto-4.12`` branch.
The following commands show how to create a local copy of the
``yocto-kernel-cache`` and be in the ``yocto-4.12`` branch:
::
``yocto-kernel-cache`` and switch to the ``yocto-4.12`` branch::
$ cd ~
$ git clone git://git.yoctoproject.org/yocto-kernel-cache --branch yocto-4.12
@@ -365,8 +352,7 @@ section:
At this point, you are ready to start making modifications to the kernel
using traditional kernel development steps. For a continued example, see
the "`Using Traditional Kernel Development to Patch the
Kernel <#using-traditional-kernel-development-to-patch-the-kernel>`__"
the ":ref:`kernel-dev/common:using traditional kernel development to patch the kernel`"
section.
Creating and Preparing a Layer
@@ -395,8 +381,7 @@ following section describes how to create a layer without the aid of
tools. These steps assume creation of a layer named ``mylayer`` in your
home directory:
1. *Create Structure*: Create the layer's structure:
::
1. *Create Structure*: Create the layer's structure::
$ mkdir meta-mylayer
$ mkdir meta-mylayer/conf
@@ -410,8 +395,7 @@ home directory:
2. *Create the Layer Configuration File*: Move to the
``meta-mylayer/conf`` directory and create the ``layer.conf`` file as
follows:
::
follows::
# We have a conf and classes directory, add to BBPATH
BBPATH .= ":${LAYERDIR}"
@@ -430,8 +414,7 @@ home directory:
``meta-mylayer/recipes-kernel/linux`` directory and create the
kernel's append file. This example uses the ``linux-yocto-4.12``
kernel. Thus, the name of the append file is
``linux-yocto_4.12.bbappend``:
::
``linux-yocto_4.12.bbappend``::
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
@@ -463,8 +446,8 @@ Modifying an existing recipe can consist of the following:
- :ref:`kernel-dev/common:changing the configuration`
Before modifying an existing recipe, be sure that you have created a
minimal, custom layer from which you can work. See the "`Creating and
Preparing a Layer <#creating-and-preparing-a-layer>`__" section for
minimal, custom layer from which you can work. See the
":ref:`kernel-dev/common:creating and preparing a layer`" section for
information.
Creating the Append File
@@ -484,8 +467,7 @@ The append file should initially extend the
:term:`FILESPATH` search path by
prepending the directory that contains your files to the
:term:`FILESEXTRAPATHS`
variable as follows:
::
variable as follows::
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
@@ -493,8 +475,7 @@ The path ``${``\ :term:`THISDIR`\ ``}/${``\ :term:`PN`\ ``}``
expands to "linux-yocto" in the current directory for this example. If
you add any new files that modify the kernel recipe and you have
extended ``FILESPATH`` as described above, you must place the files in
your layer in the following area:
::
your layer in the following area::
your-layer/recipes-kernel/linux/linux-yocto/
@@ -510,7 +491,7 @@ As an example, consider the following append file used by the BSPs in
meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.12.bbappend
The following listing shows the file. Be aware that the actual commit ID
Here are the contents of this file. Be aware that the actual commit ID
strings in this example listing might be different than the actual
strings in the file from the ``meta-yocto-bsp`` layer upstream.
::
@@ -583,8 +564,7 @@ To group related configurations into multiple files, you perform a
similar procedure. Here is an example that groups separate
configurations specifically for Ethernet and graphics into their own
files and adds the configurations by using a ``SRC_URI`` statement like
the following in your append file:
::
the following in your append file::
SRC_URI += "file://myconfig.cfg \
file://eth.cfg \
@@ -609,8 +589,8 @@ recipe is processed.
In general, however, the Yocto Project maintainers take care of
moving the ``SRC_URI``-specified configuration options to the
kernel's ``meta`` branch. Not only is it easier for BSP developers to
not have to worry about putting those configurations in the branch,
kernel's ``meta`` branch. Not only is it easier for BSP developers
not to have to put those configurations in the branch,
but having the maintainers do it allows them to apply 'global'
knowledge about the kinds of common configuration options multiple
BSPs in the tree are typically using. This allows for promotion of
@@ -628,8 +608,7 @@ reference them in :term:`SRC_URI`
statements.
For example, you can apply a three-patch series by adding the following
lines to your linux-yocto ``.bbappend`` file in your layer:
::
lines to your linux-yocto ``.bbappend`` file in your layer::
SRC_URI += "file://0001-first-change.patch"
SRC_URI += "file://0002-second-change.patch"
@@ -659,8 +638,7 @@ If you have a complete, working Linux kernel ``.config`` file you want
to use for the configuration, as before, copy that file to the
appropriate ``${PN}`` directory in your layer's ``recipes-kernel/linux``
directory, and rename the copied file to "defconfig". Then, add the
following lines to the linux-yocto ``.bbappend`` file in your layer:
::
following lines to the linux-yocto ``.bbappend`` file in your layer::
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI += "file://defconfig"
@@ -672,6 +650,15 @@ extends the :term:`FILESPATH`
variable (search directories) to include the ``${PN}`` directory you
created to hold the configuration changes.
You can also use a regular ``defconfig`` file, as generated by the
:ref:`ref-tasks-savedefconfig`
task instead of a complete ``.config`` file. This only specifies the
non-default configuration values. You need to additionally set
:term:`KCONFIG_MODE`
in the linux-yocto ``.bbappend`` file in your layer::
KCONFIG_MODE = "alldefconfig"
.. note::
The build system applies the configurations from the ``defconfig``
@@ -686,8 +673,7 @@ Generally speaking, the preferred approach is to determine the
incremental change you want to make and add that as a configuration
fragment. For example, if you want to add support for a basic serial
console, create a file named ``8250.cfg`` in the ``${PN}`` directory
with the following content (without indentation):
::
with the following content (without indentation)::
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
@@ -699,8 +685,7 @@ with the following content (without indentation):
Next, include this
configuration fragment and extend the ``FILESPATH`` variable in your
``.bbappend`` file:
::
``.bbappend`` file::
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI += "file://8250.cfg"
@@ -710,7 +695,7 @@ Linux kernel, BitBake detects the change in the recipe and fetches and
applies the new configuration before building the kernel.
For a detailed example showing how to configure the kernel, see the
"`Configuring the Kernel <#configuring-the-kernel>`__" section.
":ref:`kernel-dev/common:configuring the kernel`" section.
Using an "In-Tree"  ``defconfig`` File
--------------------------------------
@@ -719,8 +704,7 @@ It might be desirable to have kernel configuration fragment support
through a ``defconfig`` file that is pulled from the kernel source tree
for the configured machine. By default, the OpenEmbedded build system
looks for ``defconfig`` files in the layer used for Metadata, which is
"out-of-tree", and then configures them using the following:
::
"out-of-tree", and then configures them using the following::
SRC_URI += "file://defconfig"
@@ -733,16 +717,14 @@ append files, you can direct the OpenEmbedded build system to use a
``defconfig`` file that is "in-tree".
To specify an "in-tree" ``defconfig`` file, use the following statement
form:
::
form::
KBUILD_DEFCONFIG_KMACHINE ?= "defconfig_file"
Here is an example
that assigns the ``KBUILD_DEFCONFIG`` variable based on "raspberrypi2"
and provides the path to the "in-tree" ``defconfig`` file to be used for
a Raspberry Pi 2, which is based on the Broadcom 2708/2709 chipset:
::
a Raspberry Pi 2, which is based on the Broadcom 2708/2709 chipset::
KBUILD_DEFCONFIG_raspberrypi2 ?= "bcm2709_defconfig"
@@ -793,8 +775,7 @@ the ":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``" Se
":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``"
section for more information.
Use the following ``devtool`` command to check out the code:
::
Use the following ``devtool`` command to check out the code::
$ devtool modify linux-yocto
@@ -820,14 +801,12 @@ the ":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``" Se
noted where you can find the source files (e.g.
``poky_sdk/workspace/sources/linux-yocto``). Change to where the
kernel source code is before making your edits to the
``calibrate.c`` file:
::
``calibrate.c`` file::
$ cd poky_sdk/workspace/sources/linux-yocto
2. *Edit the source file*: Edit the ``init/calibrate.c`` file to have
the following changes:
::
the following changes::
void calibrate_delay(void)
{
@@ -847,8 +826,7 @@ the ":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``" Se
.
3. *Build the Updated Kernel Source:* To build the updated kernel
source, use ``devtool``:
::
source, use ``devtool``::
$ devtool build linux-yocto
@@ -873,8 +851,7 @@ the ":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``" Se
using QEMU to verify your changes:
1. *Boot the image*: Boot the modified image in the QEMU emulator
using this command:
::
using this command::
$ runqemu qemux86
@@ -892,8 +869,7 @@ the ":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``" Se
6. *Stage and commit your changes*: Within your eSDK terminal, change
your working directory to where you modified the ``calibrate.c`` file
and use these Git commands to stage and commit your changes:
::
and use these Git commands to stage and commit your changes::
$ cd poky_sdk/workspace/sources/linux-yocto
$ git status
@@ -922,8 +898,7 @@ the ":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``" Se
image that includes your kernel patches. Execute the following
command from your
:term:`Build Directory` in the terminal
set up to run BitBake:
::
set up to run BitBake::
$ cd poky/build
$ bitbake core-image-minimal
@@ -954,28 +929,25 @@ emulator console 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 "`Getting Ready for Traditional Kernel
Development <#getting-ready-for-traditional-kernel-development>`__"
found in the
":ref:`kernel-dev/common:getting ready for traditional kernel development`"
Section.
1. *Edit the Source Files* Prior to this step, you should have used Git
to create a local copy of the repository for your kernel. Assuming
you created the repository as directed in the "`Getting Ready for
Traditional Kernel
Development <#getting-ready-for-traditional-kernel-development>`__"
you created the repository as directed in the
":ref:`kernel-dev/common:getting ready for traditional kernel development`"
section, use the following commands to edit the ``calibrate.c`` file:
1. *Change the working directory*: You need to locate the source
files in the local copy of the kernel Git repository. Change to
where the kernel source code is before making your edits to the
``calibrate.c`` file:
::
``calibrate.c`` file::
$ cd ~/linux-yocto-4.12/init
2. *Edit the source file*: Edit the ``calibrate.c`` file to have the
following changes:
::
following changes::
void calibrate_delay(void)
{
@@ -995,8 +967,7 @@ Section.
.
2. *Stage and Commit Your Changes:* Use standard Git commands to stage
and commit the changes you just made:
::
and commit the changes you just made::
$ git add calibrate.c
$ git commit -m "calibrate.c - Added some printk statements"
@@ -1011,13 +982,11 @@ Section.
updated kernel source files. Add
:term:`SRC_URI` and
:term:`SRCREV` statements similar
to the following to your ``local.conf``:
::
to the following to your ``local.conf``::
$ cd poky/build/conf
Add the following to the ``local.conf``:
::
Add the following to the ``local.conf``::
SRC_URI_pn-linux-yocto = "git:///path-to/linux-yocto-4.12;protocol=file;name=machine;branch=standard/base; \
git:///path-to/yocto-kernel-cache;protocol=file;type=kmeta;name=meta;branch=yocto-4.12;destsuffix=${KMETA}"
@@ -1033,16 +1002,14 @@ Section.
4. *Build the Image:* With the source modified, your changes staged and
committed, and the ``local.conf`` file pointing to the kernel files,
you can now use BitBake to build the image:
::
you can now use BitBake to build the image::
$ cd poky/build
$ bitbake core-image-minimal
5. *Boot the image*: Boot the modified image in the QEMU emulator using
this command. When prompted to login to the QEMU console, use "root"
with no password:
::
with no password::
$ cd poky/build
$ runqemu qemux86
@@ -1061,8 +1028,7 @@ Section.
7. *Generate the Patch File:* Once you are sure that your patch works
correctly, you can generate a ``*.patch`` file in the kernel source
repository:
::
repository::
$ cd ~/linux-yocto-4.12/init
$ git format-patch -1
@@ -1075,8 +1041,7 @@ Section.
``meta-mylayer``. When the layer was created using the
``yocto-create`` script, no additional hierarchy was created to
support patches. Before moving the patch file, you need to add
additional structure to your layer using the following commands:
::
additional structure to your layer using the following commands::
$ cd ~/meta-mylayer
$ mkdir recipes-kernel
@@ -1085,8 +1050,7 @@ Section.
Once you have created this
hierarchy in your layer, you can move the patch file using the
following command:
::
following command::
$ mv ~/linux-yocto-4.12/init/0001-calibrate.c-Added-some-printk-statements.patch ~/meta-mylayer/recipes-kernel/linux/linux-yocto
@@ -1095,8 +1059,7 @@ Section.
the OpenEmbedded build system to find the patch. The append file
needs to be in your layer's ``recipes-kernel/linux`` directory and it
must be named ``linux-yocto_4.12.bbappend`` and have the following
contents:
::
contents::
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI_append = "file://0001-calibrate.c-Added-some-printk-statements.patch"
@@ -1104,9 +1067,9 @@ Section.
The :term:`FILESEXTRAPATHS` and :term:`SRC_URI` statements
enable the OpenEmbedded build system to find the patch file.
For more information on append files and patches, see the "`Creating
the Append File <#creating-the-append-file>`__" and "`Applying
Patches <#applying-patches>`__" sections. You can also see the
For more information on append files and patches, see the
":ref:`kernel-dev/common:creating the append file`" and
":ref:`kernel-dev/common:applying patches`" sections. You can also see the
":ref:`dev-manual/common-tasks:using .bbappend files in your layer`"
section in the Yocto Project Development Tasks Manual.
@@ -1115,8 +1078,7 @@ Section.
To build ``core-image-minimal`` again and see the effects of your patch,
you can essentially eliminate the temporary source files saved in
``poky/build/tmp/work/...`` and residual effects of the build by entering
the following sequence of commands:
::
the following sequence of commands::
$ cd poky/build
$ bitbake -c cleanall yocto-linux
@@ -1140,8 +1102,8 @@ configuration fragments, and how to interactively modify your
``.config`` file to create the leanest kernel configuration file
possible.
For more information on kernel configuration, see the "`Changing the
Configuration <#changing-the-configuration>`__" section.
For more information on kernel configuration, see the
":ref:`kernel-dev/common:changing the configuration`" section.
Using  ``menuconfig``
---------------------
@@ -1162,8 +1124,7 @@ environment, you must do the following:
- You must be sure of the state of your build's configuration in the
:term:`Source Directory`.
- Your build host must have the following two packages installed:
::
- Your build host must have the following two packages installed::
libncurses5-dev
libtinfo-dev
@@ -1171,8 +1132,7 @@ environment, you must do the following:
The following commands initialize the BitBake environment, run the
:ref:`ref-tasks-kernel_configme`
task, and launch ``menuconfig``. These commands assume the Source
Directory's top-level folder is ``poky``:
::
Directory's top-level folder is ``poky``::
$ cd poky
$ source oe-init-build-env
@@ -1234,8 +1194,7 @@ the ``.config`` file would be:
Within the ``.config`` file, you can see the kernel settings. For
example, the following entry shows that symmetric multi-processor
support is not set:
::
support is not set::
# CONFIG_SMP is not set
@@ -1276,8 +1235,7 @@ your layer's ``recipes-kernel/linux`` directory, and rename the copied
file to "defconfig" (e.g.
``~/meta-mylayer/recipes-kernel/linux/linux-yocto/defconfig``). Then,
add the following lines to the linux-yocto ``.bbappend`` file in your
layer:
::
layer::
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI += "file://defconfig"
@@ -1297,8 +1255,8 @@ created to hold the configuration changes.
applies these on top of and after applying the existing ``defconfig`` file
configurations.
For more information on configuring the kernel, see the "`Changing the
Configuration <#changing-the-configuration>`__" section.
For more information on configuring the kernel, see the
":ref:`kernel-dev/common:changing the configuration`" section.
Creating Configuration Fragments
--------------------------------
@@ -1325,8 +1283,7 @@ appear in the ``.config`` file, which is in the :term:`Build Directory`.
It is simple to create a configuration fragment. One method is to use
shell commands. For example, issuing the following from the shell
creates a configuration fragment file named ``my_smp.cfg`` that enables
multi-processor support within the kernel:
::
multi-processor support within the kernel::
$ echo "CONFIG_SMP=y" >> my_smp.cfg
@@ -1344,8 +1301,7 @@ To create a configuration fragment using this method, follow these
steps:
1. *Complete a Build Through Kernel Configuration:* Complete a build at
least through the kernel configuration task as follows:
::
least through the kernel configuration task as follows::
$ bitbake linux-yocto -c kernel_configme -f
@@ -1354,8 +1310,7 @@ steps:
your build state might become unknown, it is best to run this task
prior to starting ``menuconfig``.
2. *Launch menuconfig:* Run the ``menuconfig`` command:
::
2. *Launch menuconfig:* Run the ``menuconfig`` command::
$ bitbake linux-yocto -c menuconfig
@@ -1363,14 +1318,13 @@ steps:
to prepare a configuration fragment. The resulting file
``fragment.cfg`` is placed in the
``${``\ :term:`WORKDIR`\ ``}``
directory:
::
directory::
$ bitbake linux-yocto -c diffconfig
The ``diffconfig`` command creates a file that is a list of Linux kernel
``CONFIG_`` assignments. See the "`Changing the
Configuration <#changing-the-configuration>`__" section for additional
``CONFIG_`` assignments. See the
":ref:`kernel-dev/common:changing the configuration`" section for additional
information on how to use the output as a configuration fragment.
.. note::
@@ -1389,8 +1343,7 @@ options in a file called ``myconfig.cfg``. If you put that file inside a
directory named ``linux-yocto`` that resides in the same directory as
the kernel's append file within your layer and then add the following
statements to the kernel's append file, those configuration options will
be picked up and applied when the kernel is built:
::
be picked up and applied when the kernel is built::
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI += "file://myconfig.cfg"
@@ -1399,8 +1352,7 @@ As mentioned earlier, you can group related configurations into multiple
files and name them all in the ``SRC_URI`` statement as well. For
example, you could group separate configurations specifically for
Ethernet and graphics into their own files and add those by using a
``SRC_URI`` statement like the following in your append file:
::
``SRC_URI`` statement like the following in your append file::
SRC_URI += "file://myconfig.cfg \
file://eth.cfg \
@@ -1411,8 +1363,7 @@ Validating Configuration
You can use the
:ref:`ref-tasks-kernel_configcheck`
task to provide configuration validation:
::
task to provide configuration validation::
$ bitbake linux-yocto -c kernel_configcheck -f
@@ -1539,8 +1490,7 @@ To streamline the configuration, do the following:
successfully. Use this configuration file as your baseline.
2. *Run Configure and Check Tasks:* Separately run the
``do_kernel_configme`` and ``do_kernel_configcheck`` tasks:
::
``do_kernel_configme`` and ``do_kernel_configcheck`` tasks::
$ bitbake linux-yocto -c kernel_configme -f
$ bitbake linux-yocto -c kernel_configcheck -f
@@ -1574,8 +1524,7 @@ Expanding Variables
Sometimes it is helpful to determine what a variable expands to during a
build. You can examine the values of variables by examining the
output of the ``bitbake -e`` command. The output is long and is more
easily managed in a text file, which allows for easy searches:
::
easily managed in a text file, which allows for easy searches::
$ bitbake -e virtual/kernel > some_text_file
@@ -1592,15 +1541,13 @@ source directory. Follow these steps to clean up the version string:
1. *Discover the Uncommitted Changes:* Go to the kernel's locally cloned
Git repository (source directory) and use the following Git command
to list the files that have been changed, added, or removed:
::
to list the files that have been changed, added, or removed::
$ git status
2. *Commit the Changes:* You should commit those changes to the kernel
source tree regardless of whether or not you will save, export, or
use the changes:
::
use the changes::
$ git add
$ git commit -s -a -m "getting rid of -dirty"
@@ -1614,8 +1561,7 @@ source directory. Follow these steps to clean up the version string:
":ref:`kernel-dev/common:using \`\`devtool\`\` to patch the kernel`"
section. For
information on building the kernel image when using Bitbake, see the
"`Using Traditional Kernel Development to Patch the
Kernel <#using-traditional-kernel-development-to-patch-the-kernel>`__"
":ref:`kernel-dev/common:using traditional kernel development to patch the kernel`"
section.
Working With Your Own Sources
@@ -1636,8 +1582,7 @@ linux-yocto custom recipe (``linux-yocto-custom.bb``) that uses
``kernel.org`` sources and the Yocto Project Linux kernel tools for
managing kernel Metadata. You can find this recipe in the ``poky`` Git
repository of the Yocto Project :yocto_git:`Source Repository <>`
at:
::
at::
poky/meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb
@@ -1658,8 +1603,7 @@ Here are some basic steps you can use to work with your own sources:
``defconfig`` file or configuration fragment files in your layer.
When you use the ``linux-yocto-custom.bb`` recipe, you must specify a
configuration. If you do not have a ``defconfig`` file, you can run
the following:
::
the following::
$ make defconfig
@@ -1711,8 +1655,7 @@ Here are some basic steps you can use to work with your own sources:
``LINUX_VERSION`` with the Source Control Manager (SCM) revision
as derived from the :term:`SRCPV`
variable. The combined results are a string with the following
form:
::
form::
3.19.11+git1+68a635bf8dfb64b02263c1ac80c948647cc76d5f_1+218bd8d2022b9852c60d32f0d770931e3cf343e2
@@ -1726,15 +1669,15 @@ Here are some basic steps you can use to work with your own sources:
triggers an explicit build failure. You must change it to match a
list of the machines that your new recipe supports. For example,
to support the ``qemux86`` and ``qemux86-64`` machines, use the
following form:
::
following form::
COMPATIBLE_MACHINE = "qemux86|qemux86-64"
5. *Customize Your Recipe as Needed:* Provide further customizations to
your recipe as needed just as you would customize an existing
linux-yocto recipe. See the "`Modifying an Existing
Recipe <#modifying-an-existing-recipe>`__" section for information.
linux-yocto recipe. See the
":ref:`ref-manual/devtool-reference:modifying an existing recipe`" section
for information.
Working with Out-of-Tree Modules
================================
@@ -1809,8 +1752,7 @@ Typically, you will need to set the following variables:
Depending on the build system used by the module sources, you might need
to make some adjustments. For example, a typical module ``Makefile``
looks much like the one provided with the ``hello-mod`` template:
::
looks much like the one provided with the ``hello-mod`` template::
obj-m := hello.o
@@ -1847,8 +1789,7 @@ them appropriately for your machine configuration file:
- :term:`MACHINE_EXTRA_RRECOMMENDS`
Modules are often not required for boot and can be excluded from certain
build configurations. The following allows for the most flexibility:
::
build configurations. The following allows for the most flexibility::
MACHINE_EXTRA_RRECOMMENDS += "kernel-module-mymodule"
@@ -1897,26 +1838,22 @@ branch.
$ git whatchanged origin/standard/base..origin/standard/emenlow
To see short, one line summaries of changes use the ``git log`` command:
::
To see short, one line summaries of changes use the ``git log`` command::
$ git log --oneline origin/standard/base..origin/standard/emenlow
Use this command to see code differences for the changes:
::
Use this command to see code differences for the changes::
$ git diff origin/standard/base..origin/standard/emenlow
Use this command to see the commit log messages and the text
differences:
::
differences::
$ git show origin/standard/base..origin/standard/emenlow
Use this command to create individual patches for each change. Here is
an example that creates patch files for each commit and places them
in your ``Documents`` directory:
::
in your ``Documents`` directory::
$ git format-patch -o $HOME/Documents origin/standard/base..origin/standard/emenlow
@@ -1925,15 +1862,13 @@ Showing a Particular Feature or Branch Change
Tags in the Yocto Project kernel tree divide changes for significant
features or branches. The ``git show`` tag command shows changes based
on a tag. Here is an example that shows ``systemtap`` changes:
::
on a tag. Here is an example that shows ``systemtap`` changes::
$ git show systemtap
You can use the ``git branch --contains`` tag command to
show the branches that contain a particular feature. This command shows
the branches that contain the ``systemtap`` feature:
::
the branches that contain the ``systemtap`` feature::
$ git branch --contains systemtap
@@ -1988,8 +1923,7 @@ build.
searched during the build as potential feature directories.
Continuing with the example, suppose the "test.scc" feature you are
adding has a ``test.scc`` file in the following directory:
::
adding has a ``test.scc`` file in the following directory::
my_recipe
|
@@ -2003,8 +1937,7 @@ build.
a similarly named configuration fragment file ``test.cfg``.
2. *Add the Feature File to SRC_URI:* Add the ``.scc`` file to the
recipe's ``SRC_URI`` statement:
::
recipe's ``SRC_URI`` statement::
SRC_URI_append = " file://test.scc"
@@ -2013,8 +1946,7 @@ build.
3. *Specify the Feature as a Kernel Feature:* Use the
``KERNEL_FEATURES`` statement to specify the feature as a kernel
feature:
::
feature::
KERNEL_FEATURES_append = " test.scc"

View File

@@ -359,8 +359,7 @@ To determine whether or not a given option is "hardware" or
"non-hardware", the kernel Metadata in ``yocto-kernel-cache`` contains
files that classify individual or groups of options as either hardware
or non-hardware. To better show this, consider a situation where the
``yocto-kernel-cache`` contains the following files:
::
``yocto-kernel-cache`` contains the following files::
yocto-kernel-cache/features/drm-psb/hardware.cfg
yocto-kernel-cache/features/kgdb/hardware.cfg
@@ -380,8 +379,7 @@ or non-hardware. To better show this, consider a situation where the
yocto-kernel-cache/ktypes/base/hardware.kcf
yocto-kernel-cache/bsp/qemu-ppc32/hardware.kcf
The following list
provides explanations for the various files:
Here are explanations for the various files:
- ``hardware.kcf``: Specifies a list of kernel Kconfig files that
contain hardware options only.
@@ -400,8 +398,7 @@ provides explanations for the various files:
(i.e. ``hardware.kcf`` or ``non-hardware.kcf``).
Here is a specific example using the
``kernel-cache/bsp/mti-malta32/hardware.cfg``:
::
``kernel-cache/bsp/mti-malta32/hardware.cfg``::
CONFIG_SERIAL_8250
CONFIG_SERIAL_8250_CONSOLE

View File

@@ -7,7 +7,7 @@ Kernel Development FAQ
Common Questions and Solutions
==============================
The following lists some solutions for common questions.
Here are some solutions for common questions.
How do I use my own Linux kernel ``.config`` file?
--------------------------------------------------
@@ -57,8 +57,7 @@ These other variables are useful for installing specific modules:
For example, set the following in the ``qemux86.conf`` file to include
the ``ab123`` kernel modules with images built for the ``qemux86``
machine:
::
machine::
MACHINE_EXTRA_RRECOMMENDS += "kernel-module-ab123"
@@ -71,8 +70,7 @@ How do I change the Linux kernel command line?
The Linux kernel command line is
typically specified in the machine config using the ``APPEND`` variable.
For example, you can add some helpful debug information doing the
following:
::
following::
APPEND += "printk.time=y initcall_debug debug"

View File

@@ -90,8 +90,7 @@ understand the following documentation:
- The ":ref:`dev-manual/common-tasks:understanding and creating layers`"
section in the Yocto Project Development Tasks Manual.
- The "`Kernel Modification
Workflow <#kernel-modification-workflow>`__" section.
- The ":ref:`kernel-dev/intro:kernel modification workflow`" section.
Kernel Modification Workflow
============================

View File

@@ -28,8 +28,7 @@ in the Yocto Project Linux kernel in any clone of the Yocto Project
Linux kernel source repository and ``yocto-kernel-cache`` Git trees. For
example, the following commands clone the Yocto Project baseline Linux
kernel that branches off ``linux.org`` version 4.12 and the
``yocto-kernel-cache``, which contains stores of kernel Metadata:
::
``yocto-kernel-cache``, which contains stores of kernel Metadata::
$ git clone git://git.yoctoproject.org/linux-yocto-4.12
$ git clone git://git.yoctoproject.org/linux-kernel-cache
@@ -42,16 +41,14 @@ section.
Once you have cloned the kernel Git repository and the cache of Metadata
on your local machine, you can discover the branches that are available
in the repository using the following Git command:
::
in the repository using the following Git command::
$ git branch -a
Checking out a branch allows you to work with a particular Yocto Linux
kernel. For example, the following commands check out the
"standard/beagleboard" branch of the Yocto Linux kernel repository and
the "yocto-4.12" branch of the ``yocto-kernel-cache`` repository:
::
the "yocto-4.12" branch of the ``yocto-kernel-cache`` repository::
$ cd ~/linux-yocto-4.12
$ git checkout -b my-kernel-4.12 remotes/origin/standard/beagleboard
@@ -111,8 +108,7 @@ patch, or BSP:
For a typical build, the target of the search is a feature
description in an ``.scc`` file whose name follows this format (e.g.
``beaglebone-standard.scc`` and ``beaglebone-preempt-rt.scc``):
::
``beaglebone-standard.scc`` and ``beaglebone-preempt-rt.scc``)::
bsp_root_name-kernel_type.scc
@@ -222,8 +218,7 @@ build process generates a build tree that is separate from your kernel's
local Git source repository tree. This build tree has a name that uses
the following form, where ``${MACHINE}`` is the metadata name of the
machine (BSP) and "kernel_type" is one of the Yocto Project supported
kernel types (e.g. "standard"):
::
kernel types (e.g. "standard")::
linux-${MACHINE}-kernel_type-build

View File

@@ -55,8 +55,7 @@ This section briefly introduces BitBake. If you want more information on
BitBake, see the :doc:`BitBake User Manual <bitbake:index>`.
To see a list of the options BitBake supports, use either of the
following commands:
::
following commands::
$ bitbake -h
$ bitbake --help
@@ -66,8 +65,7 @@ The most common usage for BitBake is ``bitbake recipename``, where
to as the "target"). The target often equates to the first part of a
recipe's filename (e.g. "foo" for a recipe named ``foo_1.3.0-r0.bb``).
So, to process the ``matchbox-desktop_1.2.3.bb`` recipe file, you might
type the following:
::
type the following::
$ bitbake matchbox-desktop
@@ -132,7 +130,7 @@ Layers
Layers are repositories that contain related metadata (i.e. sets of
instructions) that tell the OpenEmbedded build system how to build a
target. Yocto Project's `layer model <#the-yocto-project-layer-model>`__
target. :ref:`overview-manual/yp-intro:the yocto project layer model`
facilitates collaboration, sharing, customization, and reuse within the
Yocto Project development environment. Layers logically separate
information for your project. For example, you can use a layer to hold
@@ -207,8 +205,8 @@ you can tell BitBake the target architecture for which you are building
the image, where to store downloaded source, and other build properties.
The following figure shows an expanded representation of the "User
Configuration" box of the `general workflow
figure <#general-workflow-figure>`__:
Configuration" box of the :ref:`general workflow
figure <overview-manual/concepts:openembedded build system concepts>`:
.. image:: figures/user-configuration.png
:align: center
@@ -374,7 +372,7 @@ provide Metadata for the software, machine, and policies.
In general, three types of layer input exists. You can see them below
the "User Configuration" box in the `general workflow
figure <#general-workflow-figure>`__:
figure <overview-manual/concepts:openembedded build system concepts>`:
- *Metadata (.bb + Patches):* Software layers containing
user-supplied recipe files, patches, and append files. A good example
@@ -387,8 +385,8 @@ figure <#general-workflow-figure>`__:
- *Machine BSP Configuration:* Board Support Package (BSP) layers (i.e.
"BSP Layer" in the following figure) providing machine-specific
configurations. This type of information is specific to a particular
target architecture. A good example of a BSP layer from the `Poky
Reference Distribution <#gs-reference-distribution-poky>`__ is the
target architecture. A good example of a BSP layer from the
:ref:`overview-manual/yp-intro:reference distribution (poky)` is the
:yocto_git:`meta-yocto-bsp </poky/tree/meta-yocto-bsp>`
layer.
@@ -403,7 +401,8 @@ figure <#general-workflow-figure>`__:
that contain many policy configurations for the Poky distribution.
The following figure shows an expanded representation of these three
layers from the `general workflow figure <#general-workflow-figure>`__:
layers from the :ref:`general workflow figure
<overview-manual/concepts:openembedded build system concepts>`:
.. image:: figures/layer-input.png
:align: center
@@ -418,9 +417,9 @@ in the
section in the
Yocto Project Development Tasks Manual. For a general discussion on
layers and the many layers from which you can draw, see the
"`Layers <#overview-layers>`__" and "`The Yocto Project Layer
Model <#the-yocto-project-layer-model>`__" sections both earlier in this
manual.
":ref:`overview-manual/concepts:layers`" and
":ref:`overview-manual/yp-intro:the yocto project layer model`" sections both
earlier in this manual.
If you explored the previous links, you discovered some areas where many
layers that work with the Yocto Project exist. The :yocto_git:`Source
@@ -514,11 +513,12 @@ Sources
-------
In order for the OpenEmbedded build system to create an image or any
target, it must be able to access source files. The `general workflow
figure <#general-workflow-figure>`__ represents source files using the
"Upstream Project Releases", "Local Projects", and "SCMs (optional)"
boxes. The figure represents mirrors, which also play a role in locating
source files, with the "Source Materials" box.
target, it must be able to access source files. The :ref:`general workflow
figure <overview-manual/concepts:openembedded build system concepts>`
represents source files using the "Upstream Project Releases", "Local
Projects", and "SCMs (optional)" boxes. The figure represents mirrors,
which also play a role in locating source files, with the "Source
Materials" box.
The method by which source files are ultimately organized is a function
of the project. For example, for released software, projects tend to use
@@ -554,7 +554,7 @@ Directory if needed without fear of removing any downloaded source file.
The remainder of this section provides a deeper look into the source
files and the mirrors. Here is a more detailed look at the source file
area of the `general workflow figure <#general-workflow-figure>`__:
area of the :ref:`general workflow figure <overview-manual/concepts:openembedded build system concepts>`:
.. image:: figures/source-input.png
:align: center
@@ -628,9 +628,9 @@ Package Feeds
When the OpenEmbedded build system generates an image or an SDK, it gets
the packages from a package feed area located in the
:term:`Build Directory`. The `general
workflow figure <#general-workflow-figure>`__ shows this package feeds
area in the upper-right corner.
:term:`Build Directory`. The :ref:`general workflow figure
<overview-manual/concepts:openembedded build system concepts>`
shows this package feeds area in the upper-right corner.
This section looks a little closer into the package feeds area used by
the build system. Here is a more detailed look at the area:
@@ -691,10 +691,10 @@ BitBake Tool
The OpenEmbedded build system uses
:term:`BitBake` to produce images and
Software Development Kits (SDKs). You can see from the `general workflow
figure <#general-workflow-figure>`__, the BitBake area consists of
several functional areas. This section takes a closer look at each of
those areas.
Software Development Kits (SDKs). You can see from the :ref:`general workflow
figure <overview-manual/concepts:openembedded build system concepts>`,
the BitBake area consists of several functional areas. This section takes a
closer look at each of those areas.
.. note::
@@ -820,7 +820,7 @@ source files, which are located in the
:term:`S` directory.
For more information on how the source directories are created, see the
"`Source Fetching <#source-fetching-dev-environment>`__" section. For
":ref:`overview-manual/concepts:source fetching`" section. For
more information on how to create patches and how the build system
processes patches, see the
":ref:`dev-manual/common-tasks:patching code`"
@@ -957,8 +957,8 @@ details on how this is accomplished, you can look at
Depending on the type of packages being created (RPM, DEB, or IPK), the
:ref:`do_package_write_* <ref-tasks-package_write_deb>`
task creates the actual packages and places them in the Package Feed
area, which is ``${TMPDIR}/deploy``. You can see the "`Package
Feeds <#package-feeds-dev-environment>`__" section for more detail on
area, which is ``${TMPDIR}/deploy``. You can see the
":ref:`overview-manual/concepts:package feeds`" section for more detail on
that part of the build process.
.. note::
@@ -1066,15 +1066,13 @@ the image. The formats used for the root filesystem depend on the
support compression.
As an example, a dynamically created task when creating a particular
image type would take the following form:
::
image type would take the following form::
do_image_type
So, if the type
as specified by the ``IMAGE_FSTYPES`` were ``ext4``, the dynamically
generated task would be as follows:
::
generated task would be as follows::
do_image_ext4
@@ -1119,7 +1117,7 @@ and
:ref:`ref-tasks-populate_sdk_ext`
tasks use these key variables to help create the list of packages to
actually install. For information on the variables listed in the figure,
see the "`Application Development SDK <#sdk-dev-environment>`__"
see the ":ref:`overview-manual/concepts:application development sdk`"
section.
The ``do_populate_sdk`` task helps create the standard SDK and handles
@@ -1147,8 +1145,8 @@ For each task that completes successfully, BitBake writes a stamp file
into the :term:`STAMPS_DIR`
directory. The beginning of the stamp file's filename is determined by
the :term:`STAMP` variable, and the end
of the name consists of the task's name and current `input
checksum <#overview-checksums>`__.
of the name consists of the task's name and current :ref:`input
checksum <overview-manual/concepts:checksums (signatures)>`.
.. note::
@@ -1165,10 +1163,10 @@ file does not exist, the task is rerun.
.. note::
The stamp mechanism is more general than the shared state (sstate)
cache mechanism described in the "`Setscene Tasks and Shared
State <#setscene-tasks-and-shared-state>`__" section. BitBake avoids
rerunning any task that has a valid stamp file, not just tasks that
can be accelerated through the sstate cache.
cache mechanism described in the
":ref:`overview-manual/concepts:setscene tasks and shared state`" section.
BitBake avoids rerunning any task that has a valid stamp file, not just
tasks that can be accelerated through the sstate cache.
However, you should realize that stamp files only serve as a marker
that some work has been done and that these files do not record task
@@ -1271,7 +1269,8 @@ Images
The images produced by the build system are compressed forms of the root
filesystem and are ready to boot on a target device. You can see from
the `general workflow figure <#general-workflow-figure>`__ that BitBake
the :ref:`general workflow figure
<overview-manual/concepts:openembedded build system concepts>` that BitBake
output, in part, consists of images. This section takes a closer look at
this output:
@@ -1327,7 +1326,8 @@ current configuration.
Application Development SDK
---------------------------
In the `general workflow figure <#general-workflow-figure>`__, the
In the :ref:`general workflow figure
<overview-manual/concepts:openembedded build system concepts>`, the
output labeled "Application Development SDK" represents an SDK. The SDK
generation process differs depending on whether you build an extensible
SDK (e.g. ``bitbake -c populate_sdk_ext`` imagename) or a standard SDK
@@ -1357,8 +1357,8 @@ can initialize the environment before using the tools.
your own SDK installer.
- For background information on cross-development toolchains in the
Yocto Project development environment, see the "`Cross-Development
Toolchain Generation <#cross-development-toolchain-generation>`__"
Yocto Project development environment, see the
":ref:`overview-manual/concepts:cross-development toolchain generation`"
section.
- For information on setting up a cross-development environment, see
@@ -1474,8 +1474,7 @@ cross-compiler that is used internally within BitBake only.
gcc-cross
.
The chain of events that occurs when the standard toolchain is bootstrapped:
::
The chain of events that occurs when the standard toolchain is bootstrapped::
binutils-cross -> linux-libc-headers -> gcc-cross -> libgcc-initial -> glibc -> libgcc -> gcc-runtime
@@ -1524,8 +1523,7 @@ might not be the same machine as the Build Host.
can take advantage of pre-built images that ship with the Yocto
Project and already contain cross-development toolchain installers.
Here is the bootstrap process for the relocatable toolchain:
::
Here is the bootstrap process for the relocatable toolchain::
gcc -> binutils-crosssdk -> gcc-crosssdk-initial -> linux-libc-headers -> glibc-initial -> nativesdk-glibc -> gcc-crosssdk -> gcc-cross-canadian
@@ -1699,8 +1697,7 @@ to the task.
Like the ``WORKDIR`` case, situations exist where dependencies should be
ignored. For these situations, you can instruct the build process to
ignore a dependency by using a line like the following:
::
ignore a dependency by using a line like the following::
PACKAGE_ARCHS[vardepsexclude] = "MACHINE"
@@ -1710,8 +1707,7 @@ reference it.
Equally, there are cases where you need to add dependencies BitBake is
not able to find. You can accomplish this by using a line like the
following:
::
following::
PACKAGE_ARCHS[vardeps] = "MACHINE"
@@ -1741,8 +1737,7 @@ and the dependent task hashes can be influenced. Within the BitBake
configuration file, you can give BitBake some extra information to help
it construct the basehash. The following statement effectively results
in a list of global variable dependency excludes (i.e. variables never
included in any checksum):
::
included in any checksum)::
BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH DL_DIR \\
SSTATE_DIR THISDIR FILESEXTRAPATHS FILE_DIRNAME HOME LOGNAME SHELL TERM \\
@@ -1767,16 +1762,15 @@ desired. This file defines the two basic signature generators
"OEBasicHash". By default, a dummy "noop" signature handler is enabled
in BitBake. This means that behavior is unchanged from previous
versions. OE-Core uses the "OEBasicHash" signature handler by default
through this setting in the ``bitbake.conf`` file:
::
through this setting in the ``bitbake.conf`` file::
BB_SIGNATURE_HANDLER ?= "OEBasicHash"
The "OEBasicHash" ``BB_SIGNATURE_HANDLER`` is the same
as the "OEBasic" version but adds the task hash to the `stamp
files <#stamp-files-and-the-rerunning-of-tasks>`__. This results in any
metadata change that changes the task hash, automatically causing the
task to be run again. This removes the need to bump
as the "OEBasic" version but adds the task hash to the :ref:`stamp
files <overview-manual/concepts:stamp files and the rerunning of tasks>`. This
results in any metadata change that changes the task hash, automatically causing
the task to be run again. This removes the need to bump
:term:`PR` values, and changes to metadata
automatically ripple across the build.
@@ -1822,8 +1816,7 @@ The Yocto Project team has tried to keep the details of the
implementation hidden in ``sstate`` class. From a user's perspective,
adding shared state wrapping to a task is as simple as this
:ref:`ref-tasks-deploy` example taken
from the :ref:`deploy <ref-classes-deploy>` class:
::
from the :ref:`deploy <ref-classes-deploy>` class::
DEPLOYDIR = "${WORKDIR}/deploy-${PN}"
SSTATETASKS += "do_deploy"
@@ -1867,8 +1860,7 @@ The following list explains the previous example:
instead, skipping the ``do_deploy`` task.
- The following task definition is glue logic needed to make the
previous settings effective:
::
previous settings effective::
python do_deploy_setscene () {
sstate_setscene(d)
@@ -1894,16 +1886,16 @@ The following list explains the previous example:
In cases where ``sstate-inputdirs`` and ``sstate-outputdirs`` would be
the same, you can use ``sstate-plaindirs``. For example, to preserve the
${:term:`PKGD`} and ${:term:`PKGDEST`} output from the ``do_package``
task, use the following:
::
task, use the following::
do_package[sstate-plaindirs] = "${PKGD} ${PKGDEST}"
- The ``do_deploy[stamp-extra-info] = "${MACHINE_ARCH}"`` line appends
extra metadata to the `stamp
file <#stamp-files-and-the-rerunning-of-tasks>`__. In this case, the
metadata makes the task specific to a machine's architecture. See
extra metadata to the :ref:`stamp
file <overview-manual/concepts:stamp files and the rerunning of tasks>`. In
this case, the metadata makes the task specific to a machine's architecture.
See
":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-execution:the task list`"
section in the BitBake User Manual for more information on the
``stamp-extra-info`` flag.
@@ -1912,24 +1904,21 @@ The following list explains the previous example:
multiple directories. For example, the following declares
``PKGDESTWORK`` and ``SHLIBWORK`` as shared state input directories,
which populates the shared state cache, and ``PKGDATA_DIR`` and
``SHLIBSDIR`` as the corresponding shared state output directories:
::
``SHLIBSDIR`` as the corresponding shared state output directories::
do_package[sstate-inputdirs] = "${PKGDESTWORK} ${SHLIBSWORKDIR}"
do_package[sstate-outputdirs] = "${PKGDATA_DIR} ${SHLIBSDIR}"
- These methods also include the ability to take a lockfile when
manipulating shared state directory structures, for cases where file
additions or removals are sensitive:
::
additions or removals are sensitive::
do_package[sstate-lockfile] = "${PACKAGELOCK}"
Behind the scenes, the shared state code works by looking in
:term:`SSTATE_DIR` and
:term:`SSTATE_MIRRORS` for
shared state files. Here is an example:
::
shared state files. Here is an example::
SSTATE_MIRRORS ?= "\
file://.\* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
@@ -2111,8 +2100,7 @@ accomplished using fakeroot.
under fakeroot. Otherwise, the task cannot run root-only operations,
and cannot see the fake file ownership and permissions set by the
other task. You need to also add a dependency on
``virtual/fakeroot-native:do_populate_sysroot``, giving the following:
::
``virtual/fakeroot-native:do_populate_sysroot``, giving the following::
fakeroot do_mytask () {
...

View File

@@ -157,7 +157,8 @@ these tarballs gives you a snapshot of the released files.
- The recommended method for setting up the Yocto Project
:term:`Source Directory` and the files
for supported BSPs (e.g., ``meta-intel``) is to use `Git <#git>`__
for supported BSPs (e.g., ``meta-intel``) is to use
:ref:`overview-manual/development-environment:git`
to create a local copy of the upstream repositories.
- Be sure to always work in matching branches for both the selected
@@ -214,7 +215,8 @@ Git Workflows and the Yocto Project
===================================
Developing using the Yocto Project likely requires the use of
`Git <#git>`__. Git is a free, open source distributed version control
:ref:`overview-manual/development-environment:git`.
Git is a free, open source distributed version control
system used as part of many collaborative design environments. This
section provides workflow concepts using the Yocto Project and Git. In
particular, the information covers basic practices that describe roles
@@ -382,11 +384,10 @@ commands.
Repositories, Tags, and Branches
--------------------------------
As mentioned briefly in the previous section and also in the "`Git
Workflows and the Yocto
Project <#gs-git-workflows-and-the-yocto-project>`__" section, the Yocto
Project maintains source repositories at :yocto_git:`/`. If you
look at this web-interface of the repositories, each item is a separate
As mentioned briefly in the previous section and also in the
":ref:`overview-manual/development-environment:git workflows and the yocto project`"
section, the Yocto Project maintains source repositories at :yocto_git:`/`.
If you look at this web-interface of the repositories, each item is a separate
Git repository.
Git repositories use branching techniques that track content change (not
@@ -429,8 +430,7 @@ local working area (also called a branch) that tracks a specific
development branch from the upstream source Git repository. in other
words, you can define your local Git environment to work on any
development branch in the repository. To help illustrate, consider the
following example Git commands:
::
following example Git commands::
$ cd ~
$ git clone git://git.yoctoproject.org/poky
@@ -475,8 +475,7 @@ create and checkout a local working Git branch based on a tag name. When
you do this, you get a snapshot of the Git repository that reflects the
state of the files when the change was made associated with that tag.
The most common use is to checkout a working branch that matches a
specific Yocto Project release. Here is an example:
::
specific Yocto Project release. Here is an example::
$ cd ~
$ git clone git://git.yoctoproject.org/poky
@@ -541,7 +540,7 @@ descriptions and strategies on how to use these commands:
in this form assumes the local branch already exists. This command is
analogous to "cd".
- *git checkout b working-branch upstream-branch:* Creates and
- *git checkout -b working-branch upstream-branch:* Creates and
checks out a working branch on your local machine. The local branch
tracks the upstream branch. You can use your local branch to isolate
your work. It is a good idea to use local branches when adding

View File

@@ -12,19 +12,18 @@ introduces the Yocto Project by providing concepts, software overviews,
best-known-methods (BKMs), and any other high-level introductory
information suitable for a new Yocto Project user.
The following list describes what you can get from this manual:
Here is what you can get from this manual:
- `Introducing the Yocto Project <#overview-yp>`__\ *:* This chapter
provides an introduction to the Yocto Project. You will learn about
features and challenges of the Yocto Project, the layer model,
- :ref:`overview-manual/yp-intro:introducing the yocto project`\ *:*
This chapter provides an introduction to the Yocto Project. You will learn
about features and challenges of the Yocto Project, the layer model,
components and tools, development methods, the
:term:`Poky` reference distribution, the
OpenEmbedded build system workflow, and some basic Yocto terms.
- `The Yocto Project Development
Environment <#overview-development-environment>`__\ *:* This chapter
helps you get started understanding the Yocto Project development
environment. You will learn about open source, development hosts,
- :ref:`overview-manual/development-environment:the yocto project development environment`\ *:*
This chapter helps you get started understanding the Yocto Project
development environment. You will learn about open source, development hosts,
Yocto Project source repositories, workflows using Git and the Yocto
Project, a Git primer, and information about licensing.

View File

@@ -38,8 +38,7 @@ to the Yocto Project.
Features
--------
The following list describes features and advantages of the Yocto
Project:
Here are features and advantages of the Yocto Project:
- *Widely Adopted Across the Industry:* Many semiconductor, operating
system, software, and service vendors adopt and support the Yocto
@@ -96,18 +95,18 @@ Project:
of your design instead of adopting decisions enforced by some system
software provider.
- *Uses a Layer Model:* The Yocto Project `layer
infrastructure <#the-yocto-project-layer-model>`__ groups related
functionality into separate bundles. You can incrementally add these
grouped functionalities to your project as needed. Using layers to
- *Uses a Layer Model:* The Yocto Project :ref:`layer
infrastructure <overview-manual/yp-intro:the yocto project layer model>`
groups related functionality into separate bundles. You can incrementally
add these grouped functionalities to your project as needed. Using layers to
isolate and group functionality reduces project complexity and
redundancy, allows you to easily extend the system, make
customizations, and keep functionality organized.
- *Supports Partial Builds:* You can build and rebuild individual
packages as needed. Yocto Project accomplishes this through its
`shared-state cache <#shared-state-cache>`__ (sstate) scheme. Being
able to build and debug components individually eases project
:ref:`overview-manual/concepts:shared state cache` (sstate) scheme.
Being able to build and debug components individually eases project
development.
- *Releases According to a Strict Schedule:* Major releases occur on a
@@ -137,8 +136,7 @@ Project:
Challenges
----------
The following list presents challenges you might encounter when
developing using the Yocto Project:
Here are challenges you might encounter when developing using the Yocto Project:
- *Steep Learning Curve:* The Yocto Project has a steep learning curve
and has many different ways to accomplish similar tasks. It can be
@@ -155,8 +153,9 @@ developing using the Yocto Project:
documents on the Yocto Project website.
- *Project Workflow Could Be Confusing:* The `Yocto Project
workflow <#overview-development-environment>`__ could be confusing if
you are used to traditional desktop and server software development.
workflow <overview-manual/development-environment:the yocto project development environment>`
could be confusing if you are used to traditional desktop and server
software development.
In a desktop development environment, mechanisms exist to easily pull
and install new packages, which are typically pre-compiled binaries
from servers accessible over the Internet. Using the Yocto Project,
@@ -291,8 +290,8 @@ associated with the Yocto Project.
Development Tools
-----------------
The following list consists of tools that help you develop images and
applications using the Yocto Project:
Here are tools that help you develop images and applications using
the Yocto Project:
- *CROPS:* `CROPS <https://github.com/crops/poky-container/>`__ is an
open source, cross-platform development framework that leverages
@@ -346,8 +345,8 @@ applications using the Yocto Project:
Production Tools
----------------
The following list consists of tools that help production related
activities using the Yocto Project:
Here are tools that help with production related activities using the
Yocto Project:
- *Auto Upgrade Helper:* This utility when used in conjunction with the
:term:`OpenEmbedded Build System`
@@ -437,14 +436,13 @@ activities using the Yocto Project:
Thanks to Pseudo, the Yocto Project never needs root privileges to
build images for your target system.
You can read more about Pseudo in the "`Fakeroot and
Pseudo <#fakeroot-and-pseudo>`__" section.
You can read more about Pseudo in the
":ref:`overview-manual/concepts:fakeroot and pseudo`" section.
Open-Embedded Build System Components
-------------------------------------
The following list consists of components associated with the
:term:`OpenEmbedded Build System`:
Here are components associated with the :term:`OpenEmbedded Build System`:
- *BitBake:* BitBake is a core component of the Yocto Project and is
used by the OpenEmbedded build system to build images. While BitBake
@@ -480,9 +478,9 @@ The following list consists of components associated with the
Sharing a core set of metadata results in Poky as an integration
layer on top of OE-Core. You can see that in this
`figure <#yp-key-dev-elements>`__. The Yocto Project combines various
components such as BitBake, OE-Core, script "glue", and documentation
for its build system.
:ref:`figure <overview-manual/yp-intro:what is the yocto project?>`.
The Yocto Project combines various components such as BitBake, OE-Core,
script "glue", and documentation for its build system.
Reference Distribution (Poky)
-----------------------------
@@ -490,8 +488,8 @@ Reference Distribution (Poky)
Poky is the Yocto Project reference distribution. It contains the
:term:`OpenEmbedded Build System`
(BitBake and OE-Core) as well as a set of metadata to get you started
building your own distribution. See the
`figure <#what-is-the-yocto-project>`__ in "What is the Yocto Project?"
building your own distribution. See the figure in
":ref:`overview-manual/yp-intro:what is the yocto project?`"
section for an illustration that shows Poky and its relationship with
other parts of the Yocto Project.
@@ -503,14 +501,14 @@ To use the Yocto Project tools and components, you can download
Poky does not contain binary files. It is a working example of how to
build your own custom Linux distribution from source.
You can read more about Poky in the "`Reference Embedded Distribution
(Poky) <#reference-embedded-distribution>`__" section.
You can read more about Poky in the
":ref:`overview-manual/yp-intro:reference embedded distribution (poky)`"
section.
Packages for Finished Targets
-----------------------------
The following lists components associated with packages for finished
targets:
Here are components associated with packages for finished targets:
- *Matchbox:* Matchbox is an Open Source, base environment for the X
Window System running on non-desktop, embedded platforms such as
@@ -567,7 +565,7 @@ Linux.
3. *CROPS:* The final and best solution available now for developing
using the Yocto Project on a system not native to Linux is with
`CROPS <#gs-crops-overview>`__.
:ref:`CROPS <overview-manual/yp-intro:development tools>`.
Development Methods
===================
@@ -727,7 +725,8 @@ Sato.
One of the most powerful properties of Poky is that every aspect of a
build is controlled by the metadata. You can use metadata to augment
these base image types by adding metadata
`layers <#the-yocto-project-layer-model>`__ that extend functionality.
`layers <overview-manual/yp-intro:the yocto project layer model>` that extend
functionality.
These layers can provide, for example, an additional software stack for
an image type, add a board support package (BSP) for additional
hardware, or even create a new image type.
@@ -784,8 +783,8 @@ Following is a brief summary of the "workflow":
7. The build system generates the file system image and a customized
Extensible SDK (eSDK) for application development in parallel.
For a very detailed look at this workflow, see the "`OpenEmbedded Build
System Concepts <#openembedded-build-system-build-concepts>`__" section.
For a very detailed look at this workflow, see the
":ref:`overview-manual/concepts:openembedded build system concepts`" section.
Some Basic Terms
================

View File

@@ -1,12 +1,12 @@
DISTRO : "3.2.3"
DISTRO_NAME_NO_CAP : "gatesgarth"
DISTRO_NAME : "Gatesgarth"
DISTRO_NAME_NO_CAP_MINUS_ONE : "dunfell"
DISTRO : "3.3"
DISTRO_NAME_NO_CAP : "hardknott"
DISTRO_NAME : "Hardknott"
DISTRO_NAME_NO_CAP_MINUS_ONE : "gatesgarth"
DISTRO_NAME_NO_CAP_LTS : "dunfell"
YOCTO_DOC_VERSION : "3.2.3"
YOCTO_DOC_VERSION_MINUS_ONE : "3.1.6"
DISTRO_REL_TAG : "yocto-3.2.3"
POKYVERSION : "24.0.3"
YOCTO_DOC_VERSION : "3.3"
YOCTO_DOC_VERSION_MINUS_ONE : "3.2.4"
DISTRO_REL_TAG : "yocto-3.3"
POKYVERSION : "25.0.0"
YOCTO_POKY : "poky-&DISTRO_NAME_NO_CAP;-&POKYVERSION;"
YOCTO_DL_URL : "https://downloads.yoctoproject.org"
YOCTO_AB_URL : "https://autobuilder.yoctoproject.org"
@@ -40,3 +40,7 @@ CENTOS8_HOST_PACKAGES_ESSENTIAL : "-y epel-release
python3-GitPython python3-jinja2 python3-pexpect xz which SDL-devel xterm \
rpcgen mesa-libGL-devel"
PIP3_HOST_PACKAGES_DOC : "$ sudo pip3 install sphinx sphinx_rtd_theme pyyaml"
MIN_PYTHON_VERSION : "3.6.0"
MIN_TAR_VERSION : "1.28"
MIN_GIT_VERSION : "1.8.3.1"
MIN_GCC_VERSION : "5.0"

View File

@@ -39,12 +39,12 @@ an 'sdk' image e.g. ::
$ bitbake core-image-sato-sdk
or alternatively by adding 'tools-profile' to the EXTRA_IMAGE_FEATURES line in
your local.conf: ::
your local.conf::
EXTRA_IMAGE_FEATURES = "debug-tweaks tools-profile"
If you use the 'tools-profile' method, you don't need to build an sdk image -
the tracing and profiling tools will be included in non-sdk images as well e.g.: ::
the tracing and profiling tools will be included in non-sdk images as well e.g.::
$ bitbake core-image-sato
@@ -55,7 +55,7 @@ the tracing and profiling tools will be included in non-sdk images as well e.g.:
You can prevent that by setting the
:term:`INHIBIT_PACKAGE_STRIP`
variable to "1" in your ``local.conf`` when you build the image: ::
variable to "1" in your ``local.conf`` when you build the image::
INHIBIT_PACKAGE_STRIP = "1"
@@ -65,11 +65,11 @@ If you've already built a stripped image, you can generate debug
packages (xxx-dbg) which you can manually install as needed.
To generate debug info for packages, you can add dbg-pkgs to
EXTRA_IMAGE_FEATURES in local.conf. For example: ::
EXTRA_IMAGE_FEATURES in local.conf. For example::
EXTRA_IMAGE_FEATURES = "debug-tweaks tools-profile dbg-pkgs"
Additionally, in order to generate the right type of debuginfo, we also need to
set :term:`PACKAGE_DEBUG_SPLIT_STYLE` in the ``local.conf`` file: ::
set :term:`PACKAGE_DEBUG_SPLIT_STYLE` in the ``local.conf`` file::
PACKAGE_DEBUG_SPLIT_STYLE = 'debug-file-directory'

View File

@@ -48,7 +48,7 @@ For this section, we'll assume you've already performed the basic setup
outlined in the ":ref:`profile-manual/intro:General Setup`" section.
In particular, you'll get the most mileage out of perf if you profile an
image built with the following in your ``local.conf`` file: ::
image built with the following in your ``local.conf`` file::
INHIBIT_PACKAGE_STRIP = "1"
@@ -62,7 +62,7 @@ Basic Perf Usage
The perf tool is pretty much self-documenting. To remind yourself of the
available commands, simply type 'perf', which will show you basic usage
along with the available perf subcommands: ::
along with the available perf subcommands::
root@crownbay:~# perf
@@ -110,7 +110,7 @@ applets in Yocto. ::
The quickest and easiest way to get some basic overall data about what's
going on for a particular workload is to profile it using 'perf stat'.
'perf stat' basically profiles using a few default counters and displays
the summed counts at the end of the run: ::
the summed counts at the end of the run::
root@crownbay:~# perf stat wget http://downloads.yoctoproject.org/mirror/sources/linux-2.6.19.2.tar.bz2
Connecting to downloads.yoctoproject.org (140.211.169.59:80)
@@ -139,7 +139,7 @@ Also, note that 'perf stat' isn't restricted to a fixed set of counters
- basically any event listed in the output of 'perf list' can be tallied
by 'perf stat'. For example, suppose we wanted to see a summary of all
the events related to kernel memory allocation/freeing along with cache
hits and misses: ::
hits and misses::
root@crownbay:~# perf stat -e kmem:* -e cache-references -e cache-misses wget http://downloads.yoctoproject.org/mirror/sources/linux-2.6.19.2.tar.bz2
Connecting to downloads.yoctoproject.org (140.211.169.59:80)
@@ -191,7 +191,7 @@ directory. ::
To see the results in a
'text-based UI' (tui), simply run 'perf report', which will read the
perf.data file in the current working directory and display the results
in an interactive UI: ::
in an interactive UI::
root@crownbay:~# perf report
@@ -217,7 +217,7 @@ Before we do that, however, let's try running a different profile, one
which shows something a little more interesting. The only difference
between the new profile and the previous one is that we'll add the -g
option, which will record not just the address of a sampled function,
but the entire callchain to the sampled function as well: ::
but the entire callchain to the sampled function as well::
root@crownbay:~# perf record -g wget http://downloads.yoctoproject.org/mirror/sources/linux-2.6.19.2.tar.bz2
Connecting to downloads.yoctoproject.org (140.211.169.59:80)
@@ -293,7 +293,7 @@ busybox binary, which is actually stripped out by the Yocto build
system.
One way around that is to put the following in your ``local.conf`` file
when you build the image: ::
when you build the image::
INHIBIT_PACKAGE_STRIP = "1"
@@ -302,26 +302,26 @@ what can we do to get perf to resolve the symbols? Basically we need to
install the debuginfo for the BusyBox package.
To generate the debug info for the packages in the image, we can add
``dbg-pkgs`` to :term:`EXTRA_IMAGE_FEATURES` in ``local.conf``. For example: ::
``dbg-pkgs`` to :term:`EXTRA_IMAGE_FEATURES` in ``local.conf``. For example::
EXTRA_IMAGE_FEATURES = "debug-tweaks tools-profile dbg-pkgs"
Additionally, in order to generate the type of debuginfo that perf
understands, we also need to set
:term:`PACKAGE_DEBUG_SPLIT_STYLE`
in the ``local.conf`` file: ::
in the ``local.conf`` file::
PACKAGE_DEBUG_SPLIT_STYLE = 'debug-file-directory'
Once we've done that, we can install the
debuginfo for BusyBox. The debug packages once built can be found in
``build/tmp/deploy/rpm/*`` on the host system. Find the busybox-dbg-...rpm
file and copy it to the target. For example: ::
file and copy it to the target. For example::
[trz@empanada core2]$ scp /home/trz/yocto/crownbay-tracing-dbg/build/tmp/deploy/rpm/core2_32/busybox-dbg-1.20.2-r2.core2_32.rpm root@192.168.1.31:
busybox-dbg-1.20.2-r2.core2_32.rpm 100% 1826KB 1.8MB/s 00:01
Now install the debug rpm on the target: ::
Now install the debug rpm on the target::
root@crownbay:~# rpm -i busybox-dbg-1.20.2-r2.core2_32.rpm
@@ -382,7 +382,7 @@ traditional tools can also make use of the expanded possibilities now
available to them, and in some cases have, as mentioned previously).
We can get a list of the available events that can be used to profile a
workload via 'perf list': ::
workload via 'perf list'::
root@crownbay:~# perf list
@@ -525,7 +525,7 @@ workload via 'perf list': ::
Only a subset of these would be of interest to us when looking at this
workload, so let's choose the most likely subsystems (identified by the
string before the colon in the Tracepoint events) and do a 'perf stat'
run using only those wildcarded subsystems: ::
run using only those wildcarded subsystems::
root@crownbay:~# perf stat -e skb:* -e net:* -e napi:* -e sched:* -e workqueue:* -e irq:* -e syscalls:* wget http://downloads.yoctoproject.org/mirror/sources/linux-2.6.19.2.tar.bz2
Performance counter stats for 'wget http://downloads.yoctoproject.org/mirror/sources/linux-2.6.19.2.tar.bz2':
@@ -587,7 +587,7 @@ run using only those wildcarded subsystems: ::
Let's pick one of these tracepoints
and tell perf to do a profile using it as the sampling event: ::
and tell perf to do a profile using it as the sampling event::
root@crownbay:~# perf record -g -e sched:sched_wakeup wget http://downloads.yoctoproject.org/mirror/sources/linux-2.6.19.2.tar.bz2
@@ -644,14 +644,14 @@ individual steps that go into the higher-level behavior exposed by the
coarse-grained profiling data.
As a concrete example, we can trace all the events we think might be
applicable to our workload: ::
applicable to our workload::
root@crownbay:~# perf record -g -e skb:* -e net:* -e napi:* -e sched:sched_switch -e sched:sched_wakeup -e irq:*
-e syscalls:sys_enter_read -e syscalls:sys_exit_read -e syscalls:sys_enter_write -e syscalls:sys_exit_write
wget http://downloads.yoctoproject.org/mirror/sources/linux-2.6.19.2.tar.bz2
We can look at the raw trace output using 'perf script' with no
arguments: ::
arguments::
root@crownbay:~# perf script
@@ -735,7 +735,7 @@ two programming language bindings, one for Python and one for Perl.
Now that we have the trace data in perf.data, we can use 'perf script
-g' to generate a skeleton script with handlers for the read/write
entry/exit events we recorded: ::
entry/exit events we recorded::
root@crownbay:~# perf script -g python
generated Python script: perf-script.py
@@ -755,7 +755,7 @@ with its parameters. For example:
print "skbaddr=%u, len=%u, name=%s\n" % (skbaddr, len, name),
We can run that script directly to print all of the events contained in the
perf.data file: ::
perf.data file::
root@crownbay:~# perf script -s perf-script.py
@@ -833,7 +833,7 @@ result of all the per-event tallies. For that, we use the special
for event_name, count in counts.iteritems():
print "%-40s %10s\n" % (event_name, count)
The end result is a summary of all the events recorded in the trace: ::
The end result is a summary of all the events recorded in the trace::
skb__skb_copy_datagram_iovec 13148
irq__softirq_entry 4796
@@ -877,13 +877,13 @@ To do system-wide profiling or tracing, you typically use the -a flag to
'perf record'.
To demonstrate this, open up one window and start the profile using the
-a flag (press Ctrl-C to stop tracing): ::
-a flag (press Ctrl-C to stop tracing)::
root@crownbay:~# perf record -g -a
^C[ perf record: Woken up 6 times to write data ]
[ perf record: Captured and wrote 1.400 MB perf.data (~61172 samples) ]
In another window, run the wget test: ::
In another window, run the wget test::
root@crownbay:~# wget http://downloads.yoctoproject.org/mirror/sources/linux-2.6.19.2.tar.bz2
Connecting to downloads.yoctoproject.org (140.211.169.59:80)
@@ -903,7 +903,7 @@ unresolvable symbols in the expanded Xorg callchain).
Note also that we have both kernel and userspace entries in the above
snapshot. We can also tell perf to focus on userspace but providing a
modifier, in this case 'u', to the 'cycles' hardware counter when we
record a profile: ::
record a profile::
root@crownbay:~# perf record -g -a -e cycles:u
^C[ perf record: Woken up 2 times to write data ]
@@ -923,13 +923,13 @@ the entries associated with the libc-xxx.so DSO.
:align: center
We can also use the system-wide -a switch to do system-wide tracing.
Here we'll trace a couple of scheduler events: ::
Here we'll trace a couple of scheduler events::
root@crownbay:~# perf record -a -e sched:sched_switch -e sched:sched_wakeup
^C[ perf record: Woken up 38 times to write data ]
[ perf record: Captured and wrote 9.780 MB perf.data (~427299 samples) ]
We can look at the raw output using 'perf script' with no arguments: ::
We can look at the raw output using 'perf script' with no arguments::
root@crownbay:~# perf script
@@ -952,7 +952,7 @@ do with what we're interested in, namely events that schedule 'perf'
itself in and out or that wake perf up. We can get rid of those by using
the '--filter' option - for each event we specify using -e, we can add a
--filter after that to filter out trace events that contain fields with
specific values: ::
specific values::
root@crownbay:~# perf record -a -e sched:sched_switch --filter 'next_comm != perf && prev_comm != perf' -e sched:sched_wakeup --filter 'comm != perf'
^C[ perf record: Woken up 38 times to write data ]
@@ -1017,7 +1017,7 @@ perf isn't restricted to the fixed set of static tracepoints listed by
'perf list'. Users can also add their own 'dynamic' tracepoints anywhere
in the kernel. For instance, suppose we want to define our own
tracepoint on do_fork(). We can do that using the 'perf probe' perf
subcommand: ::
subcommand::
root@crownbay:~# perf probe do_fork
Added new event:
@@ -1031,7 +1031,7 @@ Adding a new tracepoint via
'perf probe' results in an event with all the expected files and format
in /sys/kernel/debug/tracing/events, just the same as for static
tracepoints (as discussed in more detail in the trace events subsystem
section: ::
section::
root@crownbay:/sys/kernel/debug/tracing/events/probe/do_fork# ls -al
drwxr-xr-x 2 root root 0 Oct 28 11:42 .
@@ -1056,7 +1056,7 @@ section: ::
print fmt: "(%lx)", REC->__probe_ip
We can list all dynamic tracepoints currently in
existence: ::
existence::
root@crownbay:~# perf probe -l
probe:do_fork (on do_fork)
@@ -1064,13 +1064,13 @@ existence: ::
Let's record system-wide ('sleep 30' is a
trick for recording system-wide but basically do nothing and then wake
up after 30 seconds): ::
up after 30 seconds)::
root@crownbay:~# perf record -g -a -e probe:do_fork sleep 30
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.087 MB perf.data (~3812 samples) ]
Using 'perf script' we can see each do_fork event that fired: ::
Using 'perf script' we can see each do_fork event that fired::
root@crownbay:~# perf script
@@ -1163,7 +1163,7 @@ addressed by a Yocto bug: :yocto_bugs:`Bug 3388 - perf: enable man pages for
basic 'help' functionality </show_bug.cgi?id=3388>`.
The man pages in text form, along with some other files, such as a set
of examples, can be found in the 'perf' directory of the kernel tree: ::
of examples, can be found in the 'perf' directory of the kernel tree::
tools/perf/Documentation
@@ -1197,7 +1197,7 @@ Basic ftrace usage
'ftrace' essentially refers to everything included in the /tracing
directory of the mounted debugfs filesystem (Yocto follows the standard
convention and mounts it at /sys/kernel/debug). Here's a listing of all
the files found in /sys/kernel/debug/tracing on a Yocto system: ::
the files found in /sys/kernel/debug/tracing on a Yocto system::
root@sugarbay:/sys/kernel/debug/tracing# ls
README kprobe_events trace
@@ -1222,12 +1222,12 @@ the ftrace documentation.
We'll start by looking at some of the available built-in tracers.
cat'ing the 'available_tracers' file lists the set of available tracers: ::
cat'ing the 'available_tracers' file lists the set of available tracers::
root@sugarbay:/sys/kernel/debug/tracing# cat available_tracers
blk function_graph function nop
The 'current_tracer' file contains the tracer currently in effect: ::
The 'current_tracer' file contains the tracer currently in effect::
root@sugarbay:/sys/kernel/debug/tracing# cat current_tracer
nop
@@ -1237,7 +1237,7 @@ The above listing of current_tracer shows that the
there's actually no tracer currently in effect.
echo'ing one of the available_tracers into current_tracer makes the
specified tracer the current tracer: ::
specified tracer the current tracer::
root@sugarbay:/sys/kernel/debug/tracing# echo function > current_tracer
root@sugarbay:/sys/kernel/debug/tracing# cat current_tracer
@@ -1247,7 +1247,7 @@ The above sets the current tracer to be the 'function tracer'. This tracer
traces every function call in the kernel and makes it available as the
contents of the 'trace' file. Reading the 'trace' file lists the
currently buffered function calls that have been traced by the function
tracer: ::
tracer::
root@sugarbay:/sys/kernel/debug/tracing# cat trace | less
@@ -1306,7 +1306,7 @@ great way to learn about how the kernel code works in a dynamic sense.
It is a little more difficult to follow the call chains than it needs to
be - luckily there's a variant of the function tracer that displays the
callchains explicitly, called the 'function_graph' tracer: ::
callchains explicitly, called the 'function_graph' tracer::
root@sugarbay:/sys/kernel/debug/tracing# echo function_graph > current_tracer
root@sugarbay:/sys/kernel/debug/tracing# cat trace | less
@@ -1442,7 +1442,7 @@ One especially important directory contained within the
/sys/kernel/debug/tracing directory is the 'events' subdirectory, which
contains representations of every tracepoint in the system. Listing out
the contents of the 'events' subdirectory, we see mainly another set of
subdirectories: ::
subdirectories::
root@sugarbay:/sys/kernel/debug/tracing# cd events
root@sugarbay:/sys/kernel/debug/tracing/events# ls -al
@@ -1491,7 +1491,7 @@ subdirectories: ::
Each one of these subdirectories
corresponds to a 'subsystem' and contains yet again more subdirectories,
each one of those finally corresponding to a tracepoint. For example,
here are the contents of the 'kmem' subsystem: ::
here are the contents of the 'kmem' subsystem::
root@sugarbay:/sys/kernel/debug/tracing/events# cd kmem
root@sugarbay:/sys/kernel/debug/tracing/events/kmem# ls -al
@@ -1513,7 +1513,7 @@ here are the contents of the 'kmem' subsystem: ::
drwxr-xr-x 2 root root 0 Nov 14 23:19 mm_page_pcpu_drain
Let's see what's inside the subdirectory for a
specific tracepoint, in this case the one for kmalloc: ::
specific tracepoint, in this case the one for kmalloc::
root@sugarbay:/sys/kernel/debug/tracing/events/kmem# cd kmalloc
root@sugarbay:/sys/kernel/debug/tracing/events/kmem/kmalloc# ls -al
@@ -1529,7 +1529,7 @@ tracepoint describes the event in memory, which is used by the various
tracing tools that now make use of these tracepoint to parse the event
and make sense of it, along with a 'print fmt' field that allows tools
like ftrace to display the event as text. Here's what the format of the
kmalloc event looks like: ::
kmalloc event looks like::
root@sugarbay:/sys/kernel/debug/tracing/events/kmem/kmalloc# cat format
name: kmalloc
@@ -1568,20 +1568,20 @@ The 'enable' file
in the tracepoint directory is what allows the user (or tools such as
trace-cmd) to actually turn the tracepoint on and off. When enabled, the
corresponding tracepoint will start appearing in the ftrace 'trace' file
described previously. For example, this turns on the kmalloc tracepoint: ::
described previously. For example, this turns on the kmalloc tracepoint::
root@sugarbay:/sys/kernel/debug/tracing/events/kmem/kmalloc# echo 1 > enable
At the moment, we're not interested in the function tracer or
some other tracer that might be in effect, so we first turn it off, but
if we do that, we still need to turn tracing on in order to see the
events in the output buffer: ::
events in the output buffer::
root@sugarbay:/sys/kernel/debug/tracing# echo nop > current_tracer
root@sugarbay:/sys/kernel/debug/tracing# echo 1 > tracing_on
Now, if we look at the 'trace' file, we see nothing
but the kmalloc events we just turned on: ::
but the kmalloc events we just turned on::
root@sugarbay:/sys/kernel/debug/tracing# cat trace | less
# tracer: nop
@@ -1627,7 +1627,7 @@ but the kmalloc events we just turned on: ::
<idle>-0 [000] ..s3 18156.400660: kmalloc: call_site=ffffffff81619b36 ptr=ffff88006d554800 bytes_req=512 bytes_alloc=512 gfp_flags=GFP_ATOMIC
matchbox-termin-1361 [001] ...1 18156.552800: kmalloc: call_site=ffffffff81614050 ptr=ffff88006db34800 bytes_req=576 bytes_alloc=1024 gfp_flags=GFP_KERNEL|GFP_REPEAT
To again disable the kmalloc event, we need to send 0 to the enable file: ::
To again disable the kmalloc event, we need to send 0 to the enable file::
root@sugarbay:/sys/kernel/debug/tracing/events/kmem/kmalloc# echo 0 > enable
@@ -1669,12 +1669,12 @@ a per-CPU graphical display. It directly uses 'trace-cmd' as the
plumbing that accomplishes all that underneath the covers (and actually
displays the trace-cmd command it uses, as we'll see).
To start a trace using kernelshark, first start kernelshark: ::
To start a trace using kernelshark, first start kernelshark::
root@sugarbay:~# kernelshark
Then bring up the 'Capture' dialog by
choosing from the kernelshark menu: ::
choosing from the kernelshark menu::
Capture | Record
@@ -1724,12 +1724,12 @@ ftrace Documentation
--------------------
The documentation for ftrace can be found in the kernel Documentation
directory: ::
directory::
Documentation/trace/ftrace.txt
The documentation for the trace event subsystem can also be found in the kernel
Documentation directory: ::
Documentation directory::
Documentation/trace/events.txt
@@ -1784,7 +1784,7 @@ which it extracts from the open syscall's argstr.
Normally, to execute this
probe, you'd simply install systemtap on the system you want to probe,
and directly run the probe on that system e.g. assuming the name of the
file containing the above text is trace_open.stp: ::
file containing the above text is trace_open.stp::
# stap trace_open.stp
@@ -1825,7 +1825,7 @@ target, with arguments if necessary.
In order to do this from a remote host, however, you need to have access
to the build for the image you booted. The 'crosstap' script provides
details on how to do this if you run the script on the host without
having done a build: ::
having done a build::
$ crosstap root@192.168.1.88 trace_open.stp
@@ -1885,7 +1885,7 @@ Running a Script on a Target
----------------------------
Once you've done that, you should be able to run a systemtap script on
the target: ::
the target::
$ cd /path/to/yocto
$ source oe-init-build-env
@@ -1903,17 +1903,17 @@ the target: ::
You can also run generated QEMU images with a command like 'runqemu qemux86-64'
Once you've done that, you can cd to whatever
directory contains your scripts and use 'crosstap' to run the script: ::
directory contains your scripts and use 'crosstap' to run the script::
$ cd /path/to/my/systemap/script
$ crosstap root@192.168.7.2 trace_open.stp
If you get an error connecting to the target e.g.: ::
If you get an error connecting to the target e.g.::
$ crosstap root@192.168.7.2 trace_open.stp
error establishing ssh connection on remote 'root@192.168.7.2'
Try ssh'ing to the target and see what happens: ::
Try ssh'ing to the target and see what happens::
$ ssh root@192.168.7.2
@@ -2038,7 +2038,7 @@ tracing.
Collecting and viewing a trace on the target (inside a shell)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
First, from the host, ssh to the target: ::
First, from the host, ssh to the target::
$ ssh -l root 192.168.1.47
The authenticity of host '192.168.1.47 (192.168.1.47)' can't be established.
@@ -2047,30 +2047,30 @@ First, from the host, ssh to the target: ::
Warning: Permanently added '192.168.1.47' (RSA) to the list of known hosts.
root@192.168.1.47's password:
Once on the target, use these steps to create a trace: ::
Once on the target, use these steps to create a trace::
root@crownbay:~# lttng create
Spawning a session daemon
Session auto-20121015-232120 created.
Traces will be written in /home/root/lttng-traces/auto-20121015-232120
Enable the events you want to trace (in this case all kernel events): ::
Enable the events you want to trace (in this case all kernel events)::
root@crownbay:~# lttng enable-event --kernel --all
All kernel events are enabled in channel channel0
Start the trace: ::
Start the trace::
root@crownbay:~# lttng start
Tracing started for session auto-20121015-232120
And then stop the trace after awhile or after running a particular workload that
you want to trace: ::
you want to trace::
root@crownbay:~# lttng stop
Tracing stopped for session auto-20121015-232120
You can now view the trace in text form on the target: ::
You can now view the trace in text form on the target::
root@crownbay:~# lttng view
[23:21:56.989270399] (+?.?????????) sys_geteuid: { 1 }, { }
@@ -2116,14 +2116,14 @@ You can now view the trace in text form on the target: ::
You can now safely destroy the trace
session (note that this doesn't delete the trace - it's still there in
~/lttng-traces): ::
~/lttng-traces)::
root@crownbay:~# lttng destroy
Session auto-20121015-232120 destroyed at /home/root
Note that the trace is saved in a directory of the same name as returned by
'lttng create', under the ~/lttng-traces directory (note that you can change this by
supplying your own name to 'lttng create'): ::
supplying your own name to 'lttng create')::
root@crownbay:~# ls -al ~/lttng-traces
drwxrwx--- 3 root root 1024 Oct 15 23:21 .
@@ -2139,18 +2139,18 @@ generated by the lttng-ust build.
The 'hello' test program isn't installed on the rootfs by the lttng-ust
build, so we need to copy it over manually. First cd into the build
directory that contains the hello executable: ::
directory that contains the hello executable::
$ cd build/tmp/work/core2_32-poky-linux/lttng-ust/2.0.5-r0/git/tests/hello/.libs
Copy that over to the target machine: ::
Copy that over to the target machine::
$ scp hello root@192.168.1.20:
You now have the instrumented lttng 'hello world' test program on the
target, ready to test.
First, from the host, ssh to the target: ::
First, from the host, ssh to the target::
$ ssh -l root 192.168.1.47
The authenticity of host '192.168.1.47 (192.168.1.47)' can't be established.
@@ -2159,35 +2159,35 @@ First, from the host, ssh to the target: ::
Warning: Permanently added '192.168.1.47' (RSA) to the list of known hosts.
root@192.168.1.47's password:
Once on the target, use these steps to create a trace: ::
Once on the target, use these steps to create a trace::
root@crownbay:~# lttng create
Session auto-20190303-021943 created.
Traces will be written in /home/root/lttng-traces/auto-20190303-021943
Enable the events you want to trace (in this case all userspace events): ::
Enable the events you want to trace (in this case all userspace events)::
root@crownbay:~# lttng enable-event --userspace --all
All UST events are enabled in channel channel0
Start the trace: ::
Start the trace::
root@crownbay:~# lttng start
Tracing started for session auto-20190303-021943
Run the instrumented hello world program: ::
Run the instrumented hello world program::
root@crownbay:~# ./hello
Hello, World!
Tracing... done.
And then stop the trace after awhile or after running a particular workload
that you want to trace: ::
that you want to trace::
root@crownbay:~# lttng stop
Tracing stopped for session auto-20190303-021943
You can now view the trace in text form on the target: ::
You can now view the trace in text form on the target::
root@crownbay:~# lttng view
[02:31:14.906146544] (+?.?????????) hello:1424 ust_tests_hello:tptest: { cpu_id = 1 }, { intfield = 0, intfield2 = 0x0, longfield = 0, netintfield = 0, netintfieldhex = 0x0, arrfield1 = [ [0] = 1, [1] = 2, [2] = 3 ], arrfield2 = "test", _seqfield1_length = 4, seqfield1 = [ [0] = 116, [1] = 101, [2] = 115, [3] = 116 ], _seqfield2_length = 4, seqfield2 = "test", stringfield = "test", floatfield = 2222, doublefield = 2, boolfield = 1 }
@@ -2199,7 +2199,7 @@ You can now view the trace in text form on the target: ::
.
You can now safely destroy the trace session (note that this doesn't delete the
trace - it's still there in ~/lttng-traces): ::
trace - it's still there in ~/lttng-traces)::
root@crownbay:~# lttng destroy
Session auto-20190303-021943 destroyed at /home/root
@@ -2244,7 +2244,7 @@ Basic blktrace Usage
--------------------
To record a trace, simply run the 'blktrace' command, giving it the name
of the block device you want to trace activity on: ::
of the block device you want to trace activity on::
root@crownbay:~# blktrace /dev/sdc
@@ -2265,7 +2265,7 @@ dumps them to userspace for blkparse to merge and sort later). ::
Total: 8660 events (dropped 0), 406 KiB data
If you examine the files saved to disk, you see multiple files, one per CPU and
with the device name as the first part of the filename: ::
with the device name as the first part of the filename::
root@crownbay:~# ls -al
drwxr-xr-x 6 root root 1024 Oct 27 22:39 .
@@ -2275,7 +2275,7 @@ with the device name as the first part of the filename: ::
To view the trace events, simply invoke 'blkparse' in the directory
containing the trace files, giving it the device name that forms the
first part of the filenames: ::
first part of the filenames::
root@crownbay:~# blkparse sdc
@@ -2373,7 +2373,7 @@ Live Mode
blktrace and blkparse are designed from the ground up to be able to
operate together in a 'pipe mode' where the stdout of blktrace can be
fed directly into the stdin of blkparse: ::
fed directly into the stdin of blkparse::
root@crownbay:~# blktrace /dev/sdc -o - | blkparse -i -
@@ -2386,7 +2386,7 @@ identify and capture conditions of interest.
There's actually another blktrace command that implements the above
pipeline as a single command, so the user doesn't have to bother typing
in the above command sequence: ::
in the above command sequence::
root@crownbay:~# btrace /dev/sdc
@@ -2401,19 +2401,19 @@ the traced device at all by providing native support for sending all
trace data over the network.
To have blktrace operate in this mode, start blktrace on the target
system being traced with the -l option, along with the device to trace: ::
system being traced with the -l option, along with the device to trace::
root@crownbay:~# blktrace -l /dev/sdc
server: waiting for connections...
On the host system, use the -h option to connect to the target system,
also passing it the device to trace: ::
also passing it the device to trace::
$ blktrace -d /dev/sdc -h 192.168.1.43
blktrace: connecting to 192.168.1.43
blktrace: connected!
On the target system, you should see this: ::
On the target system, you should see this::
server: connection from 192.168.1.43
@@ -2424,7 +2424,7 @@ In another shell, execute a workload you want to trace. ::
linux-2.6.19.2.tar.b 100% \|*******************************\| 41727k 0:00:00 ETA
When it's done, do a Ctrl-C on the host system to stop the
trace: ::
trace::
^C=== sdc ===
CPU 0: 7691 events, 361 KiB data
@@ -2432,7 +2432,7 @@ trace: ::
Total: 11800 events (dropped 0), 554 KiB data
On the target system, you should also see a trace summary for the trace
just ended: ::
just ended::
server: end of run for 192.168.1.43:sdc
=== sdc ===
@@ -2441,20 +2441,20 @@ just ended: ::
Total: 11800 events (dropped 0), 554 KiB data
The blktrace instance on the host will
save the target output inside a hostname-timestamp directory: ::
save the target output inside a hostname-timestamp directory::
$ ls -al
drwxr-xr-x 10 root root 1024 Oct 28 02:40 .
drwxr-sr-x 4 root root 1024 Oct 26 18:24 ..
drwxr-xr-x 2 root root 1024 Oct 28 02:40 192.168.1.43-2012-10-28-02:40:56
cd into that directory to see the output files: ::
cd into that directory to see the output files::
$ ls -l
-rw-r--r-- 1 root root 369193 Oct 28 02:44 sdc.blktrace.0
-rw-r--r-- 1 root root 197278 Oct 28 02:44 sdc.blktrace.1
And run blkparse on the host system using the device name: ::
And run blkparse on the host system using the device name::
$ blkparse sdc
@@ -2517,25 +2517,25 @@ userspace tools.
To enable tracing for a given device, use /sys/block/xxx/trace/enable,
where xxx is the device name. This for example enables tracing for
/dev/sdc: ::
/dev/sdc::
root@crownbay:/sys/kernel/debug/tracing# echo 1 > /sys/block/sdc/trace/enable
Once you've selected the device(s) you want
to trace, selecting the 'blk' tracer will turn the blk tracer on: ::
to trace, selecting the 'blk' tracer will turn the blk tracer on::
root@crownbay:/sys/kernel/debug/tracing# cat available_tracers
blk function_graph function nop
root@crownbay:/sys/kernel/debug/tracing# echo blk > current_tracer
Execute the workload you're interested in: ::
Execute the workload you're interested in::
root@crownbay:/sys/kernel/debug/tracing# cat /media/sdc/testfile.txt
And look at the output (note here that we're using 'trace_pipe' instead of
trace to capture this trace - this allows us to wait around on the pipe
for data to appear): ::
for data to appear)::
root@crownbay:/sys/kernel/debug/tracing# cat trace_pipe
cat-3587 [001] d..1 3023.276361: 8,32 Q R 1699848 + 8 [cat]
@@ -2554,7 +2554,7 @@ for data to appear): ::
cat-3587 [001] d..1 3023.276497: 8,32 m N cfq3587 activate rq, drv=1
cat-3587 [001] d..2 3023.276500: 8,32 D R 1699848 + 8 [cat]
And this turns off tracing for the specified device: ::
And this turns off tracing for the specified device::
root@crownbay:/sys/kernel/debug/tracing# echo 0 > /sys/block/sdc/trace/enable
@@ -2572,6 +2572,6 @@ section can be found here:
The above manpages, along with manpages for the other blktrace utilities
(btt, blkiomon, etc) can be found in the /doc directory of the blktrace
tools git repo: ::
tools git repo::
$ git clone git://git.kernel.dk/blktrace.git

View File

@@ -168,8 +168,7 @@ example use for this class.
the "subpath" parameter limits the checkout to a specific subpath
of the tree. Here is an example where ``${BP}`` is used so that the files
are extracted into the subdirectory expected by the default value of
``S``:
::
``S``::
SRC_URI = "git://example.com/downloads/somepackage.rpm;subpath=${BP}"
@@ -221,8 +220,7 @@ each recipe you wish to blacklist. Specify the :term:`PN`
value as a variable flag (varflag) and provide a reason, which is
reported, if the package is requested to be built as the value. For
example, if you want to blacklist a recipe called "exoticware", you add
the following to your ``local.conf`` or distribution configuration:
::
the following to your ``local.conf`` or distribution configuration::
INHERIT += "blacklist"
PNBLACKLIST[exoticware] = "Not supported by our organization."
@@ -470,8 +468,7 @@ information about using ``devshell``.
The ``devupstream`` class uses
:term:`BBCLASSEXTEND` to add a variant of the
recipe that fetches from an alternative URI (e.g. Git) instead of a
tarball. Following is an example:
::
tarball. Following is an example::
BBCLASSEXTEND = "devupstream:target"
SRC_URI_class-devupstream = "git://git.example.com/example"
@@ -481,8 +478,7 @@ Adding the above statements to your recipe creates a variant that has
:term:`DEFAULT_PREFERENCE` set to "-1".
Consequently, you need to select the variant of the recipe to use it.
Any development-specific adjustments can be done by using the
``class-devupstream`` override. Here is an example:
::
``class-devupstream`` override. Here is an example::
DEPENDS_append_class-devupstream = " gperf-native"
do_configure_prepend_class-devupstream() {
@@ -501,29 +497,6 @@ Support for other version control systems such as Subversion is limited
due to BitBake's automatic fetch dependencies (e.g.
``subversion-native``).
.. _ref-classes-distutils:
``distutils*.bbclass``
======================
The ``distutils*`` classes support recipes for Python version 2.x
extensions, which are simple. These recipes usually only need to point
to the source's archive and then inherit the proper class. Building is
split into two methods depending on which method the module authors
used.
- Extensions that use an Autotools-based build system require Autotools
and the classes based on ``distutils`` in their recipes.
- Extensions that use build systems based on ``distutils`` require the
``distutils`` class in their recipes.
- Extensions that use build systems based on ``setuptools`` require the
:ref:`setuptools <ref-classes-setuptools>` class in their recipes.
The ``distutils-common-base`` class is required by some of the
``distutils*`` classes to provide common Python2 support.
.. _ref-classes-distutils3:
``distutils3*.bbclass``
@@ -542,15 +515,9 @@ used.
``distutils`` class in their recipes.
- Extensions that use build systems based on ``setuptools3`` require
the :ref:`setuptools3 <ref-classes-setuptools>` class in their
the :ref:`setuptools3 <ref-classes-setuptools3>` class in their
recipes.
The ``distutils3*`` classes either inherit their corresponding
``distutils*`` class or replicate them using a Python3 version instead
(e.g. ``distutils3-base`` inherits ``distutils-common-base``, which is
the same as ``distutils-base`` but inherits ``python3native`` instead of
``pythonnative``).
.. _ref-classes-externalsrc:
``externalsrc.bbclass``
@@ -573,8 +540,7 @@ By default, this class expects the source code to support recipe builds
that use the :term:`B` variable to point to the directory in
which the OpenEmbedded build system places the generated objects built
from the recipes. By default, the ``B`` directory is set to the
following, which is separate from the source directory (``S``):
::
following, which is separate from the source directory (``S``)::
${WORKDIR}/${BPN}/{PV}/
@@ -610,8 +576,7 @@ be performed using the
useradd
class to add user and group configuration to a specific recipe.
Here is an example that uses this class in an image recipe:
::
Here is an example that uses this class in an image recipe::
inherit extrausers
EXTRA_USERS_PARAMS = "\
@@ -624,8 +589,7 @@ Here is an example that uses this class in an image recipe:
"
Here is an example that adds two users named "tester-jim" and "tester-sue" and assigns
passwords:
::
passwords::
inherit extrausers
EXTRA_USERS_PARAMS = "\
@@ -633,8 +597,7 @@ passwords:
useradd -P tester01 tester-sue; \
"
Finally, here is an example that sets the root password to "1876*18":
::
Finally, here is an example that sets the root password to "1876*18"::
inherit extrausers
EXTRA_USERS_PARAMS = "\
@@ -896,8 +859,7 @@ system need to either inherit the ``icecc`` class or nobody should.
At the distribution level, you can inherit the ``icecc`` class to be
sure that all builders start with the same sstate signatures. After
inheriting the class, you can then disable the feature by setting the
:term:`ICECC_DISABLED` variable to "1" as follows:
::
:term:`ICECC_DISABLED` variable to "1" as follows::
INHERIT_DISTRO_append = " icecc"
ICECC_DISABLED ??= "1"
@@ -905,8 +867,7 @@ inheriting the class, you can then disable the feature by setting the
This practice
makes sure everyone is using the same signatures but also requires
individuals that do want to use Icecream to enable the feature
individually as follows in your ``local.conf`` file:
::
individually as follows in your ``local.conf`` file::
ICECC_DISABLED = ""
@@ -954,8 +915,7 @@ types.
By default, the :ref:`image <ref-classes-image>` class automatically
enables the ``image_types`` class. The ``image`` class uses the
``IMGCLASSES`` variable as follows:
::
``IMGCLASSES`` variable as follows::
IMGCLASSES = "rootfs_${IMAGE_PKGTYPE} image_types ${IMAGE_CLASSES}"
IMGCLASSES += "${@['populate_sdk_base', 'populate_sdk_ext']['linux' in d.getVar("SDK_OS")]}"
@@ -997,8 +957,7 @@ during the :ref:`ref-tasks-rootfs` task, which optimizes
the size of libraries contained in the image.
By default, the class is enabled in the ``local.conf.template`` using
the :term:`USER_CLASSES` variable as follows:
::
the :term:`USER_CLASSES` variable as follows::
USER_CLASSES ?= "buildstats image-mklibs image-prelink"
@@ -1013,8 +972,7 @@ the dynamic linking of shared libraries to reduce executable startup
time.
By default, the class is enabled in the ``local.conf.template`` using
the :term:`USER_CLASSES` variable as follows:
::
the :term:`USER_CLASSES` variable as follows::
USER_CLASSES ?= "buildstats image-mklibs image-prelink"
@@ -1043,8 +1001,7 @@ configuration). However, to skip one or more checks in recipes, you
should use :term:`INSANE_SKIP`. For example, to skip
the check for symbolic link ``.so`` files in the main package of a
recipe, add the following to the recipe. You need to realize that the
package name override, in this example ``${PN}``, must be used:
::
package name override, in this example ``${PN}``, must be used::
INSANE_SKIP_${PN} += "dev-so"
@@ -1052,7 +1009,7 @@ Please keep in mind that the QA checks
exist in order to detect real or potential problems in the packaged
output. So exercise caution when disabling these checks.
The following list shows the tests you can list with the ``WARN_QA`` and
Here are the tests you can list with the ``WARN_QA`` and
``ERROR_QA`` variables:
- ``already-stripped:`` Checks that produced binaries have not
@@ -1181,8 +1138,7 @@ The following list shows the tests you can list with the ``WARN_QA`` and
- ``invalid-packageconfig:`` Checks that no undefined features are
being added to :term:`PACKAGECONFIG`. For
example, any name "foo" for which the following form does not exist:
::
example, any name "foo" for which the following form does not exist::
PACKAGECONFIG[foo] = "..."
@@ -1304,8 +1260,8 @@ The following list shows the tests you can list with the ``WARN_QA`` and
.. note::
If you are not using runtime package management on your target
system, then you do not need to worry about this situation.
This is only relevant when you are using runtime package management
on your target system.
- ``xorg-driver-abi:`` Checks that all packages containing Xorg
drivers have ABI dependencies. The ``xserver-xorg`` recipe provides
@@ -1665,8 +1621,7 @@ a couple different ways:
.. note::
When creating a recipe this way, the recipe name must follow this
naming convention:
::
naming convention::
myrecipe-native.bb
@@ -1674,8 +1629,7 @@ a couple different ways:
Not using this naming convention can lead to subtle problems
caused by existing code that depends on that naming convention.
- Create or modify a target recipe that contains the following:
::
- Create or modify a target recipe that contains the following::
BBCLASSEXTEND = "native"
@@ -1706,8 +1660,7 @@ couple different ways:
inherit statement in the recipe after all other inherit statements so
that the ``nativesdk`` class is inherited last.
- Create a ``nativesdk`` variant of any recipe by adding the following:
::
- Create a ``nativesdk`` variant of any recipe by adding the following::
BBCLASSEXTEND = "nativesdk"
@@ -1718,8 +1671,7 @@ couple different ways:
.. note::
When creating a recipe, you must follow this naming convention:
::
When creating a recipe, you must follow this naming convention::
nativesdk-myrecipe.bb
@@ -1782,8 +1734,7 @@ before attempting to fetch it from the upstream specified in
:term:`SRC_URI` within each recipe.
To use this class, inherit it globally and specify
:term:`SOURCE_MIRROR_URL`. Here is an example:
::
:term:`SOURCE_MIRROR_URL`. Here is an example::
INHERIT += "own-mirrors"
SOURCE_MIRROR_URL = "http://example.com/my-source-mirror"
@@ -2046,8 +1997,7 @@ established and then populates the SDK. After populating the SDK, the
contains the cross-compiler and associated tooling, and the target,
which contains a target root filesystem that is configured for the SDK
usage. These two images reside in :term:`SDK_OUTPUT`,
which consists of the following:
::
which consists of the following::
${SDK_OUTPUT}/${SDK_ARCH}-nativesdk-pkgs
${SDK_OUTPUT}/${SDKTARGETSYSROOT}/target-pkgs
@@ -2138,13 +2088,13 @@ For information on setting up and running ptests, see the
":ref:`dev-manual/common-tasks:testing packages with ptest`"
section in the Yocto Project Development Tasks Manual.
.. _ref-classes-python-dir:
.. _ref-classes-python3-dir:
``python-dir.bbclass``
======================
``python3-dir.bbclass``
=======================
The ``python-dir`` class provides the base version, location, and site
package location for Python.
The ``python3-dir`` class provides the base version, location, and site
package location for Python 3.
.. _ref-classes-python3native:
@@ -2155,14 +2105,17 @@ The ``python3native`` class supports using the native version of Python
3 built by the build system rather than support of the version provided
by the build host.
.. _ref-classes-pythonnative:
.. _ref-classes-python3targetconfig:
``pythonnative.bbclass``
========================
``python3targetconfig.bbclass``
===============================
When inherited by a recipe, the ``pythonnative`` class supports using
the native version of Python built by the build system rather than using
the version provided by the build host.
The ``python3targetconfig`` class supports using the native version of Python
3 built by the build system rather than support of the version provided
by the build host, except that the configuration for the target machine
is accessible (such as correct installation directories). This also adds a
dependency on target ``python3``, so should only be used where appropriate
in order to avoid unnecessarily lengthening builds.
.. _ref-classes-qemu:
@@ -2206,8 +2159,7 @@ installed by ``libtool``. Removing these files results in them being
absent from both the sysroot and target packages.
If a recipe needs the ``.la`` files to be installed, then the recipe can
override the removal by setting ``REMOVE_LIBTOOL_LA`` to "0" as follows:
::
override the removal by setting ``REMOVE_LIBTOOL_LA`` to "0" as follows::
REMOVE_LIBTOOL_LA = "0"
@@ -2257,8 +2209,7 @@ recipe, enabling ``rm_work`` will potentially result in your changes to
the source being lost. To exclude some recipes from having their work
directories deleted by ``rm_work``, you can add the names of the recipe
or recipes you are working on to the ``RM_WORK_EXCLUDE`` variable, which
can also be set in your ``local.conf`` file. Here is an example:
::
can also be set in your ``local.conf`` file. Here is an example::
RM_WORK_EXCLUDE += "busybox glibc"
@@ -2323,22 +2274,13 @@ additional configuration options you want to pass SCons command line.
The ``sdl`` class supports recipes that need to build software that uses
the Simple DirectMedia Layer (SDL) library.
.. _ref-classes-setuptools:
``setuptools.bbclass``
======================
The ``setuptools`` class supports Python version 2.x extensions that use
build systems based on ``setuptools``. If your recipe uses these build
systems, the recipe needs to inherit the ``setuptools`` class.
.. _ref-classes-setuptools3:
``setuptools3.bbclass``
=======================
The ``setuptools3`` class supports Python version 3.x extensions that
use build systems based on ``setuptools3``. If your recipe uses these
use build systems based on ``setuptools``. If your recipe uses these
build systems, the recipe needs to inherit the ``setuptools3`` class.
.. _ref-classes-sign_rpm:
@@ -2566,8 +2508,7 @@ You should set :term:`SYSTEMD_SERVICE` to the
name of the service file. You should also use a package name override to
indicate the package to which the value applies. If the value applies to
the recipe's main package, use ``${``\ :term:`PN`\ ``}``. Here
is an example from the connman recipe:
::
is an example from the connman recipe::
SYSTEMD_SERVICE_${PN} = "connman.service"
@@ -2643,8 +2584,7 @@ The tests are commands that run on the target system over ``ssh``. Each
test is written in Python and makes use of the ``unittest`` module.
The ``testimage.bbclass`` runs tests on an image when called using the
following:
::
following::
$ bitbake -c testimage image
@@ -2663,8 +2603,7 @@ section in the Yocto Project Development Tasks Manual.
This class supports running automated tests against software development
kits (SDKs). The ``testsdk`` class runs tests on an SDK when called
using the following:
::
using the following::
$ bitbake -c testsdk image
@@ -2719,8 +2658,7 @@ the environment for installed SDKs.
The ``typecheck`` class provides support for validating the values of
variables set at the configuration level against their defined types.
The OpenEmbedded build system allows you to define the type of a
variable using the "type" varflag. Here is an example:
::
variable using the "type" varflag. Here is an example::
IMAGE_FEATURES[type] = "list"
@@ -2730,14 +2668,12 @@ variable using the "type" varflag. Here is an example:
========================
The ``uboot-config`` class provides support for U-Boot configuration for
a machine. Specify the machine in your recipe as follows:
::
a machine. Specify the machine in your recipe as follows::
UBOOT_CONFIG ??= <default>
UBOOT_CONFIG[foo] = "config,images"
You can also specify the machine using this method:
::
You can also specify the machine using this method::
UBOOT_MACHINE = "config"

View File

@@ -22,8 +22,7 @@ Getting Help
The ``devtool`` command line is organized similarly to Git in that it
has a number of sub-commands for each function. You can run
``devtool --help`` to see all the commands:
::
``devtool --help`` to see all the commands::
$ devtool -h
NOTE: Starting bitbake server...
@@ -79,8 +78,7 @@ has a number of sub-commands for each function. You can run
As directed in the general help output, you can
get more syntax on a specific command by providing the command name and
using "--help":
::
using "--help"::
$ devtool add --help
NOTE: Starting bitbake server...
@@ -172,14 +170,13 @@ you. The source files the recipe uses should exist in an external area.
The following example creates and adds a new recipe named ``jackson`` to
a workspace layer the tool creates. The source code built by the recipes
resides in ``/home/user/sources/jackson``:
::
resides in ``/home/user/sources/jackson``::
$ devtool add jackson /home/user/sources/jackson
If you add a recipe and the workspace layer does not exist, the command
creates the layer and populates it as described in "`The Workspace Layer
Structure <#devtool-the-workspace-layer-structure>`__" section.
creates the layer and populates it as described in
":ref:`devtool-the-workspace-layer-structure`" section.
Running ``devtool add`` when the workspace layer exists causes the tool
to add the recipe, append files, and source files into the existing
@@ -201,8 +198,7 @@ unpacking files from a remote URI. In some cases, you might want to
specify a source revision by branch, tag, or commit hash. You can
specify these options when using the ``devtool add`` command:
- To specify a source branch, use the ``--srcbranch`` option:
::
- To specify a source branch, use the ``--srcbranch`` option::
$ devtool add --srcbranch &DISTRO_NAME_NO_CAP; jackson /home/user/sources/jackson
@@ -210,8 +206,7 @@ specify these options when using the ``devtool add`` command:
branch.
- To specify a specific tag or commit hash, use the ``--srcrev``
option:
::
option::
$ devtool add --srcrev &DISTRO_REL_TAG; jackson /home/user/sources/jackson
$ devtool add --srcrev some_commit_hash /home/user/sources/jackson
@@ -269,8 +264,7 @@ The ``devtool modify`` command extracts the source for a recipe, sets it
up as a Git repository if the source had not already been fetched from
Git, checks out a branch for development, and applies any patches from
the recipe as commits on top. You can use the following command to
checkout the source files:
::
checkout the source files::
$ devtool modify recipe
@@ -309,8 +303,7 @@ compile, and test the code.
When you are satisfied with the results and you have committed your
changes to the Git repository, you can then run the
``devtool update-recipe`` to create the patches and update the recipe:
::
``devtool update-recipe`` to create the patches and update the recipe::
$ devtool update-recipe recipe
@@ -321,8 +314,7 @@ Often, you might want to apply customizations made to your software in
your own layer rather than apply them to the original recipe. If so, you
can use the ``-a`` or ``--append`` option with the
``devtool update-recipe`` command. These options allow you to specify
the layer into which to write an append file:
::
the layer into which to write an append file::
$ devtool update-recipe recipe -a base-layer-directory
@@ -358,8 +350,7 @@ particular recipe.
recipe's latest version tag.
As with all ``devtool`` commands, you can get help on the individual
command:
::
command::
$ devtool check-upgrade-status -h
NOTE: Starting bitbake server...
@@ -462,8 +453,7 @@ files have been modified, the command preserves the modified files in a
separate "attic" subdirectory under the workspace layer.
Here is an example that resets the workspace directory that contains the
``mtr`` recipe:
::
``mtr`` recipe::
$ devtool reset mtr
NOTE: Cleaning sysroot for recipe mtr...
@@ -482,8 +472,7 @@ Use the ``devtool build`` command to build your recipe. The
When you use the ``devtool build`` command, you must supply the root
name of the recipe (i.e. do not provide versions, paths, or extensions).
You can use either the "-s" or the "--disable-parallel-make" options to
disable parallel makes during the build. Here is an example:
::
disable parallel makes during the build. Here is an example::
$ devtool build recipe
@@ -499,8 +488,7 @@ device for testing. For proper integration into a final image, you need
to edit your custom image recipe appropriately.
When you use the ``devtool build-image`` command, you must supply the
name of the image. This command has no command line options:
::
name of the image. This command has no command line options::
$ devtool build-image image
@@ -510,8 +498,7 @@ Deploying Your Software on the Target Machine
=============================================
Use the ``devtool deploy-target`` command to deploy the recipe's build
output to the live target machine:
::
output to the live target machine::
$ devtool deploy-target recipe target
@@ -582,15 +569,13 @@ new workspace layer, it is populated with the ``README`` file and the
``conf`` directory only.
The following example creates a new workspace layer in your current
working and by default names the workspace layer "workspace":
::
working and by default names the workspace layer "workspace"::
$ devtool create-workspace
You can create a workspace layer anywhere by supplying a pathname with
the command. The following command creates a new workspace layer named
"new-workspace":
::
"new-workspace"::
$ devtool create-workspace /home/scottrif/new-workspace
@@ -603,15 +588,13 @@ Use the ``devtool status`` command to list the recipes currently in your
workspace. Information includes the paths to their respective external
source trees.
The ``devtool status`` command has no command-line options:
::
The ``devtool status`` command has no command-line options::
$ devtool status
Following is sample output after using
:ref:`devtool add <ref-manual/devtool-reference:adding a new recipe to the workspace layer>`
to create and add the ``mtr_0.86.bb`` recipe to the ``workspace`` directory:
::
to create and add the ``mtr_0.86.bb`` recipe to the ``workspace`` directory::
$ devtool status
mtr:/home/scottrif/poky/build/workspace/sources/mtr (/home/scottrif/poky/build/workspace/recipes/mtr/mtr_0.86.bb)

View File

@@ -16,7 +16,7 @@ first before being pulled back into Poky. This practice benefits both
projects immediately.
**Q:** My development system does not meet the required Git, tar, and
Python versions. In particular, I do not have Python 3.5.0 or greater.
Python versions. In particular, I do not have Python &MIN_PYTHON_VERSION; or greater.
Can I still use the Yocto Project?
**A:** You can get the required tools on your host development system a
@@ -125,7 +125,7 @@ file.
Following is the applicable code for setting various proxy types in the
``.wgetrc`` file. By default, these settings are disabled with comments.
To use them, remove the comments: ::
To use them, remove the comments::
# You can set the default proxies for Wget to use for http, https, and ftp.
# They will override the value in the environment.
@@ -209,8 +209,7 @@ section in the Yocto Project Development Tasks Manual.
**A:** You need to create a form factor file as described in the
":ref:`bsp-guide/bsp:miscellaneous bsp-specific recipe files`" section in
the Yocto Project Board Support Packages (BSP) Developer's Guide. Set
the ``HAVE_TOUCHSCREEN`` variable equal to one as follows:
::
the ``HAVE_TOUCHSCREEN`` variable equal to one as follows::
HAVE_TOUCHSCREEN=1
@@ -224,7 +223,7 @@ to add a BSP-specific netbase that includes an interfaces file. See the
the Yocto Project Board Support Packages (BSP) Developer's Guide for
information on creating these types of miscellaneous recipe files.
For example, add the following files to your layer: ::
For example, add the following files to your layer::
meta-MACHINE/recipes-bsp/netbase/netbase/MACHINE/interfaces
meta-MACHINE/recipes-bsp/netbase/netbase_5.0.bbappend
@@ -300,7 +299,7 @@ fail.
As an example, you could add a specific server for the build system to
attempt before any others by adding something like the following to the
``local.conf`` configuration file: ::
``local.conf`` configuration file::
PREMIRRORS_prepend = "\
git://.*/.* http://www.yoctoproject.org/sources/ \n \
@@ -313,8 +312,7 @@ HTTPS requests and direct them to the ``http://`` sources mirror. You
can use ``file://`` URLs to point to local directories or network shares
as well.
Aside from the previous technique, these options also exist:
::
Aside from the previous technique, these options also exist::
BB_NO_NETWORK = "1"
@@ -322,8 +320,7 @@ This statement tells BitBake to issue an error
instead of trying to access the Internet. This technique is useful if
you want to ensure code builds only from local sources.
Here is another technique:
::
Here is another technique::
BB_FETCH_PREMIRRORONLY = "1"
@@ -331,8 +328,7 @@ This statement
limits the build system to pulling source from the ``PREMIRRORS`` only.
Again, this technique is useful for reproducing builds.
Here is another technique:
::
Here is another technique::
BB_GENERATE_MIRROR_TARBALLS = "1"
@@ -343,7 +339,7 @@ however, the technique can simply waste time during the build.
Finally, consider an example where you are behind an HTTP-only firewall.
You could make the following changes to the ``local.conf`` configuration
file as long as the ``PREMIRRORS`` server is current: ::
file as long as the ``PREMIRRORS`` server is current::
PREMIRRORS_prepend = "\
ftp://.*/.* http://www.yoctoproject.org/sources/ \n \

View File

@@ -26,8 +26,7 @@ One method you can use to determine which recipes are checking to see if
a particular feature is contained or not is to ``grep`` through the
:term:`Metadata` for the feature. Here is an example that
discovers the recipes whose build is potentially changed based on a
given feature:
::
given feature::
$ cd poky
$ git grep 'contains.*MACHINE_FEATURES.*feature'
@@ -197,7 +196,7 @@ you can add several different predefined packages such as development
utilities or packages with debug information needed to investigate
application problems or profile applications.
The following image features are available for all images:
Here are the image features available for all images:
- *allow-empty-password:* Allows Dropbear and OpenSSH to accept root
logins and logins from accounts having an empty password string.

View File

@@ -18,8 +18,7 @@ image you want.
are going to build an image using non-GPLv3 and similarly licensed
components, you must make the following changes in the ``local.conf``
file before using the BitBake command to build the minimal or base
image:
::
image::
1. Comment out the EXTRA_IMAGE_FEATURES line
2. Set INCOMPATIBLE_LICENSE = "GPL-3.0 LGPL-3.0 AGPL-3.0"
@@ -27,7 +26,7 @@ image you want.
From within the ``poky`` Git repository, you can use the following
command to display the list of directories within the :term:`Source Directory`
that contain image recipe files: ::
that contain image recipe files::
$ ls meta*/recipes*/images/*.bb

View File

@@ -30,8 +30,7 @@ Command: part or partition
==========================
Either of these commands creates a partition on the system and uses the
following syntax:
::
following syntax::
part [mntpoint]
partition [mntpoint]
@@ -59,8 +58,7 @@ must also provide one of the ``--ondrive``, ``--ondisk``, or
versions of these application are currently excluded.
Here is an example that uses "/" as the mountpoint. The command uses
``--ondisk`` to force the partition onto the ``sdb`` disk:
::
``--ondisk`` to force the partition onto the ``sdb`` disk::
part / --source rootfs --ondisk sdb --fstype=ext3 --label platform --align 1024

View File

@@ -1,10 +1,10 @@
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Moving to the Yocto Project 1.3 Release
=======================================
Moving to the Yocto Project 1.3 Release (danny)
===============================================
This section provides migration information for moving to the Yocto
Project 1.3 Release from the prior release.
Project 1.3 Release (codename "danny") from the prior release.
.. _1.3-local-configuration:
@@ -29,7 +29,7 @@ location (either local or remote) and then point to it in
:term:`SSTATE_MIRRORS`, you need to append "PATH"
to the end of the mirror URL so that the path used by BitBake before the
mirror substitution is appended to the path used to access the mirror.
Here is an example: ::
Here is an example::
SSTATE_MIRRORS = "file://.* http://someserver.tld/share/sstate/PATH"
@@ -181,14 +181,13 @@ Linux Kernel Naming
-------------------
The naming scheme for kernel output binaries has been changed to now
include :term:`PE` as part of the filename:
::
include :term:`PE` as part of the filename::
KERNEL_IMAGE_BASE_NAME ?= "${KERNEL_IMAGETYPE}-${PE}-${PV}-${PR}-${MACHINE}-${DATETIME}"
Because the ``PE`` variable is not set by default, these binary files
could result with names that include two dash characters. Here is an
example: ::
example::
bzImage--3.10.9+git0+cd502a8814_7144bcc4b8-r0-qemux86-64-20130830085431.bin

View File

@@ -1,8 +1,8 @@
Moving to the Yocto Project 1.4 Release
=======================================
Moving to the Yocto Project 1.4 Release (dylan)
===============================================
This section provides migration information for moving to the Yocto
Project 1.4 Release from the prior release.
Project 1.4 Release (codename "dylan") from the prior release.
.. _migration-1.4-bitbake:
@@ -40,8 +40,7 @@ Differences include the following:
- *Shared State Code:* The shared state code has been optimized to
avoid running unnecessary tasks. For example, the following no longer
populates the target sysroot since that is not necessary:
::
populates the target sysroot since that is not necessary::
$ bitbake -c rootfs some-image
@@ -136,8 +135,7 @@ Target Package Management with RPM
If runtime package management is enabled and the RPM backend is
selected, Smart is now installed for package download, dependency
resolution, and upgrades instead of Zypper. For more information on how
to use Smart, run the following command on the target:
::
to use Smart, run the following command on the target::
smart --help

View File

@@ -1,8 +1,8 @@
Moving to the Yocto Project 1.5 Release
=======================================
Moving to the Yocto Project 1.5 Release (dora)
==============================================
This section provides migration information for moving to the Yocto
Project 1.5 Release from the prior release.
Project 1.5 Release (codename "dora") from the prior release.
.. _migration-1.5-host-dependency-changes:
@@ -298,7 +298,7 @@ Removed and Renamed Recipes
- ``libtool-nativesdk`` has been renamed to ``nativesdk-libtool``.
- ``tinylogin`` has been removed. It has been replaced by a suid
portion of Busybox. See the "`BusyBox <#busybox>`__"
portion of Busybox. See the ":ref:`migration-1.5-busybox`"
section for more information.
- ``external-python-tarball`` has been renamed to

View File

@@ -1,8 +1,8 @@
Moving to the Yocto Project 1.6 Release
=======================================
Moving to the Yocto Project 1.6 Release (daisy)
===============================================
This section provides migration information for moving to the Yocto
Project 1.6 Release from the prior release.
Project 1.6 Release (codename "daisy") from the prior release.
.. _migration-1.6-archiver-class:
@@ -53,8 +53,7 @@ Matching Branch Requirement for Git Fetching
When fetching source from a Git repository using
:term:`SRC_URI`, BitBake will now validate the
:term:`SRCREV` value against the branch. You can specify
the branch using the following form:
::
the branch using the following form::
SRC_URI = "git://server.name/repository;branch=branchname"
@@ -207,7 +206,7 @@ functions to call and not arbitrary shell commands:
For
migration purposes, you can simply wrap shell commands in a shell
function and then call the function. Here is an example: ::
function and then call the function. Here is an example::
my_postprocess_function() {
echo "hello" > ${IMAGE_ROOTFS}/hello.txt
@@ -248,8 +247,7 @@ the ``autotools`` or ``autotools_stage``\ classes.
``qemu-native`` now builds without SDL-based graphical output support by
default. The following additional lines are needed in your
``local.conf`` to enable it:
::
``local.conf`` to enable it::
PACKAGECONFIG_pn-qemu-native = "sdl"
ASSUME_PROVIDED += "libsdl-native"

View File

@@ -1,8 +1,8 @@
Moving to the Yocto Project 1.7 Release
=======================================
Moving to the Yocto Project 1.7 Release (dizzy)
===============================================
This section provides migration information for moving to the Yocto
Project 1.7 Release from the prior release.
Project 1.7 Release (codename "dizzy") from the prior release.
.. _migration-1.7-changes-to-setting-qemu-packageconfig-options:
@@ -15,8 +15,7 @@ optional features. The method used to set defaults for these options
means that existing ``local.conf`` files will need to be modified to
append to ``PACKAGECONFIG`` for ``qemu-native`` and ``nativesdk-qemu``
instead of setting it. In other words, to enable graphical output for
QEMU, you should now have these lines in ``local.conf``:
::
QEMU, you should now have these lines in ``local.conf``::
PACKAGECONFIG_append_pn-qemu-native = " sdl"
PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
@@ -80,8 +79,7 @@ disable the scripts due to the scripts previously requiring error-prone
path substitution. Software that links against these libraries using
these scripts should use the much more robust ``pkg-config`` instead.
The list of recipes changed in this version (and their configuration
scripts) is as follows:
::
scripts) is as follows::
directfb (directfb-config)
freetype (freetype-config)

View File

@@ -1,8 +1,8 @@
Moving to the Yocto Project 1.8 Release
=======================================
Moving to the Yocto Project 1.8 Release (fido)
==============================================
This section provides migration information for moving to the Yocto
Project 1.8 Release from the prior release.
Project 1.8 Release (codename "fido") from the prior release.
.. _migration-1.8-removed-recipes:
@@ -56,7 +56,7 @@ you can now remove them.
Additionally, a ``bluetooth`` class has been added to make selection of
the appropriate bluetooth support within a recipe a little easier. If
you wish to make use of this class in a recipe, add something such as
the following: ::
the following::
inherit bluetooth
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)}"
@@ -84,7 +84,7 @@ where the ``linux.inc`` file in ``meta-oe`` was updated.
Recipes that rely on the kernel source code and do not inherit the
module classes might need to add explicit dependencies on the
``do_shared_workdir`` kernel task, for example: ::
``do_shared_workdir`` kernel task, for example::
do_configure[depends] += "virtual/kernel:do_shared_workdir"
@@ -131,7 +131,7 @@ One of the improvements is to attempt to run "make clean" during the
``do_configure`` task if a ``Makefile`` exists. Some software packages
do not provide a working clean target within their make files. If you
have such recipes, you need to set
:term:`CLEANBROKEN` to "1" within the recipe, for example: ::
:term:`CLEANBROKEN` to "1" within the recipe, for example::
CLEANBROKEN = "1"

View File

@@ -1,8 +1,8 @@
Moving to the Yocto Project 2.0 Release
=======================================
Moving to the Yocto Project 2.0 Release (jethro)
================================================
This section provides migration information for moving to the Yocto
Project 2.0 Release from the prior release.
Project 2.0 Release (codename "jethro") from the prior release.
.. _migration-2.0-gcc-5:
@@ -25,8 +25,7 @@ and the porting guide at
https://gcc.gnu.org/gcc-5/porting_to.html.
Alternatively, you can switch back to GCC 4.9 or 4.8 by setting
``GCCVERSION`` in your configuration, as follows:
::
``GCCVERSION`` in your configuration, as follows::
GCCVERSION = "4.9%"
@@ -91,8 +90,7 @@ unlikely to require any changes to Metadata. However, these minor
changes in behavior exist:
- All potential overrides are now visible in the variable history as
seen when you run the following:
::
seen when you run the following::
$ bitbake -e
@@ -200,8 +198,7 @@ changes.
Additionally, work directories for old versions of recipes are now
pruned. If you wish to disable pruning old work directories, you can set
the following variable in your configuration:
::
the following variable in your configuration::
SSTATE_PRUNE_OBSOLETEWORKDIR = "0"

View File

@@ -1,8 +1,8 @@
Moving to the Yocto Project 2.1 Release
=======================================
Moving to the Yocto Project 2.1 Release (krogoth)
=================================================
This section provides migration information for moving to the Yocto
Project 2.1 Release from the prior release.
Project 2.1 Release (codename "krogoth") from the prior release.
.. _migration-2.1-variable-expansion-in-python-functions:
@@ -42,8 +42,7 @@ defaulted to False if not specified. Now, however, no default exists so
one must be specified. You must change any ``getVar()`` calls that do
not specify the final expand parameter to calls that do specify the
parameter. You can run the following ``sed`` command at the base of a
layer to make this change:
::
layer to make this change::
sed -e 's:\(\.getVar([^,()]*\)):\1, False):g' -i `grep -ril getVar *`
sed -e 's:\(\.getVarFlag([^,()]*,[^,()]*\)):\1, False):g' -i `grep -ril getVarFlag *`
@@ -179,9 +178,8 @@ The following recipes have been removed in the 2.1 release:
- ``python-pygtk``: Recipe became obsolete.
- ``adt-installer``: Recipe became obsolete. See the "`ADT
Removed <#adt-removed>`__" section for more
information.
- ``adt-installer``: Recipe became obsolete. See the
":ref:`ref-manual/migration-2.1:adt removed`" section for more information.
.. _migration-2.1-class-changes:
@@ -286,8 +284,7 @@ The following changes have been made for the Poky distribution:
Any recipe that needs to opt-out of having the "--disable-static"
option specified on the configure command line either because it is
not a supported option for the configure script or because static
libraries are needed should set the following variable:
::
libraries are needed should set the following variable::
DISABLE_STATIC = ""
@@ -370,8 +367,7 @@ These additional changes exist:
- Previously, the following list of packages were removed if
package-management was not in
:term:`IMAGE_FEATURES`, regardless of any
dependencies:
::
dependencies::
update-rc.d
base-passwd

View File

@@ -1,8 +1,8 @@
Moving to the Yocto Project 2.2 Release
=======================================
Moving to the Yocto Project 2.2 Release (morty)
===============================================
This section provides migration information for moving to the Yocto
Project 2.2 Release from the prior release.
Project 2.2 Release (codename "morty") from the prior release.
.. _migration-2.2-minimum-kernel-version:
@@ -144,8 +144,7 @@ The new ``runqemu`` is a Python script. Machine knowledge is no longer
hardcoded into ``runqemu``. You can choose to use the ``qemuboot``
configuration file to define the BSP's own arguments and to make it
bootable with ``runqemu``. If you use a configuration file, use the
following form:
::
following form::
image-name-machine.qemuboot.conf
@@ -160,8 +159,7 @@ rootfs). QEMU boot arguments can be set in BSP's configuration file and
the ``qemuboot`` class will save them to ``qemuboot.conf``.
If you want to use ``runqemu`` without a configuration file, use the
following command form:
::
following command form::
$ runqemu machine rootfs kernel [options]
@@ -179,7 +177,7 @@ Supported machines are as follows:
Consider the
following example, which uses the ``qemux86-64`` machine, provides a
root filesystem, provides an image, and uses the ``nographic`` option: ::
root filesystem, provides an image, and uses the ``nographic`` option::
$ runqemu qemux86-64 tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.ext4 tmp/deploy/images/qemux86-64/bzImage nographic
@@ -244,8 +242,7 @@ recipes. You need to fix these recipes so that they use the expected
``LDFLAGS``. Depending on how the software is built, the build system
used by the software (e.g. a Makefile) might need to be patched.
However, sometimes making this fix is as simple as adding the following
to the recipe:
::
to the recipe::
TARGET_CC_ARCH += "${LDFLAGS}"
@@ -258,8 +255,7 @@ The ``KERNEL_IMAGE_BASE_NAME`` variable no longer uses the
:term:`KERNEL_IMAGETYPE` variable to create the
image's base name. Because the OpenEmbedded build system can now build
multiple kernel image types, this part of the kernel image base name as
been removed leaving only the following:
::
been removed leaving only the following::
KERNEL_IMAGE_BASE_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
@@ -367,8 +363,8 @@ The following recipes have been removed:
- ``sato-icon-theme``: Became obsolete.
- ``swabber-native``: Swabber has been removed. See the `entry on
Swabber <#swabber-has-been-removed>`__.
- ``swabber-native``: Swabber has been removed. See the :ref:`entry on
Swabber <ref-manual/migration-2.2:swabber has been removed>`.
- ``tslib``: No longer needed and has been moved to ``meta-oe``.
@@ -393,8 +389,8 @@ The following classes have been removed:
- ``sip``: Mostly unused.
- ``swabber``: See the `entry on
Swabber <#swabber-has-been-removed>`__.
- ``swabber``: See the :ref:`entry on
Swabber <ref-manual/migration-2.2:swabber has been removed>`.
.. _migration-2.2-minor-packaging-changes:
@@ -426,7 +422,7 @@ The following miscellaneous changes have occurred:
:term:`SRCREV` by default when fetching from a Git
repository. You can override this in either case to use
``${``\ :term:`AUTOREV`\ ``}`` instead by using the
``-a`` or ``DASHDASHautorev`` command-line option
``-a`` or ``--autorev`` command-line option
- ``distcc``: GTK+ UI is now disabled by default.

View File

@@ -1,8 +1,8 @@
Moving to the Yocto Project 2.3 Release
=======================================
Moving to the Yocto Project 2.3 Release (pyro)
==============================================
This section provides migration information for moving to the Yocto
Project 2.3 Release from the prior release.
Project 2.3 Release (codename "pyro") from the prior release.
.. _migration-2.3-recipe-specific-sysroots:
@@ -114,8 +114,7 @@ Changes to Scripts
The following changes to scripts took place:
- ``oe-find-native-sysroot``: The usage for the
``oe-find-native-sysroot`` script has changed to the following:
::
``oe-find-native-sysroot`` script has changed to the following::
$ . oe-find-native-sysroot recipe
@@ -124,8 +123,7 @@ The following changes to scripts took place:
was not necessary to provide the script with the command.
- ``oe-run-native``: The usage for the ``oe-run-native`` script has
changed to the following:
::
changed to the following::
$ oe-run-native native_recipe tool
@@ -453,14 +451,11 @@ The following miscellaneous changes have occurred:
tools.
- The ``USE_LDCONFIG`` variable has been replaced with the "ldconfig"
``DISTRO_FEATURES`` feature. Distributions that previously set:
::
``DISTRO_FEATURES`` feature. Distributions that previously set::
USE_LDCONFIG = "0"
should now instead use the following:
::
should now instead use the following::
DISTRO_FEATURES_BACKFILL_CONSIDERED_append = " ldconfig"
@@ -478,8 +473,7 @@ The following miscellaneous changes have occurred:
order to allow module packages from multiple kernel versions to
co-exist on a target system. If you wish to return to the previous
naming scheme that does not include the version suffix, use the
following:
::
following::
KERNEL_MODULE_PACKAGE_SUFFIX = ""

View File

@@ -1,8 +1,8 @@
Moving to the Yocto Project 2.4 Release
=======================================
Moving to the Yocto Project 2.4 Release (rocko)
===============================================
This section provides migration information for moving to the Yocto
Project 2.4 Release from the prior release.
Project 2.4 Release (codename "rocko") from the prior release.
.. _migration-2.4-memory-resident-mode:

View File

@@ -1,8 +1,8 @@
Moving to the Yocto Project 2.5 Release
=======================================
Moving to the Yocto Project 2.5 Release (sumo)
==============================================
This section provides migration information for moving to the Yocto
Project 2.5 Release from the prior release.
Project 2.5 Release (codename "sumo") from the prior release.
.. _migration-2.5-packaging-changes:
@@ -138,13 +138,11 @@ The following are BitBake changes:
tree" tasks have been removed (e.g. ``fetchall``, ``checkuriall``,
and the ``*all`` tasks provided by the ``distrodata`` and
``archiver`` classes). There is a BitBake option to complete this for
any arbitrary task. For example:
::
any arbitrary task. For example::
bitbake <target> -c fetchall
should now be replaced with:
::
should now be replaced with::
bitbake <target> --runall=fetch
@@ -169,7 +167,7 @@ one of the packages provided by the Python recipe. You can no longer run
``bitbake python-foo`` or have a
:term:`DEPENDS` on ``python-foo``,
but doing either of the following causes the package to work as
expected: ::
expected::
IMAGE_INSTALL_append = " python-foo"

View File

@@ -1,8 +1,8 @@
Moving to the Yocto Project 2.6 Release
=======================================
Moving to the Yocto Project 2.6 Release (thud)
==============================================
This section provides migration information for moving to the Yocto
Project 2.6 Release from the prior release.
Project 2.6 Release (codename "thud") from the prior release.
.. _migration-2.6-gcc-changes:
@@ -110,7 +110,7 @@ upon the older ``*proto`` recipes need to be changed to depend on the
newer ``xorgproto`` recipe instead.
For names of recipes removed because of this repository change, see the
`Removed Recipes <#removed-recipes>`__ section.
:ref:`ref-manual/migration-2.6:removed recipes` section.
.. _migration-2.6-distutils-distutils3-fetching-dependencies:
@@ -118,7 +118,7 @@ For names of recipes removed because of this repository change, see the
---------------------------------------------------------------------------------------------------
Previously, it was possible for Python recipes that inherited the
:ref:`distutils <ref-classes-distutils>` and
``distutils`` and
:ref:`distutils3 <ref-classes-distutils3>` classes to fetch code
during the :ref:`ref-tasks-configure` task to satisfy
dependencies mentioned in ``setup.py`` if those dependencies were not
@@ -161,13 +161,11 @@ The following changes have been made:
allows easier and more direct changes.
The ``IMAGE_VERSION_SUFFIX`` variable is set in the ``bitbake.conf``
configuration file as follows:
::
configuration file as follows::
IMAGE_VERSION_SUFFIX = "-${DATETIME}"
- Several variables have changed names for consistency:
::
- Several variables have changed names for consistency::
Old Variable Name New Variable Name
========================================================
@@ -292,8 +290,7 @@ avoids the ``systemd`` recipe from becoming machine-specific for cases
where machine-specific configurations need to be applied (e.g. for
``qemu*`` machines).
Currently, the new recipe packages the following files:
::
Currently, the new recipe packages the following files::
${sysconfdir}/machine-id
${sysconfdir}/systemd/coredump.conf
@@ -393,8 +390,7 @@ If you wish to disable Python profile-guided optimization regardless of
the value of ``MACHINE_FEATURES``, then ensure that
:term:`PACKAGECONFIG` for the ``python3`` recipe
does not contain "pgo". You could accomplish the latter using the
following at the configuration level:
::
following at the configuration level::
PACKAGECONFIG_remove_pn-python3 = "pgo"
@@ -411,8 +407,7 @@ The following miscellaneous changes occurred:
- Default to using the Thumb-2 instruction set for armv7a and above. If
you have any custom recipes that build software that needs to be
built with the ARM instruction set, change the recipe to set the
instruction set as follows:
::
instruction set as follows::
ARM_INSTRUCTION_SET = "arm"

View File

@@ -1,8 +1,8 @@
Moving to the Yocto Project 2.7 Release
=======================================
Moving to the Yocto Project 2.7 Release (warrior)
=================================================
This section provides migration information for moving to the Yocto
Project 2.7 Release from the prior release.
Project 2.7 Release (codename "warrior") from the prior release.
.. _migration-2.7-bitbake-changes:

View File

@@ -1,8 +1,8 @@
Moving to the Yocto Project 3.0 Release
=======================================
Moving to the Yocto Project 3.0 Release (zeus)
==============================================
This section provides migration information for moving to the Yocto
Project 3.0 Release from the prior release.
Project 3.0 Release (codename "zeus") from the prior release.
.. _migration-3.0-init-system-selection:

View File

@@ -1,8 +1,8 @@
Moving to the Yocto Project 3.1 Release
=======================================
Moving to the Yocto Project 3.1 Release (dunfell)
=================================================
This section provides migration information for moving to the Yocto
Project 3.1 Release from the prior release.
Project 3.1 Release (codename "dunfell") from the prior release.
.. _migration-3.1-minimum-system-requirements:
@@ -71,8 +71,7 @@ when building a simple image such as core-image-minimal. If you do not
need runtime tests enabled for core components, then it is recommended
that you remove "ptest" from
:term:`DISTRO_FEATURES` to save a significant
amount of build time e.g. by adding the following in your configuration:
::
amount of build time e.g. by adding the following in your configuration::
DISTRO_FEATURES_remove = "ptest"
@@ -179,12 +178,12 @@ parameter instead of the earlier ``name`` which overlapped with the
generic ``name`` parameter. All recipes using the npm fetcher will need
to be changed as a result.
An example of the new scheme: ::
An example of the new scheme::
SRC_URI = "npm://registry.npmjs.org;package=array-flatten;version=1.1.1 \
npmsw://${THISDIR}/npm-shrinkwrap.json"
Another example where the sources are fetched from git rather than an npm repository: ::
Another example where the sources are fetched from git rather than an npm repository::
SRC_URI = "git://github.com/foo/bar.git;protocol=https \
npmsw://${THISDIR}/npm-shrinkwrap.json"

View File

@@ -1,8 +1,8 @@
Moving to the Yocto Project 3.2 Release
=======================================
Moving to the Yocto Project 3.2 Release (gatesgarth)
====================================================
This section provides migration information for moving to the Yocto
Project 3.2 Release from the prior release.
Project 3.2 Release (codename "gatesgarth") from the prior release.
.. _migration-3.2-minimum-system-requirements:
@@ -90,12 +90,12 @@ If you have anonymous python or in-line python conditionally adding
dependencies in your custom recipes, and you intend for those recipes to
work with multilib, then you will need to ensure that ``${MLPREFIX}``
is prefixed on the package names in the dependencies, for example
(from the ``glibc`` recipe): ::
(from the ``glibc`` recipe)::
RRECOMMENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'ldconfig', '${MLPREFIX}ldconfig', '', d)}"
This also applies when conditionally adding packages to :term:`PACKAGES` where
those packages have dependencies, for example (from the ``alsa-plugins`` recipe): ::
those packages have dependencies, for example (from the ``alsa-plugins`` recipe)::
PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'alsa-plugins-pulseaudio-conf', '', d)}"
...
@@ -229,7 +229,7 @@ needs ``/etc/ld.so.conf`` to be present at image build time:
When some recipe installs libraries to a non-standard location, and
therefore installs in a file in ``/etc/ld.so.conf.d/foo.conf``, we
need ``/etc/ld.so.conf`` containing: ::
need ``/etc/ld.so.conf`` containing::
include /etc/ld.so.conf.d/*.conf

View File

@@ -0,0 +1,168 @@
Moving to the Yocto Project 3.3 Release (hardknott)
===================================================
This section provides migration information for moving to the Yocto
Project 3.3 Release (codename "hardknott") from the prior release.
.. _migration-3.3-minimum-system-requirements:
Minimum system requirements
---------------------------
You will now need at least Python 3.6 installed on your build host. Most recent
distributions provide this, but should you be building on a distribution that
does not have it, you can use the ``buildtools-tarball`` (easily installable
using ``scripts/install-buildtools``) - see
:ref:`ref-manual/system-requirements:required git, tar, python and gcc versions`
for details.
.. _migration-3.3-removed-recipes:
Removed recipes
---------------
The following recipes have been removed:
- ``go-dep``: obsolete with the advent of go modules
- ``gst-validate``: replaced by ``gst-devtools``
- ``linux-yocto``: removed 5.8 version recipes (5.4 / 5.10 still provided)
- ``vulkan-demos``: replaced by ``vulkan-samples``
.. _migration-3.3-common-license-only-versions:
Single version common license file naming
-----------------------------------------
Some license files in ``meta/files/common-licenses`` have been renamed to match
current SPDX naming conventions:
- AGPL-3.0 -> AGPL-3.0-only
- GPL-1.0 -> GPL-1.0-only
- GPL-2.0 -> GPL-2.0-only
- GPL-3.0 -> GPL-3.0-only
- LGPL-2.0 -> LGPL-2.0-only
- LGPL-2.1 -> LGPL-2.1-only
- LGPL-3.0 -> LGPL-3.0-only
Additionally, corresponding "-or-later" suffixed files have been added e.g.
``GPL-2.0-or-later``.
It is not required that you change :term:`LICENSE` values as there are mappings
from the original names in place; however, in rare cases where you have a recipe
which sets :term:`LIC_FILES_CHKSUM` to point to file(s) in
``meta/files/common-licenses`` (which in any case is not recommended) you will
need to update those.
.. _migration-3.3-python3targetconfig:
New ``python3targetconfig`` class
---------------------------------
A new :ref:`python3targetconfig <ref-classes-python3targetconfig>` class has been
created for situations where you would previously have inherited the
``python3native`` class but need access to target configuration data (such as
correct installation directories). Recipes where this situation applies should
be changed to inherit ``python3targetconfig`` instead of ``python3native``. This
also adds a dependency on target ``python3``, so it should only be used where
appropriate in order to avoid unnecessarily lengthening builds.
Some example recipes where this change has been made: ``gpgme``, ``libcap-ng``,
``python3-pycairo``.
.. _migration-3.3-distutils-path:
``setup.py`` path for python modules
------------------------------------
In a Python module, sometimes ``setup.py`` can be buried deep in the
source tree. Previously this was handled in recipes by setting :term:`S` to
point to the subdirectory within the source where ``setup.py`` is located.
However with the recent :ref:`pseudo <overview-manual/concepts:fakeroot and pseudo>`
changes, some Python modules make changes to files beneath ``${S}``, for
example::
S = "${WORKDIR}/git/python/pythonmodule"
then in ``setup.py`` it works with source code in a relative fashion, such
as ``../../src``. This causes pseudo to abort as it isn't able to track
the paths properly. This release introduces a new :term:`DISTUTILS_SETUP_PATH`
variable so that recipes can specify it explicitly, for example::
S = "${WORKDIR}/git"
DISTUTILS_SETUP_PATH = "${S}/python/pythonmodule"
Recipes that inherit from :ref:`distutils3 <ref-classes-distutils3>` (or
:ref:`setuptools3 <ref-classes-setuptools3>` which itself inherits
:ref:`distutils3 <ref-classes-distutils3>`) that also set :term:`S` to
point to a Python module within a subdirectory in the aforementioned
manner should be changed to set :term:`DISTUTILS_SETUP_PATH` instead.
.. _migration-3.3-bitbake:
BitBake changes
---------------
- BitBake is now configured to use a default ``umask`` of ``022`` for all tasks
(specified via a new :term:`BB_DEFAULT_UMASK` variable). If needed, ``umask`` can
still be set on a per-task basis via the ``umask`` varflag on the task
function, but that is unlikely to be necessary in most cases.
- If a version specified in :term:`PREFERRED_VERSION` is not available this
will now trigger a warning instead of just a note, making such issues more
visible.
.. _migration-3.3-packaging:
Packaging changes
-----------------
The following packaging changes have been made; in all cases the main package
still depends upon the split out packages so you should not need to do anything
unless you want to take advantage of the improved granularity:
- ``dbus``: ``-common`` and ``-tools`` split out
- ``iproute2``: split ``ip`` binary to its own package
- ``net-tools``: split ``mii-tool`` into its own package
- ``procps``: split ``ps`` and ``sysctl`` into their own packages
- ``rpm``: split build and extra functionality into separate packages
- ``sudo``: split ``sudo`` binary into ``sudo-sudo`` and libs into ``sudo-lib``
- ``systemtap``: examples, python scripts and runtime material split out
- ``util-linux``: ``libuuid`` has been split out to its own
``util-linux-libuuid`` recipe (and corresponding packages) to avoid circular
dependencies if ``libgcrypt`` support is enabled in ``util-linux``.
(``util-linux`` depends upon ``util-linux-libuuid``.)
.. _migration-3.3-misc:
Miscellaneous changes
---------------------
- The default poky :term:`DISTRO_VERSION` value now uses the core metadata's
git hash (i.e. :term:`METADATA_REVISION`) rather than the date (i.e.
:term:`DATE`) to reduce one small source of non-reproducibility. You can
of course specify your own :term:`DISTRO_VERSION` value as desired
(particularly if you create your own custom distro configuration).
- ``adwaita-icon-theme`` version 3.34.3 has been added back, and is selected
as the default via :term:`PREFERRED_VERSION` in
``meta/conf/distro/include/default-versions.inc`` due to newer versions
not working well with ``librsvg`` 2.40. ``librsvg`` is not practically
upgradeable at the moment as it has been ported to Rust, and Rust is not
(yet) in OE-Core, but this will change in a future release.
- ``ffmpeg`` is now configured to disable GPL-licensed portions by default
to make it harder to accidentally violate the GPL. To explicitly enable GPL
licensed portions, add ``gpl`` to :term:`PACKAGECONFIG` for ``ffmpeg``
using a bbappend (or use ``PACKAGECONFIG_append_pn-ffmpeg = " gpl"`` in
your configuration.)
- ``connman`` is now set to conflict with ``systemd-networkd`` as they
overlap functionally and may interfere with each other at runtime.
- Canonical SPDX license names are now used in image license manifests in
order to avoid aliases of the same license from showing up together (e.g.
``GPLv2`` and ``GPL-2.0``)

View File

@@ -28,4 +28,5 @@ notes for a given release.
migration-3.0
migration-3.1
migration-3.2
migration-3.3

View File

@@ -221,8 +221,7 @@ Errors and Warnings
Typically, the way to solve this performance issue is to add "-fPIC"
or "-fpic" to the compiler command-line options. For example, given
software that reads :term:`CFLAGS` when you build it,
you could add the following to your recipe:
::
you could add the following to your recipe::
CFLAGS_append = " -fPIC "
@@ -240,8 +239,7 @@ Errors and Warnings
variable is being passed to the linker command. A common workaround
for this situation is to pass in ``LDFLAGS`` using
:term:`TARGET_CC_ARCH` within the recipe as
follows:
::
follows::
TARGET_CC_ARCH += "${LDFLAGS}"
@@ -265,8 +263,7 @@ Errors and Warnings
The ``/usr/share/info/dir`` should not be packaged. Add the following
line to your :ref:`ref-tasks-install` task or to your
``do_install_append`` within the recipe as follows:
::
``do_install_append`` within the recipe as follows::
rm ${D}${infodir}/dir
 
@@ -675,7 +672,7 @@ Errors and Warnings
task. Patch fuzz is a situation when the ``patch`` tool ignores some of the context
lines in order to apply the patch. Consider this example:
Patch to be applied: ::
Patch to be applied::
--- filename
+++ filename
@@ -687,7 +684,7 @@ Errors and Warnings
context line 5
context line 6
Original source code: ::
Original source code::
different context line 1
different context line 2
@@ -696,7 +693,7 @@ Errors and Warnings
different context line 5
different context line 6
Outcome (after applying patch with fuzz): ::
Outcome (after applying patch with fuzz)::
different context line 1
different context line 2
@@ -716,14 +713,14 @@ Errors and Warnings
*How to eliminate patch fuzz warnings*
Use the ``devtool`` command as explained by the warning. First, unpack the
source into devtool workspace: ::
source into devtool workspace::
devtool modify <recipe>
This will apply all of the patches, and create new commits out of them in
the workspace - with the patch context updated.
Then, replace the patches in the recipe layer: ::
Then, replace the patches in the recipe layer::
devtool finish --force-patch-refresh <recipe> <layer_path>

View File

@@ -15,9 +15,8 @@ Major and Minor Release Cadence
The Yocto Project delivers major releases (e.g. &DISTRO;) using a six
month cadence roughly timed each April and October of the year.
Following are examples of some major YP releases with their codenames
also shown. See the "`Major Release
Codenames <#major-release-codenames>`__" section for information on
codenames used with major releases.
also shown. See the ":ref:`ref-manual/release-process:major release codenames`"
section for information on codenames used with major releases.
- 2.2 (Morty)
- 2.1 (Krogoth)

View File

@@ -38,7 +38,7 @@ usually matches the current stable BitBake release from the BitBake
project. BitBake, a :term:`Metadata` interpreter, reads the
Yocto Project Metadata and runs the tasks defined by that data. Failures
are usually caused by errors in your Metadata and not from BitBake
itself; consequently, most users do not need to worry about BitBake.
itself.
When you run the ``bitbake`` command, the main BitBake executable (which
resides in the ``bitbake/bin/`` directory) starts. Sourcing the
@@ -153,8 +153,7 @@ When you run this script, your Yocto Project environment is set up, a
:term:`Build Directory` is created, your working
directory becomes the Build Directory, and you are presented with some
simple suggestions as to what to do next, including a list of some
possible targets to build. Here is an example:
::
possible targets to build. Here is an example::
$ source oe-init-build-env
@@ -185,8 +184,7 @@ creates the ``build/`` directory in your current working directory. If
you provide a Build Directory argument when you ``source`` the script,
you direct the OpenEmbedded build system to create a Build Directory of
your choice. For example, the following command creates a Build
Directory named ``mybuilds/`` that is outside of the :term:`Source Directory`:
::
Directory named ``mybuilds/`` that is outside of the :term:`Source Directory`::
$ source oe-init-build-env ~/mybuilds
@@ -269,8 +267,7 @@ and to ``meta/conf/`` when you are building from the OpenEmbedded-Core
environment. Because the script variable points to the source of the
``local.conf.sample`` file, this implies that you can configure your
build environment from any layer by setting the variable in the
top-level build environment setup script as follows:
::
top-level build environment setup script as follows::
TEMPLATECONF=your_layer/conf
@@ -282,7 +279,7 @@ file, it uses ``sed`` to substitute final
.. note::
You can see how the ``TEMPLATECONF`` variable is used by looking at the
``scripts/oe-setup-builddir``` script in the :term:`Source Directory`.
``scripts/oe-setup-builddir`` script in the :term:`Source Directory`.
You can find the Yocto Project version of the ``local.conf.sample`` file in
the ``meta-poky/conf`` directory.
@@ -309,8 +306,7 @@ Project development environment, and to ``meta/conf/`` when you are
building from the OpenEmbedded-Core environment. Because the script
variable points to the source of the ``bblayers.conf.sample`` file, this
implies that you can base your build from any layer by setting the
variable in the top-level build environment setup script as follows:
::
variable in the top-level build environment setup script as follows::
TEMPLATECONF=your_layer/conf
@@ -463,8 +459,7 @@ image again.
If you do accidentally delete files here, you will need to force them to
be re-created. In order to do that, you will need to know the target
that produced them. For example, these commands rebuild and re-create
the kernel files:
::
the kernel files::
$ bitbake -c clean virtual/kernel
$ bitbake virtual/kernel
@@ -535,8 +530,7 @@ recipe-specific :term:`WORKDIR` directories. Thus, the
This directory holds information that BitBake uses for accounting
purposes to track what tasks have run and when they have run. The
directory is sub-divided by architecture, package name, and version.
Following is an example:
::
Following is an example::
stamps/all-poky-linux/distcc-config/1.0-r0.do_build-2fdd....2do
@@ -789,7 +783,7 @@ system. The tools, however, can also be used on targets.
This directory contains non-essential applications that add features
compared to the alternatives in core. You might need this directory for
full tool functionality or for Linux Standard Base (LSB) compliance.
full tool functionality.
.. _structure-meta-recipes-gnome:
@@ -815,14 +809,6 @@ libraries.
This directory contains the kernel and generic applications and
libraries that have strong kernel dependencies.
.. _structure-meta-recipes-lsb4:
``meta/recipes-lsb4/``
----------------------
This directory contains recipes specifically added to support the Linux
Standard Base (LSB) version 4.x.
.. _structure-meta-recipes-multimedia:
``meta/recipes-multimedia/``

View File

@@ -111,7 +111,7 @@ function.
Ubuntu and Debian
-----------------
The following list shows the required packages by function given a
Here are the required packages by function given a
supported Ubuntu or Debian Linux distribution:
.. note::
@@ -120,8 +120,7 @@ supported Ubuntu or Debian Linux distribution:
might experience QEMU build failures due to the package installing
its own custom ``/usr/include/linux/soundcard.h`` on the Debian
system. If you run into this situation, either of the following
solutions exist:
::
solutions exist::
$ sudo apt-get build-dep qemu
$ sudo apt-get remove oss4-dev
@@ -132,14 +131,12 @@ supported Ubuntu or Debian Linux distribution:
$ sudo pip3 install GitPython pylint==1.9.5
- *Essentials:* Packages needed to build an image on a headless system:
::
- *Essentials:* Packages needed to build an image on a headless system::
$ sudo apt-get install &UBUNTU_HOST_PACKAGES_ESSENTIAL;
- *Documentation:* Packages needed if you are going to build out the
Yocto Project documentation manuals:
::
Yocto Project documentation manuals::
$ sudo apt-get install make python3-pip
&PIP3_HOST_PACKAGES_DOC;
@@ -153,18 +150,16 @@ supported Ubuntu or Debian Linux distribution:
Fedora Packages
---------------
The following list shows the required packages by function given a
Here are the required packages by function given a
supported Fedora Linux distribution:
- *Essentials:* Packages needed to build an image for a headless
system:
::
system::
$ sudo dnf install &FEDORA_HOST_PACKAGES_ESSENTIAL;
- *Documentation:* Packages needed if you are going to build out the
Yocto Project documentation manuals:
::
Yocto Project documentation manuals::
$ sudo dnf install make python3-pip which
&PIP3_HOST_PACKAGES_DOC;
@@ -172,18 +167,16 @@ supported Fedora Linux distribution:
openSUSE Packages
-----------------
The following list shows the required packages by function given a
Here are the required packages by function given a
supported openSUSE Linux distribution:
- *Essentials:* Packages needed to build an image for a headless
system:
::
system::
$ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL;
- *Documentation:* Packages needed if you are going to build out the
Yocto Project documentation manuals:
::
Yocto Project documentation manuals::
$ sudo zypper install make python3-pip which
&PIP3_HOST_PACKAGES_DOC;
@@ -192,12 +185,11 @@ supported openSUSE Linux distribution:
CentOS-7 Packages
-----------------
The following list shows the required packages by function given a
Here are the required packages by function given a
supported CentOS-7 Linux distribution:
- *Essentials:* Packages needed to build an image for a headless
system:
::
system::
$ sudo yum install &CENTOS7_HOST_PACKAGES_ESSENTIAL;
@@ -212,8 +204,7 @@ supported CentOS-7 Linux distribution:
``epel-release``.
- *Documentation:* Packages needed if you are going to build out the
Yocto Project documentation manuals:
::
Yocto Project documentation manuals::
$ sudo yum install make python3-pip which
&PIP3_HOST_PACKAGES_DOC;
@@ -221,12 +212,11 @@ supported CentOS-7 Linux distribution:
CentOS-8 Packages
-----------------
The following list shows the required packages by function given a
Here are the required packages by function given a
supported CentOS-8 Linux distribution:
- *Essentials:* Packages needed to build an image for a headless
system:
::
system::
$ sudo dnf install &CENTOS8_HOST_PACKAGES_ESSENTIAL;
@@ -244,8 +234,7 @@ supported CentOS-8 Linux distribution:
``epel-release``.
- *Documentation:* Packages needed if you are going to build out the
Yocto Project documentation manuals:
::
Yocto Project documentation manuals::
$ sudo dnf install make python3-pip which
&PIP3_HOST_PACKAGES_DOC;
@@ -256,11 +245,11 @@ Required Git, tar, Python and gcc Versions
In order to use the build system, your host development system must meet
the following version requirements for Git, tar, and Python:
- Git 1.8.3.1 or greater
- Git &MIN_GIT_VERSION; or greater
- tar 1.28 or greater
- tar &MIN_TAR_VERSION; or greater
- Python 3.5.0 or greater
- Python &MIN_PYTHON_VERSION; or greater
If your host development system does not meet all these requirements,
you can resolve this by installing a ``buildtools`` tarball that
@@ -270,11 +259,15 @@ a pre-built tarball or use BitBake to build the tarball.
In addition, your host development system must meet the following
version requirement for gcc:
- gcc 5.0 or greater
- gcc &MIN_GCC_VERSION; or greater
If your host development system does not meet this requirement, you can
resolve this by installing a ``buildtools-extended`` tarball that
contains additional tools, the equivalent of ``buildtools-essential``.
contains additional tools, the equivalent of the Debian/Ubuntu ``build-essential``
package.
In the sections that follow, three different methods will be described for
installing the ``buildtools`` or ``buildtools-extended`` toolset.
Installing a Pre-Built ``buildtools`` Tarball with ``install-buildtools`` script
--------------------------------------------------------------------------------
@@ -283,8 +276,7 @@ The ``install-buildtools`` script is the easiest of the three methods by
which you can get these tools. It downloads a pre-built buildtools
installer and automatically installs the tools for you:
1. Execute the ``install-buildtools`` script. Here is an example:
::
1. Execute the ``install-buildtools`` script. Here is an example::
$ cd poky
$ scripts/install-buildtools --without-extended-buildtools \
@@ -298,22 +290,19 @@ installer and automatically installs the tools for you:
installation is functional.
To avoid the need of ``sudo`` privileges, the ``install-buildtools``
script will by default tell the installer to install in:
::
script will by default tell the installer to install in::
/path/to/poky/buildtools
If your host development system needs the additional tools provided
in the ``buildtools-extended`` tarball, you can instead execute the
``install-buildtools`` script with the default parameters:
::
``install-buildtools`` script with the default parameters::
$ cd poky
$ scripts/install-buildtools
2. Source the tools environment setup script by using a command like the
following:
::
following::
$ source /path/to/poky/buildtools/environment-setup-x86_64-pokysdk-linux
@@ -331,19 +320,18 @@ installer and automatically installs the tools for you:
Downloading a Pre-Built ``buildtools`` Tarball
----------------------------------------------
Downloading and running a pre-built buildtools installer is the easiest
of the two methods by which you can get these tools:
If you would prefer not to use the ``install-buildtools`` script, you can instead
download and run a pre-built buildtools installer yourself with the following
steps:
1. Locate and download the ``*.sh`` at &YOCTO_RELEASE_DL_URL;/buildtools/
2. Execute the installation script. Here is an example for the
traditional installer:
::
traditional installer::
$ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh
Here is an example for the extended installer:
::
Here is an example for the extended installer::
$ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-&DISTRO;.sh
@@ -352,8 +340,7 @@ of the two methods by which you can get these tools:
``/home/your-username/buildtools``
3. Source the tools environment setup script by using a command like the
following:
::
following::
$ source /home/your_username/buildtools/environment-setup-i586-poky-linux
@@ -385,13 +372,11 @@ installer:
your build environment with the setup script
(:ref:`structure-core-script`).
2. Run the BitBake command to build the tarball:
::
2. Run the BitBake command to build the tarball::
$ bitbake buildtools-tarball
or run the BitBake command to build the extended tarball:
::
or run the BitBake command to build the extended tarball::
$ bitbake buildtools-extended-tarball
@@ -410,13 +395,11 @@ installer:
4. On the machine that does not meet the requirements, run the ``.sh``
file to install the tools. Here is an example for the traditional
installer:
::
installer::
$ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh
Here is an example for the extended installer:
::
Here is an example for the extended installer::
$ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-&DISTRO;.sh
@@ -425,8 +408,7 @@ installer:
``/home/your_username/buildtools``
5. Source the tools environment setup script by using a command like the
following:
::
following::
$ source /home/your_username/buildtools/environment-setup-x86_64-poky-linux

View File

@@ -93,8 +93,7 @@ output from ``${DEPLOYDIR}`` to ``${DEPLOY_DIR_IMAGE}``.
The ``do_deploy`` task is not added as a task by default and
consequently needs to be added manually. If you want the task to run
after :ref:`ref-tasks-compile`, you can add it by doing
the following:
::
the following::
addtask deploy after do_compile
@@ -103,8 +102,7 @@ Adding ``do_deploy`` after other tasks works the same way.
.. note::
You do not need to add ``before do_build`` to the ``addtask`` command
(though it is harmless), because the ``base`` class contains the following:
::
(though it is harmless), because the ``base`` class contains the following::
do_build[recrdeptask] += "do_deploy"
@@ -302,13 +300,11 @@ Patch files, by default, are ``*.patch`` and ``*.diff`` files created
and kept in a subdirectory of the directory holding the recipe file. For
example, consider the
:yocto_git:`bluez5 </poky/tree/meta/recipes-connectivity/bluez5>`
recipe from the OE-Core layer (i.e. ``poky/meta``):
::
recipe from the OE-Core layer (i.e. ``poky/meta``)::
poky/meta/recipes-connectivity/bluez5
This recipe has two patch files located here:
::
This recipe has two patch files located here::
poky/meta/recipes-connectivity/bluez5/bluez5
@@ -323,8 +319,7 @@ and patch files needed to build the package.
As mentioned earlier, the build system treats files whose file types are
``.patch`` and ``.diff`` as patch files. However, you can use the
"apply=yes" parameter with the ``SRC_URI`` statement to indicate any
file as a patch file:
::
file as a patch file::
SRC_URI = " \
git://path_to_repo/some_package \
@@ -334,8 +329,7 @@ file as a patch file:
Conversely, if you have a directory full of patch files and you want to
exclude some so that the ``do_patch`` task does not apply them during
the patch phase, you can use the "apply=no" parameter with the
``SRC_URI`` statement:
::
``SRC_URI`` statement::
SRC_URI = " \
git://path_to_repo/some_package \
@@ -455,8 +449,7 @@ of the recipe exists upstream and a status of not updated, updated, or
unknown.
To check the upstream version and status of a recipe, use the following
devtool commands:
::
devtool commands::
$ devtool latest-version
$ devtool check-upgrade-status
@@ -467,8 +460,7 @@ chapter for more information on
section for information on checking the upgrade status of a recipe.
To build the ``checkpkg`` task, use the ``bitbake`` command with the
"-c" option and task name:
::
"-c" option and task name::
$ bitbake core-image-minimal -c checkpkg
@@ -494,8 +486,7 @@ Removes all output files for a target from the
:ref:`ref-tasks-install`, and
:ref:`ref-tasks-package`).
You can run this task using BitBake as follows:
::
You can run this task using BitBake as follows::
$ bitbake -c clean recipe
@@ -519,8 +510,7 @@ downloaded source files for a target (i.e. the contents of
identical to the :ref:`ref-tasks-cleansstate` task
with the added removal of downloaded source files.
You can run this task using BitBake as follows:
::
You can run this task using BitBake as follows::
$ bitbake -c cleanall recipe
@@ -540,8 +530,7 @@ target. Essentially, the ``do_cleansstate`` task is identical to the
shared state (:ref:`sstate <overview-manual/concepts:shared state cache>`)
cache.
You can run this task using BitBake as follows:
::
You can run this task using BitBake as follows::
$ bitbake -c cleansstate recipe
@@ -553,8 +542,7 @@ scratch is guaranteed.
The ``do_cleansstate`` task cannot remove sstate from a remote sstate
mirror. If you need to build a target from scratch using remote mirrors, use
the "-f" option as follows:
::
the "-f" option as follows::
$ bitbake -f -c do_cleansstate target
@@ -687,8 +675,7 @@ changes made by the user with other methods (i.e. using
(:ref:`ref-tasks-kernel_menuconfig`). Once the
file of differences is created, it can be used to create a config
fragment that only contains the differences. You can invoke this task
from the command line as follows:
::
from the command line as follows::
$ bitbake linux-yocto -c diffconfig
@@ -718,8 +705,7 @@ Validates the configuration produced by the
configuration does not appear in the final ``.config`` file or when you
override a policy configuration in a hardware configuration fragment.
You can run this task explicitly and view the output by using the
following command:
::
following command::
$ bitbake linux-yocto -c kernel_configcheck -f
@@ -750,8 +736,7 @@ tool, which you then use to modify the kernel configuration.
.. note::
You can also invoke this tool from the command line as follows:
::
You can also invoke this tool from the command line as follows::
$ bitbake linux-yocto -c menuconfig
@@ -793,8 +778,7 @@ instead of the default defconfig. The saved defconfig contains the
differences between the default defconfig and the changes made by the
user using other methods (i.e. the
:ref:`ref-tasks-kernel_menuconfig` task. You
can invoke the task using the following command:
::
can invoke the task using the following command::
$ bitbake linux-yocto -c savedefconfig

View File

@@ -26,8 +26,7 @@ universal, the list includes them just in case:
When you name an append file, you can use the "``%``" wildcard character
to allow for matching recipe names. For example, suppose you have an
append file named as follows:
::
append file named as follows::
busybox_1.21.%.bbappend

File diff suppressed because it is too large Load Diff

View File

@@ -4,6 +4,12 @@
Current Release Manuals
=========================
*******************************
3.3 'hardknott' Release Series
*******************************
- :yocto_docs:`3.3 Documentation </3.3>`
*******************************
3.2 'gatesgarth' Release Series
*******************************
@@ -12,6 +18,7 @@
- :yocto_docs:`3.2.1 Documentation </3.2.1>`
- :yocto_docs:`3.2.2 Documentation </3.2.2>`
- :yocto_docs:`3.2.3 Documentation </3.2.3>`
- :yocto_docs:`3.2.4 Documentation </3.2.4>`
****************************
3.1 'dunfell' Release Series
@@ -24,6 +31,7 @@
- :yocto_docs:`3.1.4 Documentation </3.1.4>`
- :yocto_docs:`3.1.5 Documentation </3.1.5>`
- :yocto_docs:`3.1.6 Documentation </3.1.6>`
- :yocto_docs:`3.1.7 Documentation </3.1.7>`
==========================
Previous Release Manuals

View File

@@ -101,17 +101,15 @@ adjustments:
- Generally, you want to have a shared state mirror set up so users of
the SDK can add additional items to the SDK after installation
without needing to build the items from source. See the "`Providing
Additional Installable Extensible SDK
Content <#sdk-providing-additional-installable-extensible-sdk-content>`__"
without needing to build the items from source. See the
":ref:`sdk-manual/appendix-customizing:providing additional installable extensible sdk content`"
section for information.
- If you want users of the SDK to be able to easily update the SDK, you
need to set the
:term:`SDK_UPDATE_URL`
variable. For more information, see the "`Providing Updates to the
Extensible SDK After
Installation <#sdk-providing-updates-to-the-extensible-sdk-after-installation>`__"
variable. For more information, see the
":ref:`sdk-manual/appendix-customizing:providing updates to the extensible sdk after installation`"
section.
- If you have adjusted the list of files and directories that appear in
@@ -140,8 +138,8 @@ Changing the Extensible SDK Installer Title
You can change the displayed title for the SDK installer by setting the
:term:`SDK_TITLE` variable and then
rebuilding the SDK installer. For information on how to build an SDK
installer, see the "`Building an SDK
Installer <#sdk-building-an-sdk-installer>`__" section.
installer, see the ":ref:`sdk-manual/appendix-obtain:building an sdk installer`"
section.
By default, this title is derived from
:term:`DISTRO_NAME` when it is
@@ -151,8 +149,7 @@ from the :term:`DISTRO` variable.
The
:ref:`populate_sdk_base <ref-classes-populate-sdk-*>`
class defines the default value of the ``SDK_TITLE`` variable as
follows:
::
follows::
SDK_TITLE ??= "${@d.getVar('DISTRO_NAME') or d.getVar('DISTRO')} SDK"
@@ -164,8 +161,7 @@ an example, assume you have your own layer for your distribution named
does the default "poky" distribution. If so, you could update the
``SDK_TITLE`` variable in the
``~/meta-mydistro/conf/distro/mydistro.conf`` file using the following
form:
::
form::
SDK_TITLE = "your_title"
@@ -189,16 +185,14 @@ the installed SDKs to update the installed SDKs by using the
variable to point to the corresponding HTTP or HTTPS URL. Setting
this variable causes any SDK built to default to that URL and thus,
the user does not have to pass the URL to the ``devtool sdk-update``
command as described in the "`Applying Updates to an Installed
Extensible
SDK <#sdk-applying-updates-to-an-installed-extensible-sdk>`__"
command as described in the
":ref:`sdk-manual/extensible:applying updates to an installed extensible sdk`"
section.
3. Build the extensible SDK normally (i.e., use the
``bitbake -c populate_sdk_ext`` imagename command).
4. Publish the SDK using the following command:
::
4. Publish the SDK using the following command::
$ oe-publish-sdk some_path/sdk-installer.sh path_to_shared_http_directory
@@ -208,9 +202,9 @@ the installed SDKs to update the installed SDKs by using the
Completing the above steps allows users of the existing installed SDKs
to simply run ``devtool sdk-update`` to retrieve and apply the latest
updates. See the "`Applying Updates to an Installed Extensible
SDK <#sdk-applying-updates-to-an-installed-extensible-sdk>`__" section
for further information.
updates. See the
":ref:`sdk-manual/extensible:applying updates to an installed extensible sdk`"
section for further information.
Changing the Default SDK Installation Directory
===============================================
@@ -221,8 +215,7 @@ installation directory for the SDK is based on the
:term:`SDKEXTPATH` variables from
within the
:ref:`populate_sdk_base <ref-classes-populate-sdk-*>`
class as follows:
::
class as follows::
SDKEXTPATH ??= "~/${@d.getVar('DISTRO')}_sdk"
@@ -239,8 +232,7 @@ assume you have your own layer for your distribution named
does the default "poky" distribution. If so, you could update the
``SDKEXTPATH`` variable in the
``~/meta-mydistro/conf/distro/mydistro.conf`` file using the following
form:
::
form::
SDKEXTPATH = "some_path_for_your_installed_sdk"
@@ -275,8 +267,7 @@ source, you need to do a number of things:
3. Set the appropriate configuration so that the produced SDK knows how
to find the configuration. The variable you need to set is
:term:`SSTATE_MIRRORS`:
::
:term:`SSTATE_MIRRORS`::
SSTATE_MIRRORS = "file://.* http://example.com/some_path/sstate-cache/PATH"
@@ -290,8 +281,7 @@ source, you need to do a number of things:
side, and its contents will not interfere with the build), then
you can set the variable in your ``local.conf`` or custom distro
configuration file. You can then "whitelist" the variable through
to the SDK by adding the following:
::
to the SDK by adding the following::
SDK_LOCAL_CONF_WHITELIST = "SSTATE_MIRRORS"
@@ -316,8 +306,7 @@ everything needed to reconstruct the image for which the SDK was built.
This bundling can lead to an SDK installer file that is a Gigabyte or
more in size. If the size of this file causes a problem, you can build
an SDK that has just enough in it to install and provide access to the
``devtool command`` by setting the following in your configuration:
::
``devtool command`` by setting the following in your configuration::
SDK_EXT_TYPE = "minimal"
@@ -339,8 +328,7 @@ information enables the ``devtool search`` command to return useful
results.
To facilitate this wider range of information, you would need to set the
following:
::
following::
SDK_INCLUDE_PKGDATA = "1"

View File

@@ -25,8 +25,7 @@ Follow these steps to locate and hand-install the toolchain:
download the installer appropriate for your build host, target
hardware, and image type.
The installer files (``*.sh``) follow this naming convention:
::
The installer files (``*.sh``) follow this naming convention::
poky-glibc-host_system-core-image-type-arch-toolchain[-ext]-release.sh
@@ -38,7 +37,7 @@ Follow these steps to locate and hand-install the toolchain:
"sato" or "minimal"
arch is a string representing the target architecture:
"aarch64", "armv5e", "core2-64", "coretexa8hf-neon", "i586", "mips32r2",
"aarch64", "armv5e", "core2-64", "cortexa8hf-neon", "i586", "mips32r2",
"mips64", or "ppc7400"
release is the version of Yocto Project.
@@ -55,23 +54,21 @@ Follow these steps to locate and hand-install the toolchain:
For example, if your build host is a 64-bit x86 system and you need
an extended SDK for a 64-bit core2 target, go into the ``x86_64``
folder and download the following installer:
::
folder and download the following installer::
poky-glibc-x86_64-core-image-sato-core2-64-toolchain-ext-&DISTRO;.sh
4. *Run the Installer:* Be sure you have execution privileges and run
the installer. Following is an example from the ``Downloads``
directory:
::
directory::
$ ~/Downloads/poky-glibc-x86_64-core-image-sato-core2-64-toolchain-ext-&DISTRO;.sh
During execution of the script, you choose the root location for the
toolchain. See the "`Installed Standard SDK Directory
Structure <#sdk-installed-standard-sdk-directory-structure>`__"
section and the "`Installed Extensible SDK Directory
Structure <#sdk-installed-extensible-sdk-directory-structure>`__"
toolchain. See the
":ref:`sdk-manual/appendix-obtain:installed standard sdk directory structure`"
section and the
":ref:`sdk-manual/appendix-obtain:installed extensible sdk directory structure`"
section for more information.
Building an SDK Installer
@@ -132,8 +129,7 @@ build the SDK installer. Follow these steps:
using to build the installer. If
SDKMACHINE
is not set appropriately, the build fails and provides an error
message similar to the following:
::
message similar to the following::
The extensible SDK can currently only be built for the same architecture as the machine being built on - SDK_ARCH is
set to i686 (likely via setting SDKMACHINE) which is different from the architecture of the build machine (x86_64).
@@ -142,10 +138,11 @@ build the SDK installer. Follow these steps:
6. *Build the SDK Installer:* To build the SDK installer for a standard
SDK and populate the SDK image, use the following command form. Be
sure to replace image with an image (e.g. "core-image-sato"): $
bitbake image -c populate_sdk You can do the same for the extensible
SDK using this command form:
::
sure to replace ``image`` with an image (e.g. "core-image-sato")::
$ bitbake image -c populate_sdk
You can do the same for the extensible SDK using this command form::
$ bitbake image -c populate_sdk_ext
@@ -170,17 +167,16 @@ build the SDK installer. Follow these steps:
libc-staticdev"
7. *Run the Installer:* You can now run the SDK installer from
``tmp/deploy/sdk`` in the Build Directory. Following is an example:
::
``tmp/deploy/sdk`` in the Build Directory. Following is an example::
$ cd poky/build/tmp/deploy/sdk
$ ./poky-glibc-x86_64-core-image-sato-core2-64-toolchain-ext-&DISTRO;.sh
During execution of the script, you choose the root location for the
toolchain. See the "`Installed Standard SDK Directory
Structure <#sdk-installed-standard-sdk-directory-structure>`__"
section and the "`Installed Extensible SDK Directory
Structure <#sdk-installed-extensible-sdk-directory-structure>`__"
toolchain. See the
":ref:`sdk-manual/appendix-obtain:installed standard sdk directory structure`"
section and the
":ref:`sdk-manual/appendix-obtain:installed extensible sdk directory structure`"
section for more information.
Extracting the Root Filesystem
@@ -211,8 +207,7 @@ Follow these steps to extract the root filesystem:
which you can use with QEMU directly.
The pre-built root filesystem image files follow these naming
conventions:
::
conventions::
core-image-profile-arch.tar.bz2
@@ -233,8 +228,7 @@ Follow these steps to extract the root filesystem:
For example, if you plan on using a BeagleBone device as your target
hardware and your image is a ``core-image-sato-sdk`` image, you can
download the following file:
::
download the following file::
core-image-sato-sdk-beaglebone-yocto.tar.bz2
@@ -246,8 +240,7 @@ Follow these steps to extract the root filesystem:
installed the toolchain (e.g. ``poky_sdk``).
Following is an example based on the toolchain installed in the
":ref:`sdk-manual/appendix-obtain:locating pre-built sdk installers`" section:
::
":ref:`sdk-manual/appendix-obtain:locating pre-built sdk installers`" section::
$ source poky_sdk/environment-setup-core2-64-poky-linux
@@ -258,12 +251,11 @@ Follow these steps to extract the root filesystem:
from a previously built root filesystem image that was downloaded
from the :yocto_dl:`Index of Releases </releases/yocto/yocto-&DISTRO;/machines/>`.
This command extracts the root filesystem into the ``core2-64-sato``
directory:
::
directory::
$ runqemu-extract-sdk ~/Downloads/core-image-sato-sdk-beaglebone-yocto.tar.bz2 ~/beaglebone-sato
You could now point to the target sysroot at ``beablebone-sato``.
You could now point to the target sysroot at ``beaglebone-sato``.
Installed Standard SDK Directory Structure
==========================================

View File

@@ -21,8 +21,9 @@ hardware, and ease integration into the rest of the
In addition to the functionality available through ``devtool``, you can
alternatively make use of the toolchain directly, for example from
Makefile and Autotools. See the "`Using the SDK Toolchain
Directly <#sdk-working-projects>`__" chapter for more information.
Makefile and Autotools. See the
":ref:`sdk-manual/working-projects:using the sdk toolchain directly`" chapter
for more information.
Why use the Extensible SDK and What is in It?
=============================================
@@ -58,8 +59,7 @@ The names of the tarball installer scripts are such that a string
representing the host system appears first in the filename and then is
immediately followed by a string representing the target architecture.
An extensible SDK has the string "-ext" as part of the name. Following
is the general form:
::
is the general form::
poky-glibc-host_system-image_type-arch-toolchain-ext-release_version.sh
@@ -82,8 +82,7 @@ is the general form:
For example, the following SDK installer is for a 64-bit
development host system and a i586-tuned target architecture based off
the SDK for ``core-image-sato`` and using the current &DISTRO; snapshot:
::
the SDK for ``core-image-sato`` and using the current &DISTRO; snapshot::
poky-glibc-x86_64-core-image-sato-i586-toolchain-ext-&DISTRO;.sh
@@ -149,8 +148,7 @@ begin with the string "``environment-setup``" and include as part of
their name the tuned target architecture. As an example, the following
commands set the working directory to where the SDK was installed and
then source the environment setup script. In this example, the setup
script is for an IA-based target machine using i586 tuning:
::
script is for an IA-based target machine using i586 tuning::
$ cd /home/scottrif/poky_sdk
$ source environment-setup-core2-64-poky-linux
@@ -257,8 +255,7 @@ command:
to be extracted. In this situation, the source code is extracted
to the default workspace - you do not want the files in some
specific location outside of the workspace. Thus, everything you
need will be located in the workspace:
::
need will be located in the workspace::
$ devtool add recipe fetchuri
@@ -282,8 +279,7 @@ command:
Furthermore, the first positional argument srctree in this case
identifies where the ``devtool add`` command will locate the
extracted code outside of the workspace. You need to specify an
empty directory:
::
empty directory::
$ devtool add recipe srctree fetchuri
@@ -299,8 +295,7 @@ command:
``devtool`` workspace.
The following command provides a new recipe name and identifies
the existing source tree location:
::
the existing source tree location::
$ devtool add recipe srctree
@@ -316,8 +311,7 @@ command:
2. *Edit the Recipe*: You can use ``devtool edit-recipe`` to open up the
editor as defined by the ``$EDITOR`` environment variable and modify
the file:
::
the file::
$ devtool edit-recipe recipe
@@ -337,8 +331,7 @@ command:
On the other hand, if you want an image to contain the recipe's
packages from the workspace for immediate deployment onto a device
(e.g. for testing purposes), you can use the ``devtool build-image``
command:
::
command::
$ devtool build-image image
@@ -434,8 +427,7 @@ command:
outside the workspace (i.e. ``meta-``\ layername).
The following command identifies the recipe and, by default,
extracts the source files:
::
extracts the source files::
$ devtool modify recipe
@@ -473,8 +465,7 @@ command:
The following command tells ``devtool`` the recipe with which to
work and, in this case, identifies a local area for the extracted
source files that exists outside of the default ``devtool``
workspace:
::
workspace::
$ devtool modify recipe srctree
@@ -507,8 +498,7 @@ command:
The following command tells ``devtool`` the recipe with which to
work, uses the "-n" option to indicate source does not need to be
extracted, and uses srctree to point to the previously extracted
source files:
::
source files::
$ devtool modify -n recipe srctree
@@ -531,8 +521,7 @@ command:
depends on what you are going to do with the new code.
If you need to eventually move the build output to the target
hardware, use the following ``devtool`` command:
::
hardware, use the following ``devtool`` command::
$ devtool build recipe
@@ -555,8 +544,7 @@ command:
development machine.
You can deploy your build output to that target hardware by using the
``devtool deploy-target`` command:
::
``devtool deploy-target`` command::
$ devtool deploy-target recipe target
@@ -650,8 +638,7 @@ The following diagram shows the common development flow used with the
A common situation is where third-party software has undergone a
revision so that it has been upgraded. The recipe you have access to
is likely in your own layer. Thus, you need to upgrade the recipe to
use the newer version of the software:
::
use the newer version of the software::
$ devtool upgrade -V version recipe
@@ -702,16 +689,14 @@ The following diagram shows the common development flow used with the
depends on what you are going to do with the new code.
If you need to eventually move the build output to the target
hardware, use the following ``devtool`` command:
::
hardware, use the following ``devtool`` command::
$ devtool build recipe
On the other hand, if you want an image to contain the recipe's
packages from the workspace for immediate deployment onto a device
(e.g. for testing purposes), you can use the ``devtool build-image``
command:
::
command::
$ devtool build-image image
@@ -827,8 +812,7 @@ name and version, just the name, or just the version as part of the
command line.
Sometimes the name or version determined from the source tree might be
incorrect. For such a case, you must reset the recipe:
::
incorrect. For such a case, you must reset the recipe::
$ devtool reset -n recipename
@@ -852,8 +836,7 @@ the ``DEPENDS`` variable in the original recipe to include the new
recipe.
If you need to add runtime dependencies, you can do so by adding the
following to your recipe:
::
following to your recipe::
RDEPENDS_${PN} += "dependency1 dependency2 ..."
@@ -937,8 +920,7 @@ mind:
the command line, add the variable setting to
:term:`EXTRA_OEMAKE` or
:term:`PACKAGECONFIG_CONFARGS`
within the recipe. Here is an example using ``EXTRA_OEMAKE``:
::
within the recipe. Here is an example using ``EXTRA_OEMAKE``::
EXTRA_OEMAKE += "'CC=${CC}' 'CXX=${CXX}'"
@@ -971,7 +953,7 @@ following methods when you run ``devtool add``:
Specifying the name like this produces a recipe that only builds for
the build host.
- Specify the "DASHDASHalso-native" option with the ``devtool add``
- Specify the "--also-native" option with the ``devtool add``
command. Specifying this option creates a recipe file that still
builds for the target but also creates a variant with a "-native"
suffix that builds for the build host.
@@ -982,7 +964,7 @@ following methods when you run ``devtool add``:
that builds code for the target, you can typically accomplish this by
building the native and target parts separately rather than within
the same compilation process. Realize though that with the
"DASHDASHalso-native" option, you can add the tool using just one
"--also-native" option, you can add the tool using just one
recipe file.
Adding Node.js Modules
@@ -992,8 +974,7 @@ You can use the ``devtool add`` command two different ways to add
Node.js modules: 1) Through ``npm`` and, 2) from a repository or local
source.
Use the following form to add Node.js modules through ``npm``:
::
Use the following form to add Node.js modules through ``npm``::
$ devtool add "npm://registry.npmjs.org;name=forever;version=0.15.1"
@@ -1017,8 +998,7 @@ these behaviors ensure the reproducibility and integrity of the build.
As mentioned earlier, you can also add Node.js modules directly from a
repository or local source tree. To add modules this way, use
``devtool add`` in the following form:
::
``devtool add`` in the following form::
$ devtool add https://github.com/diversario/node-ssdp
@@ -1087,12 +1067,12 @@ links created within the source tree:
- ``sysroot-destdir/``: Contains a subset of files installed within
``do_install`` that have been put into the shared sysroot. For
more information, see the "`Sharing Files Between
Recipes <#sdk-sharing-files-between-recipes>`__" section.
more information, see the
":ref:`dev-manual/common-tasks:sharing files between recipes`" section.
- ``packages-split/``: Contains subdirectories for each package
produced by the recipe. For more information, see the
"`Packaging <#sdk-packaging>`__" section.
":ref:`sdk-manual/extensible:packaging`" section.
You can use these links to get more information on what is happening at
each build step.
@@ -1120,7 +1100,7 @@ arguments listed in the previous paragraph. The command determines the
exact options being passed, and shows them to you along with any custom
arguments specified through ``EXTRA_OECONF`` or
``PACKAGECONFIG_CONFARGS``. If applicable, the command also shows you
the output of the configure script's "DASHDASHhelp" option as a
the output of the configure script's "--help" option as a
reference.
Sharing Files Between Recipes
@@ -1195,15 +1175,13 @@ need to restore the original files that existed prior to running the
``devtool deploy-target`` command. Because the ``devtool deploy-target``
command backs up any files it overwrites, you can use the
``devtool undeploy-target`` command to restore those files and remove
any other files the recipe deployed. Consider the following example:
::
any other files the recipe deployed. Consider the following example::
$ devtool undeploy-target lighttpd root@192.168.7.2
If you have deployed
multiple applications, you can remove them all using the "-a" option
thus restoring the target device to its original state:
::
thus restoring the target device to its original state::
$ devtool undeploy-target -a root@192.168.7.2
@@ -1234,22 +1212,19 @@ populated on-demand. Sometimes you must explicitly install extra items
into the SDK. If you need these extra items, you can first search for
the items using the ``devtool search`` command. For example, suppose you
need to link to libGL but you are not sure which recipe provides libGL.
You can use the following command to find out:
::
You can use the following command to find out::
$ devtool search libGL mesa
A free implementation of the OpenGL API Once you know the recipe
(i.e. ``mesa`` in this example), you can install it:
::
(i.e. ``mesa`` in this example), you can install it::
$ devtool sdk-install mesa
By default, the ``devtool sdk-install`` command assumes
the item is available in pre-built form from your SDK provider. If the
item is not available and it is acceptable to build the item from
source, you can add the "-s" option as follows:
::
source, you can add the "-s" option as follows::
$ devtool sdk-install -s mesa
@@ -1265,8 +1240,7 @@ If you are working with an installed extensible SDK that gets
occasionally updated (e.g. a third-party SDK), then you will need to
manually "pull down" the updates into the installed SDK.
To update your installed SDK, use ``devtool`` as follows:
::
To update your installed SDK, use ``devtool`` as follows::
$ devtool sdk-update

View File

@@ -8,8 +8,8 @@ eSDK Introduction
=================
Welcome to the Yocto Project Application Development and the Extensible
Software Development Kit (eSDK) manual. This manual provides information
that explains how to use both the Yocto Project extensible and standard
Software Development Kit (eSDK) manual. This manual
explains how to use both the Yocto Project extensible and standard
SDKs to develop applications and images.
.. note::
@@ -25,12 +25,13 @@ SDKs to develop applications and images.
All SDKs consist of the following:
- *Cross-Development Toolchain*: This toolchain contains a compiler,
debugger, and various miscellaneous tools.
debugger, and various associated tools.
- *Libraries, Headers, and Symbols*: The libraries, headers, and
symbols are specific to the image (i.e. they match the image).
symbols are specific to the image (i.e. they match the image
against which the SDK was built).
- *Environment Setup Script*: This ``*.sh`` file, once run, sets up the
- *Environment Setup Script*: This ``*.sh`` file, once sourced, sets up the
cross-development environment by defining variables and preparing for
SDK use.
@@ -48,14 +49,14 @@ time since that path cannot be dynamically altered. This is the reason
for a wrapper around the ``populate_sdk`` and ``populate_sdk_ext``
archives.
Another feature for the SDKs is that only one set of cross-compiler
Another feature of the SDKs is that only one set of cross-compiler
toolchain binaries are produced for any given architecture. This feature
takes advantage of the fact that the target hardware can be passed to
``gcc`` as a set of compiler options. Those options are set up by the
environment script and contained in variables such as
:term:`CC` and
:term:`LD`. This reduces the space needed
for the tools. Understand, however, that every target still needs a
for the tools. Understand, however, that every target still needs its own
sysroot because those binaries are target-specific.
The SDK development environment consists of the following:
@@ -118,8 +119,8 @@ The Cross-Development Toolchain
The :term:`Cross-Development Toolchain` consists
of a cross-compiler, cross-linker, and cross-debugger that are used to
develop user-space applications for targeted hardware. Additionally, for
an extensible SDK, the toolchain also has built-in ``devtool``
develop user-space applications for targeted hardware; in addition,
the extensible SDK comes with built-in ``devtool``
functionality. This toolchain is created by running a SDK installer
script or through a :term:`Build Directory` that is based on
your metadata configuration or extension for your targeted device. The
@@ -138,21 +139,19 @@ The QEMU Emulator
-----------------
The QEMU emulator allows you to simulate your hardware while running
your application or image. QEMU is not part of the SDK but is made
available a number of different ways:
your application or image. QEMU is not part of the SDK but is
automatically installed and available if you have done any one of
the following:
- If you have cloned the ``poky`` Git repository to create a
:term:`Source Directory` and you have
sourced the environment setup script, QEMU is installed and
automatically available.
- cloned the ``poky`` Git repository to create a
:term:`Source Directory` and sourced the environment setup script.
- If you have downloaded a Yocto Project release and unpacked it to
create a Source Directory and you have sourced the environment setup
script, QEMU is installed and automatically available.
- downloaded a Yocto Project release and unpacked it to
create a Source Directory and sourced the environment setup
script.
- If you have installed the cross-toolchain tarball and you have
sourced the toolchain's setup environment script, QEMU is also
installed and automatically available.
- installed the cross-toolchain tarball and
sourced the toolchain's setup environment script.
SDK Development Model
=====================
@@ -176,8 +175,8 @@ image.
You just need to follow these general steps:
1. *Install the SDK for your target hardware:* For information on how to
install the SDK, see the "`Installing the
SDK <#sdk-installing-the-sdk>`__" section.
install the SDK, see the ":ref:`sdk-manual/using:installing the sdk`"
section.
2. *Download or Build the Target Image:* The Yocto Project supports
several target architectures and has many pre-built kernel images and
@@ -202,10 +201,9 @@ You just need to follow these general steps:
.. note::
To use the root filesystem in QEMU, you need to extract it. See
the "
Extracting the Root Filesystem
" section for information on how to extract the root filesystem.
To use the root filesystem in QEMU, you need to extract it. See the
":ref:`sdk-manual/appendix-obtain:extracting the root filesystem`"
section for information on how to do this extraction.
3. *Develop and Test your Application:* At this point, you have the
tools to develop your application. If you need to separately install

View File

@@ -11,13 +11,13 @@ standard SDK.
.. note::
For a side-by-side comparison of main features supported for a
standard SDK as compared to an extensible SDK, see the "
Introduction
" section.
standard SDK as compared to an extensible SDK, see the
":ref:`sdk-manual/intro:introduction`" section.
You can use a standard SDK to work on Makefile and Autotools-based
projects. See the "`Using the SDK Toolchain
Directly <#sdk-working-projects>`__" chapter for more information.
projects. See the
":ref:`sdk-manual/working-projects:using the sdk toolchain directly`" chapter
for more information.
Why use the Standard SDK and What is in It?
===========================================
@@ -31,9 +31,9 @@ the extensible SDK, which provides an internal build system and the
The installed Standard SDK consists of several files and directories.
Basically, it contains an SDK environment setup script, some
configuration files, and host and target root filesystems to support
usage. You can see the directory structure in the "`Installed Standard
SDK Directory
Structure <#sdk-installed-standard-sdk-directory-structure>`__" section.
usage. You can see the directory structure in the
":ref:`sdk-manual/appendix-obtain:installed standard sdk directory structure`"
section.
Installing the SDK
==================
@@ -48,7 +48,7 @@ the Index of Releases. Toolchains are available for several 32-bit and
64-bit architectures with the ``x86_64`` directories, respectively. The
toolchains the Yocto Project provides are based off the
``core-image-sato`` and ``core-image-minimal`` images and contain
libraries appropriate for developing against that image.
libraries appropriate for developing against the corresponding image.
The names of the tarball installer scripts are such that a string
representing the host system appears first in the filename and then is
@@ -76,17 +76,16 @@ immediately followed by a string representing the target architecture.
For example, the following SDK installer is for a 64-bit
development host system and a i586-tuned target architecture based off
the SDK for ``core-image-sato`` and using the current DISTRO snapshot:
::
the SDK for ``core-image-sato`` and using the current DISTRO snapshot::
poky-glibc-x86_64-core-image-sato-i586-toolchain-DISTRO.sh
.. note::
As an alternative to downloading an SDK, you can build the SDK
installer. For information on building the installer, see the "
Building an SDK Installer
" section.
installer. For information on building the installer, see the
":ref:`sdk-manual/appendix-obtain:building an sdk installer`"
section.
The SDK and toolchains are self-contained and by default are installed
into the ``poky_sdk`` folder in your home directory. You can choose to
@@ -120,9 +119,9 @@ architecture. The example assumes the SDK installer is located in
Each time you wish to use the SDK in a new shell session, you need to source the environment setup script e.g.
$ . /opt/poky/&DISTRO;/environment-setup-i586-poky-linux
Again, reference the "`Installed Standard SDK Directory
Structure <#sdk-installed-standard-sdk-directory-structure>`__" section
for more details on the resulting directory structure of the installed
Again, reference the
":ref:`sdk-manual/appendix-obtain:installed standard sdk directory structure`"
section for more details on the resulting directory structure of the installed
SDK.
Running the SDK Environment Setup Script
@@ -140,14 +139,12 @@ begin with the string "``environment-setup``" and include as part of
their name the tuned target architecture. As an example, the following
commands set the working directory to where the SDK was installed and
then source the environment setup script. In this example, the setup
script is for an IA-based target machine using i586 tuning:
::
script is for an IA-based target machine using i586 tuning::
$ source /opt/poky/&DISTRO;/environment-setup-i586-poky-linux
When you run the
setup script, the same environment variables are defined as are when you
run the setup script for an extensible SDK. See the "`Running the
Extensible SDK Environment Setup
Script <#sdk-running-the-extensible-sdk-environment-setup-script>`__"
run the setup script for an extensible SDK. See the
":ref:`sdk-manual/appendix-obtain:installed extensible sdk directory structure`"
section for more information.

View File

@@ -45,16 +45,14 @@ project:
respectively.
Use the following command to create an empty README file, which is
required by GNU Coding Standards:
::
required by GNU Coding Standards::
$ touch README
Create the remaining
three files as follows:
- ``hello.c``:
::
- ``hello.c``::
#include <stdio.h>
@@ -63,8 +61,7 @@ project:
printf("Hello World!\n");
}
- ``configure.ac``:
::
- ``configure.ac``::
AC_INIT(hello,0.1)
AM_INIT_AUTOMAKE([foreign])
@@ -72,8 +69,7 @@ project:
AC_CONFIG_FILES(Makefile)
AC_OUTPUT
- ``Makefile.am``:
::
- ``Makefile.am``::
bin_PROGRAMS = hello
hello_SOURCES = hello.c
@@ -87,8 +83,7 @@ project:
which is followed by the string "poky-linux". For this example, the
command sources a script from the default SDK installation directory
that uses the 32-bit Intel x86 Architecture and the &DISTRO; Yocto
Project release:
::
Project release::
$ source /opt/poky/&DISTRO;/environment-setup-i586-poky-linux
@@ -113,8 +108,7 @@ project:
the cross-compiler. The
:term:`CONFIGURE_FLAGS`
environment variable provides the minimal arguments for GNU
configure:
::
configure::
$ ./configure ${CONFIGURE_FLAGS}
@@ -127,14 +121,12 @@ project:
``armv5te-poky-linux-gnueabi``. You will notice that the name of the
script is ``environment-setup-armv5te-poky-linux-gnueabi``. Thus, the
following command works to update your project and rebuild it using
the appropriate cross-toolchain tools:
::
the appropriate cross-toolchain tools::
$ ./configure --host=armv5te-poky-linux-gnueabi --with-libtool-sysroot=sysroot_dir
5. *Make and Install the Project:* These two commands generate and
install the project into the destination directory:
::
install the project into the destination directory::
$ make
$ make install DESTDIR=./tmp
@@ -157,8 +149,7 @@ project:
6. *Execute Your Project:* To execute the project, you would need to run
it on your target hardware. If your target hardware happens to be
your build host, you could run the project as follows:
::
your build host, you could run the project as follows::
$ ./tmp/usr/local/bin/hello
@@ -203,8 +194,7 @@ regarding variable behavior:
.. note::
Regardless of how you set your variables, if you use the "-e" option
with ``make``, the variables from the SDK setup script take precedence:
::
with ``make``, the variables from the SDK setup script take precedence::
$ make -e target
@@ -226,8 +216,7 @@ Running the
SDK setup script for a 64-bit build host and an i586-tuned target
architecture for a ``core-image-sato`` image using the current &DISTRO;
Yocto Project release and then echoing that variable shows the value
established through the script:
::
established through the script::
$ source /opt/poky/&DISTRO;/environment-setup-i586-poky-linux
$ echo ${CC}
@@ -252,8 +241,7 @@ example:
Create the three files as follows:
- ``main.c``:
::
- ``main.c``::
#include "module.h"
void sample_func();
@@ -263,14 +251,12 @@ example:
return 0;
}
- ``module.h``:
::
- ``module.h``::
#include <stdio.h>
void sample_func();
- ``module.c``:
::
- ``module.c``::
#include "module.h"
void sample_func()
@@ -288,8 +274,7 @@ example:
which is followed by the string "poky-linux". For this example, the
command sources a script from the default SDK installation directory
that uses the 32-bit Intel x86 Architecture and the &DISTRO_NAME; Yocto
Project release:
::
Project release::
$ source /opt/poky/&DISTRO;/environment-setup-i586-poky-linux
@@ -297,8 +282,7 @@ example:
two lines that can be used to set the ``CC`` variable. One line is
identical to the value that is set when you run the SDK environment
setup script, and the other line sets ``CC`` to "gcc", the default
GNU compiler on the build host:
::
GNU compiler on the build host::
# CC=i586-poky-linux-gcc -m32 -march=i586 --sysroot=/opt/poky/2.5/sysroots/i586-poky-linux
# CC="gcc"
@@ -315,8 +299,7 @@ example:
4. *Make the Project:* Use the ``make`` command to create the binary
output file. Because variables are commented out in the Makefile, the
value used for ``CC`` is the value set when the SDK environment setup
file was run:
::
file was run::
$ make
i586-poky-linux-gcc -m32 -march=i586 --sysroot=/opt/poky/2.5/sysroots/i586-poky-linux -I . -c main.c
@@ -351,8 +334,7 @@ example:
variable as part of the command line. Go into the Makefile and
re-insert the comment character so that running ``make`` uses the
established SDK compiler. However, when you run ``make``, use a
command-line argument to set ``CC`` to "gcc":
::
command-line argument to set ``CC`` to "gcc"::
$ make clean
rm -rf *.o
@@ -376,8 +358,7 @@ example:
environment variable.
In this last case, edit Makefile again to use the "gcc" compiler but
then use the "-e" option on the ``make`` command line:
::
then use the "-e" option on the ``make`` command line::
$ make clean
rm -rf *.o
@@ -402,8 +383,7 @@ example:
Makefile.
5. *Execute Your Project:* To execute the project (i.e. ``target_bin``),
use the following command:
::
use the following command::
$ ./target_bin
Hello World!

View File

@@ -2,9 +2,10 @@
'use strict';
var all_versions = {
'dev': 'dev (3.3)',
'3.2.3': '3.2.3',
'3.1.6': '3.1.6',
'dev': 'dev (3.4)',
'3.3': '3.3',
'3.2.4': '3.2.4',
'3.1.7': '3.1.7',
'3.0.4': '3.0.4',
'2.7.4': '2.7.4',
};

View File

@@ -63,7 +63,7 @@ milestone releases (usually four) with the final one being stabilization
only along with point releases of our stable branches.
The build and release process for these project releases is similar to
that in `Day to Day Development <#test-daily-devel>`__, in that the
that in :ref:`test-manual/test-process:day to day development`, in that the
a-full target of the Autobuilder is used but in addition the form is
configured to generate and publish artifacts and the milestone number,
version, release candidate number and other information is entered. The

View File

@@ -32,9 +32,8 @@ through a
`REST <https://en.wikipedia.org/wiki/Representational_state_transfer>`__
API, store the information about the layers in the Toaster database, and
then show the information to users. Users are then able to view that
information and build layers from Toaster itself without worrying about
cloning or editing the BitBake layers configuration file
``bblayers.conf``.
information and build layers from Toaster itself without having to
clone or edit the BitBake layers configuration file ``bblayers.conf``.
Tying a layer source into Toaster is convenient when you have many
custom layers that need to be built on a regular basis by a community of
@@ -187,7 +186,7 @@ Configuring the Workflow
------------------------
The ``bldcontrol/management/commands/checksettings.py`` file controls
workflow configuration. The following steps outline the process to
workflow configuration. Here is the process to
initially populate this database.
1. The default project settings are set from
@@ -238,7 +237,7 @@ The following example sets "name" to "CUSTOM_XML_ONLY" and its value to
Understanding Fixture File Format
---------------------------------
The following is an overview of the file format used by the
Here is an overview of the file format used by the
``oe-core.xml``, ``poky.xml``, and ``custom.xml`` files.
The following subsections describe each of the sections in the fixture
@@ -408,7 +407,7 @@ To get the status of pending builds, use the following call::
Be sure to provide values for host and port. The output is a JSON file that
itemizes all builds in progress. This file includes the time in seconds since
each respective build started as well as the progress of the cloning, parsing,
and task execution. The following is sample output for a build in progress:
and task execution. Here is sample output for a build in progress:
.. code-block:: JSON
@@ -441,8 +440,8 @@ call::
http://host:port/toastergui/api/builds
Be sure to provide values for host and port. The output is a JSON file that
itemizes all complete builds, and includes build summary information. The
following is sample output for a completed build:
itemizes all complete builds, and includes build summary information. Here
is sample output for a completed build:
.. code-block:: JSON
@@ -480,7 +479,7 @@ Completed query. See the ":ref:`toaster-manual/reference:checking status of buil
section for more information.
The output is a JSON file that itemizes the specific build and includes
build summary information. The following is sample output for a specific
build summary information. Here is sample output for a specific
build:
.. code-block:: JSON

View File

@@ -1,7 +1,7 @@
DISTRO = "poky"
DISTRO_NAME = "Poky (Yocto Project Reference Distro)"
DISTRO_VERSION = "3.3"
DISTRO_CODENAME = "hardknott"
DISTRO_VERSION = "3.3+snapshot-${METADATA_REVISION}"
DISTRO_CODENAME = "master"
SDK_VENDOR = "-pokysdk"
SDK_VERSION = "${@d.getVar('DISTRO_VERSION').replace('snapshot-${METADATA_REVISION}', 'snapshot')}"
SDK_VERSION[vardepvalue] = "${SDK_VERSION}"

View File

@@ -148,11 +148,8 @@ EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
# enable extra features. Some available options which can be included in this variable
# are:
# - 'buildstats' collect build statistics
# - 'image-mklibs' to reduce shared library files size for an image
# - 'image-prelink' in order to prelink the filesystem image
# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
USER_CLASSES ?= "buildstats image-mklibs image-prelink"
USER_CLASSES ?= "buildstats image-prelink"
#
# Runtime testing of images
@@ -188,7 +185,7 @@ PATCHRESOLVE = "noop"
#
# Monitor the disk space during the build. If there is less that 1GB of space or less
# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort
# shutdown the build. If there is less than 100MB or 1K inodes, perform a hard abort
# of the build. The reason for this is that running completely out of space can corrupt
# files and damages the build in ways which may not be easily recoverable.
# It's necessary to monitor /tmp, if there is no space left the build will fail

View File

@@ -119,15 +119,6 @@ DISTRO_FEATURES_remove = "x11"
#
# TCMODE ?= "external-sourcery"
# mklibs library size optimization is more useful to smaller images,
# and less useful for bigger images. Also mklibs library optimization
# can break the ABI compatibility, so should not be applied to the
# images which are to be extended or upgraded later.
#This enabled mklibs library size optimization just for the specified image.
#MKLIBS_OPTIMIZED_IMAGES ?= "core-image-minimal"
#This enable mklibs library size optimization will be for all the images.
#MKLIBS_OPTIMIZED_IMAGES ?= "all"
# This value is currently used by pseudo to determine if the recipe should
# build both the 32-bit and 64-bit wrapper libraries on a 64-bit build system.
#

View File

@@ -9,4 +9,4 @@ BBFILE_COLLECTIONS += "selftest"
BBFILE_PATTERN_selftest = "^${LAYERDIR}/"
BBFILE_PRIORITY_selftest = "5"
LAYERSERIES_COMPAT_selftest = "hardknott"
LAYERSERIES_COMPAT_selftest = "honister"

View File

@@ -14,4 +14,4 @@ LAYERVERSION_skeleton = "1"
LAYERDEPENDS_skeleton = "core"
LAYERSERIES_COMPAT_skeleton = "hardknott"
LAYERSERIES_COMPAT_skeleton = "honister"

View File

@@ -4,7 +4,7 @@ DESCRIPTION = "These are introductory examples to showcase the use of QEMU to ru
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=39346640a23c701e4f459e05f56f4449"
SRCREV = "99f4fa4a3b266b42b52af302610b0f4f429ba5e3"
SRCREV = "0bf9ea216e6f76be50726a3a74e527b7bbb0ad93"
PV = "0.1+git${SRCPV}"
SRC_URI = "git://github.com/aehs29/baremetal-helloqemu.git;protocol=https;branch=master"
@@ -28,12 +28,13 @@ inherit baremetal-image
# machine that QEMU uses on OE, e.g. -machine virt -cpu cortex-a57
# but the examples can also be run on other architectures/machines
# such as vexpress-a15 by overriding the setting on the machine.conf
COMPATIBLE_MACHINE = "qemuarmv5|qemuarm|qemuarm64"
COMPATIBLE_MACHINE = "qemuarmv5|qemuarm|qemuarm64|qemuriscv64"
BAREMETAL_QEMUARCH ?= ""
BAREMETAL_QEMUARCH_qemuarmv5 = "versatile"
BAREMETAL_QEMUARCH_qemuarm = "arm"
BAREMETAL_QEMUARCH_qemuarm64 = "aarch64"
BAREMETAL_QEMUARCH_qemuriscv64 = "riscv64"
EXTRA_OEMAKE_append = " QEMUARCH=${BAREMETAL_QEMUARCH} V=1"

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