subtree updates
poky: 8d0ba08aa6..2696bf8cf3:
Adam Johnston (1):
useradd_base: Fix sed command line for passwd-expire
Adrian Freihofer (1):
vscode: add minimal configuration
Alassane Yattara (44):
bitbake: Update toaster-requirements to add django-log-viewer==1.1.7
bitbake: toaster: bug-fix on tests.browser.test_most_recent_builds_states
bitbake: Toaster: Bug-fix failure on tests.browser.test_layerdetails_page
bitbake: Toaster: Fixed javascript issue on tests.browser.test_js_unit_tests
bitbake: Toaster: bug-fix on /toastermain/logs.py
bitbake: Toaster: bug-fix on custom image test cases
bitbake: Toaster: bug-fix on tests/views/test_views.py
bitbake: Toaster: bug-fix on tests.views.test_views.py
bitbake: toaster: Write logs to BUILDDIR/toaster_logs
bitbake: toaster: Add toaster-tests-requirements.txt to add pytest and some plugins
bitbake: toaster: Update orm.models to catch error ProcessLookupError
bitbake: toaster: Bug-fix pytest and Failed: Database access not allowed
bitbake: toaster: fixed pytest error: Database access not allowed, use the "django_db"
bitbake: toaster: Bug-fix django.db.utils.IntegrityError: Problem installing fixture
bitbake: toaster: fixed: Tests fail when executed one after the other out of sequence
bitbake: toaster: Added pytest.ini file
bitbake: toaster: Check info_sign is visible and clickable in landing page
bitbake: toaster: Test documentation link in landing header is displayed
bitbake: toaster: Test jumbotron links visible and clickable
bitbake: toaster: Bug-fix webdriver No parameter named options
bitbake: Toaster: Write UI TestCase create new project
bitbake: Toaster: Test create new project without project name
bitbake: Toaster: Write UI TestCase import new project using
bitbake: toaster/tests: Add UI TestCase to test if 'no build' message is shown
bitbake: toaster/tests: Add UI TestCase to test search box on all build page
bitbake: toaster/tests: Add UI TestCase to test the filtering feature on 'failure tasks' column
bitbake: toaster/tests: Add UI TestCase to test filtering feature on 'completed_on' column
bitbake: toaster/tests: Add UI TestCase to test "edit column" feature show/hide column
bitbake: toaster/tests: Add UI TestCase to test "show rows" feature, change displaying rows in table
bitbake: toaster/tests: Add UI TestCase for deleting project
bitbake: toaster/tests: Add UI TestCase for Visualize all projects
bitbake: toaster/tests: Add UI TestCase for visualize all projects edit column
bitbake: toaster/tests: Add UI TestCase for visualize all projects show rows
bitbake: toaster/tests/create_new_project: Code cleanup
bitbake: toaster/tests: Add UI TestCase - Check project header contains right items
bitbake: toaster/tests: Add UI TestCase - Test edit project name on project page
bitbake: toaster/tests: Add UI TestCase - Test project page has right tabs displayed
bitbake: toaster/tests: Add UI TestCase - Test project config tab navigation:
bitbake: toaster/tests: Add UI TestCase - Test project config tab
bitbake: toaster/tests: Add UI TestCase - Test project page tab import layer
bitbake: toaster/tests: Add UI TestCase - Test project page tab "New custom image"
bitbake: toaster/tests: Add UI TestCase - Test project page section images
bitbake: toaster/tests: Add UI TestCase for the edit column feature in image recipe
bitbake: toaster/tests: Add UI TestCase - Test the show rows feature in image recipe
Alberto Pianon (1):
bitbake: fetch2: Add API for upstream source tracing
Alejandro Hernandez Samaniego (2):
qemuarmv5: Drop QB_DTB conditional for older kernels
baremetal-helloworld: Pull in fix for race condition on x86-64
Alex Stewart (1):
libsndfile1: fix CVE-2022-33065
Alexander Kanavin (10):
scripts/bitbake-whatchanged: remove
selftest/buildoptions: tag the download mirror test with 'yocto-mirrors'
bitbake: runqueue.py: clarify that 'closest' signature means 'most recent' (and not closest in its content)
selftest/sstatetests: add tests for 'bitbake -S printdiff'
lib/oe/sstatesig.py: dump locked.sigs.inc only when explicitly asked via -S lockedsigs
selftest/sstatetests: add a test for CDN sstate cache
populate_sdk_ext.bbclass: do not symlink unfsd from sdk image sysroot into eSDK tools path
meta/lib/oe/copy_buildsystem.py: do not derefence symlinks
scripts/esdk-tools: use a dedicated, static directory for esdk tools
populate_sdk_ext: split copy_buildsystem() into logical steps defined as functions
Alexander Lussier-Cullen (2):
bitbake: toaster/tests: add passthroughs for relevant build environment variables
bitbake: toaster: make django temp directory configurable
Alexandre Belloni (1):
strace: further clean up of ptest folders
Alexis Lothoré (5):
scripts/resulttool: limit the number of changes displayed per test
scripts/resulttool: rearrange regressions report order
scripts/resulttool: make additional info more compact
scripts/yocto_testresults_query: add option to change display limit
scripts/resulttool: group all regressions in regression report
Anuj Mittal (9):
gstreamer1.0: upgrade 1.22.6 -> 1.22.7
gsettings-desktop-schemas: upgrade 44.0 -> 45.0
harfbuzz: upgrade 8.2.2 -> 8.3.0
libnotify: upgrade 0.8.2 -> 0.8.3
libtirpc: upgrade 1.3.3 -> 1.3.4
mmc-utils: upgrade to latest revision
puzzles: upgrade to latest revision
sqlite3: upgrade 3.43.2 -> 3.44.0
vulkan: upgrade 1.3.261.1 -> 1.3.268.0
Archana Polampalli (1):
vim: Upgrade 9.0.2048 -> 9.0.2068
Arne Schwerdt (1):
ref-manual: Warn about COMPATIBLE_MACHINE skipping native recipes
BELHADJ SALEM Talel (8):
bitbake.conf: Drop DEPLOY_DIR_TAR
ref-manual: Fix PACKAGECONFIG term and add an example
dev-manual: layers: Add notes about layer.conf
ref-manual: variables: add RECIPE_SYSROOT and RECIPE_SYSROOT_NATIVE
ref-manual: variables: add TOOLCHAIN_OPTIONS variable
ref-manual: variables: add example for SYSROOT_DIRS variable
bitbake: Fix find_bbfiles string endswith call
overview-manual: concepts: Add Bitbake Tasks Map
Bastian Krause (1):
linux-firmware: add new fw file to ${PN}-rtl8821
Bruce Ashfield (22):
linux-yocto/6.1: update to v6.1.56
linux-yocto/6.5: update to v6.5.6
linux-yocto/6.1: tiny: fix arm 32 boot
linux-yocto/6.5: tiny: fix arm 32 boot
linux-yocto/6.5: update to v6.5.7
linux-yocto/6.1: update to v6.1.57
linux-yocto/6.4: drop recipes
linux-yocto/6.5: avoid serial port suspend issues
linux-yocto/6.5: config: remove VIDEO_STK1160_COMMON
linux-yocto/6.5: serial: core: integrate upstream fixes
linux-yocto/6.5: update to v6.5.8
linux-yocto/6.1: update to v6.1.59
linux-yocto/6.5: update to v6.5.9
linux-yocto/6.1: update to v6.1.60
kern-tools: make lower context patches reproducible
kern-tools: bump SRCREV for queue processing changes
kern-tools: update SRCREV to include SECURITY.md file
kernel-yocto: improve metadata patching
linux-yocto/6.1: cfg: restore CONFIG_DEVMEM
linux-yocto/6.1: update to v6.1.61
linux-yocto/6.5: cfg: restore CONFIG_DEVMEM
linux-yocto/6.5: update to v6.5.10
Chen Qi (2):
kernel.bbclass: add preceding space in appendVar setting
systemd: fix DynamicUser issue
Chris Laplante (4):
bitbake: codeparser: replace deprecated ast.Str and 's'
bitbake: runqueue: set has 'add', not 'append' method
bitbake: codeparser: add missing 'import os'
bitbake: codegen: cleanup deprecated AST usages
Deepthi Hemraj (1):
binutils: Fix CVE-2022-47007
Desone Burns (1):
bitbake: bitbake: fetch2: git: Update Git-LFS download and tests
Dmitry Baryshkov (11):
kernel-arch: drop CCACHE from KERNEL_STRIP definition
meson: use correct targets for rust binaries
linux-firmware: upgrade 20230804 -> 20231030
linux-firmware: add missing depenencies on license packages
linux-firmware: add notice file to sdm845 modem firmware
linux-firmware: add audio topology symlink to the X13's audio package
linux-firmware: package firmware for Qualcomm Adreno a702
linux-firmware: package firmware for Qualcomm QCM2290 / QRB4210
linux-firmware: package Qualcomm Venus 6.0 firmware
linux-firmware: package Robotics RB5 sensors DSP firmware
libdrm: upgrade 2.4.116 -> 2.4.117
Eero Aaltonen (3):
base-files, systemd: add nss-resolve plugin
systemd: add option to use stub-resolv.conf
ref-manual: add systemd-resolved to distro features
Etienne Cordonnier (1):
bitbake: bitbake-worker: add header with length of message
Fabio Estevam (1):
packagegroup-core-tools-profile: Remove PROFILE_TOOLS_X
Fahad Arslan (1):
linux-firmware: create separate packages
Felix Moessbauer (1):
bitbake: fetch2/aws: forward env-vars used in gitlab-ci K8s
Florian Wickert (1):
systemd: fix libnss-mymachines packaging
Glenn Strauss (3):
lighttpd: upgrade 1.4.71 -> 1.4.72
lighttpd: update init script
lighttpd: modernize lighttpd.conf
Javier Tia (1):
kernel-arch: use ccache only for compiler
Jermain Horsman (3):
lib/oe/buildcfg.py: Include missing import
lib/oe/buildcfg.py: Remove unused parameter
lib/bblayers/setupwriters/oe-setup-layers.py: Fix indentation
Joakim Tjernlund (1):
sed -i destroys symlinks
Johannes Schneider (1):
base-files: profile: allow profile.d to set EDITOR
Jon Mason (2):
qemu: drop unreferenced patch
linux-yocto: Update dtb path for qemuarmv5
Jose Quaresma (5):
sstatesig: be more precise and show the full path in exceptions
systemd: sort packages before pn
systemd: add systemd-crypt package
systemd: add cryptsetup-plugins package config
systemd: add p11kit package config
Joshua Watt (24):
goarch: Move Go architecture mapping to a library
bitbake: asyncrpc: Abstract sockets
bitbake: hashserv: Add websocket connection implementation
bitbake: asyncrpc: Add context manager API
bitbake: hashserv: tests: Add external database tests
bitbake: asyncrpc: Prefix log messages with client info
bitbake: bitbake-hashserv: Allow arguments from environment
bitbake: hashserv: Abstract database
bitbake: hashserv: Add SQLalchemy backend
bitbake: hashserv: Implement read-only version of "report" RPC
bitbake: asyncrpc: Add InvokeError
bitbake: asyncrpc: client: Prevent double closing of loop
bitbake: asyncrpc: client: Add disconnect API
bitbake: hashserv: Add user permissions
bitbake: hashserv: Add become-user API
bitbake: hashserv: Add db-usage API
bitbake: hashserv: Add database column query API
bitbake: hashserv: test: Add bitbake-hashclient tests
bitbake: bitbake-hashclient: Output stats in JSON format
bitbake: bitbake-hashserver: Allow anonymous permissions to be space separated
bitbake: hashserv: tests: Allow authentication for external server tests
bitbake: hashserv: Allow self-service deletion
bitbake: hashserv: server: Add owner if user is logged in
bitbake: asyncrpc: Add option to set log level when running as a process
Julien Stephan (10):
oeqa/selftest/devtool: abort if a local workspace already exist
oeqa/selftest/devtool: remove spaces on empty line
recipetool/create_buildsys_python: fix license note
recipetool/create_buildsys_python: prefix created recipes with python3-
recipetool/create_buildsys_python: refactor code for futur PEP517 addition
recipetool/create_buildsys_python: add PEP517 support
oeqa/selftest/recipetool: add selftest for PEP-517 recipe creation
oeqa/selftest/devtool: fix test_devtool_modify_overrides test
bitbake: bitbake: utils: remove spaces on empty lines
bitbake: fetch2: git: add missing destsuffix and subpath parameters in docstrings
Jérémy Rosen (5):
insane: Add unimplemented-ptest infrastructure
insane: Detect python and perl based tests
insane: Detect build-system test harnesses
insane: Add a naive heuristic to detect test subdirectories
ref-manual: Add documentation for the unimplemented-ptest QA warning
Jörg Sommer (3):
libtirpc: Support ipv6 in DISTRO_FEATURES
base-files: Remove localhost ::1 from hosts if ipv6 missing
package_qa_check_rdepends: Allow /usr/bin/sh if usrmerge
Khem Raj (23):
gcompat: Add fcntl64 wrapper
gcompat: Upgrade to 1.1.0 release
python3-urllib3: Update to 2.0.6
llvm: Upgrade to 17.0.3
shared-mime-info: Fix missing sentinel warning
openssl: Match target name for riscv64/riscv32
openssl: Inherit riscv32 config from latomic config on linux
kernel.bbclass: Use strip utility used for kernel build in do_package
python3-urllib3: Upgrade to 2.0.7
qemuriscv: Add to common MACHINE_FEATURES instead of overriding them
meson: Add check for riscv64 in link template
machine-sdk: Add SDK_ARCH for riscv64
uninative.bbclass: Add ldso information for riscv64
rust-cross-canadian: Add riscv64 to cross-canadian hosts
cdrtools: Fix build on riscv64
llvm: Upgrade to 17.0.4 release
systemd: Make libnss-mymachines conditional upon packageconfig
ptest-packagelists: Remove strace/valgrind/lttng-tools on riscv32
libarchive: Add packageconfig knob for libb2
librsvg: Fix build for riscv32
librsvg: Enable 64bit atomics in crossbeam again for riscv32
libsoup: Upgrade to 3.4.2 -> 3.4.4
llvm: Upgrade to 17.0.5
Lee Chee Yang (6):
qemu: ignore RHEL specific CVE-2023-2680
machine: drop obsolete SERIAL_CONSOLES_CHECK
documentation.conf: drop SERIAL_CONSOLES_CHECK
release-notes-4.3: add Repositories / Downloads section
migration-guide: add release notes for 4.0.14
migration-guide: add release notes for 4.2.4
Logan Gunthorpe (1):
runqemu: Add squashfs filesystem types
Lukas Funke (5):
classes: go-vendor: Add go-vendor class
selftest: recipetool: Add test for go recipe handler
recipetool: Ignore *.go files while scanning for licenses
recipetool: Add handler to create go recipes
udev-extraconf: mount.sh: check if filesystem is supported before mounting
Malte Schmidt (3):
systemd: use nonarch libdir for tmpfiles.d
pam: use nonarch libdir for tmpfiles.d
sysstat: use nonarch libdir for tmpfiles.d
Marcus Folkesson (1):
qemuboot.bbclass: fix typos in documentation
Markus Fuchs (1):
systemd: Add 'no-ntp-fallback' PACKAGECONFIG option
Markus Volk (6):
libcroco: drop recipe
gnomebase.bbclass: Use meson as default buildsystem
ghostscript: Build and install shared lib
cups: Upgrade 2.4.6 -> 2.4.7
gtk: Add rdepend on printbackend for cups
ffmpeg: Upgrade 6.0 -> 6.1
Marlon Rodriguez Garcia (6):
bitbake: toaster: updated bootstrap version 3.3.6 -> 3.3.7
bitbake: toaster: Update bootstrap version to 3.4.1
bitbake: toaster: update jquery version 2.0.3 -> 3.7.1
bitbake: toaster: fixed functional test
bitbake: toaster: add tox.ini file to execute test suite
bitbake: toaster: replace deprecated tags ifequal and ifnotequal
Marta Rybczynska (6):
SECURITY.md: add file
bitbake: SECURITY.md: add file
dev-manual: add security team processes
python3-beartype: upgrade 0.16.2 -> 0.16.4
python3-spdx-tools: upgrade 0.8.1 -> 0.8.2
dev-manual: extend the description of CVE patch preparation
Martin Jansa (13):
staging.bbclass: process installed dependencies in deterministic order as well
bitbake.conf: drop ${PE} and ${PR} from -f{file,macro,debug}-prefix-map
ovmf: drop PE, PR from /usr/src/debug paths
go-cross-canadian.inc: drop PE, PR from /usr/src/debug paths
acpica: drop PE, PR from /usr/src/debug paths
libjpeg-turbo: drop PE, PR from /usr/src/debug paths
ffmpeg: drop PE, PR from /usr/src/debug paths
perf: drop PE, PR from /usr/src/debug paths
rust: drop PE, PR from /usr/src/debug paths
vulkan-samples: drop PE, PR from /usr/src/debug paths
valgrind: drop PE, PR from /usr/src/debug paths
python3-cython: drop PE, PR from /usr/src/debug paths
igt-gpu-tools: drop PR from /usr/src/debug paths
Massimiliano Minella (1):
systemd: update LICENSE statement
Max Krummenacher (2):
Revert "bin_package.bbclass: Inhibit the default dependencies"
perf: fix build with latest kernel
Meenali Gupta (5):
avahi: fix CVE-2023-38469
avahi: fix CVE-2023-38470
avahi: fix CVE-2023-38471
avahi: fix CVE-2023-38472
avahi: fix CVE-2023-38473
Michael Halstead (1):
docs: add support for nanbield (4.3) release
Michael Opdenacker (29):
manuals: update linux-yocto append examples
dev-manual: wic: update "wic list images" output
sdk-manual: appendix-obtain: improve and update descriptions
manuals: update list of supported machines
bsp-guide: bsp: skip Intel machines no longer supported in Poky
brief-yoctoprojectqs: use new CDN mirror for sstate
dev-manual: start.rst: remove obsolete reference
local.conf.sample: remove mips edgerouter machine
oeqa/runtime/cases/parselogs: remove "edgerouter" case
manuals: correct "yocto-linux" by "linux-yocto"
test-manual: reproducible-builds: stop mentioning LTO bug
ref-manual: document KERNEL_LOCALVERSION
ref-manual: variables: document OEQA_REPRODUCIBLE_TEST_PACKAGE
migration-guides: updates for 4.3
migration-guides: mention runqemu change in serial port management
ref-manual: document KERNEL_STRIP
migration-guides: further updates for 4.3
manuals: improve description of CVE_STATUS and CVE_STATUS_GROUPS
ref-manual: document MESON_TARGET
ref-manual: document cargo_c class
ref-manual: variables: mention new CDN for SSTATE_MIRRORS
ref-manual: variables: add RECIPE_MAINTAINER
ref-manual: variables: remove SERIAL_CONSOLES_CHECK
migration-guides: further updates for release 4.3
bsp-guide: bsp.rst: update beaglebone example
ref-manual: classes: explain cml1 class name
migration-guides: fix empty sections
manuals: fix URL
ref-manual: releases.svg: update nanbield release status
Mickael RAMILISON (1):
scripts/patchreview: Add a custom pattern for finding recipe patches
Mingli Yu (2):
openssh: Add sshd.service
openssh: Don't hardcode the dir in sshd.service
Niko Mauno (6):
package_rpm: Fix some pycodestyle issues
package_rpm: Minor cosmetic and style fixes
package_rpm: Remove unused definitions
package_rpm: Allow compression mode override
image_types.bbclass: Use xz default compression preset level
ccache.conf: Remove obsolete configuration option
Paul Barker (1):
ref-manual: Fix reference to MIRRORS/PREMIRRORS defaults
Paul Eggleton (12):
Remove references to apm in MACHINE_FEATURES
ref-manual: update SDK_NAME variable documentation
ref-manual: remove semicolons from *PROCESS_COMMAND variables
release-notes-4.3: fix some typos
release-notes-4.3: tweaks to existing text
release-notes-4.3: add CVEs, recipe upgrades, license changes, contributors
release-notes-4.3: remove the Distribution section
release-notes-4.3: move new classes to Rust section
release-notes-4.3: feature additions
migration-4.3: remove some unnecessary items
migration-4.3: adjustments to existing text
migration-4.3: additional migration items
Pavel Zhukov (1):
bitbake: tests/fetch.py: Add tests to cover multiple branch/name parameters
Peter Kjellerstedt (5):
bb-matrix-plot.sh: Show underscores correctly in labels
bitbake: command: Make parseRecipeFile() handle virtual recipes correctly
bitbake: cookerdata: Be consistent with what type bb_data represents
bitbake: cache: Simplify virtualfn2realfn()
oeqa/selftest/tinfoil: Add tests that parse virtual recipes
Peter Marko (1):
openssl: Upgrade 3.1.3 -> 3.1.4
Quentin Schulz (2):
recipes-rt: update README to match newer override syntax
ref-manual: variables: provide no-match example for COMPATIBLE_MACHINE
Ragesh Nair (1):
bitbake: fetch2/git: fix lfs fetch with destsuffix param
Randy MacLeod (2):
strace: backport fix for so_peerpidfd-test
strace: upgrade 6.5 -> 6.6
Rasmus Villemoes (3):
perf: lift TARGET_CC_ARCH modification out of security_flags.inc
valgrind: split helper scripts to separate packages, update dependencies
perf: add jevents PACKAGECONFIG item
Richard Purdie (34):
reproducible: Exclude rust for now again
linux/cve-exclusion6.1/6.5: Update to latest kernel point releases
oeqa/qemurunner: Drop newlines serial workaround
local.conf.sample: Document new CDN mirror for sstate
poky.conf: Bump version for 4.3 nanbield release
build-appliance-image: Update to master head revision
poky.conf: Update to post release versioning
base: Ensure recipes using mercurial-native have certificates
qemu: Upgrade 8.1.0 -> 8.1.2
oeqa/selftest: Drop machines support
sstate: Ensure sstate searches update file mtime
insane: Move unpack tests to do_recipe_qa
go-vendor: Minor style tweaks
package/package_write: Improve packagedata code location
debianutils: Fix warnings
bitbake: runqueue: Fix runall option for setscene tasks
bitbake: runqueue: Fix errors when using -S printdiff
oeqa/selftest/sstatetests: Fix intermitttent errors and improve performance
layer.conf: Switch layer to nanbield series only
libdnf: Fix arm arch mapping issues for qemuarmv5
linux/cve-exclusion6.1/6.5: Update to latest kernel point releases
bitbake: Revert "toaster: Bug-fix webdriver No parameter named options"
vim: Improve locale handling
selftest/reproducible: Allow packages exclusion via config
bitbake: runqueue: Move 'cantskip' into sqdata
bitbake: runqueue: Refactor StaleSetSceneTasks event out of build_scenequeue_data
bitbake: toaster/tox.ini: Add py 3.11 and 3.12
bitbake.conf: Drop oldincludedir
bitbake: cooker: Add support for BB_DEFAULT_EVENTLOG
bitbake: cooker: Avoid sideeffects for autorev from getAllKeysWithFlags
oeqa/selftest/sstatetests: Re-enable CDN tests
bitbake.conf: Log events by default using BB_DEFAULT_EVENTLOG
package_ipk: Fix Source: field variable dependency
Revert "binutils: Fix CVE-2022-47007"
Robert P. J. Day (2):
dev-manual: new-recipe.rst: add missing parenthesis to "Patching Code" section
profile-manual: aesthetic cleanups
Ross Burton (36):
man-db: add RRECOMMENDS on glibc-utils for iconv
man-db: remove inexplicable man_db.conf patch
patchtest: remove unused imports
patchtest: sort when reading patches from a directory
linux-yocto: update CVE exclusions
libxml2: ignore disputed CVE-2023-45322
zlib: ignore CVE-2023-45853
cve-check: sort the package list in the JSON report
cve-check: slightly more verbose warning when adding the same package twice
pixman: ignore CVE-2023-37769
scripts/patchreview: rework patch detection
scripts/contrib/patchreview: add commit and recipe count fields to JSON
scripts/contrib/patchreview: consolidate imports
scripts/contrib/patchreview: fix commit identification
cve-check: don't warn if a patch is remote
migration-guides: add debian 12 to newly supported distros
migration-guides: edgerouter machine removed
migration-guides: QEMU_USE_SLIRP variable removed
migration-guides: remove non-notable change
migration-guides: mention LLVM 17
migration-guides: mention CDN
migration-guides: add kernel notes
migration-guides: remove SERIAL_CONSOLES_CHECK
migration-guides: enabling SPDX only for Poky, not a global default
migration-guides: add testing notes
migration-guides: add utility notes
migration-guides: add BitBake changes
migration-guides: packaging changes
migration-guides: git recipes reword
poky-tiny: fix PACKAGE_EXCLUDE
Revert "xserver-xorg: Fix for CVE-2023-5574"
xwayland: upgrade to 23.2.2
lib/oe/patch: ensure os.chdir restoring always happens
oeqa/selftest/debuginfod: improve selftest
shared-mime-info: embed PV in the filename
rust-llvm: remove python3native dependency
Rouven Czerwinski (1):
glib-2.0: Remove unnecessary assignement
Sean Nyekjaer (3):
rust-cross-canadian: set CARGO_TARGET_<triple>_RUSTFLAGS
rust-cross-canadian: set CARGO_TARGET_<triple>_RUNNER for nativesdk
oeqa/sdk/rust: Add build and run test of rust binary with SDK host
Sergei Zhmylev (1):
classes: Move package RDEPENDS processing out of debian.bbclass
Siddharth Doshi (2):
vim: Upgrade 9.0.1894 -> 9.0.2009
vim: Upgrade 9.0.2009 -> 9.0.2048
Stefan Herbrechtsmeier (2):
glibc: use nonarch libdir for tmpfiles.d
classes: go-mod: do not pack go mod cache
Steve Sakoman (1):
vim: use upstream generated .po files
Stéphane Veyret (2):
volatile-binds: Allow creation of subdirectories
volatile-binds: Calculate the name of the /var/lib service
Thomas Perrot (1):
opensbi: Upgrade to 1.3.1 release
Thomas Wolber (1):
kea: drop unused directory
Tim Orling (9):
recipetool: add python_hatchling support
lsb-release: use https for UPSTREAM_CHECK_URI
bitbake: toaster: drop deprecated USE_L10N from settings
bitbake: toaster: use docs for BitBake link on landing page
bitbake: toaster: fix obsolete use of find_element_by_link_text
bitbake: toaster: test_create_new_project typos, whitespace
python3-hypothesis: upgrade 6.88.3 -> 6.89.0
python3-setuptools-scm: upgrade 7.1.0 -> 8.0.4
python3-poetry-core: upgrade 1.7.0 -> 1.8.1
Trevor Gamblin (30):
patchtest: improve test issue messages
patchtest: clean up test suite
patchtest/requirements.txt: update
patchtest: add supporting modules
patchtest: add scripts to oe-core
patchtest: set default repo and testdir targets
patchtest: update SPDX identifiers
patchtest/selftest: fix command arguments
patchtest: check for untracked changes
patchtest: test regardless of mergeability
patchtest: skip merge test if not targeting master
contributor-guide: add patchtest section
contributor-guide: clarify patchtest usage
patchtest: fix lic_files_chksum test regex
patchtest-send-results: improve subject line
patchtest: disable merge test
patchtest-send-results: check max line length, simplify responses
patchtest/selftest: add XSKIP, update test files
patchtest: simplify test directory structure
patchtest: reduce checksum test output length
patchtest: shorten test result outputs
patchtest-send-results: send results to submitter
patchtest-send-results: add In-Reply-To
patchtest: make pylint tests compatible with 3.x
patchtest: remove test for CVE tag in mbox
patchtest-send-results: fix sender parsing
patchtest: rework license checksum tests
python3-mako: upgrade 1.2.4 -> 1.3.0
python3-trove-classifiers: upgrade 2023.10.18 -> 2023.11.14
python3-numpy: upgrade 1.26.0 -> 1.26.2
Vijay Anusuri (1):
xserver-xorg: Fix for CVE-2023-5574
Vincent Davis Jr (1):
acpica: add nativesdk to BBCLASSEXTEND
Vyacheslav Yurkov (1):
lib/oe/path: Deploy files can start only with a dot
Wang Mingyu (79):
openssh: upgrade 9.4p1 -> 9.5p1
bluez5: upgrade 5.69 -> 5.70
btrfs-tools: upgrade 6.5.1 -> 6.5.2
createrepo-c: upgrade 1.0.0 -> 1.0.1
dhcpcd: upgrade 10.0.2 -> 10.0.3
ell: upgrade 0.58 -> 0.59
kmod: upgrade 30 -> 31
libcomps: upgrade 0.1.19 -> 0.1.20
libsdl2: upgrade 2.28.3 -> 2.28.4
libubootenv: upgrade 0.3.4 -> 0.3.5
ltp: upgrade 20230516 -> 20230929
libva: upgrade 2.19.0 -> 2.20.0
python3-git: upgrade 3.1.36 -> 3.1.37
python3-babel: upgrade 2.12.1 -> 2.13.0
python3-beartype: upgrade 0.15.0 -> 0.16.2
python3-cffi: upgrade 1.15.1 -> 1.16.0
python3-hypothesis: upgrade 6.86.2 -> 6.87.4
python3-iso8601: upgrade 2.0.0 -> 2.1.0
python3-markdown: upgrade 3.4.4 -> 3.5
python3-packaging: upgrade 23.1 -> 23.2
python3-pycairo: upgrade 1.24.0 -> 1.25.0
python3-ruamel-yaml: upgrade 0.17.32 -> 0.17.35
xkeyboard-config: upgrade 2.39 -> 2.40
python3-wcwidth: upgrade 0.2.6 -> 0.2.8
repo: upgrade 2.36.1 -> 2.37
shared-mime-info: upgrade 2.2 -> 2.3
sqlite3: upgrade 3.43.1 -> 3.43.2
stress-ng: upgrade 0.16.05 -> 0.17.00
base-passwd: upgrade 3.6.1 -> 3.6.2
createrepo-c: upgrade 1.0.1 -> 1.0.2
cronie: upgrade 1.6.1 -> 1.7.0
dhcpcd: upgrade 10.0.3 -> 10.0.4
enchant2: upgrade 2.6.1 -> 2.6.2
btrfs-tools: upgrade 6.5.2 -> 6.5.3
debianutils: upgrade 5.13 -> 5.14
gpgme: upgrade 1.22.0 -> 1.23.1
harfbuzz: upgrade 8.2.1 -> 8.2.2
libdnf: upgrade 0.71.0 -> 0.72.0
libical: upgrade 3.0.16 -> 3.0.17
libjpeg-turbo: upgrade 3.0.0 -> 3.0.1
libnewt: upgrade 0.52.23 -> 0.52.24
libnsl2: upgrade 2.0.0 -> 2.0.1
lighttpd: upgrade 1.4.72 -> 1.4.73
msmtp: upgrade 1.8.24 -> 1.8.25
ghostscript: upgrade 10.02.0 -> 10.02.1
glib-2.0: upgrade 2.78.0 -> 2.78.1
python3-pyrsistent: upgrade 0.19.3 -> 0.20.0
python3-babel: upgrade 2.13.0 -> 2.13.1
python3-gitdb: upgrade 4.0.10 -> 4.0.11
python3-git: upgrade 3.1.37 -> 3.1.40
python3-hypothesis: upgrade 6.87.4 -> 6.88.1
python3-pip: upgrade 23.2.1 -> 23.3.1
python3-psutil: upgrade 5.9.5 -> 5.9.6
python3-pycairo: upgrade 1.25.0 -> 1.25.1
python3-pyopenssl: upgrade 23.2.0 -> 23.3.0
python3-pytest: upgrade 7.4.2 -> 7.4.3
python3-setuptools-rust: upgrade 1.7.0 -> 1.8.1
python3-testtools: upgrade 2.6.0 -> 2.7.0
python3-trove-classifiers: upgrade 2023.9.19 -> 2023.10.18
python3-wcwidth: upgrade 0.2.8 -> 0.2.9
python3-wheel: upgrade 0.41.2 -> 0.41.3
shaderc: upgrade 2023.6 -> 2023.7
xserver-xorg: upgrade 21.1.8 -> 21.1.9
python3-cryptography(-vectors): upgrade 41.0.4 -> 41.0.5
dhcpcd: upgrade 10.0.4 -> 10.0.5
diffoscope: upgrade 249 -> 251
git: upgrade 2.42.0 -> 2.42.1
iproute2: upgrade 6.5.0 -> 6.6.0
libsdl2: upgrade 2.28.4 -> 2.28.5
libsolv: upgrade 0.7.25 -> 0.7.26
libuv: upgrade 1.46.0 -> 1.47.0
bash: upgrade 5.2.15 -> 5.2.21
dnf: upgrade 4.17.0 -> 4.18.1
python3-hatch-vcs: upgrade 0.3.0 -> 0.4.0
python3-hypothesis: upgrade 6.88.1 -> 6.88.3
python3-pbr: upgrade 5.11.1 -> 6.0.0
python3-testtools: upgrade 2.7.0 -> 2.7.1
shared-mime-info: upgrade 2.3 -> 2.4
stress-ng: upgrade 0.17.00 -> 0.17.01
William A. Kennington III (1):
kernel: Commit without running hooks
William Lyu (2):
perl: fix intermittent test failure
openssl: improve handshake test error reporting
Xiangyu Chen (4):
linux-yocto: make sure the pahole-native available before do_kernel_configme
grub: Fix for CVE-2023-4692 and CVE-2023-4693
sudo: upgrade 1.9.14p3 -> 1.9.15p2
openssh: add systemd readiness notification support
Yoann Congal (4):
insane: skip unimplemented-ptest on S=WORKDIR recipes
insane: unimplemented-ptest: ignore source file errors
selftest/reproducible: Split a long line
meta-selftest/files: add xuser to static-passwd/-group
david d zuhn (1):
bitbake.conf: remove ${CCACHE} from FORTRAN compiler
luca fancellu (1):
oeqa/ssh: Handle SSHCall timeout error code
meta-arm: e914891eee..1dff3300fb:
Abdellatif El Khlifi (6):
arm-bsp/linux-yocto: corstone1000: bump to v6.5%
arm-bsp/documentation: corstone1000: enable debug-tweaks
arm-bsp/documentation: corstone1000: update the release note
arm-bsp/documentation: corstone1000: update the change log
arm-bsp/documentation: corstone1000: update the user guide
kas: corstone1000: pin the SHAs
Ali Can Ozaslan (1):
arm-bsp/documentation: corstone1000: Update the user guide
Debbie Martin (10):
arm-bsp/u-boot: Divide the U-boot configuration by machine
arm-bsp/fvp-base: Merge fvp-common.inc into fvp-base.conf
arm-bsp/trusted-firmware-a/fvp-base: Add stdout path and virtio net and rng
arm-bsp/u-boot/fvp-base: Configure FVP base U-boot machine and enable U-boot sysreset, CRC-32 and virtio RNG
arm-bsp/fvp-base: Configure grub as the EFI provider
arm/fvp-base: Update the default testsuites
arm-systemready: Introduce the Arm SystemReady layer
arm-bsp/systemready: Bring up the Arm SystemReady IR ACS 2.0 suite on FVP base
kas: Add kas configuration for Arm SystemReady and fvp-base
ci: Add fvpboot to IMAGE_CLASSES
Delane Brandy (1):
arm-bsp/documentation: corstone1000: Update the user guide
Drew Reed (2):
arm-bsp: Enable TF-A test building for the N1SDP
CI: Enable TF-A TFTF test builds
Emekcan Aras (17):
arm-bsp/u-boot: corstone1000: enable on-disk capsule update
arm-bsp/u-boot: corstone1000: fix runtime capsule update flag checks
arm-bsp/trusted-firmware-m: fix capsule update alignment
arm-bsp/trusted-firmware-m: update the upstream status of the out-of-tree patches
arm-bsp/u-boot: corstone1000: scatter gather list workaround for ondisk capsule update
arm-bsp/trusted-services: enable signaled handling interrupts for SPs
arm-bsp/corstone1000: fix synchronization issue on openamp notification
arm/fvp-corstone1000: upgrade to 11.23_25
arm-bsp/corstone1000-fvp: Add virtio-net configuration
arm-bsp/corstone1000-fvp: add unpadded image support for MMC card config
arm-bsp/corstone1000-fvp: Disable Time Annotation
arm-bsp/u-boot: corstone1000: enable virtio-net support for FVP
arm-bsp/documentation: corstone1000: update the architecture document
arm-bsp/documentation: corstone1000: Add EFI system partition section
arm-bsp/documentation: corstone1000: add a note and fix instructions
arm-bsp/documentation: corstone1000: add readthedocs.yaml file
arm-bsp/documentation: corstone1000: fix the requirements.txt and conf.py path
Harsimran Singh Tungal (4):
arm-bsp/u-boot: corstone1000: Remove External system patches
arm-bsp/linux: corstone1000: update the defconfig
arm-bsp/linux: corstone1000: Remove External system patches
arm-bsp/images: corstone1000: Remove the external system test package
Javier Tia (1):
trusted-firmware-a: fix build error when using ccache
Jon Mason (10):
arm-bsp/linux-yocto: add recipe for v6.4 kernel
arm/linux-yocto: remove defconfig patch
CI: add sbsa-acs to recipe report
arm/linux-yocto: remove PHYS_VIRT config frag
arm-bsp/optee: remove 3.18 recipes and patches
arm-bsp/edk2: remove 202211
arm/hafnium: update to v2.9
arm/optee: update to 4.0.0
arm/optee: cleanups from code review
arm/toolchains: update to 13.2.Rel1
Mariam Elshakfy (3):
arm-bsp/n1sdp: Move OP-TEE to DDR4
arm-bsp/n1sdp: Enable OP-TEE cache in N1SDP
arm-bsp/corstone1000: Remove inappropriate kernel delay patch
Ross Burton (24):
arm/oeqa/selftest: tag all tests with "meta-arm"
CI: don't hardcode the selftest tests to run
CI: also run the _qemutiny testcase for poky-tiny
CI: track nanbield branches
arm/fvp-corstone1000: upgrade to 11.22.35, add aarch64 binaries
kas/corstone1000: don't limit the FVP use to x86-64
CI: don't pin corstone1000-fvp to x86-64
CI: build both aarch64 and x86-64 packages for as many FVPs as possible
arm-bsp/u-boot: remove 2023.01
arm/trusted-firmware-a: update mbedtls to recommended release
CI: Add meta-secure-core to pending-upgrades for corstone1000
arm-bsp: corstone1000 depends on meta-efi-secure-boot
arm/generic-arm64: remove obsolete SERIAL_CONSOLES_CHECK
arm/lib/fvp/runner: don't pass '' as cwd
scripts/runfvp: exit code should be the FVP exit code
arm/selftest: add test that DISPLAY is forwarded into the runfvp child
CI: use nanbield branch for meta-virtualization
CI: use nanbield branch of meta-clang
arm/optee: handle CVE-2021-36133 as disputed
arm-bsp/optee-os: backport fix for CVE-2023-41325
arm/fvp-base-a-aem: upgrade to 11.23.9
arm-bsp/fvp-base: upgrade tune to v8.4
arm-bsp/trusted-firmware-a: use v8.4 instructions on fvp-base
arm-bsp/optee-os: update Upstream-Status tags
Vikas Katariya (1):
arm-bsp/corstone1000: Fix RSA key generation issue
Xueliang Zhong (2):
Update Corstone-1000 doc with security issue reporting guideline
arm-bsp/n1sdp: update to linux yocto kernel 6.5
meta-raspberrypi: 482d864b8f..8231f97534:
Andrei Gherzan (1):
docs: Fix ReadTheDocs builds.os requirement
Carlos Alberto Lopez Perez (1):
linux-raspberrypi: stop setting powersave as the default CPU governor
Jose Quaresma (2):
linux-raspberrypi/linux-raspberrypi-v7: drop 5.10 version
rpi-base: Adds EXTRA_IMAGEDEPENDS to fix the image task do_populate_lic_deploy
Khem Raj (1):
linux-raspberrypi_6.1.bb: Update to 6.1.61 release
Leon Anavi (2):
rpi-config: Upgrade to tip of tree
rpi-config: reintroduce start_x
Matthew Draws (1):
rpi-eeprom: Update to 2023.10.18-2712
Vincent Davis Jr (1):
rpidistro-vlc: add new patch po-Fix-typos-in-oc
meta-openembedded: 62039a2c33..991e6852a5:
Akash Hadke (1):
libeigen: Update GPL-3.0-only to GPL-2.0-only
Alex Kiernan (2):
reptyr: Add 0.10.0
mdns: Upgrade 2200.0.8 -> 2200.40.37.0.1
Alper Ak (1):
unionfs-fuse: upgrade 2.2 --> 3.4
Andrew Jeffery (1):
mdio-tools: Add virtual/kernel dependency to avoid stale SPDX reference
Armin Kuster (4):
netkit: Drop old and no upstream
MAINTANERS: drop netkit
README: drop netkit maintainer
pkggrp: drop netkit
Arthur Oliveira (5):
python3-objectpath: Add ObjectPath Python Recipe
python3-flask-restx: Add Flask-RestX Python Recipe
python3-zopeevent: Add Zope.Event Python Recipe
python3-aniso8601: Add ISO 8601 parsing library
python3-flask-restx: Switch dependency from isodate to aniso8601
Bartosz Golaszewski (5):
shunit2: new recipe
libgpiod: update to v2.1
python3-gpiod: update to v2.1.3
python3-gpiod: setup target config in ptest compile
python3-gpiod: fix the required version of libgpiod
Beniamin Sandu (2):
mbedtls: upgrade 3.4.1 -> 3.5.0
unbound: upgrade 1.18.0 -> 1.19.0
Benjamin Bouvier (1):
libsmi: enable native build
Carlos Alberto Lopez Perez (1):
libbacktrace: Update version and enable shared library.
Charles Perry (4):
libosip2: add recipe
libexosip2: add recipe
libexosip2: add c-ares and openssl PACKAGECONFIG
libexosip2: package binaries in a separate package
Chi Xu (1):
re2: Add ptest support
Christian Eggers (1):
python3-gcovr: switch to main branch
Christophe Vu-Brugier (1):
exfatprogs: upgrade 1.2.1 -> 1.2.2
Clément Péron (2):
proj: Upgrade to 9.3.0 release
pcapplusplus: Add recipe for 23.09 release
Daiane Angolini (1):
wireguard-tools: Use PACKAGECONFIG to select wg-quick and bash-completion
Daniel McGregor (1):
python3-pylint: allow native build
Daniel Semkowicz (2):
cockpit: Fix cockpit-askpass path
cockpit: Bump to version 304
David Pierret (3):
libtext: add ptest
cjson: Add ptest
python3-rapidjson: add missing ptest dependency
Edi Feschiyan (1):
libbytesize: update SRC_URI
Etienne Cordonnier (1):
uutils-coreutils: upgrade 0.0.21 -> 0.0.22
Fabien Thomas (2):
klibc/klibc.inc : Add DEBUG_PREFIX_MAP flag.
samba.bb : Disable ad-dc by default
Fabio Estevam (5):
edid-decode: Upgrade to latest master
openocd: Use https for github
python3-piccata: Use https for github
multipath-tools: Use https for github
crucible: Upgrade to 2023.11.02
Gianfranco Costamagna (3):
vbxguestdrivers: upgrade 7.0.10 -> 7.0.12
cpulimit: add DESCRIPTION field
dlt-daemon: cherry-pick another upstream-proposed patch
Hains van den Bosch (1):
libebml: Enable shared libraries
Jamin Lin (1):
Brotli: fix build failed if the path includes "-static"
Jan Claußen (1):
btop: Add recipe
Jan Vermaete (3):
netdata: chown in systemd service with ':' iso '.'
netdata: version bump 1.43.0 -> 1.43.2
README.md: was a Markdown paragraph and should be a list
Jeffrey Pautler (1):
apache2: add vendor to product name used for CVE checking
Joe Slater (2):
python3-pynacl: add RCONFLICTS with python3-nacl
python3-django: move to version 4.2.5
Johannes Kauffmann (1):
open62541: update to v1.3.8
Johnathan Mantey (1):
ipmitool: Update and eliminate unneeded patch
Jonas Gorski (1):
frr: fix CVEs CVE-2023-4675{2,3} and CVE-2023-4723{4,5}
Jose Quaresma (4):
ostree: Upgrade 2023.5 -> 2023.6
ostree: drop trivial-httpd-cmdline
ostree: add ed25519-openssl
ostree: Upgrade 2023.6 -> 2023.7
Kai Kang (4):
xfce4-panel-profiles: 1.0.13 -> 1.0.14
python3-nacl: drop duplicate recipe
python3-blivet: 3.4.3 -> 3.8.2
python3-blivetgui: 2.3.0 -> 2.4.2
Khem Raj (209):
libnet-idn-encode: Fix build with perl 2.38 and gcc13
poco: Fix data race when create POSIX thread
static-group: Match nogroup id to base-passwd from core.
gutenprint: Upgrade to 5.3.4
meta-perl: Add libtext-diff-perl to fast ptest list
leveldb: Upgrade to 1.23 plus latest git
meta-python: Add python3-rapidjson to PTESTS_FAST_META_PYTHON
leveldb: Print uint64_t with PRI64
network-manager-applet,networkmanager-openvpn, networkmanager: Apply linker versioning patch when using lld only
emlog: Add PV
ccid: upgrade 1.5.2 -> 1.5.4
jack: upgrade 1.19.22 -> 2
abseil-cpp: upgrade 20230802.0 -> 20230802.1
xterm: upgrade 387 -> 388
toybox: upgrade 0.8.8 -> 0.8.10
pahole: upgrade 1.24 -> 1.25
gcab: upgrade 1.4 -> 1.6
feh: upgrade 3.10 -> 3.10.1
xmlsec1: upgrade 1.2.37 -> 1.3.2
xmlsec1: Fix the key name in verify2 test
ctags: upgrade 6.0.20231001.0 -> 6.0.20231029.0
googlebenchmark: upgrade 1.8.0 -> 1.8.3
opencl-headers: upgrade 04.17 -> 2023.04.17
thingsboard-gateway: upgrade 3.4.1 -> 3.4.2
neatvnc: upgrade 0.6.0 -> 0.7.0
lastlog2: upgrade 1.1.0 -> 1.2.0
libmbim: upgrade 1.30.0 -> 1.31.1
ser2net: upgrade 4.3.13 -> 4.5.0
fio: upgrade 3.32 -> 2022
libosinfo: upgrade 1.10 -> 1.11.0
webkitgtk3: upgrade 2.42.0 -> 2.42.1
mstpd: upgrade 0.1 -> 0.05
smarty: upgrade 4.3.0 -> 4.3.4
geos: upgrade 3.12.0 -> 3.12.0beta2
wtmpdb: upgrade 0.7.1 -> 0.9.3
lsscsi: upgrade 0.32 -> 030
glibmm-2.68: upgrade 2.74.0 -> 2.78.0
mcelog: upgrade 194 -> 196
libfastjson: upgrade 0.99.9 -> 1.2304.0
libraw: upgrade 0.20.2 -> 0.21.1
cairomm-1.16: upgrade 1.16.2 -> 1.18.0
libbpf: upgrade 1.2.0 -> 1.2.2
libtorrent: upgrade 0.13.8 -> 1
modemmanager: upgrade 1.22.0 -> 1.23.1
c-ares: upgrade 1.20.1 -> 1.21.0
pmdk: upgrade 1.12.1 -> 2.0.0
hwdata: upgrade 0.370 -> 0.375
mksh: upgrade 59 -> R59c
sdbus-c++: upgrade 1.3.0 -> 1.4.0
cjson: upgrade 1.7.15 -> 1.7.16
uftrace: upgrade 0.13.1 -> 0.14
python3-trustme: upgrade 0.9.0 -> 1.1.0
python3-eth-utils: upgrade 2.2.2 -> 2.3.0
python3-xstatic-font-awesome: upgrade 4.7.0.0 -> 6.2.1.1
python3-process-tests: upgrade 2.1.2 -> 3.0.0
python3-pyperf: upgrade 2.6.1 -> 2.6.2
python3-sentry-sdk: upgrade 1.26.0 -> 1.34.0
python3-websockets: upgrade 11.0.3 -> 12.0
python3-alembic: upgrade 1.12.0 -> 1.12.1
python3-pymisp: upgrade 2.4.176 -> 2.4.178
python3-traitlets: upgrade 5.11.2 -> 5.13.0
python3-pytest-mock: upgrade 3.11.1 -> 3.12.0
python3-kivy: upgrade 2.1.0 -> 2.2.1
python3-web3: upgrade 6.11.1 -> 6.11.2
python3-m2crypto: upgrade 0.39.0 -> 0.40.1
python3-rapidjson: upgrade 1.12 -> 1.13
python3-eth-typing: upgrade 3.5.0 -> 3.5.1
python3-email-validator: upgrade 2.0.0 -> 2.1.0
python3-icu: upgrade 2.11 -> 2.12
python3-virtualenv: upgrade 20.24.5 -> 20.24.6
python3-tzlocal: upgrade 5.1 -> 5.2
python3-cantools: upgrade 39.2.0 -> 39.3.0
python3-flask-login: upgrade 0.6.2 -> 0.6.3
python3-argcomplete: upgrade 3.1.2 -> 3.1.4
python3-wxgtk4: upgrade 4.2.0 -> 4.2.1
python3-meson-python: upgrade 0.14.0 -> 0.15.0
python3-pymongo: upgrade 4.5.0 -> 4.6.0
python3-imgtool: upgrade 1.10.0 -> 2.0.0
python3-google-api-python-client: upgrade 2.104.0 -> 2.106.0
python3-tornado: upgrade 6.3 -> 6.3.3
python3-imageio: upgrade 2.31.5 -> 2.31.6
python3-blinker: upgrade 1.6.3 -> 1.7.0
python3-pyhamcrest: upgrade 2.0.4 -> 2.1.0
python3-pytest-asyncio: upgrade 0.21.1 -> 0.22.0
python3-pyjwt: upgrade 2.7.0 -> 2.8.0
python3-bitstruct: upgrade 8.18.0 -> 8.19.0
python3-filelock: upgrade 3.12.4 -> 3.13.1
python3-sqlalchemy: upgrade 2.0.22 -> 2.0.23
python3-greenlet: upgrade 2.0.2 -> 3.0.1
python3-charset-normalizer: upgrade 3.3.0 -> 3.3.2
python3-cbor2: upgrade 5.4.6 -> 5.5.1
python3-cbor2: Add missing hypothesis rdep for ptests
python3-asttokens: upgrade 2.4.0 -> 2.4.1
python3-xlsxwriter: upgrade 3.1.8 -> 3.1.9
python3-cachetools: upgrade 5.3.1 -> 5.3.2
python3-paramiko: upgrade 3.2.0 -> 3.3.1
python3-tomlkit: upgrade 0.12.1 -> 0.12.2
python3-eth-account: upgrade 0.9.0 -> 0.10.0
python3-reedsolo: upgrade 1.7.0 -> 2.0.13
python3-shellingham: upgrade 1.5.3 -> 1.5.4
python3-ipython: upgrade 8.16.1 -> 8.17.2
python3-argh: upgrade 0.29.4 -> 0.30.3
python3-executing: upgrade 2.0.0 -> 2.0.1
python3-pylint: upgrade 3.0.1 -> 3.0.2
python3-google-auth: upgrade 2.23.3 -> 2.23.4
libtest-harness-perl: upgrade 3.47 -> 3.48
libmodule-build-tiny-perl: upgrade 0.046 -> 0.047
libdbd-sqlite-perl: upgrade 1.72 -> 1.74
libconfig-tiny-perl: upgrade 2.29 -> 2.30
libcgi-perl: upgrade 4.57 -> 4.60
ipset: upgrade 7.15 -> 7.19
openvpn: upgrade 2.6.3 -> 2.6.6
nng: upgrade 1.5.2 -> 12
usrsctp: upgrade to latest revision
python3-scapy: upgrade to latest revision
wolfssl: upgrade 5.5.4 -> 5.6.4
tnftp: upgrade 20210827 -> 20230507
fluidsynth: upgrade 2.3.2 -> 2.3.4
libuvc: upgrade 0.0.6 -> 0.0.7
libdc1394: upgrade 2.2.6 -> 2.2.7
ncmpc: upgrade 0.47 -> 0.49
gerbera: upgrade 1.11.0 -> 1.12.1
gst-shark: upgrade 0.7.3.1 -> 0.8.1
gupnp-av: upgrade 0.14.0 -> 0.14.1
libmediaart-2.0: upgrade 1.9.5 -> 1.9.6
libdvbpsi: upgrade 1.3.0 -> 1.3.3
fdk-aac: upgrade 2.0.1 -> 2.0.2
libavif: upgrade 0.11.1 -> 1.0.1
libdvdcss: upgrade 1.4.2 -> 1.4.3
aom: upgrade 3.6.1 -> 3.7.0
aom: Disable neon when building on arm
dav1d: upgrade 1.2.0 -> 1.3.0
network-manager-applet: upgrade 1.32.0 -> 1.34.0
gvfs: upgrade 1.52.0 -> 1.52.1
gnome-text-editor: upgrade 45.0 -> 45.1
libwacom: upgrade 2.6.0 -> 2.8.0
evolution-data-server: upgrade 3.50.0 -> 3.50.1
orage: upgrade 4.16.0 -> 4.18.0
xfce4-systemload-plugin: upgrade 1.3.1 -> 1.3.2
xfce4-screenshooter: upgrade 1.10.3 -> 1.10.4
xfce4-appfinder: upgrade 4.18.0 -> 4.19.1
xfce4-netload-plugin: upgrade 1.4.0 -> 1.4.1
thunar-shares-plugin: upgrade 0.3.1 -> 0.3.2
xfce4-battery-plugin: upgrade 1.1.4 -> 1.1.5
xfce4-places-plugin: upgrade 1.8.1 -> 1.8.3
libxfce4util: upgrade 4.18.1 -> 4.19.2
xfce4-notes-plugin: upgrade 1.9.0 -> 1.10.0
xfce4-weather-plugin: upgrade 0.11.0 -> 0.11.1
thunar: upgrade 4.18.4 -> 4.19.0
catfish: upgrade 4.16.3 -> 4.18.0
xfce4-time-out-plugin: upgrade 1.1.2 -> 1.1.3
thunar-archive-plugin: upgrade 0.5.1 -> 0.5.2
xfce4-timer-plugin: upgrade 1.7.1 -> 1.7.2
xfce4-calculator-plugin: upgrade 0.7.1 -> 0.7.2
xfmpc: upgrade 0.3.0 -> 0.3.1
garcon: upgrade 4.18.1 -> 4.19.0
xfce4-genmon-plugin: upgrade 4.1.1 -> 4.2.0
xfce4-fsguard-plugin: upgrade 1.1.2 -> 1.1.3
xfce4-cpugraph-plugin: upgrade 1.2.7 -> 1.2.8
parole: upgrade 4.16.0 -> 4.18.0
xfce4-datetime-plugin: upgrade 0.8.1 -> 0.8.3
menulibre: upgrade 2.2.3 -> 2.3.2
xfce4-pulseaudio-plugin: upgrade 0.4.3 -> 0.4.8
libxfce4ui: upgrade 4.18.3 -> 4.19.3
xfce4-taskmanager: upgrade 1.5.5 -> 1.5.6
xfce4-mpc-plugin: upgrade 0.5.2 -> 0.5.3
mousepad: upgrade 0.5.9 -> 0.6.1
gigolo: upgrade 0.5.2 -> 0.5.3
xfce4-verve-plugin: upgrade 2.0.1 -> 2.0.3
exo: upgrade 4.18.0 -> 4.19.0
xfce4-mailwatch-plugin: upgrade 1.3.0 -> 1.3.1
xarchiver: upgrade 0.5.4.17 -> 0.5.4.21
xfsprogs: upgrade 6.1.1 -> 6.5.0
xfstests: upgrade 2023.03.05 -> 2023.10.29
xfstests: Fix build with clang17
xfstests: Fix build on musl
ufs-utils: upgrade to latest revision
xfce4-systemload-plugin: Fix build on 32bit machines
libsodium: upgrade 1.0.18 -> 1.0.19
libsodium: Fix build with clang on aarch64
Revert "modemmanager: upgrade 1.22.0 -> 1.23.1"
modemmanager: inherit upstream-version-is-even
Revert "geos: upgrade 3.12.0 -> 3.12.0beta2"
emlog: Drop SRCPV
makedumpfile: Change COMPATIBLE_HOST check to exclude unsupported arches
packagegroup-meta-oe: Update makedumpfile architecture support list
gupnp: Add missing rdep on python3-core
vte9: Upgrade to 0.74.1
rygel: Upgrade to 0.40.4 -> 0.42.4
vte9: Add knob for enabling systemd
meta-networking: Use autotools make system
meta-oe: Use autotools make system
toscoterm: Skip recipe, slated for removal
loudmouth: Upgrade to 1.5.4
toscoterm: Delete recipe
librest: Use autotools make system
cannelloni: Fix build with clang and libc++ runtime
gnome-console: Add missing dependency on gtk4-native
gnome-terminal: Add missing dependency on libhandy
dleyna-core: Update to tip of master
dleyna: Skip all dleyna recipes, slated for removal
packagegroup-meta-multimedia: Remove dleyna recipes
beep: Upgrade to 1.4.12
yelp: Use autotools for build system
gstd: Upgrade to 0.15.0
gimp: Update to 2.10.36
projucer: Refresh patch to apply cleanly
ledmon: Fix systemd unit install
libxml++-5.0: Make use of gnomebase bbclass
LI Qingwu (1):
kmsxx: Add recipe
Lei Maohui (1):
gexiv2: Fix do_package QA issue when usrmerge enabled.
Leon Anavi (32):
sip: upgrade 6.7.11 -> 6.7.12
python3-rarfile: add recipe
python3-colorclass: add recipe
python3-inflate64: add recipe
python3-jsbeautifier: add recipe
python3-pymemcache: add recipe
python3-multivolumefile: add recipe
python3-oletools: add recipe
python3-olefile: add recipe
python3-pcodedmp: add recipe
python3-screeninfo: add recipe
python3-unoconv: add recipe
python3-pybcj: add recipe
python3-pyppmd: add recipe
python3-py7zr: add recipe
python3-wand: add recipe
python3-pdm-backend: add recipe
python3-pdm: add recipe
python3-jsonref: Upgrade 1.0.1 -> 1.1.0
imlib2: Upgrade 1.7.1 -> 1.12.1
libblockdev: Upgrade 3.0.3 -> 3.0.4
exiftool: add recipe
bindfs: add recipe
qpdf: Update 10.6.3 -> 11.6.3
python3-file-magic: add recipe
python3-wrapt: Upgrade 1.15.0 -> 1.16.0
python3-bitarray: Upgrade 2.8.2 -> 2.8.3
python3-pillow: Upgrade 10.0.1 -> 10.1.0
python3-polyline: upgrade 1.4.0 -> 2.0.1
python3-py7zr: Upgrade 0.20.7 -> 0.20.8
python3-zeroconf: upgrade 0.120.0 -> 0.126.0
python3-pystemd: upgrade 0.10.0 -> 0.13.2
Luca Fancellu (5):
linuxptp: update linuxptp recipe to 4.1
linuxptp: install default configuration file in sysconfdir
linuxptp: add systemd services
linuxptp: Drop unneeded downstream patches
linuxptp: Use templates for the systemd services
Marek Vasut (2):
lvgl: lv-drivers: Allow empty package
lvgl: Allow empty package
Markus Fuchs (1):
remove unused AUTHOR variable
Markus Volk (52):
libdecor: Upgrade 0.1.99 -> 0.2.0
wireplumber: Upgrade 0.4.14 -> 0.4.15
pipewire: Update 0.3.81 -> 0.3.83
gnome-software: Update 45.0 -> 45.1
gnome-calendar: Update 45.0 -> 45.1
gnome-disk-utility: Update 44.0 -> 45.0
gnome-control-center: Update 45.0 -> 45.1
eog: Update 45.0 -> 45.1
gnome-remote-desktop: Update 45.0 -> 45.1
gnome-shell: Add missing dependency on pipewire
gnome-shell: Remove deprecated libcroco dependency
openbox: Drop deprecated libcroco dependency
pipewire: Update 0.3.83 -> 0.3.84
tracker-miners: Upgrade 3.6.0 -> 3.6.2
libgweather4: Upgrade 4.2.0 -> 4.4.0
gtksourceview5: Upgrade 5.7.1 -> 5.10.0
openal-soft: Upgrade 1.20.1 -> 1.23.1
gnome-shell: Upgrade 45.0 -> 45.1
mutter: Upgrade 45.0 -> 45.1
dconf-editor: Upgrade 43 -> 45.0.1
libgsf: Upgrade 1.14.50 -> 1.14.51
xdg-desktop-portal: Upgrade 1.18.0 -> 1.18.1
xdg-desktop-portal-gtk: Upgrade 1.14.1 -> 1.15.1
rest: Upgrade 0.9.0 -> 0.9.1
nv-codec-headers: Upgrade 12.0.16.0 -> 12.1.14.0
webp-pixbuf-loader: Upgrade 0.2.4 -> 0.2.5
libchamplain: Upgrade 0.12.20 -> 0.12.21
rest: Add packageconfigs for examples and tests
gssdp: Fix build with api-documentation enabled
gupnp: Upgrade 0.10.2 -> 0.12.1
Gupnp-tools upgrade 0.10.2 -> 0.12.1
gupnp-idg: Upgrade 1.2.0 -> 1.6.0
gssdp: Upgrade 1.4.0.1 -> 1.6.3
ghex: Upgrade 3.18.4 -> 45.0
Adjust vala build according to changes in vala.bbclass
drop GNOMEBASEBUILDCLASS = "meson"
gnome-shell-extensions: Upgrade 44.1 -> 45.1
cups-filters: Fix for current gcc
gnome-console: Add recipe
vte9: Fix build with api-documentation enabled
gnome-terminal: Upgrade 3.48.1 -> 3.50.1
cups-filters: Upgrade 1.28.17 -> 2.0.0
gnome-terminal: Remove recommendation on vte-prompt
ghex: backport patch to fix build for clang
qpdf: cleanup
gtksourceview4: Upgrade 4.8.2 -> 4.8.4
gnome-control-center: Add rdepends
system-config-printer: Add cups to rdepends
pipewire: Upgrade 0.3.84 -> 0.3.85
flatpak: Upgrade 1.15.4 -> 1.15.6
flatpak: Add packageconfigs for man and docbook docs
musicpd: unbreak build with ffmpeg 6.1
Martin Jansa (12):
nodejs: update to latest v20 version 20.8.1
nodejs: Revert io_uring support from bundled libuv-1.46.0
opencv: refresh protobuf-v22 compatibility patch with backported version
leveldb: prevent installing gtest
android-tools: drop ${PE}, ${PR} from /usr/src/debug paths
minifi-cpp: drop ${PE}, ${PR} from /usr/src/debug paths
xmlrcp-c: drop ${PE}, ${PR} from /usr/src/debug paths
fluentbit: drop ${PE}, ${PR} from /usr/src/debug paths
ntpsec, net-snmp: drop ${PE}, ${PR} from /usr/src/debug paths
aom, x265: drop ${PE}, ${PR} from /usr/src/debug paths
python3-{h5py,pandas}: drop ${PE}, ${PR} from /usr/src/debug paths
evince, gnome-calendar, tracker: drop ${PE}, ${PR} from /usr/src/debug paths
Martin Maurer (1):
libqmi: Upgrade 1.32.4 -> 1.34.0
Matthias Klein (1):
paho-mqtt-c: upgrade 1.3.12 -> 1.3.13
Mingli Yu (3):
vboxguestdrivers: Remove the buildpath
nlohmann-json: Add ptest support
ptest-packagelists-meta-oe.inc: Add nlohmann-json
Peter Kjellerstedt (18):
libwebsockets: Support building for native
mosquitto: Support building for native again
jack: Revert to 1.9.22
pahole: Correct the version in the recipe file name
neatvnc: Specify the version in the recipe file name
mstpd: Update to 0.1.0+
Revert "libtorrent: upgrade 0.13.8 -> 1"
libtorrent: Add UPSTREAM_CHECK_GITTAGREGEX
mksh: Update to 59c properly
fluidsynth: Specify the version in the recipe file name
libuvc: Specify the version in the recipe file name
gst-shark: Update to 0.8.1 properly
xarchiver: Specify the version in the recipe file name
python3-kivy: Move a comment so it makes more sense
python3-greenlet: Avoid duplicate URI in SRC_URI
python3-pylint: Only set SRCREV once
python3-pytest-mock: Only set SRCREV once
zeromq: Update to 4.3.5
Peter Marko (1):
grpc: Upgrade 1.56.2 -> 1.59.2
Petr Gotthard (2):
libmbim: upgrade 1.28.4 -> 1.30.0
modemmanager: upgrade 1.20.6 -> 1.22.0
Poonam Jadhav (1):
sdbus-c++: Update ptest path
Potin Lai (2):
libplist: Upgrade to latest master
idevicerestore: Upgrade to latest master
Richard Purdie (4):
meta-python: Drop broken BBCLASSEXTEND variants
meta-oe: Drop broken BBCLASSEXTEND variants
meta-networking: Drop broken BBCLASSEXTEND variants
meta-perl: Drop broken BBCLASSEXTEND variants
Ross Burton (1):
yajl: fix CVE-2017-16516, CVE-2022-24795, CVE-2023-33460
Sam Van Den Berge (1):
netdata: Upgrade 1.36.1 -> 1.43.0
Samuli Piippo (2):
abseil-cpp: fix mingw build
protobuf: stage protoc binary to sysroot
Thomas Gessler (1):
influxdb: Add start script used by systemd service
Tim Orling (2):
po4a: remove old recipe
debsums: remove old recipe
Trevor Gamblin (5):
python-git-pw: add from meta-patchtest
python3-py-cpuinfo: disable broken ptests
python3-arrow: add from meta-patchtest
python3-pytest-mock: disable broken ptests
meta-python: update ptests status for py-cpuinfo, pytest-mock
Wang Mingyu (149):
dnf-plugin-tui: create symlinks from /usr/ to /.
c-ares: upgrade 1.19.1 -> 1.20.1
adw-gtk3: upgrade 4.9 -> 5.1
ctags: upgrade 6.0.20230917.0 -> 6.0.20231001.0
dialog: upgrade 1.3-20230209 -> 1.3-20231002
freerdp: upgrade 2.11.1 -> 2.11.2
gnome-backgrounds: upgrade 44.0 -> 45.0
gnome-calculator: upgrade 45.0 -> 45.0.2
gnome-font-viewer: upgrade 44.0 -> 45.0
ipc-run: upgrade 20220807.0 -> 20231003.0
libbytesize: upgrade 2.9 -> 2.10
libcoap: upgrade 4.3.3 -> 4.3.4
libyang: upgrade 2.1.111 -> 2.1.128
lvgl: upgrade 8.3.9 -> 8.3.10
metacity: upgrade 3.46.1 -> 3.50.0
nautilus: upgrade 45.0 -> 45.1
ceres-solver: upgrade 2.1.0 -> 2.2.0
python3-eth-abi: upgrade 3.0.1 -> 4.2.1
python3-mypy: upgrade 1.5.1 -> 1.6.1
python3-pylint: upgrade 3.0.0 -> 3.0.1
python3-aiodns: upgrade 3.0.0 -> 3.1.1
python3-aiohttp: upgrade 3.8.5 -> 3.8.6
python3-astroid: upgrade 3.0.0 -> 3.0.1
python3-bitarray: upgrade 2.8.1 -> 2.8.2
python3-bitstruct: upgrade 8.17.0 -> 8.18.0
python3-blinker: upgrade 1.6.2 -> 1.6.3
python3-charset-normalizer: upgrade 3.2.0 -> 3.3.0
python3-cmake: upgrade 3.27.5 -> 3.27.7
python3-coverage: upgrade 7.3.1 -> 7.3.2
python3-croniter: upgrade 1.4.1 -> 2.0.1
python3-dbus-fast: upgrade 1.85.0 -> 2.12.0
python3-email-validator: upgrade 1.3.1 -> 2.0.0
python3-engineio: upgrade 4.7.1 -> 4.8.0
python3-eth-typing: upgrade 3.4.0 -> 3.5.0
python3-eth-utils: upgrade 2.2.1 -> 2.2.2
python3-executing: upgrade 1.2.0 -> 2.0.0
python3-flask-babel: upgrade 3.1.0 -> 4.0.0
python3-flask-jwt-extended: upgrade 4.5.2 -> 4.5.3
python3-google-api-python-client: upgrade 2.101.0 -> 2.104.0
python3-googleapis-common-protos: upgrade 1.60.0 -> 1.61.0
python3-google-auth: upgrade 2.23.1 -> 2.23.3
python3-h5py: upgrade 3.9.0 -> 3.10.0
python3-huey: upgrade 2.4.5 -> 2.5.0
python3-imageio: upgrade 2.31.3 -> 2.31.5
python3-ipython: upgrade 8.15.0 -> 8.16.1
python3-jedi: upgrade 0.19.0 -> 0.19.1
python3-meson-python: upgrade 0.13.1 -> 0.14.0
python3-msgpack: upgrade 1.0.6 -> 1.0.7
python3-platformdirs: upgrade 3.10.0 -> 3.11.0
python3-prompt-toolkit: upgrade 3.0.36 -> 3.0.39
python3-protobuf: upgrade 4.24.3 -> 4.24.4
python3-pycares: upgrade 4.3.0 -> 4.4.0
python3-pycodestyle: upgrade 2.11.0 -> 2.11.1
python3-pydantic: upgrade 2.4.1 -> 2.4.2
python3-pyephem: upgrade 4.1.4 -> 4.1.5
python3-pytest-timeout: upgrade 2.1.0 -> 2.2.0
python3-rapidjson: upgrade 1.11 -> 1.12
python3-regex: upgrade 2023.8.8 -> 2023.10.3
python3-rich: upgrade 13.5.3 -> 13.6.0
python3-schedule: upgrade 1.2.0 -> 1.2.1
python3-semver: upgrade 3.0.1 -> 3.0.2
python3-simplejson: upgrade 3.19.1 -> 3.19.2
python3-socketio: upgrade 5.9.0 -> 5.10.0
python3-sqlalchemy: upgrade 2.0.21 -> 2.0.22
python3-stack-data: upgrade 0.6.2 -> 0.6.3
python3-texttable: upgrade 1.6.7 -> 1.7.0
python3-traitlets: upgrade 5.10.1 -> 5.11.2
python3-types-psutil: upgrade 5.9.5.16 -> 5.9.5.17
python3-tzlocal: upgrade 5.0.1 -> 5.1
python3-web3: upgrade 6.10.0 -> 6.11.1
python3-websocket-client: upgrade 1.6.3 -> 1.6.4
python3-xlsxwriter: upgrade 3.1.3 -> 3.1.8
python3-xxhash: upgrade 3.3.0 -> 3.4.1
python3-zeroconf: upgrade 0.112.0 -> 0.119.0
python3-zopeinterface: upgrade 6.0 -> 6.1
rdma-core: upgrade 47.0 -> 48.0
redis: upgrade 7.2.1 -> 7.2.2
remmina: upgrade 1.4.32 -> 1.4.33
tesseract: upgrade 5.3.2 -> 5.3.3
thingsboard-gateway: upgrade 3.3 -> 3.4.1
tio: upgrade 2.6 -> 2.7
wireshark: upgrade 4.0.8 -> 4.0.10
xterm: upgrade 384 -> 387
zchunk: upgrade 1.3.1 -> 1.3.2
hdf5: Fix install conflict when enable multilib.
dnf-plugin-tui: Recover BBCLASSEXTEND variants
gensio: upgrade 2.7.6 -> 2.7.7
hwdata: upgrade 0.375 -> 0.376
libio-socket-ssl-perl: upgrade 2.083 -> 2.084
makedumpfile: upgrade 1.7.3 -> 1.7.4
gnome-remote-desktop: move from meta-virtualization to meta-security
ctags: upgrade 6.0.20231029.0 -> 6.0.20231105.0
function2: upgrade 4.2.3 -> 4.2.4
neatvnc: upgrade 0.7.0 -> 0.7.1
python3-argh: upgrade 0.30.3 -> 0.30.4
python3-geojson: upgrade 3.0.1 -> 3.1.0
python3-imageio: upgrade 2.31.6 -> 2.32.0
python3-inflate64: upgrade 0.3.1 -> 1.0.0
python3-jsbeautifier: upgrade 1.14.9 -> 1.14.11
python3-lru-dict: upgrade 1.2.0 -> 1.3.0
python3-python-vlc: upgrade 3.0.18122 -> 3.0.20123
python3-zeroconf: upgrade 0.119.0 -> 0.120.0
c-ares: upgrade 1.21.0 -> 1.22.0
ctags: upgrade 6.0.20231105.0 -> 6.0.20231112.0
libencode-perl: upgrade 3.19 -> 3.20
bindfs: upgrade 1.17.5 -> 1.17.6
python3-hexbytes: upgrade 0.3.1 -> 1.0.0
python3-linux-procfs: upgrade 0.7.1 -> 0.7.3
openvpn: upgrade 2.6.6 -> 2.6.7
python3-argcomplete: upgrade 3.1.4 -> 3.1.6
python3-awesomeversion: upgrade 23.8.0 -> 23.11.0
python3-dbus-fast: upgrade 2.12.0 -> 2.14.0
python3-eth-typing: upgrade 3.5.1 -> 3.5.2
python3-eth-utils: upgrade 2.3.0 -> 2.3.1
python3-geomet: upgrade 1.0.0 -> 1.1.0
python3-google-api-core: upgrade 2.12.0 -> 2.14.0
python3-google-api-python-client: upgrade 2.106.0 -> 2.108.0
python3-mypy: upgrade 1.6.1 -> 1.7.0
python3-platformdirs: upgrade 3.11.0 -> 4.0.0
python3-prompt-toolkit: upgrade 3.0.39 -> 3.0.41
python3-pyaudio: upgrade 0.2.13 -> 0.2.14
python3-pydantic: upgrade 2.4.2 -> 2.5.0
python3-pymetno: upgrade 0.11.0 -> 0.12.0
python3-pytest-xdist: upgrade 3.3.1 -> 3.4.0
python3-sentry-sdk: upgrade 1.34.0 -> 1.35.0
python3-tomlkit: upgrade 0.12.2 -> 0.12.3
python3-types-setuptools: upgrade 68.2.0.0 -> 68.2.0.1
python3-web3: upgrade 6.11.2 -> 6.11.3
python3-zeroconf: upgrade 0.126.0 -> 0.127.0
ser2net: upgrade 4.5.0 -> 4.5.1
uftp: upgrade 5.0.1 -> 5.0.2
webkitgtk3: upgrade 2.42.1 -> 2.42.2
imlib2: delete non-existent file
c-ares: upgrade 1.22.0 -> 1.22.1
ctags: upgrade 6.0.20231112.0 -> 6.0.20231119.0
exiftool: upgrade 12.69 -> 12.70
gnome-bluetooth: upgrade 42.6 -> 42.7
libextutils-cppguess-perl: upgrade 0.26 -> 0.27
libwebsockets: upgrade 4.3.2 -> 4.3.3
python3-aiohttp: upgrade 3.8.6 -> 3.9.0
python3-dateparser: upgrade 1.1.8 -> 1.2.0
python3-django: upgrade 4.2.5 -> 4.2.7
python3-imageio: upgrade 2.32.0 -> 2.33.0
python3-ldap: upgrade 3.4.3 -> 3.4.4
python3-pastedeploy: upgrade 3.0.1 -> 3.1.0
python3-pdm: upgrade 2.10.1 -> 2.10.3
python3-pydantic: upgrade 2.5.0 -> 2.5.1
python3-rich: upgrade 13.6.0 -> 13.7.0
strongswan: upgrade 5.9.11 -> 5.9.12
Yi Zhao (6):
samba: upgrade 4.18.6 -> 4.18.8
samba: use external cmocka instead of bundled cmocka
libtevent: fix ptest
libldb: add ptest
conntrack-tools: upgrade 1.4.7 -> 1.4.8
nftables: upgrade 1.0.8 -> 1.0.9
Yoann Congal (5):
emlog: ignore CVE-2022-3968 & CVE-2023-43291
juce/projucer: Backport a fix for the compilation under recent GCC
meta-oe/static-ids: Change postgres to 28 to match forced id in recipe
static-id: add missing netdata group
python3-soupsieve: Break circular dependency with beautifulsoup4
Zoltán Böszörményi (3):
python3-ninja-syntax: Set BBCLASSEXTEND = "native nativesdk"
python3-ninja: Set BBCLASSEXTEND = "native nativesdk"
geos: Fix packaging
alperak (39):
xdebug: upgrade 3.2.0 -> 3.2.2
catch2: upgrade 2.13.7 -> 2.13.10
tuna: upgrade 0.18 -> 0.19
libsrtp: upgrade 2.4.2 -> 2.5.0
libupnp: upgrade 1.14.6 -> 1.14.18
libisofs: upgrade 1.5.4 -> 1.5.6
libisoburn: 1.5.4 -> 1.5.6
fuse-exfat: upgrade 1.3.0 -> 1.4.0
fuse3: upgrade 3.15.1 -> 3.16.2
ufs-utils: upgrade 3.12.3 -> 4.13.5
libebml: upgrade 1.3.0 -> 1.4.4
libmatroska: upgrade 1.4.1 -> 1.7.1
libde265: upgrade 1.0.5 -> 1.0.12
libopenmpt: upgrade 0.6.2 -> 0.7.3
mpd: upgrade 0.23.12 -> 0.23.14
opencore-amr: upgrade 0.1.3 -> 0.1.6
tinyalsa: upgrade 1.1.1 -> 2.0.0
cannelloni: upgrade 1.0.0 -> 1.1.0
civetweb: upgrade 1.12 -> 1.16
libdnet: upgrade 1.16.3 -> 1.17.0
openfortivpn: upgrade 1.20.5 -> 1.21.0
fuse-exfat: Dropped md5sum
libopenmpt: Added license change reason and dropped md5sum
bolt: upgrade 0.9.5 -> 0.9.6
irssi: upgrade 1.4.4 -> 1.4.5
libmtp: upgrade 1.1.20 -> 1.1.21
libsigc++-2.0: upgrade 2.10.7 -> 2.12.1
libsigc++-3: upgrade 3.2.0 -> 3.6.0
ocl-icd: upgrade 2.3.1 -> 2.3.2
opencl-icd-loader: upgrade v2022.01.04 -> v2023.04.17
uutils-coreutils: upgrade 0.0.22 -> 0.0.23
botan: upgrade 2.19.3 -> 3.2.0
capnproto: upgrade 0.10.4 -> 1.0.1
cloc: upgrade 1.94 -> 1.98
cpuid: upgrade 20211129 -> 20230614
gst-editing-services: upgrade 1.20.5 -> 1.22.7
luaposix: upgrade 35.1 -> 36.2.1
mercurial: upgrade 6.1 -> 6.5
ledmon: upgrade 0.93 -> 0.97
skandigraun (1):
libvpx: don't specify armv5 and armv6 toolchains explicitly
meta-security: 3f7d40b0fc..070a1e82cc:
Gowtham Suresh Kumar (1):
Update parsec recipes
Mingli Yu (1):
samhain: remove the buildpath
Stefan Berger (1):
ima,evm: Add two variables to write filenames and signatures into
Change-Id: Ib809aa0df4162c50a06c542a94a0b06cdc149a2d
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/burnia/libisoburn_1.5.4.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/burnia/libisoburn_1.5.4.bb
deleted file mode 100644
index f263b51..0000000
--- a/meta-openembedded/meta-filesystems/recipes-filesystems/burnia/libisoburn_1.5.4.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "library and tool to create and burn ISO-9660 images"
-HOMEPAGE = "https://libburnia-project.org/"
-
-LICENSE = "GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \
- file://COPYRIGHT;md5=43cfe25a7e4a65f722d6253fa0649bb1"
-
-SRC_URI = "http://files.libburnia-project.org/releases/libisoburn-${PV}.tar.gz"
-SRC_URI[sha256sum] = "2d89846d43880f17fa591c53b3bea42ffb803628e4e630c680fc2c9184f79132"
-
-DEPENDS = "libisofs libburn"
-# This replaces the xorriso recipe
-PROVIDES += "xorriso"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--enable-pkg-check-modules"
-
-do_install:append() {
- # This is a proof-of-concept UI using Tk, don't ship it
- rm -f ${D}${bindir}/xorriso-tcltk
-}
-
-PACKAGE_BEFORE_PN = "xorriso"
-FILES:xorriso = "${bindir}"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/burnia/libisoburn_1.5.6.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/burnia/libisoburn_1.5.6.bb
new file mode 100644
index 0000000..3982eae
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/burnia/libisoburn_1.5.6.bb
@@ -0,0 +1,27 @@
+SUMMARY = "library and tool to create and burn ISO-9660 images"
+HOMEPAGE = "https://libburnia-project.org/"
+
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \
+ file://COPYRIGHT;md5=43cfe25a7e4a65f722d6253fa0649bb1"
+
+SRC_URI = "http://files.libburnia-project.org/releases/libisoburn-${PV}.tar.gz"
+SRC_URI[sha256sum] = "2b80a6f73dd633a5d243facbe97a15e5c9a07644a5e1a242c219b9375a45f71b"
+
+DEPENDS = "libisofs libburn"
+# This replaces the xorriso recipe
+PROVIDES += "xorriso"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--enable-pkg-check-modules"
+
+do_install:append() {
+ # This is a proof-of-concept UI using Tk, don't ship it
+ rm -f ${D}${bindir}/xorriso-tcltk
+}
+
+PACKAGE_BEFORE_PN = "xorriso"
+FILES:xorriso = "${bindir}"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/burnia/libisofs_1.5.4.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/burnia/libisofs_1.5.4.bb
deleted file mode 100644
index 1754db7..0000000
--- a/meta-openembedded/meta-filesystems/recipes-filesystems/burnia/libisofs_1.5.4.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "library to create an ISO-9660 filesystem"
-HOMEPAGE = "https://libburnia-project.org/"
-
-LICENSE = "GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \
- file://COPYRIGHT;md5=1c1e5a960562d65f6449bb1d21e1dffc"
-
-SRC_URI = "http://files.libburnia-project.org/releases/${BP}.tar.gz"
-SRC_URI[sha256sum] = "aaa0ed80a7501979316f505b0b017f29cba0ea5463b751143bad2c360215a88e"
-
-DEPENDS = "acl zlib"
-
-inherit autotools
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/burnia/libisofs_1.5.6.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/burnia/libisofs_1.5.6.bb
new file mode 100644
index 0000000..0add377
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/burnia/libisofs_1.5.6.bb
@@ -0,0 +1,15 @@
+SUMMARY = "library to create an ISO-9660 filesystem"
+HOMEPAGE = "https://libburnia-project.org/"
+
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \
+ file://COPYRIGHT;md5=1c1e5a960562d65f6449bb1d21e1dffc"
+
+SRC_URI = "http://files.libburnia-project.org/releases/${BP}.tar.gz"
+SRC_URI[sha256sum] = "0152d66a9d340b659fe9c880eb9190f3570fb477ac07cf52e8bcd134a1d30d70"
+
+DEPENDS = "acl zlib"
+
+inherit autotools
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.3.0.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.3.0.bb
deleted file mode 100644
index ac18fe9..0000000
--- a/meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.3.0.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "read and write exFAT driver for FUSE"
-DESCRIPTION = "fuse-exfat is a read and write driver implementing the \
-extended file allocation table as a filesystem in userspace. A mounthelper \
-is provided under the name mount.exfat-fuse. \
-"
-HOMEPAGE = "https://github.com/relan/exfat"
-SECTION = "universe/otherosfs"
-LICENSE = "GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-SRC_URI = "https://github.com/relan/exfat/releases/download/v${PV}/${BP}.tar.gz"
-
-UPSTREAM_CHECK_URI = "https://github.com/relan/exfat/releases"
-
-DEPENDS = "fuse virtual/libc"
-RRECOMMENDS:${PN} = "util-linux-mount"
-
-inherit autotools pkgconfig
-
-SRC_URI[md5sum] = "846b8c36bfa4684719f9e08e9d3a6bff"
-SRC_URI[sha256sum] = "07652136064da5e4d32df5555f88c138ffa4835a23b88a5bae2015f21006e0d3"
-
-EXTRA_OECONF += "sbindir=${base_sbindir}"
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.4.0.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.4.0.bb
new file mode 100644
index 0000000..48e3d7a
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.4.0.bb
@@ -0,0 +1,21 @@
+SUMMARY = "read and write exFAT driver for FUSE"
+DESCRIPTION = "fuse-exfat is a read and write driver implementing the \
+extended file allocation table as a filesystem in userspace. A mounthelper \
+is provided under the name mount.exfat-fuse. \
+"
+HOMEPAGE = "https://github.com/relan/exfat"
+SECTION = "universe/otherosfs"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+SRC_URI = "https://github.com/relan/exfat/releases/download/v${PV}/${BP}.tar.gz"
+
+UPSTREAM_CHECK_URI = "https://github.com/relan/exfat/releases"
+
+DEPENDS = "fuse virtual/libc"
+RRECOMMENDS:${PN} = "util-linux-mount"
+
+inherit autotools pkgconfig
+
+SRC_URI[sha256sum] = "a1cfedc55e0e7a12c184605aa0f0bf44b24a3fb272449b20b2c8bbe6edb3001e"
+
+EXTRA_OECONF += "sbindir=${base_sbindir}"
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-support-cross-compiling.patch b/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-support-cross-compiling.patch
index bf363ca..13e782f 100644
--- a/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-support-cross-compiling.patch
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-support-cross-compiling.patch
@@ -1,32 +1,29 @@
-From 449cec34c123b86b792627553c6ec7471d2ee7ed Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Fri, 30 Jun 2017 14:46:51 +0800
+From 6e794a36564a2639a07d8720260e33d7c9435aa4 Mon Sep 17 00:00:00 2001
+From: Alper Ak <alperyasinak1@gmail.com>
+Date: Fri, 10 Nov 2023 20:50:48 +0300
Subject: [PATCH] support cross compiling
Do not override OE CMAKE variables
-Upstream-Status: Pending
-
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+Signed-off-by: Alper Ak <alperyasinak1@gmail.com>
---
- CMakeLists.txt | 4 ++--
+ src/CMakeLists.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/CMakeLists.txt b/CMakeLists.txt
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -10,9 +10,9 @@ IF(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
- ENDIF(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index f549496..ab71fb2 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -4,9 +4,9 @@ set(UNIONFS_SRCS unionfs.c opts.c debug.c findbranch.c readdir.c
+ fuse_ops.c)
+ set(UNIONFSCTL_SRCS unionfsctl.c)
- # Select flags.
--SET(CMAKE_C_FLAGS "-pipe -W -Wall -DFORTIFY_SOURCE=2")
-+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pipe -W -Wall -DFORTIFY_SOURCE=2")
+-SET(CMAKE_C_FLAGS "-pipe -W -Wall -D_FORTIFY_SOURCE=2")
++SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pipe -W -Wall -D_FORTIFY_SOURCE=2")
SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g")
-SET(CMAKE_C_FLAGS_RELEASE "-O2")
+SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O2")
SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -DDEBUG")
- if (UNIX AND APPLE)
---
-2.8.1
-
+ add_executable(unionfs ${UNIONFS_SRCS} ${HASHTABLE_SRCS})
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.2.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.2.bb
deleted file mode 100644
index 03ae418..0000000
--- a/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.2.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "A FUSE based implemention of unionfs"
-HOMEPAGE = "https://github.com/rpodgorny/unionfs-fuse"
-SECTION = "console/network"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://src/unionfs.c;beginline=3;endline=8;md5=30fa8de70fd8abab00b483a1b7943a32 \
- file://LICENSE;md5=7e5a37fce17307066eec6b23546da3b3 \
-"
-
-SRC_URI = "git://github.com/rpodgorny/${BPN}.git;branch=master;protocol=https \
- file://0001-support-cross-compiling.patch \
- "
-SRCREV = "b0e3805d3d84d44ddf3e4e5238ae0332145d8157"
-
-DEPENDS = "fuse"
-
-S = "${WORKDIR}/git"
-
-inherit cmake pkgconfig
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_3.4.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_3.4.bb
new file mode 100644
index 0000000..e8fda05
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_3.4.bb
@@ -0,0 +1,19 @@
+SUMMARY = "A FUSE based implemention of unionfs"
+HOMEPAGE = "https://github.com/rpodgorny/unionfs-fuse"
+SECTION = "console/network"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://src/unionfs.c;beginline=3;endline=8;md5=30fa8de70fd8abab00b483a1b7943a32 \
+ file://LICENSE;md5=7e5a37fce17307066eec6b23546da3b3 \
+"
+
+SRC_URI = "git://github.com/rpodgorny/${BPN}.git;branch=master;protocol=https \
+ file://0001-support-cross-compiling.patch \
+ "
+SRCREV = "773f1853b043eeb64b7459f903a2c65bd096f9d9"
+
+DEPENDS = "fuse3"
+RDEPENDS:${PN} = "bash"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig
diff --git a/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.15.1.bb b/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.15.1.bb
deleted file mode 100644
index de2996d..0000000
--- a/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.15.1.bb
+++ /dev/null
@@ -1,80 +0,0 @@
-SUMMARY = "Implementation of a fully functional filesystem in a userspace program"
-DESCRIPTION = "FUSE (Filesystem in Userspace) is a simple interface for userspace \
- programs to export a virtual filesystem to the Linux kernel. FUSE \
- also aims to provide a secure method for non privileged users to \
- create and mount their own filesystem implementations. \
- "
-HOMEPAGE = "https://github.com/libfuse/libfuse"
-SECTION = "libs"
-LICENSE = "GPL-2.0-only & LGPL-2.0-only"
-LIC_FILES_CHKSUM = "file://GPL2.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://LGPL2.txt;md5=4fbd65380cdd255951079008b364516c \
- file://LICENSE;md5=a55c12a2d7d742ecb41ca9ae0a6ddc66"
-
-SRC_URI = "https://github.com/libfuse/libfuse/releases/download/fuse-${PV}/fuse-${PV}.tar.gz \
-"
-SRC_URI[sha256sum] = "13ef77cda531a21c2131f9576042970e98035c0a5f019abf661506efd2d38a4e"
-
-S = "${WORKDIR}/fuse-${PV}"
-
-UPSTREAM_CHECK_URI = "https://github.com/libfuse/libfuse/releases"
-UPSTREAM_CHECK_REGEX = "fuse\-(?P<pver>3(\.\d+)+).tar.xz"
-
-CVE_PRODUCT = "fuse_project:fuse"
-
-inherit meson pkgconfig ptest
-
-SRC_URI += " \
- file://run-ptest \
-"
-
-RDEPENDS:${PN}-ptest += " \
- ${PYTHON_PN}-pytest \
- bash \
-"
-
-do_install_ptest() {
- install -d ${D}${PTEST_PATH}/test
- install -d ${D}${PTEST_PATH}/example
- install -d ${D}${PTEST_PATH}/util
- cp -rf ${S}/test/* ${D}${PTEST_PATH}/test/
-
- example_excutables=`find ${B}/example -type f -executable`
- util_excutables=`find ${B}/util -type f -executable`
- test_excutables=`find ${B}/test -type f -executable`
-
- for e in $example_excutables
- do
- cp -rf $e ${D}${PTEST_PATH}/example/
- done
-
- for e in $util_excutables
- do
- cp -rf $e ${D}${PTEST_PATH}/util/
- done
-
- for e in $test_excutables
- do
- cp -rf $e ${D}${PTEST_PATH}/test
- done
-}
-
-DEPENDS = "udev"
-
-PACKAGES =+ "fuse3-utils"
-
-RPROVIDES:${PN}-dbg += "fuse3-utils-dbg"
-
-RRECOMMENDS:${PN}:class-target = "kernel-module-fuse fuse3-utils"
-
-FILES:${PN} += "${libdir}/libfuse3.so.*"
-FILES:${PN}-dev += "${libdir}/libfuse3*.la"
-
-# Forbid auto-renaming to libfuse3-utils
-FILES:fuse3-utils = "${bindir} ${base_sbindir}"
-DEBIAN_NOAUTONAME:fuse3-utils = "1"
-DEBIAN_NOAUTONAME:${PN}-dbg = "1"
-
-do_install:append() {
- rm -rf ${D}${base_prefix}/dev
-}
diff --git a/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.16.2.bb b/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.16.2.bb
new file mode 100644
index 0000000..66c3501
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.16.2.bb
@@ -0,0 +1,80 @@
+SUMMARY = "Implementation of a fully functional filesystem in a userspace program"
+DESCRIPTION = "FUSE (Filesystem in Userspace) is a simple interface for userspace \
+ programs to export a virtual filesystem to the Linux kernel. FUSE \
+ also aims to provide a secure method for non privileged users to \
+ create and mount their own filesystem implementations. \
+ "
+HOMEPAGE = "https://github.com/libfuse/libfuse"
+SECTION = "libs"
+LICENSE = "GPL-2.0-only & LGPL-2.0-only"
+LIC_FILES_CHKSUM = "file://GPL2.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LGPL2.txt;md5=4fbd65380cdd255951079008b364516c \
+ file://LICENSE;md5=a55c12a2d7d742ecb41ca9ae0a6ddc66"
+
+SRC_URI = "https://github.com/libfuse/libfuse/releases/download/fuse-${PV}/fuse-${PV}.tar.gz \
+"
+SRC_URI[sha256sum] = "f797055d9296b275e981f5f62d4e32e089614fc253d1ef2985851025b8a0ce87"
+
+S = "${WORKDIR}/fuse-${PV}"
+
+UPSTREAM_CHECK_URI = "https://github.com/libfuse/libfuse/releases"
+UPSTREAM_CHECK_REGEX = "fuse\-(?P<pver>3(\.\d+)+).tar.xz"
+
+CVE_PRODUCT = "fuse_project:fuse"
+
+inherit meson pkgconfig ptest
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS:${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+ bash \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/test
+ install -d ${D}${PTEST_PATH}/example
+ install -d ${D}${PTEST_PATH}/util
+ cp -rf ${S}/test/* ${D}${PTEST_PATH}/test/
+
+ example_excutables=`find ${B}/example -type f -executable`
+ util_excutables=`find ${B}/util -type f -executable`
+ test_excutables=`find ${B}/test -type f -executable`
+
+ for e in $example_excutables
+ do
+ cp -rf $e ${D}${PTEST_PATH}/example/
+ done
+
+ for e in $util_excutables
+ do
+ cp -rf $e ${D}${PTEST_PATH}/util/
+ done
+
+ for e in $test_excutables
+ do
+ cp -rf $e ${D}${PTEST_PATH}/test
+ done
+}
+
+DEPENDS = "udev"
+
+PACKAGES =+ "fuse3-utils"
+
+RPROVIDES:${PN}-dbg += "fuse3-utils-dbg"
+
+RRECOMMENDS:${PN}:class-target = "kernel-module-fuse fuse3-utils"
+
+FILES:${PN} += "${libdir}/libfuse3.so.*"
+FILES:${PN}-dev += "${libdir}/libfuse3*.la"
+
+# Forbid auto-renaming to libfuse3-utils
+FILES:fuse3-utils = "${bindir} ${base_sbindir}"
+DEBIAN_NOAUTONAME:fuse3-utils = "1"
+DEBIAN_NOAUTONAME:${PN}-dbg = "1"
+
+do_install:append() {
+ rm -rf ${D}${base_prefix}/dev
+}
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/binfs/bindfs_1.17.6.bb b/meta-openembedded/meta-filesystems/recipes-utils/binfs/bindfs_1.17.6.bb
new file mode 100644
index 0000000..673198e
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-utils/binfs/bindfs_1.17.6.bb
@@ -0,0 +1,15 @@
+SUMMARY = "A FUSE filesystem for mounting a directory to another location"
+DESCRIPTION = "bindfs is a FUSE filesystem for mounting a directory to another location, similarly to mount --bind."
+HOMEPAGE = "https://bindfs.org/"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+DEPENDS = "fuse"
+RDEPENDS:${PN} = "fuse"
+
+SRC_URI = "git://github.com/mpartel/bindfs;protocol=https;branch=master"
+SRCREV = "b982aee1161307cdd0e90f7f9597b11872440efc"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig gettext
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/exfatprogs/exfatprogs_1.2.1.bb b/meta-openembedded/meta-filesystems/recipes-utils/exfatprogs/exfatprogs_1.2.1.bb
deleted file mode 100644
index 3767ec4..0000000
--- a/meta-openembedded/meta-filesystems/recipes-utils/exfatprogs/exfatprogs_1.2.1.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "exFAT filesystem userspace utilities"
-DESCRIPTION = "\
-As new exfat filesystem is merged into linux-5.7 kernel, exfatprogs is \
-created as an official userspace utilities that contain all of the standard \
-utilities for creating and fixing and debugging exfat filesystem in linux \
-system. The goal of exfatprogs is to provide high performance and quality \
-at the level of exfat utilities in windows. And this software is licensed \
-under the GNU General Public License Version 2."
-HOMEPAGE = "https://github.com/${BPN}/${BPN}"
-SECTION = "universe/otherosfs"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz"
-SRC_URI[sha256sum] = "a6f3b1fb4bd37835c8f8cb421aac4eb75b880a51342b29850c4063973162227b"
-
-UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
-UPSTREAM_CHECK_REGEX = "${BPN}-(?P<pver>\d+(\.\d+)+)"
-
-inherit autotools
-
-RPROVIDES:${PN} = "exfat-utils"
-RCONFLICTS:${PN} = "exfat-utils"
-RREPLACES:${PN} = "exfat-utils"
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/exfatprogs/exfatprogs_1.2.2.bb b/meta-openembedded/meta-filesystems/recipes-utils/exfatprogs/exfatprogs_1.2.2.bb
new file mode 100644
index 0000000..0dd5d8f
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-utils/exfatprogs/exfatprogs_1.2.2.bb
@@ -0,0 +1,24 @@
+SUMMARY = "exFAT filesystem userspace utilities"
+DESCRIPTION = "\
+As new exfat filesystem is merged into linux-5.7 kernel, exfatprogs is \
+created as an official userspace utilities that contain all of the standard \
+utilities for creating and fixing and debugging exfat filesystem in linux \
+system. The goal of exfatprogs is to provide high performance and quality \
+at the level of exfat utilities in windows. And this software is licensed \
+under the GNU General Public License Version 2."
+HOMEPAGE = "https://github.com/${BPN}/${BPN}"
+SECTION = "universe/otherosfs"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz"
+SRC_URI[sha256sum] = "61d517231f8ec177eeb5955fd6edb89748d3f88ba412c48bcb32741b430e359a"
+
+UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
+UPSTREAM_CHECK_REGEX = "${BPN}-(?P<pver>\d+(\.\d+)+)"
+
+inherit autotools
+
+RPROVIDES:${PN} = "exfat-utils"
+RCONFLICTS:${PN} = "exfat-utils"
+RREPLACES:${PN} = "exfat-utils"
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_3.12.3.bb b/meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_3.12.3.bb
deleted file mode 100644
index 342661c..0000000
--- a/meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_3.12.3.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "Tool to access UFS (Universal Flash Storage) devices"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-BRANCH ?= "dev"
-
-SRCREV = "40c0bdfa7f4e922a4bcdf431ef72b321648d2d9f"
-
-SRC_URI = "git://github.com/westerndigitalcorporation/ufs-utils.git;protocol=https;branch=${BRANCH} \
- "
-
-UPSTREAM_CHECK_COMMITS = "1"
-
-S = "${WORKDIR}/git"
-
-EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX} CC="${CC}" CFLAGS="${CFLAGS}""
-
-CFLAGS:append:mipsarchn64 = " -D__SANE_USERSPACE_TYPES__ -D_GNU_SOURCE"
-
-do_configure() {
- sed -i -e "s|-static$||g" ${S}/Makefile
-}
-
-do_install() {
- install -D -m 755 ${S}/ufs-utils ${D}${bindir}/ufs-utils
-}
-
-PROVIDES += "ufs-tool"
-
-RPROVIDES:${PN} += "ufs-tool"
-
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_4.13.5.bb b/meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_4.13.5.bb
new file mode 100644
index 0000000..7126684
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_4.13.5.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Tool to access UFS (Universal Flash Storage) devices"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+BRANCH ?= "dev"
+
+SRCREV = "18c0a8454ca1cf8969170049f8c628d88627beec"
+
+SRC_URI = "git://github.com/westerndigitalcorporation/ufs-utils.git;protocol=https;branch=${BRANCH} \
+ "
+
+UPSTREAM_CHECK_COMMITS = "1"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX} CC="${CC}" CFLAGS="${CFLAGS}""
+
+CFLAGS:append:mipsarchn64 = " -D__SANE_USERSPACE_TYPES__ -D_GNU_SOURCE"
+
+do_configure() {
+ sed -i -e "s|-static$||g" ${S}/Makefile
+}
+
+do_install() {
+ install -D -m 755 ${S}/ufs-utils ${D}${bindir}/ufs-utils
+}
+
+PROVIDES += "ufs-tool"
+
+RPROVIDES:${PN} += "ufs-tool"
+
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_6.1.1.bb b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_6.1.1.bb
deleted file mode 100644
index 6267fd9..0000000
--- a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_6.1.1.bb
+++ /dev/null
@@ -1,74 +0,0 @@
-SUMMARY = "XFS Filesystem Utilities"
-HOMEPAGE = "http://oss.sgi.com/projects/xfs"
-SECTION = "base"
-LICENSE = "GPL-2.0-only & LGPL-2.1-only"
-LICENSE:libhandle = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0;md5=e6a75371ba4d16749254a51215d13f97 \
- file://LICENSES/LGPL-2.1;md5=b370887980db5dd40659b50909238dbd"
-DEPENDS = "util-linux util-linux-native"
-SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/${BP}.tar.xz \
- file://remove_flags_from_build_flags.patch \
- file://0002-include-include-xfs-linux.h-after-sys-mman.h.patch \
- file://0001-support-usrmerge.patch \
- file://0004-configure-Use-AC_SYS_LARGERFILE-autoconf-macro.patch \
- file://0005-Replace-off64_t-stat64-with-off_t-stat.patch \
- "
-SRC_URI[sha256sum] = "05e8a137870db1d6182df72dda98ab7a7100deb376947e854b9d59c914c2c7bb"
-inherit autotools-brokensep pkgconfig
-
-PACKAGES =+ "${PN}-fsck ${PN}-mkfs ${PN}-repair libhandle"
-
-DEPENDS += "util-linux libinih liburcu"
-
-RDEPENDS:${PN} = "${PN}-fsck ${PN}-mkfs ${PN}-repair"
-
-FILES:${PN}-fsck = "${base_sbindir}/fsck.xfs"
-FILES:${PN}-mkfs = "${base_sbindir}/mkfs.xfs"
-FILES:${PN}-repair = "${base_sbindir}/xfs_repair"
-
-FILES:libhandle = "${base_libdir}/libhandle${SOLIBS}"
-
-EXTRA_OECONF = "--enable-gettext=no \
- --enable-scrub=no \
- INSTALL_USER=root \
- INSTALL_GROUP=root \
- ac_cv_header_aio_h=yes \
- ac_cv_lib_rt_lio_listio=yes \
- OPTIMIZER='${SELECTED_OPTIMIZATION}' \
-"
-
-DISABLE_STATIC = ""
-EXTRA_AUTORECONF += "-I ${S}/m4 --exclude=autoheader"
-
-PACKAGECONFIG ??= "blkid"
-
-PACKAGECONFIG[blkid] = "--enable-blkid=yes,--enable-blkid=no,util-linux"
-
-export DEBUG="-DNDEBUG"
-export BUILD_VERBOSE="1"
-export tagname="CC"
-
-EXTRA_OEMAKE = "DIST_ROOT='${D}'"
-
-do_configure () {
- export BUILD_CC="${BUILD_CC} ${BUILD_CFLAGS}"
- # Prevent Makefile from calling configure without arguments,
- # when do_configure gets called for a second time.
- rm -f ${B}/include/builddefs ${B}/include/platform_defs.h ${B}/configure
- # Recreate configure script.
- oe_runmake configure
- install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
- install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
- oe_runconf
-}
-
-do_install:append() {
- oe_runmake 'DESTDIR=${D}' install-dev
- rm ${D}${libdir}/*.la
- rmdir --ignore-fail-on-non-empty ${D}${libdir}
-
- if [ ${libdir} != ${base_libdir} ];then
- ln -sf -r ${D}${libdir}/libhandle.a ${D}${base_libdir}/libhandle.a
- ln -sf -r ${D}${base_libdir}/libhandle.so ${D}${libdir}/libhandle.so
- fi
-}
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_6.5.0.bb b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_6.5.0.bb
new file mode 100644
index 0000000..fd27979
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_6.5.0.bb
@@ -0,0 +1,74 @@
+SUMMARY = "XFS Filesystem Utilities"
+HOMEPAGE = "http://oss.sgi.com/projects/xfs"
+SECTION = "base"
+LICENSE = "GPL-2.0-only & LGPL-2.1-only"
+LICENSE:libhandle = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0;md5=e6a75371ba4d16749254a51215d13f97 \
+ file://LICENSES/LGPL-2.1;md5=b370887980db5dd40659b50909238dbd"
+DEPENDS = "util-linux util-linux-native"
+SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/${BP}.tar.xz \
+ file://remove_flags_from_build_flags.patch \
+ file://0002-include-include-xfs-linux.h-after-sys-mman.h.patch \
+ file://0001-support-usrmerge.patch \
+ file://0004-configure-Use-AC_SYS_LARGERFILE-autoconf-macro.patch \
+ file://0005-Replace-off64_t-stat64-with-off_t-stat.patch \
+ "
+SRC_URI[sha256sum] = "8db81712b32756b97d89dd9a681ac5e325bbb75e585382cd4863fab7f9d021c6"
+inherit autotools-brokensep pkgconfig
+
+PACKAGES =+ "${PN}-fsck ${PN}-mkfs ${PN}-repair libhandle"
+
+DEPENDS += "util-linux libinih liburcu"
+
+RDEPENDS:${PN} = "${PN}-fsck ${PN}-mkfs ${PN}-repair"
+
+FILES:${PN}-fsck = "${base_sbindir}/fsck.xfs"
+FILES:${PN}-mkfs = "${base_sbindir}/mkfs.xfs"
+FILES:${PN}-repair = "${base_sbindir}/xfs_repair"
+
+FILES:libhandle = "${base_libdir}/libhandle${SOLIBS}"
+
+EXTRA_OECONF = "--enable-gettext=no \
+ --enable-scrub=no \
+ INSTALL_USER=root \
+ INSTALL_GROUP=root \
+ ac_cv_header_aio_h=yes \
+ ac_cv_lib_rt_lio_listio=yes \
+ OPTIMIZER='${SELECTED_OPTIMIZATION}' \
+"
+
+DISABLE_STATIC = ""
+EXTRA_AUTORECONF += "-I ${S}/m4 --exclude=autoheader"
+
+PACKAGECONFIG ??= "blkid"
+
+PACKAGECONFIG[blkid] = "--enable-blkid=yes,--enable-blkid=no,util-linux"
+
+export DEBUG="-DNDEBUG"
+export BUILD_VERBOSE="1"
+export tagname="CC"
+
+EXTRA_OEMAKE = "DIST_ROOT='${D}'"
+
+do_configure () {
+ export BUILD_CC="${BUILD_CC} ${BUILD_CFLAGS}"
+ # Prevent Makefile from calling configure without arguments,
+ # when do_configure gets called for a second time.
+ rm -f ${B}/include/builddefs ${B}/include/platform_defs.h ${B}/configure
+ # Recreate configure script.
+ oe_runmake configure
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
+ oe_runconf
+}
+
+do_install:append() {
+ oe_runmake 'DESTDIR=${D}' install-dev
+ rm ${D}${libdir}/*.la
+ rmdir --ignore-fail-on-non-empty ${D}${libdir}
+
+ if [ ${libdir} != ${base_libdir} ];then
+ ln -sf -r ${D}${libdir}/libhandle.a ${D}${base_libdir}/libhandle.a
+ ln -sf -r ${D}${base_libdir}/libhandle.so ${D}${libdir}/libhandle.so
+ fi
+}
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests/0001-Add-a-return-type-to-aio_rw.patch b/meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests/0001-Add-a-return-type-to-aio_rw.patch
deleted file mode 100644
index e0a04c9..0000000
--- a/meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests/0001-Add-a-return-type-to-aio_rw.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From f172ea004d34b00aa7bd5baff9422b2ab80df6e7 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 14 Aug 2022 13:32:10 -0700
-Subject: [PATCH 1/2] Add a return type to aio_rw
-
-Compilers complain about the function prototype otherwise
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- ltp/fsx.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/ltp/fsx.c b/ltp/fsx.c
-index 12c2cc33..55b4e9b6 100644
---- a/ltp/fsx.c
-+++ b/ltp/fsx.c
-@@ -2429,6 +2429,7 @@ out_error:
- return -1;
- }
- #else
-+int
- aio_rw(int rw, int fd, char *buf, unsigned len, unsigned offset)
- {
- fprintf(stderr, "io_rw: need AIO support!\n");
---
-2.37.2
-
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests/0001-add-missing-FTW_-macros-when-not-available-in-libc.patch b/meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests/0001-add-missing-FTW_-macros-when-not-available-in-libc.patch
new file mode 100644
index 0000000..5e230e2
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests/0001-add-missing-FTW_-macros-when-not-available-in-libc.patch
@@ -0,0 +1,41 @@
+From 5facddc332c5ff8330f93c0a7e1b7f6d7bbd24a3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 5 Nov 2023 08:31:21 -0800
+Subject: [PATCH] add missing FTW_ macros when not available in libc
+
+Fixes build with musl
+
+| xfsfind.c:176:13: error: use of undeclared identifier 'FTW_STOP'
+| 176 | retval = FTW_STOP;
+| | ^
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/global.h | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/src/global.h b/src/global.h
+index 49570ef1..1c247488 100644
+--- a/src/global.h
++++ b/src/global.h
+@@ -190,4 +190,16 @@ roundup_64(unsigned long long x, unsigned int y)
+ return rounddown_64(x + y - 1, y);
+ }
+
++#ifndef FTW_ACTIONRETVAL
++#define FTW_ACTIONRETVAL 16
++#endif
++
++#ifndef FTW_CONTINUE
++#define FTW_CONTINUE 0
++#endif
++
++#ifndef FTW_STOP
++#define FTW_STOP 1
++#endif
++
+ #endif /* GLOBAL_H */
+--
+2.42.1
+
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests/0001-ltp-fsx.h-Explicitly-use-int-for-return-type-for-aio.patch b/meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests/0001-ltp-fsx.h-Explicitly-use-int-for-return-type-for-aio.patch
new file mode 100644
index 0000000..5e9e9d9
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests/0001-ltp-fsx.h-Explicitly-use-int-for-return-type-for-aio.patch
@@ -0,0 +1,30 @@
+From 0927d0def968ea7e19905c7e39182f65961c11cf Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 5 Nov 2023 01:17:52 -0700
+Subject: [PATCH] ltp/fsx.h: Explicitly use int for return type for aio_rw()
+
+Fixes build with clang-17+
+error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Wimplicit-int]
+
+Upstream-Status: Submitted [https://marc.info/?l=fstests&m=169917222008646&w=2]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ ltp/fsx.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ltp/fsx.c b/ltp/fsx.c
+index ee4b8fe4..c0aec23f 100644
+--- a/ltp/fsx.c
++++ b/ltp/fsx.c
+@@ -2581,7 +2581,7 @@ out_error:
+ return -1;
+ }
+ #else
+-aio_rw(int rw, int fd, char *buf, unsigned len, unsigned offset)
++int aio_rw(int rw, int fd, char *buf, unsigned len, unsigned offset)
+ {
+ fprintf(stderr, "io_rw: need AIO support!\n");
+ exit(111);
+--
+2.42.1
+
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests/0001-m4-Check-for-FTW_ACTIONRETVAL-along-with-nftw.patch b/meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests/0001-m4-Check-for-FTW_ACTIONRETVAL-along-with-nftw.patch
deleted file mode 100644
index fd34989..0000000
--- a/meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests/0001-m4-Check-for-FTW_ACTIONRETVAL-along-with-nftw.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 2a4fed8331f996421e65db446559991a854e2ad3 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 24 Mar 2023 18:23:01 -0700
-Subject: [PATCH] m4: Check for FTW_ACTIONRETVAL along with nftw
-
-FTW_ACTIONRETVAL is glibc specific extention which is used to implement
-xfsfind but it may not be available on other C library implementations on Linux
-e.g. musl. Therefore ensure that these defines are available before declaring
-nftw() to be usable
-
-Upstream-Status: Submitted [https://lore.kernel.org/fstests/20230325012858.587801-1-raj.khem@gmail.com/T/#u]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Cc: Darrick J. Wong <djwong@kernel.org>
-Cc: Zorro Lang <zlang@redhat.com>
----
- m4/package_libcdev.m4 | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/m4/package_libcdev.m4 b/m4/package_libcdev.m4
-index b41c087b..7f731044 100644
---- a/m4/package_libcdev.m4
-+++ b/m4/package_libcdev.m4
-@@ -132,7 +132,7 @@ AC_DEFUN([AC_HAVE_NFTW],
- #include <stddef.h>
- #include <ftw.h>
- ]], [[
-- nftw("/", (int (*)(const char *, const struct stat *, int, struct FTW *))1, 0, 0);
-+ nftw("/", (int (*)(const char *, const struct stat *, int, struct FTW *))1, 0, FTW_ACTIONRETVAL);
- ]])],[have_nftw=yes
- AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)])
- AC_SUBST(have_nftw)
---
-2.40.0
-
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests/0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch b/meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests/0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch
index a594b73..856fd27 100644
--- a/meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests/0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch
+++ b/meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests/0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch
@@ -1,8 +1,8 @@
-From dd43cbc7f50266cdc6210f2b920d7f648a83bdd6 Mon Sep 17 00:00:00 2001
+From 559f685f83d12d11bf9ec6c6ce924ee4d0702a2a Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 14 Aug 2022 13:33:05 -0700
-Subject: [PATCH 2/2] Drop detached_mounts_propagation and remove sys/mount.h
- from vfs/utils.c
+Subject: [PATCH] Drop detached_mounts_propagation and remove sys/mount.h from
+ vfs/utils.c
with glibc 2.36+ sys/mount.h conflicts with linux/mount.h and here
linux/mount.h is included via xfs/xfs.h header and we need sys/mount.h
@@ -12,16 +12,16 @@
Upstream-Status: Inappropriate [Libc specific Workaround]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
---
- src/Makefile | 2 +-
- src/vfs/utils.c | 1 -
- 2 files changed, 1 insertion(+), 2 deletions(-)
+ src/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Makefile b/src/Makefile
-index 665edcf9..7debcbbd 100644
+index 2815f919..448fccc9 100644
--- a/src/Makefile
+++ b/src/Makefile
-@@ -31,7 +31,7 @@ LINUX_TARGETS = xfsctl bstat t_mtab getdevicesize preallo_rw_pattern_reader \
+@@ -32,7 +32,7 @@ LINUX_TARGETS = xfsctl bstat t_mtab getdevicesize preallo_rw_pattern_reader \
dio-invalidate-cache stat_test t_encrypted_d_revalidate \
attr_replace_test swapon mkswap t_attr_corruption t_open_tmpfiles \
fscrypt-crypt-util bulkstat_null_ocount splice-test chprojid_fail \
@@ -30,18 +30,3 @@
uuid_ioctl
EXTRA_EXECS = dmerror fill2attr fill2fs fill2fs_check scaleread.sh \
-diff --git a/src/vfs/utils.c b/src/vfs/utils.c
-index 1388edda..aacd6c0a 100644
---- a/src/vfs/utils.c
-+++ b/src/vfs/utils.c
-@@ -10,7 +10,6 @@
- #include <stdlib.h>
- #include <sys/eventfd.h>
- #include <sys/fsuid.h>
--#include <sys/mount.h>
- #include <sys/prctl.h>
- #include <sys/socket.h>
- #include <sys/stat.h>
---
-2.37.2
-
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests_2023.03.05.bb b/meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests_2023.03.05.bb
deleted file mode 100644
index cfb6e4f..0000000
--- a/meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests_2023.03.05.bb
+++ /dev/null
@@ -1,65 +0,0 @@
-SUMMARY = "File system QA test suite"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0;md5=74274e8a218423e49eefdea80bc55038"
-
-SRCREV_FORMAT = "xfstests_unionmount"
-
-SRC_URI = "git://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git;branch=master;name=xfstests \
- git://github.com/amir73il/unionmount-testsuite.git;branch=master;protocol=https;name=unionmount;destsuffix=unionmount-testsuite \
- file://0001-Add-a-return-type-to-aio_rw.patch \
- file://0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch \
- file://0001-m4-Check-for-FTW_ACTIONRETVAL-along-with-nftw.patch \
- "
-
-SRCREV_xfstests = "f7765774a1b5cb98c2f21a892e82b3421f40e791"
-SRCREV_unionmount = "e3825b16b46f4c4574a1a69909944c059835f914"
-
-S = "${WORKDIR}/git"
-
-inherit autotools-brokensep useradd
-
-DEPENDS += "xfsprogs acl"
-RDEPENDS:${PN} += "\
- bash \
- bc \
- coreutils \
- e2fsprogs \
- e2fsprogs-tune2fs \
- e2fsprogs-resize2fs \
- libaio \
- libcap-bin \
- overlayfs-tools \
- perl \
- python3 \
- python3-core \
- xfsprogs \
- acl \
-"
-
-USERADD_PACKAGES = "${PN}"
-# these users are necessary to run the tests
-USERADD_PARAM:${PN} = "-U -m fsgqa; -N 123456-fsgqa; -N fsgqa2"
-
-EXTRA_OECONF = "INSTALL_USER=root INSTALL_GROUP=root"
-
-TARGET_CC_ARCH:append:libc-musl = " -D_LARGEFILE64_SOURCE"
-# install-sh script in the project is outdated
-# we use the one from the latest libtool to solve installation issues
-# It looks like the upstream is not interested in having it fixed :(
-# https://www.spinics.net/lists/fstests/msg16981.html
-do_configure:prepend() {
- cp ${STAGING_DIR_NATIVE}${datadir}/libtool/build-aux/install-sh ${B}
-}
-
-do_install:append() {
- unionmount_target_dir=${D}/usr/xfstests/unionmount-testsuite
- install -d ${D}/usr/xfstests/unionmount-testsuite/tests
- install -D ${WORKDIR}/unionmount-testsuite/tests/* -t $unionmount_target_dir/tests
- install ${WORKDIR}/unionmount-testsuite/*.py -t $unionmount_target_dir
- install ${WORKDIR}/unionmount-testsuite/run -t $unionmount_target_dir
- install ${WORKDIR}/unionmount-testsuite/README -t $unionmount_target_dir
-}
-
-FILES:${PN} += "\
- /usr/xfstests \
-"
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests_2023.10.29.bb b/meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests_2023.10.29.bb
new file mode 100644
index 0000000..4e8e318
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests_2023.10.29.bb
@@ -0,0 +1,66 @@
+SUMMARY = "File system QA test suite"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0;md5=74274e8a218423e49eefdea80bc55038"
+
+SRCREV = "11914614784735c504f43b5b6baabaa713375984"
+SRCREV_FORMAT = "xfstests_unionmount"
+
+SRC_URI = "git://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git;branch=for-next;name=xfstests \
+ git://github.com/amir73il/unionmount-testsuite.git;branch=master;protocol=https;name=unionmount;destsuffix=unionmount-testsuite \
+ file://0001-ltp-fsx.h-Explicitly-use-int-for-return-type-for-aio.patch \
+ file://0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch \
+ file://0001-add-missing-FTW_-macros-when-not-available-in-libc.patch \
+ "
+
+SRCREV_xfstests = "f7765774a1b5cb98c2f21a892e82b3421f40e791"
+SRCREV_unionmount = "e3825b16b46f4c4574a1a69909944c059835f914"
+
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep useradd
+
+DEPENDS += "xfsprogs acl"
+RDEPENDS:${PN} += "\
+ bash \
+ bc \
+ coreutils \
+ e2fsprogs \
+ e2fsprogs-tune2fs \
+ e2fsprogs-resize2fs \
+ libaio \
+ libcap-bin \
+ overlayfs-tools \
+ perl \
+ python3 \
+ python3-core \
+ xfsprogs \
+ acl \
+"
+
+USERADD_PACKAGES = "${PN}"
+# these users are necessary to run the tests
+USERADD_PARAM:${PN} = "-U -m fsgqa; -N 123456-fsgqa; -N fsgqa2"
+
+EXTRA_OECONF = "INSTALL_USER=root INSTALL_GROUP=root"
+
+TARGET_CC_ARCH:append:libc-musl = " -D_LARGEFILE64_SOURCE"
+# install-sh script in the project is outdated
+# we use the one from the latest libtool to solve installation issues
+# It looks like the upstream is not interested in having it fixed :(
+# https://www.spinics.net/lists/fstests/msg16981.html
+do_configure:prepend() {
+ cp ${STAGING_DIR_NATIVE}${datadir}/libtool/build-aux/install-sh ${B}
+}
+
+do_install:append() {
+ unionmount_target_dir=${D}/usr/xfstests/unionmount-testsuite
+ install -d ${D}/usr/xfstests/unionmount-testsuite/tests
+ install -D ${WORKDIR}/unionmount-testsuite/tests/* -t $unionmount_target_dir/tests
+ install ${WORKDIR}/unionmount-testsuite/*.py -t $unionmount_target_dir
+ install ${WORKDIR}/unionmount-testsuite/run -t $unionmount_target_dir
+ install ${WORKDIR}/unionmount-testsuite/README -t $unionmount_target_dir
+}
+
+FILES:${PN} += "\
+ /usr/xfstests \
+"
diff --git a/meta-openembedded/meta-gnome/conf/layer.conf b/meta-openembedded/meta-gnome/conf/layer.conf
index acebb12..1674283 100644
--- a/meta-openembedded/meta-gnome/conf/layer.conf
+++ b/meta-openembedded/meta-gnome/conf/layer.conf
@@ -27,4 +27,5 @@
BBFILES_DYNAMIC += " \
virtualization-layer:${LAYERDIR}/dynamic-layers/meta-virtualization/*/*/*.bb \
virtualization-layer:${LAYERDIR}/dynamic-layers/meta-virtualization/*/*/*.bbappend \
+ security:${LAYERDIR}/dynamic-layers/meta-security/*/*/*.bb \
"
diff --git a/meta-openembedded/meta-gnome/dynamic-layers/meta-security/recipes-gnome/gnome-remote-desktop/gnome-remote-desktop_45.1.bb b/meta-openembedded/meta-gnome/dynamic-layers/meta-security/recipes-gnome/gnome-remote-desktop/gnome-remote-desktop_45.1.bb
new file mode 100644
index 0000000..9e88705
--- /dev/null
+++ b/meta-openembedded/meta-gnome/dynamic-layers/meta-security/recipes-gnome/gnome-remote-desktop/gnome-remote-desktop_45.1.bb
@@ -0,0 +1,40 @@
+SUMMARY = "Remote desktop daemon for GNOME using pipewire."
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase gettext gsettings features_check
+
+REQUIRED_DISTRO_FEATURES = "opengl"
+
+SRC_URI[archive.sha256sum] = "dcd9c18ac2306695631fcf00a88645c38e370eba05c69df39f540204d4eafd8d"
+
+DEPENDS = " \
+ asciidoc-native \
+ libdrm \
+ libei \
+ libepoxy \
+ cairo \
+ glib-2.0 \
+ pipewire \
+ libnotify \
+ libsecret \
+ nv-codec-headers \
+ tpm2-tss \
+"
+
+PACKAGECONFIG ??= " \
+ vnc \
+ rdp \
+ ${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'fdk_aac', '', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
+"
+
+PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,pipewire-native wireplumber-native dbus-native"
+PACKAGECONFIG[vnc] = "-Dvnc=true,-Dvnc=false,libvncserver"
+PACKAGECONFIG[rdp] = "-Drdp=true,-Drdp=false,freerdp fuse3 libxkbcommon"
+PACKAGECONFIG[fdk_aac] = "-Dfdk_aac=true,-Dfdk_aac=false,fdk-aac"
+PACKAGECONFIG[systemd] = "-Dsystemd=true,-Dsystemd=false,systemd"
+
+FILES:${PN} += "${systemd_user_unitdir}"
diff --git a/meta-openembedded/meta-gnome/dynamic-layers/meta-virtualization/recipes-gnome/gnome-boxes/gnome-boxes_45.0.bb b/meta-openembedded/meta-gnome/dynamic-layers/meta-virtualization/recipes-gnome/gnome-boxes/gnome-boxes_45.0.bb
index f2aeb88..fc12351 100644
--- a/meta-openembedded/meta-gnome/dynamic-layers/meta-virtualization/recipes-gnome/gnome-boxes/gnome-boxes_45.0.bb
+++ b/meta-openembedded/meta-gnome/dynamic-layers/meta-virtualization/recipes-gnome/gnome-boxes/gnome-boxes_45.0.bb
@@ -33,6 +33,7 @@
SRC_URI[archive.sha256sum] = "cc63080eefa147a8472ab1a5ff087b97a27ab723a4ee005ed41e8c9dd7798e41"
GIR_MESON_OPTION = ""
+VALA_MESON_OPTION = ""
FILES:${PN} += "${datadir}"
diff --git a/meta-openembedded/meta-gnome/dynamic-layers/meta-virtualization/recipes-gnome/gnome-remote-desktop/gnome-remote-desktop_45.0.bb b/meta-openembedded/meta-gnome/dynamic-layers/meta-virtualization/recipes-gnome/gnome-remote-desktop/gnome-remote-desktop_45.0.bb
deleted file mode 100644
index d308964..0000000
--- a/meta-openembedded/meta-gnome/dynamic-layers/meta-virtualization/recipes-gnome/gnome-remote-desktop/gnome-remote-desktop_45.0.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-SUMMARY = "Remote desktop daemon for GNOME using pipewire."
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-GNOMEBASEBUILDCLASS = "meson"
-
-inherit gnomebase gettext gsettings features_check
-
-REQUIRED_DISTRO_FEATURES = "opengl"
-
-SRC_URI[archive.sha256sum] = "cb993112d5a3ca21ec217df2d84068e4cad2a4aa6cab52f0e186fa1152f7a381"
-
-DEPENDS = " \
- asciidoc-native \
- libdrm \
- libei \
- libepoxy \
- cairo \
- glib-2.0 \
- pipewire \
- libnotify \
- libsecret \
- nv-codec-headers \
- tpm2-tss \
-"
-
-PACKAGECONFIG ??= " \
- vnc \
- rdp \
- ${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'fdk_aac', '', d)} \
- ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
-"
-
-PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,pipewire-native wireplumber-native dbus-native"
-PACKAGECONFIG[vnc] = "-Dvnc=true,-Dvnc=false,libvncserver"
-PACKAGECONFIG[rdp] = "-Drdp=true,-Drdp=false,freerdp fuse3 libxkbcommon"
-PACKAGECONFIG[fdk_aac] = "-Dfdk_aac=true,-Dfdk_aac=false,fdk-aac"
-PACKAGECONFIG[systemd] = "-Dsystemd=true,-Dsystemd=false,systemd"
-
-FILES:${PN} += "${systemd_user_unitdir}"
diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/folks/folks_0.15.6.bb b/meta-openembedded/meta-gnome/recipes-connectivity/folks/folks_0.15.6.bb
index c94a959..5b9717f 100644
--- a/meta-openembedded/meta-gnome/recipes-connectivity/folks/folks_0.15.6.bb
+++ b/meta-openembedded/meta-gnome/recipes-connectivity/folks/folks_0.15.6.bb
@@ -7,7 +7,6 @@
libgee \
"
-GNOMEBASEBUILDCLASS = "meson"
EXTRA_OEMESON += "-Dtests=false -Db_lto=false "
CFLAGS:append:toolchain-clang = " -Wno-error=implicit-function-declaration"
diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/gtk-vnc/gtk-vnc_1.3.1.bb b/meta-openembedded/meta-gnome/recipes-connectivity/gtk-vnc/gtk-vnc_1.3.1.bb
index 36eb8ca..3bfe38f 100644
--- a/meta-openembedded/meta-gnome/recipes-connectivity/gtk-vnc/gtk-vnc_1.3.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-connectivity/gtk-vnc/gtk-vnc_1.3.1.bb
@@ -12,9 +12,11 @@
zlib \
"
-GNOMEBASEBUILDCLASS = "meson"
REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
GIR_MESON_OPTION = ""
+VALA_MESON_OPTION = "with-vala"
+VALA_MESON_ENABLE_FLAG ?= 'enabled'
+VALA_MESON_DISABLE_FLAG ?= 'disabled'
PACKAGECONFIG[pulseaudio] = "-Dpulseaudio=enabled,-Dpulseaudio=disabled,pulseaudio"
PACKAGECONFIG[sasl] = "-Dsasl=enabled,-Dsasl=disabled,cyrus-sasl"
diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/libnma/libnma_1.10.6.bb b/meta-openembedded/meta-gnome/recipes-connectivity/libnma/libnma_1.10.6.bb
index bff9a33..997a5a7 100644
--- a/meta-openembedded/meta-gnome/recipes-connectivity/libnma/libnma_1.10.6.bb
+++ b/meta-openembedded/meta-gnome/recipes-connectivity/libnma/libnma_1.10.6.bb
@@ -4,7 +4,6 @@
DEPENDS = "glib-2.0 gtk+3 gtk4 networkmanager"
-GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gobject-introspection gtk-doc gettext vala features_check
REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG','gcr','x11','',d)} opengl"
diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet/0001-linker-script-Do-not-export-_IO_stdin_used.patch b/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet/0001-linker-scripts-Do-not-export-_IO_stdin_used.patch
similarity index 100%
rename from meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet/0001-linker-script-Do-not-export-_IO_stdin_used.patch
rename to meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet/0001-linker-scripts-Do-not-export-_IO_stdin_used.patch
diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.32.0.bb b/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.32.0.bb
deleted file mode 100644
index 20fc0f3..0000000
--- a/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.32.0.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "GTK+ applet for NetworkManager"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-DEPENDS = "gtk+3 libnma libnotify libsecret libgudev networkmanager iso-codes nss"
-
-GNOMEBASEBUILDCLASS = "meson"
-inherit features_check gnomebase gsettings gtk-icon-cache gettext pkgconfig
-
-ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
-
-SRC_URI:append:libc-musl = " file://0001-linker-script-Do-not-export-_IO_stdin_used.patch"
-
-SRC_URI[archive.sha256sum] = "a2b5affa1505ad43902959fdbe09e5bcec57b11ed333fa60458ffb9c62efba38"
-
-# We don't not have ubuntu's appindicator (yet?)
-EXTRA_OEMESON = "-Dappindicator=no"
-# We currently don't build NetworkManager with libteamdctl support
-EXTRA_OEMESON += "-Dteam=false"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}"
-PACKAGECONFIG[modemmanager] = "-Dwwan=true, -Dwwan=false, modemmanager"
-PACKAGECONFIG[selinux] = "-Dselinux=true, -Dselinux=false, libselinux"
-
-RDEPENDS:${PN} =+ "networkmanager"
-
-FILES:${PN} += " \
- ${datadir}/nm-applet/ \
- ${datadir}/libnma/wifi.ui \
- ${datadir}/metainfo \
-"
diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.34.0.bb b/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.34.0.bb
new file mode 100644
index 0000000..312d759
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.34.0.bb
@@ -0,0 +1,30 @@
+SUMMARY = "GTK+ applet for NetworkManager"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "gtk+3 libnma libnotify libsecret libgudev networkmanager iso-codes nss"
+
+inherit features_check gnomebase gsettings gtk-icon-cache gettext pkgconfig
+
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+
+SRC_URI:append:libc-musl = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' file://0001-linker-scripts-Do-not-export-_IO_stdin_used.patch', '', d)}"
+
+SRC_URI[archive.sha256sum] = "ab368e470f6b161fc8b834bc97912b7e79af92b8cd7ea399c2d400ce89aba5a8"
+
+# We don't not have ubuntu's appindicator (yet?)
+EXTRA_OEMESON = "-Dappindicator=no"
+# We currently don't build NetworkManager with libteamdctl support
+EXTRA_OEMESON += "-Dteam=false"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}"
+PACKAGECONFIG[modemmanager] = "-Dwwan=true, -Dwwan=false, modemmanager"
+PACKAGECONFIG[selinux] = "-Dselinux=true, -Dselinux=false, libselinux"
+
+RDEPENDS:${PN} =+ "networkmanager"
+
+FILES:${PN} += " \
+ ${datadir}/nm-applet/ \
+ ${datadir}/libnma/wifi.ui \
+ ${datadir}/metainfo \
+"
diff --git a/meta-openembedded/meta-gnome/recipes-gimp/babl/babl_0.1.106.bb b/meta-openembedded/meta-gnome/recipes-gimp/babl/babl_0.1.106.bb
index 5a5f4f5..61cd7ad 100644
--- a/meta-openembedded/meta-gnome/recipes-gimp/babl/babl_0.1.106.bb
+++ b/meta-openembedded/meta-gnome/recipes-gimp/babl/babl_0.1.106.bb
@@ -2,9 +2,8 @@
LICENSE = "LGPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6"
-GNOMEBASEBUILDCLASS = "meson"
-
GIR_MESON_OPTION = "enable-gir"
+VALA_MESON_OPTION = "enable-vapi"
inherit setuptools3 gnomebase gobject-introspection vala
diff --git a/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl_0.4.46.bb b/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl_0.4.46.bb
index 3a94787..8c3f89f 100644
--- a/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl_0.4.46.bb
+++ b/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl_0.4.46.bb
@@ -17,9 +17,9 @@
DEPENDS:remove:toolchain-clang:riscv32 = "openmp"
DEPENDS:remove:toolchain-clang:powerpc = "openmp"
-GNOMEBASEBUILDCLASS = "meson"
+VALA_MESON_OPTION = ""
-inherit features_check gnomebase vala gobject-introspection
+inherit features_check gnomebase gobject-introspection vala
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
diff --git a/meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp_2.10.34.bb b/meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp_2.10.34.bb
deleted file mode 100644
index 7343036..0000000
--- a/meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp_2.10.34.bb
+++ /dev/null
@@ -1,71 +0,0 @@
-SUMMARY = "The GIMP is the GNU Image Manipulation Program"
-HOMEPAGE = "http://www.gimp.org"
-SECTION = "x11/graphics"
-LICENSE = "GPL-3.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c678957b0c8e964aa6c70fd77641a71e"
-
-DEPENDS = " \
- alsa-lib \
- atk \
- cairo \
- fontconfig \
- freetype \
- gdk-pixbuf-native \
- intltool-native \
- libxslt-native \
- gegl-native \
- dbus-glib \
- gtk+ \
- babl \
- gegl \
- libmypaint \
- mypaint-brushes-1.0 \
- gexiv2 \
- jpeg \
- libmng \
- libpng \
- libexif \
- tiff \
- lcms \
- poppler \
- poppler-data \
- jasper \
- bzip2 \
- libgudev \
- libmng \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxmu libxpm', '', d)} \
-"
-DEPENDS:append:libc-musl = " libexecinfo"
-
-inherit features_check gnomebase gtk-icon-cache gtk-doc mime-xdg
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SHPV = "${@gnome_verdir("${PV}")}"
-
-SRC_URI = "https://download.gimp.org/pub/${BPN}/v${SHPV}/${BP}.tar.bz2 \
- file://0001-configure-Keep-first-line-of-compiler-version-string.patch \
- file://0001-libtool-Do-not-add-build-time-library-paths-to-LD_LI.patch"
-SRC_URI[sha256sum] = "84004642d351b398a4293cd7fd3592044a944f05bb52850ee6068f247c657aa3"
-
-EXTRA_OECONF = "--disable-python \
- --without-webkit \
- --disable-check-update \
- --without-wmf"
-
-EXTRA_OECONF += "${@oe.utils.conditional('SITEINFO_BITS', '32', ' --disable-vector-icons', '', d)}"
-
-do_configure:append() {
- find ${B} -name Makefile | xargs sed -i s:'-I$(includedir)':'-I.':g
- find ${B} -name Makefile | xargs sed -i s:'-I/usr/include':'-I${STAGING_INCDIR}':g
-}
-
-do_compile:prepend() {
- # Let native babl/gegl find their plugins
- export BABL_PATH=`find ${STAGING_LIBDIR_NATIVE} -maxdepth 1 -name 'babl-*'`
- export GEGL_PATH=`find ${STAGING_LIBDIR_NATIVE} -maxdepth 1 -name 'gegl-*'`
-}
-
-FILES:${PN} += "${datadir}/metainfo"
-
-RDEPENDS:${PN} += "mypaint-brushes-1.0"
diff --git a/meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp_2.10.36.bb b/meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp_2.10.36.bb
new file mode 100644
index 0000000..4526839
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp_2.10.36.bb
@@ -0,0 +1,72 @@
+SUMMARY = "The GIMP is the GNU Image Manipulation Program"
+HOMEPAGE = "http://www.gimp.org"
+SECTION = "x11/graphics"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c678957b0c8e964aa6c70fd77641a71e"
+
+DEPENDS = " \
+ alsa-lib \
+ atk \
+ cairo \
+ fontconfig \
+ freetype \
+ gdk-pixbuf-native \
+ intltool-native \
+ libxslt-native \
+ gegl-native \
+ dbus-glib \
+ gtk+ \
+ babl \
+ gegl \
+ libmypaint \
+ mypaint-brushes-1.0 \
+ gexiv2 \
+ jpeg \
+ libmng \
+ libpng \
+ libexif \
+ tiff \
+ lcms \
+ poppler \
+ poppler-data \
+ jasper \
+ bzip2 \
+ libgudev \
+ libmng \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxmu libxpm', '', d)} \
+"
+DEPENDS:append:libc-musl = " libexecinfo"
+
+GNOMEBASEBUILDCLASS = "autotools"
+inherit features_check gnomebase gtk-icon-cache gtk-doc mime-xdg
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SHPV = "${@gnome_verdir("${PV}")}"
+
+SRC_URI = "https://download.gimp.org/pub/${BPN}/v${SHPV}/${BP}.tar.bz2 \
+ file://0001-configure-Keep-first-line-of-compiler-version-string.patch \
+ file://0001-libtool-Do-not-add-build-time-library-paths-to-LD_LI.patch"
+SRC_URI[sha256sum] = "3d3bc3c69a4bdb3aea9ba2d5385ed98ea03953f3857aafd1d6976011ed7cdbb2"
+
+EXTRA_OECONF = "--disable-python \
+ --without-webkit \
+ --disable-check-update \
+ --without-wmf"
+
+EXTRA_OECONF += "${@oe.utils.conditional('SITEINFO_BITS', '32', ' --disable-vector-icons', '', d)}"
+
+do_configure:append() {
+ find ${B} -name Makefile | xargs sed -i s:'-I$(includedir)':'-I.':g
+ find ${B} -name Makefile | xargs sed -i s:'-I/usr/include':'-I${STAGING_INCDIR}':g
+}
+
+do_compile:prepend() {
+ # Let native babl/gegl find their plugins
+ export BABL_PATH=`find ${STAGING_LIBDIR_NATIVE} -maxdepth 1 -name 'babl-*'`
+ export GEGL_PATH=`find ${STAGING_LIBDIR_NATIVE} -maxdepth 1 -name 'gegl-*'`
+}
+
+FILES:${PN} += "${datadir}/metainfo"
+
+RDEPENDS:${PN} += "mypaint-brushes-1.0"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_43.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_43.0.bb
deleted file mode 100644
index 5b37645..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_43.0.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Configuration editor for dconf"
-LICENSE = "GPL-3.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
-
-GNOMEBASEBUILDCLASS = "meson"
-
-DEPENDS = " \
- dconf \
- gtk+3 \
- glib-2.0 \
- libhandy\
-"
-
-inherit gnomebase vala gsettings bash-completion pkgconfig gtk-icon-cache
-
-SRC_URI[archive.sha256sum] = "935a3c2dd76cc2a93cd5aee9a54d3947fb111eb396f4b63dc5f0ba8f8d099136"
-
-FILES:${PN} += " \
- ${datadir}/dbus-1 \
- ${datadir}/metainfo \
-"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_45.0.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_45.0.1.bb
new file mode 100644
index 0000000..32a69a0
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_45.0.1.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Configuration editor for dconf"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
+
+
+DEPENDS = " \
+ dconf \
+ desktop-file-utils-native \
+ gtk+3 \
+ glib-2.0 \
+ libhandy\
+"
+
+inherit gnomebase vala gsettings bash-completion pkgconfig gtk-icon-cache
+
+SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/45/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive"
+SRC_URI[archive.sha256sum] = "1180297678eedae6217cc514a2638c187d2f1d1ef2720cb9079b740c429941dd"
+
+FILES:${PN} += " \
+ ${datadir}/dbus-1 \
+ ${datadir}/metainfo \
+"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.40.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.40.0.bb
index 6641be8..c5c45a0 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.40.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf_0.40.0.bb
@@ -7,7 +7,6 @@
DEPENDS = "dbus glib-2.0 intltool-native"
-GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase bash-completion vala
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/eog/eog_45.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/eog/eog_45.0.bb
deleted file mode 100644
index eb3d07c..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/eog/eog_45.0.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "This is the Eye of GNOME, an image viewer program."
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-DEPENDS = " \
- librsvg \
- gnome-desktop \
- gsettings-desktop-schemas \
- gdk-pixbuf \
- gtk+3 \
- libhandy \
- libpeas \
- libportal \
- libexif \
- lcms \
-"
-
-GNOMEBASEBUILDCLASS = "meson"
-
-inherit gnomebase pkgconfig gsettings gobject-introspection gettext mime-xdg features_check gtk-icon-cache
-
-# FIXME: whilst eog uses libpeas <2, g-i is needed. This can be removed when libpeas2 is used.
-REQUIRED_DISTRO_FEATURES = "opengl gobject-introspection-data"
-
-SRC_URI[archive.sha256sum] = "05cb2c9a66ba15870f47358cd4c1ce670f17e4c8b22e050d627d728ff88b57ba"
-
-GTKDOC_MESON_OPTION = "gtk_doc"
-
-EXTRA_OEMESON = "-Dxmp=false"
-
-FILES:${PN} += "${datadir}"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/eog/eog_45.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/eog/eog_45.1.bb
new file mode 100644
index 0000000..41ed940
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/eog/eog_45.1.bb
@@ -0,0 +1,30 @@
+SUMMARY = "This is the Eye of GNOME, an image viewer program."
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = " \
+ librsvg \
+ gnome-desktop \
+ gsettings-desktop-schemas \
+ gdk-pixbuf \
+ gtk+3 \
+ libhandy \
+ libpeas \
+ libportal \
+ libexif \
+ lcms \
+"
+
+
+inherit gnomebase pkgconfig gsettings gobject-introspection gettext mime-xdg features_check gtk-icon-cache
+
+# FIXME: whilst eog uses libpeas <2, g-i is needed. This can be removed when libpeas2 is used.
+REQUIRED_DISTRO_FEATURES = "opengl gobject-introspection-data"
+
+SRC_URI[archive.sha256sum] = "c17f86704c722b36c01a168f1e51439be0bb279f2c6646f48b66e9d0f3a24cd2"
+
+GTKDOC_MESON_OPTION = "gtk_doc"
+
+EXTRA_OEMESON = "-Dxmp=false"
+
+FILES:${PN} += "${datadir}"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_45.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_45.0.bb
index d97a8a0..8b40241 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_45.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_45.0.bb
@@ -25,7 +25,6 @@
zlib \
"
-GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase itstool gnome-help pkgconfig gsettings gobject-introspection gettext mime-xdg gi-docgen features_check gtk-icon-cache
@@ -47,8 +46,8 @@
PACKAGES =+ "${PN}-nautilus-extension"
do_install:prepend() {
- sed -i -e 's|${B}/../${PN}-${PV}|/usr/src/debug/${PN}/${PV}-${PR}|g' ${B}/libview/ev-view-type-builtins.c
- sed -i -e 's|${B}/../${PN}-${PV}|/usr/src/debug/${PN}/${PV}-${PR}|g' ${B}/libdocument/ev-document-type-builtins.c
+ sed -i -e 's|${B}/../${PN}-${PV}|${TARGET_DBGSRC_DIR}|g' ${B}/libview/ev-view-type-builtins.c
+ sed -i -e 's|${B}/../${PN}-${PV}|${TARGET_DBGSRC_DIR}|g' ${B}/libdocument/ev-document-type-builtins.c
}
FILES:${PN} += "${datadir}/dbus-1 \
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc b/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc
index 511cc04..2f3bf61 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc
+++ b/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc
@@ -7,7 +7,8 @@
file://src/camel/camel.h;endline=24;md5=342fc5e9357254bc30c24e43ae47d9a1 \
file://src/libedataserver/e-data-server-util.h;endline=20;md5=8f21a9c80ea82a4fb80b5f959f672543"
+GNOMEBASEBUILDCLASS = "autotools"
inherit gnomebase upstream-version-is-even
-SRC_URI[archive.sha256sum] = "c9f793d99ba188ef8cf2891b8062d7e570e3cba22b8cfc46eb561c6cecc81d3a"
-PV = "3.50.0"
+SRC_URI[archive.sha256sum] = "91f4ffc38a1b8d2fe8939834449ac541c0bff4a39b444edc2a9529344a28e98a"
+PV = "3.50.1"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/file-roller/file-roller_43.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/file-roller/file-roller_43.0.bb
index f9b6841..ce2b6d9 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/file-roller/file-roller_43.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/file-roller/file-roller_43.0.bb
@@ -2,7 +2,6 @@
LICENSE="GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-GNOMEBASEBUILDCLASS = "meson"
DEPENDS = " \
desktop-file-utils-native \
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_45.0.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_45.0.1.bb
index 311d283..d95ea90 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_45.0.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_45.0.1.bb
@@ -17,7 +17,6 @@
REQUIRED_DISTRO_FEATURES = "x11 systemd pam polkit gobject-introspection-data"
GIR_MESON_OPTION = ""
-GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gsettings pkgconfig gobject-introspection gettext systemd useradd itstool gnome-help features_check
SRC_URI = "https://download.gnome.org/sources/gdm/${@oe.utils.trim_version("${PV}", 1)}/gdm-${PV}.tar.xz"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_46.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_46.1.bb
index 01d7a07..c0221b9 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_46.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_46.1.bb
@@ -3,7 +3,6 @@
LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e"
-GNOMEBASEBUILDCLASS = "meson"
DEPENDS = " \
appstream-glib-native \
@@ -19,7 +18,7 @@
tepl \
"
-inherit gnomebase gsettings itstool gnome-help gobject-introspection gtk-doc vala gettext features_check mime-xdg gtk-icon-cache python3targetconfig
+inherit gnomebase gsettings itstool gnome-help gobject-introspection gtk-doc gettext features_check mime-xdg gtk-icon-cache python3targetconfig
def gnome_verdir(v):
return oe.utils.trim_version(v, 1)
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/geocode-glib/geocode-glib_3.26.4.bb b/meta-openembedded/meta-gnome/recipes-gnome/geocode-glib/geocode-glib_3.26.4.bb
index 42659d0..a1495d6 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/geocode-glib/geocode-glib_3.26.4.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/geocode-glib/geocode-glib_3.26.4.bb
@@ -3,7 +3,6 @@
LICENSE = "LGPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605"
-GNOMEBASEBUILDCLASS = "meson"
GIR_MESON_OPTION = "enable-introspection"
GTKDOC_MESON_OPTION = "enable-gtk-doc"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gexiv2/gexiv2_0.14.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/gexiv2/gexiv2_0.14.2.bb
index 15091d4..8fd6583 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gexiv2/gexiv2_0.14.2.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gexiv2/gexiv2_0.14.2.bb
@@ -4,7 +4,6 @@
DEPENDS = "exiv2 python3-pygobject-native"
-GNOMEBASEBUILDCLASS = "meson"
GTKDOC_MESON_OPTION = "gtk_doc"
inherit gnomebase gobject-introspection gtk-doc python3native vala
@@ -25,3 +24,11 @@
sed -i -e "s,${B}/../${BPN}-${PV}/${BPN}/,,g" \
${B}/gexiv2/gexiv2-enums.cpp
}
+
+do_install:append() {
+ # gexiv2 harcodes usr/lib as install path, so this corrects it to actual libdir
+ if [ "${prefix}/lib" != "${libdir}" ]; then
+ mv ${D}/${prefix}/lib/* ${D}/${libdir}/
+ rm -rf ${D}/${prefix}/lib
+ fi
+}
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gfbgraph/gfbgraph_0.2.5.bb b/meta-openembedded/meta-gnome/recipes-gnome/gfbgraph/gfbgraph_0.2.5.bb
index faeaa8c..e9ee434 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gfbgraph/gfbgraph_0.2.5.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gfbgraph/gfbgraph_0.2.5.bb
@@ -10,7 +10,7 @@
libsoup-2.4 \
gnome-online-accounts \
"
-
+GNOMEBASEBUILDCLASS = "autotools"
inherit gnomebase gtk-doc gobject-introspection pkgconfig features_check
# for gnome-online-accounts
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/ghex/ghex/0001-gtkhex-Local-variables-in-switch-statement-should-be.patch b/meta-openembedded/meta-gnome/recipes-gnome/ghex/ghex/0001-gtkhex-Local-variables-in-switch-statement-should-be.patch
new file mode 100644
index 0000000..61cd3b1
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/ghex/ghex/0001-gtkhex-Local-variables-in-switch-statement-should-be.patch
@@ -0,0 +1,50 @@
+From b00b8332ab19e41c75ce143f45ab4585502c020b Mon Sep 17 00:00:00 2001
+From: Logan Rathbone <poprocks@gmail.com>
+Date: Tue, 24 Oct 2023 14:06:04 -0400
+Subject: [PATCH] gtkhex: Local variables in switch statement should be in own
+ scope
+
+Fixes: #74
+
+Thanks to: David C. Manuelda
+
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/ghex/-/commit/b00b8332ab19e41c75ce143f45ab4585502c020b]
+---
+ src/gtkhex.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/gtkhex.c b/src/gtkhex.c
+index b401cd9..18e0433 100644
+--- a/src/gtkhex.c
++++ b/src/gtkhex.c
+@@ -1941,6 +1941,7 @@ key_press_cb (GtkEventControllerKey *controller,
+ break;
+
+ case GDK_KEY_Home:
++ {
+ gint64 line_beg = self->cursor_pos;
+
+ while (line_beg % self->cpl != 0)
+@@ -1948,9 +1949,11 @@ key_press_cb (GtkEventControllerKey *controller,
+
+ hex_widget_set_cursor (self, line_beg);
+ ret = GDK_EVENT_STOP;
++ }
+ break;
+
+ case GDK_KEY_End:
++ {
+ gint64 line_end = self->cursor_pos;
+
+ while (line_end % self->cpl != self->cpl - 1)
+@@ -1958,6 +1961,7 @@ key_press_cb (GtkEventControllerKey *controller,
+
+ hex_widget_set_cursor (self, MIN (line_end, payload_size));
+ ret = GDK_EVENT_STOP;
++ }
+ break;
+
+ default:
+--
+2.42.0
+
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/ghex/ghex_3.18.4.bb b/meta-openembedded/meta-gnome/recipes-gnome/ghex/ghex_3.18.4.bb
deleted file mode 100644
index 08e5040..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/ghex/ghex_3.18.4.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "GHex - a hex editor for GNOME"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-GNOMEBASEBUILDCLASS = "meson"
-
-DEPENDS = " \
- glib-2.0-native \
- gtk+3 \
-"
-
-inherit gnomebase gsettings gtk-icon-cache gnome-help gettext upstream-version-is-even
-
-SRC_URI[archive.md5sum] = "7e6ed808766bc18285bdc6999bdf0f15"
-SRC_URI[archive.sha256sum] = "c2d9c191ff5bce836618779865bee4059db81a3a0dff38bda3cc7a9e729637c0"
-
-FILES:${PN} += "${datadir}/metainfo"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/ghex/ghex_45.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/ghex/ghex_45.0.bb
new file mode 100644
index 0000000..42c5347
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/ghex/ghex_45.0.bb
@@ -0,0 +1,21 @@
+SUMMARY = "GHex - a hex editor for GNOME"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+
+DEPENDS = " \
+ desktop-file-utils-native \
+ glib-2.0-native \
+ gtk4 \
+ libadwaita \
+"
+
+GIR_MESON_ENABLE_FLAG = 'enabled'
+GIR_MESON_DISABLE_FLAG = 'disabled'
+
+inherit gnomebase gsettings gtk-icon-cache gnome-help gettext gobject-introspection vala gi-docgen
+
+SRC_URI += "file://0001-gtkhex-Local-variables-in-switch-statement-should-be.patch"
+SRC_URI[archive.sha256sum] = "05cecc4561ca40b257c5db31da9f68d696133efc0ae427ed82fb985a986e840e"
+
+FILES:${PN} += "${libdir} ${datadir}/metainfo"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.78.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.78.0.bb
index 0af9f56..67efdab 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.78.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.78.0.bb
@@ -2,11 +2,10 @@
LICENSE = "MIT & LGPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=8dcea832f6acf45d856abfeb2d51ec48"
-GNOMEBASEBUILDCLASS = "meson"
DEPENDS = "mozjs-115 cairo"
-inherit gnomebase gsettings gobject-introspection vala gettext features_check upstream-version-is-even pkgconfig
+inherit gnomebase gsettings gobject-introspection gettext features_check upstream-version-is-even pkgconfig
SRC_URI[archive.sha256sum] = "fbaa20e0917668830800f92951688f9fc08f01296affd5cdb4b35f750be27dc9"
SRC_URI += " \
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.4.4.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.4.4.bb
index 29aeef1..8d602ee 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.4.4.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.4.4.bb
@@ -7,7 +7,6 @@
libarchive \
"
-GNOMEBASEBUILDCLASS = "meson"
GIR_MESON_ENABLE_FLAG = 'enabled'
GIR_MESON_DISABLE_FLAG = 'disabled'
GTKDOC_MESON_OPTION = "gtk_doc"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_44.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_44.0.bb
deleted file mode 100644
index 2934b73..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_44.0.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "GNOME wallpapers"
-LICENSE = "CC-BY-SA-3.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b52fb0a6df395efb7047cb6fc56bfd7e"
-
-SECTION = "x11/gnome"
-
-GNOMEBASEBUILDCLASS = "meson"
-
-inherit gnomebase gettext allarch
-
-SRC_URI[archive.sha256sum] = "4a8393b387135f2a6a424a1a0c3ac94e0742b62b8235a0923c929f51e04be04e"
-
-FILES:${PN} += " \
- ${datadir}/backgrounds \
- ${datadir}/gnome-background-properties \
-"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_45.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_45.0.bb
new file mode 100644
index 0000000..704a0b6
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_45.0.bb
@@ -0,0 +1,15 @@
+SUMMARY = "GNOME wallpapers"
+LICENSE = "CC-BY-SA-3.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b52fb0a6df395efb7047cb6fc56bfd7e"
+
+SECTION = "x11/gnome"
+
+
+inherit gnomebase gettext allarch
+
+SRC_URI[archive.sha256sum] = "cee0e688fbae5ef7a75f335ada2d10779e08ebca9445f1586de32c5a9b6dee2d"
+
+FILES:${PN} += " \
+ ${datadir}/backgrounds \
+ ${datadir}/gnome-background-properties \
+"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth3_3.34.5.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth3_3.34.5.bb
index e2a885b..2a97263 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth3_3.34.5.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth3_3.34.5.bb
@@ -11,7 +11,6 @@
GNOMEBN = "gnome-bluetooth"
S = "${WORKDIR}/${GNOMEBN}-${PV}"
-GNOMEBASEBUILDCLASS = "meson"
GTKDOC_MESON_OPTION = "gtk_doc"
inherit features_check gnomebase gtk-icon-cache gtk-doc gobject-introspection upstream-version-is-even
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_42.6.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_42.6.bb
deleted file mode 100644
index 7cce14d..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_42.6.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-SUMMARY = "GNOME bluetooth manager"
-LICENSE = "GPL-2.0-only & LGPL-2.1-only"
-LIC_FILES_CHKSUM = " \
- file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
- file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \
-"
-
-SECTION = "x11/gnome"
-
-DEPENDS = " \
- udev \
- libnotify \
- libcanberra \
- bluez5 \
- upower \
- gtk4 \
- gsound \
- libadwaita \
-"
-
-GNOMEBASEBUILDCLASS = "meson"
-GTKDOC_MESON_OPTION = "gtk_doc"
-GTKIC_VERSION = "4"
-
-inherit features_check gnomebase gtk-icon-cache gtk-doc gobject-introspection
-
-REQUIRED_DISTRO_FEATURES = "x11 opengl"
-
-SRC_URI[archive.sha256sum] = "5864fe6f1e718715db26b62201b75a59020cf4247fec37645b3559cd2dba59d0"
-
-BT_PULSE_PACKS = " \
- pulseaudio-lib-bluez5-util \
- pulseaudio-module-bluetooth-discover \
- pulseaudio-module-bluetooth-policy \
- pulseaudio-module-bluez5-device \
- pulseaudio-module-bluez5-discover \
-"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)}"
-PACKAGECONFIG[pulseaudio] = ",,,${BT_PULSE_PACKS}"
-
-FILES:${PN} += "${datadir}/gnome-bluetooth-3.0"
-
-RDEPENDS:${PN} += "bluez5"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_42.7.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_42.7.bb
new file mode 100644
index 0000000..ba5e558
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_42.7.bb
@@ -0,0 +1,43 @@
+SUMMARY = "GNOME bluetooth manager"
+LICENSE = "GPL-2.0-only & LGPL-2.1-only"
+LIC_FILES_CHKSUM = " \
+ file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
+ file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \
+"
+
+SECTION = "x11/gnome"
+
+DEPENDS = " \
+ udev \
+ libnotify \
+ libcanberra \
+ bluez5 \
+ upower \
+ gtk4 \
+ gsound \
+ libadwaita \
+"
+
+GTKDOC_MESON_OPTION = "gtk_doc"
+GTKIC_VERSION = "4"
+
+inherit features_check gnomebase gtk-icon-cache gtk-doc gobject-introspection
+
+REQUIRED_DISTRO_FEATURES = "x11 opengl"
+
+SRC_URI[archive.sha256sum] = "94df1729dbec3bb105e588eaf5312bbbaa05c49ea733202a10dc3f7532bdf869"
+
+BT_PULSE_PACKS = " \
+ pulseaudio-lib-bluez5-util \
+ pulseaudio-module-bluetooth-discover \
+ pulseaudio-module-bluetooth-policy \
+ pulseaudio-module-bluez5-device \
+ pulseaudio-module-bluez5-discover \
+"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)}"
+PACKAGECONFIG[pulseaudio] = ",,,${BT_PULSE_PACKS}"
+
+FILES:${PN} += "${datadir}/gnome-bluetooth-3.0"
+
+RDEPENDS:${PN} += "bluez5"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_45.0.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_45.0.2.bb
new file mode 100644
index 0000000..30f532c
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_45.0.2.bb
@@ -0,0 +1,38 @@
+SUMMARY = "GNOME calculator"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SECTION = "x11/gnome"
+
+DEPENDS = " \
+ yelp-tools-native \
+ gtk4 \
+ libsoup-3.0 \
+ libgee \
+ libxml2 \
+ libmpc \
+ gtksourceview5 \
+ libadwaita \
+"
+
+GIR_MESON_OPTION = 'disable-introspection'
+GIR_MESON_ENABLE_FLAG = 'false'
+GIR_MESON_DISABLE_FLAG = 'true'
+VALA_MESON_OPTION = ''
+
+GTKIC_VERSION = '4'
+
+inherit gnomebase gobject-introspection gnome-help vala gtk-icon-cache gettext features_check
+
+def gnome_verdir(v):
+ return oe.utils.trim_version(v, 1)
+
+REQUIRED_DISTRO_FEATURES = "x11 opengl"
+
+SRC_URI[archive.sha256sum] = "7dcbf32384897171cbe5483ec664d994e5e755e912ae1df911624f03c90867c2"
+
+FILES:${PN} += " \
+ ${datadir}/dbus-1 \
+ ${datadir}/metainfo \
+ ${datadir}/gnome-shell \
+"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_45.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_45.0.bb
deleted file mode 100644
index ed2cb85..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_45.0.bb
+++ /dev/null
@@ -1,38 +0,0 @@
-SUMMARY = "GNOME calculator"
-LICENSE = "GPL-3.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-SECTION = "x11/gnome"
-
-DEPENDS = " \
- yelp-tools-native \
- gtk4 \
- libsoup-3.0 \
- libgee \
- libxml2 \
- libmpc \
- gtksourceview5 \
- libadwaita \
-"
-
-GIR_MESON_OPTION = 'disable-introspection'
-GIR_MESON_ENABLE_FLAG = 'false'
-GIR_MESON_DISABLE_FLAG = 'true'
-
-GNOMEBASEBUILDCLASS = "meson"
-GTKIC_VERSION = '4'
-
-inherit gnomebase gobject-introspection gnome-help vala gtk-icon-cache gettext features_check
-
-def gnome_verdir(v):
- return oe.utils.trim_version(v, 1)
-
-REQUIRED_DISTRO_FEATURES = "x11 opengl"
-
-SRC_URI[archive.sha256sum] = "e58df0b5646111baf93ec5309b225d27b7c7f45deeee484af7914331b8cd2822"
-
-FILES:${PN} += " \
- ${datadir}/dbus-1 \
- ${datadir}/metainfo \
- ${datadir}/gnome-shell \
-"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-calendar/gnome-calendar_45.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-calendar/gnome-calendar_45.0.bb
deleted file mode 100644
index a8b8123..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-calendar/gnome-calendar_45.0.bb
+++ /dev/null
@@ -1,38 +0,0 @@
-SUMMARY = "GNOME calendar"
-LICENSE = "GPL-3.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a"
-
-SECTION = "x11/gnome"
-
-DEPENDS = " \
- gtk4 \
- libical \
- gsettings-desktop-schemas \
- evolution-data-server \
- libsoup \
- libdazzle \
- libadwaita \
- libgweather4 \
- geoclue \
- geocode-glib \
-"
-
-GNOMEBASEBUILDCLASS = "meson"
-GTKIC_VERSION = '4'
-inherit gnomebase gsettings gtk-icon-cache gettext features_check upstream-version-is-even mime-xdg
-
-REQUIRED_DISTRO_FEATURES = "x11 opengl"
-
-SRC_URI[archive.sha256sum] = "8c1483cbba4388db410875ed09d64e9003f929b555d704076a6fe7bd7c1e65b2"
-
-do_install:prepend() {
- sed -i -e 's|${S}/src|/usr/src/debug/${PN}/${PV}-${PR}/src|g' ${B}/src/gcal-enum-types.h
- sed -i -e 's|${S}/src|/usr/src/debug/${PN}/${PV}-${PR}/src|g' ${B}/src/gcal-enum-types.c
-}
-
-FILES:${PN} += " \
- ${datadir}/gnome-shell \
- ${datadir}/metainfo \
- ${datadir}/dbus-1 \
-"
-
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-calendar/gnome-calendar_45.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-calendar/gnome-calendar_45.1.bb
new file mode 100644
index 0000000..99cb9f6
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-calendar/gnome-calendar_45.1.bb
@@ -0,0 +1,37 @@
+SUMMARY = "GNOME calendar"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a"
+
+SECTION = "x11/gnome"
+
+DEPENDS = " \
+ gtk4 \
+ libical \
+ gsettings-desktop-schemas \
+ evolution-data-server \
+ libsoup \
+ libdazzle \
+ libadwaita \
+ libgweather4 \
+ geoclue \
+ geocode-glib \
+"
+
+GTKIC_VERSION = '4'
+inherit gnomebase gsettings gtk-icon-cache gettext features_check upstream-version-is-even mime-xdg
+
+REQUIRED_DISTRO_FEATURES = "x11 opengl"
+
+SRC_URI[archive.sha256sum] = "7fa8507543865aa7432bb5319830c87158b5447ca09cca45b607dc6796c71008"
+
+do_install:prepend() {
+ sed -i -e 's|${S}/src|${TARGET_DBGSRC_DIR}/src|g' ${B}/src/gcal-enum-types.h
+ sed -i -e 's|${S}/src|${TARGET_DBGSRC_DIR}/src|g' ${B}/src/gcal-enum-types.c
+}
+
+FILES:${PN} += " \
+ ${datadir}/gnome-shell \
+ ${datadir}/metainfo \
+ ${datadir}/dbus-1 \
+"
+
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-commander/gnome-commander_1.16.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-commander/gnome-commander_1.16.1.bb
index 6aa28fc..474512d 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-commander/gnome-commander_1.16.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-commander/gnome-commander_1.16.1.bb
@@ -13,7 +13,6 @@
inherit gnomebase itstool gettext gnome-help features_check meson gtk-icon-cache mime-xdg
ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
-GNOMEBASEBUILDCLASS = "meson"
GIR_MESON_ENABLE_FLAG = 'enabled'
GIR_MESON_DISABLE_FLAG = 'disabled'
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-console/gnome-console_45.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-console/gnome-console_45.0.bb
new file mode 100644
index 0000000..748ea7b
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-console/gnome-console_45.0.bb
@@ -0,0 +1,26 @@
+SUMMARY = "GNOME Console"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a"
+
+GTKIC_VERSION = "4"
+inherit gnomebase gsettings pkgconfig gtk-icon-cache
+
+DEPENDS = " \
+ desktop-file-utils-native \
+ gtk4-native \
+ glib-2.0 \
+ gsettings-desktop-schemas \
+ hicolor-icon-theme \
+ libadwaita \
+ libgtop \
+ pcre2 \
+ vte9 \
+"
+
+SRC_URI[archive.sha256sum] = "e7462128d2df2324a1d748062c40429cd0504af09e407067b33f3a9d0c59c8e1"
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false"
+PACKAGECONFIG[devel] = "-Ddevel=true,-Ddevel=false"
+
+FILES:${PN} += "${datadir}"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_45.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_45.0.bb
deleted file mode 100644
index 29c9f3c..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_45.0.bb
+++ /dev/null
@@ -1,71 +0,0 @@
-SUMMARY = "GNOME Settings"
-DESCRIPTION = "GNOME Settings is GNOME's main interface for configuration of various aspects of your desktop"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e"
-
-GNOMEBASEBUILDCLASS = "meson"
-GTKIC_VERSION = "4"
-
-DEPENDS = " \
- accountsservice \
- colord-gtk \
- gcr3 \
- gdk-pixbuf \
- glib-2.0 \
- gnome-bluetooth \
- gnome-desktop \
- gnome-online-accounts \
- gnome-settings-daemon \
- gsettings-desktop-schemas \
- gtk4 \
- libadwaita \
- libepoxy \
- libgtop \
- libgudev \
- libnma \
- libpwquality \
- libxml2 \
- polkit \
- pulseaudio \
- samba \
- setxkbmap-native \
- tecla \
- udisks2 \
- upower \
-"
-
-inherit gtk-icon-cache pkgconfig gnomebase gsettings gettext upstream-version-is-even bash-completion features_check useradd
-
-REQUIRED_DISTRO_FEATURES += "opengl polkit pulseaudio systemd x11"
-
-SRC_URI += "file://0001-Add-meson-option-to-pass-sysroot.patch"
-SRC_URI[archive.sha256sum] = "83df6a90f98914f2c19a872ce06562acef40927637f679c383099265ccfa42cf"
-
-PACKAGECONFIG ??= "ibus ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)}"
-PACKAGECONFIG[cups] = ",,cups,cups"
-PACKAGECONFIG[ibus] = "-Dibus=true, -Dibus=false, ibus"
-PACKAGECONFIG[wayland] = "-Dwayland=true, -Dwayland=false, wayland"
-
-EXTRA_OEMESON += "-Doe_sysroot=${STAGING_DIR_HOST}"
-
-export XDG_DATA_DIRS = "${STAGING_DATADIR}"
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM:${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd"
-
-do_install:append() {
- if [ -d ${D}${datadir}/polkit-1/rules.d ]; then
- chmod 700 ${D}${datadir}/polkit-1/rules.d
- chown polkitd:root ${D}${datadir}/polkit-1/rules.d
- fi
-}
-
-FILES:${PN} += " \
- ${datadir}/dbus-1 \
- ${datadir}/gnome-shell \
- ${datadir}/metainfo \
-"
-
-FILES:${PN}-dev += "${datadir}/gettext"
-
-RDEPENDS:${PN} += "gsettings-desktop-schemas tecla"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_45.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_45.1.bb
new file mode 100644
index 0000000..8402fce
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_45.1.bb
@@ -0,0 +1,70 @@
+SUMMARY = "GNOME Settings"
+DESCRIPTION = "GNOME Settings is GNOME's main interface for configuration of various aspects of your desktop"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e"
+
+GTKIC_VERSION = "4"
+
+DEPENDS = " \
+ accountsservice \
+ colord-gtk \
+ gcr3 \
+ gdk-pixbuf \
+ glib-2.0 \
+ gnome-bluetooth \
+ gnome-desktop \
+ gnome-online-accounts \
+ gnome-settings-daemon \
+ gsettings-desktop-schemas \
+ gtk4 \
+ libadwaita \
+ libepoxy \
+ libgtop \
+ libgudev \
+ libnma \
+ libpwquality \
+ libxml2 \
+ polkit \
+ pulseaudio \
+ samba \
+ setxkbmap-native \
+ tecla \
+ udisks2 \
+ upower \
+"
+
+inherit gtk-icon-cache pkgconfig gnomebase gsettings gettext upstream-version-is-even bash-completion features_check useradd
+
+REQUIRED_DISTRO_FEATURES += "opengl polkit pulseaudio systemd x11"
+
+SRC_URI += "file://0001-Add-meson-option-to-pass-sysroot.patch"
+SRC_URI[archive.sha256sum] = "d286c7627150e112aacbb4b7b91717fad8e89076061479dfc610b2dd744b577a"
+
+PACKAGECONFIG ??= "ibus ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)}"
+PACKAGECONFIG[cups] = ",,cups,cups"
+PACKAGECONFIG[ibus] = "-Dibus=true, -Dibus=false, ibus"
+PACKAGECONFIG[wayland] = "-Dwayland=true, -Dwayland=false, wayland"
+
+EXTRA_OEMESON += "-Doe_sysroot=${STAGING_DIR_HOST}"
+
+export XDG_DATA_DIRS = "${STAGING_DATADIR}"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM:${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd"
+
+do_install:append() {
+ if [ -d ${D}${datadir}/polkit-1/rules.d ]; then
+ chmod 700 ${D}${datadir}/polkit-1/rules.d
+ chown polkitd:root ${D}${datadir}/polkit-1/rules.d
+ fi
+}
+
+FILES:${PN} += " \
+ ${datadir}/dbus-1 \
+ ${datadir}/gnome-shell \
+ ${datadir}/metainfo \
+"
+
+FILES:${PN}-dev += "${datadir}/gettext"
+
+RDEPENDS:${PN} += "gsettings-desktop-schemas tecla system-config-printer cups-pk-helper"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop_44.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop_44.0.bb
index 03411c8..19bae74 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop_44.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop_44.0.bb
@@ -6,7 +6,6 @@
file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
"
-GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase itstool pkgconfig upstream-version-is-even gobject-introspection features_check gtk-doc
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_44.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_44.0.bb
deleted file mode 100644
index d8674fc..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_44.0.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-SUMMARY = "GNOME disk utility"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SECTION = "x11/gnome"
-
-DEPENDS = " \
- desktop-file-utils-native \
- gtk+3 \
- libdvdread \
- libnotify \
- libsecret \
- libpwquality \
- udisks2 \
- libhandy \
- xz \
-"
-
-GNOMEBASEBUILDCLASS = "meson"
-
-inherit gnomebase gsettings gtk-icon-cache gettext features_check mime-xdg
-
-ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
-REQUIRED_DISTRO_FEATURES = "polkit"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)}"
-
-# As soon as elogind is of interest this needs rework: meson option is combo
-PACKAGECONFIG[systemd] = "-Dlogind=libsystemd,-Dlogind=none,systemd"
-PACKAGECONFIG[x11] = ",,libcanberra"
-
-SRC_URI:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'file://0001-gnome-disk-utility-remove-libcanberra-dependency.patch', '', d)}"
-SRC_URI[archive.sha256sum] = "02031097896cdb37d8717a5823f93e3723d4dfce7fdc4002c9dfcb16b7e7a3ef"
-
-EXTRA_OEMESON = "-Dman=false"
-
-FILES:${PN} += " \
- ${datadir}/metainfo \
- ${datadir}/dbus-1 \
-"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_45.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_45.0.bb
new file mode 100644
index 0000000..4f3738c
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_45.0.bb
@@ -0,0 +1,39 @@
+SUMMARY = "GNOME disk utility"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SECTION = "x11/gnome"
+
+DEPENDS = " \
+ desktop-file-utils-native \
+ gtk+3 \
+ libdvdread \
+ libnotify \
+ libsecret \
+ libpwquality \
+ udisks2 \
+ libhandy \
+ xz \
+"
+
+
+inherit gnomebase gsettings gtk-icon-cache gettext features_check mime-xdg
+
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+REQUIRED_DISTRO_FEATURES = "polkit"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)}"
+
+# As soon as elogind is of interest this needs rework: meson option is combo
+PACKAGECONFIG[systemd] = "-Dlogind=libsystemd,-Dlogind=none,systemd"
+PACKAGECONFIG[x11] = ",,libcanberra"
+
+SRC_URI:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'file://0001-gnome-disk-utility-remove-libcanberra-dependency.patch', '', d)}"
+SRC_URI[archive.sha256sum] = "3d8625faa99047bc4aefd29921ad728ab4d700cff86e0f2ec67e8dba877d0dd3"
+
+EXTRA_OEMESON = "-Dman=false"
+
+FILES:${PN} += " \
+ ${datadir}/metainfo \
+ ${datadir}/dbus-1 \
+"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-flashback/gnome-flashback_3.46.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-flashback/gnome-flashback_3.46.0.bb
index 597cdba..cf11227 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-flashback/gnome-flashback_3.46.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-flashback/gnome-flashback_3.46.0.bb
@@ -2,6 +2,7 @@
LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+GNOMEBASEBUILDCLASS = "autotools"
inherit gnomebase gsettings gtk-icon-cache gettext upstream-version-is-even features_check
REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-font-viewer/gnome-font-viewer_44.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-font-viewer/gnome-font-viewer_44.0.bb
deleted file mode 100644
index ff5e1e2..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-font-viewer/gnome-font-viewer_44.0.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "GNOME font viewer"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-SECTION = "x11/gnome"
-
-DEPENDS = " \
- gtk4 \
- gnome-desktop \
- libadwaita \
-"
-
-GNOMEBASEBUILDCLASS = "meson"
-
-inherit gnomebase gtk-icon-cache gettext features_check mime-xdg
-
-REQUIRED_DISTRO_FEATURES = "x11 opengl"
-
-SRC_URI[archive.sha256sum] = "a1511df30b228cc2ef1175dd9d2b93438ea912e25913404b263cf3d457bb9f97"
-
-FILES:${PN} += " \
- ${datadir}/dbus-1 \
- ${datadir}/metainfo \
- ${datadir}/thumbnailers \
-"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-font-viewer/gnome-font-viewer_45.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-font-viewer/gnome-font-viewer_45.0.bb
new file mode 100644
index 0000000..629bc71
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-font-viewer/gnome-font-viewer_45.0.bb
@@ -0,0 +1,24 @@
+SUMMARY = "GNOME font viewer"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+SECTION = "x11/gnome"
+
+DEPENDS = " \
+ gtk4 \
+ gnome-desktop \
+ libadwaita \
+"
+
+
+inherit gnomebase gtk-icon-cache gettext features_check mime-xdg
+
+REQUIRED_DISTRO_FEATURES = "x11 opengl"
+
+SRC_URI[archive.sha256sum] = "97cb6b68dda60de0ab3038383586f1e4bc1da5a48f44025bd6bbe74ea05c2b08"
+
+FILES:${PN} += " \
+ ${datadir}/dbus-1 \
+ ${datadir}/metainfo \
+ ${datadir}/thumbnailers \
+"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_42.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_42.1.bb
index 241a94c..65c22e6 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_42.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_42.1.bb
@@ -17,6 +17,7 @@
${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} \
"
+GNOMEBASEBUILDCLASS = "autotools"
inherit gnomebase gsettings features_check gettext
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus_3.36.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus_3.36.0.bb
index fa16251..47b6733 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus_3.36.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-menus/gnome-menus_3.36.0.bb
@@ -6,6 +6,7 @@
DEPENDS = "glib-2.0"
+GNOMEBASEBUILDCLASS = "autotools"
inherit gnomebase gettext pkgconfig gobject-introspection upstream-version-is-even
SRC_URI[archive.md5sum] = "a8fd71fcf31a87fc799d80396a526829"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.48.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.48.0.bb
index cd14b48..47b234e 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.48.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.48.0.bb
@@ -2,7 +2,6 @@
LICENSE = "LGPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=34c88b124db5fb2762c1676be7dadd36"
-GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gsettings gobject-introspection gtk-icon-cache vala features_check
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_3.47.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_3.47.1.bb
index 8380c51..02a8b01 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_3.47.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_3.47.1.bb
@@ -2,6 +2,7 @@
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+GNOMEBASEBUILDCLASS = "autotools"
inherit gnomebase gsettings itstool gnome-help gtk-icon-cache gettext upstream-version-is-even features_check
REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-photos/gnome-photos_44.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-photos/gnome-photos_44.0.bb
index 066a50e..4b05e52 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-photos/gnome-photos_44.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-photos/gnome-photos_44.0.bb
@@ -24,7 +24,6 @@
RDEPENDS:${PN} = "tracker-miners"
-GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gettext gnome-help features_check
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-screenshot/gnome-screenshot_41.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-screenshot/gnome-screenshot_41.0.bb
index fa7e161..4f82492 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-screenshot/gnome-screenshot_41.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-screenshot/gnome-screenshot_41.0.bb
@@ -6,8 +6,6 @@
SECTION = "x11/gnome"
-GNOMEBASEBUILDCLASS = "meson"
-
inherit features_check gnomebase gettext upstream-version-is-even pkgconfig
SRC_URI += " file://0001-meson-remove-extraneous-positional-argument.patch"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session_45.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session_45.0.bb
index ec5b47b..c5e27af 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session_45.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session_45.0.bb
@@ -16,7 +16,6 @@
json-glib \
"
-GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gettext gsettings upstream-version-is-even features_check
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_45.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_45.0.bb
index 16b7f23..90df8bb 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_45.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_45.0.bb
@@ -2,7 +2,6 @@
LICENSE = "LGPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gsettings gobject-introspection gettext features_check upstream-version-is-even
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell-extensions_44.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell-extensions_44.1.bb
deleted file mode 100644
index 126e5ef..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell-extensions_44.1.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "GNOME Shell Extensions"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4cb3a392cbf81a9e685ec13b88c4c101"
-
-GNOMEBASEBUILDCLASS = "meson"
-
-inherit gnomebase gettext gsettings features_check
-
-REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam gobject-introspection-data"
-
-SRC_URI[archive.sha256sum] = "8c345e72f31a1e37f55063e0b15997301b01194ed698772fd87aeb50cbb101ab"
-
-EXTRA_OEMESON += " \
- -Dextension_set=all \
- -Dclassic_mode=true \
-"
-
-RDEPENDS:${PN} += "gnome-shell"
-
-FILES:${PN} += " \
- ${datadir}/gnome-shell \
- ${datadir}/gnome-session \
- ${datadir}/wayland-sessions \
- ${datadir}/xsessions \
-"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell-extensions_45.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell-extensions_45.1.bb
new file mode 100644
index 0000000..cfc01c7
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell-extensions_45.1.bb
@@ -0,0 +1,23 @@
+SUMMARY = "GNOME Shell Extensions"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4cb3a392cbf81a9e685ec13b88c4c101"
+
+inherit gnomebase gettext gsettings features_check
+
+REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam gobject-introspection-data"
+
+SRC_URI[archive.sha256sum] = "242e15a0c06e820c3fd8dd6aeac1a8ef865ce58882e5975af1d65934bb4d4261"
+
+EXTRA_OEMESON += " \
+ -Dextension_set=all \
+ -Dclassic_mode=true \
+"
+
+RDEPENDS:${PN} += "gnome-shell"
+
+FILES:${PN} += " \
+ ${datadir}/gnome-shell \
+ ${datadir}/gnome-session \
+ ${datadir}/wayland-sessions \
+ ${datadir}/xsessions \
+"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_45.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_45.0.bb
deleted file mode 100644
index 66c05a1..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_45.0.bb
+++ /dev/null
@@ -1,86 +0,0 @@
-SUMMARY = "GNOME Shell is the graphical shell of the GNOME desktop environment"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-GNOMEBASEBUILDCLASS = "meson"
-
-DEPENDS = " \
- libxml2-native \
- gtk4 \
- mutter \
- evolution-data-server \
- gcr \
- geocode-glib \
- gjs \
- gnome-autoar \
- polkit \
- libcroco \
- libsoup-3.0 \
- ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', 'startup-notification', d)} \
- ibus \
- gsettings-desktop-schemas \
-"
-
-inherit gnomebase gsettings gettext gobject-introspection gtk-icon-cache features_check bash-completion
-
-REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam"
-
-GTKIC_VERSION = "4"
-GTKDOC_MESON_OPTION = "gtk_doc"
-GIR_MESON_OPTION = ""
-
-# gobject-introspection is mandatory and cannot be configured
-REQUIRED_DISTRO_FEATURES += "gobject-introspection-data"
-
-SRC_URI[archive.sha256sum] = "3cabe40bdd4e379c7082b39ffa45b8bef5c9cf86408fb0d836e1571c443217cd"
-SRC_URI += "file://0001-Introduce-options-gjs_path-to-optionally-set-path-to.patch"
-
-PACKAGECONFIG ??= "bluetooth nm ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PACKAGECONFIG[bluetooth] = ",,gnome-bluetooth"
-PACKAGECONFIG[nm] = "-Dnetworkmanager=true, -Dnetworkmanager=false,networkmanager,networkmanager"
-PACKAGECONFIG[systemd] = "-Dsystemd=true, -Dsystemd=false, systemd"
-
-EXTRA_OEMESON = " \
- -Dgjs_path=${bindir}/gjs \
- -Dextensions-app:gjs_path=${bindir}/gjs \
- -Dtests=false \
- -Dman=false \
-"
-
-do_install:append() {
- # fix shebangs
- for tool in `find ${D}${bindir} -name '*-tool'`; do
- sed -i 's:#!${PYTHON}:#!${bindir}/${PYTHON_PN}:' $tool
- done
-}
-
-GSETTINGS_PACKAGE = "${PN}-gsettings"
-
-FILES:${PN} += " \
- ${datadir}/metainfo \
- ${datadir}/dbus-1 \
- ${datadir}/gnome-control-center \
- ${datadir}/xdg-desktop-portal \
- ${systemd_user_unitdir} \
-"
-
-RDEPENDS:${PN} += " \
- accountsservice \
- adwaita-icon-theme \
- adwaita-icon-theme-cursors \
- gdm-base \
- gnome-control-center \
- gnome-backgrounds \
- gnome-bluetooth \
- gnome-desktop \
- gnome-session \
- gnome-settings-daemon \
- gnome-shell-gsettings \
- gsettings-desktop-schemas \
- librsvg-gtk \
-"
-
-PACKAGES =+ "${PN}-tools ${PN}-gsettings"
-FILES:${PN}-tools = "${bindir}/*-tool"
-RDEPENDS:${PN}-tools = "python3-core"
-
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_45.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_45.1.bb
new file mode 100644
index 0000000..d35437c
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_45.1.bb
@@ -0,0 +1,86 @@
+SUMMARY = "GNOME Shell is the graphical shell of the GNOME desktop environment"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+
+DEPENDS = " \
+ libxml2-native \
+ gtk4 \
+ mutter \
+ evolution-data-server \
+ gcr \
+ geocode-glib \
+ gjs \
+ gnome-autoar \
+ gnome-desktop \
+ polkit \
+ pipewire \
+ libsoup-3.0 \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', 'startup-notification', d)} \
+ ibus \
+ gsettings-desktop-schemas \
+"
+
+inherit gnomebase gsettings gettext gobject-introspection gtk-icon-cache features_check bash-completion
+
+REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam"
+
+GTKIC_VERSION = "4"
+GTKDOC_MESON_OPTION = "gtk_doc"
+GIR_MESON_OPTION = ""
+
+# gobject-introspection is mandatory and cannot be configured
+REQUIRED_DISTRO_FEATURES += "gobject-introspection-data"
+
+SRC_URI[archive.sha256sum] = "15fca4bd6129a8b3f990197fbd1ee58d74b641510afaaf0882a7fa36634fc5f2"
+SRC_URI += "file://0001-Introduce-options-gjs_path-to-optionally-set-path-to.patch"
+
+PACKAGECONFIG ??= "bluetooth nm ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[bluetooth] = ",,gnome-bluetooth"
+PACKAGECONFIG[nm] = "-Dnetworkmanager=true, -Dnetworkmanager=false,networkmanager libsecret,networkmanager"
+PACKAGECONFIG[systemd] = "-Dsystemd=true, -Dsystemd=false, systemd"
+
+EXTRA_OEMESON = " \
+ -Dgjs_path=${bindir}/gjs \
+ -Dextensions-app:gjs_path=${bindir}/gjs \
+ -Dtests=false \
+ -Dman=false \
+"
+
+do_install:append() {
+ # fix shebangs
+ for tool in `find ${D}${bindir} -name '*-tool'`; do
+ sed -i 's:#!${PYTHON}:#!${bindir}/${PYTHON_PN}:' $tool
+ done
+}
+
+GSETTINGS_PACKAGE = "${PN}-gsettings"
+
+FILES:${PN} += " \
+ ${datadir}/metainfo \
+ ${datadir}/dbus-1 \
+ ${datadir}/gnome-control-center \
+ ${datadir}/xdg-desktop-portal \
+ ${systemd_user_unitdir} \
+"
+
+RDEPENDS:${PN} += " \
+ accountsservice \
+ adwaita-icon-theme \
+ adwaita-icon-theme-cursors \
+ gdm-base \
+ gnome-control-center \
+ gnome-backgrounds \
+ gnome-bluetooth \
+ gnome-desktop \
+ gnome-session \
+ gnome-settings-daemon \
+ gnome-shell-gsettings \
+ gsettings-desktop-schemas \
+ librsvg-gtk \
+"
+
+PACKAGES =+ "${PN}-tools ${PN}-gsettings"
+FILES:${PN}-tools = "${bindir}/*-tool"
+RDEPENDS:${PN}-tools = "python3-core"
+
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-software/gnome-software_45.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-software/gnome-software_45.0.bb
deleted file mode 100644
index 89a6f05..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-software/gnome-software_45.0.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-SUMMARY = "GNOME Software allows users to easily find, discover and install apps."
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-GNOMEBASEBUILDCLASS = "meson"
-GTKDOC_MESON_OPTION ?= "gtk_doc"
-
-inherit gnomebase gsettings itstool gnome-help gtk-icon-cache gtk-doc mime mime-xdg gettext upstream-version-is-even features_check
-
-REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam"
-
-DEPENDS += " \
- appstream \
- gdk-pixbuf \
- glib-2.0 \
- glib-2.0-native \
- gsettings-desktop-schemas \
- gtk4 \
- iso-codes \
- json-glib \
- libadwaita \
- libgudev \
- libsoup-3.0 \
- libxmlb-native \
- polkit \
-"
-
-RDEPENDS:${PN} = "iso-codes"
-
-EXTRA_OEMESON += "-Dtests=false -Dsoup2=false"
-
-SRC_URI[archive.sha256sum] = "61f42c2fd4d19b894a2484f691369032dc8b2a32a014ce6ca4d02c4fa4f75a14"
-
-PACKAGECONFIG ?= "flatpak"
-PACKAGECONFIG[flatpak] = "-Dflatpak=true,-Dflatpak=false,flatpak ostree"
-PACKAGECONFIG[snap] = "-Dsnap=true,-Dsnap=false,snapd-glib"
-PACKAGECONFIG[gtk_doc] = "-Dgtk_doc=true,-Dgtk_doc=false,libxslt-native docbook-xsl-stylesheets"
-PACKAGECONFIG[man] = "-Dman=true,-Dman=false,libxslt-native docbook-xsl-stylesheets"
-PACKAGECONFIG[packagekit] = "-Dpackagekit=true,-Dpackagekit=false,gnome-packagekit,gnome-packagekit"
-PACKAGECONFIG[fwupd] = "-Dfwupd=true,-Dfwupd=false,fwupd,fwupd"
-PACKAGECONFIG[malcontent] = "-Dmalcontent=true,-Dmalcontent=false,malcontent"
-
-FILES:${PN} += "${datadir}"
-FILES:${PN}-dev += "${libdir}/gnome-software/libgnomesoftware.so"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-software/gnome-software_45.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-software/gnome-software_45.1.bb
new file mode 100644
index 0000000..f363a2b
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-software/gnome-software_45.1.bb
@@ -0,0 +1,43 @@
+SUMMARY = "GNOME Software allows users to easily find, discover and install apps."
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+GTKDOC_MESON_OPTION ?= "gtk_doc"
+
+inherit gnomebase gsettings itstool gnome-help gtk-icon-cache gtk-doc mime mime-xdg gettext upstream-version-is-even features_check
+
+REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam"
+
+DEPENDS += " \
+ appstream \
+ gdk-pixbuf \
+ glib-2.0 \
+ glib-2.0-native \
+ gsettings-desktop-schemas \
+ gtk4 \
+ iso-codes \
+ json-glib \
+ libadwaita \
+ libgudev \
+ libsoup-3.0 \
+ libxmlb-native \
+ polkit \
+"
+
+RDEPENDS:${PN} = "iso-codes"
+
+EXTRA_OEMESON += "-Dtests=false -Dsoup2=false"
+
+SRC_URI[archive.sha256sum] = "d72485f7a6e0917f64edbedd68fd7b57246c6ebf10c5a45108b63946635778a2"
+
+PACKAGECONFIG ?= "flatpak"
+PACKAGECONFIG[flatpak] = "-Dflatpak=true,-Dflatpak=false,flatpak ostree"
+PACKAGECONFIG[snap] = "-Dsnap=true,-Dsnap=false,snapd-glib"
+PACKAGECONFIG[gtk_doc] = "-Dgtk_doc=true,-Dgtk_doc=false,libxslt-native docbook-xsl-stylesheets"
+PACKAGECONFIG[man] = "-Dman=true,-Dman=false,libxslt-native docbook-xsl-stylesheets"
+PACKAGECONFIG[packagekit] = "-Dpackagekit=true,-Dpackagekit=false,gnome-packagekit,gnome-packagekit"
+PACKAGECONFIG[fwupd] = "-Dfwupd=true,-Dfwupd=false,fwupd,fwupd"
+PACKAGECONFIG[malcontent] = "-Dmalcontent=true,-Dmalcontent=false,malcontent"
+
+FILES:${PN} += "${datadir}"
+FILES:${PN}-dev += "${libdir}/gnome-software/libgnomesoftware.so"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_45.0.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_45.0.1.bb
index c8130d2..b90bbb8 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_45.0.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_45.0.1.bb
@@ -13,7 +13,6 @@
libhandy \
"
-GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gsettings gnome-help itstool gtk-icon-cache features_check gettext
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal_3.48.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal_3.48.1.bb
deleted file mode 100644
index 13b440d..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal_3.48.1.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-SUMMARY = "GNOME terminal"
-LICENSE = "GPL-3.0-only & GFDL-1.3"
-LIC_FILES_CHKSUM = " \
- file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949 \
- file://COPYING.GFDL;md5=a22d0be1ce2284b67950a4d1673dd1b0 \
-"
-
-GNOMEBASEBUILDCLASS = "meson"
-
-inherit pkgconfig meson gsettings gnome-help gettext itstool upstream-version-is-even
-
-DEPENDS = " \
- glib-2.0 \
- docbook-xsl-stylesheets-native libxslt-native \
- desktop-file-utils-native \
- gtk+3 \
- gsettings-desktop-schemas \
- vte \
- dconf \
- libpcre2 \
-"
-
-SRC_URI = "git://gitlab.gnome.org/GNOME/gnome-terminal.git;protocol=https;nobranch=1 \
- file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch \
- "
-SRCREV = "1446ff0abc478bdd03c6665b718214d075729024"
-S = "${WORKDIR}/git"
-
-PACKAGECONFIG ?= ""
-PACKAGECONFIG[nautilus] = "-Dnautilus_extension=true,-Dnautilus_extension=false,nautilus,nautilus"
-PACKAGECONFIG[search_provider] = "-Dsearch_provider=true,-Dsearch_provider=false,,gnome-shell"
-
-FILES:${PN} += " \
- ${datadir} \
- ${libdir}/nautilus/extensions-4 \
- ${systemd_user_unitdir} \
-"
-
-RRECOMMENDS:${PN} += "vte-prompt gsettings-desktop-schemas"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal_3.50.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal_3.50.1.bb
new file mode 100644
index 0000000..014b329
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal_3.50.1.bb
@@ -0,0 +1,38 @@
+SUMMARY = "GNOME terminal"
+LICENSE = "GPL-3.0-only & GFDL-1.3"
+LIC_FILES_CHKSUM = " \
+ file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949 \
+ file://COPYING.GFDL;md5=a22d0be1ce2284b67950a4d1673dd1b0 \
+"
+
+inherit gnomebase pkgconfig gsettings gnome-help gettext itstool upstream-version-is-even
+
+DEPENDS = " \
+ glib-2.0 \
+ docbook-xsl-stylesheets-native libxslt-native \
+ desktop-file-utils-native \
+ gtk+3 \
+ gsettings-desktop-schemas \
+ vte9 \
+ dconf \
+ libhandy \
+ libpcre2 \
+"
+
+SRC_URI = "git://gitlab.gnome.org/GNOME/gnome-terminal.git;protocol=https;nobranch=1 \
+ file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch \
+ "
+SRCREV = "5ac3b8e4bd6fa02651b3c23cedb0a7e1cd769655"
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[nautilus] = "-Dnautilus_extension=true,-Dnautilus_extension=false,nautilus,nautilus"
+PACKAGECONFIG[search_provider] = "-Dsearch_provider=true,-Dsearch_provider=false,,gnome-shell"
+
+FILES:${PN} += " \
+ ${datadir} \
+ ${libdir}/nautilus/extensions-4 \
+ ${systemd_user_unitdir} \
+"
+
+RRECOMMENDS:${PN} += "gsettings-desktop-schemas"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-text-editor/gnome-text-editor_45.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-text-editor/gnome-text-editor_45.0.bb
deleted file mode 100644
index 52bb92e..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-text-editor/gnome-text-editor_45.0.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "A simple text editor"
-LICENSE = "GPL-3.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a"
-
-GNOMEBASEBUILDCLASS = "meson"
-
-DEPENDS = " \
- desktop-file-utils-native \
- libadwaita \
- gtk4 \
- gtksourceview5 \
- editorconfig-core-c \
- enchant2 \
-"
-
-GTKIC_VERSION = "4"
-
-inherit gnomebase gtk-icon-cache itstool gnome-help mime-xdg features_check
-
-REQUIRED_DISTRO_FEATURES = "opengl"
-
-SRC_URI[archive.sha256sum] = "47b3fbe4900eb204413d9af3ae8e0ecd06728d2ac15d02b1a050d02d47226bc1"
-
-FILES:${PN} += " \
- ${datadir}/metainfo \
- ${datadir}/dbus-1 \
-"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-text-editor/gnome-text-editor_45.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-text-editor/gnome-text-editor_45.1.bb
new file mode 100644
index 0000000..2d310bd
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-text-editor/gnome-text-editor_45.1.bb
@@ -0,0 +1,26 @@
+SUMMARY = "A simple text editor"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a"
+
+
+DEPENDS = " \
+ desktop-file-utils-native \
+ libadwaita \
+ gtk4 \
+ gtksourceview5 \
+ editorconfig-core-c \
+ enchant2 \
+"
+
+GTKIC_VERSION = "4"
+
+inherit gnomebase gtk-icon-cache itstool gnome-help mime-xdg features_check
+
+REQUIRED_DISTRO_FEATURES = "opengl"
+
+SRC_URI[archive.sha256sum] = "6a86ec9920f466b6ed92695524d3b507b1e84272dafa5341d06a157de868af71"
+
+FILES:${PN} += " \
+ ${datadir}/metainfo \
+ ${datadir}/dbus-1 \
+"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-tweaks/gnome-tweaks_40.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-tweaks/gnome-tweaks_40.0.bb
index ffdf2c9..a8d6a2a 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-tweaks/gnome-tweaks_40.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-tweaks/gnome-tweaks_40.0.bb
@@ -7,7 +7,6 @@
DEPENDS = "libhandy"
-GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gtk-icon-cache gobject-introspection features_check
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo-plugins_0.3.16.bb b/meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo-plugins_0.3.16.bb
index 91cbe82..4060399 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo-plugins_0.3.16.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo-plugins_0.3.16.bb
@@ -11,7 +11,6 @@
liboauth \
"
-GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gnome-help vala
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo_0.3.16.bb b/meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo_0.3.16.bb
index e86f75f..14e1ca9 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo_0.3.16.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo_0.3.16.bb
@@ -7,7 +7,6 @@
glib-2.0 \
"
-GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gobject-introspection gtk-doc gettext vala
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gsound/gsound_1.0.3.bb b/meta-openembedded/meta-gnome/recipes-gnome/gsound/gsound_1.0.3.bb
index bdef603..6a50c22 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gsound/gsound_1.0.3.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gsound/gsound_1.0.3.bb
@@ -7,7 +7,8 @@
libcanberra \
"
-GNOMEBASEBUILDCLASS = "meson"
+
+VALA_MESON_OPTION = "enable_vala"
inherit gnomebase gettext gobject-introspection vala
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.12.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.12.2.bb
index 389f2fd..67e6491 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.12.2.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.12.2.bb
@@ -5,6 +5,7 @@
DEPENDS = "gtk+3 iso-codes enchant2"
+GNOMEBASEBUILDCLASS = "autotools"
inherit gnomebase gettext gobject-introspection vala
SRC_URI[archive.sha256sum] = "b4e993bd827e4ceb6a770b1b5e8950fce3be9c8b2b0cbeb22fdf992808dd2139"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb_3.12.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb_3.12.2.bb
index 92152ac..ecf8f6a 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb_3.12.2.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb_3.12.2.bb
@@ -2,7 +2,6 @@
LICENSE="GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-GNOMEBASEBUILDCLASS = "meson"
REQUIRED_DISTRO_FEATURES = "polkit gobject-introspection-data"
@@ -24,6 +23,7 @@
libsecret \
"
+GNOMEBASEBUILDCLASS = "autotools"
inherit features_check gnomebase gnome-help gsettings itstool mime-xdg
SRC_URI[archive.sha256sum] = "97f8afe522535216541ebbf1e3b546d12a6beb38a8f0eb85f26e676934aad425"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.11.bb b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.11.bb
index 1e5652d..75f199b 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.11.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.11.bb
@@ -10,6 +10,7 @@
S = "${WORKDIR}/${PNAME}-${PV}"
+GNOMEBASEBUILDCLASS = "autotools"
inherit gnomebase lib_package gettext features_check gtk-doc gobject-introspection upstream-version-is-even
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview4_4.8.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview4_4.8.2.bb
deleted file mode 100644
index 979da79..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview4_4.8.2.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "Portable C library for multiline text editing"
-HOMEPAGE = "http://projects.gnome.org/gtksourceview/"
-
-LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
-
-DEPENDS = "gtk+3 libxml2 intltool-native gnome-common-native glib-2.0-native"
-
-PNAME = "gtksourceview"
-
-S = "${WORKDIR}/${PNAME}-${PV}"
-
-GNOMEBASEBUILDCLASS = "meson"
-
-inherit gnomebase lib_package gettext features_check gtk-doc gobject-introspection vala
-
-ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
-
-SRC_URI = "https://download.gnome.org/sources/gtksourceview/4.8/${PNAME}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "842de7e5cb52000fd810e4be39cd9fe29ffa87477f15da85c18f7b82d45637cc"
-
-GIR_MESON_OPTION = 'gir'
-GTKDOC_MESON_OPTION = "gtk_doc"
-
-# Override the definition in meson.bbclass. The dependencies in mason.build are incomplete
-# and the recipe will not build with "-j 1". This fix is benign but should be reviewed when
-# updating versions.
-#
-meson_do_compile() {
- bbnote "========== generating gtksourceview-gresources.h ========"
- bbnote "PARALLEL_MAKE is ${PARALLEL_MAKE}"
- ninja ${PARALLEL_MAKE} gtksourceview/gtksourceview-gresources.h
- bbnote "========== compiling target all ========"
- ninja ${PARALLEL_MAKE}
-}
-
-FILES:${PN} += "${datadir}/gtksourceview-4"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview4_4.8.4.bb b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview4_4.8.4.bb
new file mode 100644
index 0000000..6acd003
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview4_4.8.4.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Portable C library for multiline text editing"
+HOMEPAGE = "http://projects.gnome.org/gtksourceview/"
+
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
+
+DEPENDS = "gtk+3 libxml2 intltool-native gnome-common-native glib-2.0-native"
+
+PNAME = "gtksourceview"
+
+S = "${WORKDIR}/${PNAME}-${PV}"
+
+
+inherit gnomebase lib_package gettext features_check gtk-doc gobject-introspection vala
+
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+
+SRC_URI = "https://download.gnome.org/sources/gtksourceview/4.8/${PNAME}-${PV}.tar.xz"
+SRC_URI[sha256sum] = "7ec9d18fb283d1f84a3a3eff3b7a72b09a10c9c006597b3fbabbb5958420a87d"
+
+GIR_MESON_OPTION = 'gir'
+GTKDOC_MESON_OPTION = "gtk_doc"
+
+# Override the definition in meson.bbclass. The dependencies in mason.build are incomplete
+# and the recipe will not build with "-j 1". This fix is benign but should be reviewed when
+# updating versions.
+#
+meson_do_compile() {
+ bbnote "========== generating gtksourceview-gresources.h ========"
+ bbnote "PARALLEL_MAKE is ${PARALLEL_MAKE}"
+ ninja ${PARALLEL_MAKE} gtksourceview/gtksourceview-gresources.h
+ bbnote "========== compiling target all ========"
+ ninja ${PARALLEL_MAKE}
+}
+
+FILES:${PN} += "${datadir}/gtksourceview-4"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.10.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.10.0.bb
new file mode 100644
index 0000000..f43fe2c
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.10.0.bb
@@ -0,0 +1,37 @@
+SUMMARY = "Portable C library for multiline text editing"
+HOMEPAGE = "http://projects.gnome.org/gtksourceview/"
+
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
+
+DEPENDS = " \
+ fribidi \
+ glib-2.0-native \
+ gnome-common-native \
+ fontconfig \
+ gtk4 \
+ libxml2 \
+ libpcre2 \
+ pango \
+"
+
+PNAME = "gtksourceview"
+
+S = "${WORKDIR}/${PNAME}-${PV}"
+
+
+inherit gnomebase lib_package gettext features_check gi-docgen gtk-icon-cache gobject-introspection vala
+
+REQUIRED_DISTRO_FEATURES = "opengl"
+
+SRC_URI = "https://download.gnome.org/sources/gtksourceview/5.10/${PNAME}-${PV}.tar.xz"
+SRC_URI[sha256sum] = "b38a3010c34f59e13b05175e9d20ca02a3110443fec2b1e5747413801bc9c23f"
+
+GIR_MESON_ENABLE_FLAG = 'enabled'
+GIR_MESON_DISABLE_FLAG = 'disabled'
+GTKDOC_MESON_OPTION = "gtk_doc"
+
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'vulkan', d)}"
+PACKAGECONFIG[vulkan] = ",,vulkan-loader vulkan-headers"
+
+FILES:${PN} += "${datadir}/gtksourceview-5"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.7.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.7.1.bb
deleted file mode 100644
index 4eaecbf..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.7.1.bb
+++ /dev/null
@@ -1,38 +0,0 @@
-SUMMARY = "Portable C library for multiline text editing"
-HOMEPAGE = "http://projects.gnome.org/gtksourceview/"
-
-LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
-
-DEPENDS = " \
- fribidi \
- glib-2.0-native \
- gnome-common-native \
- fontconfig \
- gtk4 \
- libxml2 \
- libpcre2 \
- pango \
-"
-
-PNAME = "gtksourceview"
-
-S = "${WORKDIR}/${PNAME}-${PV}"
-
-GNOMEBASEBUILDCLASS = "meson"
-
-inherit gnomebase lib_package gettext features_check gi-docgen gtk-icon-cache gobject-introspection vala
-
-REQUIRED_DISTRO_FEATURES = "opengl"
-
-SRC_URI = "https://download.gnome.org/sources/gtksourceview/5.7/${PNAME}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "3b42541964db9c2fa50a9658d4886bdf77d023fe4e96c5b17bce51c9f58c48e6"
-
-GIR_MESON_ENABLE_FLAG = 'enabled'
-GIR_MESON_DISABLE_FLAG = 'disabled'
-GTKDOC_MESON_OPTION = "gtk_doc"
-
-PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'vulkan', d)}"
-PACKAGECONFIG[vulkan] = ",,vulkan-loader vulkan-headers"
-
-FILES:${PN} += "${datadir}/gtksourceview-5"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.52.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.52.0.bb
deleted file mode 100644
index d5103d8..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.52.0.bb
+++ /dev/null
@@ -1,97 +0,0 @@
-DESCRIPTION = "gvfs is a userspace virtual filesystem"
-LICENSE = "LGPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=05df38dd77c35ec8431f212410a3329e"
-
-GNOMEBASEBUILDCLASS = "meson"
-inherit gnomebase gsettings bash-completion gettext upstream-version-is-even features_check useradd
-
-DEPENDS += "\
- dbus \
- glib-2.0 \
- glib-2.0-native \
- gsettings-desktop-schemas \
- libgudev \
- libsecret \
- libxml2 \
- shadow-native \
-"
-
-RDEPENDS:${PN} += "gsettings-desktop-schemas"
-
-SRC_URI = "https://download.gnome.org/sources/${BPN}/${@gnome_verdir("${PV}")}/${BPN}-${PV}.tar.xz;name=archive"
-
-SRC_URI[archive.sha256sum] = "e40e2035a40bc51ce9e88eed05b025596e40bb4aaf9bc632d12ce74fdb30b1f6"
-
-ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
-
-EXTRA_OEMESON = " \
- -Dbluray=false \
-"
-
-PACKAGES =+ "gvfsd-ftp gvfsd-sftp gvfsd-trash"
-
-FILES:${PN} += " \
- ${datadir}/glib-2.0 \
- ${datadir}/GConf \
- ${datadir}/dbus-1/services \
- ${libdir}/gio/modules/*.so \
- ${libdir}/tmpfiles.d \
- ${systemd_user_unitdir} \
-"
-
-FILES:${PN}-dbg += "${libdir}/gio/modules/.debug/*"
-FILES:${PN}-dev += "${libdir}/gio/modules/*.la"
-
-FILES:gvfsd-ftp = "${libexecdir}/gvfsd-ftp ${datadir}/gvfs/mounts/ftp.mount"
-FILES:gvfsd-sftp = "${libexecdir}/gvfsd-sftp ${datadir}/gvfs/mounts/sftp.mount"
-FILES:gvfsd-trash = "${libexecdir}/gvfsd-trash ${datadir}/gvfs/mounts/trash.mount"
-
-RRECOMMENDS:gvfsd-ftp += "openssh-sftp openssh-ssh"
-
-PACKAGECONFIG ?= "libgphoto2 \
- ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES','polkit','udisks2','',d)} \
- ${@bb.utils.contains('DISTRO_FEATURES','polkit','admin','',d)} \
- "
-
-PACKAGECONFIG[udisks2] = "-Dudisks2=true, -Dudisks2=false, udisks2, udisks2"
-PACKAGECONFIG[admin] = "-Dadmin=true, -Dadmin=false, libcap polkit"
-PACKAGECONFIG[afc] = "-Dafc=true, -Dafc=false, libimobiledevice libplist"
-PACKAGECONFIG[archive] = "-Darchive=true, -Darchive=false, libarchive"
-PACKAGECONFIG[dnssd] = "-Ddnssd=true, -Ddnssd=false, avahi"
-PACKAGECONFIG[gcr] = "-Dgcr=true, -Dgcr=false, gcr3, gnome-keyring"
-PACKAGECONFIG[gcrypt] = "-Dgcrypt=true, -Dgcrypt=false, libgcrypt"
-PACKAGECONFIG[goa] = "-Dgoa=true, -Dgoa=false, gnome-online-accounts"
-PACKAGECONFIG[google] = "-Dgoogle=true, -Dgoogle=false, libgdata"
-PACKAGECONFIG[http] = "-Dhttp=true, -Dhttp=false, libsoup-3.0"
-PACKAGECONFIG[libmtp] = "-Dmtp=true, -Dmtp=false, libmtp"
-PACKAGECONFIG[logind] = "-Dlogind=true, -Dlogind=false, systemd"
-PACKAGECONFIG[libgphoto2] = "-Dgphoto2=true, -Dgphoto2=false, libgphoto2"
-PACKAGECONFIG[nfs] = "-Dnfs=true, -Dnfs=false,libnfs"
-PACKAGECONFIG[samba] = "-Dsmb=true, -Dsmb=false, samba"
-PACKAGECONFIG[systemd] = "-Dsystemduserunitdir=${systemd_user_unitdir} -Dtmpfilesdir=${libdir}/tmpfiles.d, -Dsystemduserunitdir=no -Dtmpfilesdir=no, systemd"
-
-# needs meta-filesystems
-PACKAGECONFIG[fuse] = "-Dfuse=true, -Dfuse=false, fuse3"
-
-# libcdio-paranoia recipe doesn't exist yet
-PACKAGECONFIG[cdda] = "-Dcdda=true, -Dcdda=false, libcdio-paranoia"
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM:${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd"
-
-do_install:append() {
- if ${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'true', 'false', d)}; then
- # Fix up permissions on polkit rules.d to work with rpm4 constraints
- chmod 700 ${D}${datadir}/polkit-1/rules.d
- chown polkitd:root ${D}${datadir}/polkit-1/rules.d
- fi
-
- # After rebuilds (not from scracth) it can happen that the executables in
- # libexec ar missing executable permission flag. Not sure but it came up
- # during transition to meson. Looked into build files and logs but could
- # not find suspicious
- for exe in `find ${D}/${libexecdir}`; do
- chmod +x $exe
- done
-}
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.52.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.52.1.bb
new file mode 100644
index 0000000..627b499
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.52.1.bb
@@ -0,0 +1,96 @@
+DESCRIPTION = "gvfs is a userspace virtual filesystem"
+LICENSE = "LGPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=05df38dd77c35ec8431f212410a3329e"
+
+inherit gnomebase gsettings bash-completion gettext upstream-version-is-even features_check useradd
+
+DEPENDS += "\
+ dbus \
+ glib-2.0 \
+ glib-2.0-native \
+ gsettings-desktop-schemas \
+ libgudev \
+ libsecret \
+ libxml2 \
+ shadow-native \
+"
+
+RDEPENDS:${PN} += "gsettings-desktop-schemas"
+
+SRC_URI = "https://download.gnome.org/sources/${BPN}/${@gnome_verdir("${PV}")}/${BPN}-${PV}.tar.xz;name=archive"
+
+SRC_URI[archive.sha256sum] = "cdbd4440f6d08792a6e7521244c17386e20bd537d375117099fc8fb68fe91741"
+
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+
+EXTRA_OEMESON = " \
+ -Dbluray=false \
+"
+
+PACKAGES =+ "gvfsd-ftp gvfsd-sftp gvfsd-trash"
+
+FILES:${PN} += " \
+ ${datadir}/glib-2.0 \
+ ${datadir}/GConf \
+ ${datadir}/dbus-1/services \
+ ${libdir}/gio/modules/*.so \
+ ${libdir}/tmpfiles.d \
+ ${systemd_user_unitdir} \
+"
+
+FILES:${PN}-dbg += "${libdir}/gio/modules/.debug/*"
+FILES:${PN}-dev += "${libdir}/gio/modules/*.la"
+
+FILES:gvfsd-ftp = "${libexecdir}/gvfsd-ftp ${datadir}/gvfs/mounts/ftp.mount"
+FILES:gvfsd-sftp = "${libexecdir}/gvfsd-sftp ${datadir}/gvfs/mounts/sftp.mount"
+FILES:gvfsd-trash = "${libexecdir}/gvfsd-trash ${datadir}/gvfs/mounts/trash.mount"
+
+RRECOMMENDS:gvfsd-ftp += "openssh-sftp openssh-ssh"
+
+PACKAGECONFIG ?= "libgphoto2 \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES','polkit','udisks2','',d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES','polkit','admin','',d)} \
+ "
+
+PACKAGECONFIG[udisks2] = "-Dudisks2=true, -Dudisks2=false, udisks2, udisks2"
+PACKAGECONFIG[admin] = "-Dadmin=true, -Dadmin=false, libcap polkit"
+PACKAGECONFIG[afc] = "-Dafc=true, -Dafc=false, libimobiledevice libplist"
+PACKAGECONFIG[archive] = "-Darchive=true, -Darchive=false, libarchive"
+PACKAGECONFIG[dnssd] = "-Ddnssd=true, -Ddnssd=false, avahi"
+PACKAGECONFIG[gcr] = "-Dgcr=true, -Dgcr=false, gcr3, gnome-keyring"
+PACKAGECONFIG[gcrypt] = "-Dgcrypt=true, -Dgcrypt=false, libgcrypt"
+PACKAGECONFIG[goa] = "-Dgoa=true, -Dgoa=false, gnome-online-accounts"
+PACKAGECONFIG[google] = "-Dgoogle=true, -Dgoogle=false, libgdata"
+PACKAGECONFIG[http] = "-Dhttp=true, -Dhttp=false, libsoup-3.0"
+PACKAGECONFIG[libmtp] = "-Dmtp=true, -Dmtp=false, libmtp"
+PACKAGECONFIG[logind] = "-Dlogind=true, -Dlogind=false, systemd"
+PACKAGECONFIG[libgphoto2] = "-Dgphoto2=true, -Dgphoto2=false, libgphoto2"
+PACKAGECONFIG[nfs] = "-Dnfs=true, -Dnfs=false,libnfs"
+PACKAGECONFIG[samba] = "-Dsmb=true, -Dsmb=false, samba"
+PACKAGECONFIG[systemd] = "-Dsystemduserunitdir=${systemd_user_unitdir} -Dtmpfilesdir=${libdir}/tmpfiles.d, -Dsystemduserunitdir=no -Dtmpfilesdir=no, systemd"
+
+# needs meta-filesystems
+PACKAGECONFIG[fuse] = "-Dfuse=true, -Dfuse=false, fuse3"
+
+# libcdio-paranoia recipe doesn't exist yet
+PACKAGECONFIG[cdda] = "-Dcdda=true, -Dcdda=false, libcdio-paranoia"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM:${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd"
+
+do_install:append() {
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'true', 'false', d)}; then
+ # Fix up permissions on polkit rules.d to work with rpm4 constraints
+ chmod 700 ${D}${datadir}/polkit-1/rules.d
+ chown polkitd:root ${D}${datadir}/polkit-1/rules.d
+ fi
+
+ # After rebuilds (not from scracth) it can happen that the executables in
+ # libexec ar missing executable permission flag. Not sure but it came up
+ # during transition to meson. Looked into build files and logs but could
+ # not find suspicious
+ for exe in `find ${D}/${libexecdir}`; do
+ chmod +x $exe
+ done
+}
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libchamplain/libchamplain_0.12.20.bb b/meta-openembedded/meta-gnome/recipes-gnome/libchamplain/libchamplain_0.12.20.bb
deleted file mode 100644
index 859eab9..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/libchamplain/libchamplain_0.12.20.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "libchamplain is a Gtk widget displaying zoomable and pannable maps"
-LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
-DEPENDS = "glib-2.0 gtk+3 gdk-pixbuf clutter-1.0 clutter-gtk-1.0 libsoup-2.4"
-
-inherit features_check gobject-introspection meson pkgconfig
-
-REQUIRED_DISTRO_FEATURES = "opengl"
-
-SRCREV = "145e417f32e507b63c21ad4e915b808a6174099e"
-SRC_URI = "git://github.com/gnome/libchamplain.git;branch=master;protocol=https"
-
-S = "${WORKDIR}/git"
-
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libchamplain/libchamplain_0.12.21.bb b/meta-openembedded/meta-gnome/recipes-gnome/libchamplain/libchamplain_0.12.21.bb
new file mode 100644
index 0000000..a89ab8c
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/libchamplain/libchamplain_0.12.21.bb
@@ -0,0 +1,14 @@
+SUMMARY = "libchamplain is a Gtk widget displaying zoomable and pannable maps"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
+DEPENDS = "glib-2.0 gtk+3 clutter-1.0 clutter-gtk-1.0 libsoup-3.0 cairo sqlite3"
+
+inherit features_check gobject-introspection meson pkgconfig vala
+
+REQUIRED_DISTRO_FEATURES = "opengl"
+
+SRCREV = "941560af497148588783db991e8135f52a82574d"
+SRC_URI = "git://github.com/gnome/libchamplain.git;branch=master;protocol=https"
+
+S = "${WORKDIR}/git"
+
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.18.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.18.1.bb
index 126ef71..15e3d88 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.18.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.18.1.bb
@@ -10,7 +10,6 @@
DEPENDS = "libxml2 glib-2.0 libsoup-2.4 intltool-native liboauth gcr3 json-glib"
GTKDOC_MESON_OPTION = "gtk_doc"
-GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase pkgconfig gettext gtk-doc vala gobject-introspection manpages features_check
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.50.bb b/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.50.bb
deleted file mode 100644
index d2486a0..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.50.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "GNOME Structured File Library"
-LICENSE = "GPL-2.0-only & LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=dc7371b50816c96e145fa0f8ade8e24d \
- file://COPYING.LIB;md5=61464cfe342798eeced82efe9ae55f63"
-
-SECTION = "libs"
-
-DEPENDS= "libxml2 bzip2 glib-2.0 zlib gnome-common-native"
-
-inherit gnomebase gobject-introspection gettext gtk-doc
-
-SRC_URI[archive.sha256sum] = "6e6c20d0778339069d583c0d63759d297e817ea10d0d897ebbe965f16e2e8e52"
-SRC_URI += "file://0001-configure.ac-drop-a-copy-paste-of-introspection.m4-m.patch"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[gdk-pixbuf] = "--with-gdk-pixbuf,--without-gdk-pixbuf,gdk-pixbuf"
-
-EXTRA_OECONF = "\
- --with-bz2 \
-"
-
-FILES:${PN} += "${datadir}/thumbnailers"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.51.bb b/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.51.bb
new file mode 100644
index 0000000..a549915
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.51.bb
@@ -0,0 +1,22 @@
+SUMMARY = "GNOME Structured File Library"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=61464cfe342798eeced82efe9ae55f63"
+
+SECTION = "libs"
+
+DEPENDS= "libxml2 bzip2 glib-2.0 zlib gnome-common-native"
+
+GNOMEBASEBUILDCLASS = "autotools"
+inherit gnomebase gobject-introspection gettext gtk-doc
+
+SRC_URI[archive.sha256sum] = "f0b83251f98b0fd5592b11895910cc0e19f798110b389aba7da1cb7c474017f5"
+SRC_URI += "file://0001-configure.ac-drop-a-copy-paste-of-introspection.m4-m.patch"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[gdk-pixbuf] = "--with-gdk-pixbuf,--without-gdk-pixbuf,gdk-pixbuf"
+
+EXTRA_OECONF = "\
+ --with-bz2 \
+"
+
+FILES:${PN} += "${datadir}/thumbnailers"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.41.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.41.1.bb
index 9a50b5e..a8483de 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.41.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.41.1.bb
@@ -2,6 +2,7 @@
LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+GNOMEBASEBUILDCLASS = "autotools"
inherit gnomebase lib_package gtk-doc gobject-introspection gettext upstream-version-is-even features_check
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libgweather/libgweather4_4.2.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/libgweather/libgweather4_4.2.0.bb
deleted file mode 100644
index f2ffcfd..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/libgweather/libgweather4_4.2.0.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "A library to access weather information from online services"
-
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-GNOMEBASEBUILDCLASS = "meson"
-GNOMEBN = "libgweather"
-S = "${WORKDIR}/${GNOMEBN}-${PV}"
-
-inherit gnomebase gsettings gobject-introspection gettext gi-docgen vala features_check
-
-REQUIRED_DISTRO_FEATURES = "opengl"
-
-SRC_URI += "file://0001-Allow-building-gir-in-cross-environments.patch"
-SRC_URI[archive.sha256sum] = "af8a812da0d8976a000e1d62572c256086a817323fbf35b066dbfdd8d2ca6203"
-
-GTKDOC_MESON_OPTION = "gtk_doc"
-
-DEPENDS = " \
- geocode-glib \
- gtk4 \
- json-glib \
- libsoup-3.0 \
- python3-pygobject-native \
-"
-
-FILES:${PN} += " \
- ${datadir}/libgweather-4 \
- ${libdir}/libgweather-4 \
-"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libgweather/libgweather4_4.4.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/libgweather/libgweather4_4.4.0.bb
new file mode 100644
index 0000000..c30edd1
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/libgweather/libgweather4_4.4.0.bb
@@ -0,0 +1,30 @@
+SUMMARY = "A library to access weather information from online services"
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+GNOMEBN = "libgweather"
+S = "${WORKDIR}/${GNOMEBN}-${PV}"
+
+inherit gnomebase gsettings gobject-introspection gettext gi-docgen vala features_check
+
+REQUIRED_DISTRO_FEATURES = "opengl"
+
+SRC_URI += "file://0001-Allow-building-gir-in-cross-environments.patch"
+SRC_URI[archive.sha256sum] = "366e866ff2a708b894cfea9475b8e8ff54cb3e2b477ea72a8ade0dabee5f48a4"
+
+GTKDOC_MESON_OPTION = "gtk_doc"
+VALA_MESON_OPTION = "enable_vala"
+
+DEPENDS = " \
+ geocode-glib \
+ gtk4 \
+ json-glib \
+ libsoup-3.0 \
+ python3-pygobject-native \
+"
+
+FILES:${PN} += " \
+ ${datadir}/libgweather-4 \
+ ${libdir}/libgweather-4 \
+"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck3_43.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck3_43.0.bb
index 5b4de32..c7f7989 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck3_43.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck3_43.0.bb
@@ -10,7 +10,6 @@
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
PACKAGECONFIG[x11] = "-Dstartup_notification=enabled,-Dstartup_notification=disabled,startup-notification libxres"
-GNOMEBASEBUILDCLASS = "meson"
GTKDOC_MESON_OPTION = "gtk_doc"
GIR_MESON_ENABLE_FLAG = 'enabled'
GIR_MESON_DISABLE_FLAG = 'disabled'
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck_2.31.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck_2.31.0.bb
index 3abba94..8655aff 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck_2.31.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck_2.31.0.bb
@@ -8,6 +8,7 @@
PACKAGECONFIG ??= "startup-notification"
PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification"
+GNOMEBASEBUILDCLASS = "autotools"
inherit gnomebase gobject-introspection features_check
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.46.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.46.1.bb
deleted file mode 100644
index 3ada651..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.46.1.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-SECTION = "x11/wm"
-SUMMARY = "Metacity is the boring window manager for the adult in you"
-LICENSE = "GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b4cce53560b8e619ffa7c830fb8761aa \
- file://src/include/main.h;endline=24;md5=72148ede07a6dadd01de6a882d20a9ad"
-
-PE = "1"
-
-DEPENDS = " \
- gdk-pixbuf-native \
- gtk+3 \
- gsettings-desktop-schemas \
- startup-notification \
- libcanberra \
- libgtop \
- libxres \
- libxpresent \
-"
-
-
-# depends on startup-notification which depends on virtual/libx11
-REQUIRED_DISTRO_FEATURES = "x11"
-
-inherit gnomebase gsettings gettext upstream-version-is-even features_check
-
-SRC_URI[archive.sha256sum] = "00ba49f7612088f2b3baeca79c45eb2a30423c2e4a7bea4015872beae25dd6c5"
-SRC_URI += "file://0001-drop-zenity-detection.patch"
-
-PACKAGECONFIG[xinerama] = "--enable-xinerama,--disable-xinerama,libxinerama"
-# enable as neccessary until new warnings are dealt with
-PACKAGECONFIG[werror] = "--enable-Werror,--disable-Werror,,"
-
-FILES:${PN} += " \
- ${datadir}/themes \
- ${datadir}/gnome-control-center \
- ${datadir}/gnome\
-"
-
-RDEPENDS:${PN} += "gsettings-desktop-schemas"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.50.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.50.0.bb
new file mode 100644
index 0000000..e6921e6
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.50.0.bb
@@ -0,0 +1,40 @@
+SECTION = "x11/wm"
+SUMMARY = "Metacity is the boring window manager for the adult in you"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b4cce53560b8e619ffa7c830fb8761aa \
+ file://src/include/main.h;endline=24;md5=72148ede07a6dadd01de6a882d20a9ad"
+
+PE = "1"
+
+DEPENDS = " \
+ gdk-pixbuf-native \
+ gtk+3 \
+ gsettings-desktop-schemas \
+ startup-notification \
+ libcanberra \
+ libgtop \
+ libxres \
+ libxpresent \
+"
+
+
+# depends on startup-notification which depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+GNOMEBASEBUILDCLASS = "autotools"
+inherit gnomebase gsettings gettext upstream-version-is-even features_check
+
+SRC_URI[archive.sha256sum] = "18e9b106438d46394e4148bcb83acc6367312be54559cdb564e270c1ccaeb60f"
+SRC_URI += "file://0001-drop-zenity-detection.patch"
+
+PACKAGECONFIG[xinerama] = "--enable-xinerama,--disable-xinerama,libxinerama"
+# enable as neccessary until new warnings are dealt with
+PACKAGECONFIG[werror] = "--enable-Werror,--disable-Werror,,"
+
+FILES:${PN} += " \
+ ${datadir}/themes \
+ ${datadir}/gnome-control-center \
+ ${datadir}/gnome\
+"
+
+RDEPENDS:${PN} += "gsettings-desktop-schemas"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_45.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_45.0.bb
deleted file mode 100644
index 87d61c2..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_45.0.bb
+++ /dev/null
@@ -1,107 +0,0 @@
-SUMMARY = "Window and compositing manager based on Clutter"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-DEPENDS = " \
- xserver-xorg-cvt-native \
- wayland-native \
- virtual/libx11 \
- graphene \
- gtk4 \
- gdk-pixbuf \
- cairo \
- pango \
- gsettings-desktop-schemas \
- json-glib \
- gnome-desktop \
- gnome-settings-daemon \
- libei \
- libxtst \
- libxkbfile \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xinerama', '', d)} \
- xwayland \
-"
-
-GNOMEBASEBUILDCLASS = "meson"
-
-inherit gnomebase gsettings gobject-introspection gettext features_check
-
-SRC_URI[archive.sha256sum] = "8fbc963019eda9ba52fca2f6c4c477efbc6e36eb4fa93f23174f02ff6b907715"
-
-# x11 is still manadatory - see meson.build
-REQUIRED_DISTRO_FEATURES = "wayland x11 polkit"
-
-# systemd can be replaced by libelogind (not available atow - make systemd
-# mandatory distro feature)
-LOGIND ?= "systemd"
-REQUIRED_DISTRO_FEATURES += "systemd"
-
-# profiler requires sysprof 3.34 which is not willing to build atow
-PACKAGECONFIG ??= " \
- native-backend \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'opengl glx', '', d)} \
- sm \
- startup-notification \
-"
-
-EXTRA_OEMESON += " \
- -Dtests=false \
- -Dnative_tests=false \
- -Dxwayland_path=${bindir}/Xwayland \
-"
-
-# combi-config - see meson_options.txt for more details
-PACKAGECONFIG[native-backend] = "-Dnative_backend=true -Dudev=true, -Dnative_backend=false -Dudev=false, libdrm virtual/libgbm libinput ${LOGIND} virtual/egl virtual/libgles2 udev"
-PACKAGECONFIG[opengl] = "-Dopengl=true, -Dopengl=true, virtual/libgl"
-PACKAGECONFIG[glx] = "-Dglx=true, -Dglx=false"
-PACKAGECONFIG[libdisplay-info] = "-Dlibdisplay_info=true, -Dlibdisplay_info=false, libdisplay-info"
-PACKAGECONFIG[libwacom] = "-Dlibwacom=true, -Dlibwacom=false, libwacom"
-# Remove depending on pipewire-0.2 when mutter is upgraded to 3.36+
-PACKAGECONFIG[remote-desktop] = "-Dremote_desktop=true, -Dremote_desktop=false, pipewire"
-PACKAGECONFIG[sm] = "-Dsm=true, -Dsm=false, libsm"
-PACKAGECONFIG[profiler] = "-Dprofiler=true,-Dprofiler=false,sysprof"
-PACKAGECONFIG[startup-notification] = "-Dstartup_notification=true, -Dstartup_notification=false, startup-notification, startup-notification"
-
-MUTTER_API_NAME = "mutter-13"
-
-do_install:prepend() {
- sed -i -e 's|${B}/||g' ${B}/clutter/clutter/clutter-enum-types.c
- sed -i -e 's|${B}/||g' ${B}/src/meta-private-enum-types.c
- sed -i -e 's|${B}/||g' ${B}/src/meta/meta-enum-types.c
-}
-
-do_install:append() {
- # Add gir links in standard paths. That makes dependents life much easier
- # to find them
- install -d ${D}${datadir}/gir-1.0
- for gir_full in `find ${D}${libdir}/${MUTTER_API_NAME} -name '*.gir'`; do
- gir=`basename "$gir_full"`
- ln -sr "${D}${libdir}/${MUTTER_API_NAME}/$gir" "${D}${datadir}/gir-1.0/$gir"
- done
-}
-
-GSETTINGS_PACKAGE = "${PN}-gsettings"
-
-PACKAGES =+ "${PN}-tests ${PN}-gsettings"
-
-FILES:${PN} += " \
- ${datadir}/gnome-control-center \
- ${datadir}/gir-1.0 \
- ${libdir}/${MUTTER_API_NAME}/lib*${SOLIBS} \
- ${libdir}/${MUTTER_API_NAME}/*.typelib \
- ${libdir}/${MUTTER_API_NAME}/plugins \
-"
-
-FILES:${PN}-tests += " \
- ${datadir}/installed-tests \
- ${datadir}/${MUTTER_API_NAME}/tests \
- ${libexecdir}/installed-tests/${MUTTER_API_NAME} \
-"
-
-FILES:${PN}-dev += " \
- ${libdir}/${MUTTER_API_NAME}/*.gir \
- ${libdir}/${MUTTER_API_NAME}/lib*.so \
-"
-
-RDEPENDS:${PN} += "zenity ${PN}-gsettings"
-
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_45.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_45.1.bb
new file mode 100644
index 0000000..60347aa
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_45.1.bb
@@ -0,0 +1,106 @@
+SUMMARY = "Window and compositing manager based on Clutter"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = " \
+ xserver-xorg-cvt-native \
+ wayland-native \
+ virtual/libx11 \
+ graphene \
+ gtk4 \
+ gdk-pixbuf \
+ cairo \
+ pango \
+ gsettings-desktop-schemas \
+ json-glib \
+ gnome-desktop \
+ gnome-settings-daemon \
+ libei \
+ libxtst \
+ libxkbfile \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xinerama', '', d)} \
+ xwayland \
+"
+
+
+inherit gnomebase gsettings gobject-introspection gettext features_check
+
+SRC_URI[archive.sha256sum] = "2cd3c5efb22db76c79311cb1889a1aab2feb35b4a4dd03f3822aab7999da212c"
+
+# x11 is still manadatory - see meson.build
+REQUIRED_DISTRO_FEATURES = "wayland x11 polkit"
+
+# systemd can be replaced by libelogind (not available atow - make systemd
+# mandatory distro feature)
+LOGIND ?= "systemd"
+REQUIRED_DISTRO_FEATURES += "systemd"
+
+# profiler requires sysprof 3.34 which is not willing to build atow
+PACKAGECONFIG ??= " \
+ native-backend \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'opengl glx', '', d)} \
+ sm \
+ startup-notification \
+"
+
+EXTRA_OEMESON += " \
+ -Dtests=false \
+ -Dnative_tests=false \
+ -Dxwayland_path=${bindir}/Xwayland \
+"
+
+# combi-config - see meson_options.txt for more details
+PACKAGECONFIG[native-backend] = "-Dnative_backend=true -Dudev=true, -Dnative_backend=false -Dudev=false, libdrm virtual/libgbm libinput ${LOGIND} virtual/egl virtual/libgles2 udev"
+PACKAGECONFIG[opengl] = "-Dopengl=true, -Dopengl=true, virtual/libgl"
+PACKAGECONFIG[glx] = "-Dglx=true, -Dglx=false"
+PACKAGECONFIG[libdisplay-info] = "-Dlibdisplay_info=true, -Dlibdisplay_info=false, libdisplay-info"
+PACKAGECONFIG[libwacom] = "-Dlibwacom=true, -Dlibwacom=false, libwacom"
+# Remove depending on pipewire-0.2 when mutter is upgraded to 3.36+
+PACKAGECONFIG[remote-desktop] = "-Dremote_desktop=true, -Dremote_desktop=false, pipewire"
+PACKAGECONFIG[sm] = "-Dsm=true, -Dsm=false, libsm"
+PACKAGECONFIG[profiler] = "-Dprofiler=true,-Dprofiler=false,sysprof"
+PACKAGECONFIG[startup-notification] = "-Dstartup_notification=true, -Dstartup_notification=false, startup-notification, startup-notification"
+
+MUTTER_API_NAME = "mutter-13"
+
+do_install:prepend() {
+ sed -i -e 's|${B}/||g' ${B}/clutter/clutter/clutter-enum-types.c
+ sed -i -e 's|${B}/||g' ${B}/src/meta-private-enum-types.c
+ sed -i -e 's|${B}/||g' ${B}/src/meta/meta-enum-types.c
+}
+
+do_install:append() {
+ # Add gir links in standard paths. That makes dependents life much easier
+ # to find them
+ install -d ${D}${datadir}/gir-1.0
+ for gir_full in `find ${D}${libdir}/${MUTTER_API_NAME} -name '*.gir'`; do
+ gir=`basename "$gir_full"`
+ ln -sr "${D}${libdir}/${MUTTER_API_NAME}/$gir" "${D}${datadir}/gir-1.0/$gir"
+ done
+}
+
+GSETTINGS_PACKAGE = "${PN}-gsettings"
+
+PACKAGES =+ "${PN}-tests ${PN}-gsettings"
+
+FILES:${PN} += " \
+ ${datadir}/gnome-control-center \
+ ${datadir}/gir-1.0 \
+ ${libdir}/${MUTTER_API_NAME}/lib*${SOLIBS} \
+ ${libdir}/${MUTTER_API_NAME}/*.typelib \
+ ${libdir}/${MUTTER_API_NAME}/plugins \
+"
+
+FILES:${PN}-tests += " \
+ ${datadir}/installed-tests \
+ ${datadir}/${MUTTER_API_NAME}/tests \
+ ${libexecdir}/installed-tests/${MUTTER_API_NAME} \
+"
+
+FILES:${PN}-dev += " \
+ ${libdir}/${MUTTER_API_NAME}/*.gir \
+ ${libdir}/${MUTTER_API_NAME}/lib*.so \
+"
+
+RDEPENDS:${PN} += "zenity ${PN}-gsettings"
+
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_45.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_45.0.bb
deleted file mode 100644
index a083d17..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_45.0.bb
+++ /dev/null
@@ -1,55 +0,0 @@
-SUMMARY = "File manager for GNOME"
-SECTION = "x11/gnome"
-
-LICENSE="GPL-3.0-only"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504"
-
-GNOMEBASEBUILDCLASS = "meson"
-
-DEPENDS = " \
- appstream-glib-native \
- desktop-file-utils-native \
- glib-2.0 \
- gnome-autoar \
- gnome-desktop \
- gtk4 \
- libadwaita \
- libcloudproviders \
- libhandy \
- libportal \
- libxml2 \
- tracker \
-"
-
-inherit gnomebase gsettings gobject-introspection gi-docgen gettext features_check mime-xdg gtk-icon-cache
-
-SRC_URI[archive.sha256sum] = "b311c465ce2ca7bc648f61b865187b4451388dec9358a169f3277e741718ab5d"
-
-REQUIRED_DISTRO_FEATURES = "x11 opengl gobject-introspection-data"
-
-GIDOCGEN_MESON_OPTION = "docs"
-GIDOCGEN_MESON_ENABLE_FLAG = 'true'
-GIDOCGEN_MESON_DISABLE_FLAG = 'false'
-
-EXTRA_OEMESON += " \
- -Dtests=none \
-"
-
-PACKAGECONFIG = "extensions"
-PACKAGECONFIG[extensions] = "-Dextensions=true,-Dextensions=false, gexiv2 gstreamer1.0-plugins-base gdk-pixbuf"
-PACKAGECONFIG[packagekit] = "-Dpackagekit=true,-Dpackagekit=false,packagekit"
-
-do_install:prepend() {
- sed -i -e 's|${B}/||g' ${B}/src/nautilus-enum-types.c
-}
-
-FILES:${PN} += " \
- ${datadir}/dbus-1 \
- ${datadir}/metainfo \
- ${datadir}/gnome-shell \
- ${datadir}/tracker3 \
-"
-
-# mandatory - not checked during configuration:
-# | (org.gnome.Nautilus:863): GLib-GIO-ERROR **: 21:03:52.326: Settings schema 'org.freedesktop.Tracker.Miner.Files' is not installed
-RDEPENDS:${PN} += "tracker-miners bubblewrap"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_45.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_45.1.bb
new file mode 100644
index 0000000..9c0d154
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_45.1.bb
@@ -0,0 +1,54 @@
+SUMMARY = "File manager for GNOME"
+SECTION = "x11/gnome"
+
+LICENSE="GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504"
+
+
+DEPENDS = " \
+ appstream-glib-native \
+ desktop-file-utils-native \
+ glib-2.0 \
+ gnome-autoar \
+ gnome-desktop \
+ gtk4 \
+ libadwaita \
+ libcloudproviders \
+ libhandy \
+ libportal \
+ libxml2 \
+ tracker \
+"
+
+inherit gnomebase gsettings gobject-introspection gi-docgen gettext features_check mime-xdg gtk-icon-cache
+
+SRC_URI[archive.sha256sum] = "23bdaa9a85466c5937a89daddd080ed03bcc2b49e8b64af607206353bde82fe3"
+
+REQUIRED_DISTRO_FEATURES = "x11 opengl gobject-introspection-data"
+
+GIDOCGEN_MESON_OPTION = "docs"
+GIDOCGEN_MESON_ENABLE_FLAG = 'true'
+GIDOCGEN_MESON_DISABLE_FLAG = 'false'
+
+EXTRA_OEMESON += " \
+ -Dtests=none \
+"
+
+PACKAGECONFIG = "extensions"
+PACKAGECONFIG[extensions] = "-Dextensions=true,-Dextensions=false, gexiv2 gstreamer1.0-plugins-base gdk-pixbuf"
+PACKAGECONFIG[packagekit] = "-Dpackagekit=true,-Dpackagekit=false,packagekit"
+
+do_install:prepend() {
+ sed -i -e 's|${B}/||g' ${B}/src/nautilus-enum-types.c
+}
+
+FILES:${PN} += " \
+ ${datadir}/dbus-1 \
+ ${datadir}/metainfo \
+ ${datadir}/gnome-shell \
+ ${datadir}/tracker3 \
+"
+
+# mandatory - not checked during configuration:
+# | (org.gnome.Nautilus:863): GLib-GIO-ERROR **: 21:03:52.326: Settings schema 'org.freedesktop.Tracker.Miner.Files' is not installed
+RDEPENDS:${PN} += "tracker-miners bubblewrap"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/rest/librest_0.8.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/rest/librest_0.8.1.bb
index 2384978..51dc44c 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/rest/librest_0.8.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/rest/librest_0.8.1.bb
@@ -13,6 +13,7 @@
libxml2-native \
"
+GNOMEBASEBUILDCLASS = "autotools"
inherit gnomebase gobject-introspection vala pkgconfig
GNOMEBN = "rest"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/rest/rest_0.9.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/rest/rest_0.9.0.bb
deleted file mode 100644
index 2256a18..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/rest/rest_0.9.0.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "library to access web services that claim to be "RESTful""
-HOMEPAGE = "https://wiki.gnome.org/Projects/Librest"
-LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
-
-GNOMEBASEBUILDCLASS = "meson"
-
-DEPENDS = " \
- gi-docgen \
- gi-docgen-native \
- glib-2.0 \
- glib-2.0-native \
- json-glib \
- libxml2-native \
-"
-
-inherit gnomebase gobject-introspection vala pkgconfig
-
-PACKAGECONFIG_SOUP ?= "soup3"
-PACKAGECONFIG ??= "${PACKAGECONFIG_SOUP}"
-
-PACKAGECONFIG[soup2] = "-Dsoup2=true,,libsoup-2.4"
-PACKAGECONFIG[soup3] = "-Dsoup2=false,,libsoup-3.0"
-
-SRC_URI[archive.sha256sum] = "85b2bc9341128139539b53ee53f0533310bc96392fd645863a040410b81ebe66"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/rest/rest_0.9.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/rest/rest_0.9.1.bb
new file mode 100644
index 0000000..738b07e
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/rest/rest_0.9.1.bb
@@ -0,0 +1,23 @@
+SUMMARY = "library to access web services that claim to be "RESTful""
+HOMEPAGE = "https://wiki.gnome.org/Projects/Librest"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
+
+
+DEPENDS = " \
+ glib-2.0 \
+ glib-2.0-native \
+ gtksourceview5 \
+ json-glib \
+ libadwaita \
+ libsoup-3.0 \
+ libxml2-native \
+"
+
+inherit gnomebase gobject-introspection vala pkgconfig gi-docgen
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[examples] = "-Dexamples=true,-Dexamples=false"
+PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false"
+
+SRC_URI[archive.sha256sum] = "9266a5c10ece383e193dfb7ffb07b509cc1f51521ab8dad76af96ed14212c2e3"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/sysprof/sysprof_3.44.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/sysprof/sysprof_3.44.0.bb
index c9d32c3..3523bad 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/sysprof/sysprof_3.44.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/sysprof/sysprof_3.44.0.bb
@@ -4,7 +4,6 @@
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
file://src/sysprof/sysprof-application.c;endline=17;md5=a3de8df3b0f8876dd01e1388d2d4b607"
-GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gnome-help gettext systemd upstream-version-is-even gsettings mime mime-xdg
DEPENDS += " \
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/tecla/tecla_45.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/tecla/tecla_45.0.bb
index c047e29..197db17 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/tecla/tecla_45.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/tecla/tecla_45.0.bb
@@ -10,7 +10,6 @@
"
REQUIRED_DISTRO_FEATURES = "wayland"
-GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase pkgconfig features_check
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners_3.6.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners_3.6.0.bb
deleted file mode 100644
index d899155..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners_3.6.0.bb
+++ /dev/null
@@ -1,83 +0,0 @@
-SUMMARY = "Tracker miners and metadata extractors"
-LICENSE = "GPL-2.0-only & LGPL-2.1-only"
-LIC_FILES_CHKSUM = " \
- file://COPYING.GPL;md5=ee31012bf90e7b8c108c69f197f3e3a4 \
- file://COPYING.LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \
-"
-
-DEPENDS = " \
- intltool-native \
- libseccomp \
- tracker \
- zlib \
-"
-
-GNOMEBASEBUILDCLASS = "meson"
-
-inherit gnomebase gsettings gobject-introspection vala bash-completion features_check
-
-SRC_URI:append = " \
- file://0001-fix-reproducibility.patch \
- file://0001-Set-header-file-to-a-fixed-path-instead-of-a-host-pa.patch \
-"
-SRC_URI[archive.sha256sum] = "c2ed9f6b0410195863b84c7b5467c5bc1255e96d658741192b5e92568a3bebd0"
-
-# gobject-introspection is mandatory and cannot be configured
-REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
-GIR_MESON_OPTION = ""
-
-PACKAGECONFIG ??= " \
- ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "ffmpeg", "", d)} \
- gexiv2 \
- gstreamer \
- icu \
- libexif \
- libgsf \
- jpeg \
- pdf \
- png \
- tiff \
- raw \
- xml \
- ${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)} \
- battery \
- networkmanager \
-"
-
-PACKAGECONFIG[battery] = "-Dbattery_detection=upower,-Dbattery_detection=none,upower"
-PACKAGECONFIG[cue] = "-Dcue=enabled,-Dcue=disabled,libcue"
-PACKAGECONFIG[ffmpeg] = "-Dgeneric_media_extractor=libav,,ffmpeg"
-PACKAGECONFIG[gexiv2] = ",,gexiv2"
-PACKAGECONFIG[gstreamer] = "-Dgeneric_media_extractor=gstreamer,,gstreamer1.0 gstreamer1.0-plugins-base"
-PACKAGECONFIG[gupnp] = "-Dgstreamer_backend=gupnp,,gupnp-dlna"
-PACKAGECONFIG[gif] = "-Dgif=enabled,-Dgif=disabled,giflib"
-PACKAGECONFIG[icu] = "-Dcharset_detection=icu,,icu"
-PACKAGECONFIG[iso] = "-Diso=enabled,-Diso=disabled,libosinfo"
-PACKAGECONFIG[jpeg] = "-Djpeg=enabled,-Djpeg=disabled,jpeg"
-PACKAGECONFIG[libexif] = "-Dexif=enabled,-Dexif=disabled,libexif"
-PACKAGECONFIG[libgsf] = "-Dgsf=enabled,-Dgsf=disabled,libgsf"
-PACKAGECONFIG[pdf] = "-Dpdf=enabled,-Dpdf=disabled,poppler"
-PACKAGECONFIG[png] = "-Dpng=enabled,-Dpng=disabled,libpng"
-PACKAGECONFIG[tiff] = "-Dtiff=enabled,-Dtiff=disabled,tiff"
-PACKAGECONFIG[raw] = "-Draw=enabled,-Draw=disabled,libraw"
-PACKAGECONFIG[xml] = "-Dxml=enabled,-Dxml=disabled,libxml2"
-PACKAGECONFIG[networkmanager] = "-Dnetwork_manager=enabled,-Dnetwork_manager=disabled,networkmanager"
-
-# For security reasons it is strongly recommended to set add meta-security in
-# your layers and 'libseccomp' to PACKAGECONFIG".
-PACKAGECONFIG[seccomp] = "-Dseccomp=true,-Dseccomp=false,libseccomp"
-# not yet in meta-gnome
-PACKAGECONFIG[rss] = "-Dminer_rss=true,-Dminer_rss=false,libgrss"
-
-EXTRA_OEMESON += " \
- -Dman=false \
- -Dsystemd_user_services=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)} \
- -Dsystemd_user_services_dir=${systemd_user_unitdir} \
-"
-
-FILES:${PN} += " \
- ${datadir}/dbus-1 \
- ${datadir}/tracker3-miners \
- ${libdir}/tracker-miners-3.0 \
- ${systemd_user_unitdir} \
-"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners_3.6.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners_3.6.2.bb
new file mode 100644
index 0000000..2be6bea
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners_3.6.2.bb
@@ -0,0 +1,83 @@
+SUMMARY = "Tracker miners and metadata extractors"
+LICENSE = "GPL-2.0-only & LGPL-2.1-only"
+LIC_FILES_CHKSUM = " \
+ file://COPYING.GPL;md5=ee31012bf90e7b8c108c69f197f3e3a4 \
+ file://COPYING.LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \
+"
+
+DEPENDS = " \
+ intltool-native \
+ libseccomp \
+ tracker \
+ zlib \
+"
+
+
+inherit gnomebase gsettings gobject-introspection vala bash-completion features_check
+
+SRC_URI:append = " \
+ file://0001-fix-reproducibility.patch \
+ file://0001-Set-header-file-to-a-fixed-path-instead-of-a-host-pa.patch \
+"
+SRC_URI[archive.sha256sum] = "0ad722f3d532c21d757cf488f942960679ea8f457925efa97656ed4c9e9ba4ff"
+
+# gobject-introspection is mandatory and cannot be configured
+REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
+GIR_MESON_OPTION = ""
+VALA_MESON_OPTION = ""
+
+PACKAGECONFIG ??= " \
+ ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "ffmpeg", "", d)} \
+ gexiv2 \
+ gstreamer \
+ icu \
+ libexif \
+ libgsf \
+ jpeg \
+ pdf \
+ png \
+ tiff \
+ raw \
+ xml \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)} \
+ battery \
+ networkmanager \
+"
+
+PACKAGECONFIG[battery] = "-Dbattery_detection=upower,-Dbattery_detection=none,upower"
+PACKAGECONFIG[cue] = "-Dcue=enabled,-Dcue=disabled,libcue"
+PACKAGECONFIG[ffmpeg] = "-Dgeneric_media_extractor=libav,,ffmpeg"
+PACKAGECONFIG[gexiv2] = ",,gexiv2"
+PACKAGECONFIG[gstreamer] = "-Dgeneric_media_extractor=gstreamer,,gstreamer1.0 gstreamer1.0-plugins-base"
+PACKAGECONFIG[gupnp] = "-Dgstreamer_backend=gupnp,,gupnp-dlna"
+PACKAGECONFIG[gif] = "-Dgif=enabled,-Dgif=disabled,giflib"
+PACKAGECONFIG[icu] = "-Dcharset_detection=icu,,icu"
+PACKAGECONFIG[iso] = "-Diso=enabled,-Diso=disabled,libosinfo"
+PACKAGECONFIG[jpeg] = "-Djpeg=enabled,-Djpeg=disabled,jpeg"
+PACKAGECONFIG[libexif] = "-Dexif=enabled,-Dexif=disabled,libexif"
+PACKAGECONFIG[libgsf] = "-Dgsf=enabled,-Dgsf=disabled,libgsf"
+PACKAGECONFIG[pdf] = "-Dpdf=enabled,-Dpdf=disabled,poppler"
+PACKAGECONFIG[png] = "-Dpng=enabled,-Dpng=disabled,libpng"
+PACKAGECONFIG[tiff] = "-Dtiff=enabled,-Dtiff=disabled,tiff"
+PACKAGECONFIG[raw] = "-Draw=enabled,-Draw=disabled,libraw"
+PACKAGECONFIG[xml] = "-Dxml=enabled,-Dxml=disabled,libxml2"
+PACKAGECONFIG[networkmanager] = "-Dnetwork_manager=enabled,-Dnetwork_manager=disabled,networkmanager"
+
+# For security reasons it is strongly recommended to set add meta-security in
+# your layers and 'libseccomp' to PACKAGECONFIG".
+PACKAGECONFIG[seccomp] = "-Dseccomp=true,-Dseccomp=false,libseccomp"
+# not yet in meta-gnome
+PACKAGECONFIG[rss] = "-Dminer_rss=true,-Dminer_rss=false,libgrss"
+
+EXTRA_OEMESON += " \
+ -Dman=false \
+ -Dsystemd_user_services=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)} \
+ -Dsystemd_user_services_dir=${systemd_user_unitdir} \
+"
+
+FILES:${PN} += " \
+ ${datadir}/dbus-1 \
+ ${datadir}/tracker3-miners \
+ ${libdir}/tracker-miners-3.0 \
+ ${systemd_user_unitdir} \
+"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.6.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.6.0.bb
index d2eb392..c5b5c4e 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.6.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.6.0.bb
@@ -18,7 +18,6 @@
libstemmer \
"
-GNOMEBASEBUILDCLASS = "meson"
inherit gettext gnomebase gsettings gobject-introspection vala gtk-doc bash-completion python3native
@@ -45,8 +44,8 @@
"
do_install:prepend() {
- sed -i -e 's|${B}/../${PN}-${PV}|/usr/src/debug/${PN}/${PV}-${PR}|g' ${B}/src/libtracker-sparql/tracker-sparql-enum-types.c
- sed -i -e 's|${B}/../${PN}-${PV}|/usr/src/debug/${PN}/${PV}-${PR}|g' ${B}/src/libtracker-sparql/core/tracker-data-enum-types.c
+ sed -i -e 's|${B}/../${PN}-${PV}|${TARGET_DBGSRC_DIR}|g' ${B}/src/libtracker-sparql/tracker-sparql-enum-types.c
+ sed -i -e 's|${B}/../${PN}-${PV}|${TARGET_DBGSRC_DIR}|g' ${B}/src/libtracker-sparql/core/tracker-data-enum-types.c
}
GIR_MESON_ENABLE_FLAG = 'enabled'
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-tools_42.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-tools_42.1.bb
index 28ba392..f3e1efe 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-tools_42.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-tools_42.1.bb
@@ -5,8 +5,6 @@
file://COPYING.GPL;md5=eb723b61539feef013de476e68b5c50a \
"
-GNOMEBASEBUILDCLASS = "meson"
-
inherit gnomebase itstool
DEPENDS += " \
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-xsl_42.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-xsl_42.1.bb
index ba25364..5a8089e 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-xsl_42.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp-xsl_42.1.bb
@@ -6,6 +6,7 @@
file://COPYING.LGPL;md5=a6f89e2100d9b6cdffcea4f398e37343 \
"
+GNOMEBASEBUILDCLASS = "autotools"
inherit gnomebase gettext itstool
DEPENDS += "libxml2"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp_42.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp_42.2.bb
index 51d51ee0..1b3ded0 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp_42.2.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/yelp/yelp_42.2.bb
@@ -3,7 +3,7 @@
LIC_FILES_CHKSUM = " \
file://COPYING;md5=6e1b9cb787e76d7e6946887a65caa754 \
"
-
+GNOMEBASEBUILDCLASS = "autotools"
inherit gnomebase itstool autotools-brokensep gsettings gettext gtk-doc features_check mime-xdg
# for webkitgtk
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity_3.44.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity_3.44.2.bb
index a152e64..92b9f66 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity_3.44.2.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity_3.44.2.bb
@@ -3,7 +3,6 @@
LICENSE = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase pkgconfig itstool gtk-icon-cache features_check gettext
diff --git a/meta-openembedded/meta-gnome/recipes-support/libcloudproviders/libcloudproviders_0.3.4.bb b/meta-openembedded/meta-gnome/recipes-support/libcloudproviders/libcloudproviders_0.3.4.bb
index 3608923..1c03f41 100644
--- a/meta-openembedded/meta-gnome/recipes-support/libcloudproviders/libcloudproviders_0.3.4.bb
+++ b/meta-openembedded/meta-gnome/recipes-support/libcloudproviders/libcloudproviders_0.3.4.bb
@@ -2,7 +2,7 @@
LICENSE="LGPL-3.0-or-later"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e6a600fd5e1d9cbde2d983680233ad02"
-GNOMEBASEBUILDCLASS = "meson"
+VALA_MESON_OPTION ?= 'vapigen'
DEPENDS = "glib-2.0"
diff --git a/meta-openembedded/meta-gnome/recipes-support/libwacom/libwacom_2.6.0.bb b/meta-openembedded/meta-gnome/recipes-support/libwacom/libwacom_2.6.0.bb
deleted file mode 100644
index d960262..0000000
--- a/meta-openembedded/meta-gnome/recipes-support/libwacom/libwacom_2.6.0.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "A tablet description library"
-DESCRIPTION = "libwacom is a library to identify Wacom tablets and their model-specific features. \
- It provides easy access to information such as 'is this a built-in on-screen tablet\', \
- 'what is the size of this model', etc."
-HOMEPAGE = "https://github.com/linuxwacom/libwacom"
-BUGTRACKER = "https://github.com/linuxwacom/libwacom/issues"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=40a21fffb367c82f39fd91a3b137c36e"
-
-SRC_URI = "git://github.com/linuxwacom/libwacom.git;branch=master;protocol=https"
-SRCREV = "cb36c462763a321454d5c08fe974a3d7dec4ed1a"
-
-DEPENDS = " \
- libxml2-native \
- libgudev \
-"
-
-S = "${WORKDIR}/git"
-
-inherit meson pkgconfig
-
-EXTRA_OEMESON = " \
- -Dtests=disabled \
-"
diff --git a/meta-openembedded/meta-gnome/recipes-support/libwacom/libwacom_2.8.0.bb b/meta-openembedded/meta-gnome/recipes-support/libwacom/libwacom_2.8.0.bb
new file mode 100644
index 0000000..8f45221
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-support/libwacom/libwacom_2.8.0.bb
@@ -0,0 +1,24 @@
+SUMMARY = "A tablet description library"
+DESCRIPTION = "libwacom is a library to identify Wacom tablets and their model-specific features. \
+ It provides easy access to information such as 'is this a built-in on-screen tablet\', \
+ 'what is the size of this model', etc."
+HOMEPAGE = "https://github.com/linuxwacom/libwacom"
+BUGTRACKER = "https://github.com/linuxwacom/libwacom/issues"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=40a21fffb367c82f39fd91a3b137c36e"
+
+SRC_URI = "git://github.com/linuxwacom/libwacom.git;branch=master;protocol=https"
+SRCREV = "f5b92814320d0a5745b50b7b36103843ad23e299"
+
+DEPENDS = " \
+ libxml2-native \
+ libgudev \
+"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig
+
+EXTRA_OEMESON = " \
+ -Dtests=disabled \
+"
diff --git a/meta-openembedded/meta-gnome/recipes-support/webp-pixbuf-loader/webp-pixbuf-loader_0.2.4.bb b/meta-openembedded/meta-gnome/recipes-support/webp-pixbuf-loader/webp-pixbuf-loader_0.2.4.bb
deleted file mode 100644
index 6f9156d..0000000
--- a/meta-openembedded/meta-gnome/recipes-support/webp-pixbuf-loader/webp-pixbuf-loader_0.2.4.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "WebP GDK Pixbuf Loader library"
-HOMEPAGE = "https://github.com/aruiz/webp-pixbuf-loader"
-LICENSE = "LGPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://LICENSE.LGPL-2;md5=0d90e6d44bcf69014bfae649c75aa6ca"
-
-DEPENDS = " \
- gdk-pixbuf \
- libwebp \
-"
-
-inherit meson pkgconfig
-
-EXTRA_OEMESON = "-Dupdate_cache=true"
-
-SRC_URI = "git://github.com/aruiz/webp-pixbuf-loader.git;protocol=https;branch=mainline"
-
-S = "${WORKDIR}/git"
-SRCREV = "a35014104a226265e44fe30fcdb4df9305af3466"
-
-FILES:${PN} = " \
- ${datadir}/thumbnailers/webp-pixbuf.thumbnailer \
- ${libdir}/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-webp.so \
-"
diff --git a/meta-openembedded/meta-gnome/recipes-support/webp-pixbuf-loader/webp-pixbuf-loader_0.2.5.bb b/meta-openembedded/meta-gnome/recipes-support/webp-pixbuf-loader/webp-pixbuf-loader_0.2.5.bb
new file mode 100644
index 0000000..e7cad39
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-support/webp-pixbuf-loader/webp-pixbuf-loader_0.2.5.bb
@@ -0,0 +1,23 @@
+SUMMARY = "WebP GDK Pixbuf Loader library"
+HOMEPAGE = "https://github.com/aruiz/webp-pixbuf-loader"
+LICENSE = "LGPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE.LGPL-2;md5=0d90e6d44bcf69014bfae649c75aa6ca"
+
+DEPENDS = " \
+ gdk-pixbuf \
+ libwebp \
+"
+
+inherit meson pkgconfig
+
+EXTRA_OEMESON = "-Dupdate_cache=true"
+
+SRC_URI = "git://github.com/aruiz/webp-pixbuf-loader.git;protocol=https;branch=mainline"
+
+S = "${WORKDIR}/git"
+SRCREV = "481533dd0e2c014975d9dc786887a5475c3af073"
+
+FILES:${PN} = " \
+ ${datadir}/thumbnailers/webp-pixbuf.thumbnailer \
+ ${libdir}/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-webp.so \
+"
diff --git a/meta-openembedded/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gnome_45.0.bb b/meta-openembedded/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gnome_45.0.bb
index 9146993..6cf706a 100644
--- a/meta-openembedded/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gnome_45.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gnome_45.0.bb
@@ -17,7 +17,6 @@
RDEPENDS:${PN} = "xdg-desktop-portal xdg-desktop-portal-gtk"
-GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase pkgconfig gsettings features_check
REQUIRED_DISTRO_FEATURES = "polkit"
diff --git a/meta-openembedded/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gtk_1.14.1.bb b/meta-openembedded/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gtk_1.14.1.bb
deleted file mode 100644
index b291991..0000000
--- a/meta-openembedded/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gtk_1.14.1.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-SUMMARY = "A backend implementation for xdg-desktop-portal that is using GTK and various pieces of GNOME infrastructure."
-HOMEPAGE = "https://github.com/flatpak/xdg-desktop-portal-gtk"
-LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-DEPENDS = " \
- glib-2.0-native \
- gtk+3\
- xdg-desktop-portal \
- libadwaita \
- fontconfig \
- gsettings-desktop-schemas \
- gnome-desktop \
- dconf \
-"
-
-inherit gettext autotools pkgconfig gsettings features_check
-
-REQUIRED_DISTRO_FEATURES = "polkit"
-
-SRC_URI = "git://github.com/flatpak/xdg-desktop-portal-gtk.git;protocol=https;branch=main"
-
-S = "${WORKDIR}/git"
-SRCREV = "952005f6a7850a247d286f14838202f506b402b7"
-
-# gdbus-codegen wants to create files in ${B}/src and fails because of missing directory
-do_configure:append() {
- mkdir -p ${B}/src
-}
-
-# Note: wlroots has its own implementation for screenshot and screencast, but
-# you may want to include the according PACKAGECONFIGS for gnome.
-PACKAGECONFIG ?= "wallpaper appchooser lockdown"
-
-PACKAGECONFIG[screenshot] = "--enable-screenshot,--disable-screenshot,gnome-shell"
-PACKAGECONFIG[screencast] = "--enable-screencast,--disable-screencast,mutter"
-PACKAGECONFIG[wallpaper] = "--enable-wallpaper,--disable-wallpaper,gnome-desktop"
-PACKAGECONFIG[background] = "--enable-background,--disable-background,gnome-shell"
-PACKAGECONFIG[appchooser] = "--enable-appchooser,--disable-appchooser"
-PACKAGECONFIG[lockdown] = "--enable-lockdown,--disable-lockdown"
-
-FILES:${PN} += "${systemd_user_unitdir} ${datadir}"
diff --git a/meta-openembedded/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gtk_1.15.1.bb b/meta-openembedded/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gtk_1.15.1.bb
new file mode 100644
index 0000000..0d2b001
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gtk_1.15.1.bb
@@ -0,0 +1,30 @@
+SUMMARY = "A backend implementation for xdg-desktop-portal that is using GTK and various pieces of GNOME infrastructure."
+HOMEPAGE = "https://github.com/flatpak/xdg-desktop-portal-gtk"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = " \
+ glib-2.0-native \
+ gtk+3\
+ xdg-desktop-portal \
+ libadwaita \
+ dconf \
+"
+
+inherit gettext meson pkgconfig gsettings features_check
+
+REQUIRED_DISTRO_FEATURES = "polkit"
+
+SRC_URI = "git://github.com/flatpak/xdg-desktop-portal-gtk.git;protocol=https;branch=main"
+
+S = "${WORKDIR}/git"
+SRCREV = "54003825481c2b48fd0c42355b484469dea12020"
+
+PACKAGECONFIG ?= "wallpaper appchooser lockdown settings"
+
+PACKAGECONFIG[wallpaper] = "-Dwallpaper=enabled,-Dwallpaper=disabled,gnome-desktop"
+PACKAGECONFIG[settings] = "-Dsettings=enabled,-Dsettings=disabled,gsettings-desktop-schemas fontconfig"
+PACKAGECONFIG[appchooser] = "-Dappchooser=enabled,-Dappchooser=disabled"
+PACKAGECONFIG[lockdown] = "-Dlockdown=enabled,-Dlockdown=disabled"
+
+FILES:${PN} += "${systemd_user_unitdir} ${datadir}"
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc
index 113459b..6093e19 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc
@@ -32,6 +32,7 @@
S = "${WORKDIR}/klibc-${PV}"
OPTFLAGS = "${TUNE_CCARGS} -Os -fcommon"
+OPTFLAGS:append = " ${DEBUG_PREFIX_MAP}"
OPTFLAGS:append:toolchain-clang = " -fno-builtin-bcmp"
OPTFLAGS:append:toolchain-clang:mipsarch = " -no-integrated-as"
diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gssdp_1.4.0.1.bb b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gssdp_1.4.0.1.bb
deleted file mode 100644
index ad99bbf..0000000
--- a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gssdp_1.4.0.1.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "Resource discovery and announcement over SSDP"
-DESCRIPTION = "GSSDP implements resource discovery and announcement over SSDP \
- (Simpe Service Discovery Protocol)."
-HOMEPAGE = "https://gitlab.gnome.org/GNOME/gssdp/"
-BUGTRACKER = "https://gitlab.gnome.org/GNOME/gssdp/-/issues"
-LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-SRC_URI = "${GNOME_MIRROR}/${BPN}/1.4/${BPN}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "8676849d57fb822b8728856dbadebf3867f89ee47a0ec47a20045d011f431582"
-
-GTKDOC_MESON_OPTION = 'gtk_doc'
-
-DEPENDS = " \
- glib-2.0 \
- libsoup-2.4 \
-"
-
-inherit meson pkgconfig gobject-introspection vala gtk-doc features_check
-
-SNIFFER = "${@bb.utils.contains("BBFILE_COLLECTIONS", "gnome-layer", "sniffer", "", d)}"
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', "${SNIFFER}", "", d)}"
-
-PACKAGECONFIG[sniffer] = "-Dsniffer=true,-Dsniffer=false,gtk4,"
-
-REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG', 'sniffer', 'opengl', '', d)}"
-
-PACKAGES =+ "gssdp-tools"
-
-FILES:gssdp-tools = "${bindir}/gssdp* ${datadir}/gssdp/*.glade"
diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gssdp_1.6.3.bb b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gssdp_1.6.3.bb
new file mode 100644
index 0000000..f2e2762
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gssdp_1.6.3.bb
@@ -0,0 +1,32 @@
+SUMMARY = "Resource discovery and announcement over SSDP"
+DESCRIPTION = "GSSDP implements resource discovery and announcement over SSDP \
+ (Simpe Service Discovery Protocol)."
+HOMEPAGE = "https://gitlab.gnome.org/GNOME/gssdp/"
+BUGTRACKER = "https://gitlab.gnome.org/GNOME/gssdp/-/issues"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI[archive.sha256sum] = "2fedb5afdb22cf14d5498a39a773ca89788a250fcf70118783df821e1f3f3446"
+
+GTKDOC_MESON_OPTION = 'gtk_doc'
+
+DEPENDS = " \
+ glib-2.0 \
+ libsoup-3.0 \
+"
+
+inherit gnomebase pkgconfig gobject-introspection vala gi-docgen features_check
+
+# manpages require pandoc-native
+EXTRA_OEMESON += "-Dmanpages=false"
+
+SNIFFER = "${@bb.utils.contains("BBFILE_COLLECTIONS", "gnome-layer", "sniffer", "", d)}"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', "${SNIFFER}", "", d)}"
+PACKAGECONFIG[sniffer] = "-Dsniffer=true,-Dsniffer=false,gtk4,"
+
+REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG', 'sniffer', 'opengl', '', d)}"
+
+PACKAGES =+ "gssdp-tools"
+
+FILES:gssdp-tools = "${bindir}/gssdp* ${datadir}/gssdp/*.glade"
diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.14.0.bb b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.14.0.bb
deleted file mode 100644
index 48de586..0000000
--- a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.14.0.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "Helpers for AV applications using UPnP"
-DESCRIPTION = "GUPnP-AV is a collection of helpers for building AV (audio/video) applications using GUPnP."
-
-LICENSE = "LGPL-2.1-or-later"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-DEPENDS = "gupnp"
-
-inherit meson pkgconfig gobject-introspection vala
-
-SRC_URI = "${GNOME_MIRROR}/${BPN}/0.14/${BPN}-${PV}.tar.xz \
- file://0001-all-Drop-xmlRecoverMemory.patch \
- "
-SRC_URI[sha256sum] = "20aed546fc882e78a3f186a0c8bce5c841cc3a44b7ea528298fbdc82596fb156"
diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.14.1.bb b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.14.1.bb
new file mode 100644
index 0000000..2a5c080
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.14.1.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Helpers for AV applications using UPnP"
+DESCRIPTION = "GUPnP-AV is a collection of helpers for building AV (audio/video) applications using GUPnP."
+
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = "gupnp"
+
+inherit meson pkgconfig gobject-introspection vala
+
+SRC_URI = "${GNOME_MIRROR}/${BPN}/0.14/${BPN}-${PV}.tar.xz \
+ file://0001-all-Drop-xmlRecoverMemory.patch \
+ "
+SRC_URI[sha256sum] = "b79ce0cc4b0c66d9c54bc22183a10e5709a0011d2af272025948efcab33a3e4f"
diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_1.2.0.bb b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_1.2.0.bb
deleted file mode 100644
index 49cd8d8..0000000
--- a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_1.2.0.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Helpers for interacting with Internet Gateway Devices over UPnP"
-LICENSE = "LGPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
- file://libgupnp-igd/gupnp-simple-igd.c;beginline=1;endline=21;md5=aa292c0d9390463a6e1055dc5fc68e80"
-
-DEPENDS = "glib-2.0 gssdp gupnp sqlite3"
-
-SRC_URI = "http://download.gnome.org/sources/${BPN}/1.2/${BPN}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "4b5120098aa13edd27818ba9ee4d7fe961bf540bf50d056ff703c61545e02be1"
-
-GTKDOC_MESON_OPTION = "gtk_doc"
-
-inherit meson pkgconfig gtk-doc gobject-introspection
diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_1.6.0.bb b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_1.6.0.bb
new file mode 100644
index 0000000..d8dbc26
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_1.6.0.bb
@@ -0,0 +1,12 @@
+SUMMARY = "Helpers for interacting with Internet Gateway Devices over UPnP"
+LICENSE = "LGPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
+ file://libgupnp-igd/gupnp-simple-igd.c;beginline=1;endline=21;md5=aa292c0d9390463a6e1055dc5fc68e80"
+
+DEPENDS = "glib-2.0 gssdp gupnp"
+
+inherit gnomebase pkgconfig gtk-doc gobject-introspection
+
+SRC_URI[archive.sha256sum] = "4099978339ab22126d4968f2a332b6d094fc44c78797860781f1fc2f11771b74"
+
+GTKDOC_MESON_OPTION = "gtk_doc"
diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools/0001-build-Fix-wrap-file-syntax.patch b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools/0001-build-Fix-wrap-file-syntax.patch
deleted file mode 100644
index 5c13ce0..0000000
--- a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools/0001-build-Fix-wrap-file-syntax.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 4c86f814fbe17eb5774055d69102408bbfc1cd63 Mon Sep 17 00:00:00 2001
-From: Jens Georg <mail@jensge.org>
-Date: Sun, 9 Jul 2023 21:47:48 +0200
-Subject: [PATCH] build: Fix wrap file syntax
-
-No idea why it worked in the first place
-
-Fixes #26
-
-Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
-Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gupnp-tools/-/commit/1372f9ebe45180d58cefb6c0475fafe77de37ef2]
----
- subprojects/gssdp-1.2.wrap | 4 ++--
- subprojects/gupnp-1.2.wrap | 4 ++--
- subprojects/gupnp-av-1.0.wrap | 4 ++--
- 3 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/subprojects/gssdp-1.2.wrap b/subprojects/gssdp-1.2.wrap
-index 34d9b0b..f78d2fa 100644
---- a/subprojects/gssdp-1.2.wrap
-+++ b/subprojects/gssdp-1.2.wrap
-@@ -3,6 +3,6 @@ url = https://gitlab.gnome.org/GNOME/gssdp.git
- revision = master
- depth = 1
-
--[provides]
--dependency_name = gssdp-1.2
-+[provide]
-+dependency_names = gssdp-1.2
-
-diff --git a/subprojects/gupnp-1.2.wrap b/subprojects/gupnp-1.2.wrap
-index c345910..f92c055 100644
---- a/subprojects/gupnp-1.2.wrap
-+++ b/subprojects/gupnp-1.2.wrap
-@@ -3,6 +3,6 @@ url = https://gitlab.gnome.org/GNOME/gupnp.git
- revision = master
- depth = 1
-
--[provides]
--dependency_name = gupnp-1.2
-+[provide]
-+dependency_names = gupnp-1.2
-
-diff --git a/subprojects/gupnp-av-1.0.wrap b/subprojects/gupnp-av-1.0.wrap
-index 967e6d3..8c3b490 100644
---- a/subprojects/gupnp-av-1.0.wrap
-+++ b/subprojects/gupnp-av-1.0.wrap
-@@ -3,6 +3,6 @@ url = https://gitlab.gnome.org/GNOME/gupnp-av.git
- revision = master
- depth = 1
-
--[provides]
--dependency_name = gupnp-av-1.0
-+[provide]
-+dependency_names = gupnp-av-1.0
-
diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.10.2.bb b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.10.2.bb
deleted file mode 100644
index 9731ede..0000000
--- a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.10.2.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Tools for GUPnP"
-LICENSE = "GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
- file://src/network-light/main.c;beginline=1;endline=21;md5=2c39b3a000495dabd4932f231c7efed8"
-
-DEPENDS = "gupnp gupnp-av gtk+3 glib-2.0-native intltool-native"
-
-inherit features_check meson pkgconfig gettext gtk-icon-cache
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI = "http://download.gnome.org/sources/${BPN}/0.10/${BPN}-${PV}.tar.xz \
- file://0001-build-Fix-wrap-file-syntax.patch \
-"
-SRC_URI[sha256sum] = "6de49ef4b375b8a164f74b766168b1184e0d28196b6b07a4f5341f08dfd85d6c"
-
-RRECOMMENDS:${PN} = "adwaita-icon-theme"
diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.12.1.bb b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.12.1.bb
new file mode 100644
index 0000000..4f6ff3f
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.12.1.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Tools for GUPnP"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "gupnp gssdp gtk+3 libsoup-3.0 libxml2 glib-2.0 "
+
+inherit gnomebase features_check pkgconfig gettext gtk-icon-cache
+
+ANY_OF_DISTRO_FEATURES = "x11 wayland"
+
+SRC_URI[archive.sha256sum] = "53cf93123f397e8f8f0b8e9e4364c86a7502a5334f4c0be2e054a824478bd5ba"
+
+PACKAGECONFIG ??= "av-tools"
+PACKAGECONFIG[av-tools] = "-Dav-tools=true,-Dav-tools=false,gupnp-av"
+PACKAGECONFIG[gtksourceview] = ",,gtksourceview4"
+
+CFLAGS += "-Wno-deprecated-declarations"
+
+RRECOMMENDS:${PN} = "adwaita-icon-theme"
diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp/0001-all-Drop-xmlRecoverMemory.patch b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp/0001-all-Drop-xmlRecoverMemory.patch
deleted file mode 100644
index a3941f3..0000000
--- a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp/0001-all-Drop-xmlRecoverMemory.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-From 46f13d9929c81ec2340a1a5d48f596b1892c5a81 Mon Sep 17 00:00:00 2001
-From: Jens Georg <mail@jensge.org>
-Date: Thu, 4 May 2023 19:14:29 +0200
-Subject: [PATCH] all: Drop xmlRecoverMemory
-
-use xmlReadMemory, also use NONET flat
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-Upstream-Status: Backport [https://github.com/GNOME/gupnp/commit/80e68995b745a5900eaaa1d0c424d3a9d354e42d]
----
- libgupnp/gupnp-control-point.c | 7 +++++--
- libgupnp/gupnp-service-info.c | 7 +++++--
- libgupnp/gupnp-service-proxy-action.c | 7 +++++--
- libgupnp/gupnp-service-proxy.c | 7 +++++--
- libgupnp/gupnp-service.c | 7 +++++--
- 5 files changed, 25 insertions(+), 10 deletions(-)
-
-diff --git a/libgupnp/gupnp-control-point.c b/libgupnp/gupnp-control-point.c
-index dc04732..99ebda5 100644
---- a/libgupnp/gupnp-control-point.c
-+++ b/libgupnp/gupnp-control-point.c
-@@ -608,8 +608,11 @@ got_description_url (SoupSession *session,
- xmlDoc *xml_doc;
-
- /* Parse response */
-- xml_doc = xmlRecoverMemory (msg->response_body->data,
-- msg->response_body->length);
-+ xml_doc = xmlReadMemory (msg->response_body->data,
-+ msg->response_body->length,
-+ NULL,
-+ NULL,
-+ XML_PARSE_NONET | XML_PARSE_RECOVER);
- if (xml_doc) {
- doc = gupnp_xml_doc_new (xml_doc);
-
-diff --git a/libgupnp/gupnp-service-info.c b/libgupnp/gupnp-service-info.c
-index 9a9f4de..d468801 100644
---- a/libgupnp/gupnp-service-info.c
-+++ b/libgupnp/gupnp-service-info.c
-@@ -592,8 +592,11 @@ got_scpd_url (G_GNUC_UNUSED SoupSession *session,
- if (SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
- xmlDoc *scpd;
-
-- scpd = xmlRecoverMemory (msg->response_body->data,
-- msg->response_body->length);
-+ scpd = xmlReadMemory (msg->response_body->data,
-+ msg->response_body->length,
-+ NULL,
-+ NULL,
-+ XML_PARSE_NONET | XML_PARSE_RECOVER);
- if (scpd) {
- introspection = gupnp_service_introspection_new (scpd);
-
-diff --git a/libgupnp/gupnp-service-proxy-action.c b/libgupnp/gupnp-service-proxy-action.c
-index 4d9336c..ef8a808 100644
---- a/libgupnp/gupnp-service-proxy-action.c
-+++ b/libgupnp/gupnp-service-proxy-action.c
-@@ -86,8 +86,11 @@ check_action_response (G_GNUC_UNUSED GUPnPServiceProxy *proxy,
- }
-
- /* Parse response */
-- response = xmlRecoverMemory (action->msg->response_body->data,
-- action->msg->response_body->length);
-+ response = xmlReadMemory (action->msg->response_body->data,
-+ action->msg->response_body->length,
-+ NULL,
-+ NULL,
-+ XML_PARSE_NONET | XML_PARSE_RECOVER);
-
- if (!response) {
- if (action->msg->status_code == SOUP_STATUS_OK) {
-diff --git a/libgupnp/gupnp-service-proxy.c b/libgupnp/gupnp-service-proxy.c
-index 25d5ef6..af2fd46 100644
---- a/libgupnp/gupnp-service-proxy.c
-+++ b/libgupnp/gupnp-service-proxy.c
-@@ -1560,8 +1560,11 @@ server_handler (G_GNUC_UNUSED SoupServer *soup_server,
- }
-
- /* Parse the actual XML message content */
-- doc = xmlRecoverMemory (msg->request_body->data,
-- msg->request_body->length);
-+ doc = xmlReadMemory (msg->request_body->data,
-+ msg->request_body->length,
-+ NULL,
-+ NULL,
-+ XML_PARSE_NONET | XML_PARSE_RECOVER);
- if (doc == NULL) {
- /* Failed */
- g_warning ("Failed to parse NOTIFY message body");
-diff --git a/libgupnp/gupnp-service.c b/libgupnp/gupnp-service.c
-index 67b3d43..0ebfb26 100644
---- a/libgupnp/gupnp-service.c
-+++ b/libgupnp/gupnp-service.c
-@@ -985,8 +985,11 @@ control_server_handler (SoupServer *server,
- *end = '\0';
-
- /* Parse action_node */
-- doc = xmlRecoverMemory (msg->request_body->data,
-- msg->request_body->length);
-+ doc = xmlReadMemory (msg->request_body->data,
-+ msg->request_body->length,
-+ NULL,
-+ NULL,
-+ XML_PARSE_NONET | XML_PARSE_RECOVER);
- if (doc == NULL) {
- soup_message_set_status (msg, SOUP_STATUS_BAD_REQUEST);
-
diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp/0001-build-properly-spell-provide-in-.wrap-files.patch b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp/0001-build-properly-spell-provide-in-.wrap-files.patch
deleted file mode 100644
index 66f0709..0000000
--- a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp/0001-build-properly-spell-provide-in-.wrap-files.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 7a4515a356a3d5eb2af1f602c77a42a544e71efa Mon Sep 17 00:00:00 2001
-From: Jan Beich <jbeich@FreeBSD.org>
-Date: Sun, 9 Jul 2023 03:30:47 +0000
-Subject: [PATCH] build: properly spell [provide] in *.wrap files
-
-meson.build:1:0: ERROR: Unexpected "[provides]" section, did you mean "[provide]"?
-
-Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
-Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gupnp/-/commit/884639bd29323cbb8fbd36bc69d08097a2ae2cd1]
----
- subprojects/gssdp-1.2.wrap | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/subprojects/gssdp-1.2.wrap b/subprojects/gssdp-1.2.wrap
-index 469c75d..466b83b 100644
---- a/subprojects/gssdp-1.2.wrap
-+++ b/subprojects/gssdp-1.2.wrap
-@@ -3,6 +3,6 @@ url = https://gitlab.gnome.org/GNOME/gssdp.git
- revision = gssdp-1.4
- depth = 1
-
--[provides]
-+[provide]
- dependency_name = gssdp-1.2
-
diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.4.1.bb b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.4.1.bb
deleted file mode 100644
index efeb66f..0000000
--- a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.4.1.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "UPnP framework"
-DESCRIPTION = "GUPnP is an elegant, object-oriented open source framework for creating UPnP devices and control points, written in C using GObject and libsoup. The GUPnP API is intended to be easy to use, efficient and flexible. It provides the same set of features as libupnp, but shields the developer from most of UPnP's internals."
-LICENSE = "LGPL-2.1-or-later"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-DEPENDS = "e2fsprogs gssdp libsoup-2.4 libxml2"
-
-inherit meson pkgconfig vala gobject-introspection
-
-SRC_URI = "${GNOME_MIRROR}/${BPN}/1.4/${BPN}-${PV}.tar.xz \
- file://0001-all-Drop-xmlRecoverMemory.patch \
- file://0001-build-properly-spell-provide-in-.wrap-files.patch \
-"
-SRC_URI[sha256sum] = "899196b5e66f03b8e25f046a7a658cd2a6851becb83f2d55345ab3281655dc0c"
-
-SYSROOT_PREPROCESS_FUNCS += "gupnp_sysroot_preprocess"
-
-gupnp_sysroot_preprocess () {
- install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/
- install -m 755 ${D}${bindir}/gupnp-binding-tool* ${SYSROOT_DESTDIR}${bindir_crossscripts}/
-}
-
-FILES:${PN}-dev += "${bindir}/gupnp-binding-tool*"
-
-RDEPENDS:${PN}-dev = "python3 python3-xml"
diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.6.6.bb b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.6.6.bb
new file mode 100644
index 0000000..f1628d8
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.6.6.bb
@@ -0,0 +1,21 @@
+SUMMARY = "UPnP framework"
+DESCRIPTION = "GUPnP is an elegant, object-oriented open source framework for creating UPnP devices and control points, written in C using GObject and libsoup. The GUPnP API is intended to be easy to use, efficient and flexible. It provides the same set of features as libupnp, but shields the developer from most of UPnP's internals."
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = "e2fsprogs gssdp libsoup-3.0 libxml2"
+
+inherit gnomebase pkgconfig vala gobject-introspection
+
+SRC_URI[archive.sha256sum] = "c9dc50e8c78b3792d1b0e6c5c5f52c93e9345d3dae2891e311a993a574f5a04f"
+
+SYSROOT_PREPROCESS_FUNCS += "gupnp_sysroot_preprocess"
+
+gupnp_sysroot_preprocess () {
+ install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/
+ install -m 755 ${D}${bindir}/gupnp-binding-tool* ${SYSROOT_DESTDIR}${bindir_crossscripts}/
+}
+
+FILES:${PN}-dev += "${bindir}/gupnp-binding-tool*"
+
+RDEPENDS:${PN}-dev += "python3-core python3-xml"
diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp/0001-ithread-Use-pthread_mutexattr_gettype-pthread_mutexa.patch b/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp/0001-ithread-Use-pthread_mutexattr_gettype-pthread_mutexa.patch
deleted file mode 100644
index ee78196..0000000
--- a/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp/0001-ithread-Use-pthread_mutexattr_gettype-pthread_mutexa.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 343a3b724225d3c87af0b268da14d3acb7a5b9a1 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 9 May 2021 15:38:43 -0700
-Subject: [PATCH] ithread: Use
- pthread_mutexattr_gettype/pthread_mutexattr_settype on linux
-
-_np variants are not recommended anymore, and glibc 2.34+ will have
-these removed
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- upnp/inc/ithread.h | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/upnp/inc/ithread.h b/upnp/inc/ithread.h
-index f6800ea9..1d0f9dba 100644
---- a/upnp/inc/ithread.h
-+++ b/upnp/inc/ithread.h
-@@ -304,7 +304,8 @@ static UPNP_INLINE int ithread_cleanup_thread(void)
- * Returns EINVAL if the kind is not supported.
- * See man page for pthread_mutexattr_setkind_np
- *****************************************************************************/
--#if defined(PTHREAD_MUTEX_RECURSIVE) || defined(__DragonFly__)
-+#if defined(PTHREAD_MUTEX_RECURSIVE) || defined(__DragonFly__) \
-+ || defined (__linux__)
- #define ithread_mutexattr_setkind_np pthread_mutexattr_settype
- #else
- #define ithread_mutexattr_setkind_np pthread_mutexattr_setkind_np
-@@ -329,7 +330,8 @@ static UPNP_INLINE int ithread_cleanup_thread(void)
- * Always returns 0.
- * See man page for pthread_mutexattr_getkind_np
- *****************************************************************************/
--#if defined(PTHREAD_MUTEX_RECURSIVE) || defined(__DragonFly__)
-+#if defined(PTHREAD_MUTEX_RECURSIVE) || defined(__DragonFly__) \
-+ || defined (__linux__)
- #define ithread_mutexattr_getkind_np pthread_mutexattr_gettype
- #else
- #define ithread_mutexattr_getkind_np pthread_mutexattr_getkind_np
---
-2.31.1
-
diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_1.14.18.bb b/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_1.14.18.bb
new file mode 100644
index 0000000..5b15d18
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_1.14.18.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Portable SDK for UPnP* Devices"
+DESCRIPTION = "The Portable SDK for UPnP Devices is an SDK for development of \
+UPnP device and control point applications. It consists of the core UPnP \
+protocols along with a UPnP-specific eXtensible Markup Language (XML) parser \
+supporting the Document Object Model (DOM) Level 2 API and an optional, \
+integrated mini web server for serving UPnP related documents."
+HOMEPAGE = "http://pupnp.sourceforge.net/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=394a0f17b97f33426275571e15920434"
+
+SRCREV = "c540ce2431bdeac73359029d4592b45790e1d154"
+SRC_URI = "git://github.com/pupnp/pupnp.git;protocol=https;branch=branch-1.14.x \
+ "
+
+S="${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF += "--enable-reuseaddr"
+
+# Enable LFS support ( for samples )
+CFLAGS += "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE"
+CXXFLAGS += "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE"
diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_1.14.6.bb b/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_1.14.6.bb
deleted file mode 100644
index 81b42da..0000000
--- a/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_1.14.6.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Portable SDK for UPnP* Devices"
-DESCRIPTION = "The Portable SDK for UPnP Devices is an SDK for development of \
-UPnP device and control point applications. It consists of the core UPnP \
-protocols along with a UPnP-specific eXtensible Markup Language (XML) parser \
-supporting the Document Object Model (DOM) Level 2 API and an optional, \
-integrated mini web server for serving UPnP related documents."
-HOMEPAGE = "http://pupnp.sourceforge.net/"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=394a0f17b97f33426275571e15920434"
-
-SRCREV = "cef2b23fb36baac091b0c7d41136b4c1d9549c6d"
-SRC_URI = "git://github.com/pupnp/pupnp.git;protocol=https;branch=branch-1.14.x \
- file://0001-ithread-Use-pthread_mutexattr_gettype-pthread_mutexa.patch \
- "
-
-S="${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF += "--enable-reuseaddr"
-
-# Enable LFS support ( for samples )
-CFLAGS += "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE"
-CXXFLAGS += "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE"
diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.40.4.bb b/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.40.4.bb
deleted file mode 100644
index 8bc8767..0000000
--- a/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.40.4.bb
+++ /dev/null
@@ -1,93 +0,0 @@
-SUMMARY = "A UPnP AV media server and renderer"
-DESCRIPTION = "Rygel is a home media solution (UPnP AV MediaServer) that \
-allow you to easily share audio, video and pictures to other devices. \
-Additionally, media player software may use Rygel to become a MediaRenderer \
-that may be controlled remotely by a UPnP or DLNA Controller."
-HOMEPAGE = "http://live.gnome.org/Rygel"
-
-LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-DEPENDS = "libxml2 glib-2.0 gssdp gupnp gupnp-av gupnp-dlna gstreamer1.0 \
- gstreamer1.0-plugins-base libgee libsoup-2.4 libmediaart-2.0 \
- libunistring sqlite3 intltool-native gst-editing-services"
-
-RDEPENDS:${PN} = "gstreamer1.0-plugins-base-playback shared-mime-info"
-RRECOMMENDS:${PN} = "rygel-plugin-media-export"
-
-inherit gnomebase features_check vala gobject-introspection gettext systemd meson
-
-# gobject-introspection is mandatory for libmediaart-2.0 and cannot be configured
-REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
-
-SRC_URI[archive.sha256sum] = "736d8adbe8615f6cbc8fcfff9845dc985fd10e16629da236b4b52dbedf0a348b"
-
-GNOMEBASEBUILDCLASS = "meson"
-GIR_MESON_ENABLE_FLAG = 'enabled'
-GIR_MESON_DISABLE_FLAG = 'disabled'
-
-EXTRA_OEMESON = "-Dengines=gstreamer -Dplugins=${@strip_comma('${RYGEL_PLUGINS}')}"
-PACKAGECONFIG:append = "${@bb.utils.contains("DISTRO_FEATURES", "x11", " gtk+3", "", d)}"
-
-PACKAGECONFIG ?= "external mpris ruih media-export gst-launch"
-
-PACKAGECONFIG[external] = ""
-PACKAGECONFIG[mpris] = ""
-PACKAGECONFIG[ruih] = ""
-PACKAGECONFIG[media-export] = ""
-PACKAGECONFIG[gst-launch] = ""
-PACKAGECONFIG[lms] = ""
-PACKAGECONFIG[tracker3] = ""
-PACKAGECONFIG[gtk+3] = ",-Dgtk=false,gtk+3"
-
-RYGEL_PLUGINS = ""
-RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'external', ',external', '', d)}"
-RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'mpris', ',mpris', '', d)}"
-RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'ruih', ',ruih', '', d)}"
-RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'gst-launch', ',gst-launch', '', d)}"
-RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'lms', ',lms', '', d)}"
-RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'media-export', ',media-export', '', d)}"
-RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'tracker3', ',tracker3', '', d)}"
-RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'playbin', ',playbin', '', d)}"
-
-LIBV = "2.6"
-
-CFLAGS:append:toolchain-clang = " -Wno-error=int-conversion"
-
-def strip_comma(s):
- return s.strip(',')
-
-do_install:append() {
- # Remove .la files for loadable modules
- rm -f ${D}/${libdir}/rygel-${LIBV}/engines/*.la
- rm -f ${D}/${libdir}/rygel-${LIBV}/plugins/*.la
- if [ -e ${D}${nonarch_libdir}/systemd/user/rygel.service ]; then
- mkdir -p ${D}${systemd_unitdir}/system
- mv ${D}${nonarch_libdir}/systemd/user/rygel.service ${D}${systemd_unitdir}/system
- rmdir --ignore-fail-on-non-empty ${D}${nonarch_libdir}/systemd/user \
- ${D}${nonarch_libdir}/systemd \
- ${D}${nonarch_libdir}
- fi
-}
-
-FILES:${PN} += "${libdir}/rygel-${LIBV}/engines ${datadir}/dbus-1 ${datadir}/icons"
-FILES:${PN}-dbg += "${libdir}/rygel-${LIBV}/engines/.debug ${libdir}/rygel-${LIBV}/plugins/.debug"
-
-PACKAGES += "${PN}-meta"
-ALLOW_EMPTY:${PN}-meta = "1"
-
-PACKAGES_DYNAMIC = "${PN}-plugin-*"
-
-SYSTEMD_SERVICE:${PN} = "rygel.service"
-
-python populate_packages:prepend () {
- rygel_libdir = d.expand('${libdir}/rygel-${LIBV}')
- postinst = d.getVar('plugin_postinst')
- pkgs = []
-
- pkgs += do_split_packages(d, oe.path.join(rygel_libdir, "plugins"), r'librygel-(.*)\.so$', d.expand('${PN}-plugin-%s'), 'Rygel plugin for %s', postinst=postinst, extra_depends=d.expand('${PN}'))
- pkgs += do_split_packages(d, oe.path.join(rygel_libdir, "plugins"), r'(.*)\.plugin$', d.expand('${PN}-plugin-%s'), 'Rygel plugin for %s', postinst=postinst, extra_depends=d.expand('${PN}'))
-
- metapkg = d.getVar('PN') + '-meta'
- d.setVar('RDEPENDS:' + metapkg, ' '.join(pkgs))
-}
diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.42.4.bb b/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.42.4.bb
new file mode 100644
index 0000000..9662296
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.42.4.bb
@@ -0,0 +1,92 @@
+SUMMARY = "A UPnP AV media server and renderer"
+DESCRIPTION = "Rygel is a home media solution (UPnP AV MediaServer) that \
+allow you to easily share audio, video and pictures to other devices. \
+Additionally, media player software may use Rygel to become a MediaRenderer \
+that may be controlled remotely by a UPnP or DLNA Controller."
+HOMEPAGE = "http://live.gnome.org/Rygel"
+
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = "libxml2 glib-2.0 gssdp gupnp gupnp-av gupnp-dlna gstreamer1.0 \
+ gstreamer1.0-plugins-base libgee libsoup libmediaart-2.0 \
+ libunistring sqlite3 intltool-native gst-editing-services"
+
+RDEPENDS:${PN} = "gstreamer1.0-plugins-base-playback shared-mime-info"
+RRECOMMENDS:${PN} = "rygel-plugin-media-export"
+
+inherit gnomebase features_check vala gobject-introspection gettext systemd
+
+# gobject-introspection is mandatory for libmediaart-2.0 and cannot be configured
+REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
+
+SRC_URI[archive.sha256sum] = "6310dfaa2d332b66119b9b020fad6a4bd27d9bc61faf780ca5ca0b62813303f7"
+
+GIR_MESON_ENABLE_FLAG = 'enabled'
+GIR_MESON_DISABLE_FLAG = 'disabled'
+
+EXTRA_OEMESON = "-Dengines=gstreamer -Dplugins=${@strip_comma('${RYGEL_PLUGINS}')}"
+PACKAGECONFIG:append = "${@bb.utils.contains("DISTRO_FEATURES", "x11", " gtk+3", "", d)}"
+
+PACKAGECONFIG ?= "external mpris ruih gst-launch"
+
+PACKAGECONFIG[external] = ""
+PACKAGECONFIG[mpris] = ""
+PACKAGECONFIG[ruih] = ""
+PACKAGECONFIG[media-export] = ""
+PACKAGECONFIG[gst-launch] = ""
+PACKAGECONFIG[lms] = ""
+PACKAGECONFIG[tracker3] = ""
+PACKAGECONFIG[gtk+3] = ",-Dgtk=false,gtk+3"
+
+RYGEL_PLUGINS = ""
+RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'external', ',external', '', d)}"
+RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'mpris', ',mpris', '', d)}"
+RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'ruih', ',ruih', '', d)}"
+RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'gst-launch', ',gst-launch', '', d)}"
+RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'lms', ',lms', '', d)}"
+RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'media-export', ',media-export', '', d)}"
+RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'tracker3', ',tracker3', '', d)}"
+RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'playbin', ',playbin', '', d)}"
+
+LIBV = "2.8"
+
+CFLAGS:append:toolchain-clang = " -Wno-error=int-conversion"
+
+def strip_comma(s):
+ return s.strip(',')
+
+do_install:append() {
+ # Remove .la files for loadable modules
+ rm -f ${D}/${libdir}/rygel-${LIBV}/engines/*.la
+ rm -f ${D}/${libdir}/rygel-${LIBV}/plugins/*.la
+ if [ -e ${D}${nonarch_libdir}/systemd/user/rygel.service ]; then
+ mkdir -p ${D}${systemd_unitdir}/system
+ mv ${D}${nonarch_libdir}/systemd/user/rygel.service ${D}${systemd_unitdir}/system
+ rmdir --ignore-fail-on-non-empty ${D}${nonarch_libdir}/systemd/user \
+ ${D}${nonarch_libdir}/systemd \
+ ${D}${nonarch_libdir}
+ fi
+}
+
+FILES:${PN} += "${libdir}/rygel-${LIBV}/engines ${datadir}/dbus-1 ${datadir}/icons"
+FILES:${PN}-dbg += "${libdir}/rygel-${LIBV}/engines/.debug ${libdir}/rygel-${LIBV}/plugins/.debug"
+
+PACKAGES += "${PN}-meta"
+ALLOW_EMPTY:${PN}-meta = "1"
+
+PACKAGES_DYNAMIC = "${PN}-plugin-*"
+
+SYSTEMD_SERVICE:${PN} = "rygel.service"
+
+python populate_packages:prepend () {
+ rygel_libdir = d.expand('${libdir}/rygel-${LIBV}')
+ postinst = d.getVar('plugin_postinst')
+ pkgs = []
+
+ pkgs += do_split_packages(d, oe.path.join(rygel_libdir, "plugins"), r'librygel-(.*)\.so$', d.expand('${PN}-plugin-%s'), 'Rygel plugin for %s', postinst=postinst, extra_depends=d.expand('${PN}'))
+ pkgs += do_split_packages(d, oe.path.join(rygel_libdir, "plugins"), r'(.*)\.plugin$', d.expand('${PN}-plugin-%s'), 'Rygel plugin for %s', postinst=postinst, extra_depends=d.expand('${PN}'))
+
+ metapkg = d.getVar('PN') + '-meta'
+ d.setVar('RDEPENDS:' + metapkg, ' '.join(pkgs))
+}
diff --git a/meta-openembedded/meta-multimedia/recipes-mkv/libebml/libebml/ldflags.patch b/meta-openembedded/meta-multimedia/recipes-mkv/libebml/libebml/ldflags.patch
deleted file mode 100644
index a01c754..0000000
--- a/meta-openembedded/meta-multimedia/recipes-mkv/libebml/libebml/ldflags.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-Use LD and obey LDFLAGS
-
-Signed-off-by: Christopher Larson <chris_larson@mentor.com>
-Upstream-Status: Pending
-
-diff --git a/make/linux/Makefile b/make/linux/Makefile
-index 391b6e3..a2ac13e 100644
---- a/make/linux/Makefile
-+++ b/make/linux/Makefile
-@@ -64,6 +64,7 @@ objects_so:=$(patsubst %$(EXTENSION),%.lo,$(sources))
- WARNINGFLAGS=-Wall -Wextra -Wno-unknown-pragmas -ansi -fno-gnu-keywords -Wshadow
- COMPILEFLAGS=$(WARNINGFLAGS) $(CXXFLAGS) $(CPPFLAGS) $(DEBUGFLAGS) $(INCLUDE)
- DEPENDFLAGS = $(CXXFLAGS) $(INCLUDE)
-+LINKFLAGS=$(LDFLAGS)
-
- ifeq (Darwin,$(shell uname -s))
- all: staticlib
-@@ -91,7 +92,7 @@ $(LIBRARY): $(objects)
- $(RANLIB) $@
-
- $(LIBRARY_SO): $(objects_so)
-- $(CXX) -shared -Wl,-soname,$(LIBRARY_SO_VER) -o $(LIBRARY_SO_VER) $(objects_so)
-+ $(LD) $(LINKFLAGS) -shared -Wl,-soname,$(LIBRARY_SO_VER) -o $(LIBRARY_SO_VER) $(objects_so)
- rm -f $(LIBRARY_SO)
- ln -s $(LIBRARY_SO_VER) $(LIBRARY_SO)
-
-diff --git a/make/mingw32/Makefile b/make/mingw32/Makefile
-index e5986ef..6ca16aa 100644
---- a/make/mingw32/Makefile
-+++ b/make/mingw32/Makefile
-@@ -18,6 +18,7 @@ DEBUGFLAGS=-g -DDEBUG
- endif
- CROSS =
- CXX = $(CROSS)g++
-+LD = $(CXX)
- CC = $(CROSS)gcc
- WINDRES = $(CROSS)windres
- RANLIB = $(CROSS)ranlib
-@@ -33,6 +34,7 @@ LIBS = libebml.a
- endif
- INCS = -I"$(shell pwd)/../.."
- COMPILEFLAGS = $(DEBUGFLAGS) $(INCS) $(DLLFLAGS) $(CXXFLAGS)
-+LINKFLAGS = $(LDFLAGS)
-
- .PHONY: all all-before all-after clean clean-custom
-
-@@ -54,7 +56,7 @@ libebml.a: $(OBJ)
- $(RANLIB) $@
-
- libebml.dll: $(OBJ)
-- $(CXX) -shared -Wl,--export-all -Wl,--out-implib=$@.a -o $@ $(OBJ)
-+ $(LD) $(LINKFLAGS) -shared -Wl,--export-all -Wl,--out-implib=$@.a -o $@ $(OBJ)
-
- depend:
- @echo Calculating dependecies:
---
-2.8.0
diff --git a/meta-openembedded/meta-multimedia/recipes-mkv/libebml/libebml/override-uname.patch b/meta-openembedded/meta-multimedia/recipes-mkv/libebml/libebml/override-uname.patch
deleted file mode 100644
index 57eb345..0000000
--- a/meta-openembedded/meta-multimedia/recipes-mkv/libebml/libebml/override-uname.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-Allow override of the 'uname -s' for cross-compilation
-
-Signed-off-by: Christopher Larson <chris_larson@mentor.com>
-Upstream-Status: Pending
-
-diff --git a/make/linux/Makefile b/make/linux/Makefile
-index a2ac13e..4188bee 100644
---- a/make/linux/Makefile
-+++ b/make/linux/Makefile
-@@ -9,9 +9,11 @@
- # 'make DEBUG=yes'.
- #
-
-+TARGET_OS ?= $(shell uname -s)
-+
- # Paths
- # BeOS wants the libs and headers in /boot/home/config
--ifeq (BeOS,$(shell uname -s))
-+ifeq (BeOS,$(TARGET_OS))
- prefix=/boot/home/config
- else
- prefix=/usr/local
-@@ -66,7 +68,7 @@ COMPILEFLAGS=$(WARNINGFLAGS) $(CXXFLAGS) $(CPPFLAGS) $(DEBUGFLAGS) $(INCLUDE)
- DEPENDFLAGS = $(CXXFLAGS) $(INCLUDE)
- LINKFLAGS=$(LDFLAGS)
-
--ifeq (Darwin,$(shell uname -s))
-+ifeq (Darwin,$(TARGET_OS))
- all: staticlib
- else
- all: staticlib sharedlib
-@@ -116,7 +118,7 @@ depend:
- $(CXX) $(DEPENDFLAGS) -MM -MT $$o $$i >> .depend ; \
- done
-
--ifeq (Darwin,$(shell uname -s))
-+ifeq (Darwin,$(TARGET_OS))
- install: install_staticlib install_headers
- else
- install: install_staticlib install_sharedlib install_headers
---
-2.8.0
diff --git a/meta-openembedded/meta-multimedia/recipes-mkv/libebml/libebml_1.3.0.bb b/meta-openembedded/meta-multimedia/recipes-mkv/libebml/libebml_1.3.0.bb
deleted file mode 100644
index 744486f..0000000
--- a/meta-openembedded/meta-multimedia/recipes-mkv/libebml/libebml_1.3.0.bb
+++ /dev/null
@@ -1,59 +0,0 @@
-SUMMARY = "libebml is a C++ libary to parse EBML files"
-LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=7fbc338309ac38fefcd64b04bb903e34"
-
-SRC_URI = "\
- http://dl.matroska.org/downloads/libebml/libebml-${PV}.tar.bz2 \
- file://ldflags.patch \
- file://override-uname.patch \
-"
-SRC_URI[md5sum] = "efec729bf5a51e649e1d9d1f61c0ae7a"
-SRC_URI[sha256sum] = "83b074d6b62715aa0080406ea84d33df2e44b5d874096640233a4db49b8096de"
-
-inherit dos2unix
-
-LIBEBML_OS = "Unknown"
-LIBEBML_OS_linux = "Linux"
-LIBEBML_OS:darwin = "Darwin"
-LIBEBML_OS:mingw32 = "Windows"
-
-EXTRA_OEMAKE = "\
- 'TARGET_OS=${LIBEBML_OS}' \
- \
- 'CXX=${CXX}' \
- 'LD=${CXX}' \
- 'AR=${AR}' \
- 'RANLIB=${RANLIB}' \
- \
- 'DEBUGFLAGS=' \
- 'CPPFLAGS=${CPPFLAGS}' \
- 'CXXFLAGS=${CXXFLAGS}' \
- 'LDFLAGS=${LDFLAGS}' \
- \
- 'prefix=${prefix}' \
- 'libdir=${libdir}' \
- 'includedir=${includedir}/ebml' \
-"
-
-do_compile () {
- oe_runmake -C make/linux
-}
-
-do_install() {
- cd ${S}/make/linux
-
- install -d ${D}${libdir}
- install -m 0644 libebml.a ${D}${libdir}
- install -m 0755 libebml.so.* ${D}${libdir}
- cp -R --no-dereference --preserve=mode,links -v libebml.so ${D}${libdir}
-
- install -d ${D}${includedir}/ebml
- for i in ../../ebml/*.h; do
- install -m 0644 $i ${D}${includedir}/ebml
- done
-
- install -d ${D}${includedir}/ebml/c
- for i in ../../ebml/c/*.h; do
- install -m 0644 $i ${D}${includedir}/ebml/c
- done
-}
diff --git a/meta-openembedded/meta-multimedia/recipes-mkv/libebml/libebml_1.4.4.bb b/meta-openembedded/meta-multimedia/recipes-mkv/libebml/libebml_1.4.4.bb
new file mode 100644
index 0000000..3e37e7d
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-mkv/libebml/libebml_1.4.4.bb
@@ -0,0 +1,14 @@
+SUMMARY = "C++ library to parse EBML files"
+HOMEPAGE = "https://github.com/Matroska-Org/libebml"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "git://github.com/Matroska-Org/libebml.git;branch=v1.x;protocol=https"
+SRCREV = "8330b222fec992b295c8b2149cf70f9ff648ce4a"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig cmake dos2unix
+
+EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON"
+
diff --git a/meta-openembedded/meta-multimedia/recipes-mkv/libmatroska/libmatroska/0001-Makefile-Use-LINKFLAGS-during-link-step.patch b/meta-openembedded/meta-multimedia/recipes-mkv/libmatroska/libmatroska/0001-Makefile-Use-LINKFLAGS-during-link-step.patch
deleted file mode 100644
index f765691..0000000
--- a/meta-openembedded/meta-multimedia/recipes-mkv/libmatroska/libmatroska/0001-Makefile-Use-LINKFLAGS-during-link-step.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From f0c879097c331d1dabe6ee92b583a8badb62ea6d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 18 Mar 2017 08:26:35 -0700
-Subject: [PATCH] Makefile: Use LINKFLAGS during link step
-
-Adds much needed GNU_HASH section into the .so
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- make/linux/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/make/linux/Makefile b/make/linux/Makefile
-index 3ca7b0f..b5c9645 100644
---- a/make/linux/Makefile
-+++ b/make/linux/Makefile
-@@ -104,7 +104,7 @@ $(LIBRARY): $(objects)
- $(RANLIB) $@
-
- $(LIBRARY_SO): $(objects_so)
-- $(CXX) -shared -Wl,-soname,$(LIBRARY_SO_VER) -o $(LIBRARY_SO_VER) $(objects_so) -lebml
-+ $(CXX) $(LINKFLAGS) -shared -Wl,-soname,$(LIBRARY_SO_VER) -o $(LIBRARY_SO_VER) $(objects_so) -lebml
- rm -f $(LIBRARY_SO)
- ln -s $(LIBRARY_SO_VER) $(LIBRARY_SO)
-
---
-2.12.0
-
diff --git a/meta-openembedded/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.4.1.bb b/meta-openembedded/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.4.1.bb
deleted file mode 100644
index 890be69..0000000
--- a/meta-openembedded/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.4.1.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "libmatroska is a C++ libary to parse Matroska files (.mkv and .mka)"
-LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=4fbd65380cdd255951079008b364516c"
-
-DEPENDS = "libebml"
-
-SRC_URI = "http://dl.matroska.org/downloads/${BPN}/${BPN}-${PV}.tar.bz2 \
- file://0001-Makefile-Use-LINKFLAGS-during-link-step.patch \
- "
-SRC_URI[md5sum] = "f61b2e5086f4bb9d24a43cc8af43a719"
-SRC_URI[sha256sum] = "086f21873e925679babdabf793c3bb85c353d0cd79423543a3355e08e8a4efb7"
-
-EXTRA_OEMAKE = "-e MAKEFLAGS="
-
-do_compile() {
- cd ${S}/make/linux
- oe_runmake CROSS="${TARGET_PREFIX}"
-}
-
-do_install() {
- cd ${S}/make/linux
-
- install -d ${D}${libdir}
- install -m 0644 libmatroska.a ${D}${libdir}
- install -m 0755 libmatroska.so.* ${D}${libdir}
- cp -R --no-dereference --preserve=mode,links -v libmatroska.so ${D}${libdir}
-
- install -d ${D}${includedir}/matroska
- for i in ../../matroska/*.h; do
- install -m 0644 $i ${D}${includedir}/matroska
- done
-
- install -d ${D}${includedir}/matroska/c
- for i in ../../matroska/c/*.h; do
- install -m 0644 $i ${D}${includedir}/matroska/c
- done
-}
diff --git a/meta-openembedded/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.7.1.bb b/meta-openembedded/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.7.1.bb
new file mode 100644
index 0000000..16862e6
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.7.1.bb
@@ -0,0 +1,16 @@
+SUMMARY = "C++ library to parse and create Matroska files(.mkv and .mka)"
+HOMEPAGE = "https://github.com/Matroska-Org/libmatroska"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = "libebml"
+
+SRC_URI = "git://github.com/Matroska-Org/libmatroska.git;branch=v1.x;protocol=https"
+SRCREV = "f5315fddda2d434e47035c038549a808d8b8eac7"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig cmake
+
+#Static library enabled by default. It has been added in case you want to use it dynamically.
+#EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/aom/aom_3.6.1.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/aom/aom_3.6.1.bb
deleted file mode 100644
index 45dd487..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/aom/aom_3.6.1.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "Alliance for Open Media - AV1 Codec Library"
-DESCRIPTION = "Alliance for Open Media AV1 codec library"
-
-LICENSE = "BSD-2-Clause & AOM-Patent-License-1.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=6ea91368c1bbdf877159435572b931f5 \
- file://PATENTS;md5=a111d47497d3bb49e04eef71377eb8ba \
- "
-SRCREV = "7ade96172b95adc91a5d85bf80c90989cd543ee8"
-SRC_URI = "git://aomedia.googlesource.com/aom;protocol=https;branch=main \
- file://0001-subpel_variance_neon-Provide-prototypes-for-missing-.patch"
-
-S = "${WORKDIR}/git"
-
-inherit cmake pkgconfig
-
-DEPENDS = " nasm-native"
-
-EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=1 -DENABLE_TESTS=0 \
- -DPERL_EXECUTABLE=${HOSTTOOLS_DIR}/perl \
- "
-CMAKE_VERBOSE = "VERBOSE=1"
-CFLAGS:append:libc-musl = " -D_GNU_SOURCE"
-EXTRA_OECMAKE:append:arm = " ${@bb.utils.contains("TUNE_FEATURES","neon","-DENABLE_NEON=ON","-DENABLE_NEON=OFF",d)}"
-
-do_generate_toolchain_file:append() {
- echo "set(AOM_AS_FLAGS --debug-prefix-map ${S}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR})" >> ${WORKDIR}/toolchain.cmake
-}
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/aom/aom_3.7.0.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/aom/aom_3.7.0.bb
new file mode 100644
index 0000000..776dfa8
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/aom/aom_3.7.0.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Alliance for Open Media - AV1 Codec Library"
+DESCRIPTION = "Alliance for Open Media AV1 codec library"
+
+LICENSE = "BSD-2-Clause & AOM-Patent-License-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=6ea91368c1bbdf877159435572b931f5 \
+ file://PATENTS;md5=a111d47497d3bb49e04eef71377eb8ba \
+ "
+SRCREV = "6054fae218eda6e53e1e3b4f7ef0fff4877c7bf1"
+SRC_URI = "git://aomedia.googlesource.com/aom;protocol=https;branch=main \
+ file://0001-subpel_variance_neon-Provide-prototypes-for-missing-.patch"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig
+
+DEPENDS = " nasm-native"
+
+EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=1 -DENABLE_TESTS=0 \
+ -DPERL_EXECUTABLE=${HOSTTOOLS_DIR}/perl \
+ "
+CMAKE_VERBOSE = "VERBOSE=1"
+CFLAGS:append:libc-musl = " -D_GNU_SOURCE"
+EXTRA_OECMAKE:append:arm = " -DENABLE_NEON=OFF"
+
+do_generate_toolchain_file:append() {
+ echo "set(AOM_AS_FLAGS --debug-prefix-map ${S}=${TARGET_DBGSRC_DIR})" >> ${WORKDIR}/toolchain.cmake
+}
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/dav1d/dav1d_1.2.0.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/dav1d/dav1d_1.2.0.bb
deleted file mode 100644
index 5d43921..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/dav1d/dav1d_1.2.0.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "dav1d AV1 decoder"
-DESCRIPTION = "Targeted to be small, portable and fast."
-HOMEPAGE = "https://code.videolan.org/videolan/dav1d"
-SECTION = "multimedia"
-LICENSE = "BSD-2-Clause"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=c8055cfe7548dfdaa3a6dc45d8793669"
-
-SRC_URI = "git://code.videolan.org/videolan/dav1d.git;protocol=https;branch=master"
-SRCREV = "676a864a11af2c0522e1f992e770589543894686"
-
-S = "${WORKDIR}/git"
-
-DEPENDS:append:x86 = " nasm-native"
-DEPENDS:append:x86-64 = " nasm-native"
-
-inherit meson
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/dav1d/dav1d_1.3.0.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/dav1d/dav1d_1.3.0.bb
new file mode 100644
index 0000000..2d5049b
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/dav1d/dav1d_1.3.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "dav1d AV1 decoder"
+DESCRIPTION = "Targeted to be small, portable and fast."
+HOMEPAGE = "https://code.videolan.org/videolan/dav1d"
+SECTION = "multimedia"
+LICENSE = "BSD-2-Clause"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=c8055cfe7548dfdaa3a6dc45d8793669"
+
+SRC_URI = "git://code.videolan.org/videolan/dav1d.git;protocol=https;branch=master"
+SRCREV = "48035599cdd4e4415732e408c407e0c1cd1c7444"
+
+S = "${WORKDIR}/git"
+
+DEPENDS:append:x86 = " nasm-native"
+DEPENDS:append:x86-64 = " nasm-native"
+
+inherit meson
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-connector-dbus_0.3.0.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-connector-dbus_0.3.0.bb
index 033854f..bed5af9 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-connector-dbus_0.3.0.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-connector-dbus_0.3.0.bb
@@ -16,3 +16,5 @@
FILES:${PN} += "${libdir}/dleyna-1.0/connectors/*.so"
FILES:${PN}-dev += "${libdir}/dleyna-1.0/connectors/*.la"
FILES:${PN}-dbg += "${libdir}/dleyna-1.0/connectors/.debug/*.so"
+
+SKIP_RECIPE[dleyna-connector-dbus] ?= "Upstream is dead moreover needs porting to work with latest gupnp >= 1.2"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-core_0.6.0.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-core_0.6.0.bb
index eafbb50..8aaab78 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-core_0.6.0.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-core_0.6.0.bb
@@ -11,10 +11,12 @@
DEPENDS = "glib-2.0 gupnp"
-PV .= "+git${SRCPV}"
+PV .= "+git"
SRC_URI = "git://github.com/01org/${BPN}.git;branch=master;protocol=https"
SRCREV = "1c6853f5bc697dc0a8774fd70dbc915c4dbe7c5b"
S = "${WORKDIR}/git"
inherit autotools pkgconfig
+
+SKIP_RECIPE[dleyna-core] ?= "Upstream is dead moreover needs porting to work with latest gupnp >= 1.2"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-renderer_0.6.0.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-renderer_0.6.0.bb
index e7f9183..a385a50 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-renderer_0.6.0.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-renderer_0.6.0.bb
@@ -23,3 +23,5 @@
FILES:${PN} += "${datadir}/dbus-1"
FILES:${PN}-dev += "${libdir}/${BPN}/*.so"
+
+SKIP_RECIPE[dleyna-renderer] ?= "Upstream is dead moreover needs porting to work with latest gupnp >= 1.2"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-server_0.6.0.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-server_0.6.0.bb
index 0713797..719aece 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-server_0.6.0.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/dleyna/dleyna-server_0.6.0.bb
@@ -20,3 +20,5 @@
FILES:${PN} += "${datadir}/dbus-1"
FILES:${PN}-dev += "${libdir}/${BPN}/*.so"
+
+SKIP_RECIPE[dleyna-server] ?= "Upstream is dead moreover needs porting to work with latest gupnp >= 1.2"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/fdk-aac/fdk-aac_2.0.1.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/fdk-aac/fdk-aac_2.0.1.bb
deleted file mode 100644
index c499119..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/fdk-aac/fdk-aac_2.0.1.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "FDK-AAC audio codec"
-
-DESCRIPTION = "The Fraunhofer FDK AAC Codec Library for Android \
-(\"FDK AAC Codec\") is software that implements the MPEG \
-Advanced Audio Coding (\"AAC\") encoding and decoding scheme \
-for digital audio."
-
-HOMEPAGE = "https://www.iis.fraunhofer.de/en/ff/amm/impl.html"
-
-LICENSE = "Fraunhofer_FDK_AAC_Codec_Library_for_Android"
-LICENSE_FLAGS = "commercial"
-LIC_FILES_CHKSUM = "file://NOTICE;md5=5985e1e12f4afa710d64ed7bfd291875"
-
-SRC_URI = "git://github.com/mstorsjo/fdk-aac.git;protocol=https;branch=master"
-SRCREV = "d387d3b6ed79ff9a82c60440bdd86e6e5e324bec"
-
-S = "${WORKDIR}/git"
-
-SRC_URI[md5sum] = "fef453b5d6ee28ff302c600b8cded3e7"
-SRC_URI[sha256sum] = "07c2a64b098eb48b2e9d729d5e778c08f7d22f28adc8da7c3f92c58da1cbbd8e"
-
-inherit autotools
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/fdk-aac/fdk-aac_2.0.2.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/fdk-aac/fdk-aac_2.0.2.bb
new file mode 100644
index 0000000..55475b4
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/fdk-aac/fdk-aac_2.0.2.bb
@@ -0,0 +1,22 @@
+SUMMARY = "FDK-AAC audio codec"
+
+DESCRIPTION = "The Fraunhofer FDK AAC Codec Library for Android \
+(\"FDK AAC Codec\") is software that implements the MPEG \
+Advanced Audio Coding (\"AAC\") encoding and decoding scheme \
+for digital audio."
+
+HOMEPAGE = "https://www.iis.fraunhofer.de/en/ff/amm/impl.html"
+
+LICENSE = "Fraunhofer_FDK_AAC_Codec_Library_for_Android"
+LICENSE_FLAGS = "commercial"
+LIC_FILES_CHKSUM = "file://NOTICE;md5=5985e1e12f4afa710d64ed7bfd291875"
+
+SRC_URI = "git://github.com/mstorsjo/fdk-aac.git;protocol=https;branch=master"
+SRCREV = "801f67f671929311e0c9952c5f92d6e147c7b003"
+
+S = "${WORKDIR}/git"
+
+SRC_URI[md5sum] = "fef453b5d6ee28ff302c600b8cded3e7"
+SRC_URI[sha256sum] = "07c2a64b098eb48b2e9d729d5e778c08f7d22f28adc8da7c3f92c58da1cbbd8e"
+
+inherit autotools
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_2.3.4.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_2.3.4.bb
new file mode 100644
index 0000000..dc05832
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_2.3.4.bb
@@ -0,0 +1,39 @@
+SUMMARY = "Fluidsynth is a software synthesizer"
+HOMEPAGE = "http://www.fluidsynth.org/"
+SECTION = "libs/multimedia"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fc178bcd425090939a8b634d1d6a9594"
+
+DEPENDS = "glib-2.0"
+
+SRC_URI = " \
+ git://github.com/FluidSynth/fluidsynth.git;branch=master;protocol=https \
+ file://0002-fluid_synth_nwrite_float-Allow-zero-pointer-for-left.patch \
+ file://0003-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch \
+"
+SRCREV = "5ecdc4568e45123216c6888892caad07918ef127"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig lib_package
+
+EXTRA_OECMAKE = "-Denable-floats=ON -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}"
+
+do_install:append() {
+ sed -i -e 's|${STAGING_LIBDIR}|${libdir}|g' ${D}${libdir}/pkgconfig/fluidsynth.pc
+ sed -i -e 's|${STAGING_LIBDIR}|${libdir}|g' ${D}${libdir}/cmake/fluidsynth/FluidSynthTargets.cmake
+}
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio pipewire systemd alsa dbus', d)}"
+PACKAGECONFIG[alsa] = "-Denable-alsa=ON,-Denable-alsa=OFF,alsa-lib"
+PACKAGECONFIG[dbus] = "-Denable-dbus=ON,-Denable-dbus=OFF,dbus"
+PACKAGECONFIG[jack] = "-Denable-jack=ON,-Denable-jack=OFF,jack"
+PACKAGECONFIG[oss] = "-Denable-oss=ON,-Denable-oss=OFF"
+PACKAGECONFIG[pipewire] = "-Denable-pipewire=ON,-Denable-pipewire=OFF,pipewire"
+PACKAGECONFIG[portaudio] = "-Denable-portaudio=ON,-Denable-portaudio=OFF,portaudio-v19"
+PACKAGECONFIG[profiling] = "-Denable-profiling=ON,-Denable-profiling=OFF"
+PACKAGECONFIG[pulseaudio] = "-Denable-pulseaudio=ON,-Denable-pulseaudio=OFF,pulseaudio"
+PACKAGECONFIG[readline] = "-Denable-readline=ON,-Denable-readline=OFF,readline"
+PACKAGECONFIG[sdl] = "-Denable-sdl2=ON,-Denable-sdl2=OFF,libsdl2"
+PACKAGECONFIG[sndfile] = "-Denable-libsndfile=ON,-Denable-libsndfile=OFF,libsndfile1"
+PACKAGECONFIG[systemd] = "-Denable-systemd=ON,-Denable-systemd=OFF,systemd"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_git.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_git.bb
deleted file mode 100644
index a1083af..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_git.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-SUMMARY = "Fluidsynth is a software synthesizer"
-HOMEPAGE = "http://www.fluidsynth.org/"
-SECTION = "libs/multimedia"
-LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=fc178bcd425090939a8b634d1d6a9594"
-
-SRC_URI = "git://github.com/FluidSynth/fluidsynth.git;branch=master;protocol=https"
-SRCREV = "4d8fe638e1a48660a4c843d493f69a86579e12f0"
-S = "${WORKDIR}/git"
-PV = "2.3.2"
-
-inherit cmake pkgconfig lib_package
-
-DEPENDS = "glib-2.0"
-
-SRC_URI += " \
- file://0002-fluid_synth_nwrite_float-Allow-zero-pointer-for-left.patch \
- file://0003-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch \
-"
-
-EXTRA_OECMAKE = "-Denable-floats=ON -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}"
-
-do_install:append() {
- sed -i -e 's|${STAGING_LIBDIR}|${libdir}|g' ${D}${libdir}/pkgconfig/fluidsynth.pc
- sed -i -e 's|${STAGING_LIBDIR}|${libdir}|g' ${D}${libdir}/cmake/fluidsynth/FluidSynthTargets.cmake
-}
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio pipewire systemd alsa dbus', d)}"
-PACKAGECONFIG[alsa] = "-Denable-alsa=ON,-Denable-alsa=OFF,alsa-lib"
-PACKAGECONFIG[dbus] = "-Denable-dbus=ON,-Denable-dbus=OFF,dbus"
-PACKAGECONFIG[jack] = "-Denable-jack=ON,-Denable-jack=OFF,jack"
-PACKAGECONFIG[oss] = "-Denable-oss=ON,-Denable-oss=OFF"
-PACKAGECONFIG[pipewire] = "-Denable-pipewire=ON,-Denable-pipewire=OFF,pipewire"
-PACKAGECONFIG[portaudio] = "-Denable-portaudio=ON,-Denable-portaudio=OFF,portaudio-v19"
-PACKAGECONFIG[profiling] = "-Denable-profiling=ON,-Denable-profiling=OFF"
-PACKAGECONFIG[pulseaudio] = "-Denable-pulseaudio=ON,-Denable-pulseaudio=OFF,pulseaudio"
-PACKAGECONFIG[readline] = "-Denable-readline=ON,-Denable-readline=OFF,readline"
-PACKAGECONFIG[sdl] = "-Denable-sdl2=ON,-Denable-sdl2=OFF,libsdl2"
-PACKAGECONFIG[sndfile] = "-Denable-libsndfile=ON,-Denable-libsndfile=OFF,libsndfile1"
-PACKAGECONFIG[systemd] = "-Denable-systemd=ON,-Denable-systemd=OFF,systemd"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera/0001-Fix-build-with-fmt-9.0.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera/0001-Fix-build-with-fmt-9.0.patch
deleted file mode 100644
index bb8e438..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera/0001-Fix-build-with-fmt-9.0.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From d7b8fafbc94405c20753fed569abd8878cccde89 Mon Sep 17 00:00:00 2001
-From: Felix Yan <felixonmars@archlinux.org>
-Date: Fri, 19 Aug 2022 15:22:10 +0300
-Subject: [PATCH] Fix build with fmt 9.0
-
-Fixes #2681
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/database/sql_format.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/database/sql_format.h b/src/database/sql_format.h
-index 32dc00ef..e4e1909a 100644
---- a/src/database/sql_format.h
-+++ b/src/database/sql_format.h
-@@ -42,7 +42,7 @@ struct SQLIdentifier {
- template <>
- struct fmt::formatter<SQLIdentifier> : formatter<std::string_view> {
- template <typename FormatContext>
-- auto format(const SQLIdentifier& tn, FormatContext& ctx) -> decltype(ctx.out())
-+ auto format(const SQLIdentifier& tn, FormatContext& ctx) const -> decltype(ctx.out())
- {
- return format_to(ctx.out(), "{}{}{}", tn.quote_begin, tn.name, tn.quote_end);
- }
-@@ -61,7 +61,7 @@ struct ColumnUpdate {
- template <>
- struct fmt::formatter<ColumnUpdate> : formatter<std::string_view> {
- template <typename FormatContext>
-- auto format(const ColumnUpdate& a, FormatContext& ctx) -> decltype(ctx.out())
-+ auto format(const ColumnUpdate& a, FormatContext& ctx) const -> decltype(ctx.out())
- {
- return format_to(ctx.out(), "{} = {}", a.column, a.value);
- }
---
-2.38.0.rc1.362.ged0d419d3c-goog
-
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera_1.11.0.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera_1.11.0.bb
deleted file mode 100644
index 2a6d328..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera_1.11.0.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-Description = "Gerbera - An UPnP media server"
-
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=25cdec9afe3f1f26212ead6bd2f7fac8"
-
-SRC_URI = "git://github.com/gerbera/gerbera.git;protocol=https;branch=master \
- file://0001-Fix-build-with-fmt-9.0.patch \
- file://0001-Fix-build-against-fmt-10.patch \
- "
-
-SRCREV = "d73d8c1346213d784753c02ea771970500e0df2a"
-
-S = "${WORKDIR}/git"
-
-DEPENDS = "expat fmt spdlog pugixml libebml libmatroska zlib curl libupnp e2fsprogs sqlite3 libnsl2"
-
-SYSTEMD_SERVICE:${PN} = "gerbera.service"
-
-inherit cmake pkgconfig systemd
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=TRUE,-DWITH_SYSTEMD=FALSE,systemd"
-PACKAGECONFIG[taglib] = "-DWITH_TAGLIB=TRUE,-DWITH_TAGLIB=FALSE,taglib"
-EXTRA_OECMAKE = "-DWITH_JS=FALSE -DWITH_MAGIC=FALSE -DWITH_EXIF=FALSE -DLIBUUID_INCLUDE_DIRS=${STAGING_INCDIR} -DLIBUUID_LIBRARIES=-luuid"
-
-do_install:append() {
- install -d ${D}/root/.config/
-}
-
-FILES:${PN} += "/root/.config/"
-
-SECURITY_CFLAGS:riscv64 = "${SECURITY_NOPIE_CFLAGS}"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera_1.12.1.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera_1.12.1.bb
new file mode 100644
index 0000000..89cc51e
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera_1.12.1.bb
@@ -0,0 +1,31 @@
+Description = "Gerbera - An UPnP media server"
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=25cdec9afe3f1f26212ead6bd2f7fac8"
+
+SRC_URI = "git://github.com/gerbera/gerbera.git;protocol=https;branch=master \
+ file://0001-Fix-build-against-fmt-10.patch \
+ "
+
+SRCREV = "559e1d1a92f5977ce8cff7393aa85330dbf2d1d6"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "expat fmt spdlog pugixml libebml libmatroska zlib curl libupnp e2fsprogs sqlite3 libnsl2"
+
+SYSTEMD_SERVICE:${PN} = "gerbera.service"
+
+inherit cmake pkgconfig systemd
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=TRUE,-DWITH_SYSTEMD=FALSE,systemd"
+PACKAGECONFIG[taglib] = "-DWITH_TAGLIB=TRUE,-DWITH_TAGLIB=FALSE,taglib"
+EXTRA_OECMAKE = "-DWITH_JS=FALSE -DWITH_MAGIC=FALSE -DWITH_EXIF=FALSE -DLIBUUID_INCLUDE_DIRS=${STAGING_INCDIR} -DLIBUUID_LIBRARIES=-luuid"
+
+do_install:append() {
+ install -d ${D}/root/.config/
+}
+
+FILES:${PN} += "/root/.config/"
+
+SECURITY_CFLAGS:riscv64 = "${SECURITY_NOPIE_CFLAGS}"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_0.8.1.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_0.8.1.bb
new file mode 100644
index 0000000..8a839e0
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_0.8.1.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Gst-Shark Tracers"
+DESCRIPTION = "Benchmarks and profiling tools for GStreamer"
+HOMEPAGE = "https://developer.ridgerun.com/wiki/index.php?title=GstShark"
+SECTION = "multimedia"
+
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e1caa368743492879002ad032445fa97"
+
+DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad "
+
+SRCBRANCH ?= "master"
+
+SRCREV = "09ba05865dacd2824b5b40ab75a4b9545fcc1366"
+SRCREV_common = "b64f03f6090245624608beb5d2fff335e23a01c0"
+SRCREV_FORMAT = "default_common"
+SRC_URI = " \
+ git://github.com/RidgeRun/gst-shark.git;protocol=https;branch=${SRCBRANCH} \
+ git://gitlab.freedesktop.org/gstreamer/common.git;protocol=https;branch=master;destsuffix=git/common;name=common \
+ file://0001-tracers-Fix-buffer-overflow.patch \
+"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECONF += " \
+ --disable-graphviz \
+ --enable-gtk-doc=no \
+"
+
+FILES:${PN} += "\
+ ${libdir}/gstreamer-1.0/libgstsharktracers.so \
+ ${libdir}/gstreamer-1.0/libgstsharktracers.la \
+"
+
+inherit autotools gettext pkgconfig
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_git.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_git.bb
deleted file mode 100644
index 4e50897..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_git.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "Gst-Shark Tracers"
-DESCRIPTION = "Benchmarks and profiling tools for GStreamer"
-HOMEPAGE = "https://developer.ridgerun.com/wiki/index.php?title=GstShark"
-SECTION = "multimedia"
-LICENSE = "GPL-2.0-or-later"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=e1caa368743492879002ad032445fa97"
-
-DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad "
-
-SRCBRANCH ?= "master"
-
-PV = "0.7.3.1"
-
-SRCREV_base = "5413ef5475e5b70476c2480a75ca3746d91d4caf"
-SRCREV_common = "b64f03f6090245624608beb5d2fff335e23a01c0"
-SRCREV_FORMAT = "base_common"
-SRC_URI = " \
- git://github.com/RidgeRun/gst-shark.git;protocol=https;branch=${SRCBRANCH};name=base \
- git://gitlab.freedesktop.org/gstreamer/common.git;protocol=https;destsuffix=git/common;name=common;;branch=master \
- file://0001-tracers-Fix-buffer-overflow.patch \
- "
-
-S = "${WORKDIR}/git"
-
-EXTRA_OECONF += " \
- --disable-graphviz \
- --enable-gtk-doc=no \
-"
-
-FILES:${PN} += "\
- ${libdir}/gstreamer-1.0/libgstsharktracers.so \
- ${libdir}/gstreamer-1.0/libgstsharktracers.la \
-"
-
-inherit autotools gettext pkgconfig
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-gstd-yocto-compatibility.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-gstd-yocto-compatibility.patch
deleted file mode 100644
index 64fd578..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-gstd-yocto-compatibility.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From eaf51d6420c63713f62025583681007c3502d387 Mon Sep 17 00:00:00 2001
-From: Carlos <carlos.rodriguez@ridgerun.com>
-Date: Fri, 15 Dec 2017 10:14:05 -0600
-Subject: [PATCH] gstd:yocto compatibility
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gstd/Makefile.am | 2 +-
- 3 files changed, 9 insertions(+), 3 deletions(-)
-
---- a/gstd/Makefile.am
-+++ b/gstd/Makefile.am
-@@ -74,7 +74,7 @@ gstd_CFLAGS = $(GST_CFLAGS) \
- -DGSTD_LOG_STATE_DIR=\"$(gstdlogstatedir)\" \
- -DGSTD_RUN_STATE_DIR=\"$(gstdrunstatedir)\"
-
--gstd_LDFLAGS = $(GST_LIBS) $(GIO_LIBS) $(GIO_UNIX_LIBS) $(GJSON_LIBS) $(LIBD_LIBS) -Wl,-rpath -Wl,$(libdir)
-+gstd_LDFLAGS = $(GST_LIBS) $(GIO_LIBS) $(GIO_UNIX_LIBS) $(GJSON_LIBS) $(LIBD_LIBS)
- gstd_LDADD = libgstd-core.la
-
- gstdincludedir = $(includedir)/gstd
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_git.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_git.bb
index 38fafe8..88acdb1 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_git.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_git.bb
@@ -2,26 +2,27 @@
SUMMARY = "GStreamer framework for controlling audio and video streaming using TCP connection messages"
HOMEPAGE = "https://developer.ridgerun.com/wiki/index.php?title=Gstd-1.0"
SECTION = "multimedia"
-LICENSE = "GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c71b653a0f608a58cdc5693ae57126bc"
-DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad gstreamer1.0-rtsp-server json-glib libdaemon jansson"
+DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad gstreamer1.0-rtsp-server json-glib libdaemon libsoup-2.4 jansson"
SRCBRANCH ?= "master"
-SRCREV = "a6621a5778b234651aa2adbbe304d906a3fa64d1"
-SRC_URI = "git://git@github.com/RidgeRun/gstd-1.x.git;protocol=https;branch=${SRCBRANCH} \
- file://0001-gstd-yocto-compatibility.patch \
- "
+SRCREV = "a011affa67f240cbc7aaff5b00fdfd6124bdaece"
+SRC_URI = "git://git@github.com/RidgeRun/gstd-1.x.git;protocol=https;branch=${SRCBRANCH}"
S = "${WORKDIR}/git"
# Remove the +really when upstream version is > 1.0
-PV = "1.0+really0.8.0"
+PV = "1.0+really0.15.0"
-inherit autotools pkgconfig gettext gtk-doc
+GTKDOC_MESON_OPTION = "enable-gtk-doc"
+
+inherit meson pkgconfig gettext gtk-doc systemd python3native python3-dir python3targetconfig
do_install:append() {
- rmdir ${D}${localstatedir}/run/${BPN} ${D}${localstatedir}/run \
- ${D}${localstatedir}/log/${BPN} ${D}${localstatedir}/log
+ rmdir ${D}${root_prefix}${localstatedir}/run/${BPN} ${D}${root_prefix}${localstatedir}/run \
+ ${D}${root_prefix}${localstatedir}/log/${BPN} ${D}${root_prefix}${localstatedir}/log \
+ ${D}${root_prefix}${localstatedir}
rm -f ${D}${bindir}/gst-client ${D}${bindir}/gstd-client
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
install -d ${D}${sysconfdir}/tmpfiles.d
@@ -33,3 +34,9 @@
ln -sf gst-client-1.0 ${D}${bindir}/gst-client
ln -sf gst-client-1.0 ${D}${bindir}/gstd-client
}
+PACKAGES =+ "${PN}-python"
+
+FILES:${PN} += "${systemd_user_unitdir}"
+FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*"
+
+SYSTEMD_SERVICE:${PN} = "gstd.service"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer.inc b/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer.inc
index feb3564..b60cba1 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer.inc
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer.inc
@@ -18,7 +18,8 @@
SRCREV = "2f980209cc4091a4490bb1bafc5d530f16834e58"
BRANCH = "master"
SRC_URI = "git://github.com/WeAreROLI/JUCE.git;protocol=https;branch=${BRANCH} \
-"
+ file://0001-StandardHeader-Include-utility-for-GCC-12-compatibil.patch \
+ "
S = "${WORKDIR}/git"
PV = "6.1.6"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer/0001-StandardHeader-Include-utility-for-GCC-12-compatibil.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer/0001-StandardHeader-Include-utility-for-GCC-12-compatibil.patch
new file mode 100644
index 0000000..3efef24
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer/0001-StandardHeader-Include-utility-for-GCC-12-compatibil.patch
@@ -0,0 +1,21 @@
+From 85822fcb87dd531d5e8ed1c8230c67bddb56f66d Mon Sep 17 00:00:00 2001
+From: reuk <reuk@users.noreply.github.com>
+Date: Wed, 6 Apr 2022 15:43:09 +0100
+Subject: [PATCH] StandardHeader: Include <utility> for GCC 12 compatibility
+
+Upstream-Status: Backport [https://github.com/juce-framework/JUCE/commit/ce8aff22c31c4d932a8414bc6f6185381dc970db]
+Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
+---
+ modules/juce_core/system/juce_StandardHeader.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/modules/juce_core/system/juce_StandardHeader.h
++++ b/modules/juce_core/system/juce_StandardHeader.h
+@@ -64,6 +64,7 @@
+ #include <typeindex>
+ #include <unordered_map>
+ #include <unordered_set>
++#include <utility>
+ #include <vector>
+ #include <set>
+
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libavif/libavif_0.11.1.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/libavif/libavif_0.11.1.bb
deleted file mode 100644
index f01024e..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/libavif/libavif_0.11.1.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "This library aims to be a friendly, portable C implementation of the AV1 Image File Format"
-HOMEPAGE = "https://github.com/AOMediaCodec/libavif"
-SECTION = "libs"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c528b75b07425b5c1d2e34de98c397b5"
-
-SRC_URI = "git://github.com/AOMediaCodec/libavif.git;protocol=https;branch=main"
-
-S = "${WORKDIR}/git"
-SRCREV = "6ab53189045e7a6fe0bd93d14977b2a4f8efa5e9"
-
-DEPENDS = "dav1d"
-
-inherit cmake
-
-EXTRA_OECMAKE += "-DAVIF_CODEC_DAV1D=ON"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libavif/libavif_1.0.1.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/libavif/libavif_1.0.1.bb
new file mode 100644
index 0000000..885758b
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/libavif/libavif_1.0.1.bb
@@ -0,0 +1,16 @@
+SUMMARY = "This library aims to be a friendly, portable C implementation of the AV1 Image File Format"
+HOMEPAGE = "https://github.com/AOMediaCodec/libavif"
+SECTION = "libs"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c528b75b07425b5c1d2e34de98c397b5"
+
+SRC_URI = "git://github.com/AOMediaCodec/libavif.git;protocol=https;branch=v1.0.x"
+
+S = "${WORKDIR}/git"
+SRCREV = "d1c26facaf5a8a97919ceee06814d05d10e25622"
+
+DEPENDS = "dav1d"
+
+inherit cmake
+
+EXTRA_OECMAKE += "-DAVIF_CODEC_DAV1D=ON"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_2.2.6.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_2.2.6.bb
deleted file mode 100755
index 952ba60..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_2.2.6.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Capture and control API for IIDC compliant cameras"
-HOMEPAGE = "http://sourceforge.net/projects/libdc1394/"
-SECTION = "libs"
-LICENSE = "LGPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c848e78d9a4a5cc69906178e4d6fbd64"
-
-# libsdl to provide sdl.m4 with AM_PATH_SDL
-DEPENDS += "libusb1 libraw1394 libsdl \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxv virtual/libx11', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virtual/egl', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'libglu', '', d)} \
-"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \
- file://install_examples.patch \
- "
-SRC_URI[md5sum] = "9fad67bbff08fe2818d5ec81802ec89f"
-SRC_URI[sha256sum] = "2b905fc9aa4eec6bdcf6a2ae5f5ba021232739f5be047dec8fe8dd6049c10fed"
-inherit autotools pkgconfig
-
-EXTRA_OECONF += "--disable-doxygen-doc --disable-examples"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_2.2.7.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_2.2.7.bb
new file mode 100755
index 0000000..8cac780
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_2.2.7.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Capture and control API for IIDC compliant cameras"
+HOMEPAGE = "http://sourceforge.net/projects/libdc1394/"
+SECTION = "libs"
+LICENSE = "LGPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c848e78d9a4a5cc69906178e4d6fbd64"
+
+# libsdl to provide sdl.m4 with AM_PATH_SDL
+DEPENDS += "libusb1 libraw1394 libsdl \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxv virtual/libx11', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virtual/egl', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'libglu', '', d)} \
+"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \
+ file://install_examples.patch \
+ "
+SRC_URI[sha256sum] = "537ceb78dd3cef271a183f4a176191d1cecf85f025520e6bd3758b0e19e6609f"
+inherit autotools pkgconfig
+
+EXTRA_OECONF += "--disable-doxygen-doc --disable-examples"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libde265/libde265_1.0.12.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/libde265/libde265_1.0.12.bb
new file mode 100644
index 0000000..3c9f899
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/libde265/libde265_1.0.12.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "libde265 is an open source implementation of the h.265 \
+video codec. It is written from scratch and has a plain C API to enable a \
+simple integration into other software."
+HOMEPAGE = "http://www.libde265.org/"
+SECTION = "libs/multimedia"
+
+LICENSE = "LGPL-3.0-only & MIT"
+LICENSE_FLAGS = "commercial"
+LIC_FILES_CHKSUM = "file://COPYING;md5=695b556799abb2435c97a113cdca512f"
+
+SRC_URI = "git://github.com/strukturag/libde265.git;branch=master;protocol=https"
+SRCREV = "a267c84707ab264928fa9b86de2ee749c48c318c"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECONF = "--disable-sherlock265 --disable-dec265"
+
+inherit autotools-brokensep pkgconfig
+
+PACKAGES =+ "${PN}-tools"
+FILES:${PN}-tools = "${bindir}/*"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libde265/libde265_1.0.5.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/libde265/libde265_1.0.5.bb
deleted file mode 100644
index d0ecd04..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/libde265/libde265_1.0.5.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-DESCRIPTION = "libde265 is an open source implementation of the h.265 \
-video codec. It is written from scratch and has a plain C API to enable a \
-simple integration into other software."
-HOMEPAGE = "http://www.libde265.org/"
-SECTION = "libs/multimedia"
-
-LICENSE = "LGPL-3.0-only & MIT"
-LICENSE_FLAGS = "commercial"
-LIC_FILES_CHKSUM = "file://COPYING;md5=695b556799abb2435c97a113cdca512f"
-
-SRC_URI = "https://github.com/strukturag/libde265/releases/download/v${PV}/${BPN}-${PV}.tar.gz"
-SRC_URI[sha256sum] = "e3f277d8903408615a5cc34718b391b83c97c646faea4f41da93bac5ee08a87f"
-
-EXTRA_OECONF = "--disable-sherlock265 --disable-dec265"
-
-inherit autotools-brokensep pkgconfig
-
-PACKAGES =+ "${PN}-tools"
-FILES:${PN}-tools = "${bindir}/*"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libdvbpsi/libdvbpsi_1.3.0.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/libdvbpsi/libdvbpsi_1.3.0.bb
deleted file mode 100644
index 5ca1467..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/libdvbpsi/libdvbpsi_1.3.0.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-DESCRIPTION = "libdvbpsi is a simple library designed for decoding \
-and generation of MPEG TS and DVB PSI tables according to standards \
-ISO/IEC 13818 and ITU-T H.222.0."
-HOMEPAGE = "http://www.videolan.org/developers/libdvbpsi.html"
-LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-SRC_URI = "http://download.videolan.org/pub/libdvbpsi/${PV}/libdvbpsi-${PV}.tar.bz2"
-SRC_URI[md5sum] = "2b217039a1299000c39423441f77e76a"
-SRC_URI[sha256sum] = "a2fed1d11980662f919bbd1f29e2462719e0f6227e1a531310bd5a706db0a1fe"
-
-inherit autotools
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libdvbpsi/libdvbpsi_1.3.3.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/libdvbpsi/libdvbpsi_1.3.3.bb
new file mode 100644
index 0000000..719fbf9
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/libdvbpsi/libdvbpsi_1.3.3.bb
@@ -0,0 +1,11 @@
+DESCRIPTION = "libdvbpsi is a simple library designed for decoding \
+and generation of MPEG TS and DVB PSI tables according to standards \
+ISO/IEC 13818 and ITU-T H.222.0."
+HOMEPAGE = "http://www.videolan.org/developers/libdvbpsi.html"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "http://download.videolan.org/pub/libdvbpsi/${PV}/libdvbpsi-${PV}.tar.bz2"
+SRC_URI[sha256sum] = "02b5998bcf289cdfbd8757bedd5987e681309b0a25b3ffe6cebae599f7a00112"
+
+inherit autotools
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libopenmpt/libopenmpt_0.6.2.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/libopenmpt/libopenmpt_0.6.2.bb
deleted file mode 100644
index 47173d7..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/libopenmpt/libopenmpt_0.6.2.bb
+++ /dev/null
@@ -1,81 +0,0 @@
-SUMMARY = "C and C++ cross-platform library for decoding tracked music files (modules)"
-DESCRIPTION = "libopenmpt is a cross-platform C++ and C library to decode tracked \
-music files (modules) into a raw PCM audio stream. It also comes with openmpt123, a \
-cross-platform command-line or terminal based module file player. libopenmpt is based \
-on the player code of the OpenMPT project."
-HOMEPAGE = "https://lib.openmpt.org/libopenmpt/"
-SECTION = "libs"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=ae09d6164bdecb499183479fd32b66fb"
-
-DEPENDS = "virtual/libiconv"
-
-SRC_URI = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${PV}+release.autotools.tar.gz \
- file://run-ptest \
- "
-SRC_URI[md5sum] = "d21fb799695cbe10a1e9aeaea23ed708"
-SRC_URI[sha256sum] = "50c0d62ff2d9afefa36cce9f29042cb1fb8d4f0b386b81a0fc7734f35e21e6b6"
-
-S = "${WORKDIR}/libopenmpt-${PV}+release.autotools"
-
-inherit autotools pkgconfig ptest
-
-PACKAGECONFIG ??= " \
- openmpt123 \
- ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
- flac mpg123 ogg sndfile vorbis vorbisfile zlib \
- ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)} \
-"
-
-PACKAGECONFIG[openmpt123] = "--enable-openmpt123,--disable-openmpt123"
-PACKAGECONFIG[tests] = "--enable-tests,--disable-tests"
-
-# These packageconfigs affect openmpt123
-PACKAGECONFIG[flac] = "--with-flac,--without-flac,flac"
-PACKAGECONFIG[mpg123] = "--with-mpg123,--without-mpg123,mpg123"
-PACKAGECONFIG[ogg] = "--with-ogg,--without-ogg,libogg"
-PACKAGECONFIG[portaudio] = "--with-portaudio,--without-portaudio,portaudio-v19"
-PACKAGECONFIG[pulseaudio] = "--with-pulseaudio,--without-pulseaudio,pulseaudio"
-PACKAGECONFIG[sdl2] = "--with-sdl2,--without-sdl2,libsdl2"
-PACKAGECONFIG[sndfile] = "--with-sndfile,--without-sndfile,libsndfile1"
-PACKAGECONFIG[vorbis] = "--with-vorbis,--without-vorbis,libvorbis"
-PACKAGECONFIG[vorbisfile] = "--with-vorbisfile,--without-vorbisfile,libvorbis"
-PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
-
-EXTRA_OECONF += " \
- --disable-doxygen-doc \
- --disable-examples \
- --without-portaudiocpp \
-"
-
-do_compile_ptest() {
- oe_runmake ${PARALLEL_MAKE} libopenmpttest
-}
-
-do_install_ptest() {
- install -d ${D}${PTEST_PATH}/test
- install -m 0755 ${B}/libopenmpttest ${D}${PTEST_PATH}
- install -m 0644 ${S}/test/test.mptm ${D}${PTEST_PATH}/test
- install -m 0644 ${S}/test/test.s3m ${D}${PTEST_PATH}/test
- install -m 0644 ${S}/test/test.xm ${D}${PTEST_PATH}/test
-
- install -d ${D}${PTEST_PATH}/libopenmpt
- install -m 0644 ${S}/libopenmpt/libopenmpt_version.mk ${D}${PTEST_PATH}/libopenmpt
-}
-
-PACKAGES =+ "${PN}-openmpt123 ${PN}-openmpt123-doc"
-FILES:${PN}-openmpt123 = "${bindir}/openmpt123"
-FILES:${PN}-openmpt123-doc = "${mandir}/man1/openmpt123*"
-
-# Since version 0.3, libopenmpt uses SemVer 2.0.0 versioning.
-# The SemVer versioning scheme is incompatible with Debian/Ubuntu
-# package version names.
-DEBIAN_NOAUTONAME:${PN} = "1"
-
-RDEPENDS:${PN}:libc-glibc = " \
- glibc-gconv-cp1252 \
- glibc-gconv-ibm437 \
- glibc-gconv-iso8859-1 \
- glibc-gconv-iso8859-15 \
-"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libopenmpt/libopenmpt_0.7.3.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/libopenmpt/libopenmpt_0.7.3.bb
new file mode 100644
index 0000000..92f33da
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/libopenmpt/libopenmpt_0.7.3.bb
@@ -0,0 +1,81 @@
+SUMMARY = "C and C++ cross-platform library for decoding tracked music files (modules)"
+DESCRIPTION = "libopenmpt is a cross-platform C++ and C library to decode tracked \
+music files (modules) into a raw PCM audio stream. It also comes with openmpt123, a \
+cross-platform command-line or terminal based module file player. libopenmpt is based \
+on the player code of the OpenMPT project."
+HOMEPAGE = "https://lib.openmpt.org/libopenmpt/"
+SECTION = "libs"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=59f6e21f42e49919617267ff13a0b232"
+
+DEPENDS = "virtual/libiconv"
+
+SRC_URI = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${PV}+release.autotools.tar.gz \
+ file://run-ptest \
+ "
+
+SRC_URI[sha256sum] = "2cf8369b7916b09264f3f14b9fb6cef35a6e9bee0328dec4f49d98211ccfd722"
+
+S = "${WORKDIR}/libopenmpt-${PV}+release.autotools"
+
+inherit autotools pkgconfig ptest
+
+PACKAGECONFIG ??= " \
+ openmpt123 \
+ ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
+ flac mpg123 ogg sndfile vorbis vorbisfile zlib \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)} \
+"
+
+PACKAGECONFIG[openmpt123] = "--enable-openmpt123,--disable-openmpt123"
+PACKAGECONFIG[tests] = "--enable-tests,--disable-tests"
+
+# These packageconfigs affect openmpt123
+PACKAGECONFIG[flac] = "--with-flac,--without-flac,flac"
+PACKAGECONFIG[mpg123] = "--with-mpg123,--without-mpg123,mpg123"
+PACKAGECONFIG[ogg] = "--with-ogg,--without-ogg,libogg"
+PACKAGECONFIG[portaudio] = "--with-portaudio,--without-portaudio,portaudio-v19"
+PACKAGECONFIG[pulseaudio] = "--with-pulseaudio,--without-pulseaudio,pulseaudio"
+PACKAGECONFIG[sdl2] = "--with-sdl2,--without-sdl2,libsdl2"
+PACKAGECONFIG[sndfile] = "--with-sndfile,--without-sndfile,libsndfile1"
+PACKAGECONFIG[vorbis] = "--with-vorbis,--without-vorbis,libvorbis"
+PACKAGECONFIG[vorbisfile] = "--with-vorbisfile,--without-vorbisfile,libvorbis"
+PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
+
+EXTRA_OECONF += " \
+ --disable-doxygen-doc \
+ --disable-examples \
+ --without-portaudiocpp \
+"
+
+do_compile_ptest() {
+ oe_runmake ${PARALLEL_MAKE} libopenmpttest
+}
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/test
+ install -m 0755 ${B}/libopenmpttest ${D}${PTEST_PATH}
+ install -m 0644 ${S}/test/test.mptm ${D}${PTEST_PATH}/test
+ install -m 0644 ${S}/test/test.s3m ${D}${PTEST_PATH}/test
+ install -m 0644 ${S}/test/test.xm ${D}${PTEST_PATH}/test
+
+ install -d ${D}${PTEST_PATH}/libopenmpt
+ install -m 0644 ${S}/libopenmpt/libopenmpt_version.mk ${D}${PTEST_PATH}/libopenmpt
+}
+
+PACKAGES =+ "${PN}-openmpt123 ${PN}-openmpt123-doc"
+FILES:${PN}-openmpt123 = "${bindir}/openmpt123"
+FILES:${PN}-openmpt123-doc = "${mandir}/man1/openmpt123*"
+
+# Since version 0.3, libopenmpt uses SemVer 2.0.0 versioning.
+# The SemVer versioning scheme is incompatible with Debian/Ubuntu
+# package version names.
+DEBIAN_NOAUTONAME:${PN} = "1"
+
+RDEPENDS:${PN}:libc-glibc = " \
+ glibc-gconv-cp1252 \
+ glibc-gconv-ibm437 \
+ glibc-gconv-iso8859-1 \
+ glibc-gconv-iso8859-15 \
+"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libuvc/libuvc.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/libuvc/libuvc.bb
deleted file mode 100644
index 464b1dc..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/libuvc/libuvc.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "library for USB video devices built atop libusb"
-HOMEPAGE = "https://github.com/libuvc/libuvc.git"
-SECTION = "libs"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2f1963e0bb88c93463af750daf9ba0c2"
-DEPENDS = "libusb jpeg"
-
-SRC_URI = "git://github.com/libuvc/libuvc.git;branch=master;protocol=https"
-SRCREV = "ad6c72a4e390367f0d2be81aac00cfc0b6680d74"
-PV = "v0.0.6+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-inherit cmake pkgconfig
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libuvc/libuvc_0.0.7.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/libuvc/libuvc_0.0.7.bb
new file mode 100644
index 0000000..b1572b3
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/libuvc/libuvc_0.0.7.bb
@@ -0,0 +1,14 @@
+SUMMARY = "library for USB video devices built atop libusb"
+HOMEPAGE = "https://github.com/libuvc/libuvc.git"
+SECTION = "libs"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2f1963e0bb88c93463af750daf9ba0c2"
+
+DEPENDS = "libusb jpeg"
+
+SRC_URI = "git://github.com/libuvc/libuvc.git;branch=master;protocol=https"
+SRCREV = "68d07a00e11d1944e27b7295ee69673239c00b4b"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/0001-SndfileDecoderPlugin-Fix-type-mismatch-for-std-span.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/0001-SndfileDecoderPlugin-Fix-type-mismatch-for-std-span.patch
deleted file mode 100644
index 37aa448..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/0001-SndfileDecoderPlugin-Fix-type-mismatch-for-std-span.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From f2fbfeeb9c4ff7aa9ba4b95604ee0fb14ecec763 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 17 May 2023 17:54:09 -0700
-Subject: [PATCH] SndfileDecoderPlugin: Fix type mismatch for std::span
-
-Fixes
-../git/src/decoder/plugins/SndfileDecoderPlugin.cxx:231:25: error: non-constant-expression cannot be narrowed from type 'sf_count_t' (aka 'long long') to 'size_type' (aka 'unsigned int') in initializer list [-Wc++11-narrowing]
- std::span{buffer, num_frames * frame_size},
- ^~~~~~~~~~~~~~~~~~~~~~~
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/decoder/plugins/SndfileDecoderPlugin.cxx | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/decoder/plugins/SndfileDecoderPlugin.cxx b/src/decoder/plugins/SndfileDecoderPlugin.cxx
-index ad3908847..a3cb87ca9 100644
---- a/src/decoder/plugins/SndfileDecoderPlugin.cxx
-+++ b/src/decoder/plugins/SndfileDecoderPlugin.cxx
-@@ -228,7 +228,7 @@ sndfile_stream_decode(DecoderClient &client, InputStream &is)
- break;
-
- cmd = client.SubmitAudio(is,
-- std::span{buffer, num_frames * frame_size},
-+ std::span{buffer, static_cast<std::size_t>(num_frames * frame_size)},
- 0);
- if (cmd == DecoderCommand::SEEK) {
- sf_count_t c = client.GetSeekFrame();
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/0001-patch-src_decoder_plugins_FfmpegIo.cxx.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/0001-patch-src_decoder_plugins_FfmpegIo.cxx.patch
new file mode 100644
index 0000000..b2dea33
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/0001-patch-src_decoder_plugins_FfmpegIo.cxx.patch
@@ -0,0 +1,26 @@
+From e62fd0eefe8b475e70d87a673a7216aac3bb622f Mon Sep 17 00:00:00 2001
+From: Markus Volk <f_l_k@t-online.de>
+Date: Mon, 20 Nov 2023 17:49:59 +0100
+Subject: [PATCH] patch src_decoder_plugins_FfmpegIo.cxx
+
+Signed-off-by: Markus Volk <f_l_k@t-online.de>
+Upstream-Status: Pending [https://github.com/MusicPlayerDaemon/MPD/issues/1898]
+---
+ src/decoder/plugins/FfmpegIo.cxx | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/decoder/plugins/FfmpegIo.cxx b/src/decoder/plugins/FfmpegIo.cxx
+index 572f1a86a..3e2347fec 100644
+--- a/src/decoder/plugins/FfmpegIo.cxx
++++ b/src/decoder/plugins/FfmpegIo.cxx
+@@ -25,6 +25,7 @@
+ #include "input/InputStream.hxx"
+
+ extern "C" {
++#include <libavutil/error.h>
+ #include <libavutil/mem.h>
+ }
+
+--
+2.42.0
+
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/fix-build-error-when-fmt-updated.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/fix-build-error-when-fmt-updated.patch
deleted file mode 100644
index ebbea2b..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/fix-build-error-when-fmt-updated.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-Upstream-Status: Backport [https://github.com/MusicPlayerDaemon/MPD/commit/181b96dd2d71bc8f2668776719d344466f258b5d]
-
-Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
-
-From 181b96dd2d71bc8f2668776719d344466f258b5d Mon Sep 17 00:00:00 2001
-From: Max Kellermann <max.kellermann@gmail.com>
-Date: Mon, 15 May 2023 20:52:21 +0200
-Subject: [PATCH] command/player, SongPrint: use AudioFormatFormatter()
-
-libfmt version 10 apparently doesn't know how to format a
-`StringBuffer`, failing the MPD build. Since we have a formatter
-specialization for `AudioFormat`, let's use that - it's better and
-easier to use.
-
-Closes https://github.com/MusicPlayerDaemon/MPD/issues/1807
----
- src/SongPrint.cxx | 5 +++--
- src/command/PlayerCommands.cxx | 3 ++-
- 2 files changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/src/SongPrint.cxx b/src/SongPrint.cxx
-index 98d544cc38..835669d276 100644
---- a/src/SongPrint.cxx
-+++ b/src/SongPrint.cxx
-@@ -8,6 +8,7 @@
- #include "TagPrint.hxx"
- #include "client/Response.hxx"
- #include "fs/Traits.hxx"
-+#include "lib/fmt/AudioFormatFormatter.hxx"
- #include "time/ChronoUtil.hxx"
- #include "util/StringBuffer.hxx"
- #include "util/UriUtil.hxx"
-@@ -77,7 +78,7 @@ song_print_info(Response &r, const LightSong &song, bool base) noexcept
- time_print(r, "Last-Modified", song.mtime);
-
- if (song.audio_format.IsDefined())
-- r.Fmt(FMT_STRING("Format: {}\n"), ToString(song.audio_format));
-+ r.Fmt(FMT_STRING("Format: {}\n"), song.audio_format);
-
- tag_print_values(r, song.tag);
-
-@@ -100,7 +101,7 @@ song_print_info(Response &r, const DetachedSong &song, bool base) noexcept
- time_print(r, "Last-Modified", song.GetLastModified());
-
- if (const auto &f = song.GetAudioFormat(); f.IsDefined())
-- r.Fmt(FMT_STRING("Format: {}\n"), ToString(f));
-+ r.Fmt(FMT_STRING("Format: {}\n"), f);
-
- tag_print_values(r, song.GetTag());
-
-diff --git a/src/command/PlayerCommands.cxx b/src/command/PlayerCommands.cxx
-index 5108b9d3c4..0b5a917020 100644
---- a/src/command/PlayerCommands.cxx
-+++ b/src/command/PlayerCommands.cxx
-@@ -13,6 +13,7 @@
- #include "Partition.hxx"
- #include "Instance.hxx"
- #include "IdleFlags.hxx"
-+#include "lib/fmt/AudioFormatFormatter.hxx"
- #include "util/StringBuffer.hxx"
- #include "util/ScopeExit.hxx"
- #include "util/Exception.hxx"
-@@ -170,7 +171,7 @@ handle_status(Client &client, [[maybe_unused]] Request args, Response &r)
-
- if (player_status.audio_format.IsDefined())
- r.Fmt(FMT_STRING(COMMAND_STATUS_AUDIO ": {}\n"),
-- ToString(player_status.audio_format));
-+ player_status.audio_format);
- }
-
- #ifdef ENABLE_DATABASE
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/minor-fixup-for-libfmt10.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/minor-fixup-for-libfmt10.patch
deleted file mode 100644
index 0c9d979..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/minor-fixup-for-libfmt10.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-Upstream-Status: Backport
-[https://github.com/MusicPlayerDaemon/MPD/commit/f869593ac8913e52c711e974257bd6dc0d5dbf26]
-
-Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
-
-From f869593ac8913e52c711e974257bd6dc0d5dbf26 Mon Sep 17 00:00:00 2001
-From: Max Kellermann <max.kellermann@gmail.com>
-Date: Mon, 15 May 2023 20:59:58 +0200
-Subject: [PATCH] TimePrint: minor fixup for libfmt 10
-
-libfmt version 10 has difficulties formatting a `StringBuffer`, and we
-need to help it by explicitly invoking the `c_str()` method.
----
- src/TimePrint.cxx | 2 +-
- 1 files changed, 1 insertions(+), 1 deletion(-)
-
-diff --git a/src/TimePrint.cxx b/src/TimePrint.cxx
-index 5bf05f6238..d47f3178bb 100644
---- a/src/TimePrint.cxx
-+++ b/src/TimePrint.cxx
-@@ -20,5 +20,5 @@ time_print(Response &r, const char *name,
- return;
- }
-
-- r.Fmt(FMT_STRING("{}: {}\n"), name, s);
-+ r.Fmt(FMT_STRING("{}: {}\n"), name, s.c_str());
- }
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.12.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.12.bb
deleted file mode 100644
index 0c309de..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.12.bb
+++ /dev/null
@@ -1,104 +0,0 @@
-SUMMARY = "Music Player Daemon"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-HOMEPAGE ="http://www.musicpd.org"
-
-inherit meson useradd systemd pkgconfig
-
-DEPENDS += " \
- curl \
- sqlite3 \
- ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)} \
- yajl \
- boost \
- icu \
- dbus \
- expat \
- fmt \
-"
-
-SRC_URI = "git://github.com/MusicPlayerDaemon/MPD;branch=master;protocol=https \
- file://mpd.conf.in \
- file://minor-fixup-for-libfmt10.patch \
- file://fix-build-error-when-fmt-updated.patch \
- file://0001-SndfileDecoderPlugin-Fix-type-mismatch-for-std-span.patch \
- "
-SRCREV = "b1422fbda40a1831d397fb161e7a555443c2a072"
-S = "${WORKDIR}/git"
-
-EXTRA_OEMESON += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-Dsystemd=enabled -Dsystemd_system_unit_dir=${systemd_system_unitdir} -Dsystemd_user_unit_dir=${systemd_system_unitdir}', '-Dsystemd=disabled', d)}"
-
-PACKAGECONFIG ??= "${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "aac", "", d)} \
- alsa ao bzip2 daemon \
- ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "ffmpeg aac", "", d)} \
- fifo flac fluidsynth iso9660 \
- jack libsamplerate httpd \
- mms mpg123 modplug sndfile \
- upnp openal opus oss recorder \
- vorbis wavpack zlib"
-
-PACKAGECONFIG[aac] = "-Dfaad=enabled,-Dfaad=disabled,faad2"
-PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib"
-PACKAGECONFIG[ao] = "-Dao=enabled,-Dao=disabled,libao"
-PACKAGECONFIG[audiofile] = "-Daudiofile=enabled,-Daudiofile=disabled,audiofile"
-PACKAGECONFIG[bzip2] = "-Dbzip2=enabled,-Dbzip2=disabled,bzip2"
-PACKAGECONFIG[cdioparanoia] = "-Dcdio_paranoia=enabled,-Dcdio_paranoia=disabled,libcdio-paranoia"
-PACKAGECONFIG[daemon] = "-Ddaemon=true,-Ddaemon=false"
-PACKAGECONFIG[ffmpeg] = "-Dffmpeg=enabled,-Dffmpeg=disabled,ffmpeg"
-PACKAGECONFIG[fifo] = "-Dfifo=true,-Dfifo=false"
-PACKAGECONFIG[flac] = "-Dflac=enabled,-Dflac=disabled,flac"
-PACKAGECONFIG[fluidsynth] = "-Dfluidsynth=enabled,-Dfluidsynth=disabled,fluidsynth"
-PACKAGECONFIG[httpd] = "-Dhttpd=true,-Dhttpd=false"
-PACKAGECONFIG[id3tag] = "-Did3tag=enabled,-Did3tag=disabled,libid3tag"
-PACKAGECONFIG[iso9660] = "-Diso9660=enabled,-Diso9660=disabled,libcdio"
-PACKAGECONFIG[jack] = "-Djack=enabled,-Djack=disabled,jack"
-PACKAGECONFIG[lame] = "-Dlame=enabled,-Dlame=disabled,lame"
-PACKAGECONFIG[libsamplerate] = "-Dlibsamplerate=enabled,-Dlibsamplerate=disabled,libsamplerate0"
-PACKAGECONFIG[mad] = "-Dmad=enabled,-Dmad=disabled,libmad"
-PACKAGECONFIG[mms] = "-Dmms=enabled,-Dmms=disabled,libmms"
-PACKAGECONFIG[modplug] = "-Dmodplug=enabled,-Dmodplug=disabled,libmodplug"
-PACKAGECONFIG[mpg123] = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123"
-PACKAGECONFIG[openal] = "-Dopenal=enabled,-Dopenal=disabled,openal-soft"
-PACKAGECONFIG[opus] = "-Dopus=enabled,-Dopus=disabled,libopus libogg"
-PACKAGECONFIG[oss] = "-Doss=enabled,-Doss=disabled,"
-PACKAGECONFIG[recorder] = "-Drecorder=true,-Drecorder=false"
-PACKAGECONFIG[smb] = "-Dsmbclient=enabled,-Dsmbclient=disabled,samba"
-PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1"
-PACKAGECONFIG[upnp] = "-Dupnp=pupnp,-Dupnp=disabled,libupnp"
-PACKAGECONFIG[vorbis] = "-Dvorbis=enabled,-Dvorbis=disabled,libvorbis libogg"
-PACKAGECONFIG[wavpack] = "-Dwavpack=enabled,-Dwavpack=disabled,wavpack"
-PACKAGECONFIG[zlib] = "-Dzlib=enabled,-Dzlib=disabled,zlib"
-
-do_install:append() {
- install -o mpd -d \
- ${D}/${localstatedir}/lib/mpd \
- ${D}/${localstatedir}/lib/mpd/playlists
- install -m775 -o mpd -g mpd -d \
- ${D}/${localstatedir}/lib/mpd/music
-
- install -d ${D}/${sysconfdir}
- install -m 644 ${WORKDIR}/mpd.conf.in ${D}/${sysconfdir}/mpd.conf
- sed -i \
- -e 's|%music_directory%|${localstatedir}/lib/mpd/music|' \
- -e 's|%playlist_directory%|${localstatedir}/lib/mpd/playlists|' \
- -e 's|%db_file%|${localstatedir}/lib/mpd/mpd.db|' \
- -e 's|%log_file%|${localstatedir}/log/mpd.log|' \
- -e 's|%state_file%|${localstatedir}/lib/mpd/state|' \
- ${D}/${sysconfdir}/mpd.conf
-
- # we don't need the icon
- rm -rf ${D}${datadir}/icons
-}
-
-RPROVIDES:${PN} += "${PN}-systemd"
-RREPLACES:${PN} += "${PN}-systemd"
-RCONFLICTS:${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE:${PN} = "mpd.socket"
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM:${PN} = " \
- --system --no-create-home \
- --home ${localstatedir}/lib/mpd \
- --groups audio \
- --user-group mpd"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.14.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.14.bb
new file mode 100644
index 0000000..a762fc8
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.14.bb
@@ -0,0 +1,102 @@
+SUMMARY = "Music Player Daemon"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+HOMEPAGE ="http://www.musicpd.org"
+
+inherit meson useradd systemd pkgconfig
+
+DEPENDS += " \
+ curl \
+ sqlite3 \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)} \
+ yajl \
+ boost \
+ icu \
+ dbus \
+ expat \
+ fmt \
+"
+
+SRC_URI = "git://github.com/MusicPlayerDaemon/MPD;branch=master;protocol=https \
+ file://0001-patch-src_decoder_plugins_FfmpegIo.cxx.patch \
+ file://mpd.conf.in \
+ "
+SRCREV = "feac1a3f56591ccfb00870aba66c9ac3abac4773"
+S = "${WORKDIR}/git"
+
+EXTRA_OEMESON += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-Dsystemd=enabled -Dsystemd_system_unit_dir=${systemd_system_unitdir} -Dsystemd_user_unit_dir=${systemd_system_unitdir}', '-Dsystemd=disabled', d)}"
+
+PACKAGECONFIG ??= "${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "aac", "", d)} \
+ alsa ao bzip2 daemon \
+ ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "ffmpeg aac", "", d)} \
+ fifo flac fluidsynth iso9660 \
+ jack libsamplerate httpd \
+ mms mpg123 modplug sndfile \
+ upnp openal opus oss recorder \
+ vorbis wavpack zlib"
+
+PACKAGECONFIG[aac] = "-Dfaad=enabled,-Dfaad=disabled,faad2"
+PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib"
+PACKAGECONFIG[ao] = "-Dao=enabled,-Dao=disabled,libao"
+PACKAGECONFIG[audiofile] = "-Daudiofile=enabled,-Daudiofile=disabled,audiofile"
+PACKAGECONFIG[bzip2] = "-Dbzip2=enabled,-Dbzip2=disabled,bzip2"
+PACKAGECONFIG[cdioparanoia] = "-Dcdio_paranoia=enabled,-Dcdio_paranoia=disabled,libcdio-paranoia"
+PACKAGECONFIG[daemon] = "-Ddaemon=true,-Ddaemon=false"
+PACKAGECONFIG[ffmpeg] = "-Dffmpeg=enabled,-Dffmpeg=disabled,ffmpeg"
+PACKAGECONFIG[fifo] = "-Dfifo=true,-Dfifo=false"
+PACKAGECONFIG[flac] = "-Dflac=enabled,-Dflac=disabled,flac"
+PACKAGECONFIG[fluidsynth] = "-Dfluidsynth=enabled,-Dfluidsynth=disabled,fluidsynth"
+PACKAGECONFIG[httpd] = "-Dhttpd=true,-Dhttpd=false"
+PACKAGECONFIG[id3tag] = "-Did3tag=enabled,-Did3tag=disabled,libid3tag"
+PACKAGECONFIG[iso9660] = "-Diso9660=enabled,-Diso9660=disabled,libcdio"
+PACKAGECONFIG[jack] = "-Djack=enabled,-Djack=disabled,jack"
+PACKAGECONFIG[lame] = "-Dlame=enabled,-Dlame=disabled,lame"
+PACKAGECONFIG[libsamplerate] = "-Dlibsamplerate=enabled,-Dlibsamplerate=disabled,libsamplerate0"
+PACKAGECONFIG[mad] = "-Dmad=enabled,-Dmad=disabled,libmad"
+PACKAGECONFIG[mms] = "-Dmms=enabled,-Dmms=disabled,libmms"
+PACKAGECONFIG[modplug] = "-Dmodplug=enabled,-Dmodplug=disabled,libmodplug"
+PACKAGECONFIG[mpg123] = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123"
+PACKAGECONFIG[openal] = "-Dopenal=enabled,-Dopenal=disabled,openal-soft"
+PACKAGECONFIG[opus] = "-Dopus=enabled,-Dopus=disabled,libopus libogg"
+PACKAGECONFIG[oss] = "-Doss=enabled,-Doss=disabled,"
+PACKAGECONFIG[recorder] = "-Drecorder=true,-Drecorder=false"
+PACKAGECONFIG[smb] = "-Dsmbclient=enabled,-Dsmbclient=disabled,samba"
+PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1"
+PACKAGECONFIG[upnp] = "-Dupnp=pupnp,-Dupnp=disabled,libupnp"
+PACKAGECONFIG[vorbis] = "-Dvorbis=enabled,-Dvorbis=disabled,libvorbis libogg"
+PACKAGECONFIG[wavpack] = "-Dwavpack=enabled,-Dwavpack=disabled,wavpack"
+PACKAGECONFIG[zlib] = "-Dzlib=enabled,-Dzlib=disabled,zlib"
+
+do_install:append() {
+ install -o mpd -d \
+ ${D}/${localstatedir}/lib/mpd \
+ ${D}/${localstatedir}/lib/mpd/playlists
+ install -m775 -o mpd -g mpd -d \
+ ${D}/${localstatedir}/lib/mpd/music
+
+ install -d ${D}/${sysconfdir}
+ install -m 644 ${WORKDIR}/mpd.conf.in ${D}/${sysconfdir}/mpd.conf
+ sed -i \
+ -e 's|%music_directory%|${localstatedir}/lib/mpd/music|' \
+ -e 's|%playlist_directory%|${localstatedir}/lib/mpd/playlists|' \
+ -e 's|%db_file%|${localstatedir}/lib/mpd/mpd.db|' \
+ -e 's|%log_file%|${localstatedir}/log/mpd.log|' \
+ -e 's|%state_file%|${localstatedir}/lib/mpd/state|' \
+ ${D}/${sysconfdir}/mpd.conf
+
+ # we don't need the icon
+ rm -rf ${D}${datadir}/icons
+}
+
+RPROVIDES:${PN} += "${PN}-systemd"
+RREPLACES:${PN} += "${PN}-systemd"
+RCONFLICTS:${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE:${PN} = "mpd.socket"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM:${PN} = " \
+ --system --no-create-home \
+ --home ${localstatedir}/lib/mpd \
+ --groups audio \
+ --user-group mpd"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/ncmpc/0001-SearchPage-use-regular-integer-to-fix-Wenum-constexp.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/ncmpc/0001-SearchPage-use-regular-integer-to-fix-Wenum-constexp.patch
deleted file mode 100644
index 92094af..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/ncmpc/0001-SearchPage-use-regular-integer-to-fix-Wenum-constexp.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 2e8dc2c28c0938dbbb85ebbac2b9a60be9ccd9f3 Mon Sep 17 00:00:00 2001
-From: Max Kellermann <max@musicpd.org>
-Date: Wed, 23 Nov 2022 12:25:50 +0100
-Subject: [PATCH] SearchPage: use regular integer to fix -Wenum-constexpr-conversion
-
-Upstream-Status: Backport [https://github.com/MusicPlayerDaemon/ncmpc/commit/ddd1757907f0376b5843f707bf182b7827ff6591]
----
- src/SearchPage.cxx | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/SearchPage.cxx b/src/SearchPage.cxx
-index 2fa5edbc..3f91c4fe 100644
---- a/src/SearchPage.cxx
-+++ b/src/SearchPage.cxx
-@@ -81,7 +81,7 @@ search_get_tag_id(const char *name)
- }
-
- struct SearchMode {
-- enum mpd_tag_type table;
-+ int table;
- const char *label;
- };
-
-@@ -89,8 +89,8 @@ static constexpr SearchMode mode[] = {
- { MPD_TAG_TITLE, N_("Title") },
- { MPD_TAG_ARTIST, N_("Artist") },
- { MPD_TAG_ALBUM, N_("Album") },
-- { (enum mpd_tag_type)SEARCH_URI, N_("Filename") },
-- { (enum mpd_tag_type)SEARCH_ARTIST_TITLE, N_("Artist + Title") },
-+ { SEARCH_URI, N_("Filename") },
-+ { SEARCH_ARTIST_TITLE, N_("Artist + Title") },
- { MPD_TAG_COUNT, nullptr }
- };
-
---
-2.39.0
-
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.47.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.47.bb
deleted file mode 100644
index 4404691..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.47.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-SUMMARY = "A curses client for the Music Player Daemon"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-HOMEPAGE = "https://www.musicpd.org/clients/ncmpc/"
-
-inherit meson pkgconfig
-
-DEPENDS += " \
- ncurses \
- libpcre2 \
- libmpdclient \
-"
-
-RDEPENDS:${PN} += "python3-core"
-
-PACKAGECONFIG ??= "colors locale mouse nls regex help_screen library_screen search_screen song_screen key_screen lyrics_screen outputs_screen"
-
-PACKAGECONFIG[colors] = "-Dcolors=true,-Dcolors=false"
-PACKAGECONFIG[lirc] = "-Dlirc=enabled,-Dlirc=disabled,lirc"
-PACKAGECONFIG[locale] = "-Dlocale=enabled,-Dlocale=disabled"
-PACKAGECONFIG[mini] = "-Dmini=true,-Dmini=false"
-PACKAGECONFIG[mouse] = "-Dmouse=enabled,-Dmouse=disabled"
-PACKAGECONFIG[nls] = "-Dnls=enabled,-Dnls=disabled,gettext-native"
-PACKAGECONFIG[regex] = "-Dregex=enabled,-Dregex=disabled,pcre"
-
-PACKAGECONFIG[help_screen] = "-Dhelp_screen=true,-Dhelp_screen=false"
-PACKAGECONFIG[library_screen] = "-Dlibrary_screen=true,-Dlibrary_screen=false"
-PACKAGECONFIG[search_screen] = "-Dsearch_screen=true,-Dsearch_screen=false"
-PACKAGECONFIG[song_screen] = "-Dsong_screen=true,-Dsong_screen=false"
-PACKAGECONFIG[key_screen] = "-Dkey_screen=true,-Dkey_screen=false"
-PACKAGECONFIG[lyrics_screen] = "-Dlyrics_screen=true,-Dlyrics_screen=false"
-PACKAGECONFIG[outputs_screen] = "-Doutputs_screen=true,-Doutputs_screen=false"
-PACKAGECONFIG[chat_screen] = "-Dchat_screen=true,-Dchat_screen=false"
-
-SRC_URI = " \
- git://github.com/MusicPlayerDaemon/ncmpc;branch=master;protocol=https \
- file://0001-SearchPage-use-regular-integer-to-fix-Wenum-constexp.patch \
-"
-SRCREV = "fc8de01c71acdf10ad07c7aae756dc522b848124"
-S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.49.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.49.bb
new file mode 100644
index 0000000..d93c054
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.49.bb
@@ -0,0 +1,37 @@
+SUMMARY = "A curses client for the Music Player Daemon"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+HOMEPAGE = "https://www.musicpd.org/clients/ncmpc/"
+
+inherit meson pkgconfig
+
+DEPENDS += " \
+ ncurses \
+ libpcre2 \
+ libmpdclient \
+"
+
+RDEPENDS:${PN} += "python3-core"
+
+PACKAGECONFIG ??= "colors locale mouse nls regex help_screen library_screen search_screen song_screen key_screen lyrics_screen outputs_screen"
+
+PACKAGECONFIG[colors] = "-Dcolors=true,-Dcolors=false"
+PACKAGECONFIG[lirc] = "-Dlirc=enabled,-Dlirc=disabled,lirc"
+PACKAGECONFIG[locale] = "-Dlocale=enabled,-Dlocale=disabled"
+PACKAGECONFIG[mini] = "-Dmini=true,-Dmini=false"
+PACKAGECONFIG[mouse] = "-Dmouse=enabled,-Dmouse=disabled"
+PACKAGECONFIG[nls] = "-Dnls=enabled,-Dnls=disabled,gettext-native"
+PACKAGECONFIG[regex] = "-Dregex=enabled,-Dregex=disabled,pcre"
+
+PACKAGECONFIG[help_screen] = "-Dhelp_screen=true,-Dhelp_screen=false"
+PACKAGECONFIG[library_screen] = "-Dlibrary_screen=true,-Dlibrary_screen=false"
+PACKAGECONFIG[search_screen] = "-Dsearch_screen=true,-Dsearch_screen=false"
+PACKAGECONFIG[song_screen] = "-Dsong_screen=true,-Dsong_screen=false"
+PACKAGECONFIG[key_screen] = "-Dkey_screen=true,-Dkey_screen=false"
+PACKAGECONFIG[lyrics_screen] = "-Dlyrics_screen=true,-Dlyrics_screen=false"
+PACKAGECONFIG[outputs_screen] = "-Doutputs_screen=true,-Doutputs_screen=false"
+PACKAGECONFIG[chat_screen] = "-Dchat_screen=true,-Dchat_screen=false"
+
+SRC_URI = "git://github.com/MusicPlayerDaemon/ncmpc;branch=master;protocol=https"
+SRCREV = "f81f875fc5785383d24f54fb9bd3cf06efd915a4"
+S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/nv-codec-headers/nv-codec-headers_12.0.16.0.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/nv-codec-headers/nv-codec-headers_12.0.16.0.bb
deleted file mode 100644
index 4bff4f2..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/nv-codec-headers/nv-codec-headers_12.0.16.0.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "FFmpeg nvidia headers"
-HOMEPAGE = "https://git.videolan.org/git/ffmpeg/nv-codec-headers.git"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${S}/include/ffnvcodec/dynlink_cuda.h;beginline=1;endline=26;md5=bb54a418154445b0aa99e15f640eacf4"
-
-SRC_URI = " \
- git://git.videolan.org/git/ffmpeg/nv-codec-headers.git;branch=master;protocol=https \
- file://0001-Makefile-add-clean-target.patch \
-"
-SRCREV = "c5e4af74850a616c42d39ed45b9b8568b71bf8bf"
-S = "${WORKDIR}/git"
-
-EXTRA_OEMAKE = "PREFIX=${prefix} DESTDIR=${D} LIBDIR=${baselib}"
-
-do_install() {
- oe_runmake install
-}
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/nv-codec-headers/nv-codec-headers_12.1.14.0.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/nv-codec-headers/nv-codec-headers_12.1.14.0.bb
new file mode 100644
index 0000000..36885f2
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/nv-codec-headers/nv-codec-headers_12.1.14.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "FFmpeg nvidia headers"
+HOMEPAGE = "https://git.videolan.org/git/ffmpeg/nv-codec-headers.git"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${S}/include/ffnvcodec/dynlink_cuda.h;beginline=1;endline=26;md5=bb54a418154445b0aa99e15f640eacf4"
+
+SRC_URI = " \
+ git://git.videolan.org/git/ffmpeg/nv-codec-headers.git;branch=master;protocol=https \
+ file://0001-Makefile-add-clean-target.patch \
+"
+SRCREV = "1889e62e2d35ff7aa9baca2bceb14f053785e6f1"
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = "PREFIX=${prefix} DESTDIR=${D} LIBDIR=${baselib}"
+
+do_install() {
+ oe_runmake install
+}
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft_1.20.1.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft_1.20.1.bb
deleted file mode 100644
index ad70005..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft_1.20.1.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "OpenAL is a cross-platform 3D audio API"
-HOMEPAGE = "http://kcat.strangesoft.net/openal.html"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0f159f19f9377e1895fbb477d5a7953e"
-
-inherit cmake pkgconfig
-
-SRCREV = "f5e0eef34db3a3ab94b61a2f99f84f078ba947e7"
-SRC_URI = "git://github.com/kcat/openal-soft;branch=master;protocol=https \
- file://0001-Use-BUILD_CC-to-compile-native-tools.patch \
- file://0002-makehrtf-Disable-Wstringop-truncation.patch \
- "
-
-S = "${WORKDIR}/git"
-
-PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa pulseaudio', d)}"
-PACKAGECONFIG[alsa] = "-DALSA=TRUE, -DALSA=FALSE, alsa-lib"
-PACKAGECONFIG[pulseaudio] = "-DPULSEAUDIO=TRUE, -DPULSEAUDIO=FALSE, pulseaudio"
-# currently doesn't work with libav-9
-# PKG_CHECK_MODULES(FFMPEG libavcodec>=53.61.100 libavformat>=53.32.100 libavutil>=51.35.100)
-# but alffmpeg.c:418:44: error: 'AV_CH_LAYOUT_MONO' undeclared (first use in this function)
-PACKAGECONFIG[examples] = "-DEXAMPLES=TRUE, -DEXAMPLES=FALSE, libav"
-
-FILES:${PN} += "${datadir}/openal"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft_1.23.1.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft_1.23.1.bb
new file mode 100644
index 0000000..8374570
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/openal/openal-soft_1.23.1.bb
@@ -0,0 +1,23 @@
+SUMMARY = "OpenAL is a cross-platform 3D audio API"
+HOMEPAGE = "http://kcat.strangesoft.net/openal.html"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0f159f19f9377e1895fbb477d5a7953e"
+
+inherit cmake pkgconfig
+
+DEPENDS = "zlib libsndfile1"
+
+SRCREV = "d3875f333fb6abe2f39d82caca329414871ae53b"
+SRC_URI = "git://github.com/kcat/openal-soft.git;protocol=https;branch=master"
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa pipewire pulseaudio', d)}"
+PACKAGECONFIG[alsa] = "-DALSOFT_BACKEND_ALSA=ON,-DALSOFT_BACKEND_ALSA=OFF,alsa-lib"
+PACKAGECONFIG[oss] = "-DALSOFT_BACKEND_OSS=ON,-DALSOFT_BACKEND_OSS=OFF"
+PACKAGECONFIG[pulseaudio] = "-DALSOFT_BACKEND_PULSEAUDIO=ON,-DALSOFT_BACKEND_PULSEAUDIO=OFF,pulseaudio"
+PACKAGECONFIG[pipewire] = "-DALSOFT_BACKEND_PIPEWIRE=ON,-DALSOFT_BACKEND_PIPEWIRE=OFF,pipewire"
+PACKAGECONFIG[examples] = "-DALSOFT_EXAMPLES=ON,-DALSOFT_EXAMPLES=OFF"
+PACKAGECONFIG[sdl2] = "-DALSOFT_BACKEND_SDL2=ON,-DALSOFT_BACKEND_SDL2=OFF,libsdl2 ffmpeg"
+
+FILES:${PN} += "${datadir}"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/opencore-amr/opencore-amr_0.1.3.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/opencore-amr/opencore-amr_0.1.3.bb
deleted file mode 100644
index ab5813e..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/opencore-amr/opencore-amr_0.1.3.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-DESCRIPTION = "OpenCORE Adaptive Multi Rate (AMR) speech codec library implementation"
-HOMEPAGE = "http://sourceforge.net/projects/opencore-amr/"
-SECTION = "libs"
-
-LICENSE = "Apache-2.0"
-LICENSE_FLAGS = "commercial"
-LIC_FILES_CHKSUM = "file://COPYING;md5=dd2c2486aca02190153cf399e508c7e7"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/opencore-amr/${BP}.tar.gz"
-SRC_URI[md5sum] = "09d2c5dfb43a9f6e9fec8b1ae678e725"
-SRC_URI[sha256sum] = "106bf811c1f36444d7671d8fd2589f8b2e0cca58a2c764da62ffc4a070595385"
-
-inherit autotools
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/opencore-amr/opencore-amr_0.1.6.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/opencore-amr/opencore-amr_0.1.6.bb
new file mode 100644
index 0000000..be79773
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/opencore-amr/opencore-amr_0.1.6.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "OpenCORE Adaptive Multi Rate (AMR) speech codec library implementation"
+HOMEPAGE = "http://sourceforge.net/projects/opencore-amr/"
+SECTION = "libs"
+
+LICENSE = "Apache-2.0"
+LICENSE_FLAGS = "commercial"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=dd2c2486aca02190153cf399e508c7e7"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/opencore-amr/${BP}.tar.gz"
+SRC_URI[md5sum] = "03de025060a4f16c4c44218f65e13e95"
+SRC_URI[sha256sum] = "483eb4061088e2b34b358e47540b5d495a96cd468e361050fae615b1809dc4a1"
+
+inherit autotools
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb
index fddfd72..b18ad6a 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb
@@ -25,9 +25,6 @@
bluealsa \
caps \
cdparanoia \
- dleyna-connector-dbus \
- dleyna-renderer \
- dleyna-server \
dvb-apps \
${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "faac mpd", "", d)} \
gerbera \
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.81.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.81.bb
deleted file mode 100644
index 2a3699f..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.81.bb
+++ /dev/null
@@ -1,389 +0,0 @@
-SUMMARY = "Multimedia processing server for Linux"
-DESCRIPTION = "Linux server for handling and routing audio and video streams between applications and multimedia I/O devices"
-HOMEPAGE = "https://pipewire.org/"
-BUGTRACKER = "https://gitlab.freedesktop.org/pipewire/pipewire/issues"
-AUTHOR = "Wim Taymans <wtaymans@redhat.com>"
-SECTION = "multimedia"
-
-LICENSE = "MIT & LGPL-2.1-or-later & GPL-2.0-only"
-LIC_FILES_CHKSUM = " \
- file://LICENSE;md5=2158739e172e58dc9ab1bdd2d6ec9c72 \
- file://COPYING;md5=97be96ca4fab23e9657ffa590b931c1a \
-"
-
-DEPENDS = "dbus ncurses"
-
-SRCREV = "181fbfee6d3fcc3afd3c93613f126a8346dad586"
-SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=master;protocol=https"
-
-S = "${WORKDIR}/git"
-
-inherit meson pkgconfig systemd gettext useradd
-
-USERADD_PACKAGES = "${PN}"
-
-GROUPADD_PARAM:${PN} = "--system pipewire"
-
-USERADD_PARAM:${PN} = "--system --home / --no-create-home \
- --comment 'PipeWire multimedia daemon' \
- --gid pipewire --groups audio,video \
- pipewire"
-
-SYSTEMD_PACKAGES = "${PN}"
-
-# For "EVL", look up https://evlproject.org/ . It involves
-# a specially prepared kernel, and is currently unavailable
-# in Yocto.
-#
-#
-# manpage generation requires xmltoman, which is not available.
-#
-# The session-managers list specifies which session managers Meson
-# shall download (via git clone) and build as subprojects. In OE,
-# this is not how a session manager should be built. Instead, they
-# should be integrated as separate OE recipes. To prevent PipeWire
-# from using this Meson feature, set an empty list.
-# This does not disable support or the need for session managers,
-# it just prevents this subproject feature.
-#
-# AptX and LDAC are not available in OE. Currently, neither
-# are lv2, ROC, and libmysofa.
-#
-# The RTKit module is deprecated in favor of the newer RT module.
-# It still exists for legacy setups that still include it in
-# their PipeWire configuration files.
-EXTRA_OEMESON += " \
- -Devl=disabled \
- -Dtests=disabled \
- -Dudevrulesdir=${nonarch_base_libdir}/udev/rules.d/ \
- -Dsystemd-system-unit-dir=${systemd_system_unitdir} \
- -Dsystemd-user-unit-dir=${systemd_user_unitdir} \
- -Dman=disabled \
- -Dsession-managers='[]' \
- -Dlv2=disabled \
- -Droc=disabled \
- -Dbluez5-codec-aptx=disabled \
- -Dbluez5-codec-ldac=disabled \
- -Dlegacy-rtkit=false \
- -Dlibmysofa=disabled \
-"
-
-# spa alsa plugin code uses typedef redefinition, which is officially a C11 feature.
-# Pipewire builds with 'c_std=gnu99' by default. Recent versions of gcc don't issue this warning in gnu99
-# mode but it looks like clang still does
-CFLAGS:append = " -Wno-typedef-redefinition"
-
-# According to wireplumber documentation only one session manager should be installed at a time
-# Possible options are media-session, which has fewer dependencies but is very simple,
-# or wireplumber, which is more powerful.
-PIPEWIRE_SESSION_MANAGER ??= "wireplumber"
-
-FFMPEG_AVAILABLE = "${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'ffmpeg', '', d)}"
-BLUETOOTH_AAC = "${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'bluez-aac', '', d)}"
-
-PACKAGECONFIG:class-target ??= " \
- ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez bluez-opus ${BLUETOOTH_AAC}', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd systemd-system-service systemd-user-service', '', d)} \
- ${@bb.utils.filter('DISTRO_FEATURES', 'alsa vulkan pulseaudio', d)} \
- ${PIPEWIRE_SESSION_MANAGER} \
- ${FFMPEG_AVAILABLE} avahi flatpak gstreamer gsettings jack libusb pw-cat raop sndfile v4l2 udev volume webrtc-echo-cancelling libcamera readline \
-"
-
-# "jack" and "pipewire-jack" packageconfigs cannot be both enabled,
-# since "jack" imports libjack, and "pipewire-jack" generates
-# libjack.so* files, thus colliding with the libpack package. This
-# is why these two are marked in their respective packageconfigs
-# as being in conflict.
-PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib udev,,pipewire-alsa pipewire-alsa-card-profile"
-PACKAGECONFIG[avahi] = "-Davahi=enabled,-Davahi=disabled,avahi"
-PACKAGECONFIG[bluez] = "-Dbluez5=enabled,-Dbluez5=disabled,bluez5 sbc"
-PACKAGECONFIG[bluez-aac] = "-Dbluez5-codec-aac=enabled,-Dbluez5-codec-aac=disabled,fdk-aac"
-PACKAGECONFIG[bluez-opus] = "-Dbluez5-codec-opus=enabled,-Dbluez5-codec-opus=disabled,libopus"
-PACKAGECONFIG[bluez-lc3] = "-Dbluez5-codec-lc3=enabled,-Dbluez5-codec-lc3=disabled,liblc3"
-# From the pipewire git log:
-# "Some Linux phones doesn't use oFono but ModemManager to control the modem."
-# This packageconfig enables modemmanager specific code in the BlueZ backend.
-PACKAGECONFIG[bluez-backend-native-mm] = "-Dbluez5-backend-native-mm=enabled,-Dbluez5-backend-native-mm=disabled,modemmanager"
-PACKAGECONFIG[docs] = "-Ddocs=enabled,-Ddocs=disabled,doxygen-native graphviz-native"
-PACKAGECONFIG[ffmpeg] = "-Dffmpeg=enabled,-Dffmpeg=disabled,ffmpeg"
-PACKAGECONFIG[flatpak] = "-Dflatpak=enabled,-Dflatpak=disabled,glib-2.0"
-PACKAGECONFIG[gsettings] = "-Dgsettings=enabled,-Dgsettings=disabled,glib-2.0"
-PACKAGECONFIG[gstreamer] = "-Dgstreamer=enabled,-Dgstreamer=disabled,glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base,,gstreamer1.0-pipewire"
-PACKAGECONFIG[jack] = "-Djack=enabled,-Djack=disabled,jack,,,pipewire-jack"
-PACKAGECONFIG[libcamera] = "-Dlibcamera=enabled,-Dlibcamera=disabled,libcamera libdrm"
-PACKAGECONFIG[libcanberra] = "-Dlibcanberra=enabled,-Dlibcanberra=disabled,libcanberra"
-PACKAGECONFIG[libusb] = "-Dlibusb=enabled,-Dlibusb=disabled,libusb"
-PACKAGECONFIG[media-session] = ",,,pipewire-media-session,,wireplumber"
-PACKAGECONFIG[pulseaudio] = "-Dlibpulse=enabled,-Dlibpulse=disabled,pulseaudio,,pipewire-pulse"
-PACKAGECONFIG[pipewire-alsa] = "-Dpipewire-alsa=enabled,-Dpipewire-alsa=disabled,alsa-lib"
-PACKAGECONFIG[pipewire-jack] = "-Dpipewire-jack=enabled -Dlibjack-path=${libdir}/${PW_MODULE_SUBDIR}/jack,-Dpipewire-jack=disabled,jack,,pipewire-jack,jack"
-PACKAGECONFIG[pw-cat] = "-Dpw-cat=enabled,-Dpw-cat=disabled"
-PACKAGECONFIG[raop] = "-Draop=enabled,-Draop=disabled,openssl"
-# Starting with version 0.3.60, readline usage can be turned off in pw-cli.
-# If it is disabled, getline() is used as a fallback.
-PACKAGECONFIG[readline] = "-Dreadline=enabled,-Dreadline=disabled,readline"
-PACKAGECONFIG[sdl2] = "-Dsdl2=enabled,-Dsdl2=disabled,libsdl2"
-PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1"
-PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd"
-PACKAGECONFIG[systemd-system-service] = "-Dsystemd-system-service=enabled,-Dsystemd-system-service=disabled,systemd"
-# "systemd-user-service" packageconfig will only install service
-# files to rootfs but not enable them as systemd.bbclass
-# currently lacks the feature of enabling user services.
-PACKAGECONFIG[systemd-user-service] = "-Dsystemd-user-service=enabled,-Dsystemd-user-service=disabled,systemd"
-# pw-cat needs sndfile packageconfig to be enabled
-PACKAGECONFIG[udev] = "-Dudev=enabled,-Dudev=disabled,udev"
-PACKAGECONFIG[v4l2] = "-Dv4l2=enabled,-Dv4l2=disabled,udev"
-PACKAGECONFIG[volume] = "-Dvolume=enabled,-Dvolume=disabled"
-PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-headers vulkan-loader"
-PACKAGECONFIG[webrtc-echo-cancelling] = "-Decho-cancel-webrtc=enabled,-Decho-cancel-webrtc=disabled,webrtc-audio-processing-1"
-PACKAGECONFIG[wireplumber] = ",,,wireplumber,,media-session"
-
-PACKAGESPLITFUNCS:prepend = " split_dynamic_packages "
-PACKAGESPLITFUNCS:append = " set_dynamic_metapkg_rdepends "
-
-SPA_SUBDIR = "spa-0.2"
-PW_MODULE_SUBDIR = "pipewire-0.3"
-
-remove_unused_installed_files() {
- # jack.conf is used by pipewire-jack (not the JACK SPA plugin).
- # Remove it if pipewire-jack is not built to avoid creating the
- # pipewire-jack package.
- if ${@bb.utils.contains('PACKAGECONFIG', 'pipewire-jack', 'false', 'true', d)}; then
- rm -f "${D}${datadir}/pipewire/jack.conf"
- fi
-
- # minimal.conf is an example of how to minimally configure the
- # daemon and is not meant to be used for production.
- rm -f "${D}${datadir}/pipewire/minimal.conf"
-}
-
-do_install[postfuncs] += "remove_unused_installed_files"
-
-python split_dynamic_packages () {
- # Create packages for each SPA plugin. These plugins are located
- # in individual subdirectories, so a recursive search is needed.
- spa_libdir = d.expand('${libdir}/${SPA_SUBDIR}')
- do_split_packages(d, spa_libdir, r'^libspa-(.*)\.so$', d.expand('${PN}-spa-plugins-%s'), 'PipeWire SPA plugin for %s', extra_depends='', recursive=True)
-
- # Create packages for each PipeWire module.
- pw_module_libdir = d.expand('${libdir}/${PW_MODULE_SUBDIR}')
- do_split_packages(d, pw_module_libdir, r'^libpipewire-module-(.*)\.so$', d.expand('${PN}-modules-%s'), 'PipeWire %s module', extra_depends='', recursive=False)
-}
-
-python set_dynamic_metapkg_rdepends () {
- import os
- import oe.utils
-
- if bb.data.inherits_class('nativesdk', d) or bb.data.inherits_class('native', d):
- return
-
- # Go through all generated SPA plugin and PipeWire module packages
- # (excluding the main package and the -meta package itself) and
- # add them to the -meta package as RDEPENDS.
-
- base_pn = d.getVar('PN')
-
- spa_pn = base_pn + '-spa-plugins'
- spa_metapkg = spa_pn + '-meta'
-
- pw_module_pn = base_pn + '-modules'
- pw_module_metapkg = pw_module_pn + '-meta'
-
- d.setVar('ALLOW_EMPTY:' + spa_metapkg, "1")
- d.setVar('FILES:' + spa_metapkg, "")
-
- d.setVar('ALLOW_EMPTY:' + pw_module_metapkg, "1")
- d.setVar('FILES:' + pw_module_metapkg, "")
-
- blacklist = [ spa_pn, spa_metapkg, pw_module_pn, pw_module_metapkg ]
- spa_metapkg_rdepends = []
- pw_module_metapkg_rdepends = []
- pkgdest = d.getVar('PKGDEST')
-
- for pkg in oe.utils.packages_filter_out_system(d):
- if pkg in blacklist:
- continue
-
- is_spa_pkg = pkg.startswith(spa_pn)
- is_pw_module_pkg = pkg.startswith(pw_module_pn)
- if not is_spa_pkg and not is_pw_module_pkg:
- continue
-
- if pkg in spa_metapkg_rdepends or pkg in pw_module_metapkg_rdepends:
- continue
-
- # See if the package is empty by looking at the contents of its
- # PKGDEST subdirectory. If this subdirectory is empty, then then
- # package is empty as well. Empty packages do not get added to
- # the meta package's RDEPENDS.
- pkgdir = os.path.join(pkgdest, pkg)
- if os.path.exists(pkgdir):
- dir_contents = os.listdir(pkgdir) or []
- else:
- dir_contents = []
- is_empty = len(dir_contents) == 0
- if not is_empty:
- if is_spa_pkg:
- spa_metapkg_rdepends.append(pkg)
- if is_pw_module_pkg:
- pw_module_metapkg_rdepends.append(pkg)
-
- d.setVar('RDEPENDS:' + spa_metapkg, ' '.join(spa_metapkg_rdepends))
- d.setVar('DESCRIPTION:' + spa_metapkg, spa_pn + ' meta package')
-
- d.setVar('RDEPENDS:' + pw_module_metapkg, ' '.join(pw_module_metapkg_rdepends))
- d.setVar('DESCRIPTION:' + pw_module_metapkg, pw_module_pn + ' meta package')
-}
-
-PACKAGES =+ "\
- libpipewire \
- ${PN}-tools \
- ${PN}-pulse \
- ${PN}-alsa \
- ${PN}-jack \
- ${PN}-spa-plugins \
- ${PN}-spa-plugins-meta \
- ${PN}-spa-tools \
- ${PN}-modules \
- ${PN}-modules-meta \
- ${PN}-alsa-card-profile \
- ${PN}-v4l2 \
- ${PN}-aes67 \
- gstreamer1.0-pipewire \
-"
-
-PACKAGES_DYNAMIC = "^${PN}-spa-plugins.* ^${PN}-modules.*"
-PACKAGES_DYNAMIC:class-native = ""
-
-SYSTEMD_SERVICE:${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd-system-service', 'pipewire.service', '', d)}"
-CONFFILES:${PN} += "${datadir}/pipewire/pipewire.conf"
-FILES:${PN} = " \
- ${datadir}/pipewire \
- ${systemd_system_unitdir}/pipewire* \
- ${systemd_user_unitdir} \
- ${bindir}/pipewire \
- ${bindir}/pipewire-avb \
- ${bindir}/pipewire-vulkan \
-"
-
-RRECOMMENDS:${PN}:class-target += " \
- pipewire-modules-meta \
- pipewire-spa-plugins-meta \
-"
-
-FILES:${PN}-dev += " \
- ${libdir}/${PW_MODULE_SUBDIR}/jack/libjack*.so \
-"
-
-CONFFILES:libpipewire += "${datadir}/pipewire/client.conf"
-FILES:libpipewire = " \
- ${datadir}/pipewire/client.conf \
- ${libdir}/libpipewire-*.so.* \
-"
-# Add the bare minimum modules and plugins required to be able
-# to use libpipewire. Without these, it is essentially unusable.
-RDEPENDS:libpipewire += " \
- ${PN}-modules-client-node \
- ${PN}-modules-protocol-native \
- ${PN}-spa-plugins-support \
-"
-
-FILES:${PN}-tools = " \
- ${bindir}/pw-cat \
- ${bindir}/pw-cli \
- ${bindir}/pw-config \
- ${bindir}/pw-dot \
- ${bindir}/pw-dsdplay \
- ${bindir}/pw-dump \
- ${bindir}/pw-encplay \
- ${bindir}/pw-link \
- ${bindir}/pw-loopback \
- ${bindir}/pw-metadata \
- ${bindir}/pw-mididump \
- ${bindir}/pw-midiplay \
- ${bindir}/pw-midirecord \
- ${bindir}/pw-mon \
- ${bindir}/pw-play \
- ${bindir}/pw-profiler \
- ${bindir}/pw-record \
- ${bindir}/pw-reserve \
- ${bindir}/pw-top \
-"
-
-# This is a shim daemon that is intended to be used as a
-# drop-in PulseAudio replacement, providing a pulseaudio-compatible
-# socket that can be used by applications that use libpulse.
-CONFFILES:${PN}-pulse += "${datadir}/pipewire/pipewire-pulse.conf"
-FILES:${PN}-pulse = " \
- ${datadir}/pipewire/pipewire-pulse.conf \
- ${systemd_system_unitdir}/pipewire-pulse.* \
- ${systemd_user_unitdir}/pipewire-pulse.* \
- ${bindir}/pipewire-pulse \
-"
-RDEPENDS:${PN}-pulse += " \
- ${PN}-modules-protocol-pulse \
-"
-
-# ALSA plugin to redirect audio to pipewire.
-FILES:${PN}-alsa = "\
- ${libdir}/alsa-lib/* \
- ${datadir}/alsa/alsa.conf.d/* \
-"
-
-# JACK drop-in libraries to redirect audio to pipewire.
-CONFFILES:${PN}-jack = "${datadir}/pipewire/jack.conf"
-FILES:${PN}-jack = "\
- ${bindir}/pw-jack \
- ${datadir}/pipewire/jack.conf \
- ${libdir}/${PW_MODULE_SUBDIR}/jack/libjack*.so.* \
-"
-
-# Dynamic SPA plugin packages (see set_dynamic_metapkg_rdepends).
-FILES:${PN}-spa-plugins = ""
-RRECOMMENDS:${PN}-spa-plugins += "${PN}-spa-plugins-meta"
-
-FILES:${PN}-spa-plugins-bluez5 += " \
- ${datadir}/${SPA_SUBDIR}/bluez5/* \
-"
-
-FILES:${PN}-spa-tools = " \
- ${bindir}/spa-* \
-"
-
-# Dynamic PipeWire module packages (see set_dynamic_metapkg_rdepends).
-FILES:${PN}-modules = ""
-RRECOMMENDS:${PN}-modules += "${PN}-modules-meta"
-
-CONFFILES:${PN}-modules-rt = "${datadir}/pipewire/client-rt.conf"
-FILES:${PN}-modules-rt += " \
- ${datadir}/pipewire/client-rt.conf \
- ${sysconfdir}/security/limits.d/* \
- "
-
-CONFFILES:${PN}-modules-filter-chain = "${datadir}/pipewire/filter-chain/*"
-FILES:${PN}-modules-filter-chain += " \
- ${datadir}/pipewire/filter-chain/* \
-"
-
-FILES:${PN}-alsa-card-profile = " \
- ${datadir}/alsa-card-profile/* \
- ${nonarch_base_libdir}/udev/rules.d/90-pipewire-alsa.rules \
-"
-
-# V4L2 interface emulator for sending/receiving data between PipeWire and V4L2 applications.
-FILES:${PN}-v4l2 += " \
- ${bindir}/pw-v4l2 \
- ${libdir}/${PW_MODULE_SUBDIR}/v4l2/libpw-v4l2.so \
-"
-
-# AES67 is a standard for audio over IP, from the Audio Engineering Society (AES).
-FILES:${PN}-aes67 += " \
- ${bindir}/pipewire-aes67 \
-"
-
-FILES:gstreamer1.0-pipewire = " \
- ${libdir}/gstreamer-1.0/* \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.85.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.85.bb
new file mode 100644
index 0000000..883d02d
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.85.bb
@@ -0,0 +1,388 @@
+SUMMARY = "Multimedia processing server for Linux"
+DESCRIPTION = "Linux server for handling and routing audio and video streams between applications and multimedia I/O devices"
+HOMEPAGE = "https://pipewire.org/"
+BUGTRACKER = "https://gitlab.freedesktop.org/pipewire/pipewire/issues"
+SECTION = "multimedia"
+
+LICENSE = "MIT & LGPL-2.1-or-later & GPL-2.0-only"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE;md5=2158739e172e58dc9ab1bdd2d6ec9c72 \
+ file://COPYING;md5=97be96ca4fab23e9657ffa590b931c1a \
+"
+
+DEPENDS = "dbus ncurses"
+
+SRCREV = "7db1e7f643a454056327999b2d8e35d8097b5593"
+SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=master;protocol=https"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig systemd gettext useradd
+
+USERADD_PACKAGES = "${PN}"
+
+GROUPADD_PARAM:${PN} = "--system pipewire"
+
+USERADD_PARAM:${PN} = "--system --home / --no-create-home \
+ --comment 'PipeWire multimedia daemon' \
+ --gid pipewire --groups audio,video \
+ pipewire"
+
+SYSTEMD_PACKAGES = "${PN}"
+
+# For "EVL", look up https://evlproject.org/ . It involves
+# a specially prepared kernel, and is currently unavailable
+# in Yocto.
+#
+#
+# manpage generation requires xmltoman, which is not available.
+#
+# The session-managers list specifies which session managers Meson
+# shall download (via git clone) and build as subprojects. In OE,
+# this is not how a session manager should be built. Instead, they
+# should be integrated as separate OE recipes. To prevent PipeWire
+# from using this Meson feature, set an empty list.
+# This does not disable support or the need for session managers,
+# it just prevents this subproject feature.
+#
+# AptX and LDAC are not available in OE. Currently, neither
+# are lv2, ROC, and libmysofa.
+#
+# The RTKit module is deprecated in favor of the newer RT module.
+# It still exists for legacy setups that still include it in
+# their PipeWire configuration files.
+EXTRA_OEMESON += " \
+ -Devl=disabled \
+ -Dtests=disabled \
+ -Dudevrulesdir=${nonarch_base_libdir}/udev/rules.d/ \
+ -Dsystemd-system-unit-dir=${systemd_system_unitdir} \
+ -Dsystemd-user-unit-dir=${systemd_user_unitdir} \
+ -Dman=disabled \
+ -Dsession-managers='[]' \
+ -Dlv2=disabled \
+ -Droc=disabled \
+ -Dbluez5-codec-aptx=disabled \
+ -Dbluez5-codec-ldac=disabled \
+ -Dlegacy-rtkit=false \
+ -Dlibmysofa=disabled \
+"
+
+# spa alsa plugin code uses typedef redefinition, which is officially a C11 feature.
+# Pipewire builds with 'c_std=gnu99' by default. Recent versions of gcc don't issue this warning in gnu99
+# mode but it looks like clang still does
+CFLAGS:append = " -Wno-typedef-redefinition"
+
+# According to wireplumber documentation only one session manager should be installed at a time
+# Possible options are media-session, which has fewer dependencies but is very simple,
+# or wireplumber, which is more powerful.
+PIPEWIRE_SESSION_MANAGER ??= "wireplumber"
+
+FFMPEG_AVAILABLE = "${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'ffmpeg', '', d)}"
+BLUETOOTH_AAC = "${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'bluez-aac', '', d)}"
+
+PACKAGECONFIG:class-target ??= " \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez bluez-opus ${BLUETOOTH_AAC}', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd systemd-system-service systemd-user-service', '', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'alsa vulkan pulseaudio', d)} \
+ ${PIPEWIRE_SESSION_MANAGER} \
+ ${FFMPEG_AVAILABLE} avahi flatpak gstreamer gsettings jack libusb pw-cat raop sndfile v4l2 udev volume webrtc-echo-cancelling libcamera readline \
+"
+
+# "jack" and "pipewire-jack" packageconfigs cannot be both enabled,
+# since "jack" imports libjack, and "pipewire-jack" generates
+# libjack.so* files, thus colliding with the libpack package. This
+# is why these two are marked in their respective packageconfigs
+# as being in conflict.
+PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib udev,,pipewire-alsa pipewire-alsa-card-profile"
+PACKAGECONFIG[avahi] = "-Davahi=enabled,-Davahi=disabled,avahi"
+PACKAGECONFIG[bluez] = "-Dbluez5=enabled,-Dbluez5=disabled,bluez5 sbc"
+PACKAGECONFIG[bluez-aac] = "-Dbluez5-codec-aac=enabled,-Dbluez5-codec-aac=disabled,fdk-aac"
+PACKAGECONFIG[bluez-opus] = "-Dbluez5-codec-opus=enabled,-Dbluez5-codec-opus=disabled,libopus"
+PACKAGECONFIG[bluez-lc3] = "-Dbluez5-codec-lc3=enabled,-Dbluez5-codec-lc3=disabled,liblc3"
+# From the pipewire git log:
+# "Some Linux phones doesn't use oFono but ModemManager to control the modem."
+# This packageconfig enables modemmanager specific code in the BlueZ backend.
+PACKAGECONFIG[bluez-backend-native-mm] = "-Dbluez5-backend-native-mm=enabled,-Dbluez5-backend-native-mm=disabled,modemmanager"
+PACKAGECONFIG[docs] = "-Ddocs=enabled,-Ddocs=disabled,doxygen-native graphviz-native"
+PACKAGECONFIG[ffmpeg] = "-Dffmpeg=enabled,-Dffmpeg=disabled,ffmpeg"
+PACKAGECONFIG[flatpak] = "-Dflatpak=enabled,-Dflatpak=disabled,glib-2.0"
+PACKAGECONFIG[gsettings] = "-Dgsettings=enabled,-Dgsettings=disabled,glib-2.0"
+PACKAGECONFIG[gstreamer] = "-Dgstreamer=enabled,-Dgstreamer=disabled,glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base,,gstreamer1.0-pipewire"
+PACKAGECONFIG[jack] = "-Djack=enabled,-Djack=disabled,jack,,,pipewire-jack"
+PACKAGECONFIG[libcamera] = "-Dlibcamera=enabled,-Dlibcamera=disabled,libcamera libdrm"
+PACKAGECONFIG[libcanberra] = "-Dlibcanberra=enabled,-Dlibcanberra=disabled,libcanberra"
+PACKAGECONFIG[libusb] = "-Dlibusb=enabled,-Dlibusb=disabled,libusb"
+PACKAGECONFIG[media-session] = ",,,pipewire-media-session,,wireplumber"
+PACKAGECONFIG[pulseaudio] = "-Dlibpulse=enabled,-Dlibpulse=disabled,pulseaudio,,pipewire-pulse"
+PACKAGECONFIG[pipewire-alsa] = "-Dpipewire-alsa=enabled,-Dpipewire-alsa=disabled,alsa-lib"
+PACKAGECONFIG[pipewire-jack] = "-Dpipewire-jack=enabled -Dlibjack-path=${libdir}/${PW_MODULE_SUBDIR}/jack,-Dpipewire-jack=disabled,jack,,pipewire-jack,jack"
+PACKAGECONFIG[pw-cat] = "-Dpw-cat=enabled,-Dpw-cat=disabled"
+PACKAGECONFIG[raop] = "-Draop=enabled,-Draop=disabled,openssl"
+# Starting with version 0.3.60, readline usage can be turned off in pw-cli.
+# If it is disabled, getline() is used as a fallback.
+PACKAGECONFIG[readline] = "-Dreadline=enabled,-Dreadline=disabled,readline"
+PACKAGECONFIG[sdl2] = "-Dsdl2=enabled,-Dsdl2=disabled,libsdl2"
+PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1"
+PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd"
+PACKAGECONFIG[systemd-system-service] = "-Dsystemd-system-service=enabled,-Dsystemd-system-service=disabled,systemd"
+# "systemd-user-service" packageconfig will only install service
+# files to rootfs but not enable them as systemd.bbclass
+# currently lacks the feature of enabling user services.
+PACKAGECONFIG[systemd-user-service] = "-Dsystemd-user-service=enabled,-Dsystemd-user-service=disabled,systemd"
+# pw-cat needs sndfile packageconfig to be enabled
+PACKAGECONFIG[udev] = "-Dudev=enabled,-Dudev=disabled,udev"
+PACKAGECONFIG[v4l2] = "-Dv4l2=enabled,-Dv4l2=disabled,udev"
+PACKAGECONFIG[volume] = "-Dvolume=enabled,-Dvolume=disabled"
+PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-headers vulkan-loader"
+PACKAGECONFIG[webrtc-echo-cancelling] = "-Decho-cancel-webrtc=enabled,-Decho-cancel-webrtc=disabled,webrtc-audio-processing-1"
+PACKAGECONFIG[wireplumber] = ",,,wireplumber,,media-session"
+
+PACKAGESPLITFUNCS:prepend = " split_dynamic_packages "
+PACKAGESPLITFUNCS:append = " set_dynamic_metapkg_rdepends "
+
+SPA_SUBDIR = "spa-0.2"
+PW_MODULE_SUBDIR = "pipewire-0.3"
+
+remove_unused_installed_files() {
+ # jack.conf is used by pipewire-jack (not the JACK SPA plugin).
+ # Remove it if pipewire-jack is not built to avoid creating the
+ # pipewire-jack package.
+ if ${@bb.utils.contains('PACKAGECONFIG', 'pipewire-jack', 'false', 'true', d)}; then
+ rm -f "${D}${datadir}/pipewire/jack.conf"
+ fi
+
+ # minimal.conf is an example of how to minimally configure the
+ # daemon and is not meant to be used for production.
+ rm -f "${D}${datadir}/pipewire/minimal.conf"
+}
+
+do_install[postfuncs] += "remove_unused_installed_files"
+
+python split_dynamic_packages () {
+ # Create packages for each SPA plugin. These plugins are located
+ # in individual subdirectories, so a recursive search is needed.
+ spa_libdir = d.expand('${libdir}/${SPA_SUBDIR}')
+ do_split_packages(d, spa_libdir, r'^libspa-(.*)\.so$', d.expand('${PN}-spa-plugins-%s'), 'PipeWire SPA plugin for %s', extra_depends='', recursive=True)
+
+ # Create packages for each PipeWire module.
+ pw_module_libdir = d.expand('${libdir}/${PW_MODULE_SUBDIR}')
+ do_split_packages(d, pw_module_libdir, r'^libpipewire-module-(.*)\.so$', d.expand('${PN}-modules-%s'), 'PipeWire %s module', extra_depends='', recursive=False)
+}
+
+python set_dynamic_metapkg_rdepends () {
+ import os
+ import oe.utils
+
+ if bb.data.inherits_class('nativesdk', d) or bb.data.inherits_class('native', d):
+ return
+
+ # Go through all generated SPA plugin and PipeWire module packages
+ # (excluding the main package and the -meta package itself) and
+ # add them to the -meta package as RDEPENDS.
+
+ base_pn = d.getVar('PN')
+
+ spa_pn = base_pn + '-spa-plugins'
+ spa_metapkg = spa_pn + '-meta'
+
+ pw_module_pn = base_pn + '-modules'
+ pw_module_metapkg = pw_module_pn + '-meta'
+
+ d.setVar('ALLOW_EMPTY:' + spa_metapkg, "1")
+ d.setVar('FILES:' + spa_metapkg, "")
+
+ d.setVar('ALLOW_EMPTY:' + pw_module_metapkg, "1")
+ d.setVar('FILES:' + pw_module_metapkg, "")
+
+ blacklist = [ spa_pn, spa_metapkg, pw_module_pn, pw_module_metapkg ]
+ spa_metapkg_rdepends = []
+ pw_module_metapkg_rdepends = []
+ pkgdest = d.getVar('PKGDEST')
+
+ for pkg in oe.utils.packages_filter_out_system(d):
+ if pkg in blacklist:
+ continue
+
+ is_spa_pkg = pkg.startswith(spa_pn)
+ is_pw_module_pkg = pkg.startswith(pw_module_pn)
+ if not is_spa_pkg and not is_pw_module_pkg:
+ continue
+
+ if pkg in spa_metapkg_rdepends or pkg in pw_module_metapkg_rdepends:
+ continue
+
+ # See if the package is empty by looking at the contents of its
+ # PKGDEST subdirectory. If this subdirectory is empty, then then
+ # package is empty as well. Empty packages do not get added to
+ # the meta package's RDEPENDS.
+ pkgdir = os.path.join(pkgdest, pkg)
+ if os.path.exists(pkgdir):
+ dir_contents = os.listdir(pkgdir) or []
+ else:
+ dir_contents = []
+ is_empty = len(dir_contents) == 0
+ if not is_empty:
+ if is_spa_pkg:
+ spa_metapkg_rdepends.append(pkg)
+ if is_pw_module_pkg:
+ pw_module_metapkg_rdepends.append(pkg)
+
+ d.setVar('RDEPENDS:' + spa_metapkg, ' '.join(spa_metapkg_rdepends))
+ d.setVar('DESCRIPTION:' + spa_metapkg, spa_pn + ' meta package')
+
+ d.setVar('RDEPENDS:' + pw_module_metapkg, ' '.join(pw_module_metapkg_rdepends))
+ d.setVar('DESCRIPTION:' + pw_module_metapkg, pw_module_pn + ' meta package')
+}
+
+PACKAGES =+ "\
+ libpipewire \
+ ${PN}-tools \
+ ${PN}-pulse \
+ ${PN}-alsa \
+ ${PN}-jack \
+ ${PN}-spa-plugins \
+ ${PN}-spa-plugins-meta \
+ ${PN}-spa-tools \
+ ${PN}-modules \
+ ${PN}-modules-meta \
+ ${PN}-alsa-card-profile \
+ ${PN}-v4l2 \
+ ${PN}-aes67 \
+ gstreamer1.0-pipewire \
+"
+
+PACKAGES_DYNAMIC = "^${PN}-spa-plugins.* ^${PN}-modules.*"
+PACKAGES_DYNAMIC:class-native = ""
+
+SYSTEMD_SERVICE:${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd-system-service', 'pipewire.service', '', d)}"
+CONFFILES:${PN} += "${datadir}/pipewire/pipewire.conf"
+FILES:${PN} = " \
+ ${datadir}/pipewire \
+ ${systemd_system_unitdir}/pipewire* \
+ ${systemd_user_unitdir} \
+ ${bindir}/pipewire \
+ ${bindir}/pipewire-avb \
+ ${bindir}/pipewire-vulkan \
+"
+
+RRECOMMENDS:${PN}:class-target += " \
+ pipewire-modules-meta \
+ pipewire-spa-plugins-meta \
+"
+
+FILES:${PN}-dev += " \
+ ${libdir}/${PW_MODULE_SUBDIR}/jack/libjack*.so \
+"
+
+CONFFILES:libpipewire += "${datadir}/pipewire/client.conf"
+FILES:libpipewire = " \
+ ${datadir}/pipewire/client.conf \
+ ${libdir}/libpipewire-*.so.* \
+"
+# Add the bare minimum modules and plugins required to be able
+# to use libpipewire. Without these, it is essentially unusable.
+RDEPENDS:libpipewire += " \
+ ${PN}-modules-client-node \
+ ${PN}-modules-protocol-native \
+ ${PN}-spa-plugins-support \
+"
+
+FILES:${PN}-tools = " \
+ ${bindir}/pw-cat \
+ ${bindir}/pw-cli \
+ ${bindir}/pw-config \
+ ${bindir}/pw-dot \
+ ${bindir}/pw-dsdplay \
+ ${bindir}/pw-dump \
+ ${bindir}/pw-encplay \
+ ${bindir}/pw-link \
+ ${bindir}/pw-loopback \
+ ${bindir}/pw-metadata \
+ ${bindir}/pw-mididump \
+ ${bindir}/pw-midiplay \
+ ${bindir}/pw-midirecord \
+ ${bindir}/pw-mon \
+ ${bindir}/pw-play \
+ ${bindir}/pw-profiler \
+ ${bindir}/pw-record \
+ ${bindir}/pw-reserve \
+ ${bindir}/pw-top \
+"
+
+# This is a shim daemon that is intended to be used as a
+# drop-in PulseAudio replacement, providing a pulseaudio-compatible
+# socket that can be used by applications that use libpulse.
+CONFFILES:${PN}-pulse += "${datadir}/pipewire/pipewire-pulse.conf"
+FILES:${PN}-pulse = " \
+ ${datadir}/pipewire/pipewire-pulse.conf \
+ ${systemd_system_unitdir}/pipewire-pulse.* \
+ ${systemd_user_unitdir}/pipewire-pulse.* \
+ ${bindir}/pipewire-pulse \
+"
+RDEPENDS:${PN}-pulse += " \
+ ${PN}-modules-protocol-pulse \
+"
+
+# ALSA plugin to redirect audio to pipewire.
+FILES:${PN}-alsa = "\
+ ${libdir}/alsa-lib/* \
+ ${datadir}/alsa/alsa.conf.d/* \
+"
+
+# JACK drop-in libraries to redirect audio to pipewire.
+CONFFILES:${PN}-jack = "${datadir}/pipewire/jack.conf"
+FILES:${PN}-jack = "\
+ ${bindir}/pw-jack \
+ ${datadir}/pipewire/jack.conf \
+ ${libdir}/${PW_MODULE_SUBDIR}/jack/libjack*.so.* \
+"
+
+# Dynamic SPA plugin packages (see set_dynamic_metapkg_rdepends).
+FILES:${PN}-spa-plugins = ""
+RRECOMMENDS:${PN}-spa-plugins += "${PN}-spa-plugins-meta"
+
+FILES:${PN}-spa-plugins-bluez5 += " \
+ ${datadir}/${SPA_SUBDIR}/bluez5/* \
+"
+
+FILES:${PN}-spa-tools = " \
+ ${bindir}/spa-* \
+"
+
+# Dynamic PipeWire module packages (see set_dynamic_metapkg_rdepends).
+FILES:${PN}-modules = ""
+RRECOMMENDS:${PN}-modules += "${PN}-modules-meta"
+
+CONFFILES:${PN}-modules-rt = "${datadir}/pipewire/client-rt.conf"
+FILES:${PN}-modules-rt += " \
+ ${datadir}/pipewire/client-rt.conf \
+ ${sysconfdir}/security/limits.d/* \
+ "
+
+CONFFILES:${PN}-modules-filter-chain = "${datadir}/pipewire/filter-chain/*"
+FILES:${PN}-modules-filter-chain += " \
+ ${datadir}/pipewire/filter-chain/* \
+"
+
+FILES:${PN}-alsa-card-profile = " \
+ ${datadir}/alsa-card-profile/* \
+ ${nonarch_base_libdir}/udev/rules.d/90-pipewire-alsa.rules \
+"
+
+# V4L2 interface emulator for sending/receiving data between PipeWire and V4L2 applications.
+FILES:${PN}-v4l2 += " \
+ ${bindir}/pw-v4l2 \
+ ${libdir}/${PW_MODULE_SUBDIR}/v4l2/libpw-v4l2.so \
+"
+
+# AES67 is a standard for audio over IP, from the Audio Engineering Society (AES).
+FILES:${PN}-aes67 += " \
+ ${bindir}/pipewire-aes67 \
+"
+
+FILES:gstreamer1.0-pipewire = " \
+ ${libdir}/gstreamer-1.0/* \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa.bb
deleted file mode 100644
index 68cf879..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-DESCRIPTION = "TinyALSA is a small library to interface with ALSA in \
-the Linux kernel. It is a lightweight alternative to libasound."
-HOMEPAGE = "https://github.com/tinyalsa/tinyalsa"
-SECTION = "libs/multimedia"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://NOTICE;md5=dbdefe400d894b510a9de14813181d0b"
-
-SRCREV = "8449529c7e50f432091539ba7b438e79b04059b5"
-SRC_URI = "git://github.com/tinyalsa/tinyalsa;branch=master;protocol=https \
- file://0001-Use-CMAKE_INSTALL_-path-instead-of-hardcoding-bin-li.patch \
- "
-PV = "1.1.1+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-# tinyalsa is built as a static library. Enable PIC to avoid relocation
-# errors like these:
-#
-# unresolvable R_AARCH64_ADR_PREL_PG_HI21 relocation against symbol `stderr@@GLIBC_2.17'
-CFLAGS += " -fPIC -DPIC "
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa/0001-Use-CMAKE_INSTALL_-path-instead-of-hardcoding-bin-li.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa/0001-Use-CMAKE_INSTALL_-path-instead-of-hardcoding-bin-li.patch
deleted file mode 100644
index 6f9c399..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa/0001-Use-CMAKE_INSTALL_-path-instead-of-hardcoding-bin-li.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From fe4f3c2a37a81201f463ff962364f014f50c9896 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 16 Dec 2019 22:58:41 -0800
-Subject: [PATCH] Use CMAKE_INSTALL_<path> instead of hardcoding bin/lib/
- install paths
-
-Helps fix build/packaging issues on machines where default libdir is not
-lib but say lib64
-
-Upstream-Status: Submitted [https://github.com/tinyalsa/tinyalsa/pull/143]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- CMakeLists.txt | 14 +++++++++++---
- 1 file changed, 11 insertions(+), 3 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index cb31c58..1cc4a85 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -41,12 +41,20 @@ add_util("tinymix" "utils/tinymix.c")
- install(FILES ${HDRS}
- DESTINATION "include/tinyalsa")
-
-+if(NOT DEFINED CMAKE_INSTALL_LIBDIR)
-+ set(CMAKE_INSTALL_LIBDIR lib)
-+endif()
-+
-+if(NOT DEFINED CMAKE_INSTALL_BINDIR)
-+ set(CMAKE_INSTALL_BINDIR bin)
-+endif()
-+
- install(TARGETS "tinyalsa"
- "tinyplay"
- "tinycap"
- "tinymix"
- "tinypcminfo"
-- RUNTIME DESTINATION "bin"
-- ARCHIVE DESTINATION "lib"
-- LIBRARY DESTINATION "lib")
-+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
-
---
-2.24.1
-
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa/0001-fixed-compilation-error-caused-by-strncpy.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa/0001-fixed-compilation-error-caused-by-strncpy.patch
new file mode 100644
index 0000000..64ebdb1
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa/0001-fixed-compilation-error-caused-by-strncpy.patch
@@ -0,0 +1,69 @@
+From 639650dd64e483074dd7c3c7ea6dc1b1bd542743 Mon Sep 17 00:00:00 2001
+From: alperak <alperyasinak1@gmail.com>
+Date: Sun, 12 Nov 2023 20:16:55 +0300
+Subject: [PATCH] fixed compilation error caused by strncpy
+
+Issue:
+ https://github.com/tinyalsa/tinyalsa/issues/219
+
+Fix:
+ https://github.com/tinyalsa/tinyalsa/pull/220
+ https://github.com/tinyalsa/tinyalsa/pull/221
+
+Upstream-Status: Submitted
+
+Signed-off-by: alperak <alperyasinak1@gmail.com>
+---
+ src/mixer_plugin.c | 8 +++++---
+ src/pcm_plugin.c | 9 ++++++---
+ 2 files changed, 11 insertions(+), 6 deletions(-)
+
+diff --git a/src/mixer_plugin.c b/src/mixer_plugin.c
+index 34117a9..f608563 100644
+--- a/src/mixer_plugin.c
++++ b/src/mixer_plugin.c
+@@ -82,7 +82,8 @@ static int mixer_plug_get_elem_id(struct mixer_plug_data *plug_data,
+ id->iface = ctl->iface;
+
+ strncpy((char *)id->name, (char *)ctl->name,
+- sizeof(id->name));
++ sizeof(id->name) - 1);
++ ((char *)id->name)[sizeof(id->name) - 1] = '\0';
+
+ return 0;
+ }
+@@ -100,8 +101,9 @@ static int mixer_plug_info_enum(struct snd_control *ctl,
+
+ strncpy(einfo->value.enumerated.name,
+ val->texts[einfo->value.enumerated.item],
+- sizeof(einfo->value.enumerated.name));
+-
++ sizeof(einfo->value.enumerated.name) - 1);
++ einfo->value.enumerated.name[sizeof(einfo->value.enumerated.name) - 1] = '\0';
++
+ return 0;
+ }
+
+diff --git a/src/pcm_plugin.c b/src/pcm_plugin.c
+index 15bfc80..47bf4a5 100644
+--- a/src/pcm_plugin.c
++++ b/src/pcm_plugin.c
+@@ -153,9 +153,12 @@ static int pcm_plug_info(struct pcm_plug_data *plug_data,
+ return ret;
+ }
+
+- strncpy((char *)info->id, name, sizeof(info->id));
+- strncpy((char *)info->name, name, sizeof(info->name));
+- strncpy((char *)info->subname, name, sizeof(info->subname));
++ strncpy((char *)info->id, name, sizeof(info->id) - 1);
++ ((char *)info->id)[sizeof(info->id) - 1] = '\0';
++ strncpy((char *)info->name, name, sizeof(info->name) - 1);
++ ((char *)info->name)[sizeof(info->name) - 1] = '\0';
++ strncpy((char *)info->subname, name, sizeof(info->subname) - 1);
++ ((char *)info->subname)[sizeof(info->subname) - 1] = '\0';
+
+ info->subdevices_count = 1;
+
+--
+2.25.1
+
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa_2.0.0.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa_2.0.0.bb
new file mode 100644
index 0000000..e261611
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa_2.0.0.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "TinyALSA is a small library to interface with ALSA in \
+the Linux kernel. It is a lightweight alternative to libasound."
+HOMEPAGE = "https://github.com/tinyalsa/tinyalsa"
+SECTION = "libs/multimedia"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://NOTICE;md5=e04cd6fa58488e016f7fb648ebea1db4"
+
+SRCREV = "1c5fb68ced57d838f2b7ecd0c00bc1fefc9ab60d"
+SRC_URI = "git://github.com/tinyalsa/tinyalsa;branch=master;protocol=https \
+ file://0001-fixed-compilation-error-caused-by-strncpy.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+# tinyalsa is built as a static library. Enable PIC to avoid relocation
+# errors like these:
+#
+# unresolvable R_AARCH64_ADR_PREL_PG_HI21 relocation against symbol `stderr@@GLIBC_2.17'
+CFLAGS += " -fPIC -DPIC "
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/libdvdcss_1.4.2.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/libdvdcss_1.4.2.bb
deleted file mode 100644
index 0b472b8..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/libdvdcss_1.4.2.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "libdvdcss is a simple library for accessing DVDs like block devices"
-DESCRIPTION = "libdvdcss is a simple library designed for accessing DVDs like a block device without having to bother about the decryption."
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "http://download.videolan.org/pub/libdvdcss/${PV}/libdvdcss-${PV}.tar.bz2"
-
-inherit autotools
-
-EXTRA_OECONF = " --disable-doc "
-
-SRC_URI[md5sum] = "7b74f2e142b13c9de6dc8d807ab912d4"
-SRC_URI[sha256sum] = "78c2ed77ec9c0d8fbed7bf7d3abc82068b8864be494cfad165821377ff3f2575"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/libdvdcss_1.4.3.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/libdvdcss_1.4.3.bb
new file mode 100644
index 0000000..42c771e
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/libdvdcss_1.4.3.bb
@@ -0,0 +1,12 @@
+SUMMARY = "libdvdcss is a simple library for accessing DVDs like block devices"
+DESCRIPTION = "libdvdcss is a simple library designed for accessing DVDs like a block device without having to bother about the decryption."
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "http://download.videolan.org/pub/libdvdcss/${PV}/libdvdcss-${PV}.tar.bz2"
+
+inherit autotools
+
+EXTRA_OECONF = " --disable-doc "
+
+SRC_URI[sha256sum] = "233cc92f5dc01c5d3a96f5b3582be7d5cee5a35a52d3a08158745d3d86070079"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.14.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.14.bb
deleted file mode 100644
index 6f93b44..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.14.bb
+++ /dev/null
@@ -1,146 +0,0 @@
-SUMMARY = "Session / policy manager implementation for PipeWire"
-HOMEPAGE = "https://gitlab.freedesktop.org/pipewire/wireplumber"
-BUGTRACKER = "https://gitlab.freedesktop.org/pipewire/wireplumber/issues"
-AUTHOR = "George Kiagiadakis <george.kiagiadakis@collabora.com>"
-SECTION = "multimedia"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=17d1fe479cdec331eecbc65d26bc7e77"
-
-DEPENDS = "glib-2.0 glib-2.0-native lua pipewire \
- ${@bb.utils.contains("DISTRO_FEATURES", "gobject-introspection-data", "python3-native python3-lxml-native doxygen-native", "", d)} \
-"
-
-SRCREV = "6d0c7f7b7f484b3cd2aaf2e2b3cc902c095b4946"
-SRC_URI = " \
- git://gitlab.freedesktop.org/pipewire/wireplumber.git;branch=master;protocol=https \
- file://90-OE-disable-session-dbus-dependent-features.lua \
-"
-
-S = "${WORKDIR}/git"
-
-inherit meson pkgconfig gobject-introspection systemd
-
-GIR_MESON_ENABLE_FLAG = 'enabled'
-GIR_MESON_DISABLE_FLAG = 'disabled'
-
-# Enable system-lua to let wireplumber use OE's lua.
-# Documentation needs python-sphinx, which is not in oe-core or meta-python2 for now.
-# elogind is not (yet) available in OE, so disable support.
-EXTRA_OEMESON += " \
- -Ddoc=disabled \
- -Dsystem-lua=true \
- -Delogind=disabled \
- -Dsystemd-system-unit-dir=${systemd_system_unitdir} \
- -Dsystemd-user-unit-dir=${systemd_user_unitdir} \
- -Dtests=false \
-"
-
-PACKAGECONFIG ??= " dbus \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd systemd-system-service systemd-user-service', '', d)} \
-"
-
-PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd"
-PACKAGECONFIG[systemd-system-service] = "-Dsystemd-system-service=true,-Dsystemd-system-service=false,systemd"
-# "systemd-user-service" packageconfig will only install service
-# files to rootfs but not enable them as systemd.bbclass
-# currently lacks the feature of enabling user services.
-PACKAGECONFIG[systemd-user-service] = "-Dsystemd-user-service=true,-Dsystemd-user-service=false,systemd"
-PACKAGECONFIG[dbus] = ""
-
-PACKAGESPLITFUNCS:prepend = " split_dynamic_packages "
-PACKAGESPLITFUNCS:append = " set_dynamic_metapkg_rdepends "
-
-WP_MODULE_SUBDIR = "wireplumber-0.4"
-
-do_install:append() {
- if ${@bb.utils.contains('PACKAGECONFIG', 'dbus', 'false', 'true', d)}; then
- install -m 0644 ${WORKDIR}/90-OE-disable-session-dbus-dependent-features.lua ${D}${datadir}/wireplumber/main.lua.d
- fi
-}
-
-python split_dynamic_packages () {
- # Create packages for each WirePlumber module.
- wp_module_libdir = d.expand('${libdir}/${WP_MODULE_SUBDIR}')
- do_split_packages(d, wp_module_libdir, r'^libwireplumber-module-(.*)\.so$', d.expand('${PN}-modules-%s'), 'WirePlumber %s module', extra_depends='', recursive=False)
-}
-
-python set_dynamic_metapkg_rdepends () {
- import os
- import oe.utils
-
- # Go through all generated WirePlumber module packages
- # (excluding the main package and the -meta package itself)
- # and add them to the -meta package as RDEPENDS.
-
- base_pn = d.getVar('PN')
-
- wp_module_pn = base_pn + '-modules'
- wp_module_metapkg = wp_module_pn + '-meta'
-
- d.setVar('ALLOW_EMPTY:' + wp_module_metapkg, "1")
- d.setVar('FILES:' + wp_module_metapkg, "")
-
- blacklist = [ wp_module_pn, wp_module_metapkg ]
- wp_module_metapkg_rdepends = []
- pkgdest = d.getVar('PKGDEST')
-
- for pkg in oe.utils.packages_filter_out_system(d):
- if pkg in blacklist:
- continue
-
- is_wp_module_pkg = pkg.startswith(wp_module_pn)
- if not is_wp_module_pkg:
- continue
-
- if pkg in wp_module_metapkg_rdepends:
- continue
-
- # See if the package is empty by looking at the contents of its
- # PKGDEST subdirectory. If this subdirectory is empty, then then
- # package is empty as well. Empty packages do not get added to
- # the meta package's RDEPENDS.
- pkgdir = os.path.join(pkgdest, pkg)
- if os.path.exists(pkgdir):
- dir_contents = os.listdir(pkgdir) or []
- else:
- dir_contents = []
- is_empty = len(dir_contents) == 0
- if not is_empty:
- if is_wp_module_pkg:
- wp_module_metapkg_rdepends.append(pkg)
-
- d.setVar('RDEPENDS:' + wp_module_metapkg, ' '.join(wp_module_metapkg_rdepends))
- d.setVar('DESCRIPTION:' + wp_module_metapkg, wp_module_pn + ' meta package')
-}
-
-PACKAGES =+ "\
- libwireplumber \
- ${PN}-default-config \
- ${PN}-scripts \
- ${PN}-modules \
- ${PN}-modules-meta \
-"
-
-PACKAGES_DYNAMIC = "^${PN}-modules.*"
-
-CONFFILES:${PN} += " \
- ${datadir}/wireplumber/wireplumber.conf \
- ${datadir}/wireplumber/*.lua.d/* \
-"
-# Add pipewire to RRECOMMENDS, since WirePlumber expects a PipeWire daemon to
-# be present. While in theory any application that uses libpipewire can configure
-# itself to become a daemon, in practice, the PipeWire daemon is used.
-RRECOMMENDS:${PN} += "pipewire ${PN}-scripts ${PN}-modules-meta"
-
-FILES:${PN} += "${systemd_user_unitdir} ${systemd_system_unitdir}"
-
-FILES:libwireplumber = " \
- ${libdir}/libwireplumber-*.so.* \
-"
-
-FILES:${PN}-scripts += "${datadir}/wireplumber/scripts/*"
-
-# Dynamic packages (see set_dynamic_metapkg_rdepends).
-FILES:${PN}-modules = ""
-RRECOMMENDS:${PN}-modules += "${PN}-modules-meta"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.15.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.15.bb
new file mode 100644
index 0000000..5a180d1
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.15.bb
@@ -0,0 +1,145 @@
+SUMMARY = "Session / policy manager implementation for PipeWire"
+HOMEPAGE = "https://gitlab.freedesktop.org/pipewire/wireplumber"
+BUGTRACKER = "https://gitlab.freedesktop.org/pipewire/wireplumber/issues"
+SECTION = "multimedia"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=17d1fe479cdec331eecbc65d26bc7e77"
+
+DEPENDS = "glib-2.0 glib-2.0-native lua pipewire \
+ ${@bb.utils.contains("DISTRO_FEATURES", "gobject-introspection-data", "python3-native python3-lxml-native doxygen-native", "", d)} \
+"
+
+SRCREV = "d67b48e595cb4612fd7fd47f97df6b8883ef7f60"
+SRC_URI = " \
+ git://gitlab.freedesktop.org/pipewire/wireplumber.git;branch=master;protocol=https \
+ file://90-OE-disable-session-dbus-dependent-features.lua \
+"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig gobject-introspection systemd
+
+GIR_MESON_ENABLE_FLAG = 'enabled'
+GIR_MESON_DISABLE_FLAG = 'disabled'
+
+# Enable system-lua to let wireplumber use OE's lua.
+# Documentation needs python-sphinx, which is not in oe-core or meta-python2 for now.
+# elogind is not (yet) available in OE, so disable support.
+EXTRA_OEMESON += " \
+ -Ddoc=disabled \
+ -Dsystem-lua=true \
+ -Delogind=disabled \
+ -Dsystemd-system-unit-dir=${systemd_system_unitdir} \
+ -Dsystemd-user-unit-dir=${systemd_user_unitdir} \
+ -Dtests=false \
+"
+
+PACKAGECONFIG ??= " dbus \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd systemd-system-service systemd-user-service', '', d)} \
+"
+
+PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd"
+PACKAGECONFIG[systemd-system-service] = "-Dsystemd-system-service=true,-Dsystemd-system-service=false,systemd"
+# "systemd-user-service" packageconfig will only install service
+# files to rootfs but not enable them as systemd.bbclass
+# currently lacks the feature of enabling user services.
+PACKAGECONFIG[systemd-user-service] = "-Dsystemd-user-service=true,-Dsystemd-user-service=false,systemd"
+PACKAGECONFIG[dbus] = ""
+
+PACKAGESPLITFUNCS:prepend = " split_dynamic_packages "
+PACKAGESPLITFUNCS:append = " set_dynamic_metapkg_rdepends "
+
+WP_MODULE_SUBDIR = "wireplumber-0.4"
+
+do_install:append() {
+ if ${@bb.utils.contains('PACKAGECONFIG', 'dbus', 'false', 'true', d)}; then
+ install -m 0644 ${WORKDIR}/90-OE-disable-session-dbus-dependent-features.lua ${D}${datadir}/wireplumber/main.lua.d
+ fi
+}
+
+python split_dynamic_packages () {
+ # Create packages for each WirePlumber module.
+ wp_module_libdir = d.expand('${libdir}/${WP_MODULE_SUBDIR}')
+ do_split_packages(d, wp_module_libdir, r'^libwireplumber-module-(.*)\.so$', d.expand('${PN}-modules-%s'), 'WirePlumber %s module', extra_depends='', recursive=False)
+}
+
+python set_dynamic_metapkg_rdepends () {
+ import os
+ import oe.utils
+
+ # Go through all generated WirePlumber module packages
+ # (excluding the main package and the -meta package itself)
+ # and add them to the -meta package as RDEPENDS.
+
+ base_pn = d.getVar('PN')
+
+ wp_module_pn = base_pn + '-modules'
+ wp_module_metapkg = wp_module_pn + '-meta'
+
+ d.setVar('ALLOW_EMPTY:' + wp_module_metapkg, "1")
+ d.setVar('FILES:' + wp_module_metapkg, "")
+
+ blacklist = [ wp_module_pn, wp_module_metapkg ]
+ wp_module_metapkg_rdepends = []
+ pkgdest = d.getVar('PKGDEST')
+
+ for pkg in oe.utils.packages_filter_out_system(d):
+ if pkg in blacklist:
+ continue
+
+ is_wp_module_pkg = pkg.startswith(wp_module_pn)
+ if not is_wp_module_pkg:
+ continue
+
+ if pkg in wp_module_metapkg_rdepends:
+ continue
+
+ # See if the package is empty by looking at the contents of its
+ # PKGDEST subdirectory. If this subdirectory is empty, then then
+ # package is empty as well. Empty packages do not get added to
+ # the meta package's RDEPENDS.
+ pkgdir = os.path.join(pkgdest, pkg)
+ if os.path.exists(pkgdir):
+ dir_contents = os.listdir(pkgdir) or []
+ else:
+ dir_contents = []
+ is_empty = len(dir_contents) == 0
+ if not is_empty:
+ if is_wp_module_pkg:
+ wp_module_metapkg_rdepends.append(pkg)
+
+ d.setVar('RDEPENDS:' + wp_module_metapkg, ' '.join(wp_module_metapkg_rdepends))
+ d.setVar('DESCRIPTION:' + wp_module_metapkg, wp_module_pn + ' meta package')
+}
+
+PACKAGES =+ "\
+ libwireplumber \
+ ${PN}-default-config \
+ ${PN}-scripts \
+ ${PN}-modules \
+ ${PN}-modules-meta \
+"
+
+PACKAGES_DYNAMIC = "^${PN}-modules.*"
+
+CONFFILES:${PN} += " \
+ ${datadir}/wireplumber/wireplumber.conf \
+ ${datadir}/wireplumber/*.lua.d/* \
+"
+# Add pipewire to RRECOMMENDS, since WirePlumber expects a PipeWire daemon to
+# be present. While in theory any application that uses libpipewire can configure
+# itself to become a daemon, in practice, the PipeWire daemon is used.
+RRECOMMENDS:${PN} += "pipewire ${PN}-scripts ${PN}-modules-meta"
+
+FILES:${PN} += "${systemd_user_unitdir} ${systemd_system_unitdir} ${datadir}/zsh"
+
+FILES:libwireplumber = " \
+ ${libdir}/libwireplumber-*.so.* \
+"
+
+FILES:${PN}-scripts += "${datadir}/wireplumber/scripts/*"
+
+# Dynamic packages (see set_dynamic_metapkg_rdepends).
+FILES:${PN}-modules = ""
+RRECOMMENDS:${PN}-modules += "${PN}-modules-meta"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/x265/x265_3.2.1.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/x265/x265_3.2.1.bb
index 250af58..2d4f389 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/x265/x265_3.2.1.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/x265/x265_3.2.1.bb
@@ -18,7 +18,7 @@
inherit lib_package pkgconfig cmake
do_generate_toolchain_file:append() {
- echo "set(CMAKE_ASM_NASM_FLAGS --debug-prefix-map ${S}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR})" >> ${WORKDIR}/toolchain.cmake
+ echo "set(CMAKE_ASM_NASM_FLAGS --debug-prefix-map ${S}=${TARGET_DBGSRC_DIR})" >> ${WORKDIR}/toolchain.cmake
}
EXTRA_OECMAKE:append:x86 = " -DENABLE_ASSEMBLY=OFF"
diff --git a/meta-openembedded/meta-multimedia/recipes-support/libmediaart/libmediaart-2.0_1.9.5.bb b/meta-openembedded/meta-multimedia/recipes-support/libmediaart/libmediaart-2.0_1.9.5.bb
deleted file mode 100644
index ad42e27..0000000
--- a/meta-openembedded/meta-multimedia/recipes-support/libmediaart/libmediaart-2.0_1.9.5.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Library tasked with managing, extracting and handling media art caches"
-
-LICENSE = "LGPL-2.0-or-later & GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c \
- file://libmediaart/extract.c;endline=18;md5=dff2b6328ab067b5baadc135f9876c36 \
- file://tests/mediaarttest.c;endline=18;md5=067106eaa1f7a9d918759a096667f18e"
-
-DEPENDS = "glib-2.0 gdk-pixbuf"
-
-GNOMEBASEBUILDCLASS = "meson"
-
-inherit gnomebase gobject-introspection vala features_check
-
-SRC_URI = "${GNOME_MIRROR}/libmediaart/1.9/libmediaart-${PV}.tar.xz"
-SRC_URI[sha256sum] = "07def5a42c482ae71d3e1f77a4d0fdc337f74226059a65284d6d5a241f0e9cd6"
-
-S = "${WORKDIR}/libmediaart-${PV}"
-
-# gobject-introspection is mandatory and cannot be configured
-REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
-GIR_MESON_OPTION = ""
-
-EXTRA_OEMESON = "-Dimage_library=gdk-pixbuf"
diff --git a/meta-openembedded/meta-multimedia/recipes-support/libmediaart/libmediaart-2.0_1.9.6.bb b/meta-openembedded/meta-multimedia/recipes-support/libmediaart/libmediaart-2.0_1.9.6.bb
new file mode 100644
index 0000000..376dd15
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-support/libmediaart/libmediaart-2.0_1.9.6.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Library tasked with managing, extracting and handling media art caches"
+
+LICENSE = "LGPL-2.0-or-later & GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c \
+ file://libmediaart/extract.c;endline=18;md5=dff2b6328ab067b5baadc135f9876c36 \
+ file://tests/mediaarttest.c;endline=18;md5=067106eaa1f7a9d918759a096667f18e"
+
+DEPENDS = "glib-2.0 gdk-pixbuf"
+
+
+inherit gnomebase gobject-introspection vala features_check
+
+SRC_URI = "${GNOME_MIRROR}/libmediaart/1.9/libmediaart-${PV}.tar.xz"
+SRC_URI[sha256sum] = "c3bc5025d7db380587f9c8eb800c611f6b5a16d6b4b78fcff93f62876a677f17"
+
+S = "${WORKDIR}/libmediaart-${PV}"
+
+# gobject-introspection is mandatory and cannot be configured
+REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
+GIR_MESON_OPTION = ""
+
+EXTRA_OEMESON = "-Dimage_library=gdk-pixbuf"
diff --git a/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_2.4.2.bb b/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_2.4.2.bb
deleted file mode 100644
index b17e476..0000000
--- a/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_2.4.2.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Library implementing Secure RTP (RFC 3711)"
-DESCRIPTION = "This package provides an implementation of the Secure Real-time Transport Protocol (SRTP), \
- the Universal Security Transform (UST), and a supporting cryptographic kernel. The SRTP API \
- is documented in include/srtp.h, and the library is in libsrtp2.a (after compilation)."
-HOMEPAGE = "https://github.com/cisco/libsrtp"
-BUGTRACKER = "https://github.com/cisco/libsrtp/issues"
-SECTION = "libs"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=2909fcf6f09ffff8430463d91c08c4e1"
-
-SRC_URI = "git://github.com/cisco/libsrtp.git;branch=2_4_x_throttle;protocol=https"
-SRCREV = "90d05bf8980d16e4ac3f16c19b77e296c4bc207b"
-
-S = "${WORKDIR}/git"
-
-PACKAGECONFIG ?= ""
-PACKAGECONFIG[nss] = "-Dcrypto-library=nss,, nss,,, openssl"
-PACKAGECONFIG[openssl] = "-Dcrypto-library=openssl,, openssl,,, nss"
-
-inherit meson pkgconfig
diff --git a/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_2.5.0.bb b/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_2.5.0.bb
new file mode 100644
index 0000000..d1cbe0f
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-support/libsrtp/libsrtp_2.5.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Library implementing Secure RTP (RFC 3711)"
+DESCRIPTION = "This package provides an implementation of the Secure Real-time Transport Protocol (SRTP), \
+ the Universal Security Transform (UST), and a supporting cryptographic kernel. The SRTP API \
+ is documented in include/srtp.h, and the library is in libsrtp2.a (after compilation)."
+HOMEPAGE = "https://github.com/cisco/libsrtp"
+BUGTRACKER = "https://github.com/cisco/libsrtp/issues"
+SECTION = "libs"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2909fcf6f09ffff8430463d91c08c4e1"
+
+SRC_URI = "git://github.com/cisco/libsrtp.git;branch=main;protocol=https"
+SRCREV = "a566a9cfcd619e8327784aa7cff4a1276dc1e895"
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[nss] = "-Dcrypto-library=nss,, nss,,, openssl"
+PACKAGECONFIG[openssl] = "-Dcrypto-library=openssl,, openssl,,, nss"
+
+inherit meson pkgconfig
diff --git a/meta-openembedded/meta-networking/MAINTAINERS b/meta-openembedded/meta-networking/MAINTAINERS
index ce53ec4..dc549d7 100644
--- a/meta-openembedded/meta-networking/MAINTAINERS
+++ b/meta-openembedded/meta-networking/MAINTAINERS
@@ -34,10 +34,6 @@
F: conf
F: recipes-*
-NETKIT
-M: Armin Kuster <akuster808@gmail.com>
-F: recipes-netkit
-
OPENTHREAD
M: Stefan Schmidt <stefan@datenfreihafen.org>
F: recipes-connectivity/openthread/
diff --git a/meta-openembedded/meta-networking/README.md b/meta-openembedded/meta-networking/README.md
index 34e11a9..ab26406 100644
--- a/meta-openembedded/meta-networking/README.md
+++ b/meta-openembedded/meta-networking/README.md
@@ -33,7 +33,6 @@
Maintenance
-----------
Layer maintainers: Khem Raj <raj.khem@gmail.com>
- Armin Kuster <akuster808@gmail.com> (recipes-netkit)
Please see the MAINTAINERS file for information on contacting the
diff --git a/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-printing/system-config-printer/system-config-printer_1.5.18.bb b/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-printing/system-config-printer/system-config-printer_1.5.18.bb
index f0ff24f..4f14985 100644
--- a/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-printing/system-config-printer/system-config-printer_1.5.18.bb
+++ b/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-printing/system-config-printer/system-config-printer_1.5.18.bb
@@ -33,6 +33,7 @@
FILES:${PN} += "${libdir} ${datadir}"
RDEPENDS:${PN} = " \
+ cups \
dbus-x11 \
gtk+3 \
libnotify \
diff --git a/meta-openembedded/meta-networking/files/static-group-meta-networking b/meta-openembedded/meta-networking/files/static-group-meta-networking
index 0aada6c..6896a18 100644
--- a/meta-openembedded/meta-networking/files/static-group-meta-networking
+++ b/meta-openembedded/meta-networking/files/static-group-meta-networking
@@ -7,8 +7,8 @@
rasvd:x:636:
frr:x:637:
frrvty:x:638:
-nogroup:x:639:
+nogroup:x:65534:
ftp:x:640:
rwhod:x:641:
lldpd:x:642:
-opensaf:x:643:
\ No newline at end of file
+opensaf:x:643:
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/cannelloni/cannelloni/0001-include-bits-stdc-.h-only-when-using-libstdc.patch b/meta-openembedded/meta-networking/recipes-connectivity/cannelloni/cannelloni/0001-include-bits-stdc-.h-only-when-using-libstdc.patch
new file mode 100644
index 0000000..71f447c
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/cannelloni/cannelloni/0001-include-bits-stdc-.h-only-when-using-libstdc.patch
@@ -0,0 +1,37 @@
+From 7aed36765ae44b41ede7e139da0a11b3696f2e06 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 13 Nov 2023 00:07:23 -0800
+Subject: [PATCH] include bits/stdc++.h only when using libstdc++
+
+We have other c++ runtime implementations e.g. llvm's libc++ which does
+not provide this header bits/stdc++.h, therefore make sure that this
+header is only included when using libstdc++
+
+Fixes
+| /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux/cannelloni/1.1.0/git/tcpthread.cpp:27:10: fatal error: 'bits/stdc++.h' file not found
+| 27 | #include <bits/stdc++.h>
+| | ^~~~~~~~~~~~~~~
+
+Upstream-Status: Submitted [https://github.com/mguentner/cannelloni/pull/56]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tcpthread.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/tcpthread.cpp b/tcpthread.cpp
+index a1b3047..bb5a7b2 100644
+--- a/tcpthread.cpp
++++ b/tcpthread.cpp
+@@ -24,7 +24,9 @@
+ #include <cstdint>
+ #include <cstdio>
+
++#ifdef __GLIBCXX__
+ #include <bits/stdc++.h>
++#endif
+
+ #include <linux/can.h>
+ #include <string.h>
+--
+2.42.1
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/cannelloni/cannelloni_1.0.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/cannelloni/cannelloni_1.0.0.bb
deleted file mode 100644
index f34c73c..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/cannelloni/cannelloni_1.0.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "a SocketCAN over Ethernet tunnel"
-HOMEPAGE = "https://github.com/mguentner/cannelloni"
-LICENSE = "GPL-2.0-only"
-
-SRC_URI = "git://github.com/mguentner/cannelloni.git;protocol=https;branch=master"
-SRCREV = "0bd7e27db35bdef361226882ae04205504f7b2f4"
-
-LIC_FILES_CHKSUM = "file://gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-inherit cmake
-
-S = "${WORKDIR}/git"
-
-PACKAGECONFIG ??= "lksctp-tools"
-PACKAGECONFIG[lksctp-tools] = "-DSCTP_SUPPORT=true, -DSCTP_SUPPORT=false, lksctp-tools"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/cannelloni/cannelloni_1.1.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/cannelloni/cannelloni_1.1.0.bb
new file mode 100644
index 0000000..dfa7437
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/cannelloni/cannelloni_1.1.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "a SocketCAN over Ethernet tunnel"
+HOMEPAGE = "https://github.com/mguentner/cannelloni"
+LICENSE = "GPL-2.0-only"
+
+SRC_URI = "git://github.com/mguentner/cannelloni.git;protocol=https;branch=master \
+ file://0001-include-bits-stdc-.h-only-when-using-libstdc.patch \
+ "
+SRCREV = "3d4fb8c8b07f6d7c62b2bdad7e5a94de61c9a29b"
+
+LIC_FILES_CHKSUM = "file://gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+inherit cmake
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ??= "lksctp-tools"
+PACKAGECONFIG[lksctp-tools] = "-DSCTP_SUPPORT=true, -DSCTP_SUPPORT=false, lksctp-tools"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb_1.16.bb b/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb_1.16.bb
new file mode 100644
index 0000000..0a654a1
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb_1.16.bb
@@ -0,0 +1,43 @@
+SUMMARY = "Civetweb embedded web server"
+HOMEPAGE = "https://github.com/civetweb/civetweb"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=ce6ce6eb1b2fd59ee6bab219470442a3"
+
+SRCREV = "d7ba35bbb649209c66e582d5a0244ba988a15159"
+
+SRC_URI = "git://github.com/civetweb/civetweb.git;branch=master;protocol=https \
+ file://0001-Unittest-Link-librt-and-libm-using-l-option.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+# civetweb supports building with make or cmake (although cmake lacks few features)
+inherit cmake
+
+# Disable Lua and Duktape because they do not compile from CMake (as of v1.8, v1.9 and v1.10).
+# Disable ASAN as it is included only in Debug build.
+EXTRA_OECMAKE = " \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCIVETWEB_ENABLE_DUKTAPE=OFF \
+ -DCIVETWEB_ENABLE_LUA=OFF \
+ -DCIVETWEB_ENABLE_ASAN=OFF \
+ -DCIVETWEB_BUILD_TESTING=OFF \
+ -DCIVETWEB_SSL_OPENSSL_API_3_0=ON \
+"
+
+# Building with ninja fails on missing third_party/lib/libcheck.a (which
+# should come from external CMake project)
+OECMAKE_GENERATOR = "Unix Makefiles"
+
+PACKAGECONFIG ??= "caching ipv6 server ssl websockets"
+PACKAGECONFIG[caching] = "-DCIVETWEB_DISABLE_CACHING=OFF,-DCIVETWEB_DISABLE_CACHING=ON,"
+PACKAGECONFIG[cgi] = "-DCIVETWEB_DISABLE_CGI=OFF,-DCIVETWEB_DISABLE_CGI=ON,"
+PACKAGECONFIG[cpp] = "-DCIVETWEB_ENABLE_CXX=ON,-DCIVETWEB_ENABLE_CXX=OFF,"
+PACKAGECONFIG[debug] = "-DCIVETWEB_ENABLE_MEMORY_DEBUGGING=ON,-DCIVETWEB_ENABLE_MEMORY_DEBUGGING=OFF,"
+PACKAGECONFIG[ipv6] = "-DCIVETWEB_ENABLE_IPV6=ON,-DCIVETWEB_ENABLE_IPV6=OFF,"
+PACKAGECONFIG[server] = "-DCIVETWEB_ENABLE_SERVER_EXECUTABLE=ON -DCIVETWEB_INSTALL_EXECUTABLE=ON,-DCIVETWEB_ENABLE_SERVER_EXECUTABLE=OFF -DCIVETWEB_INSTALL_EXECUTABLE=OFF,"
+PACKAGECONFIG[ssl] = "-DCIVETWEB_ENABLE_SSL=ON -DCIVETWEB_SSL_OPENSSL_API_1_1=OFF -DCIVETWEB_ENABLE_SSL_DYNAMIC_LOADING=OFF,-DCIVETWEB_ENABLE_SSL=OFF,openssl (=1.0.2%),"
+PACKAGECONFIG[websockets] = "-DCIVETWEB_ENABLE_WEBSOCKETS=ON,-DCIVETWEB_ENABLE_WEBSOCKETS=OFF,"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb_git.bb b/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb_git.bb
deleted file mode 100644
index e9c2056..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/civetweb/civetweb_git.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-SUMMARY = "Civetweb embedded web server"
-HOMEPAGE = "https://github.com/civetweb/civetweb"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=50bd1d7f135b50d7e218996ba28d0d88"
-
-SRCREV = "4b440a339979852d5a51fb11a822952712231c23"
-PV = "1.12+git${SRCPV}"
-SRC_URI = "git://github.com/civetweb/civetweb.git;branch=master;protocol=https \
- file://0001-Unittest-Link-librt-and-libm-using-l-option.patch \
- "
-
-S = "${WORKDIR}/git"
-
-# civetweb supports building with make or cmake (although cmake lacks few features)
-inherit cmake
-
-# Disable Lua and Duktape because they do not compile from CMake (as of v1.8, v1.9 and v1.10).
-# Disable ASAN as it is included only in Debug build.
-EXTRA_OECMAKE = " \
- -DBUILD_SHARED_LIBS=ON \
- -DCIVETWEB_ENABLE_DUKTAPE=OFF \
- -DCIVETWEB_ENABLE_LUA=OFF \
- -DCIVETWEB_ENABLE_ASAN=OFF \
- -DCIVETWEB_BUILD_TESTING=OFF \
-"
-
-# Building with ninja fails on missing third_party/lib/libcheck.a (which
-# should come from external CMake project)
-OECMAKE_GENERATOR = "Unix Makefiles"
-
-PACKAGECONFIG ??= "caching ipv6 server ssl websockets"
-PACKAGECONFIG[caching] = "-DCIVETWEB_DISABLE_CACHING=OFF,-DCIVETWEB_DISABLE_CACHING=ON,"
-PACKAGECONFIG[cgi] = "-DCIVETWEB_DISABLE_CGI=OFF,-DCIVETWEB_DISABLE_CGI=ON,"
-PACKAGECONFIG[cpp] = "-DCIVETWEB_ENABLE_CXX=ON,-DCIVETWEB_ENABLE_CXX=OFF,"
-PACKAGECONFIG[debug] = "-DCIVETWEB_ENABLE_MEMORY_DEBUGGING=ON,-DCIVETWEB_ENABLE_MEMORY_DEBUGGING=OFF,"
-PACKAGECONFIG[ipv6] = "-DCIVETWEB_ENABLE_IPV6=ON,-DCIVETWEB_ENABLE_IPV6=OFF,"
-PACKAGECONFIG[server] = "-DCIVETWEB_ENABLE_SERVER_EXECUTABLE=ON -DCIVETWEB_INSTALL_EXECUTABLE=ON,-DCIVETWEB_ENABLE_SERVER_EXECUTABLE=OFF -DCIVETWEB_INSTALL_EXECUTABLE=OFF,"
-PACKAGECONFIG[ssl] = "-DCIVETWEB_ENABLE_SSL=ON -DCIVETWEB_SSL_OPENSSL_API_1_1=OFF -DCIVETWEB_ENABLE_SSL_DYNAMIC_LOADING=OFF,-DCIVETWEB_ENABLE_SSL=OFF,openssl (=1.0.2%),"
-PACKAGECONFIG[websockets] = "-DCIVETWEB_ENABLE_WEBSOCKETS=ON,-DCIVETWEB_ENABLE_WEBSOCKETS=OFF,"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet/0001-configure-Replace-use-of-AC_EGREP_CPP.patch b/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet/0001-configure-Replace-use-of-AC_EGREP_CPP.patch
deleted file mode 100644
index 133ccc4..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet/0001-configure-Replace-use-of-AC_EGREP_CPP.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From b0c98f93a7f427d18206c79bf2a0350dc81172f6 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 6 Apr 2023 10:44:08 -0700
-Subject: [PATCH] configure: Replace use of AC_EGREP_CPP
-
-Use AC_COMPILE_IFELSE instead to compute platform support for arp ioctls
-AC_EGREP_CPP does not work as used with upcoming autoconf 2.72
-
-Upstream-Status: Submitted [https://github.com/ofalk/libdnet/pull/85]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- m4/acinclude.m4 | 11 +++++------
- 1 file changed, 5 insertions(+), 6 deletions(-)
-
-diff --git a/m4/acinclude.m4 b/m4/acinclude.m4
-index d6350a2..3699bf1 100644
---- a/m4/acinclude.m4
-+++ b/m4/acinclude.m4
-@@ -196,12 +196,11 @@ dnl
- AC_DEFUN([AC_DNET_IOCTL_ARP],
- [AC_MSG_CHECKING(for arp(7) ioctls)
- AC_CACHE_VAL(ac_cv_dnet_ioctl_arp,
-- AC_EGREP_CPP(werd,[#include <sys/types.h>
-- #define BSD_COMP
-- #include <sys/ioctl.h>
-- #ifdef SIOCGARP
-- werd
-- #endif],
-+ AC_COMPILE_IFELSE(
-+ [AC_LANG_PROGRAM([[#include <sys/types.h>
-+ #define BSD_COMP
-+ #include <sys/ioctl.h>]],
-+ [[int foo = SIOCGARP;]])],
- ac_cv_dnet_ioctl_arp=yes,
- ac_cv_dnet_ioctl_arp=no))
- case "$host_os" in
---
-2.40.0
-
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet/0001-configure-Use-pkg-config-variable-to-find-check-incl.patch b/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet/0001-configure-Use-pkg-config-variable-to-find-check-incl.patch
deleted file mode 100644
index 8a78e7a..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet/0001-configure-Use-pkg-config-variable-to-find-check-incl.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 85d8338a3ebc01a3ea7600aa602139c4eac3be07 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 6 Apr 2023 12:13:09 -0700
-Subject: [PATCH] configure: Use pkg-config variable to find check include paths
-
-Upstream-Status: Submitted [https://github.com/ofalk/libdnet/pull/85]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 3f0c404..553b487 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -153,7 +153,7 @@ AC_ARG_WITH(check,
- esac ],
- [ PKG_CHECK_MODULES([CHECK], [check])
- if test -n "${CHECK_LIBS}"; then
-- CHECKINC="-I${prefix}/include"
-+ CHECKINC="${CHECK_CFLAGS}"
- CHECKLIB="${CHECK_LIBS}"
- AC_MSG_RESULT(yes)
- else
---
-2.40.0
-
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet_1.16.3.bb b/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet_1.16.3.bb
deleted file mode 100644
index 05c8fb3..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet_1.16.3.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "dumb networking library"
-HOMEPAGE = "https://github.com/ofalk/libdnet"
-SECTION = "libs"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0036c1b155f4e999f3e0a373490b5db9"
-
-SRC_URI = "git://github.com/ofalk/libdnet.git;nobranch=1;protocol=https \
- file://0001-configure-Replace-use-of-AC_EGREP_CPP.patch \
- file://0001-configure-Use-pkg-config-variable-to-find-check-incl.patch"
-SRCREV = "a03043bec8e66b240a45555e37147b22db182c21"
-
-UPSTREAM_CHECK_GITTAGREGEX = "libdnet-(?P<pver>\d+(\.\d+)+)"
-
-S = "${WORKDIR}/git"
-
-inherit autotools multilib_script pkgconfig
-
-DEPENDS += "libcheck"
-
-EXTRA_AUTORECONF += "-I ./config"
-BBCLASSEXTEND = "native"
-
-MULTILIB_SCRIPTS = "${PN}:${bindir}/dnet-config"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet_1.17.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet_1.17.0.bb
new file mode 100644
index 0000000..a42d014
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/libdnet/libdnet_1.17.0.bb
@@ -0,0 +1,22 @@
+SUMMARY = "dumb networking library"
+HOMEPAGE = "https://github.com/ofalk/libdnet"
+SECTION = "libs"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0036c1b155f4e999f3e0a373490b5db9"
+
+SRC_URI = "git://github.com/ofalk/libdnet.git;nobranch=1;protocol=https"
+
+SRCREV = "912f7848bfff4ebc6d610f802a3144f84880cbe4"
+
+UPSTREAM_CHECK_GITTAGREGEX = "libdnet-(?P<pver>\d+(\.\d+)+)"
+
+S = "${WORKDIR}/git"
+
+inherit autotools multilib_script pkgconfig
+
+DEPENDS += "libcheck"
+
+EXTRA_AUTORECONF += "-I ./config"
+BBCLASSEXTEND = "native"
+
+MULTILIB_SCRIPTS = "${PN}:${bindir}/dnet-config"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls/0001-AES-NI-use-target-attributes-for-x86-32-bit-intrinsi.patch b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls/0001-AES-NI-use-target-attributes-for-x86-32-bit-intrinsi.patch
new file mode 100644
index 0000000..5030fb9
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls/0001-AES-NI-use-target-attributes-for-x86-32-bit-intrinsi.patch
@@ -0,0 +1,87 @@
+From 80d3e73ad0648f558a067a9dbfe3bc80e6b614f8 Mon Sep 17 00:00:00 2001
+From: Beniamin Sandu <beniaminsandu@gmail.com>
+Date: Mon, 30 Oct 2023 19:15:56 +0000
+Subject: [PATCH] AES-NI: use target attributes for x86 32-bit intrinsics
+
+This way we build with 32-bit gcc/clang out of the box.
+We also fallback to assembly for 64-bit clang-cl if needed cpu
+flags are not provided, instead of throwing an error.
+
+Upstream-Status: Backport [https://github.com/Mbed-TLS/mbedtls/commit/800f2b7c020678a84abfa9688962b91c36e6693d]
+
+Signed-off-by: Beniamin Sandu <beniaminsandu@gmail.com>
+---
+ library/aesni.c | 20 ++++++++++++++++++++
+ library/aesni.h | 8 +++++---
+ 2 files changed, 25 insertions(+), 3 deletions(-)
+
+diff --git a/library/aesni.c b/library/aesni.c
+index 5f25a8249..481fa3822 100644
+--- a/library/aesni.c
++++ b/library/aesni.c
+@@ -41,6 +41,17 @@
+ #include <immintrin.h>
+ #endif
+
++#if defined(MBEDTLS_ARCH_IS_X86)
++#if defined(MBEDTLS_COMPILER_IS_GCC)
++#pragma GCC push_options
++#pragma GCC target ("pclmul,sse2,aes")
++#define MBEDTLS_POP_TARGET_PRAGMA
++#elif defined(__clang__)
++#pragma clang attribute push (__attribute__((target("pclmul,sse2,aes"))), apply_to=function)
++#define MBEDTLS_POP_TARGET_PRAGMA
++#endif
++#endif
++
+ #if !defined(MBEDTLS_AES_USE_HARDWARE_ONLY)
+ /*
+ * AES-NI support detection routine
+@@ -396,6 +407,15 @@ static void aesni_setkey_enc_256(unsigned char *rk_bytes,
+ }
+ #endif /* !MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH */
+
++#if defined(MBEDTLS_POP_TARGET_PRAGMA)
++#if defined(__clang__)
++#pragma clang attribute pop
++#elif defined(__GNUC__)
++#pragma GCC pop_options
++#endif
++#undef MBEDTLS_POP_TARGET_PRAGMA
++#endif
++
+ #else /* MBEDTLS_AESNI_HAVE_CODE == 1 */
+
+ #if defined(__has_feature)
+diff --git a/library/aesni.h b/library/aesni.h
+index ba1429029..37ae02c82 100644
+--- a/library/aesni.h
++++ b/library/aesni.h
+@@ -50,6 +50,10 @@
+ #if defined(__GNUC__) && defined(__AES__) && defined(__PCLMUL__)
+ #define MBEDTLS_AESNI_HAVE_INTRINSICS
+ #endif
++/* For 32-bit, we only support intrinsics */
++#if defined(MBEDTLS_ARCH_IS_X86) && (defined(__GNUC__) || defined(__clang__))
++#define MBEDTLS_AESNI_HAVE_INTRINSICS
++#endif
+
+ /* Choose the implementation of AESNI, if one is available.
+ *
+@@ -60,13 +64,11 @@
+ #if defined(MBEDTLS_AESNI_HAVE_INTRINSICS)
+ #define MBEDTLS_AESNI_HAVE_CODE 2 // via intrinsics
+ #elif defined(MBEDTLS_HAVE_ASM) && \
+- defined(__GNUC__) && defined(MBEDTLS_ARCH_IS_X64)
++ (defined(__GNUC__) || defined(__clang__)) && defined(MBEDTLS_ARCH_IS_X64)
+ /* Can we do AESNI with inline assembly?
+ * (Only implemented with gas syntax, only for 64-bit.)
+ */
+ #define MBEDTLS_AESNI_HAVE_CODE 1 // via assembly
+-#elif defined(__GNUC__)
+-# error "Must use `-mpclmul -msse2 -maes` for MBEDTLS_AESNI_C"
+ #else
+ #error "MBEDTLS_AESNI_C defined, but neither intrinsics nor assembly available"
+ #endif
+--
+2.34.1
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls/0001-aesce-do-not-specify-an-arch-version-when-enabling-c.patch b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls/0001-aesce-do-not-specify-an-arch-version-when-enabling-c.patch
deleted file mode 100644
index 44d7475..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls/0001-aesce-do-not-specify-an-arch-version-when-enabling-c.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 2246925e3cb16183e25d4e2cfd13fb800df86270 Mon Sep 17 00:00:00 2001
-From: Beniamin Sandu <beniaminsandu@gmail.com>
-Date: Sun, 25 Jun 2023 19:58:08 +0300
-Subject: [PATCH] aesce: do not specify an arch version when enabling crypto
- instructions
-
-Building mbedtls with different aarch64 tuning variations revealed
-that we should use the crypto extensions without forcing a particular
-architecture version or core, as that can create issues.
-
-Upstream-Status: Backport [https://github.com/Mbed-TLS/mbedtls/commit/471a975942dec76bf0ccb92b6c6da055385683fb]
-
-Signed-off-by: Beniamin Sandu <beniaminsandu@gmail.com>
----
- library/aesce.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/library/aesce.c b/library/aesce.c
-index fe056dc4c..843de3973 100644
---- a/library/aesce.c
-+++ b/library/aesce.c
-@@ -60,7 +60,7 @@
- # error "A more recent GCC is required for MBEDTLS_AESCE_C"
- # endif
- # pragma GCC push_options
--# pragma GCC target ("arch=armv8-a+crypto")
-+# pragma GCC target ("+crypto")
- # define MBEDTLS_POP_TARGET_PRAGMA
- # else
- # error "Only GCC and Clang supported for MBEDTLS_AESCE_C"
---
-2.25.1
-
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls/0002-aesce-use-correct-target-attribute-when-building-wit.patch b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls/0002-aesce-use-correct-target-attribute-when-building-wit.patch
deleted file mode 100644
index c8f6cb7..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls/0002-aesce-use-correct-target-attribute-when-building-wit.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 03d3523f974536f2358047382aadb0d4cc762f8a Mon Sep 17 00:00:00 2001
-From: Beniamin Sandu <beniaminsandu@gmail.com>
-Date: Mon, 26 Jun 2023 12:07:21 +0300
-Subject: [PATCH] aesce: use correct target attribute when building with clang
-
-Seems clang has its own issues when it comes to crypto extensions,
-and right now the best way to avoid them is to accurately enable
-the needed instructions instead of the broad crypto feature.
-
-E.g.: https://github.com/llvm/llvm-project/issues/61645
-
-Upstream-Status: Backport [https://github.com/Mbed-TLS/mbedtls/commit/aa4f6219014d863bed51453e5261178adc66be34]
-
-Signed-off-by: Beniamin Sandu <beniaminsandu@gmail.com>
----
- library/aesce.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/library/aesce.c b/library/aesce.c
-index 843de3973..7bea088ba 100644
---- a/library/aesce.c
-+++ b/library/aesce.c
-@@ -53,7 +53,7 @@
- # if __clang_major__ < 4
- # error "A more recent Clang is required for MBEDTLS_AESCE_C"
- # endif
--# pragma clang attribute push (__attribute__((target("crypto"))), apply_to=function)
-+# pragma clang attribute push (__attribute__((target("aes"))), apply_to=function)
- # define MBEDTLS_POP_TARGET_PRAGMA
- # elif defined(__GNUC__)
- # if __GNUC__ < 6
---
-2.25.1
-
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.4.1.bb b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.4.1.bb
deleted file mode 100644
index a6f8583..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.4.1.bb
+++ /dev/null
@@ -1,78 +0,0 @@
-SUMMARY = "Lightweight crypto and SSL/TLS library"
-DESCRIPTION = "mbedtls is a lean open source crypto library \
-for providing SSL and TLS support in your programs. It offers \
-an intuitive API and documented header files, so you can actually \
-understand what the code does. It features: \
- \
- - Symmetric algorithms, like AES, Blowfish, Triple-DES, DES, ARC4, \
- Camellia and XTEA \
- - Hash algorithms, like SHA-1, SHA-2, RIPEMD-160 and MD5 \
- - Entropy pool and random generators, like CTR-DRBG and HMAC-DRBG \
- - Public key algorithms, like RSA, Elliptic Curves, Diffie-Hellman, \
- ECDSA and ECDH \
- - SSL v3 and TLS 1.0, 1.1 and 1.2 \
- - Abstraction layers for ciphers, hashes, public key operations, \
- platform abstraction and threading \
-"
-
-HOMEPAGE = "https://tls.mbed.org/"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-SECTION = "libs"
-
-S = "${WORKDIR}/git"
-SRCREV = "72718dd87e087215ce9155a826ee5a66cfbe9631"
-SRC_URI = "git://github.com/ARMmbed/mbedtls.git;protocol=https;branch=master \
- file://0001-aesce-do-not-specify-an-arch-version-when-enabling-c.patch \
- file://0002-aesce-use-correct-target-attribute-when-building-wit.patch \
- file://run-ptest"
-
-inherit cmake update-alternatives ptest
-
-PACKAGECONFIG ??= "shared-libs programs ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
-PACKAGECONFIG[shared-libs] = "-DUSE_SHARED_MBEDTLS_LIBRARY=ON,-DUSE_SHARED_MBEDTLS_LIBRARY=OFF"
-PACKAGECONFIG[programs] = "-DENABLE_PROGRAMS=ON,-DENABLE_PROGRAMS=OFF"
-PACKAGECONFIG[werror] = "-DMBEDTLS_FATAL_WARNINGS=ON,-DMBEDTLS_FATAL_WARNINGS=OFF"
-# Make X.509 and TLS calls use PSA
-# https://github.com/Mbed-TLS/mbedtls/blob/development/docs/use-psa-crypto.md
-PACKAGECONFIG[psa] = ""
-PACKAGECONFIG[tests] = "-DENABLE_TESTING=ON,-DENABLE_TESTING=OFF"
-
-EXTRA_OECMAKE = "-DLIB_INSTALL_DIR:STRING=${libdir}"
-
-# For now the only way to enable PSA is to explicitly pass a -D via CFLAGS
-CFLAGS:append = "${@bb.utils.contains('PACKAGECONFIG', 'psa', ' -DMBEDTLS_USE_PSA_CRYPTO', '', d)}"
-
-PROVIDES += "polarssl"
-RPROVIDES:${PN} = "polarssl"
-
-PACKAGES =+ "${PN}-programs"
-FILES:${PN}-programs = "${bindir}/"
-
-ALTERNATIVE:${PN}-programs = "hello"
-ALTERNATIVE_LINK_NAME[hello] = "${bindir}/hello"
-
-BBCLASSEXTEND = "native nativesdk"
-
-CVE_PRODUCT = "mbed_tls"
-
-# Strip host paths from autogenerated test files
-do_compile:append() {
- sed -i 's+${S}/++g' ${B}/tests/*.c 2>/dev/null || :
- sed -i 's+${B}/++g' ${B}/tests/*.c 2>/dev/null || :
-}
-
-# Export source files/headers needed by Arm Trusted Firmware
-sysroot_stage_all:append() {
- sysroot_stage_dir "${S}/library" "${SYSROOT_DESTDIR}/usr/share/mbedtls-source/library"
- sysroot_stage_dir "${S}/include" "${SYSROOT_DESTDIR}/usr/share/mbedtls-source/include"
-}
-
-do_install_ptest () {
- install -d ${D}${PTEST_PATH}/tests
- cp -f ${B}/tests/test_suite_* ${D}${PTEST_PATH}/tests/
- find ${D}${PTEST_PATH}/tests/ -type f -name "*.c" -delete
- cp -fR ${S}/tests/data_files ${D}${PTEST_PATH}/tests/
-}
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.5.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.5.0.bb
new file mode 100644
index 0000000..5f28422
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.5.0.bb
@@ -0,0 +1,77 @@
+SUMMARY = "Lightweight crypto and SSL/TLS library"
+DESCRIPTION = "mbedtls is a lean open source crypto library \
+for providing SSL and TLS support in your programs. It offers \
+an intuitive API and documented header files, so you can actually \
+understand what the code does. It features: \
+ \
+ - Symmetric algorithms, like AES, Blowfish, Triple-DES, DES, ARC4, \
+ Camellia and XTEA \
+ - Hash algorithms, like SHA-1, SHA-2, RIPEMD-160 and MD5 \
+ - Entropy pool and random generators, like CTR-DRBG and HMAC-DRBG \
+ - Public key algorithms, like RSA, Elliptic Curves, Diffie-Hellman, \
+ ECDSA and ECDH \
+ - SSL v3 and TLS 1.0, 1.1 and 1.2 \
+ - Abstraction layers for ciphers, hashes, public key operations, \
+ platform abstraction and threading \
+"
+
+HOMEPAGE = "https://tls.mbed.org/"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SECTION = "libs"
+
+S = "${WORKDIR}/git"
+SRCREV = "1ec69067fa1351427f904362c1221b31538c8b57"
+SRC_URI = "git://github.com/ARMmbed/mbedtls.git;protocol=https;branch=master \
+ file://0001-AES-NI-use-target-attributes-for-x86-32-bit-intrinsi.patch \
+ file://run-ptest"
+
+inherit cmake update-alternatives ptest
+
+PACKAGECONFIG ??= "shared-libs programs ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
+PACKAGECONFIG[shared-libs] = "-DUSE_SHARED_MBEDTLS_LIBRARY=ON,-DUSE_SHARED_MBEDTLS_LIBRARY=OFF"
+PACKAGECONFIG[programs] = "-DENABLE_PROGRAMS=ON,-DENABLE_PROGRAMS=OFF"
+PACKAGECONFIG[werror] = "-DMBEDTLS_FATAL_WARNINGS=ON,-DMBEDTLS_FATAL_WARNINGS=OFF"
+# Make X.509 and TLS calls use PSA
+# https://github.com/Mbed-TLS/mbedtls/blob/development/docs/use-psa-crypto.md
+PACKAGECONFIG[psa] = ""
+PACKAGECONFIG[tests] = "-DENABLE_TESTING=ON,-DENABLE_TESTING=OFF"
+
+EXTRA_OECMAKE = "-DLIB_INSTALL_DIR:STRING=${libdir}"
+
+# For now the only way to enable PSA is to explicitly pass a -D via CFLAGS
+CFLAGS:append = "${@bb.utils.contains('PACKAGECONFIG', 'psa', ' -DMBEDTLS_USE_PSA_CRYPTO', '', d)}"
+
+PROVIDES += "polarssl"
+RPROVIDES:${PN} = "polarssl"
+
+PACKAGES =+ "${PN}-programs"
+FILES:${PN}-programs = "${bindir}/"
+
+ALTERNATIVE:${PN}-programs = "hello"
+ALTERNATIVE_LINK_NAME[hello] = "${bindir}/hello"
+
+BBCLASSEXTEND = "native nativesdk"
+
+CVE_PRODUCT = "mbed_tls"
+
+# Strip host paths from autogenerated test files
+do_compile:append() {
+ sed -i 's+${S}/++g' ${B}/tests/*.c 2>/dev/null || :
+ sed -i 's+${B}/++g' ${B}/tests/*.c 2>/dev/null || :
+}
+
+# Export source files/headers needed by Arm Trusted Firmware
+sysroot_stage_all:append() {
+ sysroot_stage_dir "${S}/library" "${SYSROOT_DESTDIR}/usr/share/mbedtls-source/library"
+ sysroot_stage_dir "${S}/include" "${SYSROOT_DESTDIR}/usr/share/mbedtls-source/include"
+}
+
+do_install_ptest () {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -f ${B}/tests/test_suite_* ${D}${PTEST_PATH}/tests/
+ find ${D}${PTEST_PATH}/tests/ -type f -name "*.c" -delete
+ cp -fR ${S}/tests/data_files ${D}${PTEST_PATH}/tests/
+}
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.18.bb b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.18.bb
index 0c9ccc8..ea9eb48 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.18.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_2.0.18.bb
@@ -89,4 +89,4 @@
USERADD_PARAM:${PN} = "--system --no-create-home --shell /bin/false \
--user-group mosquitto"
-BBCLASSEXTEND += "native nativesdk"
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nng_1.5.2.bb b/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nng_12.bb
similarity index 100%
rename from meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nng_1.5.2.bb
rename to meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nng_12.bb
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-fortisslvpn_1.4.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-fortisslvpn_1.4.0.bb
index a251e8b..a15c69b 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-fortisslvpn_1.4.0.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-fortisslvpn_1.4.0.bb
@@ -6,6 +6,7 @@
DEPENDS = "glib-2.0-native libxml2-native networkmanager ppp"
+GNOMEBASEBUILDCLASS = "autotools"
inherit gnomebase gettext useradd
SRC_URI = " \
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openconnect_1.2.8.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openconnect_1.2.8.bb
index c978def..ee19afb 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openconnect_1.2.8.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openconnect_1.2.8.bb
@@ -6,6 +6,7 @@
DEPENDS = "glib-2.0-native intltool-native libxml2 networkmanager openconnect"
+GNOMEBASEBUILDCLASS = "autotools"
inherit gnomebase useradd
SRC_URI = "${GNOME_MIRROR}/NetworkManager-openconnect/${@gnome_verdir("${PV}")}/NetworkManager-openconnect-${PV}.tar.xz"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn/0001-linker-script-Do-not-export-_IO_stdin_used.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn/0001-linker-scripts-Do-not-export-_IO_stdin_used.patch
similarity index 100%
rename from meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn/0001-linker-script-Do-not-export-_IO_stdin_used.patch
rename to meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn/0001-linker-scripts-Do-not-export-_IO_stdin_used.patch
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.10.2.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.10.2.bb
index 024ef39..cdef11c 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.10.2.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.10.2.bb
@@ -6,11 +6,12 @@
DEPENDS = "dbus dbus-glib networkmanager openvpn intltool-native glib-2.0-native"
+GNOMEBASEBUILDCLASS = "autotools"
inherit gnomebase useradd gettext systemd
SRC_URI = "${GNOME_MIRROR}/NetworkManager-openvpn/${@gnome_verdir("${PV}")}/NetworkManager-openvpn-${PV}.tar.xz"
-SRC_URI:append:libc-musl = " file://0001-linker-script-Do-not-export-_IO_stdin_used.patch"
+SRC_URI:append:libc-musl = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' file://0001-linker-scripts-Do-not-export-_IO_stdin_used.patch', '', d)}"
SRC_URI[sha256sum] = "62f0f2a8782221b923f212ac2a8ebbc1002efd6a90ee945dad4adfb56d076d21"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.44.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.44.0.bb
index 84ef70c..d213ef6 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.44.0.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.44.0.bb
@@ -22,7 +22,6 @@
"
DEPENDS:append:class-target = " bash-completion"
-GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gettext update-rc.d systemd gobject-introspection gtk-doc update-alternatives upstream-version-is-even
SRC_URI = " \
@@ -31,7 +30,7 @@
file://enable-dhcpcd.conf \
file://enable-iwd.conf \
"
-SRC_URI:append:libc-musl = " file://0001-linker-scripts-Do-not-export-_IO_stdin_used.patch"
+SRC_URI:append:libc-musl = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' file://0001-linker-scripts-Do-not-export-_IO_stdin_used.patch', '', d)}"
SRC_URI[sha256sum] = "edca09637d182f806b3b12d8c5623d7badbd73ccca1ae63be20d2f298779fb9f"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/openfortivpn/openfortivpn_1.20.5.bb b/meta-openembedded/meta-networking/recipes-connectivity/openfortivpn/openfortivpn_1.20.5.bb
deleted file mode 100644
index bcfe646..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/openfortivpn/openfortivpn_1.20.5.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "Client for PPP+SSL VPN tunnel services"
-LICENSE = "GPL-3.0-or-later"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3d575262a651a6f1a17210ce41bf907d"
-
-SRC_URI = "git://github.com/adrienverge/openfortivpn.git;protocol=https;branch=master"
-SRCREV = "1ccb8ee682af255ae85fecd5fcbab6497ccb6b38"
-
-DEPENDS = "openssl"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-
-PACKAGECONFIG[resolvconf] = "--with-resolvconf=${base_sbindir}/resolvconf --enable-resolvconf,--with-resolvconf=DISABLED,,"
-PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_system_unitdir},--without-systemdsystemunitdir,,"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig systemd
-
-EXTRA_OECONF = " \
- --with-pppd=${sbindir}/pppd \
- --disable-proc \
-"
-
-SYSTEMD_SERVICE:${PN} = "openfortivpn@.service"
-
-RDEPENDS:${PN} = "ppp"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/openfortivpn/openfortivpn_1.21.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/openfortivpn/openfortivpn_1.21.0.bb
new file mode 100644
index 0000000..e6c9a69
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/openfortivpn/openfortivpn_1.21.0.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Client for PPP+SSL VPN tunnel services"
+LICENSE = "GPL-3.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3d575262a651a6f1a17210ce41bf907d"
+
+SRC_URI = "git://github.com/adrienverge/openfortivpn.git;protocol=https;branch=master"
+SRCREV = "26a1fe68cc7a61c58f4f2a98862f6fcf30f9f2dc"
+
+DEPENDS = "openssl"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+
+PACKAGECONFIG[resolvconf] = "--with-resolvconf=${base_sbindir}/resolvconf --enable-resolvconf,--with-resolvconf=DISABLED,,"
+PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_system_unitdir},--without-systemdsystemunitdir,,"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig systemd
+
+EXTRA_OECONF = " \
+ --with-pppd=${sbindir}/pppd \
+ --disable-proc \
+"
+
+SYSTEMD_SERVICE:${PN} = "openfortivpn@.service"
+
+RDEPENDS:${PN} = "ppp"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/cmocka-uintptr_t.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/cmocka-uintptr_t.patch
deleted file mode 100644
index e6e8784..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/cmocka-uintptr_t.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 14f8ee7cd1318567b00e52217d57f0a528fd2cf7 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Wed, 25 Jul 2018 09:55:25 +0800
-Subject: [PATCH] samba: cmocka.h: fix musl libc conflicting types error
-
-Fix build on qemumips64(el)
-
-taken from:
-[PATCH] libldb: fix musl libc conflicting types error
-
-/third_party/cmocka/cmocka.h:126:28: error: conflicting types for 'uintptr_t'
- typedef unsigned int uintptr_t;
- ^~~~~~~~~
-use __DEFINED_uintptr_t in alltypes.h to check if uintptr already defined
-
-Upstream-Status: Pending
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
-Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
----
- third_party/cmocka/cmocka.h | 7 +++----
- 1 file changed, 3 insertions(+), 4 deletions(-)
-
-diff --git a/third_party/cmocka/cmocka.h b/third_party/cmocka/cmocka.h
-index e6861c8..238201d 100644
---- a/third_party/cmocka/cmocka.h
-+++ b/third_party/cmocka/cmocka.h
-@@ -111,7 +111,7 @@ typedef uintmax_t LargestIntegralType;
- ((LargestIntegralType)(value))
-
- /* Smallest integral type capable of holding a pointer. */
--#if !defined(_UINTPTR_T) && !defined(_UINTPTR_T_DEFINED)
-+#if !defined(__DEFINED_uintptr_t)
- # if defined(_WIN32)
- /* WIN32 is an ILP32 platform */
- typedef unsigned int uintptr_t;
-@@ -135,9 +135,8 @@ typedef uintmax_t LargestIntegralType;
- # endif /* __WORDSIZE */
- # endif /* _WIN32 */
-
--# define _UINTPTR_T
--# define _UINTPTR_T_DEFINED
--#endif /* !defined(_UINTPTR_T) || !defined(_UINTPTR_T_DEFINED) */
-+# define __DEFINED_uintptr_t
-+#endif /* !defined(__DEFINED_uintptr_t) */
-
- /* Perform an unsigned cast to uintptr_t. */
- #define cast_to_pointer_integral_type(value) \
---
-2.25.1
-
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.18.6.bb b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.18.6.bb
deleted file mode 100644
index c40e102..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.18.6.bb
+++ /dev/null
@@ -1,356 +0,0 @@
-HOMEPAGE = "https://www.samba.org/"
-SECTION = "console/network"
-
-LICENSE = "GPL-3.0-or-later & LGPL-3.0-or-later & GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
- file://${COREBASE}/meta/files/common-licenses/LGPL-3.0-or-later;md5=c51d3eef3be114124d11349ca0d7e117 \
- file://${COREBASE}/meta/files/common-licenses/GPL-2.0-or-later;md5=fed54355545ffd980b814dab4a3b312c"
-
-SAMBA_MIRROR = "http://samba.org/samba/ftp"
-MIRRORS += "\
-${SAMBA_MIRROR} http://mirror.internode.on.net/pub/samba \n \
-${SAMBA_MIRROR} http://www.mirrorservice.org/sites/ftp.samba.org \n \
-"
-
-export PYTHONHASHSEED="1"
-
-SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \
- file://smb.conf \
- file://volatiles.03_samba \
- file://0001-Don-t-check-xsltproc-manpages.patch \
- file://0002-do-not-import-target-module-while-cross-compile.patch \
- file://0003-Add-config-option-without-valgrind.patch \
- file://0004-Add-options-to-configure-the-use-of-libbsd.patch \
- file://0005-Fix-pyext_PATTERN-for-cross-compilation.patch \
- file://0006-smbtorture-skip-test-case-tfork_cmd_send.patch \
- file://0007-Deleted-settiong-of-python-to-fix-the-install-confli.patch \
- "
-
-SRC_URI:append:libc-musl = " \
- file://samba-pam.patch \
- file://samba-4.3.9-remove-getpwent_r.patch \
- file://cmocka-uintptr_t.patch \
- "
-
-SRC_URI[sha256sum] = "284c8a994ce989c87cd6808c390fcb9d00c36b21a0dc1a8a75474b67c9e715e7"
-
-UPSTREAM_CHECK_REGEX = "samba\-(?P<pver>4\.18(\.\d+)+).tar.gz"
-
-inherit systemd waf-samba cpan-base perlnative update-rc.d perl-version pkgconfig
-
-CVE_STATUS[CVE-2011-2411] = "not-applicable-platform: vulnerable only on HP NonStop Servers"
-
-# remove default added RDEPENDS on perl
-RDEPENDS:${PN}:remove = "perl"
-
-DEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libldb libaio libpam libtasn1 jansson libparse-yapp-perl-native gnutls"
-
-inherit features_check
-REQUIRED_DISTRO_FEATURES = "pam"
-
-DEPENDS:append:libc-musl = " libtirpc"
-CFLAGS:append:libc-musl = " -I${STAGING_INCDIR}/tirpc"
-LDFLAGS:append:libc-musl = " -ltirpc"
-
-COMPATIBLE_HOST:riscv32 = "null"
-
-INITSCRIPT_NAME = "samba"
-INITSCRIPT_PARAMS = "start 20 3 5 . stop 20 0 1 6 ."
-
-SYSTEMD_PACKAGES = "${PN}-base ${PN}-ad-dc winbind ctdb"
-SYSTEMD_SERVICE:${PN}-base = "nmb.service smb.service"
-SYSTEMD_SERVICE:${PN}-ad-dc = "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'samba.service', '', d)}"
-SYSTEMD_SERVICE:winbind = "winbind.service"
-SYSTEMD_SERVICE:ctdb = "ctdb.service"
-
-# There are prerequisite settings to enable ad-dc, so disable the service by default.
-# Reference:
-# https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller
-SYSTEMD_AUTO_ENABLE:${PN}-ad-dc = "disable"
-
-#cross_compile cannot use preforked process, since fork process earlier than point subproces.popen
-#to cross Popen
-export WAF_NO_PREFORK="yes"
-
-# Use krb5. Build active domain controller.
-#
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd zeroconf', d)} \
- acl cups ad-dc ldap mitkrb5 \
-"
-
-PACKAGECONFIG[acl] = "--with-acl-support,--without-acl-support,acl"
-PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin"
-PACKAGECONFIG[cups] = "--enable-cups,--disable-cups,cups"
-PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
-PACKAGECONFIG[sasl] = ",,cyrus-sasl"
-PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd"
-PACKAGECONFIG[dmapi] = "--with-dmapi,--without-dmapi,dmapi"
-PACKAGECONFIG[zeroconf] = "--enable-avahi,--disable-avahi,avahi"
-PACKAGECONFIG[valgrind] = ",--without-valgrind,valgrind,"
-PACKAGECONFIG[lttng] = "--with-lttng,--without-lttng,lttng-ust"
-PACKAGECONFIG[archive] = "--with-libarchive,--without-libarchive,libarchive"
-PACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind"
-PACKAGECONFIG[gpgme] = "--with-gpgme,--without-gpgme,gpgme"
-PACKAGECONFIG[lmdb] = ",--without-ldb-lmdb,lmdb"
-PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd"
-PACKAGECONFIG[ad-dc] = "--with-experimental-mit-ad-dc,--without-ad-dc,python3-markdown python3-dnspython,"
-PACKAGECONFIG[mitkrb5] = "--with-system-mitkrb5 --with-system-mitkdc=/usr/sbin/krb5kdc,,krb5,"
-
-SAMBA4_IDMAP_MODULES="idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2"
-SAMBA4_PDB_MODULES="pdb_tdbsam,${@bb.utils.contains('PACKAGECONFIG', 'ldap', 'pdb_ldap,', '', d)}pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4"
-SAMBA4_AUTH_MODULES="auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4"
-SAMBA4_MODULES="${SAMBA4_IDMAP_MODULES},${SAMBA4_PDB_MODULES},${SAMBA4_AUTH_MODULES}"
-
-# These libraries are supposed to replace others supplied by packages, but decorate the names of
-# .so files so there will not be a conflict. This is not done consistantly, so be very careful
-# when adding to this list.
-#
-SAMBA4_LIBS="heimdal,cmocka,NONE"
-
-EXTRA_OECONF += "--enable-fhs \
- --with-piddir=/run \
- --with-sockets-dir=/run/samba \
- --with-modulesdir=${libdir}/samba \
- --with-privatelibdir=${libdir}/samba \
- --with-lockdir=${localstatedir}/lib/samba \
- --with-cachedir=${localstatedir}/lib/samba \
- --disable-rpath-install \
- --disable-rpath \
- --with-shared-modules=${SAMBA4_MODULES} \
- --bundled-libraries=${SAMBA4_LIBS} \
- ${@oe.utils.conditional('TARGET_ARCH', 'x86_64', '', '--disable-glusterfs', d)} \
- --with-cluster-support \
- --with-profiling-data \
- --with-libiconv=${STAGING_DIR_HOST}${prefix} \
- --with-pam --with-pammodulesdir=${base_libdir}/security \
- "
-
-LDFLAGS += "-Wl,-z,relro,-z,now ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
-
-do_configure:append() {
- cd ${S}/pidl/
- perl Makefile.PL PREFIX=${prefix}
- sed -e 's,VENDORPREFIX)/lib/perl,VENDORPREFIX)/${baselib}/perl,g' \
- -e 's,PERLPREFIX)/lib/perl,PERLPREFIX)/${baselib}/perl,g' -i Makefile
-}
-
-do_compile:append() {
- oe_runmake -C ${S}/pidl
-}
-
-do_install:append() {
- for section in 1 5 7; do
- install -d ${D}${mandir}/man$section
- install -m 0644 ctdb/doc/*.$section ${D}${mandir}/man$section
- done
- for section in 1 5 7 8; do
- install -d ${D}${mandir}/man$section
- install -m 0644 docs/manpages/*.$section ${D}${mandir}/man$section
- done
-
- install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${S}/bin/default/packaging/systemd/*.service ${D}${systemd_system_unitdir}/
- sed -e 's,\(ExecReload=\).*\(/kill\),\1${base_bindir}\2,' \
- -e 's,/etc/sysconfig/samba,${sysconfdir}/default/samba,' \
- -i ${D}${systemd_system_unitdir}/*.service
-
- if [ "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'yes', 'no', d)}" = "no" ]; then
- rm -f ${D}${systemd_system_unitdir}/samba.service
- fi
-
- install -d ${D}${sysconfdir}/tmpfiles.d
- install -m644 packaging/systemd/samba.conf.tmp ${D}${sysconfdir}/tmpfiles.d/samba.conf
- echo "d ${localstatedir}/log/samba 0755 root root -" \
- >> ${D}${sysconfdir}/tmpfiles.d/samba.conf
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 packaging/sysv/samba.init ${D}${sysconfdir}/init.d/samba
- sed -e 's,/opt/samba/bin,${sbindir},g' \
- -e 's,/opt/samba/smb.conf,${sysconfdir}/samba/smb.conf,g' \
- -e 's,/opt/samba/log,${localstatedir}/log/samba,g' \
- -e 's,/etc/init.d/samba.server,${sysconfdir}/init.d/samba,g' \
- -e 's,/usr/bin,${base_bindir},g' \
- -i ${D}${sysconfdir}/init.d/samba
-
- install -d ${D}${sysconfdir}/samba
- echo "127.0.0.1 localhost" > ${D}${sysconfdir}/samba/lmhosts
- install -m644 ${WORKDIR}/smb.conf ${D}${sysconfdir}/samba/smb.conf
- install -D -m 644 ${WORKDIR}/volatiles.03_samba ${D}${sysconfdir}/default/volatiles/03_samba
-
- install -d ${D}${sysconfdir}/default
- install -m644 packaging/systemd/samba.sysconfig ${D}${sysconfdir}/default/samba
-
- # the items are from ctdb/tests/run_tests.sh
- for d in cunit eventd eventscripts onnode shellcheck takeover takeover_helper tool; do
- testdir=${D}${datadir}/ctdb-tests/UNIT/$d
- install -d $testdir
- cp ${S}/ctdb/tests/UNIT/$d/*.sh $testdir
- cp -r ${S}/ctdb/tests/UNIT/$d/scripts ${S}/ctdb/tests/UNIT/$d/stubs $testdir || true
- done
-
- # fix file-rdeps qa warning
- if [ -f ${D}${bindir}/onnode ]; then
- sed -i 's:\(#!/bin/\)bash:\1sh:' ${D}${bindir}/onnode
- fi
-
- chmod 0750 ${D}${sysconfdir}/sudoers.d || true
- rm -rf ${D}/run ${D}${localstatedir}/run ${D}${localstatedir}/log
-
- for f in samba-gpupdate samba_upgradedns samba_spnupdate samba_kcc samba_dnsupdate samba_downgrade_db; do
- if [ -f "${D}${sbindir}/$f" ]; then
- sed -i -e 's,${PYTHON},/usr/bin/env python3,g' ${D}${sbindir}/$f
- fi
- done
- if [ -f "${D}${bindir}/samba-tool" ]; then
- sed -i -e 's,${PYTHON},/usr/bin/env python3,g' ${D}${bindir}/samba-tool
- fi
-
- oe_runmake -C ${S}/pidl DESTDIR=${D} install_vendor
- find ${D}${libdir}/perl5/ -type f -name "perllocal.pod" -delete
- find ${D}${libdir}/perl5/ -type f -name ".packlist" -delete
- sed -i -e '1s,#!.*perl,#!${bindir}/env perl,' ${D}${bindir}/pidl
-}
-
-PACKAGES =+ "${PN}-python3 ${PN}-pidl \
- ${PN}-dsdb-modules ${PN}-testsuite registry-tools \
- winbind ctdb ctdb-tests \
- ${PN}-common ${PN}-base ${PN}-ad-dc \
- smbclient ${PN}-client ${PN}-server ${PN}-test"
-
-python samba_populate_packages() {
- def module_hook(file, pkg, pattern, format, basename):
- pn = d.getVar('PN')
- d.appendVar('RRECOMMENDS:%s-base' % pn, ' %s' % pkg)
-
- mlprefix = d.getVar('MLPREFIX') or ''
- pam_libdir = d.expand('${base_libdir}/security')
- pam_pkgname = mlprefix + 'pam-plugin%s'
- do_split_packages(d, pam_libdir, r'^pam_(.*)\.so$', pam_pkgname, 'PAM plugin for %s', extra_depends='', prepend=True)
-
- libdir = d.getVar('libdir')
- do_split_packages(d, libdir, r'^lib(.*)\.so\..*$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True, allow_links=True)
- pkglibdir = '%s/samba' % libdir
- do_split_packages(d, pkglibdir, r'^lib(.*)\.so$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True)
- moduledir = '%s/samba/auth' % libdir
- do_split_packages(d, moduledir, r'^(.*)\.so$', 'samba-auth-%s', 'Samba %s authentication backend', hook=module_hook, extra_depends='', prepend=True)
- moduledir = '%s/samba/pdb' % libdir
- do_split_packages(d, moduledir, r'^(.*)\.so$', 'samba-pdb-%s', 'Samba %s password backend', hook=module_hook, extra_depends='', prepend=True)
-}
-
-PACKAGESPLITFUNCS:prepend = "samba_populate_packages "
-PACKAGES_DYNAMIC = "samba-auth-.* samba-pdb-.*"
-
-RDEPENDS:${PN} += "${PN}-base ${PN}-python3 ${PN}-dsdb-modules python3"
-RDEPENDS:${PN}-python3 += "pytalloc python3-tdb pyldb"
-
-FILES:${PN}-base = "${sbindir}/nmbd \
- ${sbindir}/smbd \
- ${sysconfdir}/init.d \
- ${systemd_system_unitdir}/nmb.service \
- ${systemd_system_unitdir}/smb.service"
-
-FILES:${PN}-ad-dc = "${sbindir}/samba \
- ${systemd_system_unitdir}/samba.service \
- ${libdir}/krb5/plugins/kdb/samba.so \
-"
-
-RDEPENDS:${PN}-ad-dc = "krb5-kdc"
-
-FILES:ctdb = "${bindir}/ctdb \
- ${bindir}/ctdb_diagnostics \
- ${bindir}/ltdbtool \
- ${bindir}/onnode \
- ${bindir}/ping_pong \
- ${sbindir}/ctdbd \
- ${datadir}/ctdb \
- ${libexecdir}/ctdb \
- ${localstatedir}/lib/ctdb \
- ${sysconfdir}/ctdb \
- ${sysconfdir}/sudoers.d/ctdb \
- ${systemd_system_unitdir}/ctdb.service \
-"
-
-FILES:ctdb-tests = "${bindir}/ctdb_run_tests \
- ${bindir}/ctdb_run_cluster_tests \
- ${datadir}/ctdb-tests \
- ${datadir}/ctdb/tests \
-"
-
-RDEPENDS:ctdb-tests += "bash util-linux-getopt ctdb"
-
-FILES:${BPN}-common = "${sysconfdir}/default \
- ${sysconfdir}/samba \
- ${sysconfdir}/tmpfiles.d \
- ${localstatedir}/lib/samba \
- ${localstatedir}/spool/samba \
-"
-
-FILES:${PN} += "${libdir}/vfs/*.so \
- ${libdir}/charset/*.so \
- ${libdir}/*.dat \
- ${libdir}/auth/*.so \
-"
-
-FILES:${PN}-dsdb-modules = "${libdir}/samba/ldb"
-
-FILES:${PN}-testsuite = "${bindir}/gentest \
- ${bindir}/locktest \
- ${bindir}/masktest \
- ${bindir}/ndrdump \
- ${bindir}/smbtorture"
-
-FILES:registry-tools = "${bindir}/regdiff \
- ${bindir}/regpatch \
- ${bindir}/regshell \
- ${bindir}/regtree"
-
-FILES:winbind = "${sbindir}/winbindd \
- ${bindir}/wbinfo \
- ${bindir}/ntlm_auth \
- ${libdir}/samba/idmap \
- ${libdir}/samba/nss_info \
- ${libdir}/winbind_krb5_locator.so \
- ${libdir}/winbind-krb5-localauth.so \
- ${sysconfdir}/init.d/winbind \
- ${systemd_system_unitdir}/winbind.service"
-
-FILES:${PN}-python3 = "${PYTHON_SITEPACKAGES_DIR}"
-
-FILES:smbclient = "${bindir}/cifsdd \
- ${bindir}/rpcclient \
- ${bindir}/smbcacls \
- ${bindir}/smbclient \
- ${bindir}/smbcquotas \
- ${bindir}/smbget \
- ${bindir}/smbspool \
- ${bindir}/smbtar \
- ${bindir}/smbtree \
- ${libexecdir}/samba/smbspool_krb5_wrapper"
-
-FILES:${PN}-pidl = "${bindir}/pidl \
- ${libdir}/perl5 \
- "
-RDEPENDS:${PN}-pidl += "perl perl-modules libparse-yapp-perl"
-
-RDEPENDS:${PN}-client = "\
- smbclient \
- winbind \
- registry-tools \
- ${PN}-pidl \
- "
-
-ALLOW_EMPTY:${PN}-client = "1"
-
-RDEPENDS:${PN}-server = "\
- ${PN} \
- winbind \
- registry-tools \
- "
-
-ALLOW_EMPTY:${PN}-server = "1"
-
-RDEPENDS:${PN}-test = "\
- ctdb-tests \
- ${PN}-testsuite \
- "
-
-ALLOW_EMPTY:${PN}-test = "1"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.18.8.bb b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.18.8.bb
new file mode 100644
index 0000000..f807426
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.18.8.bb
@@ -0,0 +1,355 @@
+HOMEPAGE = "https://www.samba.org/"
+SECTION = "console/network"
+
+LICENSE = "GPL-3.0-or-later & LGPL-3.0-or-later & GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+ file://${COREBASE}/meta/files/common-licenses/LGPL-3.0-or-later;md5=c51d3eef3be114124d11349ca0d7e117 \
+ file://${COREBASE}/meta/files/common-licenses/GPL-2.0-or-later;md5=fed54355545ffd980b814dab4a3b312c"
+
+SAMBA_MIRROR = "http://samba.org/samba/ftp"
+MIRRORS += "\
+${SAMBA_MIRROR} http://mirror.internode.on.net/pub/samba \n \
+${SAMBA_MIRROR} http://www.mirrorservice.org/sites/ftp.samba.org \n \
+"
+
+export PYTHONHASHSEED="1"
+
+SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \
+ file://smb.conf \
+ file://volatiles.03_samba \
+ file://0001-Don-t-check-xsltproc-manpages.patch \
+ file://0002-do-not-import-target-module-while-cross-compile.patch \
+ file://0003-Add-config-option-without-valgrind.patch \
+ file://0004-Add-options-to-configure-the-use-of-libbsd.patch \
+ file://0005-Fix-pyext_PATTERN-for-cross-compilation.patch \
+ file://0006-smbtorture-skip-test-case-tfork_cmd_send.patch \
+ file://0007-Deleted-settiong-of-python-to-fix-the-install-confli.patch \
+ "
+
+SRC_URI:append:libc-musl = " \
+ file://samba-pam.patch \
+ file://samba-4.3.9-remove-getpwent_r.patch \
+ "
+
+SRC_URI[sha256sum] = "4fb87bceaeb01d832a59046c197a044b7e8e8000581548b5d577a6cda03344d1"
+
+UPSTREAM_CHECK_REGEX = "samba\-(?P<pver>4\.18(\.\d+)+).tar.gz"
+
+inherit systemd waf-samba cpan-base perlnative update-rc.d perl-version pkgconfig
+
+CVE_STATUS[CVE-2011-2411] = "not-applicable-platform: vulnerable only on HP NonStop Servers"
+
+# remove default added RDEPENDS on perl
+RDEPENDS:${PN}:remove = "perl"
+
+DEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libldb libaio libpam libtasn1 libtasn1-native jansson libparse-yapp-perl-native gnutls cmocka"
+
+inherit features_check
+REQUIRED_DISTRO_FEATURES = "pam"
+
+DEPENDS:append:libc-musl = " libtirpc"
+CFLAGS:append:libc-musl = " -I${STAGING_INCDIR}/tirpc"
+LDFLAGS:append:libc-musl = " -ltirpc"
+
+COMPATIBLE_HOST:riscv32 = "null"
+
+INITSCRIPT_NAME = "samba"
+INITSCRIPT_PARAMS = "start 20 3 5 . stop 20 0 1 6 ."
+
+SYSTEMD_PACKAGES = "${PN}-base ${PN}-ad-dc winbind ctdb"
+SYSTEMD_SERVICE:${PN}-base = "nmb.service smb.service"
+SYSTEMD_SERVICE:${PN}-ad-dc = "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'samba.service', '', d)}"
+SYSTEMD_SERVICE:winbind = "winbind.service"
+SYSTEMD_SERVICE:ctdb = "ctdb.service"
+
+# There are prerequisite settings to enable ad-dc, so disable the service by default.
+# Reference:
+# https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller
+SYSTEMD_AUTO_ENABLE:${PN}-ad-dc = "disable"
+
+#cross_compile cannot use preforked process, since fork process earlier than point subproces.popen
+#to cross Popen
+export WAF_NO_PREFORK="yes"
+
+# Use krb5. Build active domain controller.
+#
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd zeroconf', d)} \
+ acl cups ldap mitkrb5 \
+"
+
+PACKAGECONFIG[acl] = "--with-acl-support,--without-acl-support,acl"
+PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin"
+PACKAGECONFIG[cups] = "--enable-cups,--disable-cups,cups"
+PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
+PACKAGECONFIG[sasl] = ",,cyrus-sasl"
+PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd"
+PACKAGECONFIG[dmapi] = "--with-dmapi,--without-dmapi,dmapi"
+PACKAGECONFIG[zeroconf] = "--enable-avahi,--disable-avahi,avahi"
+PACKAGECONFIG[valgrind] = ",--without-valgrind,valgrind,"
+PACKAGECONFIG[lttng] = "--with-lttng,--without-lttng,lttng-ust"
+PACKAGECONFIG[archive] = "--with-libarchive,--without-libarchive,libarchive"
+PACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind"
+PACKAGECONFIG[gpgme] = "--with-gpgme,--without-gpgme,gpgme"
+PACKAGECONFIG[lmdb] = ",--without-ldb-lmdb,lmdb"
+PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd"
+PACKAGECONFIG[ad-dc] = "--with-experimental-mit-ad-dc,--without-ad-dc,python3-markdown python3-dnspython,"
+PACKAGECONFIG[mitkrb5] = "--with-system-mitkrb5 --with-system-mitkdc=/usr/sbin/krb5kdc,,krb5,"
+
+SAMBA4_IDMAP_MODULES="idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2"
+SAMBA4_PDB_MODULES="pdb_tdbsam,${@bb.utils.contains('PACKAGECONFIG', 'ldap', 'pdb_ldap,', '', d)}pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4"
+SAMBA4_AUTH_MODULES="auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4"
+SAMBA4_MODULES="${SAMBA4_IDMAP_MODULES},${SAMBA4_PDB_MODULES},${SAMBA4_AUTH_MODULES}"
+
+# These libraries are supposed to replace others supplied by packages, but decorate the names of
+# .so files so there will not be a conflict. This is not done consistantly, so be very careful
+# when adding to this list.
+#
+SAMBA4_LIBS="heimdal,NONE"
+
+EXTRA_OECONF += "--enable-fhs \
+ --with-piddir=/run \
+ --with-sockets-dir=/run/samba \
+ --with-modulesdir=${libdir}/samba \
+ --with-privatelibdir=${libdir}/samba \
+ --with-lockdir=${localstatedir}/lib/samba \
+ --with-cachedir=${localstatedir}/lib/samba \
+ --disable-rpath-install \
+ --disable-rpath \
+ --with-shared-modules=${SAMBA4_MODULES} \
+ --bundled-libraries=${SAMBA4_LIBS} \
+ ${@oe.utils.conditional('TARGET_ARCH', 'x86_64', '', '--disable-glusterfs', d)} \
+ --with-cluster-support \
+ --with-profiling-data \
+ --with-libiconv=${STAGING_DIR_HOST}${prefix} \
+ --with-pam --with-pammodulesdir=${base_libdir}/security \
+ "
+
+LDFLAGS += "-Wl,-z,relro,-z,now ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+
+do_configure:append() {
+ cd ${S}/pidl/
+ perl Makefile.PL PREFIX=${prefix}
+ sed -e 's,VENDORPREFIX)/lib/perl,VENDORPREFIX)/${baselib}/perl,g' \
+ -e 's,PERLPREFIX)/lib/perl,PERLPREFIX)/${baselib}/perl,g' -i Makefile
+}
+
+do_compile:append() {
+ oe_runmake -C ${S}/pidl
+}
+
+do_install:append() {
+ for section in 1 5 7; do
+ install -d ${D}${mandir}/man$section
+ install -m 0644 ctdb/doc/*.$section ${D}${mandir}/man$section
+ done
+ for section in 1 5 7 8; do
+ install -d ${D}${mandir}/man$section
+ install -m 0644 docs/manpages/*.$section ${D}${mandir}/man$section
+ done
+
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${S}/bin/default/packaging/systemd/*.service ${D}${systemd_system_unitdir}/
+ sed -e 's,\(ExecReload=\).*\(/kill\),\1${base_bindir}\2,' \
+ -e 's,/etc/sysconfig/samba,${sysconfdir}/default/samba,' \
+ -i ${D}${systemd_system_unitdir}/*.service
+
+ if [ "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'yes', 'no', d)}" = "no" ]; then
+ rm -f ${D}${systemd_system_unitdir}/samba.service
+ fi
+
+ install -d ${D}${sysconfdir}/tmpfiles.d
+ install -m644 packaging/systemd/samba.conf.tmp ${D}${sysconfdir}/tmpfiles.d/samba.conf
+ echo "d ${localstatedir}/log/samba 0755 root root -" \
+ >> ${D}${sysconfdir}/tmpfiles.d/samba.conf
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 packaging/sysv/samba.init ${D}${sysconfdir}/init.d/samba
+ sed -e 's,/opt/samba/bin,${sbindir},g' \
+ -e 's,/opt/samba/smb.conf,${sysconfdir}/samba/smb.conf,g' \
+ -e 's,/opt/samba/log,${localstatedir}/log/samba,g' \
+ -e 's,/etc/init.d/samba.server,${sysconfdir}/init.d/samba,g' \
+ -e 's,/usr/bin,${base_bindir},g' \
+ -i ${D}${sysconfdir}/init.d/samba
+
+ install -d ${D}${sysconfdir}/samba
+ echo "127.0.0.1 localhost" > ${D}${sysconfdir}/samba/lmhosts
+ install -m644 ${WORKDIR}/smb.conf ${D}${sysconfdir}/samba/smb.conf
+ install -D -m 644 ${WORKDIR}/volatiles.03_samba ${D}${sysconfdir}/default/volatiles/03_samba
+
+ install -d ${D}${sysconfdir}/default
+ install -m644 packaging/systemd/samba.sysconfig ${D}${sysconfdir}/default/samba
+
+ # the items are from ctdb/tests/run_tests.sh
+ for d in cunit eventd eventscripts onnode shellcheck takeover takeover_helper tool; do
+ testdir=${D}${datadir}/ctdb-tests/UNIT/$d
+ install -d $testdir
+ cp ${S}/ctdb/tests/UNIT/$d/*.sh $testdir
+ cp -r ${S}/ctdb/tests/UNIT/$d/scripts ${S}/ctdb/tests/UNIT/$d/stubs $testdir || true
+ done
+
+ # fix file-rdeps qa warning
+ if [ -f ${D}${bindir}/onnode ]; then
+ sed -i 's:\(#!/bin/\)bash:\1sh:' ${D}${bindir}/onnode
+ fi
+
+ chmod 0750 ${D}${sysconfdir}/sudoers.d || true
+ rm -rf ${D}/run ${D}${localstatedir}/run ${D}${localstatedir}/log
+
+ for f in samba-gpupdate samba_upgradedns samba_spnupdate samba_kcc samba_dnsupdate samba_downgrade_db; do
+ if [ -f "${D}${sbindir}/$f" ]; then
+ sed -i -e 's,${PYTHON},/usr/bin/env python3,g' ${D}${sbindir}/$f
+ fi
+ done
+ if [ -f "${D}${bindir}/samba-tool" ]; then
+ sed -i -e 's,${PYTHON},/usr/bin/env python3,g' ${D}${bindir}/samba-tool
+ fi
+
+ oe_runmake -C ${S}/pidl DESTDIR=${D} install_vendor
+ find ${D}${libdir}/perl5/ -type f -name "perllocal.pod" -delete
+ find ${D}${libdir}/perl5/ -type f -name ".packlist" -delete
+ sed -i -e '1s,#!.*perl,#!${bindir}/env perl,' ${D}${bindir}/pidl
+}
+
+PACKAGES =+ "${PN}-python3 ${PN}-pidl \
+ ${PN}-dsdb-modules ${PN}-testsuite registry-tools \
+ winbind ctdb ctdb-tests \
+ ${PN}-common ${PN}-base ${PN}-ad-dc \
+ smbclient ${PN}-client ${PN}-server ${PN}-test"
+
+python samba_populate_packages() {
+ def module_hook(file, pkg, pattern, format, basename):
+ pn = d.getVar('PN')
+ d.appendVar('RRECOMMENDS:%s-base' % pn, ' %s' % pkg)
+
+ mlprefix = d.getVar('MLPREFIX') or ''
+ pam_libdir = d.expand('${base_libdir}/security')
+ pam_pkgname = mlprefix + 'pam-plugin%s'
+ do_split_packages(d, pam_libdir, r'^pam_(.*)\.so$', pam_pkgname, 'PAM plugin for %s', extra_depends='', prepend=True)
+
+ libdir = d.getVar('libdir')
+ do_split_packages(d, libdir, r'^lib(.*)\.so\..*$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True, allow_links=True)
+ pkglibdir = '%s/samba' % libdir
+ do_split_packages(d, pkglibdir, r'^lib(.*)\.so$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True)
+ moduledir = '%s/samba/auth' % libdir
+ do_split_packages(d, moduledir, r'^(.*)\.so$', 'samba-auth-%s', 'Samba %s authentication backend', hook=module_hook, extra_depends='', prepend=True)
+ moduledir = '%s/samba/pdb' % libdir
+ do_split_packages(d, moduledir, r'^(.*)\.so$', 'samba-pdb-%s', 'Samba %s password backend', hook=module_hook, extra_depends='', prepend=True)
+}
+
+PACKAGESPLITFUNCS:prepend = "samba_populate_packages "
+PACKAGES_DYNAMIC = "samba-auth-.* samba-pdb-.*"
+
+RDEPENDS:${PN} += "${PN}-base ${PN}-python3 ${PN}-dsdb-modules python3"
+RDEPENDS:${PN}-python3 += "pytalloc python3-tdb pyldb"
+
+FILES:${PN}-base = "${sbindir}/nmbd \
+ ${sbindir}/smbd \
+ ${sysconfdir}/init.d \
+ ${systemd_system_unitdir}/nmb.service \
+ ${systemd_system_unitdir}/smb.service"
+
+FILES:${PN}-ad-dc = "${sbindir}/samba \
+ ${systemd_system_unitdir}/samba.service \
+ ${libdir}/krb5/plugins/kdb/samba.so \
+"
+
+RDEPENDS:${PN}-ad-dc = "krb5-kdc"
+
+FILES:ctdb = "${bindir}/ctdb \
+ ${bindir}/ctdb_diagnostics \
+ ${bindir}/ltdbtool \
+ ${bindir}/onnode \
+ ${bindir}/ping_pong \
+ ${sbindir}/ctdbd \
+ ${datadir}/ctdb \
+ ${libexecdir}/ctdb \
+ ${localstatedir}/lib/ctdb \
+ ${sysconfdir}/ctdb \
+ ${sysconfdir}/sudoers.d/ctdb \
+ ${systemd_system_unitdir}/ctdb.service \
+"
+
+FILES:ctdb-tests = "${bindir}/ctdb_run_tests \
+ ${bindir}/ctdb_run_cluster_tests \
+ ${datadir}/ctdb-tests \
+ ${datadir}/ctdb/tests \
+"
+
+RDEPENDS:ctdb-tests += "bash util-linux-getopt ctdb"
+
+FILES:${BPN}-common = "${sysconfdir}/default \
+ ${sysconfdir}/samba \
+ ${sysconfdir}/tmpfiles.d \
+ ${localstatedir}/lib/samba \
+ ${localstatedir}/spool/samba \
+"
+
+FILES:${PN} += "${libdir}/vfs/*.so \
+ ${libdir}/charset/*.so \
+ ${libdir}/*.dat \
+ ${libdir}/auth/*.so \
+"
+
+FILES:${PN}-dsdb-modules = "${libdir}/samba/ldb"
+
+FILES:${PN}-testsuite = "${bindir}/gentest \
+ ${bindir}/locktest \
+ ${bindir}/masktest \
+ ${bindir}/ndrdump \
+ ${bindir}/smbtorture"
+
+FILES:registry-tools = "${bindir}/regdiff \
+ ${bindir}/regpatch \
+ ${bindir}/regshell \
+ ${bindir}/regtree"
+
+FILES:winbind = "${sbindir}/winbindd \
+ ${bindir}/wbinfo \
+ ${bindir}/ntlm_auth \
+ ${libdir}/samba/idmap \
+ ${libdir}/samba/nss_info \
+ ${libdir}/winbind_krb5_locator.so \
+ ${libdir}/winbind-krb5-localauth.so \
+ ${sysconfdir}/init.d/winbind \
+ ${systemd_system_unitdir}/winbind.service"
+
+FILES:${PN}-python3 = "${PYTHON_SITEPACKAGES_DIR}"
+
+FILES:smbclient = "${bindir}/cifsdd \
+ ${bindir}/rpcclient \
+ ${bindir}/smbcacls \
+ ${bindir}/smbclient \
+ ${bindir}/smbcquotas \
+ ${bindir}/smbget \
+ ${bindir}/smbspool \
+ ${bindir}/smbtar \
+ ${bindir}/smbtree \
+ ${libexecdir}/samba/smbspool_krb5_wrapper"
+
+FILES:${PN}-pidl = "${bindir}/pidl \
+ ${libdir}/perl5 \
+ "
+RDEPENDS:${PN}-pidl += "perl perl-modules libparse-yapp-perl"
+
+RDEPENDS:${PN}-client = "\
+ smbclient \
+ winbind \
+ registry-tools \
+ ${PN}-pidl \
+ "
+
+ALLOW_EMPTY:${PN}-client = "1"
+
+RDEPENDS:${PN}-server = "\
+ ${PN} \
+ winbind \
+ registry-tools \
+ "
+
+ALLOW_EMPTY:${PN}-server = "1"
+
+RDEPENDS:${PN}-test = "\
+ ctdb-tests \
+ ${PN}-testsuite \
+ "
+
+ALLOW_EMPTY:${PN}-test = "1"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_5.5.4.bb b/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_5.5.4.bb
deleted file mode 100644
index 9ac859f..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_5.5.4.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "wolfSSL Lightweight Embedded SSL/TLS Library"
-DESCRIPTION = "wolfSSL, formerly CyaSSL, is a lightweight SSL library written \
- in C and optimized for embedded and RTOS environments. It can \
- be up to 20 times smaller than OpenSSL while still supporting \
- a full TLS client and server, up to TLS 1.3"
-HOMEPAGE = "https://www.wolfssl.com/products/wolfssl"
-BUGTRACKER = "https://github.com/wolfssl/wolfssl/issues"
-SECTION = "libs"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-PROVIDES += "cyassl"
-RPROVIDES:${PN} = "cyassl"
-
-SRC_URI = "git://github.com/wolfSSL/wolfssl.git;protocol=https;branch=master"
-SRCREV = "4fbd4fd36a21efd9d1a7e17aba390e91c78693b1"
-
-S = "${WORKDIR}/git"
-
-inherit autotools
-
-BBCLASSEXTEND += "native nativesdk"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_5.6.4.bb b/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_5.6.4.bb
new file mode 100644
index 0000000..a4f42e7
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_5.6.4.bb
@@ -0,0 +1,22 @@
+SUMMARY = "wolfSSL Lightweight Embedded SSL/TLS Library"
+DESCRIPTION = "wolfSSL, formerly CyaSSL, is a lightweight SSL library written \
+ in C and optimized for embedded and RTOS environments. It can \
+ be up to 20 times smaller than OpenSSL while still supporting \
+ a full TLS client and server, up to TLS 1.3"
+HOMEPAGE = "https://www.wolfssl.com/products/wolfssl"
+BUGTRACKER = "https://github.com/wolfssl/wolfssl/issues"
+SECTION = "libs"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+PROVIDES += "cyassl"
+RPROVIDES:${PN} = "cyassl"
+
+SRC_URI = "git://github.com/wolfSSL/wolfssl.git;protocol=https;branch=master"
+SRCREV = "37884f864d6fd9b04f44677cb04da15d0c9d6526"
+
+S = "${WORKDIR}/git"
+
+inherit autotools
+
+BBCLASSEXTEND += "native nativesdk"
diff --git a/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb b/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb
index 7be8261..941efed 100644
--- a/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb
+++ b/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb
@@ -13,7 +13,6 @@
packagegroup-meta-networking-filter \
packagegroup-meta-networking-irc \
packagegroup-meta-networking-kernel \
- packagegroup-meta-networking-netkit \
packagegroup-meta-networking-protocols \
packagegroup-meta-networking-support \
'
@@ -26,7 +25,6 @@
packagegroup-meta-networking-filter \
packagegroup-meta-networking-irc \
packagegroup-meta-networking-kernel \
- packagegroup-meta-networking-netkit \
packagegroup-meta-networking-protocols \
packagegroup-meta-networking-support \
"
@@ -134,21 +132,6 @@
wireguard-tools \
"
-RDEPENDS:packagegroup-meta-networking-netkit = "\
- netkit-rwho-client \
- netkit-rwho-server \
- netkit-rsh-client \
- netkit-rsh-server \
- netkit-telnet \
- netkit-tftp-client \
- netkit-tftp-server \
- netkit-ftp \
- netkit-rpc \
- "
-
-RDEPENDS:packagegroup-meta-networking-netkit:remove:libc-musl = " \
- netkit-rsh-client netkit-rsh-server netkit-telnet"
-
RDEPENDS:packagegroup-meta-networking-protocols = "\
babeld \
${@bb.utils.contains("DISTRO_FEATURES", "pam", "dante", "", d)} \
diff --git a/meta-openembedded/meta-networking/recipes-devtools/libcoap/libcoap_4.3.3.bb b/meta-openembedded/meta-networking/recipes-devtools/libcoap/libcoap_4.3.3.bb
deleted file mode 100644
index 6e5bc07..0000000
--- a/meta-openembedded/meta-networking/recipes-devtools/libcoap/libcoap_4.3.3.bb
+++ /dev/null
@@ -1,62 +0,0 @@
-SUMMARY = "A C implementation of the Constrained Application Protocol"
-DESCRIPTION = "libcoap implements a lightweight application-protocol for \
-devices that are constrained their resources such as computing power, \
-RF range, memory, bandwith, or network packet sizes."
-HOMEPAGE ="https://libcoap.net/"
-
-LICENSE = "BSD-2-Clause & BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1978dbc41673ab1c20e64b287c8317bc"
-
-SRC_URI = "git://github.com/obgm/libcoap.git;branch=main;protocol=https \
- file://run-ptest \
- "
-SRCREV = "9cde7cdee171e3f47486c6e70d479fdf49f3d2d6"
-
-S = "${WORKDIR}/git"
-
-inherit autotools manpages pkgconfig ptest
-
-DEPENDS += "ctags-native"
-
-PACKAGECONFIG ?= "\
- async openssl tcp \
- ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
-"
-PACKAGECONFIG[async] = "--enable-async,--disable-async"
-PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls,,,openssl mbedtls"
-PACKAGECONFIG[manpages] = "--enable-documentation --enable-doxygen --enable-manpages,--disable-documentation,asciidoc-native doxygen-native graphviz-native"
-PACKAGECONFIG[mbedtls] = "--with-mbedtls,--without-mbedtls,mbedtls,,,gnutls openssl"
-PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl,,,gnutls mbedtls"
-PACKAGECONFIG[small-stack] = "--enable-small-stack,--disable-small-stack"
-PACKAGECONFIG[tcp] = "--enable-tcp,--disable-tcp"
-PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,cunit"
-
-EXTRA_OECONF = "\
- --with-epoll --enable-add-default-names \
- --without-tinydtls --without-submodule-tinydtls \
- ${@bb.utils.contains_any('PACKAGECONFIG', 'gnutls openssl mbedtls', '--enable-dtls', '--disable-dtls', d)} \
-"
-
-python () {
- if d.getVar('PTEST_ENABLED') == "1":
- d.setVar('DISABLE_STATIC', '')
-}
-
-export SGML_CATALOG_FILES="file://${STAGING_ETCDIR_NATIVE}/xml/catalog"
-
-do_compile:prepend() {
- oe_runmake update-map-file
-}
-
-do_install_ptest () {
- install -d ${D}${PTEST_PATH}
- install -m 0755 ${WORKDIR}/run-ptest ${D}${PTEST_PATH}/run-ptest
- install -m 0755 ${B}/tests/testdriver ${D}${PTEST_PATH}/testdriver
-}
-
-PACKAGE_BEFORE_PN += "\
- ${PN}-bin \
-"
-
-FILES:${PN}-bin = "${bindir}"
-FILES:${PN}-dev += "${datadir}/${BPN}/examples"
diff --git a/meta-openembedded/meta-networking/recipes-devtools/libcoap/libcoap_4.3.4.bb b/meta-openembedded/meta-networking/recipes-devtools/libcoap/libcoap_4.3.4.bb
new file mode 100644
index 0000000..20bdbee
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-devtools/libcoap/libcoap_4.3.4.bb
@@ -0,0 +1,62 @@
+SUMMARY = "A C implementation of the Constrained Application Protocol"
+DESCRIPTION = "libcoap implements a lightweight application-protocol for \
+devices that are constrained their resources such as computing power, \
+RF range, memory, bandwith, or network packet sizes."
+HOMEPAGE ="https://libcoap.net/"
+
+LICENSE = "BSD-2-Clause & BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1978dbc41673ab1c20e64b287c8317bc"
+
+SRC_URI = "git://github.com/obgm/libcoap.git;branch=main;protocol=https \
+ file://run-ptest \
+ "
+SRCREV = "5fd2f89ef068214130e5d60b7087ef48711fa615"
+
+S = "${WORKDIR}/git"
+
+inherit autotools manpages pkgconfig ptest
+
+DEPENDS += "ctags-native"
+
+PACKAGECONFIG ?= "\
+ async openssl tcp \
+ ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
+"
+PACKAGECONFIG[async] = "--enable-async,--disable-async"
+PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls,,,openssl mbedtls"
+PACKAGECONFIG[manpages] = "--enable-documentation --enable-doxygen --enable-manpages,--disable-documentation,asciidoc-native doxygen-native graphviz-native"
+PACKAGECONFIG[mbedtls] = "--with-mbedtls,--without-mbedtls,mbedtls,,,gnutls openssl"
+PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl,,,gnutls mbedtls"
+PACKAGECONFIG[small-stack] = "--enable-small-stack,--disable-small-stack"
+PACKAGECONFIG[tcp] = "--enable-tcp,--disable-tcp"
+PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,cunit"
+
+EXTRA_OECONF = "\
+ --with-epoll --enable-add-default-names \
+ --without-tinydtls --without-submodule-tinydtls \
+ ${@bb.utils.contains_any('PACKAGECONFIG', 'gnutls openssl mbedtls', '--enable-dtls', '--disable-dtls', d)} \
+"
+
+python () {
+ if d.getVar('PTEST_ENABLED') == "1":
+ d.setVar('DISABLE_STATIC', '')
+}
+
+export SGML_CATALOG_FILES="file://${STAGING_ETCDIR_NATIVE}/xml/catalog"
+
+do_compile:prepend() {
+ oe_runmake update-map-file
+}
+
+do_install_ptest () {
+ install -d ${D}${PTEST_PATH}
+ install -m 0755 ${WORKDIR}/run-ptest ${D}${PTEST_PATH}/run-ptest
+ install -m 0755 ${B}/tests/testdriver ${D}${PTEST_PATH}/testdriver
+}
+
+PACKAGE_BEFORE_PN += "\
+ ${PN}-bin \
+"
+
+FILES:${PN}-bin = "${bindir}"
+FILES:${PN}-dev += "${datadir}/${BPN}/examples"
diff --git a/meta-openembedded/meta-networking/recipes-devtools/python/python3-scapy_2.5.0.bb b/meta-openembedded/meta-networking/recipes-devtools/python/python3-scapy_2.5.0.bb
index cc3f2ee..4858e4e 100644
--- a/meta-openembedded/meta-networking/recipes-devtools/python/python3-scapy_2.5.0.bb
+++ b/meta-openembedded/meta-networking/recipes-devtools/python/python3-scapy_2.5.0.bb
@@ -16,7 +16,7 @@
# If you want ptest support, use the git repo
# UTscapy does not exist in the pypi pkg
#
-SRCREV = "9473f77d8b548c8e478e52838bdd4c12f5d4f4ff"
+SRCREV = "0474c37bf1d147c969173d52ab3ac76d2404d981"
SRC_URI = "git://github.com/secdev/scapy.git;branch=master;protocol=https \
file://run-ptest"
diff --git a/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.7.bb b/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.7.bb
deleted file mode 100644
index 0c6fd90..0000000
--- a/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.7.bb
+++ /dev/null
@@ -1,60 +0,0 @@
-SUMMARY = "Connection tracking userspace tools for Linux"
-SECTION = "net"
-LICENSE = "GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
-
-DEPENDS = "libnfnetlink libnetfilter-conntrack libnetfilter-cttimeout \
- libnetfilter-cthelper libnetfilter-queue bison-native libtirpc"
-
-EXTRA_OECONF += "LIBS=-ltirpc CPPFLAGS=-I${STAGING_INCDIR}/tirpc"
-
-SRC_URI = "http://www.netfilter.org/projects/conntrack-tools/files/conntrack-tools-${PV}.tar.bz2 \
- file://conntrack-failover \
- file://init \
- file://conntrackd.service \
-"
-SRC_URI[sha256sum] = "099debcf57e81690ced57f516b493588a73518f48c14d656f823b29b4fc24b5d"
-
-inherit autotools update-rc.d pkgconfig systemd
-
-PACKAGECONFIG ?= "cthelper cttimeout \
- ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-
-PACKAGECONFIG[cthelper] = "--enable-cthelper,--disable-cthelper"
-PACKAGECONFIG[cttimeout] = "--enable-cttimeout,--disable-cttimeout"
-PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd"
-
-INITSCRIPT_NAME = "conntrackd"
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE:${PN} = "conntrackd.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-do_install:append() {
- install -d ${D}/${sysconfdir}/conntrackd
- install -d ${D}/${sysconfdir}/init.d
- install -m 0644 ${S}/doc/sync/ftfw/conntrackd.conf ${D}/${sysconfdir}/conntrackd/conntrackd.conf.sample
- install -m 0755 ${WORKDIR}/conntrack-failover ${D}/${sysconfdir}/init.d/conntrack-failover
- install -m 0755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/conntrackd
-
- # Fix hardcoded paths in scripts
- sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}/${sysconfdir}/init.d/conntrack-failover ${D}/${sysconfdir}/init.d/conntrackd
- sed -i 's!/etc/!${sysconfdir}/!g' ${D}/${sysconfdir}/init.d/conntrack-failover ${D}/${sysconfdir}/init.d/conntrackd
- sed -i 's!/var/!${localstatedir}/!g' ${D}/${sysconfdir}/init.d/conntrack-failover ${D}/${sysconfdir}/init.d/conntrackd ${D}/${sysconfdir}/conntrackd/conntrackd.conf.sample
- sed -i 's!^export PATH=.*!export PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}/${sysconfdir}/init.d/conntrackd
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}/${systemd_system_unitdir}
- install -m 644 ${WORKDIR}/conntrackd.service ${D}/${systemd_system_unitdir}
- fi
-}
-
-# fix error message: Do not forget that you need *root* or CAP_NET_ADMIN capabilities ;-)
-pkg_postinst:${PN} () {
- setcap cap_net_admin+ep "$D/${sbindir}/conntrack"
-}
-PACKAGE_WRITE_DEPS += "libcap-native"
-
-RRECOMMENDS:${PN} = "kernel-module-nf-conntrack kernel-module-nfnetlink \
- kernel-module-nf-conntrack-netlink \
- "
diff --git a/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.8.bb b/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.8.bb
new file mode 100644
index 0000000..07e0184
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.8.bb
@@ -0,0 +1,60 @@
+SUMMARY = "Connection tracking userspace tools for Linux"
+SECTION = "net"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
+
+DEPENDS = "libnfnetlink libnetfilter-conntrack libnetfilter-cttimeout \
+ libnetfilter-cthelper libnetfilter-queue bison-native libtirpc"
+
+EXTRA_OECONF += "LIBS=-ltirpc CPPFLAGS=-I${STAGING_INCDIR}/tirpc"
+
+SRC_URI = "http://www.netfilter.org/projects/conntrack-tools/files/conntrack-tools-${PV}.tar.xz \
+ file://conntrack-failover \
+ file://init \
+ file://conntrackd.service \
+"
+SRC_URI[sha256sum] = "067677f4c5f6564819e78ed3a9d4a8980935ea9273f3abb22a420ea30ab5ded6"
+
+inherit autotools update-rc.d pkgconfig systemd
+
+PACKAGECONFIG ?= "cthelper cttimeout \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+
+PACKAGECONFIG[cthelper] = "--enable-cthelper,--disable-cthelper"
+PACKAGECONFIG[cttimeout] = "--enable-cttimeout,--disable-cttimeout"
+PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd"
+
+INITSCRIPT_NAME = "conntrackd"
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE:${PN} = "conntrackd.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+do_install:append() {
+ install -d ${D}/${sysconfdir}/conntrackd
+ install -d ${D}/${sysconfdir}/init.d
+ install -m 0644 ${S}/doc/sync/ftfw/conntrackd.conf ${D}/${sysconfdir}/conntrackd/conntrackd.conf.sample
+ install -m 0755 ${WORKDIR}/conntrack-failover ${D}/${sysconfdir}/init.d/conntrack-failover
+ install -m 0755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/conntrackd
+
+ # Fix hardcoded paths in scripts
+ sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}/${sysconfdir}/init.d/conntrack-failover ${D}/${sysconfdir}/init.d/conntrackd
+ sed -i 's!/etc/!${sysconfdir}/!g' ${D}/${sysconfdir}/init.d/conntrack-failover ${D}/${sysconfdir}/init.d/conntrackd
+ sed -i 's!/var/!${localstatedir}/!g' ${D}/${sysconfdir}/init.d/conntrack-failover ${D}/${sysconfdir}/init.d/conntrackd ${D}/${sysconfdir}/conntrackd/conntrackd.conf.sample
+ sed -i 's!^export PATH=.*!export PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}/${sysconfdir}/init.d/conntrackd
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}/${systemd_system_unitdir}
+ install -m 644 ${WORKDIR}/conntrackd.service ${D}/${systemd_system_unitdir}
+ fi
+}
+
+# fix error message: Do not forget that you need *root* or CAP_NET_ADMIN capabilities ;-)
+pkg_postinst:${PN} () {
+ setcap cap_net_admin+ep "$D/${sbindir}/conntrack"
+}
+PACKAGE_WRITE_DEPS += "libcap-native"
+
+RRECOMMENDS:${PN} = "kernel-module-nf-conntrack kernel-module-nfnetlink \
+ kernel-module-nf-conntrack-netlink \
+ "
diff --git a/meta-openembedded/meta-networking/recipes-filter/ipset/ipset_7.15.bb b/meta-openembedded/meta-networking/recipes-filter/ipset/ipset_7.15.bb
deleted file mode 100644
index 0e928a3..0000000
--- a/meta-openembedded/meta-networking/recipes-filter/ipset/ipset_7.15.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright (C) 2017 Aaron Brice <aaron.brice@datasoft.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-DESCRIPTION = "Administration tool for IP sets"
-HOMEPAGE = "http://ipset.netfilter.org"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-SECTION = "base"
-
-DEPENDS = "libtool libmnl"
-
-SRC_URI = "http://ftp.netfilter.org/pub/ipset/${BP}.tar.bz2"
-SRC_URI[sha256sum] = "0a5545aaadb640142c1f888d366a78ddf8724799967fa20686a70053bd621751"
-
-inherit autotools pkgconfig module-base
-
-EXTRA_OECONF += "-with-kbuild=${KBUILD_OUTPUT} --with-ksource=${STAGING_KERNEL_DIR}"
-
-RRECOMMENDS:${PN} = "\
- kernel-module-ip-set \
-"
diff --git a/meta-openembedded/meta-networking/recipes-filter/ipset/ipset_7.19.bb b/meta-openembedded/meta-networking/recipes-filter/ipset/ipset_7.19.bb
new file mode 100644
index 0000000..bb4319f
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-filter/ipset/ipset_7.19.bb
@@ -0,0 +1,21 @@
+# Copyright (C) 2017 Aaron Brice <aaron.brice@datasoft.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+DESCRIPTION = "Administration tool for IP sets"
+HOMEPAGE = "http://ipset.netfilter.org"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+SECTION = "base"
+
+DEPENDS = "libtool libmnl"
+
+SRC_URI = "http://ftp.netfilter.org/pub/ipset/${BP}.tar.bz2"
+SRC_URI[sha256sum] = "9bc1fba48d65786e3e0b63dc6b669a866823d77840c6990c0c6b23078ec2c4d6"
+
+inherit autotools pkgconfig module-base
+
+EXTRA_OECONF += "-with-kbuild=${KBUILD_OUTPUT} --with-ksource=${STAGING_KERNEL_DIR}"
+
+RRECOMMENDS:${PN} = "\
+ kernel-module-ip-set \
+"
diff --git a/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.8.bb b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.8.bb
deleted file mode 100644
index 00fe483..0000000
--- a/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.8.bb
+++ /dev/null
@@ -1,80 +0,0 @@
-SUMMARY = "Netfilter Tables userspace utillites"
-SECTION = "net"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=81ec33bb3e47b460fc993ac768c74b62"
-
-DEPENDS = "libmnl libnftnl bison-native \
- ${@bb.utils.contains('PACKAGECONFIG', 'mini-gmp', '', 'gmp', d)}"
-
-SRC_URI = "http://www.netfilter.org/projects/nftables/files/${BP}.tar.xz \
- file://run-ptest \
- "
-SRC_URI[sha256sum] = "9373740de41a82dbc98818e0a46a073faeb8a8d0689fa4fa1a74399c32bf3d50"
-
-inherit autotools manpages pkgconfig ptest
-
-PACKAGECONFIG ?= "python readline json"
-PACKAGECONFIG[editline] = "--with-cli=editline, , libedit, , , linenoise readline"
-PACKAGECONFIG[json] = "--with-json, --without-json, jansson"
-PACKAGECONFIG[linenoise] = "--with-cli=linenoise, , linenoise, , , editline readline"
-PACKAGECONFIG[manpages] = "--enable-man-doc, --disable-man-doc, asciidoc-native"
-PACKAGECONFIG[mini-gmp] = "--with-mini-gmp, --without-mini-gmp"
-PACKAGECONFIG[python] = ",, python3-setuptools-native"
-PACKAGECONFIG[readline] = "--with-cli=readline, , readline, , , editline linenoise"
-PACKAGECONFIG[xtables] = "--with-xtables, --without-xtables, iptables"
-
-# Disable the python via autoconf so we can build it separately via setuptools3
-EXTRA_OECONF = "--disable-python \
- ${@bb.utils.contains_any('PACKAGECONFIG', 'editline linenoise readline', '', '--without-cli', d)}"
-
-SETUPTOOLS_SETUP_PATH = "${S}/py"
-
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'setuptools3', '', d)}
-
-RRECOMMENDS:${PN} += "kernel-module-nf-tables"
-
-PACKAGES =+ "${PN}-python"
-FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
-RDEPENDS:${PN}-python = "python3-core python3-json ${PN}"
-
-# Explicitly define do_configure, do_compile and do_install because both autotools and setuptools3
-# have EXPORT_FUNCTIONS do_configure do_compile do_install
-do_configure() {
- autotools_do_configure
- if ${@bb.utils.contains('PACKAGECONFIG', 'python', 'true', 'false', d)}; then
- setuptools3_do_configure
- fi
-}
-
-do_compile() {
- autotools_do_compile
- if ${@bb.utils.contains('PACKAGECONFIG', 'python', 'true', 'false', d)}; then
- setuptools3_do_compile
- fi
-}
-
-do_install() {
- autotools_do_install
- if ${@bb.utils.contains('PACKAGECONFIG', 'python', 'true', 'false', d)}; then
- setuptools3_do_install
- fi
-}
-
-RDEPENDS:${PN}-ptest += " ${PN}-python bash make iproute2 iputils-ping procps python3-core python3-ctypes python3-json python3-misc sed util-linux"
-
-TESTDIR = "tests"
-
-PRIVATE_LIBS:${PN}-ptest:append = " libnftables.so.1"
-
-do_install_ptest() {
- cp -rf ${S}/build-aux ${D}${PTEST_PATH}
- cp -rf ${S}/src ${D}${PTEST_PATH}
- mkdir -p ${D}${PTEST_PATH}/src/.libs
- cp -rf ${B}/src/.libs/* ${D}${PTEST_PATH}/src/.libs
- cp -rf ${B}/src/.libs/nft ${D}${PTEST_PATH}/src/
- cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH}/${TESTDIR}
- sed -i 's#/usr/bin/python#/usr/bin/python3#' ${D}${PTEST_PATH}/${TESTDIR}/json_echo/run-test.py
- sed -i 's#/usr/bin/env python#/usr/bin/env python3#' ${D}${PTEST_PATH}/${TESTDIR}/py/nft-test.py
- # handle multilib
- sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest
-}
diff --git a/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.9.bb b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.9.bb
new file mode 100644
index 0000000..43d606f
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.9.bb
@@ -0,0 +1,79 @@
+SUMMARY = "Netfilter Tables userspace utillites"
+SECTION = "net"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=81ec33bb3e47b460fc993ac768c74b62"
+
+DEPENDS = "libmnl libnftnl bison-native \
+ ${@bb.utils.contains('PACKAGECONFIG', 'mini-gmp', '', 'gmp', d)}"
+
+SRC_URI = "http://www.netfilter.org/projects/nftables/files/${BP}.tar.xz \
+ file://run-ptest \
+ "
+SRC_URI[sha256sum] = "a3c304cd9ba061239ee0474f9afb938a9bb99d89b960246f66f0c3a0a85e14cd"
+
+inherit autotools manpages pkgconfig ptest
+
+PACKAGECONFIG ?= "python readline json"
+PACKAGECONFIG[editline] = "--with-cli=editline, , libedit, , , linenoise readline"
+PACKAGECONFIG[json] = "--with-json, --without-json, jansson"
+PACKAGECONFIG[linenoise] = "--with-cli=linenoise, , linenoise, , , editline readline"
+PACKAGECONFIG[manpages] = "--enable-man-doc, --disable-man-doc, asciidoc-native"
+PACKAGECONFIG[mini-gmp] = "--with-mini-gmp, --without-mini-gmp"
+PACKAGECONFIG[python] = ",, python3-setuptools-native"
+PACKAGECONFIG[readline] = "--with-cli=readline, , readline, , , editline linenoise"
+PACKAGECONFIG[xtables] = "--with-xtables, --without-xtables, iptables"
+
+EXTRA_OECONF = " \
+ ${@bb.utils.contains_any('PACKAGECONFIG', 'editline linenoise readline', '', '--without-cli', d)}"
+
+SETUPTOOLS_SETUP_PATH = "${S}/py"
+
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'setuptools3', '', d)}
+
+RRECOMMENDS:${PN} += "kernel-module-nf-tables"
+
+PACKAGES =+ "${PN}-python"
+FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
+RDEPENDS:${PN}-python = "python3-core python3-json ${PN}"
+
+# Explicitly define do_configure, do_compile and do_install because both autotools and setuptools3
+# have EXPORT_FUNCTIONS do_configure do_compile do_install
+do_configure() {
+ autotools_do_configure
+ if ${@bb.utils.contains('PACKAGECONFIG', 'python', 'true', 'false', d)}; then
+ setuptools3_do_configure
+ fi
+}
+
+do_compile() {
+ autotools_do_compile
+ if ${@bb.utils.contains('PACKAGECONFIG', 'python', 'true', 'false', d)}; then
+ setuptools3_do_compile
+ fi
+}
+
+do_install() {
+ autotools_do_install
+ if ${@bb.utils.contains('PACKAGECONFIG', 'python', 'true', 'false', d)}; then
+ setuptools3_do_install
+ fi
+}
+
+RDEPENDS:${PN}-ptest += " ${PN}-python bash make iproute2 iputils-ping procps python3-core python3-ctypes python3-json python3-misc sed util-linux"
+
+TESTDIR = "tests"
+
+PRIVATE_LIBS:${PN}-ptest:append = " libnftables.so.1"
+
+do_install_ptest() {
+ cp -rf ${S}/build-aux ${D}${PTEST_PATH}
+ cp -rf ${S}/src ${D}${PTEST_PATH}
+ mkdir -p ${D}${PTEST_PATH}/src/.libs
+ cp -rf ${B}/src/.libs/* ${D}${PTEST_PATH}/src/.libs
+ cp -rf ${B}/src/.libs/nft ${D}${PTEST_PATH}/src/
+ cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH}/${TESTDIR}
+ sed -i 's#/usr/bin/python#/usr/bin/python3#' ${D}${PTEST_PATH}/${TESTDIR}/json_echo/run-test.py
+ sed -i 's#/usr/bin/env python#/usr/bin/env python3#' ${D}${PTEST_PATH}/${TESTDIR}/py/nft-test.py
+ # handle multilib
+ sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest
+}
diff --git a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_1.0.20210914.bb b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_1.0.20210914.bb
index 2043533..8def54e 100644
--- a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_1.0.20210914.bb
+++ b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_1.0.20210914.bb
@@ -11,24 +11,22 @@
oe_runmake DESTDIR="${D}" PREFIX="${prefix}" SYSCONFDIR="${sysconfdir}" \
SYSTEMDUNITDIR="${systemd_system_unitdir}" \
WITH_SYSTEMDUNITS=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'yes', '', d)} \
- WITH_BASHCOMPLETION=yes \
- WITH_WGQUICK=yes \
+ ${PACKAGECONFIG_CONFARGS} \
install
}
-PACKAGES += "${PN}-wg-quick"
+PACKAGECONFIG ??= "bash-completion wg-quick"
+
+PACKAGECONFIG[bash-completion] = "WITH_BASHCOMPLETION=yes,WITH_BASHCOMPLETION=no,,bash,,"
+PACKAGECONFIG[wg-quick] = "WITH_WGQUICK=yes,WITH_WGQUICK=no,,bash,,"
FILES:${PN} = " \
${bindir}/wg \
${sysconfdir} \
-"
-FILES:${PN}-wg-quick = " \
${bindir}/wg-quick \
${systemd_system_unitdir} \
"
-RDEPENDS:${PN}-wg-quick = "${PN} bash"
RRECOMMENDS:${PN} = " \
kernel-module-wireguard \
- ${PN}-wg-quick \
"
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp/0001-ftp-include-sys-types.h-for-u_long.patch b/meta-openembedded/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp/0001-ftp-include-sys-types.h-for-u_long.patch
deleted file mode 100644
index 2cd639e..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp/0001-ftp-include-sys-types.h-for-u_long.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 2ee0c51d81a0a08d64b64ab624074e5f7cd9615a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 15 Jul 2017 00:07:32 -0700
-Subject: [PATCH] ftp: include sys/types.h for u_long
-
-fixes
-ftp.c:1091:2: error: unknown type name 'u_long'; did you mean 'long'?
- u_long a1,a2,a3,a4,p1,p2;
- ^~~~~~
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- ftp/ftp.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/ftp/ftp.c b/ftp/ftp.c
-index 7a56af6..5dcb513 100644
---- a/ftp/ftp.c
-+++ b/ftp/ftp.c
-@@ -43,6 +43,7 @@ char ftp_rcsid[] =
- #include <sys/socket.h>
- #include <sys/time.h>
- #include <sys/file.h>
-+#include <sys/types.h>
-
- #include <netinet/in.h>
- #include <netinet/ip.h>
---
-2.13.3
-
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp/Add_ARG_MAX_define.patch b/meta-openembedded/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp/Add_ARG_MAX_define.patch
deleted file mode 100644
index 5db0048..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp/Add_ARG_MAX_define.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-This adds ARG_MAX define to be _SC_ARG_MAX
-
-Upstream-Status: Inappropriate [Most distros have their own verion for this fix]
-
-Signed-off-by: Armin Kuster <akuster808@gmail.com>
-
-Index: netkit-ftp-0.17/ftp/glob.c
-===================================================================
---- netkit-ftp-0.17.orig/ftp/glob.c
-+++ netkit-ftp-0.17/ftp/glob.c
-@@ -50,6 +50,7 @@ char glob_rcsid[] =
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
-+#include <unistd.h>
-
- #include "ftp_var.h" /* for protos only */
- #include "glob.h"
-@@ -57,6 +58,9 @@ char glob_rcsid[] =
- #define QUOTE 0200
- #define TRIM 0177
- #define eq(a,b) (strcmp(a, b)==0)
-+#ifndef ARG_MAX
-+#define ARG_MAX (sysconf(_SC_ARG_MAX))
-+#endif
- #define GAVSIZ (ARG_MAX/6)
- #define isdir(d) ((d.st_mode & S_IFMT) == S_IFDIR)
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb b/meta-openembedded/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb
deleted file mode 100644
index 31fdd9e..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-ftp/netkit-ftp_0.17.bb
+++ /dev/null
@@ -1,50 +0,0 @@
-DESCRIPTION = "netkit-ft includes the ftp client."
-SECTION = "net"
-HOMEPAGE="ftp://ftp.uk.linux.org/pub/linux/Networking/netkit"
-LICENSE = "BSD-4-Clause"
-
-LIC_FILES_CHKSUM = "file://ftp/ftp.c;beginline=2;endline=3;md5=2d40a75a50d83b8f6317b3f53db72bfa"
-
-SRC_URI = "${DEBIAN_MIRROR}/main/n/netkit-ftp/netkit-ftp_${PV}.orig.tar.gz;name=archive \
- ${DEBIAN_MIRROR}/main/n/netkit-ftp/netkit-ftp_${PV}-34.debian.tar.xz;name=patch34 \
- file://Add_ARG_MAX_define.patch \
- file://0001-ftp-include-sys-types.h-for-u_long.patch \
- "
-SRC_URI[archive.sha256sum] = "61c913299b81a4671ff089aac821329f7db9bc111aa812993dd585798b700349"
-SRC_URI[patch34.sha256sum] = "716b984bc6926ed98345fa4e68adcee2efcf08d0f7315d6be8ad6de76f255748"
-
-inherit autotools-brokensep update-alternatives
-
-CLEANBROKEN = "1"
-
-do_configure () {
- ./configure --prefix=${prefix}
- echo "LDFLAGS=${LDFLAGS}" >> MCONFIG
-}
-
-BINMODE = "0755"
-MANMODE = "0644"
-
-do_install () {
- install -d ${D}${bindir}
- install -d ${D}${mandir}/man1
- install -d ${D}${mandir}/man5
-
- install -m${BINMODE} ${S}/ftp/ftp ${D}${bindir}
- ln -sf ftp ${D}${bindir}/pftp
- install -m${MANMODE} ${S}/ftp/ftp.1 ${D}${mandir}/man1
- ln -sf ftp.1 ${D}${mandir}/man1/pftp.1
- install -m${MANMODE} ${S}/ftp/netrc.5 ${D}${mandir}/man5
-}
-
-PACKAGES = "${PN} ${PN}-doc ${BPN}-dbg"
-FILES:${PN} = "${bindir}/*"
-FILES:${PN}-doc = "${mandir}"
-FILES:${PN}-dbg = "${prefix}/src/debug \
- ${bindir}/.debug"
-
-RDEPENDS:${PN} = "readline"
-
-ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE:${PN} = "ftp"
-ALTERNATIVE_LINK_NAME[ftp] = "${bindir}/ftp"
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc/0001-rpcgen-Fix-printf-formats.patch b/meta-openembedded/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc/0001-rpcgen-Fix-printf-formats.patch
deleted file mode 100644
index 508db6a..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc/0001-rpcgen-Fix-printf-formats.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 439e3e35f7fcbff1abb782de4b19b31e43ae3449 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 27 Jun 2017 09:59:19 -0700
-Subject: [PATCH] rpcgen: Fix printf formats
-
-Fixes build with hardening flags
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- rpcgen/rpc_hout.c | 2 +-
- rpcgen/rpc_tblout.c | 4 ++--
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/rpcgen/rpc_hout.c b/rpcgen/rpc_hout.c
-index 0ef52df..09a7b57 100644
---- a/rpcgen/rpc_hout.c
-+++ b/rpcgen/rpc_hout.c
-@@ -474,7 +474,7 @@ pdeclaration(const char *name, declaration *dec, int tab,
- break;
- }
- }
-- f_print(fout, separator );
-+ f_print(fout, "%s", separator );
- }
-
- static int
-diff --git a/rpcgen/rpc_tblout.c b/rpcgen/rpc_tblout.c
-index d64bfde..fd62a52 100644
---- a/rpcgen/rpc_tblout.c
-+++ b/rpcgen/rpc_tblout.c
-@@ -99,7 +99,7 @@ write_table(const definition *def)
- }
- else {
- expected = 1;
-- f_print(fout, null_entry);
-+ f_print(fout, "%s", null_entry);
- }
- for (proc = vp->procs; proc != NULL; proc = proc->next) {
- current = atoi(proc->proc_num);
-@@ -139,7 +139,7 @@ write_table(const definition *def)
- }
-
- /* print the table trailer */
-- f_print(fout, tbl_end);
-+ f_print(fout, "%s", tbl_end);
- f_print(fout, tbl_nproc, progvers, progvers, progvers);
- }
- }
---
-2.13.2
-
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc/gcc4.patch b/meta-openembedded/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc/gcc4.patch
deleted file mode 100644
index 83bcc4b..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc/gcc4.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-This fixes an issue when building with gcc 4.x
-
-https://github.com/openembedded/openembedded/tree/master/recipes/netkit-rpc/netkit-rpc
-
-Upstream-Status: Backport
-
-Signed-off-by: Armin Kuster <akuster808@gmail.com>
-
---- netkit-rpc-0.17/rpcgen/rpc_cout.c~gcc4
-+++ netkit-rpc-0.17/rpcgen/rpc_cout.c
-@@ -101,8 +101,6 @@
- case DEF_TYPEDEF:
- emit_typedef(def);
- break;
-- default:
-- /* can't happen */
- }
- print_trailer();
- }
-@@ -664,9 +662,6 @@
- decl->name,decl->array_max);
- emit_single_in_line(decl,flag,REL_VECTOR);
- f_print(fout,"\t\t }\n\t\t };\n");
--
-- default:
-- /* ?... do nothing I guess */
- }
- }
-
---- netkit-rpc-0.17/rpcgen/rpc_hout.c~gcc4
-+++ netkit-rpc-0.17/rpcgen/rpc_hout.c
-@@ -106,8 +106,6 @@
- f_print(fout, "\n");
- pprogramdef(def);
- break;
-- default:
-- /* ?... shouldn't happen I guess */
- }
- }
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc_0.17.bb b/meta-openembedded/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc_0.17.bb
deleted file mode 100644
index cb05645..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-rpc/netkit-rpc_0.17.bb
+++ /dev/null
@@ -1,51 +0,0 @@
-DESCRIPTION = "netkit-rpc includes rpcinfo and rpcgen."
-HOMEPAGE = "http://ftp.linux.org.uk/pub/linux/Networking/netkit"
-SECTION = "net"
-LICENSE = "SPL-1.0"
-LIC_FILES_CHKSUM = "file://rpcinfo/rpcinfo.c;beginline=2;endline=3;md5=3e6339e3ce266e1122c5ba293e04bc89"
-
-DEPENDS += "libtirpc"
-SRC_URI = "http://sources.openembedded.org/${BPN}-${PV}.tar.gz \
- file://gcc4.patch \
- file://0001-rpcgen-Fix-printf-formats.patch \
- "
-SRC_URI[md5sum] = "67212720482ea1aea9182a98653a9642"
-SRC_URI[sha256sum] = "421d63b414162237a72867061f1bd3e3752a0d962cd5d30b5e933ddad8a14d3b"
-
-inherit update-alternatives
-
-CFLAGS += "-I${STAGING_INCDIR}/tirpc"
-LIBS += "-ltirpc"
-
-do_configure () {
- ./configure --prefix=${prefix}
- echo "LDFLAGS=${LDFLAGS}" > MCONFIG
- echo "CC=${CC}" >> MCONFIG
- echo "LD=${LD}" >> MCONFIG
- echo "CFLAGS=${CFLAGS}" >> MCONFIG
- echo "LDFLAGS=${LDFLAGS}" >> MCONFIG
- echo "LIBS=${LIBS}" >> MCONFIG
-}
-
-do_compile () {
- oe_runmake 'CC=${CC}' 'LD=${LD}' 'LDFLAGS=${LDFLAGS}'
-}
-
-do_install () {
- install -d ${D}${bindir}
- install -d ${D}${mandir}/man1
- install -d ${D}${mandir}/man8
-
- # remove strip flag
- sed -i 's/install -s/install/' rpcinfo/Makefile
- sed -i 's/install -s/install/' rpcgen/Makefile
-
- oe_runmake 'INSTALLROOT=${D}' 'BINMODE=0755' \
- 'DAEMONMODE=0755' 'MANMODE=0644' \
- 'BINDIR=${bindir}' 'SBINDIR=${sbindir}' \
- 'MANDIR=${mandir}' install
-}
-ALTERNATIVE_PRIORITY = "100"
-
-ALTERNATIVE:${PN} = "rpcinfo"
-ALTERNATIVE_LINK_NAME[rpcinfo] = "${bindir}/rpcinfo"
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/CVE-2019-7282-and-CVE-2019-7283.patch b/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/CVE-2019-7282-and-CVE-2019-7283.patch
deleted file mode 100644
index 285667b..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/CVE-2019-7282-and-CVE-2019-7283.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From a7831a16c3e0e1463d5eb08a58af152cb75ca976 Mon Sep 17 00:00:00 2001
-From: Yi Zhao <yi.zhao@windriver.com>
-Date: Mon, 15 Apr 2019 06:05:58 +0000
-Subject: [PATCH] Fix CVE-2019-7282 and CVE-2019-7283
-
-Description: Fix CVE-2018-20685 and CVE-2019-6111
-Bug-Debian: https://bugs.debian.org/920486
-Origin: https://github.com/openssh/openssh-portable/commit/6010c0303a422a9c5fa8860c061bf7105eb7f8b2#diff-9f340c228413d5a9a9206ea2ed2bc624R1114
-
-Upstream-Status: Backport [Debian]
-[https://sources.debian.org/src/netkit-rsh/0.17-20/debian/patches/fix-CVE-2018-20685-and-CVE-2019-6111.patch]
-
-CVE: CVE-2019-7282 CVE-2019-7283
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- rcp/rcp.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/rcp/rcp.c b/rcp/rcp.c
-index ca61c18..77d8ff8 100644
---- a/rcp/rcp.c
-+++ b/rcp/rcp.c
-@@ -740,6 +740,11 @@ sink(int argc, char *argv[])
- size = size * 10 + (*cp++ - '0');
- if (*cp++ != ' ')
- SCREWUP("size not delimited");
-+ if (*cp == '\0' || strchr(cp, '/') != NULL ||
-+ strcmp(cp, ".") == 0 || strcmp(cp, "..") == 0) {
-+ error("error: unexpected filename: %s", cp);
-+ exit(1);
-+ }
- if (targisdir) {
- static char *namebuf;
- static int cursize;
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/fix-host-variable.patch b/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/fix-host-variable.patch
deleted file mode 100644
index 1d3631d..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/fix-host-variable.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-fix host variable when rsh is renamed to other.
-
-Upstream-Status: Pending
-
-If rsh is renamed to other, like rsh.netkit, host variable is assigned to
-rsh.netkit, which is wrong.
-
-Signed-off-by: Roy.Li <rongqing.li@windriver.com>
----
- rsh/rsh.c | 1 -
- 1 files changed, 0 insertions(+), 1 deletions(-)
-
-diff --git a/rsh/rsh.c b/rsh/rsh.c
-index ac594f9..11f533e 100644
---- a/rsh/rsh.c
-+++ b/rsh/rsh.c
-@@ -100,7 +100,6 @@ main(int argc, char *argv[])
- #else
- if (!strcmp(p, "rsh")) asrsh = 1;
- #endif
-- else host = p;
-
- /* handle "rsh host flags" */
- if (!host && argc > 2 && argv[1][0] != '-') {
---
-1.7.5.4
-
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/fixup_wait3_api_change.patch b/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/fixup_wait3_api_change.patch
deleted file mode 100644
index c6e2e60..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/fixup_wait3_api_change.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-Fix build issue do to Deprecate union wait and remove support from wait functions [BZ #19613]
-
-| rlogin.c: In function 'catch_child':
-| rlogin.c:463:13: error: storage size of 'status' isn't known
-| union wait status;
-
-https://sourceware.org/ml/libc-alpha/2016-02/msg00342.html
-
-Upstream-Status: Inappropriate [ no upstream maintaner ]
-
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
-Index: netkit-rsh-0.17/rlogin/rlogin.c
-===================================================================
---- netkit-rsh-0.17.orig/rlogin/rlogin.c
-+++ netkit-rsh-0.17/rlogin/rlogin.c
-@@ -460,7 +460,7 @@ writeroob(int ignore)
- void
- catch_child(int ignore)
- {
-- union wait status;
-+ int status;
- int pid;
-
- (void)ignore;
-@@ -471,7 +471,7 @@ catch_child(int ignore)
- return;
- /* if the child (reader) dies, just quit */
- if (pid < 0 || (pid == childpid && !WIFSTOPPED(status)))
-- done((int)(status.w_termsig | status.w_retcode));
-+ done((int)(WTERMSIG(status) | WEXITSTATUS(status)));
- }
- /* NOTREACHED */
- }
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/netkit-rsh-0.17-rexec-ipv6.patch b/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/netkit-rsh-0.17-rexec-ipv6.patch
deleted file mode 100644
index 7afd708..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/netkit-rsh-0.17-rexec-ipv6.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-make rexec support ipv6
-
-Upstream-Status: Pending
-
-rexec equals rexec_af(... ,AF_INET) which only support ipv4,
-use rexec_af(..., AF_UNSPEC) to support both ipv6 and ipv4.
-
-Signed-off-by: Roy.Li <rongqing.li@windriver.com>
----
- rexec/rexec.c | 4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/rexec/rexec.c b/rexec/rexec.c
-index 0913c02..9c8f769 100644
---- a/rexec/rexec.c
-+++ b/rexec/rexec.c
-@@ -214,8 +214,8 @@ int main(int argc, char *argv[])
- passwd = getpass("Password: ");
- }
-
-- if ( (sock = rexec(&host, port_exec, user_name, passwd, command,
-- p_to_aux_sock)) < 0 )
-+ if ( (sock = rexec_af(&host, port_exec, user_name, passwd, command,
-+ p_to_aux_sock, AF_UNSPEC)) < 0 )
- {
- fprintf(stderr,"%s: Error in rexec system call: ",argv[0]);
- perror(NULL);
---
-1.7.4.1
-
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/no_pam_build_fix.patch b/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/no_pam_build_fix.patch
deleted file mode 100644
index fdd535b..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/no_pam_build_fix.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-netkit-rsh:
-Allow to build with no PAM enabled.
-
-Upstream-Status: Inappropriate [ no upstream maintaner ]
-
-Signed-off-by: Armin Kuster <akuster808@gmail.com>
-
-Index: netkit-rsh-0.17/rshd/rshd.c
-===================================================================
---- netkit-rsh-0.17.orig/rshd/rshd.c
-+++ netkit-rsh-0.17/rshd/rshd.c
-@@ -110,9 +110,11 @@ extern char **environ;
- static void error(const char *fmt, ...);
- static void doit(struct sockaddr *fromp, socklen_t fromlen);
- static char *getstr(char *, size_t, const char *);
-+#ifdef USE_PAM
- static int err_conv(
- int, const struct pam_message **, struct pam_response **, void *
- );
-+#endif /* USE_PAM */
-
- extern int _check_rhosts_file;
-
-@@ -256,6 +258,7 @@ static void stderr_parent(int sock, int
- }
-
-
-+#ifdef USE_PAM
- static int err_conv(
- int num_msg, const struct pam_message **msg,
- struct pam_response **resp, void *appdata_ptr
-@@ -266,6 +269,7 @@ static int err_conv(
- (void) appdata_ptr;
- return PAM_CONV_ERR;
- }
-+#endif
-
- static struct passwd *doauth(const char *remuser,
- const char *hostname,
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rexec.pam b/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rexec.pam
deleted file mode 100644
index 94e5dda..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rexec.pam
+++ /dev/null
@@ -1,10 +0,0 @@
-#%PAM-1.0
-# For root login to succeed here with pam_securetty, "rexec" must be
-# listed in /etc/securetty.
-auth required pam_nologin.so
-auth required pam_env.so
-auth include common-auth
-account include common-account
-session optional pam_keyinit.so force revoke
-session include common-session
-session required pam_loginuid.so
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rexec.xinetd.netkit b/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rexec.xinetd.netkit
deleted file mode 100644
index 7354360..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rexec.xinetd.netkit
+++ /dev/null
@@ -1,20 +0,0 @@
-# default: off
-# description:
-# Rexecd is the server for the rexec program. The server provides remote
-# execution facilities with authentication based on user names and
-# passwords.
-#
-service exec
-{
- socket_type = stream
- protocol = tcp
- flags = NAMEINARGS
- wait = no
- user = root
- group = root
- log_on_success += USERID
- log_on_failure += USERID
- server = /usr/sbin/tcpd
- server_args = /usr/sbin/in.rexecd
- disable = yes
-}
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rlogin.pam b/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rlogin.pam
deleted file mode 100644
index b30f139..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rlogin.pam
+++ /dev/null
@@ -1,12 +0,0 @@
-#%PAM-1.0
-# For root login to succeed here with pam_securetty, "rlogin" must be
-# listed in /etc/securetty.
-auth required pam_nologin.so
-auth required pam_securetty.so
-auth required pam_env.so
-auth include common-auth
-account include common-account
-password include common-password
-session optional pam_keyinit.so force revoke
-session include common-session
-session required pam_loginuid.so
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rlogin.xinetd.netkit b/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rlogin.xinetd.netkit
deleted file mode 100644
index 70493e6..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rlogin.xinetd.netkit
+++ /dev/null
@@ -1,23 +0,0 @@
-# default: off
-# description:
-# Rlogind is a server for the rlogin program. The server provides remote
-# execution with authentication based on privileged port numbers from trusted
-# host
-#
-service login
-{
- socket_type = stream
- protocol = tcp
- flags = NAMEINARGS
- wait = no
- user = root
- group = root
- log_on_success += USERID
- log_on_failure += USERID
- server = /usr/sbin/tcpd
- server_args = /usr/sbin/in.rlogind -a
- disable = yes
-}
-
-
-
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rsh-redone_link_order_file.patch b/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rsh-redone_link_order_file.patch
deleted file mode 100644
index ab0b9b6..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rsh-redone_link_order_file.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-This fixes a build issue caused by linking order.
-
-Upstream-Status: Inappropriate
-Most distos have there own verison of this fix. This was derived by
-* Fix link order to list libraries after the objects that require them
-(LP: #771080).
-
--- Colin Watson <cjwatson@ubuntu.com> Tue, 13 Sep 2011 10:07:08 +0100
-
-
-Signed-off-by: Armin Kuster <akuster808@gmail.com>
-
-Index: netkit-rsh-0.17/rsh/Makefile
-===================================================================
---- netkit-rsh-0.17.orig/rsh/Makefile
-+++ netkit-rsh-0.17/rsh/Makefile
-@@ -6,7 +6,7 @@ include ../MRULES
- OBJS = rsh.o
-
- rsh: $(OBJS)
-- $(CC) $(LDFLAGS) $^ $(LIBS) -o $@
-+ $(CC) $^ -o $@ $(LDFLAGS) $(LIBS)
-
- install: rsh
- install -o root -m$(SUIDMODE) rsh $(INSTALLROOT)$(BINDIR)
-Index: netkit-rsh-0.17/rshd/Makefile
-===================================================================
---- netkit-rsh-0.17.orig/rshd/Makefile
-+++ netkit-rsh-0.17/rshd/Makefile
-@@ -11,7 +11,7 @@ LIBS += -ldl -lpam
- endif
-
- rshd: $(OBJS)
-- $(CC) $(LDFLAGS) $^ $(LIBS) -o $@
-+ $(CC) $^ -o $@ $(LDFLAGS) $(LIBS)
-
- install: rshd
- install -m$(DAEMONMODE) rshd $(INSTALLROOT)$(SBINDIR)/in.rshd
-Index: netkit-rsh-0.17/rlogin/Makefile
-===================================================================
---- netkit-rsh-0.17.orig/rlogin/Makefile
-+++ netkit-rsh-0.17/rlogin/Makefile
-@@ -7,7 +7,7 @@ PROG=rlogin
- OBJS=rlogin.o
-
- $(PROG): $(OBJS)
-- $(CC) $(LDFLAGS) $^ $(LIBS) -o $@
-+ $(CC) $^ -o $@ $(LDFLAGS) $(LIBS)
-
- install: $(PROG)
- install -o root -m$(SUIDMODE) $(PROG) $(INSTALLROOT)$(BINDIR)
-Index: netkit-rsh-0.17/rlogind/Makefile
-===================================================================
---- netkit-rsh-0.17.orig/rlogind/Makefile
-+++ netkit-rsh-0.17/rlogind/Makefile
-@@ -13,7 +13,7 @@ LIBS += -ldl -lpam -lpam_misc
- endif
-
- rlogind: $(OBJS)
-- $(CC) $(LDFLAGS) $^ $(LIBS) -o $@
-+ $(CC) $^ -o $@ $(LDFLAGS) $(LIBS)
-
- rlogind.o: pathnames.h logwtmp.h rlogind.h ../version.h
- logwtmp.o: logwtmp.h
-Index: netkit-rsh-0.17/rexecd/Makefile
-===================================================================
---- netkit-rsh-0.17.orig/rexecd/Makefile
-+++ netkit-rsh-0.17/rexecd/Makefile
-@@ -24,7 +24,7 @@ endif
- CFLAGS += -DRESTRICT_FTP=1
-
- rexecd: rexecd.o
-- $(CC) $(LDFLAGS) $^ $(LIBS) -o $@
-+ $(CC) $^ -o $@ $(LDFLAGS) $(LIBS)
-
- install: rexecd
- install -m$(DAEMONMODE) rexecd $(INSTALLROOT)$(SBINDIR)/in.rexecd
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rsh.pam b/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rsh.pam
deleted file mode 100644
index 072327a..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rsh.pam
+++ /dev/null
@@ -1,10 +0,0 @@
-#%PAM-1.0
-# For root login to succeed here with pam_securetty, "rsh" must be
-# listed in /etc/securetty.
-auth required pam_nologin.so
-auth required pam_securetty.so
-auth required pam_env.so
-account include common-account
-session optional pam_keyinit.so force revoke
-session include common-session
-session required pam_loginuid.so
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rsh.xinetd.netkit b/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rsh.xinetd.netkit
deleted file mode 100644
index a842eb9..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh/rsh.xinetd.netkit
+++ /dev/null
@@ -1,21 +0,0 @@
-# default: off
-# description:
-# The rshd server is a server for the rcmd(3) routine and,
-# consequently, for the rsh(1) program. The server provides
-# remote execution facilities with authentication based on
-# privileged port numbers from trusted hosts.
-#
-service shell
-{
- socket_type = stream
- protocol = tcp
- flags = NAMEINARGS
- wait = no
- user = root
- group = root
- log_on_success += USERID
- log_on_failure += USERID
- server = /usr/sbin/tcpd
- server_args = /usr/sbin/in.rshd -aL
- disable = yes
-}
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb b/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb
deleted file mode 100644
index 5ea553e..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb
+++ /dev/null
@@ -1,105 +0,0 @@
-DESCRIPTION = "netkit-rsh includes the rsh daemon and client."
-SECTION = "net"
-HOMEPAGE="ftp://ftp.uk.linux.org/pub/linux/Networking/netkit"
-LICENSE = "BSD-4-Clause"
-DEPENDS = "xinetd libgcrypt virtual/crypt"
-
-LIC_FILES_CHKSUM = "file://rsh/rsh.c;endline=32;md5=487b3c637bdc181d32b2a8543d41b606"
-
-SRC_URI = "${DEBIAN_MIRROR}/main/n/netkit-rsh/netkit-rsh_${PV}.orig.tar.gz;name=archive \
- ${DEBIAN_MIRROR}/main/n/netkit-rsh/netkit-rsh_${PV}-15.diff.gz;name=patch15 \
- file://rsh-redone_link_order_file.patch \
- file://no_pam_build_fix.patch \
- file://rexec.xinetd.netkit \
- file://rlogin.xinetd.netkit \
- file://rsh.xinetd.netkit \
- file://netkit-rsh-0.17-rexec-ipv6.patch \
- file://fix-host-variable.patch \
- file://fixup_wait3_api_change.patch \
- file://CVE-2019-7282-and-CVE-2019-7283.patch \
-"
-
-SRC_URI[archive.md5sum] = "65f5f28e2fe22d9ad8b17bb9a10df096"
-SRC_URI[archive.sha256sum] = "edcac7fa18015f0bc04e573f3f54ae3b638d71335df1ad7dae692779914ad669"
-SRC_URI[patch15.md5sum] = "655efc0d541b03ca5de0ae506c805ea3"
-SRC_URI[patch15.sha256sum] = "2bc071c438e8b0ed42a0bd2db2d8b681b27a1e9b1798694d9874733293bc2aa9"
-
-# Other support files
-PAM_SRC_URI = "file://rexec.pam \
- file://rlogin.pam \
- file://rsh.pam \
-"
-SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)}"
-
-inherit pkgconfig update-alternatives
-
-CFLAGS += " -D_GNU_SOURCE -Wno-deprecated-declarations"
-LDFLAGS += " -L${STAGING_LIBDIR} -lutil -lcrypt"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG:append = " ${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
-PACKAGECONFIG[pam] = " , --without-pam, libpam, libpam"
-
-COMPATIBLE_HOST:libc-musl = 'null'
-
-do_configure () {
- ./configure --prefix=${prefix} --exec-prefix=${exec_prefix}
- echo "INSTALLROOT=${D}" > MCONFIG
-
- if [ "${@bb.utils.filter('PACKAGECONFIG', 'pam', d)}" ]; then
- echo "USE_PAM=1" >> MCONFIG
- fi
-
- # didn't want to patch these next changes
- sed -i 's/netkit-//' ${S}/rsh/pathnames.h
- sed -i 's/netkit-//' ${S}/rcp/pathnames.h
-}
-
-do_install () {
- install -d ${D}${bindir}
- install -d ${D}${sbindir}
- install -d ${D}${mandir}/man1
- install -d ${D}${mandir}/man8
- install -d ${D}${sysconfdir}/xinetd.d
-
- oe_runmake 'INSTALLROOT=${D}' 'BINMODE=0755' \
- 'DAEMONMODE=0755' 'MANMODE=0644' \
- 'SUIDMODE=4755' \
- 'BINDIR=${bindir}' 'SBINDIR=${sbindir}' \
- 'MANDIR=${mandir}' install
-
- if [ "${@bb.utils.filter('PACKAGECONFIG', 'pam', d)}" ]; then
- install -d ${D}${sysconfdir}/pam.d
- install -m 0644 debian/hosts.equiv ${D}/${sysconfdir}
- install -m 0644 ${WORKDIR}/rexec.pam ${D}/${sysconfdir}/pam.d/rexec
- install -m 0644 ${WORKDIR}/rlogin.pam ${D}/${sysconfdir}/pam.d/rlogin
- install -m 0644 ${WORKDIR}/rsh.pam ${D}/${sysconfdir}/pam.d/rsh
- fi
- cp ${WORKDIR}/rexec.xinetd.netkit ${D}/${sysconfdir}/xinetd.d/rexec
- cp ${WORKDIR}/rlogin.xinetd.netkit ${D}/${sysconfdir}/xinetd.d/rlogin
- cp ${WORKDIR}/rsh.xinetd.netkit ${D}/${sysconfdir}/xinetd.d/rsh
-}
-
-PACKAGES = "${PN}-client ${PN}-server ${PN}-doc ${BPN}-dbg"
-
-FILES:${PN}-client = "${bindir}/*"
-FILES:${PN}-server = "${sbindir}/* ${sysconfdir}"
-FILES:${PN}-doc = "${mandir}"
-FILES:${PN}-dbg = "${prefix}/src/debug \
- ${sbindir}/.debug ${bindir}/.debug"
-
-ALTERNATIVE_PRIORITY = "80"
-ALTERNATIVE:${PN}-client = "rcp rexec rlogin rsh"
-ALTERNATIVE:${PN}-server = "rshd rexecd rlogind"
-ALTERNATIVE_LINK_NAME[server] = "${bindir}/rshd"
-ALTERNATIVE_TARGET[rshd] = "${sbindir}/in.rshd"
-ALTERNATIVE_LINK_NAME[rexecd] = "${bindir}/rexecd"
-ALTERNATIVE_TARGET[rexecd] = "${sbindir}/in.rexecd"
-ALTERNATIVE_LINK_NAME[rlogind] = "${bindir}/rlogind"
-ALTERNATIVE_TARGET[rlogind] = "${sbindir}/in.rlogind"
-
-RCONFLICTS:${PN}-server += "inetutils-rshd"
-RPROVIDES:${PN}-server = "rshd"
-
-RDEPENDS:${PN}-server = "xinetd"
-RDEPENDS:${PN}-server += "tcp-wrappers"
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers/0001-Link-with-libtirpc.patch b/meta-openembedded/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers/0001-Link-with-libtirpc.patch
deleted file mode 100644
index 3655a57..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers/0001-Link-with-libtirpc.patch
+++ /dev/null
@@ -1,120 +0,0 @@
-From 5746b68ba9dda87586b3ac88fe84031cbc0015f7 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 11 May 2018 12:20:03 -0700
-Subject: [PATCH] Link with libtirpc
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- configure | 2 +-
- rpc.rusersd/rusers_proc.c | 7 +------
- rpc.rusersd/rusersd.c | 6 +-----
- rup/rup.c | 2 +-
- 4 files changed, 4 insertions(+), 13 deletions(-)
-
---- a/configure
-+++ b/configure
-@@ -92,7 +92,6 @@ else
- echo -n 'Checking if C compiler works... '
- if (
- $CC __conftest.c -o __conftest || exit 1
-- ./__conftest || exit 1
- ) >/dev/null 2>&1; then
- echo 'yes'
- else
-@@ -146,8 +145,7 @@ else
-
- fi
-
--LDFLAGS=
--LIBS=
-+LIBS="$LIBS -ltirpc"
-
- rm -f __conftest*
-
-@@ -172,13 +170,11 @@ int main() {
- EOF
- if (
- $CC $CFLAGS __conftest.c -o __conftest || exit 1
-- ./__conftest || exit 1
- ) >/dev/null 2>&1; then
- echo 'yes'
- else
- if (
- $CC $CFLAGS -D__USE_BSD_SIGNAL __conftest.c -o __conftest || exit 1
-- ./__conftest || exit 1
- ) >/dev/null 2>&1; then
- echo '-D__USE_BSD_SIGNAL'
- CFLAGS="$CFLAGS -D__USE_BSD_SIGNAL"
-@@ -231,7 +227,6 @@ if (
- else
- if (
- $CC $CFLAGS -D_GNU_SOURCE __conftest.c -o __conftest || exit 1
-- ./__conftest || exit 1
- ) >/dev/null 2>&1; then
- echo '-D_GNU_SOURCE'
- CFLAGS="$CFLAGS -D_GNU_SOURCE"
-@@ -262,20 +257,17 @@ int main() {
- EOF
- if (
- $CC $CFLAGS __conftest.c $LIBBSD -o __conftest || exit 1
-- ./__conftest || exit 1
- ) >/dev/null 2>&1; then
- echo 'ok'
- else
- if (
- $CC $CFLAGS __conftest.c -lsnprintf $LIBBSD -o __conftest || exit 1
-- ./__conftest || exit 1
- ) >/dev/null 2>&1; then
- echo '-lsnprintf'
- LIBS="$LIBS -lsnprintf"
- else
- if (
- $CC $CFLAGS __conftest.c -ldb $LIBBSD -o __conftest || exit 1
-- ./__conftest || exit 1
- ) >/dev/null 2>&1; then
- echo '-ldb'
- LIBS="$LIBS -ldb"
---- a/rpc.rusersd/rusers_proc.c
-+++ b/rpc.rusersd/rusers_proc.c
-@@ -57,12 +57,7 @@ char rp_rcsid[] =
- #define RUT_TIME ut_time
- #endif
-
--/* Glibc strikes again */
--#ifdef __GLIBC__
-- #include <rpcsvc/rusers.h>
--#else
-- #include "rusers.h"
--#endif
-+#include "rusers.h"
-
- void rusers_service(struct svc_req *rqstp, SVCXPRT *transp);
-
---- a/rpc.rusersd/rusersd.c
-+++ b/rpc.rusersd/rusersd.c
-@@ -38,11 +38,7 @@ char rusersd_rcsid[] =
- #include <rpc/pmap_clnt.h>
- #include <unistd.h>
- #include <grp.h>
--#ifdef __GLIBC__
-- #include <rpcsvc/rusers.h>
--#else
-- #include "rusers.h"
--#endif
-+#include "rusers.h"
-
- #include "../version.h"
-
---- a/rup/rup.c
-+++ b/rup/rup.c
-@@ -48,7 +48,7 @@ char rcsid[] = "$Id: rup.c,v 1.8 2000/07
-
- #undef FSHIFT /* Use protocol's shift and scale values */
- #undef FSCALE
--#include <rpcsvc/rstat.h>
-+#include "rstat.h"
-
- #include "../version.h"
-
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers/rpc.rusersd-Makefile-fix-parallel-build-issue.patch b/meta-openembedded/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers/rpc.rusersd-Makefile-fix-parallel-build-issue.patch
deleted file mode 100644
index d85178d..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers/rpc.rusersd-Makefile-fix-parallel-build-issue.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From c23cc112a480f90950de5cf1de09b1a7e732bf21 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Mon, 15 Dec 2014 18:31:13 -0800
-Subject: [PATCH] rpc.rusersd/Makefile: fix parallel build issue
-
-Fixed:
-rusers.x: No such file or directory
-Makefile:44: recipe for target 'rusers_xdr.c' failed
-
-Upstream-Status: Pending
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- rpc.rusersd/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/rpc.rusersd/Makefile b/rpc.rusersd/Makefile
-index 792f528..65a424a 100644
---- a/rpc.rusersd/Makefile
-+++ b/rpc.rusersd/Makefile
-@@ -40,5 +40,5 @@ rusers.x:
- rusers.h: $(RUSERSX) rusers.x
- $(RPCGEN) -h -o rusers.h rusers.x
-
--rusers_xdr.c: $(RUSERSX)
-+rusers_xdr.c: $(RUSERSX) rusers.x
- $(RPCGEN) -c -C -o rusers_xdr.c rusers.x
---
-1.7.9.5
-
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers_0.17.bb b/meta-openembedded/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers_0.17.bb
deleted file mode 100644
index c45cbcd..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers_0.17.bb
+++ /dev/null
@@ -1,72 +0,0 @@
-DESCRIPTION = "netkit-rusers includes rusers - Displays who is logged in to machines on local network \
- rusersd - Logged in users server"
-HOMEPAGE = "ftp://ftp.uk.linux.org/pub/linux/Networking/netkit"
-SECTION = "net"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://rusers/rusers.c;beginline=2;endline=3;md5=f4fc634a4ce8c569911196b72b10770e"
-DEPENDS = " tcp-wrappers libtirpc rpcbind rpcsvc-proto rpcsvc-proto-native"
-
-SRC_URI = "http://http.debian.net/debian/pool/main/n/${BPN}/${BPN}_${PV}.orig.tar.gz;name=archive \
- http://http.debian.net/debian/pool/main/n/${BPN}/${BPN}_${PV}-8.diff.gz;name=patch8 \
- file://rpc.rusersd-Makefile-fix-parallel-build-issue.patch \
- file://0001-Link-with-libtirpc.patch \
-"
-
-SRC_URI[archive.md5sum] = "dc99a80b9fde2ab427c874f88f1c1602"
-SRC_URI[archive.sha256sum] = "f00138651865ad2dcfec5dedda0cda403cb80c4ab68efcc3bbccafe198c24b6d"
-SRC_URI[patch8.md5sum] = "1ff498113e0f920d92088092e5570bdc"
-SRC_URI[patch8.sha256sum] = "14882dbdda4e37baa84d55b54b46c7e063a20fc9e04d1be1a2807643cd0f3067"
-
-CFLAGS += "-I${STAGING_INCDIR}/tirpc"
-
-EXTRA_OEMAKE = "RUSERSX=${STAGING_INCDIR}/rpcsvc/rusers.x"
-
-do_configure () {
- ./configure --prefix=${prefix} --installroot=${D} --with-c-compiler="${CC}"
-}
-
-do_install () {
- install -d ${D}${bindir}
- install -d ${D}${sbindir}
- install -d ${D}${mandir}/man1
- install -d ${D}${mandir}/man8
- install -d ${D}${sysconfdir}/xinetd.d
-
- sed -i 's/install -s/install/' rusers/Makefile
- sed -i 's/install -s/install/' rup/Makefile
- sed -i 's/install -s/install/' rpc.rusersd/Makefile
-
- oe_runmake 'INSTALLROOT=${D}' 'BINMODE=0755' \
- 'DAEMONMODE=0755' 'MANMODE=0644' \
- 'BINDIR=${bindir}' 'SBINDIR=${sbindir}' \
- 'MANDIR=${mandir}' install
-
- # create the xinetd config file
- cat >rusersd.conf <<EOF
- service rusersd
- {
- disable = yes
- type = RPC
- rpc_version = 1-2
- socket_type = dgram
- protocol = udp
- wait = yes
- user = root
- server = ${sbindir}/rpc.rusersd
- }
-EOF
- install rusersd.conf ${D}/${sysconfdir}/xinetd.d/rusersd
-}
-
-PACKAGES = "${PN}-client ${PN}-server ${PN}-doc ${BPN}-dbg"
-FILES:${PN}-client = "${bindir}/*"
-FILES:${PN}-server = "${sbindir}/* ${sysconfdir}"
-FILES:${PN}-doc = "${mandir}"
-FILES:${PN}-dbg = "${prefix}/src/debug \
- ${bindir}/.debug ${sbindir}/.debug"
-
-RDEPENDS:${PN}-server += "tcp-wrappers xinetd rpcbind"
-
-# http://errors.yoctoproject.org/Errors/Details/186962/
-COMPATIBLE_HOST:libc-musl = 'null'
-SKIP_RECIPE[netkit-rusers] ?= "Fails to build rup.c:51:10: fatal error: rstat.h: No such file or directory"
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/0001-Add-missing-include-path-to-I-options.patch b/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/0001-Add-missing-include-path-to-I-options.patch
deleted file mode 100644
index b1325b3..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/0001-Add-missing-include-path-to-I-options.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 55ab6f1389261edff5f4c942bc3b0d8e695856d7 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 30 Aug 2017 18:11:33 -0700
-Subject: [PATCH 1/2] Add missing include path to -I options
-
-Fixes errors like
-| rwho.c:52:10: fatal error: 'protocols/rwhod.h' file not found
-| #include <protocols/rwhod.h>
-| ^~~~~~~~~~~~~~~~~~~
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- rwho/Makefile | 1 +
- rwhod/Makefile | 2 ++
- 2 files changed, 3 insertions(+)
-
-diff --git a/rwho/Makefile b/rwho/Makefile
-index 6f86388..67b28d4 100644
---- a/rwho/Makefile
-+++ b/rwho/Makefile
-@@ -6,6 +6,7 @@ include ../MRULES
- rwho: rwho.o
- $(CC) $(LDFLAGS) $^ $(LIBS) -o $@
-
-+CFLAGS += -I../include
- rwho.o: ../version.h
-
- install: rwho
-diff --git a/rwhod/Makefile b/rwhod/Makefile
-index 772b641..9034218 100644
---- a/rwhod/Makefile
-+++ b/rwhod/Makefile
-@@ -7,6 +7,8 @@ ifneq ($(USE_GLIBC),1)
- CFLAGS += -D_GNU_SOURCE
- endif
-
-+CFLAGS += -I../include
-+
- OBJS = rwhod.o
-
- rwhod: $(OBJS)
---
-2.14.1
-
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/0002-Fix-build-issues-found-with-musl.patch b/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/0002-Fix-build-issues-found-with-musl.patch
deleted file mode 100644
index 349a135..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/0002-Fix-build-issues-found-with-musl.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 2108213242638fa355f662382f55495d91301858 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 30 Aug 2017 18:13:17 -0700
-Subject: [PATCH 2/2] Fix build issues found with musl
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- ruptime/ruptime.c | 1 +
- rwho/rwho.c | 1 +
- rwhod/rwhod.c | 5 +++--
- 3 files changed, 5 insertions(+), 2 deletions(-)
-
---- a/ruptime/ruptime.c
-+++ b/ruptime/ruptime.c
-@@ -53,6 +53,7 @@ char ruptime_rcsid[] =
- #include <string.h>
- #include <errno.h>
- #include <time.h>
-+#include <fcntl.h>
-
- struct hs {
- char hs_hostname[MAXHOSTNAMELEN];
---- a/rwho/rwho.c
-+++ b/rwho/rwho.c
-@@ -49,6 +49,7 @@ char rcsid[] = "$Id: rwho.c,v 1.7 1999/0
- #include <assert.h>
- #include <stdio.h>
- #include <time.h>
-+#include <fcntl.h>
- #include <protocols/rwhod.h>
-
- #include "../version.h"
---- a/rwhod/rwhod.c
-+++ b/rwhod/rwhod.c
-@@ -76,6 +76,7 @@ char rcsid[] =
- #include <grp.h>
- #include <time.h>
- #include <stdint.h>
-+#include <fcntl.h>
-
- #include "../version.h"
-
-@@ -102,7 +103,7 @@ struct nlist nl[] = {
- static void broadcaster(void);
- static int configure(int s);
- static int verify(const char *name);
--#if __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 2)
-+#if defined(__GLIBC__) && (__GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 2))
- static int getloadavg(double ptr[3], int n);
- #endif
-
-@@ -549,7 +550,7 @@ sendpacket(struct whod *wd)
- }
- }
-
--#if __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 2)
-+#if defined(__GLIBC__) && (__GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 2))
- /*
- * Taken from:
- *
---- a/include/protocols/rwhod.h
-+++ b/include/protocols/rwhod.h
-@@ -37,6 +37,7 @@
- #ifndef _RWHOD_H_
- #define _RWHOD_H_
-
-+#include <stdint.h>
- /*
- * rwho protocol packet format.
- */
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/rwhod b/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/rwhod
deleted file mode 100755
index f641903..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/rwhod
+++ /dev/null
@@ -1,71 +0,0 @@
-#!/bin/sh
-
-### BEGIN INIT INFO
-# Provides: rwhod
-# Required-Start: $network $remote_fs $syslog
-# Required-Stop: $network $remote_fs $syslog
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
-# Short-Description: Server for rwho and ruptime services
-### END INIT INFO
-
-PATH=/sbin:/bin:/usr/bin:/usr/sbin
-
-DAEMON=/usr/sbin/rwhod
-PIDFILE=/var/run/rwhod.pid
-CONF_FILE="/etc/default/rwhod"
-DESC="Who daemon "
-# default options. Change them in /etc/default/rwhod
-RWHOD_OPTIONS="-b"
-
-# rwhod init.d script for ntpdc from ntp.isc.org
-test -f $DAEMON || exit 0
-
-# Source function library.
-. /etc/init.d/functions
-
-[ -r $CONF_FILE ] && . $CONF_FILE
-
-startdaemon(){
- echo -n "Starting $DESC" " rwhod "
- start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON -- $RWHOD_OPTIONS
- echo "done"
-}
-stopdaemon(){
- echo -n "Stopping $DESC" " rwhod "
- start-stop-daemon --stop --quiet --oknodo --exec $DAEMON
- echo "done"
-}
-
-case "$1" in
- start)
- startdaemon
- ;;
- stop)
- stopdaemon
- ;;
- force-reload)
- stopdaemon
- startdaemon
- ;;
- restart)
- stopdaemon
- sleep 1
- startdaemon
- ;;
- reload)
- stopdaemon
- sleep 1
- startdaemon
- ;;
- status)
- status /usr/sbin/rwhod;
- exit $?
- ;;
- *)
- echo "Usage: rwhod { start | stop | status | restart | reload }" >&2
- exit 1
- ;;
-esac
-
-exit 0
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/rwhod.default b/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/rwhod.default
deleted file mode 100644
index 62d3a94..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/rwhod.default
+++ /dev/null
@@ -1,2 +0,0 @@
-#Options for the rwhod daemon.
-RWHOD_OPTIONS="-b"
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho_0.17.bb b/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho_0.17.bb
deleted file mode 100644
index 51168f9..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho_0.17.bb
+++ /dev/null
@@ -1,108 +0,0 @@
-DESCRIPTION = "netkit-rwho includes, ruptime rwho and rwhod (Daemon to maintain data for rwho/ruptime)"
-HOMEPAGE = "ftp://ftp.uk.linux.org/pub/linux/Networking/netkit"
-SECTION = "net"
-LICENSE = "BSD-4-Clause"
-LIC_FILES_CHKSUM = "file://rwho/rwho.c;beginline=2;endline=3;md5=5a85f13c0142d72fc378e00f15da5b9e"
-
-SRC_URI = "${DEBIAN_MIRROR}/main/n/netkit-rwho/netkit-rwho_${PV}.orig.tar.gz;name=archive \
- ${DEBIAN_MIRROR}/main/n/netkit-rwho/netkit-rwho_${PV}-13.debian.tar.gz;subdir=${BP};name=patch13 \
- file://rwhod \
- file://rwhod.default \
- file://0001-Add-missing-include-path-to-I-options.patch \
- file://0002-Fix-build-issues-found-with-musl.patch \
- "
-SRC_URI[archive.md5sum] = "0f71620d45d472f89134ba0d74242e75"
-SRC_URI[archive.sha256sum] = "0409e2ce4bfdb2dacb2c193d0fedfc49bb975cb057c5c6b0ffcca603a1188da7"
-SRC_URI[patch13.md5sum] = "82ed5a3c6b0bbf00b36508b9787963b9"
-SRC_URI[patch13.sha256sum] = "53aefa27d98b565bf756db57120c03bd224a238e45699d92076420272a6eba8e"
-
-inherit autotools-brokensep useradd update-rc.d update-alternatives
-
-CFLAGS += " -D_GNU_SOURCE"
-
-# Unlike other Debian packages, net-tools *.diff.gz contains another series of
-# patches maintained by quilt. So manually apply them before applying other local
-# patches. Also remove all temp files before leaving, because do_patch() will pop
-# up all previously applied patches in the start
-do_patch[depends] += "quilt-native:do_populate_sysroot"
-netkit_do_patch() {
- cd ${S}
- # it's important that we only pop the existing patches when they've
- # been applied, otherwise quilt will climb the directory tree
- # and reverse out some completely different set of patches
- if [ -d ${S}/patches ]; then
- # whilst this is the default directory, doing it like this
- # defeats the directory climbing that quilt will otherwise
- # do; note the directory must exist to defeat this, hence
- # the test inside which we operate
- QUILT_PATCHES=${S}/patches quilt pop -a
- fi
- if [ -d ${S}/.pc-${BPN} ]; then
- rm -rf ${S}/.pc
- mv ${S}/.pc-${BPN} ${S}/.pc
- QUILT_PATCHES=${S}/debian/patches quilt pop -a
- rm -rf ${S}/.pc ${S}/debian
- fi
- QUILT_PATCHES=${S}/debian/patches quilt push -a
- mv ${S}/.pc ${S}/.pc-${BPN}
-}
-
-do_unpack[cleandirs] += "${S}"
-
-python do_patch() {
- bb.build.exec_func('netkit_do_patch', d)
- bb.build.exec_func('patch_do_patch', d)
-}
-
-do_configure () {
- ./configure --prefix=${prefix}
- echo "LDFLAGS=${LDFLAGS}" >> MCONFIG
-}
-
-do_install () {
- # rwho & ruptime
- install -d ${D}${bindir}
- install -d ${D}${mandir}/man1
- #rwhod
- install -d ${D}${sbindir}
- install -d ${D}${mandir}/man8
- install -d ${D}${sysconfdir}/init.d
- install -d ${D}${sysconfdir}/default
- sed -i 's/install -s/install/' rwho/Makefile
- sed -i 's/install -s/install/' ruptime/Makefile
- sed -i 's/install -s/install/' rwhod/Makefile
- oe_runmake 'INSTALLROOT=${D}' 'BINMODE=0755' \
- 'DAEMONMODE=0755' 'MANMODE=0644' \
- 'BINDIR=${bindir}' 'SBINDIR=${sbindir}' \
- 'MANDIR=${mandir}' install
-
- install -m 0644 ${WORKDIR}/rwhod.default ${D}${sysconfdir}/default/rwhod
- install -m 755 ${WORKDIR}/rwhod ${D}${sysconfdir}/init.d
-
- mkdir -p -m 755 ${D}${localstatedir}/spool/rwho
- chown -R rwhod ${D}${localstatedir}/spool/rwho
-}
-pkg_postinst_ontarget:${PN}-server() {
- ${sysconfdir}/init.d/rwhod start
-}
-
-pkg_postrm:${PN}-server() {
- ${sysconfdir}/init.d/rwhod stop
-}
-
-INITSCRIPT_NAME = "rwhod"
-INITSCRIPT_PARAM = "defaults 85 15"
-
-USERADD_PACKAGES = "${PN}-server"
-GROUPADD_PARAM:${PN}-server = "--system rwhod"
-USERADD_PARAM:${PN}-server = "--system -g rwhod --home-dir ${localstatedir}/spool/rwho \
- --no-create-home --shell /bin/false rwhod"
-
-INSANE_SKIP:${PN} = "already-stripped"
-
-PACKAGES = "${PN}-client ${PN}-server ${PN}-doc ${BPN}-dbg"
-FILES:${PN}-client = "${bindir}/*"
-FILES:${PN}-server = "${sbindir}/* ${localstatedir} ${sysconfdir}/default/* ${sysconfdir}/init.d/*"
-FILES:${PN}-doc = "${mandir}"
-FILES:${PN}-dbg = "${prefix}/src/debug \
- ${bindir}/.debug ${sbindir}/.debug"
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/0001-Drop-using-register-keyword.patch b/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/0001-Drop-using-register-keyword.patch
deleted file mode 100644
index f508711..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/0001-Drop-using-register-keyword.patch
+++ /dev/null
@@ -1,457 +0,0 @@
-From af89f36fbeb5f6a078b349eed8fc4ad6fbfdf5d1 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 16 Jan 2023 15:26:12 -0800
-Subject: [PATCH] Drop using register keyword
-
-Its gone since c++17
-
-Fixes
-error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
-| register char c;
-| ^~~~~~~~~
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- telnet/commands.cc | 14 +++++++-------
- telnet/defines.h | 1 +
- telnet/sys_bsd.cc | 2 +-
- telnet/telnet.cc | 18 +++++++++---------
- telnet/terminal.cc | 4 ++--
- telnet/tn3270.cc | 4 ++--
- telnet/tn3270.o | Bin 4008 -> 4008 bytes
- telnet/utilities.cc | 6 +++---
- telnetd/setproctitle.c | 6 +++---
- telnetd/slc.c | 4 ++--
- telnetd/state.c | 12 ++++++------
- telnetd/sys_term.c | 4 ++--
- telnetd/telnetd.c | 4 ++--
- telnetd/termstat.c | 4 ++--
- telnetd/utility.c | 16 ++++++++--------
- 15 files changed, 50 insertions(+), 49 deletions(-)
-
---- a/telnet/commands.cc
-+++ b/telnet/commands.cc
-@@ -192,8 +192,8 @@ static int margc;
- static const char *margv[20];
-
- static void makeargv(void) {
-- register char *cp, *cp2, c;
-- register const char **argp = margv;
-+ char *cp, *cp2, c;
-+ const char **argp = margv;
-
- margc = 0;
- cp = line;
-@@ -204,7 +204,7 @@ static void makeargv(void) {
- cp++;
- }
- while ((c = *cp)!=0) {
-- register int inquote = 0;
-+ int inquote = 0;
- while (isspace(c))
- c = *++cp;
- if (c == '\0')
-@@ -281,7 +281,7 @@ static const char *control(cc_t c)
- * was to assign "c" to an unsigned int variable...
- * Arggg....
- */
-- register unsigned int uic = (unsigned int)c;
-+ unsigned int uic = (unsigned int)c;
-
- if (uic == 0x7f)
- return ("^?");
-@@ -479,7 +479,7 @@ int send_tncmd(int (*func)(int, int), co
- long opt;
-
- if (isprefix(name, "help") || isprefix(name, "?")) {
-- register int col, len;
-+ int col, len;
-
- printf("Usage: send %s <option>\n", cmd);
- printf("Valid options are:\n\t");
-@@ -2212,8 +2212,8 @@ static unsigned long sourceroute(char *a
- static char lsr[44];
- char *cp, *cp2, *lsrp, *lsrep;
- struct in_addr sin_addr;
-- register struct hostent *host = 0;
-- register char c;
-+ struct hostent *host = 0;
-+ char c;
-
- /*
- * Verify the arguments, and make sure we have
---- a/telnet/defines.h
-+++ b/telnet/defines.h
-@@ -52,3 +52,4 @@
- #define CONTROL(x) ((x)&0x1f) /* CTRL(x) is not portable */
-
- #define MODE_OUT8 0x8000 /* binary mode sans -opost */
-+
---- a/telnet/sys_bsd.cc
-+++ b/telnet/sys_bsd.cc
-@@ -285,7 +285,7 @@ void sys_telnet_init(void) {
- int process_rings(int netin, int netout, int netex, int ttyin, int ttyout,
- int poll /* If 0, then block until something to do */)
- {
-- register int c, maxfd;
-+ int c, maxfd;
- /* One wants to be a bit careful about setting returnValue
- * to one, since a one implies we did some useful work,
- * and therefore probably won't be called to block next
---- a/telnet/telnet.cc
-+++ b/telnet/telnet.cc
-@@ -864,7 +864,7 @@ struct spc {
- static int slc_mode = SLC_EXPORT;
-
- void slc_init(void) {
-- register struct spc *spcp;
-+ struct spc *spcp;
-
- localchars = 1;
- for (spcp = spc_data; spcp < &spc_data[NSLC+1]; spcp++) {
-@@ -944,7 +944,7 @@ void slc_import(int def) {
- }
-
- void slc_export(void) {
-- register struct spc *spcp;
-+ struct spc *spcp;
-
- TerminalDefaultChars();
-
-@@ -966,8 +966,8 @@ void slc_export(void) {
- }
-
- void slc(unsigned char *cp, int len) {
-- register struct spc *spcp;
-- register int func,level;
-+ struct spc *spcp;
-+ int func,level;
-
- slc_start_reply();
-
-@@ -1032,7 +1032,7 @@ void slc(unsigned char *cp, int len) {
- }
-
- void slc_check(void) {
-- register struct spc *spcp;
-+ struct spc *spcp;
-
- slc_start_reply();
- for (spcp = &spc_data[1]; spcp < &spc_data[NSLC+1]; spcp++) {
-@@ -1080,7 +1080,7 @@ void slc_add_reply(int func, int flags,
- }
-
- void slc_end_reply(void) {
-- register int len;
-+ int len;
-
- *slc_replyp++ = IAC;
- *slc_replyp++ = SE;
-@@ -1200,7 +1200,7 @@ void env_opt_add(const char *ep) {
- tp = opt_replyp + (vp ? strlen(vp) * 2 : 0) + strlen(ep) * 2 + 6;
- if (tp > opt_replyend)
- {
-- register int len;
-+ int len;
- len = ((tp - opt_reply) + OPT_REPLY_SIZE - 1) & ~(OPT_REPLY_SIZE - 1);
- opt_replyend = opt_reply + len;
- opt_reply = (unsigned char *)realloc(opt_reply, len);
-@@ -1236,7 +1236,7 @@ void env_opt_add(const char *ep) {
- }
-
- void env_opt_end(int emptyok) {
-- register int len;
-+ int len;
-
- len = opt_replyp - opt_reply + 2;
- if (emptyok || len > 6) {
-@@ -1874,7 +1874,7 @@ static unsigned char *nextitem(unsigned
-
- static void netclear(void) {
- #if 0 /* XXX */
-- register char *thisitem, *next;
-+ char *thisitem, *next;
- char *good;
- #define wewant(p) ((nfrontp > p) && (*p == IAC) && \
- (p[1] != EC) && (p[1] != EL))
---- a/telnet/terminal.cc
-+++ b/telnet/terminal.cc
-@@ -569,8 +569,8 @@ struct termspeeds {
- };
-
- void TerminalSpeeds(long *ispeed, long *ospeed) {
-- register struct termspeeds *tp;
-- register long in, out;
-+ struct termspeeds *tp;
-+ long in, out;
-
- out = cfgetospeed(&old_tc);
- in = cfgetispeed(&old_tc);
---- a/telnet/tn3270.cc
-+++ b/telnet/tn3270.cc
-@@ -103,7 +103,7 @@ void init_3270(void) {
- * done: is this the last of a logical block
- */
- int DataToNetwork(char *buffer, int count, int done) {
-- register int loop, c;
-+ int loop, c;
- int origCount;
-
- origCount = count;
-@@ -179,7 +179,7 @@ void outputPurge(void) {
- * count: how much to send
- */
- int DataToTerminal(char *buffer, int count) {
-- register int c;
-+ int c;
- int origCount;
-
- origCount = count;
---- a/telnet/utilities.cc
-+++ b/telnet/utilities.cc
-@@ -252,7 +252,7 @@ void optionstatus(void) {
- /* pointer: where suboption data sits */
- /* length: length of suboption data */
- void printsub(int direction, unsigned char *pointer, int length) {
-- register int i = 0;
-+ int i = 0;
-
- extern int want_status_response;
-
-@@ -262,7 +262,7 @@ void printsub(int direction, unsigned ch
- fprintf(NetTrace, "%s IAC SB ",
- (direction == '<')? "RCVD":"SENT");
- if (length >= 3) {
-- register int j;
-+ int j;
-
- i = pointer[length-2];
- j = pointer[length-1];
-@@ -577,7 +577,7 @@ void printsub(int direction, unsigned ch
- fprintf(NetTrace, "INFO ");
- env_common:
- {
-- register int noquote = 2;
-+ int noquote = 2;
- for (i = 2; i < length; i++ ) {
- switch (pointer[i]) {
- case ENV_VAR:
---- a/telnetd/setproctitle.c
-+++ b/telnetd/setproctitle.c
-@@ -76,7 +76,7 @@ static char Argv0[128]; /* program nam
- void
- initsetproctitle(int argc, char **argv, char **envp)
- {
-- register int i;
-+ int i;
- char *tmp;
-
- /*
-@@ -111,8 +111,8 @@ initsetproctitle(int argc, char **argv,
- void
- setproctitle(const char *fmt, ...)
- {
-- register char *p;
-- register int i=0;
-+ char *p;
-+ int i=0;
- static char buf[2048];
- va_list ap;
-
---- a/telnetd/slc.c
-+++ b/telnetd/slc.c
-@@ -196,7 +196,7 @@ int end_slc(unsigned char **bufp) {
- * Figure out what to do about the client's slc
- */
- void process_slc(unsigned char func, unsigned char flag, cc_t val) {
-- register int hislevel, mylevel, ack;
-+ int hislevel, mylevel, ack;
-
- /*
- * Ensure that we know something about this function
-@@ -260,7 +260,7 @@ void process_slc(unsigned char func, uns
- * Compare client's request with what we are capable of supporting.
- */
- void change_slc(char func, char flag, cc_t val) {
-- register int hislevel, mylevel;
-+ int hislevel, mylevel;
-
- hislevel = flag & SLC_LEVELBITS;
- mylevel = slctab[func].defset.flag & SLC_LEVELBITS;
---- a/telnetd/state.c
-+++ b/telnetd/state.c
-@@ -79,7 +79,7 @@ unsigned char subbuffer[512], *subpointe
- #define TS_DONT 8 /* dont " */
-
- void telrcv(void) {
-- register int c;
-+ int c;
- static int state = TS_DATA;
-
- while (ncc > 0) {
-@@ -1081,7 +1081,7 @@ void suboption(void) {
-
- #ifdef LINEMODE
- case TELOPT_LINEMODE: {
-- register int request;
-+ int request;
-
- if (his_state_is_wont(TELOPT_LINEMODE)) /* Ignore if option disabled */
- break;
-@@ -1158,8 +1158,8 @@ void suboption(void) {
- } /* end of case TELOPT_XDISPLOC */
-
- case TELOPT_ENVIRON: {
-- register int c;
-- register char *cp, *varp, *valp;
-+ int c;
-+ char *cp, *varp, *valp;
-
- if (SB_EOF())
- return;
-@@ -1299,8 +1299,8 @@ static void doclientstat(void) {
-
- void send_status(void) {
- unsigned char statusbuf[256];
-- register unsigned char *ncp;
-- register unsigned char i;
-+ unsigned char *ncp;
-+ unsigned char i;
-
- ncp = statusbuf;
-
---- a/telnetd/sys_term.c
-+++ b/telnetd/sys_term.c
-@@ -413,7 +413,7 @@ extern int def_tspeed, def_rspeed;
-
- static int getptyslave(void) {
- #if 0
-- register int t = -1;
-+ int t = -1;
-
- # ifdef LINEMODE
- int waslm;
-@@ -505,7 +505,7 @@ static int getptyslave(void) {
- * making sure that we have a clean tty.
- */
- static int cleanopen(char *lyne) {
-- register int t;
-+ int t;
-
- /*
- * Make sure that other people can't open the
---- a/telnetd/telnetd.c
-+++ b/telnetd/telnetd.c
-@@ -93,7 +93,7 @@ main(int argc, char *argv[], char *env[]
- struct sockaddr_in from;
- int on = 1;
- socklen_t fromlen;
-- register int ch;
-+ int ch;
-
- #if defined(HAS_IPPROTO_IP) && defined(IP_TOS)
- int tos = -1;
-@@ -837,7 +837,7 @@ void telnet(int f, int p)
-
- #ifdef TIOCNOTTY
- {
-- register int t;
-+ int t;
- t = open(_PATH_TTY, O_RDWR);
- if (t >= 0) {
- (void) ioctl(t, TIOCNOTTY, (char *)0);
---- a/telnetd/termstat.c
-+++ b/telnetd/termstat.c
-@@ -347,7 +347,7 @@ done:
- * at a time, and if using kludge linemode, then only linemode may be
- * affected.
- */
--void clientstat(register int code, register int parm1, register int parm2)
-+void clientstat(int code, register int parm1, register int parm2)
- {
- /*
- * Get a copy of terminal characteristics.
-@@ -419,7 +419,7 @@ void clientstat(register int code, regis
-
- case LM_MODE:
- {
-- register int ack, changed;
-+ int ack, changed;
-
- /*
- * Client has sent along a mode mask. If it agrees with
---- a/telnetd/utility.c
-+++ b/telnetd/utility.c
-@@ -189,7 +189,7 @@ nextitem(char *current, const char *endp
- return current+3 <= endp ? current+3 : NULL;
- case SB: /* loop forever looking for the SE */
- {
-- register char *look = current+2;
-+ char *look = current+2;
-
- while (look < endp) {
- if ((*look++&0xff) == IAC) {
-@@ -224,7 +224,7 @@ nextitem(char *current, const char *endp
- */
- void netclear(void)
- {
-- register char *thisitem, *next;
-+ char *thisitem, *next;
- char *good;
- #define wewant(p) ((nfrontp > p) && ((*p&0xff) == IAC) && \
- (nfrontp > p+1 && (((*(p+1)&0xff) != EC) && ((*(p+1)&0xff) != EL))))
-@@ -354,7 +354,7 @@ netflush(void)
- * ptr - A pointer to a character string to write
- * len - How many bytes to write
- */
--void writenet(register unsigned char *ptr, register int len)
-+void writenet(unsigned char *ptr, register int len)
- {
- /* flush buffer if no room for new data) */
- if ((&netobuf[BUFSIZ] - nfrontp) < len) {
-@@ -589,7 +589,7 @@ printoption(const char *fmt, int option)
- void
- printsub(char direction, unsigned char *pointer, int length)
- {
-- register int i = -1;
-+ int i = -1;
- #ifdef AUTHENTICATE
- char buf[512];
- #endif
-@@ -601,7 +601,7 @@ printsub(char direction, unsigned char *
- netoprintf("td: %s suboption ",
- direction == '<' ? "recv" : "send");
- if (length >= 3) {
-- register int j;
-+ int j;
-
- i = pointer[length-2];
- j = pointer[length-1];
-@@ -817,7 +817,7 @@ printsub(char direction, unsigned char *
-
- case TELOPT_STATUS: {
- const char *cp;
-- register int j, k;
-+ int j, k;
-
- netoprintf("STATUS");
-
-@@ -914,7 +914,7 @@ printsub(char direction, unsigned char *
- netoprintf("INFO ");
- env_common:
- {
-- register int noquote = 2;
-+ int noquote = 2;
- for (i = 2; i < length; i++ ) {
- switch (pointer[i]) {
- case ENV_VAR:
-@@ -1125,7 +1125,7 @@ printsub(char direction, unsigned char *
- void
- printdata(const char *tag, const char *ptr, int cnt)
- {
-- register int i;
-+ int i;
- char xbuf[30];
-
- while (cnt) {
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/0001-telnet-telnetd-Fix-deadlock-on-cleanup.patch b/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/0001-telnet-telnetd-Fix-deadlock-on-cleanup.patch
deleted file mode 100644
index afcc66d..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/0001-telnet-telnetd-Fix-deadlock-on-cleanup.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-From 06ed6a6bf25a22902846097d6b6c97e070c2c326 Mon Sep 17 00:00:00 2001
-From: Seiichi Ishitsuka <ishitsuka.sc@ncos.nec.co.jp>
-Date: Fri, 1 Jun 2018 14:27:35 +0900
-Subject: [PATCH] telnetd: Fix deadlock on cleanup
-
-The cleanup function in telnetd is called both directly and on SIGCHLD
-signals. This, unfortunately, triggered a deadlock in eglibc 2.9 while
-running on a 2.6.31.11 kernel.
-
-What we were seeing is hangs like these:
-
- (gdb) bt
- #0 0xb7702424 in __kernel_vsyscall ()
- #1 0xb7658e61 in __lll_lock_wait_private () from ./lib/libc.so.6
- #2 0xb767e7b5 in _L_lock_15 () from ./lib/libc.so.6
- #3 0xb767e6e0 in utmpname () from ./lib/libc.so.6
- #4 0xb76bcde7 in logout () from ./lib/libutil.so.1
- #5 0x0804c827 in cleanup ()
- #6 <signal handler called>
- #7 0xb7702424 in __kernel_vsyscall ()
- #8 0xb7641003 in __fcntl_nocancel () from ./lib/libc.so.6
- #9 0xb767e0c3 in getutline_r_file () from ./lib/libc.so.6
- #10 0xb767d675 in getutline_r () from ./lib/libc.so.6
- #11 0xb76bce42 in logout () from ./lib/libutil.so.1
- #12 0x0804c827 in cleanup ()
- #13 0x0804a0b5 in telnet ()
- #14 0x0804a9c3 in main ()
-
-and what has happened here is that the user closes the telnet session
-via the escape character. This causes telnetd to call cleanup in frame
-the SIGCHLD signal is delivered while telnetd is executing cleanup.
-
-Telnetd then calls the signal handler for SIGCHLD, which is cleanup().
-Ouch. The actual deadlock is in libc. getutline_r in frame #10 gets the
-__libc_utmp_lock lock, and utmpname above does the same thing in frame
-
-The fix registers the SIGCHLD handler as cleanup_sighandler, and makes
-cleanup disable the SIGCHLD signal before calling cleanup_sighandler.
-
-Signed-off-by: Simon Kagstrom <simon.kagstrom@netinsight.net>
-
-The patch was imported from the Ubuntu netkit-telnet package.
-(https://bugs.launchpad.net/ubuntu/+source/netkit-telnet/+bug/507455)
-
-A previous patch declaring attributes of functions, but it is not used
-in upstream.
-
-Signed-off-by: Seiichi Ishitsuka <ishitsuka.sc@ncos.nec.co.jp>
----
-Upstream-Status: Pending
-
- telnetd/ext.h | 1 +
- telnetd/sys_term.c | 17 ++++++++++++++++-
- telnetd/telnetd.c | 2 +-
- 3 files changed, 18 insertions(+), 2 deletions(-)
-
-diff --git a/telnetd/ext.h b/telnetd/ext.h
-index b98d6ec..08f9d07 100644
---- a/telnetd/ext.h
-+++ b/telnetd/ext.h
-@@ -97,6 +97,7 @@ void add_slc(int, int, int);
- void check_slc(void);
- void change_slc(int, int, int);
- void cleanup(int);
-+void cleanup_sighandler(int);
- void clientstat(int, int, int);
- void copy_termbuf(char *, int);
- void deferslc(void);
-diff --git a/telnetd/sys_term.c b/telnetd/sys_term.c
-index 5b4aa84..c4fb0f7 100644
---- a/telnetd/sys_term.c
-+++ b/telnetd/sys_term.c
-@@ -719,7 +719,7 @@ static void addarg(struct argv_stuff *avs, const char *val) {
- * This is the routine to call when we are all through, to
- * clean up anything that needs to be cleaned up.
- */
--void cleanup(int sig) {
-+void cleanup_sighandler(int sig) {
- char *p;
- (void)sig;
-
-@@ -742,3 +742,18 @@ void cleanup(int sig) {
- shutdown(net, 2);
- exit(0);
- }
-+
-+void cleanup(int sig) {
-+ sigset_t mask, oldmask;
-+
-+ /* Set up the mask of signals to temporarily block. */
-+ sigemptyset (&mask);
-+ sigaddset (&mask, SIGCHLD);
-+
-+ /* Block SIGCHLD while running cleanup */
-+ sigprocmask (SIG_BLOCK, &mask, &oldmask);
-+
-+ cleanup_sighandler(sig);
-+ /* Technically not needed since cleanup_sighandler exits */
-+ sigprocmask (SIG_UNBLOCK, &mask, NULL);
-+}
-diff --git a/telnetd/telnetd.c b/telnetd/telnetd.c
-index 9ace838..788919c 100644
---- a/telnetd/telnetd.c
-+++ b/telnetd/telnetd.c
-@@ -833,7 +833,7 @@ void telnet(int f, int p)
- signal(SIGTTOU, SIG_IGN);
- #endif
-
-- signal(SIGCHLD, cleanup);
-+ signal(SIGCHLD, cleanup_sighandler);
-
- #ifdef TIOCNOTTY
- {
---
-2.7.4
-
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/0001-telnet-telnetd-Fix-print-format-strings.patch b/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/0001-telnet-telnetd-Fix-print-format-strings.patch
deleted file mode 100644
index 755b882..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/0001-telnet-telnetd-Fix-print-format-strings.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 7a3095d1e9b7c73f9dca56250f433bcfc7cb660e Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 27 Jun 2017 10:15:34 -0700
-Subject: [PATCH] telnet/telnetd: Fix print format strings
-
-Fixes build with hardening flags
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- telnet/utilities.cc | 6 +++---
- telnetd/utility.c | 6 +++---
- 2 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/telnet/utilities.cc b/telnet/utilities.cc
-index 66839ab..36f0731 100644
---- a/telnet/utilities.cc
-+++ b/telnet/utilities.cc
-@@ -583,17 +583,17 @@ void printsub(int direction, unsigned char *pointer, int length) {
- case ENV_VAR:
- if (pointer[1] == TELQUAL_SEND)
- goto def_case;
-- fprintf(NetTrace, "\" VAR " + noquote);
-+ fprintf(NetTrace, "%s", "\" VAR " + noquote);
- noquote = 2;
- break;
-
- case ENV_VALUE:
-- fprintf(NetTrace, "\" VALUE " + noquote);
-+ fprintf(NetTrace, "%s", "\" VALUE " + noquote);
- noquote = 2;
- break;
-
- case ENV_ESC:
-- fprintf(NetTrace, "\" ESC " + noquote);
-+ fprintf(NetTrace, "%s", "\" ESC " + noquote);
- noquote = 2;
- break;
-
-diff --git a/telnetd/utility.c b/telnetd/utility.c
-index 29b7da1..75314cb 100644
---- a/telnetd/utility.c
-+++ b/telnetd/utility.c
-@@ -909,17 +909,17 @@ printsub(char direction, unsigned char *pointer, int length)
- case ENV_VAR:
- if (pointer[1] == TELQUAL_SEND)
- goto def_case;
-- netoprintf("\" VAR " + noquote);
-+ netoprintf("%s", "\" VAR " + noquote);
- noquote = 2;
- break;
-
- case ENV_VALUE:
-- netoprintf("\" VALUE " + noquote);
-+ netoprintf("%s", "\" VALUE " + noquote);
- noquote = 2;
- break;
-
- case ENV_ESC:
-- netoprintf("\" ESC " + noquote);
-+ netoprintf("%s", "\" ESC " + noquote);
- noquote = 2;
- break;
-
---
-2.13.2
-
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/0001-telnetd-utility.c-Fix-buffer-overflow-in-netoprintf.patch b/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/0001-telnetd-utility.c-Fix-buffer-overflow-in-netoprintf.patch
deleted file mode 100644
index 8f983e4..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/0001-telnetd-utility.c-Fix-buffer-overflow-in-netoprintf.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 9c81c8e5bc7782e8ae12c078615abc3c896059f2 Mon Sep 17 00:00:00 2001
-From: Julius Hemanth Pitti <jpitti@cisco.com>
-Date: Tue, 14 Jul 2020 22:34:19 -0700
-Subject: [PATCH] telnetd/utility.c: Fix buffer overflow in netoprintf
-
-As per man page of vsnprintf, when formated
-string size is greater than "size"(2nd argument),
-then vsnprintf returns size of formated string,
-not "size"(2nd argument).
-
-netoprintf() was not handling a case where
-return value of vsnprintf is greater than
-"size"(2nd argument), results in buffer overflow
-while adjusting "nfrontp" pointer to point
-beyond "netobuf" buffer.
-
-Here is one such case where "nfrontp"
-crossed boundaries of "netobuf", and
-pointing to another global variable.
-
-(gdb) p &netobuf[8255]
-$5 = 0x55c93afe8b1f <netobuf+8255> ""
-(gdb) p nfrontp
-$6 = 0x55c93afe8c20 <terminaltype> "\377"
-(gdb) p &terminaltype
-$7 = (char **) 0x55c93afe8c20 <terminaltype>
-(gdb)
-
-This resulted in crash of telnetd service
-with segmentation fault.
-
-Though this is DoS security bug, I couldn't
-find any CVE ID for this.
-
-Upstream-Status: Pending
-
-Signed-off-by: Julius Hemanth Pitti <jpitti@cisco.com>
----
- telnetd/utility.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/telnetd/utility.c b/telnetd/utility.c
-index b9a46a6..4811f14 100644
---- a/telnetd/utility.c
-+++ b/telnetd/utility.c
-@@ -66,7 +66,7 @@ netoprintf(const char *fmt, ...)
- len = vsnprintf(nfrontp, maxsize, fmt, ap);
- va_end(ap);
-
-- if (len<0 || len==maxsize) {
-+ if (len<0 || len>=maxsize) {
- /* didn't fit */
- netflush();
- }
---
-2.19.1
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/0001-utility-Include-time.h-form-time-and-strftime-protot.patch b/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/0001-utility-Include-time.h-form-time-and-strftime-protot.patch
deleted file mode 100644
index a5e634c..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/0001-utility-Include-time.h-form-time-and-strftime-protot.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 23b068e695881be0e8205ecccadf775fc3d5889d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 6 Sep 2022 21:25:50 -0700
-Subject: [PATCH] utility: Include time.h form time() and strftime() prototypes
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- telnetd/utility.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/telnetd/utility.c b/telnetd/utility.c
-index 4811f14..b539777 100644
---- a/telnetd/utility.c
-+++ b/telnetd/utility.c
-@@ -40,6 +40,7 @@ char util_rcsid[] =
- #define PRINTOPTIONS
-
- #include <stdarg.h>
-+#include <time.h> /* for time() anf strftime() */
- #include <sys/utsname.h>
-
- #ifdef AUTHENTICATE
---
-2.37.3
-
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/CVE-2020-10188.patch b/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/CVE-2020-10188.patch
deleted file mode 100644
index d21c602..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/CVE-2020-10188.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-From 6ab007dbb1958371abff2eaaad2b26da89b3c74e Mon Sep 17 00:00:00 2001
-From: Yi Zhao <yi.zhao@windriver.com>
-Date: Fri, 24 Apr 2020 09:43:44 +0800
-Subject: [PATCH] telnetd/utility.c: fix CVE-2020-10188
-
-Upstream-Status: Backport
-[Fedora: https://src.fedoraproject.org/rpms/telnet/raw/master/f/telnet-0.17-overflow-exploit.patch]
-
-CVE: CVE-2020-10188
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- telnetd/utility.c | 32 +++++++++++++++++++++-----------
- 1 file changed, 21 insertions(+), 11 deletions(-)
-
-diff --git a/telnetd/utility.c b/telnetd/utility.c
-index 75314cb..b9a46a6 100644
---- a/telnetd/utility.c
-+++ b/telnetd/utility.c
-@@ -169,31 +169,38 @@ void ptyflush(void)
- */
- static
- char *
--nextitem(char *current)
-+nextitem(char *current, const char *endp)
- {
-+ if (current >= endp) {
-+ return NULL;
-+ }
- if ((*current&0xff) != IAC) {
- return current+1;
- }
-+ if (current+1 >= endp) {
-+ return NULL;
-+ }
- switch (*(current+1)&0xff) {
- case DO:
- case DONT:
- case WILL:
- case WONT:
-- return current+3;
-+ return current+3 <= endp ? current+3 : NULL;
- case SB: /* loop forever looking for the SE */
- {
- register char *look = current+2;
-
-- for (;;) {
-+ while (look < endp) {
- if ((*look++&0xff) == IAC) {
-- if ((*look++&0xff) == SE) {
-+ if (look < endp && (*look++&0xff) == SE) {
- return look;
- }
- }
- }
-+ return NULL;
- }
- default:
-- return current+2;
-+ return current+2 <= endp ? current+2 : NULL;
- }
- } /* end of nextitem */
-
-@@ -219,7 +226,7 @@ void netclear(void)
- register char *thisitem, *next;
- char *good;
- #define wewant(p) ((nfrontp > p) && ((*p&0xff) == IAC) && \
-- ((*(p+1)&0xff) != EC) && ((*(p+1)&0xff) != EL))
-+ (nfrontp > p+1 && (((*(p+1)&0xff) != EC) && ((*(p+1)&0xff) != EL))))
-
- #if defined(ENCRYPT)
- thisitem = nclearto > netobuf ? nclearto : netobuf;
-@@ -227,7 +234,7 @@ void netclear(void)
- thisitem = netobuf;
- #endif
-
-- while ((next = nextitem(thisitem)) <= nbackp) {
-+ while ((next = nextitem(thisitem, nbackp)) != NULL && next <= nbackp) {
- thisitem = next;
- }
-
-@@ -239,20 +246,23 @@ void netclear(void)
- good = netobuf; /* where the good bytes go */
- #endif
-
-- while (nfrontp > thisitem) {
-+ while (thisitem != NULL && nfrontp > thisitem) {
- if (wewant(thisitem)) {
- int length;
-
- next = thisitem;
- do {
-- next = nextitem(next);
-- } while (wewant(next) && (nfrontp > next));
-+ next = nextitem(next, nfrontp);
-+ } while (next != NULL && wewant(next) && (nfrontp > next));
-+ if (next == NULL) {
-+ next = nfrontp;
-+ }
- length = next-thisitem;
- bcopy(thisitem, good, length);
- good += length;
- thisitem = next;
- } else {
-- thisitem = nextitem(thisitem);
-+ thisitem = nextitem(thisitem, nfrontp);
- }
- }
-
---
-2.7.4
-
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/CVE-2022-39028.patch b/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/CVE-2022-39028.patch
deleted file mode 100644
index e8c3f1d..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/CVE-2022-39028.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 4133a888aa256312186962ab70d4a36eed5920c1 Mon Sep 17 00:00:00 2001
-From: Brooks Davis <brooks@FreeBSD.org>
-Date: Mon, 26 Sep 2022 18:56:51 +0100
-Subject: [PATCH] telnetd: fix two-byte input crash
-
-Move initialization of the slc table earlier so it doesn't get
-accessed before that happens.
-
-For details on the issue, see:
-https://pierrekim.github.io/blog/2022-08-24-2-byte-dos-freebsd-netbsd-telnetd-netkit-telnetd-inetutils-telnetd-kerberos-telnetd.html
-
-Reviewed by: cy
-Obtained from: NetBSD via cy
-Differential Revision: https://reviews.freebsd.org/D36680
-
-CVE: CVE-2022-39028
-Upstream-Status: Backport [https://cgit.freebsd.org/src/commit/?id=6914ffef4e23]
-
-(cherry picked from commit 6914ffef4e2318ca1d0ead28eafb6f06055ce0f8)
-Signed-off-by: Sanjay Chitroda <sanjay.chitroda@einfochips.com>
-
----
- telnetd/telnetd.c | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/telnetd/telnetd.c b/telnetd/telnetd.c
-index f36f505..efa0fe1 100644
---- a/telnetd/telnetd.c
-+++ b/telnetd/telnetd.c
-@@ -615,6 +615,11 @@ doit(struct sockaddr_in *who)
- int level;
- char user_name[256];
-
-+ /*
-+ * Initialize the slc mapping table.
-+ */
-+ get_slc_defaults();
-+
- /*
- * Find an available pty to use.
- */
-@@ -698,11 +703,6 @@ void telnet(int f, int p)
- char *HE;
- const char *IM;
-
-- /*
-- * Initialize the slc mapping table.
-- */
-- get_slc_defaults();
--
- /*
- * Do some tests where it is desireable to wait for a response.
- * Rather than doing them slowly, one at a time, do them all
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/To-aviod-buffer-overflow-in-telnet.patch b/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/To-aviod-buffer-overflow-in-telnet.patch
deleted file mode 100644
index 34a6479..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/To-aviod-buffer-overflow-in-telnet.patch
+++ /dev/null
@@ -1,1217 +0,0 @@
-From f09a6460a62aacb87bb8683d16aa3ce55848bf7e Mon Sep 17 00:00:00 2001
-From: Li xin <lixin.fnst@cn.fujitsu.com>
-Date: Fri, 28 Nov 2014 07:06:24 +0900
-Subject: [PATCH 1/2] To aviod buffer overflow in telnet
-
-This patch is from Fedora.
-
-Upstream-Status: Pending
-
-Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
----
- telnet/Makefile | 4 +-
- telnet/commands.cc | 270 +++++++++++++++++++++++++++++++++++-----------------
- telnet/defines.h | 2 +
- telnet/externs.h | 7 +-
- telnet/main.cc | 65 ++++++++++---
- telnet/netlink.cc | 78 +++++++++------
- telnet/netlink.h | 7 +-
- telnet/network.cc | 1 +
- telnet/proto.h | 2 +-
- telnet/ring.cc | 2 +-
- telnet/ring.h | 2 +-
- telnet/sys_bsd.cc | 11 +++
- telnet/telnet.1 | 37 +++++--
- telnet/telnet.cc | 45 +++++----
- telnet/terminal.cc | 17 +++-
- telnet/utilities.cc | 2 +
- 16 files changed, 380 insertions(+), 172 deletions(-)
-
-diff --git a/telnet/Makefile b/telnet/Makefile
-index cef866f..39249e1 100644
---- a/telnet/Makefile
-+++ b/telnet/Makefile
-@@ -7,7 +7,7 @@ include ../MRULES
-
- # -DAUTHENTICATE
- CXXFLAGS += -DUSE_TERMIO -DKLUDGELINEMODE
--LIBS += $(LIBTERMCAP)
-+LIBS = $(LIBTERMCAP)
-
- SRCS = commands.cc main.cc network.cc ring.cc sys_bsd.cc telnet.cc \
- terminal.cc tn3270.cc utilities.cc genget.cc environ.cc netlink.cc
-@@ -22,7 +22,7 @@ depend:
- $(CXX) $(CXXFLAGS) -MM $(SRCS) >depend.mk
-
- install: telnet
-- install -s -m$(BINMODE) telnet $(INSTALLROOT)$(BINDIR)
-+ install -m$(BINMODE) telnet $(INSTALLROOT)$(BINDIR)
- install -m$(MANMODE) telnet.1 $(INSTALLROOT)$(MANDIR)/man1
-
- clean:
-diff --git a/telnet/commands.cc b/telnet/commands.cc
-index d92bccd..02c593e 100644
---- a/telnet/commands.cc
-+++ b/telnet/commands.cc
-@@ -86,10 +86,6 @@ char cmd_rcsid[] =
-
- #define HELPINDENT ((int) sizeof ("connect"))
-
--#ifndef MAXHOSTNAMELEN
--#define MAXHOSTNAMELEN 64
--#endif MAXHOSTNAMELEN
--
- #if defined(HAS_IPPROTO_IP) && defined(IP_TOS)
- int tos = -1;
- #endif /* defined(HAS_IPPROTO_IP) && defined(IP_TOS) */
-@@ -98,7 +94,7 @@ static unsigned long sourceroute(char *arg, char **cpp, int *lenp);
-
-
- char *hostname;
--static char _hostname[MAXHOSTNAMELEN];
-+static char *_hostname;
-
- //typedef int (*intrtn_t)(int argc, const char *argv[]);
-
-@@ -161,7 +157,7 @@ class command_entry {
- assert(argc>=1);
- if (nargs>=0 && argc!=nargs+1) {
- fprintf(stderr, "Wrong number of arguments for command.\n");
-- fprintf(stderr, "Try %s ? for help\n", argv[0]);
-+ fprintf(stderr, "Try ? %s for help\n", argv[0]);
- return 0; /* is this right? */
- }
- if (nargs==-2) {
-@@ -480,6 +476,7 @@ static int send_wontcmd(const char *name, const char *) {
- int send_tncmd(int (*func)(int, int), const char *cmd, const char *name) {
- char **cpp;
- extern char *telopts[];
-+ long opt;
-
- if (isprefix(name, "help") || isprefix(name, "?")) {
- register int col, len;
-@@ -506,16 +503,23 @@ int send_tncmd(int (*func)(int, int), const char *cmd, const char *name) {
- name, cmd);
- return 0;
- }
-+
-+ opt = cpp - telopts;
- if (cpp == 0) {
-- fprintf(stderr, "'%s': unknown argument ('send %s ?' for help).\n",
-+ char *end;
-+
-+ opt = strtol(name, &end, 10);
-+ if (*end || opt < 0 || opt > 255) {
-+ fprintf(stderr, "'%s': unknown argument ('send %s ?' for help).\n",
- name, cmd);
-- return 0;
-+ return 0;
-+ }
- }
- if (!connected) {
- printf("?Need to be connected first.\n");
- return 0;
- }
-- (*func)(cpp - telopts, 1);
-+ (*func)(opt, 1);
- return 1;
- }
-
-@@ -689,9 +693,9 @@ static struct togglelist Togglelist[] = {
- "print encryption debugging information" },
- #endif
-
-- { "skiprc", "don't read ~/.telnetrc file",
-+ { "skiprc", "don't read the telnetrc files",
- NULL, &skiprc,
-- "read ~/.telnetrc file" },
-+ "read the telnetrc files" },
- { "binary",
- "sending and receiving of binary data",
- togbinary, NULL,
-@@ -1615,15 +1619,20 @@ void ayt_status(int) {
- #endif
-
- int tn(int argc, const char *argv[]) {
-- register struct hostent *host = 0;
- struct sockaddr_in sn;
-- struct servent *sp = 0;
- char *srp = NULL;
- int srlen;
--
-- const char *cmd, *volatile user = 0;
-+ int family = 0;
-+ const char *cmd, *volatile user = 0, *srchostp = 0;
- const char *portp = NULL;
- char *hostp = NULL;
-+ char *resolv_hostp;
-+ struct addrinfo hints;
-+ struct addrinfo *hostaddr = 0;
-+ int res;
-+ char name[NI_MAXHOST];
-+ char service[NI_MAXSERV];
-+ struct addrinfo *tmpaddr;
-
- /* clear the socket address prior to use */
- memset(&sn, 0, sizeof(sn));
-@@ -1632,6 +1641,10 @@ int tn(int argc, const char *argv[]) {
- printf("?Already connected to %s\n", hostname);
- return 0;
- }
-+ if (_hostname) {
-+ delete[] _hostname;
-+ _hostname = 0;
-+ }
- if (argc < 2) {
- (void) strcpy(line, "open ");
- printf("(to) ");
-@@ -1657,11 +1670,33 @@ int tn(int argc, const char *argv[]) {
- --argc;
- continue;
- }
-+ if (strcmp(*argv, "-b") == 0) {
-+ --argc; ++argv;
-+ if (argc == 0)
-+ goto usage;
-+ srchostp = *argv++;
-+ --argc;
-+ continue;
-+ }
- if (strcmp(*argv, "-a") == 0) {
- --argc; ++argv;
- autologin = 1;
- continue;
- }
-+ if (strcmp(*argv, "-6") == 0) {
-+ --argc; ++argv;
-+#ifdef AF_INET6
-+ family = AF_INET6;
-+#else
-+ puts("IPv6 unsupported");
-+#endif
-+ continue;
-+ }
-+ if (strcmp(*argv, "-4") == 0) {
-+ --argc; ++argv;
-+ family = AF_INET;
-+ continue;
-+ }
- if (hostp == 0) {
- /* this leaks memory - FIXME */
- hostp = strdup(*argv++);
-@@ -1680,6 +1715,8 @@ int tn(int argc, const char *argv[]) {
- if (hostp == 0)
- goto usage;
-
-+ resolv_hostp = hostp;
-+
- #if defined(IP_OPTIONS) && defined(HAS_IPPROTO_IP)
- if (hostp[0] == '@' || hostp[0] == '!') {
- if ((hostname = strrchr(hostp, ':')) == NULL)
-@@ -1696,78 +1733,122 @@ int tn(int argc, const char *argv[]) {
- } else {
- sn.sin_addr.s_addr = temp;
- sn.sin_family = AF_INET;
-+ /*
-+ * For source route we just make sure to get the IP given
-+ * on the command line when looking up the port.
-+ */
-+ resolv_hostp = inet_ntoa(sn.sin_addr);
- }
- }
-- else {
--#endif
-- if (inet_aton(hostp, &sn.sin_addr)) {
-- sn.sin_family = AF_INET;
-- strcpy(_hostname, hostp);
-- hostname = _hostname;
-- }
-- else {
-- host = gethostbyname(hostp);
-- if (host) {
-- sn.sin_family = host->h_addrtype;
-- if (host->h_length > (int)sizeof(sn.sin_addr)) {
-- host->h_length = sizeof(sn.sin_addr);
-- }
--#if defined(h_addr) /* In 4.3, this is a #define */
-- memcpy((caddr_t)&sn.sin_addr,
-- host->h_addr_list[0], host->h_length);
--#else /* defined(h_addr) */
-- memcpy((caddr_t)&sn.sin_addr, host->h_addr, host->h_length);
--#endif /* defined(h_addr) */
-- strncpy(_hostname, host->h_name, sizeof(_hostname));
-- _hostname[sizeof(_hostname)-1] = '\0';
-- hostname = _hostname;
-- } else {
-- herror(hostp);
-- return 0;
-- }
-- }
--#if defined(IP_OPTIONS) && defined(HAS_IPPROTO_IP)
-- }
- #endif
-+
-+ /* User port or the default name of telnet. */
- if (portp) {
- if (*portp == '-') {
- portp++;
- telnetport = 1;
-- } else
-+ } else {
- telnetport = 0;
-- sn.sin_port = atoi(portp);
-- if (sn.sin_port == 0) {
-- sp = getservbyname(portp, "tcp");
-- if (sp)
-- sn.sin_port = sp->s_port;
-- else {
-- printf("%s: bad port number\n", portp);
-- return 0;
-+ if (*portp >='0' && *portp<='9') {
-+ char *end;
-+ long int p;
-+
-+ p=strtol(portp, &end, 10);
-+ if (ERANGE==errno && (LONG_MIN==p || LONG_MAX==p)) {
-+ fprintf(stderr, "telnet: port %s overflows\n", portp);
-+ return 0;
-+ } else if (p<=0 || p>=65536) {
-+ fprintf(stderr, "telnet: port %s out of range\n", portp);
-+ return 0;
-+ }
- }
-- }
-- else {
-- sn.sin_port = htons(sn.sin_port);
- }
-- }
-+ }
- else {
-- if (sp == 0) {
-- sp = getservbyname("telnet", "tcp");
-- if (sp == 0) {
-- fprintf(stderr, "telnet: tcp/telnet: unknown service\n");
-- return 0;
-- }
-- sn.sin_port = sp->s_port;
-- }
-+ portp = "telnet";
- telnetport = 1;
- }
-- printf("Trying %s...\n", inet_ntoa(sn.sin_addr));
-+
-+ /* We only understand SOCK_STREAM sockets. */
-+ memset(&hints, 0, sizeof(hints));
-+ hints.ai_socktype = SOCK_STREAM;
-+ hints.ai_flags = AI_NUMERICHOST;
-+ hints.ai_family = family;
-+
-+ if (srchostp) {
-+ res = getaddrinfo(srchostp, "0", &hints, &hostaddr);
-+ if (res) {
-+ fprintf(stderr, "telnet: could not resolve %s: %s\n", srchostp,
-+ gai_strerror(res));
-+ return 0;
-+ }
-+ hints.ai_family = hostaddr->ai_family;
-+ res = nlink.bind(hostaddr);
-+ freeaddrinfo(hostaddr);
-+ if (res < 0)
-+ return 0;
-+ }
-+
-+ /* Resolve both the host and service simultaneously. */
-+ res = getaddrinfo(resolv_hostp, portp, &hints, &hostaddr);
-+ if (res == EAI_NONAME) {
-+ hints.ai_flags = AI_CANONNAME;
-+ res = getaddrinfo(resolv_hostp, portp, &hints, &hostaddr);
-+ } else if (hostaddr) {
-+ hostaddr->ai_canonname = 0;
-+ }
-+ if (res || !hostaddr) {
-+ fprintf(stderr, "telnet: could not resolve %s/%s: %s\n", resolv_hostp, portp, gai_strerror(res));
-+ return 0;
-+ }
-+
-+ /* Try to connect to every listed round robin IP. */
-+ tmpaddr = hostaddr;
-+ errno = 0;
- do {
-- int x = nlink.connect(debug, host, &sn, srp, srlen, tos);
-- if (!x) return 0;
-- else if (x==1) continue;
-+ int x;
-+
-+ if (!tmpaddr) {
-+ if (errno)
-+ perror("telnet: Unable to connect to remote host");
-+ else
-+ fputs("telnet: Unable to connect to remote host: "
-+ "Bad port number\n", stderr);
-+err:
-+ freeaddrinfo(hostaddr);
-+ return 0;
-+ }
-+
-+ if (tmpaddr->ai_family == AF_UNIX) {
-+nextaddr:
-+ tmpaddr = tmpaddr->ai_next;
-+ continue;
-+ }
-+
-+ getnameinfo(tmpaddr->ai_addr, tmpaddr->ai_addrlen,
-+ name, sizeof(name), service, sizeof(service),
-+ NI_NUMERICHOST | NI_NUMERICSERV);
-+
-+ printf("Trying %s...\n", name);
-+ x = nlink.connect(debug, tmpaddr, srp, srlen, tos);
-+ if (!x)
-+ goto err;
-+ else if (x==1)
-+ goto nextaddr;
-+
- connected++;
- } while (connected == 0);
-- cmdrc(hostp, hostname);
-+ if (tmpaddr->ai_canonname == 0) {
-+ hostname = new char[strlen(hostp)+1];
-+ strcpy(hostname, hostp);
-+ }
-+ else {
-+ hostname = new char[strlen(tmpaddr->ai_canonname)+1];
-+ strcpy(hostname, tmpaddr->ai_canonname);
-+ }
-+
-+ cmdrc(hostp, hostname, portp);
-+ freeaddrinfo(hostaddr);
- if (autologin && user == NULL) {
- struct passwd *pw;
-
-@@ -2013,30 +2094,21 @@ static int help(command_table *tab, int argc, const char *argv[]) {
- return 0;
- }
-
--static char *rcname = 0;
--static char rcbuf[128];
--
--void cmdrc(const char *m1, const char *m2) {
-+static void readrc(const char *m1, const char *m2, const char *port,
-+ const char *rcname)
-+{
- FILE *rcfile;
- int gotmachine = 0;
- int l1 = strlen(m1);
- int l2 = strlen(m2);
-- char m1save[64];
--
-- if (skiprc) return;
-+ int lport = strlen(port);
-+ char m1save[l1 + 1];
-+ char portsave[lport + 1];
-
- strcpy(m1save, m1);
- m1 = m1save;
--
-- if (rcname == 0) {
-- rcname = getenv("HOME");
-- if (rcname)
-- strcpy(rcbuf, rcname);
-- else
-- rcbuf[0] = '\0';
-- strcat(rcbuf, "/.telnetrc");
-- rcname = rcbuf;
-- }
-+ strcpy(portsave, port);
-+ port = portsave;
-
- rcfile = fopen(rcname, "r");
- if (!rcfile) return;
-@@ -2061,6 +2133,13 @@ void cmdrc(const char *m1, const char *m2) {
- strncpy(line, &line[7], sizeof(line) - 7);
- else
- continue;
-+
-+ if (line[0] == ':') {
-+ if (!strncasecmp(&line[1], port, lport))
-+ continue;
-+ strncpy(line, &line[lport + 1], sizeof(line) - lport - 1);
-+ }
-+
- if (line[0] != ' ' && line[0] != '\t' && line[0] != '\n')
- continue;
- gotmachine = 1;
-@@ -2073,6 +2152,21 @@ void cmdrc(const char *m1, const char *m2) {
- fclose(rcfile);
- }
-
-+void cmdrc(const char *m1, const char *m2, const char *port) {
-+ char *rcname = NULL;
-+
-+ if (skiprc) return;
-+
-+ readrc(m1, m2, port, "/etc/telnetrc");
-+ if (asprintf (&rcname, "%s/.telnetrc", getenv ("HOME")) == -1)
-+ {
-+ perror ("asprintf");
-+ return;
-+ }
-+ readrc(m1, m2, port, rcname);
-+ free (rcname);
-+}
-+
- #if defined(IP_OPTIONS) && defined(HAS_IPPROTO_IP)
-
- /*
-diff --git a/telnet/defines.h b/telnet/defines.h
-index 2784400..d5edc46 100644
---- a/telnet/defines.h
-+++ b/telnet/defines.h
-@@ -50,3 +50,5 @@
- #define MODE_COMMAND_LINE(m) ((m)==-1)
-
- #define CONTROL(x) ((x)&0x1f) /* CTRL(x) is not portable */
-+
-+#define MODE_OUT8 0x8000 /* binary mode sans -opost */
-diff --git a/telnet/externs.h b/telnet/externs.h
-index 955df79..0730e8a 100644
---- a/telnet/externs.h
-+++ b/telnet/externs.h
-@@ -48,9 +48,7 @@
- typedef unsigned char cc_t;
- #endif
-
--#ifdef __linux__
- #include <unistd.h> /* get _POSIX_VDISABLE */
--#endif
-
- #ifndef _POSIX_VDISABLE
- #error "Please fix externs.h to define _POSIX_VDISABLE"
-@@ -60,7 +58,8 @@ typedef unsigned char cc_t;
-
- extern int autologin; /* Autologin enabled */
- extern int skiprc; /* Don't process the ~/.telnetrc file */
--extern int eight; /* use eight bit mode (binary in and/or out */
-+extern int eight; /* use eight bit mode (binary in and/or out) */
-+extern int binary; /* use binary option (in and/or out) */
- extern int flushout; /* flush output */
- extern int connected; /* Are we connected to the other side? */
- extern int globalmode; /* Mode tty should be in */
-@@ -225,6 +224,8 @@ cc_t *tcval(int);
-
- //#if 0
- extern struct termios new_tc;
-+extern struct termios old_tc;
-+
-
- #define termEofChar new_tc.c_cc[VEOF]
- #define termEraseChar new_tc.c_cc[VERASE]
-diff --git a/telnet/main.cc b/telnet/main.cc
-index b67f2ce..b626e54 100644
---- a/telnet/main.cc
-+++ b/telnet/main.cc
-@@ -45,7 +45,10 @@ char main_rcsid[] =
-
- #include <sys/types.h>
- #include <getopt.h>
-+#include <stdlib.h>
- #include <string.h>
-+#include <netdb.h>
-+#include <errno.h>
-
- #include "ring.h"
- #include "externs.h"
-@@ -80,12 +83,13 @@ tninit(void)
- void usage(void) {
- fprintf(stderr, "Usage: %s %s%s%s%s\n",
- prompt,
-- " [-8] [-E] [-L] [-a] [-d] [-e char] [-l user] [-n tracefile]",
-- "\n\t",
-+ "[-4] [-6] [-8] [-E] [-L] [-a] [-d] [-e char] [-l user]",
-+ "\n\t[-n tracefile] [ -b addr ]",
- #ifdef TN3270
-+ "\n\t"
- "[-noasynch] [-noasynctty] [-noasyncnet] [-r] [-t transcom]\n\t",
- #else
-- "[-r] ",
-+ " [-r] ",
- #endif
- "[host-name [port]]"
- );
-@@ -102,7 +106,8 @@ main(int argc, char *argv[])
- extern char *optarg;
- extern int optind;
- int ch;
-- char *user;
-+ char *user, *srcaddr;
-+ int family;
-
- tninit(); /* Clear out things */
- #if defined(CRAY) && !defined(__STDC__)
-@@ -110,21 +115,38 @@ main(int argc, char *argv[])
- #endif
-
- TerminalSaveState();
-+ if ((old_tc.c_cflag & (CSIZE|PARENB)) != CS8)
-+ eight = 0;
-
- if ((prompt = strrchr(argv[0], '/'))!=NULL)
- ++prompt;
- else
- prompt = argv[0];
-
-- user = NULL;
-+ user = srcaddr = NULL;
-+ family = 0;
-
- rlogin = (strncmp(prompt, "rlog", 4) == 0) ? '~' : _POSIX_VDISABLE;
- autologin = -1;
-
-- while ((ch = getopt(argc, argv, "8EKLS:X:ade:k:l:n:rt:x")) != EOF) {
-+ while ((ch = getopt(argc, argv,
-+ "4678EKLS:X:ab:de:k:l:n:rt:x")) != EOF) {
- switch(ch) {
-+ case '4':
-+ family = AF_INET;
-+ break;
-+ case '6':
-+#ifdef AF_INET6
-+ family = AF_INET6;
-+#else
-+ fputs("IPv6 unsupported\n", stderr);
-+#endif
-+ break;
-+ case '7':
-+ eight = 0; /* 7-bit ouput and input */
-+ break;
- case '8':
-- eight = 3; /* binary output and input */
-+ binary = 3; /* binary output and input */
- break;
- case 'E':
- rlogin = escapechar = _POSIX_VDISABLE;
-@@ -133,23 +155,26 @@ main(int argc, char *argv[])
- //autologin = 0;
- break;
- case 'L':
-- eight |= 2; /* binary output only */
-+ binary |= 2; /* binary output only */
- break;
- case 'S':
- {
--#ifdef HAS_GETTOS
- extern int tos;
-+ int num;
-
-- if ((tos = parsetos(optarg, "tcp")) < 0)
-+#ifdef HAS_GETTOS
-+ if ((num = parsetos(optarg, "tcp")) < 0) {
-+#else
-+ errno = 0;
-+ num = strtol(optarg, 0, 0);
-+ if (errno) {
-+#endif
- fprintf(stderr, "%s%s%s%s\n",
- prompt, ": Bad TOS argument '",
- optarg,
- "; will try to use default TOS");
--#else
-- fprintf(stderr,
-- "%s: Warning: -S ignored, no parsetos() support.\n",
-- prompt);
--#endif
-+ } else
-+ tos = num;
- }
- break;
- case 'X':
-@@ -210,6 +235,9 @@ main(int argc, char *argv[])
- "%s: -x ignored, no encryption support.\n",
- prompt);
- break;
-+ case 'b':
-+ srcaddr = optarg;
-+ break;
- case '?':
- default:
- usage();
-@@ -233,6 +261,13 @@ main(int argc, char *argv[])
- *argp++ = "-l";
- *argp++ = user;
- }
-+ if (srcaddr) {
-+ *argp++ = "-b";
-+ *argp++ = srcaddr;
-+ }
-+ if (family) {
-+ *argp++ = family == AF_INET ? "-4" : "-6";
-+ }
- *argp++ = argv[0]; /* host */
- if (argc > 1)
- *argp++ = argv[1]; /* port */
-diff --git a/telnet/netlink.cc b/telnet/netlink.cc
-index f439cff..f839747 100644
---- a/telnet/netlink.cc
-+++ b/telnet/netlink.cc
-@@ -79,22 +79,61 @@ void netlink::close(int doshutdown) {
- shutdown(net, 2);
- }
- ::close(net);
-+ net = -1;
- }
-
--int netlink::connect(int debug, struct hostent *host,
-- struct sockaddr_in *sn,
-- char *srcroute, int srlen, int tos)
-+int netlink::bind(struct addrinfo *addr)
- {
-- int on=1;
-+ int res;
-+
-+ res = socket(addr->ai_family);
-+ if (res < 2) {
-+ if (res == 1)
-+ perror("telnet: socket");
-+ return -1;
-+ }
-+
-+ if (::bind(net, addr->ai_addr, addr->ai_addrlen) < 0) {
-+ perror("telnet: bind");
-+ return -1;
-+ }
-+
-+ return 0;
-+}
-+
-+int netlink::socket(int family)
-+{
-+ if (this->family != family)
-+ close(0);
-
-- net = socket(AF_INET, SOCK_STREAM, 0);
- if (net < 0) {
-- perror("telnet: socket");
-- return 0;
-+ this->family = family;
-+ net = ::socket(family, SOCK_STREAM, 0);
-+ if (net < 0) {
-+ if (errno == EAFNOSUPPORT)
-+ return 1;
-+ perror("telnet: socket");
-+ return 0;
-+ }
- }
-
-+ return 2;
-+}
-+
-+int netlink::connect(int debug, struct addrinfo *addr,
-+ char *srcroute, int srlen, int tos)
-+{
-+ int on=1;
-+ int res;
-+
-+ res = socket(addr->ai_family);
-+ if (res < 2)
-+ return res;
-+
- #if defined(IP_OPTIONS) && defined(HAS_IPPROTO_IP)
- if (srcroute) {
-+ if (addr->ai_family != AF_INET)
-+ fputs("Source route is only supported for IPv4\n", stderr);
- if (setsockopt(net, IPPROTO_IP, IP_OPTIONS, srcroute, srlen) < 0)
- perror("setsockopt (IP_OPTIONS)");
- }
-@@ -108,7 +147,7 @@ int netlink::connect(int debug, struct hostent *host,
- #endif
- if (tos < 0) tos = 020; /* Low Delay bit */
- if (tos && (setsockopt(net, IPPROTO_IP, IP_TOS, &tos, sizeof(int)) < 0)
-- && (errno != ENOPROTOOPT))
-+ && (errno != ENOPROTOOPT) && (errno != EOPNOTSUPP))
- perror("telnet: setsockopt (IP_TOS) (ignored)");
- #endif /* defined(IPPROTO_IP) && defined(IP_TOS) */
-
-@@ -116,27 +155,8 @@ int netlink::connect(int debug, struct hostent *host,
- perror("setsockopt (SO_DEBUG)");
- }
-
-- if (::connect(net, (struct sockaddr *)sn, sizeof(*sn)) < 0) {
--#if defined(h_addr) /* In 4.3, this is a #define */
-- if (host && host->h_addr_list[1]) {
-- int oerrno = errno;
--
-- fprintf(stderr, "telnet: connect to address %s: ",
-- inet_ntoa(sn->sin_addr));
-- errno = oerrno;
-- perror(NULL);
-- host->h_addr_list++;
-- if (host->h_length > (int)sizeof(sn->sin_addr)) {
-- host->h_length = sizeof(sn->sin_addr);
-- }
-- memcpy(&sn->sin_addr, host->h_addr_list[0], host->h_length);
-- close(net);
-- return 1;
-- }
--#endif /* defined(h_addr) */
--
-- perror("telnet: Unable to connect to remote host");
-- return 0;
-+ if (::connect(net, addr->ai_addr, addr->ai_addrlen) < 0) {
-+ return 1;
- }
- return 2;
- }
-diff --git a/telnet/netlink.h b/telnet/netlink.h
-index 9852b30..0ac8a08 100644
---- a/telnet/netlink.h
-+++ b/telnet/netlink.h
-@@ -1,13 +1,16 @@
-
- class netlink {
-+ private:
-+ int family;
- protected:
- int net;
- public:
- netlink();
- ~netlink();
-
-- int connect(int debug, struct hostent *host,
-- struct sockaddr_in *sin,
-+ int bind(struct addrinfo *hostaddr);
-+ int socket(int family);
-+ int connect(int debug, struct addrinfo *hostaddr,
- char *srcroute, int srlen,
- int tos);
- void close(int doshutdown);
-diff --git a/telnet/network.cc b/telnet/network.cc
-index 6a2c374..0dcf3e2 100644
---- a/telnet/network.cc
-+++ b/telnet/network.cc
-@@ -40,6 +40,7 @@ char net_rcsid[] =
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <sys/time.h>
-+#include <stdlib.h>
- #include <errno.h>
- #include <arpa/telnet.h>
-
-diff --git a/telnet/proto.h b/telnet/proto.h
-index 8be4a39..92f2419 100644
---- a/telnet/proto.h
-+++ b/telnet/proto.h
-@@ -13,7 +13,7 @@ int TerminalWindowSize(long *rows, long *cols);
- void auth_encrypt_user(char *);
- void auth_name(unsigned char *, int);
- void auth_printsub(unsigned char *, int, unsigned char *, int);
--void cmdrc(const char *m1, const char *m2);
-+void cmdrc(const char *, const char *, const char *);
- void env_init(void);
- int getconnmode(void);
- void init_network(void);
-diff --git a/telnet/ring.cc b/telnet/ring.cc
-index be57396..772c6c5 100644
---- a/telnet/ring.cc
-+++ b/telnet/ring.cc
-@@ -165,7 +165,7 @@ int ringbuf::flush() {
-
- /////////////////////////////////////////////////// supply //////////////
-
--void ringbuf::printf(const char *format, ...) {
-+void ringbuf::xprintf(const char *format, ...) {
- char xbuf[256];
- va_list ap;
- va_start(ap, format);
-diff --git a/telnet/ring.h b/telnet/ring.h
-index 15d3f3f..049377e 100644
---- a/telnet/ring.h
-+++ b/telnet/ring.h
-@@ -83,7 +83,7 @@ class ringbuf {
- // manual supply
- void putch(char c) { write(&c, 1); }
- void write(const char *buffer, int ct);
-- void printf(const char *format, ...);
-+ void xprintf(const char *format, ...);
- int empty_count() { return size - count; }
-
- // automatic supply
-diff --git a/telnet/sys_bsd.cc b/telnet/sys_bsd.cc
-index 93fba7e..a8c9aab 100644
---- a/telnet/sys_bsd.cc
-+++ b/telnet/sys_bsd.cc
-@@ -189,18 +189,25 @@ void NetSetPgrp(int fd) {
- * Various signal handling routines.
- */
-
-+#if 0
- static void deadpeer(int /*sig*/) {
- setcommandmode();
- siglongjmp(peerdied, -1);
- }
-+#endif
-
- static void intr(int /*sig*/) {
- if (localchars) {
- intp();
- }
- else {
-+#if 0
- setcommandmode();
- siglongjmp(toplevel, -1);
-+#else
-+ signal(SIGINT, SIG_DFL);
-+ raise(SIGINT);
-+#endif
- }
- }
-
-@@ -214,6 +221,8 @@ static void intr2(int /*sig*/) {
- sendabort();
- return;
- }
-+ signal(SIGQUIT, SIG_DFL);
-+ raise(SIGQUIT);
- }
-
- #ifdef SIGWINCH
-@@ -238,7 +247,9 @@ void ayt(int sig) {
- void sys_telnet_init(void) {
- signal(SIGINT, intr);
- signal(SIGQUIT, intr2);
-+#if 0
- signal(SIGPIPE, deadpeer);
-+#endif
- #ifdef SIGWINCH
- signal(SIGWINCH, sendwin);
- #endif
-diff --git a/telnet/telnet.1 b/telnet/telnet.1
-index 54a47fb..8365e42 100644
---- a/telnet/telnet.1
-+++ b/telnet/telnet.1
-@@ -42,8 +42,9 @@
- protocol
- .Sh SYNOPSIS
- .Nm telnet
--.Op Fl 8ELadr
-+.Op Fl 468ELadr
- .Op Fl S Ar tos
-+.Op Fl b Ar address
- .Op Fl e Ar escapechar
- .Op Fl l Ar user
- .Op Fl n Ar tracefile
-@@ -68,6 +69,10 @@ command implicitly; see the description below.
- .Pp
- Options:
- .Bl -tag -width indent
-+.It Fl 4
-+Force IPv4 address resolution.
-+.It Fl 6
-+Force IPv6 address resolution.
- .It Fl 8
- Request 8-bit operation. This causes an attempt to negotiate the
- .Dv TELNET BINARY
-@@ -89,6 +94,8 @@ of the
- option if supported by the remote system. The username is retrieved
- via
- .Xr getlogin 3 .
-+.It Fl b Ar address
-+Use bind(2) on the local socket to bind it to a specific local address.
- .It Fl d
- Sets the initial value of the
- .Ic debug
-@@ -474,17 +481,29 @@ protocol without making a mess. Protocol negotiation can be forced by
- placing a dash before the port number.
- .Pp
- After establishing a connection, any commands associated with the
--remote host in the user's
-+remote host in
-+.Pa /etc/telnetrc
-+and the user's
- .Pa .telnetrc
--file are executed.
-+file are executed, in that order.
- .Pp
--The format of the .telnetrc file is as follows: Lines beginning with a
-+The format of the telnetrc files is as follows: Lines beginning with a
- #, and blank lines, are ignored. The rest of the file should consist
- of hostnames and sequences of
- .Nm telnet
- commands to use with that host. Commands should be one per line,
- indented by whitespace; lines beginning without whitespace are
--interpreted as hostnames. Upon connecting to a particular host, the
-+interpreted as hostnames. Lines beginning with the special hostname
-+.Ql DEFAULT
-+will apply to all hosts. Hostnames including
-+.Ql DEFAULT
-+may be followed immediately by a colon and a port number or string.
-+If a port is specified it must match exactly with what is specified
-+on the command line. If no port was specified on the command line,
-+then the value
-+.Ql telnet
-+is used.
-+Upon connecting to a particular host, the
- commands associated with that host are executed.
- .It Ic quit
- Close any open session and exit
-@@ -1184,9 +1203,7 @@ escape sequences are preceded by a '*' to aid in locating them.
- When the skiprc toggle is
- .Dv TRUE ,
- .Tn telnet
--does not read the
--.Pa \&.telnetrc
--file. The initial value for this toggle is
-+does not read the telnetrc files. The initial value for this toggle is
- .Dv FALSE.
- .It Ic termdata
- Toggles the display of all terminal data (in hexadecimal format).
-@@ -1239,7 +1256,9 @@ to the other side via the
- .Dv TELNET ENVIRON
- option.
- .Sh FILES
--.Bl -tag -width ~/.telnetrc -compact
-+.Bl -tag -width /etc/telnetrc -compact
-+.It Pa /etc/telnetrc
-+global telnet startup values
- .It Pa ~/.telnetrc
- user customized telnet startup values
- .El
-diff --git a/telnet/telnet.cc b/telnet/telnet.cc
-index 4fc3b1f..7eca811 100644
---- a/telnet/telnet.cc
-+++ b/telnet/telnet.cc
-@@ -88,7 +88,8 @@ char do_dont_resp[256];
- char will_wont_resp[256];
-
- int
--eight = 0,
-+ eight = 3,
-+ binary = 0,
- autologin = 0, /* Autologin anyone? */
- skiprc = 0,
- connected,
-@@ -639,14 +640,14 @@ static const char *gettermname(void) {
- if (resettermname) {
- resettermname = 0;
- tname = env_getvalue("TERM", 0);
-- if (!tname || my_setupterm(tname, 1, &err)) {
-+ if (!tname /* || my_setupterm(tname, 1, &err) */) {
- termbuf[0] = 0;
- tname = "UNKNOWN";
- }
- mklist(termbuf, tname, termtypes);
- next = 0;
- }
-- if (next==termtypes.num()) next = 0;
-+ if (next==termtypes.num()-1) next = 0;
- return termtypes[next++];
- }
- /*
-@@ -681,7 +682,7 @@ static void suboption(void) {
- }
- #endif /* TN3270 */
- name = gettermname();
-- netoring.printf("%c%c%c%c%s%c%c", IAC, SB, TELOPT_TTYPE,
-+ netoring.xprintf("%c%c%c%c%s%c%c", IAC, SB, TELOPT_TTYPE,
- TELQUAL_IS, name, IAC, SE);
- }
- break;
-@@ -693,7 +694,7 @@ static void suboption(void) {
- if (SB_GET() == TELQUAL_SEND) {
- long oospeed, iispeed;
- TerminalSpeeds(&iispeed, &oospeed);
-- netoring.printf("%c%c%c%c%ld,%ld%c%c", IAC, SB, TELOPT_TSPEED,
-+ netoring.xprintf("%c%c%c%c%ld,%ld%c%c", IAC, SB, TELOPT_TSPEED,
- TELQUAL_IS, oospeed, iispeed, IAC, SE);
- }
- break;
-@@ -780,7 +781,7 @@ static void suboption(void) {
- send_wont(TELOPT_XDISPLOC, 1);
- break;
- }
-- netoring.printf("%c%c%c%c%s%c%c", IAC, SB, TELOPT_XDISPLOC,
-+ netoring.xprintf("%c%c%c%c%s%c%c", IAC, SB, TELOPT_XDISPLOC,
- TELQUAL_IS, dp, IAC, SE);
- }
- break;
-@@ -798,7 +799,7 @@ void lm_will(unsigned char *cmd, int len) {
- return;
- }
-
-- netoring.printf("%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE,
-+ netoring.xprintf("%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE,
- DONT, cmd[0], IAC, SE);
- }
-
-@@ -815,7 +816,7 @@ void lm_do(unsigned char *cmd, int len) {
- /*@*/ printf("lm_do: no command!!!\n"); /* Should not happen... */
- return;
- }
-- netoring.printf("%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE,
-+ netoring.xprintf("%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE,
- WONT, cmd[0], IAC, SE);
- }
-
-@@ -838,7 +839,7 @@ void lm_mode(unsigned char *cmd, int len, int init) {
- k |= MODE_ACK;
- }
-
-- netoring.printf("%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE, LM_MODE,
-+ netoring.xprintf("%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE, LM_MODE,
- k, IAC, SE);
-
- setconnmode(0); /* set changed mode */
-@@ -933,11 +934,11 @@ void slc_mode_import(int def) {
-
- void slc_import(int def) {
- if (def) {
-- netoring.printf("%c%c%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE,
-+ netoring.xprintf("%c%c%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE,
- LM_SLC, 0, SLC_DEFAULT, 0, IAC, SE);
- }
- else {
-- netoring.printf("%c%c%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE,
-+ netoring.xprintf("%c%c%c%c%c%c%c%c%c", IAC, SB, TELOPT_LINEMODE,
- LM_SLC, 0, SLC_VARIABLE, 0, IAC, SE);
- }
- }
-@@ -1050,6 +1051,7 @@ void slc_check(void) {
-
-
- unsigned char slc_reply[128];
-+unsigned char const * const slc_reply_eom = &slc_reply[sizeof(slc_reply)];
- unsigned char *slc_replyp;
-
- void slc_start_reply(void) {
-@@ -1061,6 +1063,14 @@ void slc_start_reply(void) {
- }
-
- void slc_add_reply(int func, int flags, int value) {
-+ /* A sequence of up to 6 bytes my be written for this member of the SLC
-+ * suboption list by this function. The end of negotiation command,
-+ * which is written by slc_end_reply(), will require 2 additional
-+ * bytes. Do not proceed unless there is sufficient space for these
-+ * items.
-+ */
-+ if (&slc_replyp[6+2] > slc_reply_eom)
-+ return;
- if ((*slc_replyp++ = func) == IAC)
- *slc_replyp++ = IAC;
- if ((*slc_replyp++ = flags) == IAC)
-@@ -1142,6 +1152,7 @@ void env_opt(unsigned char *buf, int len) {
- }
- }
-
-+/* OPT_REPLY_SIZE must be a multiple of 2. */
- #define OPT_REPLY_SIZE 256
- unsigned char *opt_reply;
- unsigned char *opt_replyp;
-@@ -1173,6 +1184,7 @@ void env_opt_start_info(void) {
-
- void env_opt_add(const char *ep) {
- const char *vp;
-+ const unsigned char *tp;
- unsigned char c;
-
- if (opt_reply == NULL) /*XXX*/
-@@ -1185,11 +1197,12 @@ void env_opt_add(const char *ep) {
- return;
- }
- vp = env_getvalue(ep, 1);
-- if (opt_replyp + (vp ? strlen(vp) : 0) + strlen(ep) + 6 > opt_replyend)
-+ tp = opt_replyp + (vp ? strlen(vp) * 2 : 0) + strlen(ep) * 2 + 6;
-+ if (tp > opt_replyend)
- {
- register int len;
-- opt_replyend += OPT_REPLY_SIZE;
-- len = opt_replyend - opt_reply;
-+ len = ((tp - opt_reply) + OPT_REPLY_SIZE - 1) & ~(OPT_REPLY_SIZE - 1);
-+ opt_replyend = opt_reply + len;
- opt_reply = (unsigned char *)realloc(opt_reply, len);
- if (opt_reply == NULL) {
- /*@*/ printf("env_opt_add: realloc() failed!!!\n");
-@@ -1740,8 +1753,8 @@ void telnet(const char * /*user*/) {
- send_do(TELOPT_STATUS, 1);
- if (env_getvalue("DISPLAY", 0))
- send_will(TELOPT_XDISPLOC, 1);
-- if (eight)
-- tel_enter_binary(eight);
-+ if (binary)
-+ tel_enter_binary(binary);
- }
- #endif /* !defined(TN3270) */
-
-diff --git a/telnet/terminal.cc b/telnet/terminal.cc
-index 9eb47ae..764f18f 100644
---- a/telnet/terminal.cc
-+++ b/telnet/terminal.cc
-@@ -45,6 +45,8 @@ char terminal_rcsid[] =
- #include <signal.h>
- #include <errno.h>
- #include <stdio.h>
-+#include <string.h>
-+#include <stdlib.h>
-
- #include "ring.h"
- #include "defines.h"
-@@ -155,9 +157,11 @@ int getconnmode(void) {
- if (localflow)
- mode |= MODE_FLOW;
-
-- if (my_want_state_is_will(TELOPT_BINARY))
-+ if ((eight & 1) || my_want_state_is_will(TELOPT_BINARY))
- mode |= MODE_INBIN;
-
-+ if (eight & 2)
-+ mode |= MODE_OUT8;
- if (his_want_state_is_will(TELOPT_BINARY))
- mode |= MODE_OUTBIN;
-
-@@ -449,10 +453,13 @@ void TerminalNewMode(int f)
- // breaks SunOS.
- tmp_tc.c_iflag |= ISTRIP;
- }
-- if (f & MODE_OUTBIN) {
-+ if (f & (MODE_OUTBIN|MODE_OUT8)) {
- tmp_tc.c_cflag &= ~(CSIZE|PARENB);
- tmp_tc.c_cflag |= CS8;
-- tmp_tc.c_oflag &= ~OPOST;
-+ if (f & MODE_OUTBIN)
-+ tmp_tc.c_oflag &= ~OPOST;
-+ else
-+ tmp_tc.c_oflag |= OPOST;
- } else {
- tmp_tc.c_cflag &= ~(CSIZE|PARENB);
- tmp_tc.c_cflag |= old_tc.c_cflag & (CSIZE|PARENB);
-@@ -468,7 +475,7 @@ void TerminalNewMode(int f)
-
- #ifdef SIGINFO
- signal(SIGINFO, ayt);
--#endif SIGINFO
-+#endif /* SIGINFO */
-
- #if defined(NOKERNINFO)
- tmp_tc.c_lflag |= NOKERNINFO;
-@@ -504,7 +511,7 @@ void TerminalNewMode(int f)
-
- #ifdef SIGINFO
- signal(SIGINFO, ayt_status);
--#endif SIGINFO
-+#endif /* SIGINFO */
-
- #ifdef SIGTSTP
- signal(SIGTSTP, SIG_DFL);
-diff --git a/telnet/utilities.cc b/telnet/utilities.cc
-index 0448f0a..66839ab 100644
---- a/telnet/utilities.cc
-+++ b/telnet/utilities.cc
-@@ -47,6 +47,8 @@ char util_rcsid[] =
- #include <sys/socket.h>
- #include <unistd.h>
- #include <ctype.h>
-+#include <string.h>
-+#include <stdlib.h>
-
- #include "ring.h"
- #include "defines.h"
---
-1.8.4.2
-
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/Warning-fix-in-the-step-of-install.patch b/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/Warning-fix-in-the-step-of-install.patch
deleted file mode 100644
index 9ac7543..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/Warning-fix-in-the-step-of-install.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 31362e4c0d02b4a2b952ad0dd32acfb573c442f3 Mon Sep 17 00:00:00 2001
-From: Li xin <lixin.fnst@cn.fujitsu.com>
-Date: Fri, 28 Nov 2014 07:17:40 +0900
-Subject: [PATCH 2/2] WARNING Fix and modify "CFLAGS"
-
-WARNING: QA Issue: File '/usr/sbin/in.telnetd' from netkit-telnet was
-already stripped, this will prevent future debugging! [already-stripped]
-
-Upstream-Status: Pending
-
-Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
----
- telnetd/Makefile | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/telnetd/Makefile b/telnetd/Makefile
-index 72650b4..a4cf9fa 100644
---- a/telnetd/Makefile
-+++ b/telnetd/Makefile
-@@ -9,7 +9,8 @@ include ../MRULES
- # take out -DPARANOID_TTYS.
-
- CFLAGS += '-DISSUE_FILE="/etc/issue.net"' -DPARANOID_TTYS \
-- -DNO_REVOKE -DKLUDGELINEMODE -DDIAGNOSTICS
-+ -DNO_REVOKE -DKLUDGELINEMODE -DDIAGNOSTICS \
-+ -DLOGIN_WRAPPER=\"/${libdir}/telnetlogin\"
- # LIBS += $(LIBTERMCAP)
-
- OBJS = telnetd.o state.o termstat.o slc.o sys_term.o utility.o \
-@@ -27,7 +28,7 @@ $(OBJS): defs.h ext.h pathnames.h telnetd.h logwtmp.h logout.h setproctitle.h
- telnetd.o: ../version.h
-
- install: telnetd
-- install -s -m$(DAEMONMODE) telnetd $(INSTALLROOT)$(SBINDIR)/in.telnetd
-+ install -m$(DAEMONMODE) telnetd $(INSTALLROOT)$(SBINDIR)/in.telnetd
- install -m$(MANMODE) issue.net.5 $(INSTALLROOT)$(MANDIR)/man5/
- install -m$(MANMODE) telnetd.8 $(INSTALLROOT)$(MANDIR)/man8/in.telnetd.8
- ln -sf in.telnetd.8 $(INSTALLROOT)$(MANDIR)/man8/telnetd.8
---
-1.8.4.2
-
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/cross-compile.patch b/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/cross-compile.patch
deleted file mode 100644
index b3fe36b..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/cross-compile.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-To support the cross-compile
-
-Upstream-Status: Pending
-
-make the configure to support the cross-compile, by only to compile the
-target, and not to run it
-
-Roy Li <rongqing.li@windriver.com>
-Index: netkit-telnet-0.17/configure
-===================================================================
---- netkit-telnet-0.17.orig/configure 2008-11-23 22:01:26.000000000 +0100
-+++ netkit-telnet-0.17/configure 2008-11-23 22:05:00.000000000 +0100
-@@ -94,7 +94,7 @@
- echo -n 'Checking if C compiler works... '
- if (
- $CC __conftest.c -o __conftest || exit 1
-- ./__conftest || exit 1
-+ # Idiots belong shot! ./__conftest || exit 1
- ) >/dev/null 2>&1; then
- echo 'yes'
- else
-@@ -141,7 +141,7 @@
- echo -n 'Checking if C++ compiler works... '
- if (
- $CXX __conftest.cc -o __conftest || exit 1
-- ./__conftest || exit 1
-+ # Iditios belong shot! ./__conftest || exit 1
- ) >/dev/null 2>&1; then
- echo 'yes'
- else
-@@ -284,7 +284,7 @@
- else
- if (
- $CXX $CXXFLAGS -D__USE_BSD_SIGNAL __conftest.cc -o __conftest || exit 1
-- ./__conftest || exit 1
-+ # running still does not work./__conftest || exit 1
- ) >/dev/null 2>&1; then
- echo '-D__USE_BSD_SIGNAL'
- CFLAGS="$CFLAGS -D__USE_BSD_SIGNAL"
-@@ -501,7 +501,7 @@
- EOF
- if (
- $CXX $CXXFLAGS __conftest.cc $LIBBSD -o __conftest || exit 1
-- ./__conftest || exit 1
-+ # argh! morons!./__conftest || exit 1
- ) >/dev/null 2>&1; then
- echo 'ok'
- else
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/telnet-xinetd b/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/telnet-xinetd
deleted file mode 100644
index 12204c7..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/files/telnet-xinetd
+++ /dev/null
@@ -1,14 +0,0 @@
-# default: on
-# description: The telnet server serves telnet sessions; it uses \
-# unencrypted username/password pairs for authentication.
-service telnet
-{
- flags = REUSE
- socket_type = stream
- wait = no
- user = root
- server = /usr/sbin/in.telnetd
- log_on_failure += USERID
- disable = yes
-}
-
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb b/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb
deleted file mode 100644
index d3de038..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb
+++ /dev/null
@@ -1,74 +0,0 @@
-DESCRIPTION = "netkit-telnet includes the telnet daemon and client."
-HOMEPAGE = "http://www.hcs.harvard.edu/~dholland/computers/netkit.html"
-SECTION = "net"
-DEPENDS = "ncurses"
-LICENSE = "BSD-4-Clause"
-LIC_FILES_CHKSUM = "file://telnet/telnet.cc;beginline=2;endline=3;md5=780868e7b566313e70cb701560ca95ef"
-
-SRC_URI = "${DEBIAN_MIRROR}/main/n/netkit-telnet/netkit-telnet_${PV}.orig.tar.gz \
- file://To-aviod-buffer-overflow-in-telnet.patch \
- file://Warning-fix-in-the-step-of-install.patch \
- file://telnet-xinetd \
- file://cross-compile.patch \
- file://0001-telnet-telnetd-Fix-print-format-strings.patch \
- file://0001-telnet-telnetd-Fix-deadlock-on-cleanup.patch \
- file://CVE-2020-10188.patch \
- file://0001-telnetd-utility.c-Fix-buffer-overflow-in-netoprintf.patch \
- file://0001-utility-Include-time.h-form-time-and-strftime-protot.patch \
- file://0001-Drop-using-register-keyword.patch \
- file://CVE-2022-39028.patch \
- "
-
-UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/n/netkit-telnet/"
-UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.orig\.tar"
-
-EXTRA_OEMAKE = "INSTALLROOT=${D} SBINDIR=${sbindir} DAEMONMODE=755 \
- MANMODE=644 MANDIR=${mandir}"
-
-do_configure () {
- ./configure --prefix=${prefix}
- sed -e 's#^CFLAGS=\(.*\)$#CFLAGS= -D_GNU_SOURCE \1#' \
- -e 's#^CXXFLAGS=\(.*\)$#CXXFLAGS= -D_GNU_SOURCE \1#' \
- -e 's#^LDFLAGS=.*$#LDFLAGS= ${LDFLAGS}#' \
- -i MCONFIG
-}
-
-do_compile () {
- oe_runmake 'CC=${CC}' 'LD=${LD}' 'LDFLAGS=${LDFLAGS}' SUB=telnet
- oe_runmake 'CC=${CC}' 'LD=${LD}' 'LDFLAGS=${LDFLAGS}' LIBS=-lutil SUB=telnetd
- oe_runmake 'CC=${CC}' 'LD=${LD}' 'LDFLAGS=${LDFLAGS}' SUB=telnetlogin
-}
-
-do_install () {
- install -d ${D}${bindir}
- install -m 0755 telnet/telnet ${D}${bindir}/telnet.${PN}
- install -d ${D}${sbindir}
- install -d ${D}${mandir}/man1
- install -d ${D}${mandir}/man5
- install -d ${D}${mandir}/man8
- oe_runmake SUB=telnetd install
- rm -rf ${D}${mandir}/man1
- install -D -m 4750 ${B}/telnetlogin/telnetlogin ${D}/${libdir}/telnetlogin
- # fix up hardcoded paths
- sed -i -e 's,/usr/sbin/,${sbindir}/,' ${WORKDIR}/telnet-xinetd
- install -d ${D}/etc/xinetd.d/
- install -p -m644 ${WORKDIR}/telnet-xinetd ${D}/etc/xinetd.d/telnet
-}
-
-inherit update-alternatives
-
-ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE:${PN} = "telnet"
-ALTERNATIVE_LINK_NAME[telnet] = "${bindir}/telnet"
-ALTERNATIVE_TARGET[telnet] = "${bindir}/telnet.${PN}"
-
-ALTERNATIVE:${PN}-doc = "telnetd.8"
-ALTERNATIVE_LINK_NAME[telnetd.8] = "${mandir}/man8/telnetd.8"
-
-SRC_URI[md5sum] = "d6beabaaf53fe6e382c42ce3faa05a36"
-SRC_URI[sha256sum] = "9c80d5c7838361a328fb6b60016d503def9ce53ad3c589f3b08ff71a2bb88e00"
-FILES:${PN} += "${sbindir}/in.* ${libdir}/* ${sysconfdir}/xinetd.d/*"
-
-# http://errors.yoctoproject.org/Errors/Details/186954/
-COMPATIBLE_HOST:libc-musl = 'null'
-RCONFLICTS:${PN} = "inetutils-telnetd"
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp/0001-tftp-Include-missing-fcntl.h.patch b/meta-openembedded/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp/0001-tftp-Include-missing-fcntl.h.patch
deleted file mode 100644
index 7893690..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp/0001-tftp-Include-missing-fcntl.h.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From fa57e161fc953264a75d50a787cb83983e60acc7 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 30 Aug 2017 18:30:02 -0700
-Subject: [PATCH] tftp: Include missing fcntl.h
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- tftp/main.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/tftp/main.c b/tftp/main.c
-index 8c54843..5c9b698 100644
---- a/tftp/main.c
-+++ b/tftp/main.c
-@@ -63,6 +63,7 @@ char main_rcsid[] =
- #include <ctype.h>
- #include <netdb.h>
- #include <unistd.h>
-+#include <fcntl.h>
-
- #include "tftpsubs.h" /* for mysignal() */
-
---
-2.14.1
-
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp/tftp.conf b/meta-openembedded/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp/tftp.conf
deleted file mode 100644
index 7bc6ca9..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp/tftp.conf
+++ /dev/null
@@ -1,11 +0,0 @@
-service tftp
-{
- disable = no
- socket_type = dgram
- port = 69
- protocol = udp
- wait = yes
- user = nobody
- server = /usr/sbin/in.tftpd
- server_args = /tftpboot
-}
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp_0.17.bb b/meta-openembedded/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp_0.17.bb
deleted file mode 100644
index 8de3e4a..0000000
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp_0.17.bb
+++ /dev/null
@@ -1,59 +0,0 @@
-SUMMARY = "tftp - Trivial file transfer protocol client"
-SECTION = "net"
-LICENSE = "BSD-4-Clause"
-DEPENDS = "tcp-wrappers"
-
-LIC_FILES_CHKSUM = "file://tftp/tftp.c;beginline=2;endline=3;md5=84d2cfe1e60863a7d82648734ba4d30c"
-
-SRC_URI = "${DEBIAN_MIRROR}/main/n/${BPN}/${BPN}_${PV}.orig.tar.gz;name=archive \
- ${DEBIAN_MIRROR}/main/n/${BPN}/${BPN}_${PV}-18.diff.gz;name=patch18 \
- file://tftp.conf \
- file://0001-tftp-Include-missing-fcntl.h.patch \
- "
-
-SRC_URI[archive.md5sum] = "b7262c798e2ff50e29c2ff50dfd8d6a8"
-SRC_URI[archive.sha256sum] = "3a43c0010d4e61f412563fd83769d4667d8b8e82903526d21cb9205fe55ad14d"
-SRC_URI[patch18.md5sum] = "cb29e7a33dd85105ba6e6ec4f971e42c"
-SRC_URI[patch18.sha256sum] = "092437d27b4fa88c044ef6290372fee5ce06d223607f0e22a6e527065c8930e7"
-
-inherit autotools-brokensep update-alternatives
-
-do_configure () {
- ./configure --prefix=${prefix}
- echo "CFLAGS=${CFLAGS}" > MCONFIG
-}
-
-do_compile () {
- oe_runmake 'CC=${CC}' 'LD=${LD}' 'LDFLAGS=${LDFLAGS}' 'CFLAGS=${CFLAGS}'
-}
-
-do_install () {
- install -d ${D}${bindir}
- install -d ${D}${sbindir}
- install -d ${D}${mandir}/man1
- install -d ${D}${mandir}/man8
- install -d ${D}${sysconfdir}/xinetd.d
-
- sed -i 's/install -s/install/' tftp/Makefile
- sed -i 's/install -s/install/' tftpd/Makefile
-
- oe_runmake 'INSTALLROOT=${D}' 'BINMODE=0755' \
- 'DAEMONMODE=0755' 'MANMODE=0644' \
- 'BINDIR=${bindir}' 'SBINDIR=${sbindir}' \
- 'MANDIR=${mandir}' install
-
- install ${WORKDIR}/tftp.conf ${D}/${sysconfdir}/xinetd.d/tftp
-}
-
-PACKAGES = "${PN}-client ${PN}-server ${PN}-doc ${BPN}-dbg"
-FILES:${PN}-client = "${bindir}/*"
-FILES:${PN}-server = "${sbindir}/* ${sysconfdir}/xinetd.d/*"
-FILES:${PN}-doc = "${mandir}"
-FILES:${PN}-dbg = "${prefix}/src/debug \
- ${bindir}/.debug ${sbindir}/.debug"
-
-RDEPENDS:${PN}-server = "tcp-wrappers xinetd"
-
-ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE:${PN}-client = "tftp"
-ALTERNATIVE_LINK_NAME[tftp] = "${bindir}/tftp"
diff --git a/meta-openembedded/meta-networking/recipes-protocols/frr/frr/CVE-2023-46752.patch b/meta-openembedded/meta-networking/recipes-protocols/frr/frr/CVE-2023-46752.patch
new file mode 100644
index 0000000..e1f3024
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-protocols/frr/frr/CVE-2023-46752.patch
@@ -0,0 +1,125 @@
+From b08afc81c60607a4f736f418f2e3eb06087f1a35 Mon Sep 17 00:00:00 2001
+From: Donatas Abraitis <donatas@opensourcerouting.org>
+Date: Fri, 20 Oct 2023 17:49:18 +0300
+Subject: [PATCH] bgpd: Handle MP_REACH_NLRI malformed packets with session
+ reset
+
+Avoid crashing bgpd.
+
+```
+(gdb)
+bgp_mp_reach_parse (args=<optimized out>, mp_update=0x7fffffffe140) at bgpd/bgp_attr.c:2341
+2341 stream_get(&attr->mp_nexthop_global, s, IPV6_MAX_BYTELEN);
+(gdb)
+stream_get (dst=0x7fffffffe1ac, s=0x7ffff0006e80, size=16) at lib/stream.c:320
+320 {
+(gdb)
+321 STREAM_VERIFY_SANE(s);
+(gdb)
+323 if (STREAM_READABLE(s) < size) {
+(gdb)
+34 return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest));
+(gdb)
+
+Thread 1 "bgpd" received signal SIGSEGV, Segmentation fault.
+0x00005555556e37be in route_set_aspath_prepend (rule=0x555555aac0d0, prefix=0x7fffffffe050,
+ object=0x7fffffffdb00) at bgpd/bgp_routemap.c:2282
+2282 if (path->attr->aspath->refcnt)
+(gdb)
+```
+
+With the configuration:
+
+```
+ neighbor 127.0.0.1 remote-as external
+ neighbor 127.0.0.1 passive
+ neighbor 127.0.0.1 ebgp-multihop
+ neighbor 127.0.0.1 disable-connected-check
+ neighbor 127.0.0.1 update-source 127.0.0.2
+ neighbor 127.0.0.1 timers 3 90
+ neighbor 127.0.0.1 timers connect 1
+ address-family ipv4 unicast
+ redistribute connected
+ neighbor 127.0.0.1 default-originate
+ neighbor 127.0.0.1 route-map RM_IN in
+ exit-address-family
+!
+route-map RM_IN permit 10
+ set as-path prepend 200
+exit
+```
+
+Reported-by: Iggy Frankovic <iggyfran@amazon.com>
+Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
+Upstream-Status: Backport [https://github.com/FRRouting/frr/commit/b08afc81c60607a4f736f418f2e3eb06087f1a35]
+CVE: CVE-2023-46752
+Signed-off-by: Jonas Gorski <jonas.gorski@bisdn.de>
+---
+ bgpd/bgp_attr.c | 6 +-----
+ bgpd/bgp_attr.h | 1 -
+ bgpd/bgp_packet.c | 6 +-----
+ 3 files changed, 2 insertions(+), 11 deletions(-)
+
+diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c
+index 6925aff727e2..e7bb42a5d989 100644
+--- a/bgpd/bgp_attr.c
++++ b/bgpd/bgp_attr.c
+@@ -2421,7 +2421,7 @@ int bgp_mp_reach_parse(struct bgp_attr_parser_args *args,
+
+ mp_update->afi = afi;
+ mp_update->safi = safi;
+- return BGP_ATTR_PARSE_EOR;
++ return bgp_attr_malformed(args, BGP_NOTIFY_UPDATE_MAL_ATTR, 0);
+ }
+
+ mp_update->afi = afi;
+@@ -3759,10 +3759,6 @@ enum bgp_attr_parse_ret bgp_attr_parse(struct peer *peer, struct attr *attr,
+ goto done;
+ }
+
+- if (ret == BGP_ATTR_PARSE_EOR) {
+- goto done;
+- }
+-
+ if (ret == BGP_ATTR_PARSE_ERROR) {
+ flog_warn(EC_BGP_ATTRIBUTE_PARSE_ERROR,
+ "%s: Attribute %s, parse error", peer->host,
+diff --git a/bgpd/bgp_attr.h b/bgpd/bgp_attr.h
+index 961e5f122470..fc347e7a1b4b 100644
+--- a/bgpd/bgp_attr.h
++++ b/bgpd/bgp_attr.h
+@@ -364,7 +364,6 @@ enum bgp_attr_parse_ret {
+ /* only used internally, send notify + convert to BGP_ATTR_PARSE_ERROR
+ */
+ BGP_ATTR_PARSE_ERROR_NOTIFYPLS = -3,
+- BGP_ATTR_PARSE_EOR = -4,
+ };
+
+ struct bpacket_attr_vec_arr;
+diff --git a/bgpd/bgp_packet.c b/bgpd/bgp_packet.c
+index b585591e2f69..5ecf343b6657 100644
+--- a/bgpd/bgp_packet.c
++++ b/bgpd/bgp_packet.c
+@@ -2397,8 +2397,7 @@ static int bgp_update_receive(struct peer_connection *connection,
+ * Non-MP IPv4/Unicast EoR is a completely empty UPDATE
+ * and MP EoR should have only an empty MP_UNREACH
+ */
+- if ((!update_len && !withdraw_len && nlris[NLRI_MP_UPDATE].length == 0)
+- || (attr_parse_ret == BGP_ATTR_PARSE_EOR)) {
++ if (!update_len && !withdraw_len && nlris[NLRI_MP_UPDATE].length == 0) {
+ afi_t afi = 0;
+ safi_t safi;
+ struct graceful_restart_info *gr_info;
+@@ -2419,9 +2418,6 @@ static int bgp_update_receive(struct peer_connection *connection,
+ && nlris[NLRI_MP_WITHDRAW].length == 0) {
+ afi = nlris[NLRI_MP_WITHDRAW].afi;
+ safi = nlris[NLRI_MP_WITHDRAW].safi;
+- } else if (attr_parse_ret == BGP_ATTR_PARSE_EOR) {
+- afi = nlris[NLRI_MP_UPDATE].afi;
+- safi = nlris[NLRI_MP_UPDATE].safi;
+ }
+
+ if (afi && peer->afc[afi][safi]) {
+--
+2.42.1
+
diff --git a/meta-openembedded/meta-networking/recipes-protocols/frr/frr/CVE-2023-46753.patch b/meta-openembedded/meta-networking/recipes-protocols/frr/frr/CVE-2023-46753.patch
new file mode 100644
index 0000000..6bf159a
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-protocols/frr/frr/CVE-2023-46753.patch
@@ -0,0 +1,117 @@
+From d8482bf011cb2b173e85b65b4bf3d5061250cdb9 Mon Sep 17 00:00:00 2001
+From: Donatas Abraitis <donatas@opensourcerouting.org>
+Date: Mon, 23 Oct 2023 23:34:10 +0300
+Subject: [PATCH] bgpd: Check mandatory attributes more carefully for UPDATE
+ message
+
+If we send a crafted BGP UPDATE message without mandatory attributes, we do
+not check if the length of the path attributes is zero or not. We only check
+if attr->flag is at least set or not. Imagine we send only unknown transit
+attribute, then attr->flag is always 0. Also, this is true only if graceful-restart
+capability is received.
+
+A crash:
+
+```
+bgpd[7834]: [TJ23Y-GY0RH] 127.0.0.1 Unknown attribute is received (type 31, length 16)
+bgpd[7834]: [PCFFM-WMARW] 127.0.0.1(donatas-pc) rcvd UPDATE wlen 0 attrlen 20 alen 17
+BGP[7834]: Received signal 11 at 1698089639 (si_addr 0x0, PC 0x55eefd375b4a); aborting...
+BGP[7834]: /usr/local/lib/libfrr.so.0(zlog_backtrace_sigsafe+0x6d) [0x7f3205ca939d]
+BGP[7834]: /usr/local/lib/libfrr.so.0(zlog_signal+0xf3) [0x7f3205ca9593]
+BGP[7834]: /usr/local/lib/libfrr.so.0(+0xf5181) [0x7f3205cdd181]
+BGP[7834]: /lib/x86_64-linux-gnu/libpthread.so.0(+0x12980) [0x7f3204ff3980]
+BGP[7834]: /usr/lib/frr/bgpd(+0x18ab4a) [0x55eefd375b4a]
+BGP[7834]: /usr/local/lib/libfrr.so.0(route_map_apply_ext+0x310) [0x7f3205cd1290]
+BGP[7834]: /usr/lib/frr/bgpd(+0x163610) [0x55eefd34e610]
+BGP[7834]: /usr/lib/frr/bgpd(bgp_update+0x9a5) [0x55eefd35c1d5]
+BGP[7834]: /usr/lib/frr/bgpd(bgp_nlri_parse_ip+0xb7) [0x55eefd35e867]
+BGP[7834]: /usr/lib/frr/bgpd(+0x1555e6) [0x55eefd3405e6]
+BGP[7834]: /usr/lib/frr/bgpd(bgp_process_packet+0x747) [0x55eefd345597]
+BGP[7834]: /usr/local/lib/libfrr.so.0(event_call+0x83) [0x7f3205cef4a3]
+BGP[7834]: /usr/local/lib/libfrr.so.0(frr_run+0xc0) [0x7f3205ca10a0]
+BGP[7834]: /usr/lib/frr/bgpd(main+0x409) [0x55eefd2dc979]
+```
+
+Sending:
+
+```
+import socket
+import time
+
+OPEN = (b"\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"
+b"\xff\xff\x00\x62\x01\x04\xfd\xea\x00\x5a\x0a\x00\x00\x01\x45\x02"
+b"\x06\x01\x04\x00\x01\x00\x01\x02\x02\x02\x00\x02\x02\x46\x00\x02"
+b"\x06\x41\x04\x00\x00\xfd\xea\x02\x02\x06\x00\x02\x06\x45\x04\x00"
+b"\x01\x01\x03\x02\x0e\x49\x0c\x0a\x64\x6f\x6e\x61\x74\x61\x73\x2d"
+b"\x70\x63\x00\x02\x04\x40\x02\x00\x78\x02\x09\x47\x07\x00\x01\x01"
+b"\x80\x00\x00\x00")
+
+KEEPALIVE = (b"\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"
+b"\xff\xff\xff\xff\xff\xff\x00\x13\x04")
+
+UPDATE = bytearray.fromhex("ffffffffffffffffffffffffffffffff003c0200000014ff1f001000040146464646460004464646464646664646f50d05800100010200ffff000000")
+
+s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+s.connect(('127.0.0.2', 179))
+s.send(OPEN)
+data = s.recv(1024)
+s.send(KEEPALIVE)
+data = s.recv(1024)
+s.send(UPDATE)
+data = s.recv(1024)
+time.sleep(1000)
+s.close()
+```
+
+Reported-by: Iggy Frankovic <iggyfran@amazon.com>
+Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
+Upstream-Status: Backport [https://github.com/FRRouting/frr/commit/d8482bf011cb2b173e85b65b4bf3d5061250cdb9]
+CVE: CVE-2023-46753
+Signed-off-by: Jonas Gorski <jonas.gorski@bisdn.de>
+---
+ bgpd/bgp_attr.c | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c
+index e7bb42a5d989..cf2dbe65b805 100644
+--- a/bgpd/bgp_attr.c
++++ b/bgpd/bgp_attr.c
+@@ -3385,13 +3385,15 @@ bgp_attr_unknown(struct bgp_attr_parser_args *args)
+ }
+
+ /* Well-known attribute check. */
+-static int bgp_attr_check(struct peer *peer, struct attr *attr)
++static int bgp_attr_check(struct peer *peer, struct attr *attr,
++ bgp_size_t length)
+ {
+ uint8_t type = 0;
+
+ /* BGP Graceful-Restart End-of-RIB for IPv4 unicast is signaled as an
+ * empty UPDATE. */
+- if (CHECK_FLAG(peer->cap, PEER_CAP_RESTART_RCV) && !attr->flag)
++ if (CHECK_FLAG(peer->cap, PEER_CAP_RESTART_RCV) && !attr->flag &&
++ !length)
+ return BGP_ATTR_PARSE_PROCEED;
+
+ /* "An UPDATE message that contains the MP_UNREACH_NLRI is not required
+@@ -3443,7 +3445,7 @@ enum bgp_attr_parse_ret bgp_attr_parse(struct peer *peer, struct attr *attr,
+ enum bgp_attr_parse_ret ret;
+ uint8_t flag = 0;
+ uint8_t type = 0;
+- bgp_size_t length;
++ bgp_size_t length = 0;
+ uint8_t *startp, *endp;
+ uint8_t *attr_endp;
+ uint8_t seen[BGP_ATTR_BITMAP_SIZE];
+@@ -3831,7 +3833,7 @@ enum bgp_attr_parse_ret bgp_attr_parse(struct peer *peer, struct attr *attr,
+ }
+
+ /* Check all mandatory well-known attributes are present */
+- ret = bgp_attr_check(peer, attr);
++ ret = bgp_attr_check(peer, attr, length);
+ if (ret < 0)
+ goto done;
+
+--
+2.42.1
+
diff --git a/meta-openembedded/meta-networking/recipes-protocols/frr/frr/CVE-2023-47234.patch b/meta-openembedded/meta-networking/recipes-protocols/frr/frr/CVE-2023-47234.patch
new file mode 100644
index 0000000..754f934
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-protocols/frr/frr/CVE-2023-47234.patch
@@ -0,0 +1,95 @@
+From c37119df45bbf4ef713bc10475af2ee06e12f3bf Mon Sep 17 00:00:00 2001
+From: Donatas Abraitis <donatas@opensourcerouting.org>
+Date: Sun, 29 Oct 2023 22:44:45 +0200
+Subject: [PATCH] bgpd: Ignore handling NLRIs if we received MP_UNREACH_NLRI
+
+If we receive MP_UNREACH_NLRI, we should stop handling remaining NLRIs if
+no mandatory path attributes received.
+
+In other words, if MP_UNREACH_NLRI received, the remaining NLRIs should be handled
+as a new data, but without mandatory attributes, it's a malformed packet.
+
+In normal case, this MUST not happen at all, but to avoid crashing bgpd, we MUST
+handle that.
+
+Reported-by: Iggy Frankovic <iggyfran@amazon.com>
+Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
+Upstream-Status: Backport [https://github.com/FRRouting/frr/commit/c37119df45bbf4ef713bc10475af2ee06e12f3bf]
+CVE: CVE-2023-47234
+Signed-off-by: Jonas Gorski <jonas.gorski@bisdn.de>
+---
+ bgpd/bgp_attr.c | 19 ++++++++++---------
+ bgpd/bgp_attr.h | 1 +
+ bgpd/bgp_packet.c | 7 ++++++-
+ 3 files changed, 17 insertions(+), 10 deletions(-)
+
+diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c
+index 1473dc772502..75aa2ac7cce6 100644
+--- a/bgpd/bgp_attr.c
++++ b/bgpd/bgp_attr.c
+@@ -3399,15 +3399,6 @@ static int bgp_attr_check(struct peer *peer, struct attr *attr,
+ !length)
+ return BGP_ATTR_PARSE_WITHDRAW;
+
+- /* "An UPDATE message that contains the MP_UNREACH_NLRI is not required
+- to carry any other path attributes.", though if MP_REACH_NLRI or NLRI
+- are present, it should. Check for any other attribute being present
+- instead.
+- */
+- if ((!CHECK_FLAG(attr->flag, ATTR_FLAG_BIT(BGP_ATTR_MP_REACH_NLRI)) &&
+- CHECK_FLAG(attr->flag, ATTR_FLAG_BIT(BGP_ATTR_MP_UNREACH_NLRI))))
+- return BGP_ATTR_PARSE_PROCEED;
+-
+ if (!CHECK_FLAG(attr->flag, ATTR_FLAG_BIT(BGP_ATTR_ORIGIN)))
+ type = BGP_ATTR_ORIGIN;
+
+@@ -3426,6 +3417,16 @@ static int bgp_attr_check(struct peer *peer, struct attr *attr,
+ && !CHECK_FLAG(attr->flag, ATTR_FLAG_BIT(BGP_ATTR_LOCAL_PREF)))
+ type = BGP_ATTR_LOCAL_PREF;
+
++ /* An UPDATE message that contains the MP_UNREACH_NLRI is not required
++ * to carry any other path attributes. Though if MP_REACH_NLRI or NLRI
++ * are present, it should. Check for any other attribute being present
++ * instead.
++ */
++ if (!CHECK_FLAG(attr->flag, ATTR_FLAG_BIT(BGP_ATTR_MP_REACH_NLRI)) &&
++ CHECK_FLAG(attr->flag, ATTR_FLAG_BIT(BGP_ATTR_MP_UNREACH_NLRI)))
++ return type ? BGP_ATTR_PARSE_MISSING_MANDATORY
++ : BGP_ATTR_PARSE_PROCEED;
++
+ /* If any of the well-known mandatory attributes are not present
+ * in an UPDATE message, then "treat-as-withdraw" MUST be used.
+ */
+diff --git a/bgpd/bgp_attr.h b/bgpd/bgp_attr.h
+index fc347e7a1b4b..d30155e6dba0 100644
+--- a/bgpd/bgp_attr.h
++++ b/bgpd/bgp_attr.h
+@@ -364,6 +364,7 @@ enum bgp_attr_parse_ret {
+ /* only used internally, send notify + convert to BGP_ATTR_PARSE_ERROR
+ */
+ BGP_ATTR_PARSE_ERROR_NOTIFYPLS = -3,
++ BGP_ATTR_PARSE_MISSING_MANDATORY = -4,
+ };
+
+ struct bpacket_attr_vec_arr;
+diff --git a/bgpd/bgp_packet.c b/bgpd/bgp_packet.c
+index a7514a26aa64..5dc35157ebf6 100644
+--- a/bgpd/bgp_packet.c
++++ b/bgpd/bgp_packet.c
+@@ -2359,7 +2359,12 @@ static int bgp_update_receive(struct peer_connection *connection,
+ /* Network Layer Reachability Information. */
+ update_len = end - stream_pnt(s);
+
+- if (update_len && attribute_len) {
++ /* If we received MP_UNREACH_NLRI attribute, but also NLRIs, then
++ * NLRIs should be handled as a new data. Though, if we received
++ * NLRIs without mandatory attributes, they should be ignored.
++ */
++ if (update_len && attribute_len &&
++ attr_parse_ret != BGP_ATTR_PARSE_MISSING_MANDATORY) {
+ /* Set NLRI portion to structure. */
+ nlris[NLRI_UPDATE].afi = AFI_IP;
+ nlris[NLRI_UPDATE].safi = SAFI_UNICAST;
+--
+2.42.1
+
diff --git a/meta-openembedded/meta-networking/recipes-protocols/frr/frr/CVE-2023-47235.patch b/meta-openembedded/meta-networking/recipes-protocols/frr/frr/CVE-2023-47235.patch
new file mode 100644
index 0000000..b06ba94
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-protocols/frr/frr/CVE-2023-47235.patch
@@ -0,0 +1,112 @@
+From 6814f2e0138a6ea5e1f83bdd9085d9a77999900b Mon Sep 17 00:00:00 2001
+From: Donatas Abraitis <donatas@opensourcerouting.org>
+Date: Fri, 27 Oct 2023 11:56:45 +0300
+Subject: [PATCH] bgpd: Treat EOR as withdrawn to avoid unwanted handling of
+ malformed attrs
+
+Treat-as-withdraw, otherwise if we just ignore it, we will pass it to be
+processed as a normal UPDATE without mandatory attributes, that could lead
+to harmful behavior. In this case, a crash for route-maps with the configuration
+such as:
+
+```
+router bgp 65001
+ no bgp ebgp-requires-policy
+ neighbor 127.0.0.1 remote-as external
+ neighbor 127.0.0.1 passive
+ neighbor 127.0.0.1 ebgp-multihop
+ neighbor 127.0.0.1 disable-connected-check
+ neighbor 127.0.0.1 update-source 127.0.0.2
+ neighbor 127.0.0.1 timers 3 90
+ neighbor 127.0.0.1 timers connect 1
+ !
+ address-family ipv4 unicast
+ neighbor 127.0.0.1 addpath-tx-all-paths
+ neighbor 127.0.0.1 default-originate
+ neighbor 127.0.0.1 route-map RM_IN in
+ exit-address-family
+exit
+!
+route-map RM_IN permit 10
+ set as-path prepend 200
+exit
+```
+
+Send a malformed optional transitive attribute:
+
+```
+import socket
+import time
+
+OPEN = (b"\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"
+b"\xff\xff\x00\x62\x01\x04\xfd\xea\x00\x5a\x0a\x00\x00\x01\x45\x02"
+b"\x06\x01\x04\x00\x01\x00\x01\x02\x02\x02\x00\x02\x02\x46\x00\x02"
+b"\x06\x41\x04\x00\x00\xfd\xea\x02\x02\x06\x00\x02\x06\x45\x04\x00"
+b"\x01\x01\x03\x02\x0e\x49\x0c\x0a\x64\x6f\x6e\x61\x74\x61\x73\x2d"
+b"\x70\x63\x00\x02\x04\x40\x02\x00\x78\x02\x09\x47\x07\x00\x01\x01"
+b"\x80\x00\x00\x00")
+
+KEEPALIVE = (b"\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"
+b"\xff\xff\xff\xff\xff\xff\x00\x13\x04")
+
+UPDATE = bytearray.fromhex("ffffffffffffffffffffffffffffffff002b0200000003c0ff00010100eb00ac100b0b001ad908ac100b0b")
+
+s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+s.connect(('127.0.0.2', 179))
+s.send(OPEN)
+data = s.recv(1024)
+s.send(KEEPALIVE)
+data = s.recv(1024)
+s.send(UPDATE)
+data = s.recv(1024)
+time.sleep(100)
+s.close()
+```
+
+Reported-by: Iggy Frankovic <iggyfran@amazon.com>
+Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
+Upstream-Status: Backport [https://github.com/FRRouting/frr/commit/6814f2e0138a6ea5e1f83bdd9085d9a77999900b]
+CVE: CVE-2023-47235
+Signed-off-by: Jonas Gorski <jonas.gorski@bisdn.de>
+---
+ bgpd/bgp_attr.c | 15 ++++++++++++---
+ 1 file changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c
+index cf2dbe65b805..1473dc772502 100644
+--- a/bgpd/bgp_attr.c
++++ b/bgpd/bgp_attr.c
+@@ -3391,10 +3391,13 @@ static int bgp_attr_check(struct peer *peer, struct attr *attr,
+ uint8_t type = 0;
+
+ /* BGP Graceful-Restart End-of-RIB for IPv4 unicast is signaled as an
+- * empty UPDATE. */
++ * empty UPDATE. Treat-as-withdraw, otherwise if we just ignore it,
++ * we will pass it to be processed as a normal UPDATE without mandatory
++ * attributes, that could lead to harmful behavior.
++ */
+ if (CHECK_FLAG(peer->cap, PEER_CAP_RESTART_RCV) && !attr->flag &&
+ !length)
+- return BGP_ATTR_PARSE_PROCEED;
++ return BGP_ATTR_PARSE_WITHDRAW;
+
+ /* "An UPDATE message that contains the MP_UNREACH_NLRI is not required
+ to carry any other path attributes.", though if MP_REACH_NLRI or NLRI
+@@ -3889,7 +3892,13 @@ done:
+ aspath_unintern(&as4_path);
+
+ transit = bgp_attr_get_transit(attr);
+- if (ret != BGP_ATTR_PARSE_ERROR) {
++ /* If we received an UPDATE with mandatory attributes, then
++ * the unrecognized transitive optional attribute of that
++ * path MUST be passed. Otherwise, it's an error, and from
++ * security perspective it might be very harmful if we continue
++ * here with the unrecognized attributes.
++ */
++ if (ret == BGP_ATTR_PARSE_PROCEED) {
+ /* Finally intern unknown attribute. */
+ if (transit)
+ bgp_attr_set_transit(attr, transit_intern(transit));
+--
+2.42.1
+
diff --git a/meta-openembedded/meta-networking/recipes-protocols/frr/frr_9.0.1.bb b/meta-openembedded/meta-networking/recipes-protocols/frr/frr_9.0.1.bb
index bddc08a..c447df0 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/frr/frr_9.0.1.bb
+++ b/meta-openembedded/meta-networking/recipes-protocols/frr/frr_9.0.1.bb
@@ -9,9 +9,15 @@
LIC_FILES_CHKSUM = "file://doc/licenses/GPL-2.0;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://doc/licenses/LGPL-2.1;md5=4fbd65380cdd255951079008b364516c"
+PR = "r1"
+
SRC_URI = "git://github.com/FRRouting/frr.git;protocol=https;branch=stable/9.0 \
file://frr.pam \
file://0001-tools-make-quiet-actually-suppress-output.patch \
+ file://CVE-2023-46752.patch \
+ file://CVE-2023-46753.patch \
+ file://CVE-2023-47235.patch \
+ file://CVE-2023-47234.patch \
"
SRCREV = "31ed3dd753d62b5d8916998bc32814007e91364b"
diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0001-Create-subroutine-for-cleaning-recent-interfaces.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0001-Create-subroutine-for-cleaning-recent-interfaces.patch
index 91198de..f5d424d 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0001-Create-subroutine-for-cleaning-recent-interfaces.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0001-Create-subroutine-for-cleaning-recent-interfaces.patch
@@ -14,11 +14,11 @@
mDNSPosix/mDNSPosix.c | 24 ++++++++++++++----------
1 file changed, 14 insertions(+), 10 deletions(-)
-diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c
-index 0a7c3dfa2475..fe7242d83599 100644
---- a/mDNSPosix/mDNSPosix.c
-+++ b/mDNSPosix/mDNSPosix.c
-@@ -1322,6 +1322,19 @@ mDNSlocal int SetupSocket(struct sockaddr *intfAddr, mDNSIPPort port, int interf
+Index: mDNSResponder/mDNSPosix/mDNSPosix.c
+===================================================================
+--- mDNSResponder.orig/mDNSPosix/mDNSPosix.c
++++ mDNSResponder/mDNSPosix/mDNSPosix.c
+@@ -1322,6 +1322,19 @@ mDNSlocal int SetupSocket(struct sockadd
return err;
}
@@ -38,7 +38,7 @@
// Creates a PosixNetworkInterface for the interface whose IP address is
// intfAddr and whose name is intfName and registers it with mDNS core.
mDNSlocal int SetupOneInterface(mDNS *const m, struct sockaddr *intfAddr, struct sockaddr *intfMask,
-@@ -1559,16 +1572,7 @@ mDNSlocal int SetupInterfaceList(mDNS *const m)
+@@ -1559,16 +1572,7 @@ mDNSlocal int SetupInterfaceList(mDNS *c
// Clean up.
if (intfList != NULL) freeifaddrs(intfList);
@@ -56,6 +56,3 @@
return err;
}
---
-2.35.1
-
diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0001-Handle-interface-without-ifa_addr.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0001-Handle-interface-without-ifa_addr.patch
index daee318..7e76f07 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0001-Handle-interface-without-ifa_addr.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0001-Handle-interface-without-ifa_addr.patch
@@ -14,11 +14,11 @@
mDNSPosix/mDNSPosix.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
-diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c
-index d7f31cc4d5cf..f10301253f58 100644
---- a/mDNSPosix/mDNSPosix.c
-+++ b/mDNSPosix/mDNSPosix.c
-@@ -1895,6 +1895,7 @@ mDNSlocal void InterfaceChangeCallback(int fd, void *context)
+Index: mDNSResponder/mDNSPosix/mDNSPosix.c
+===================================================================
+--- mDNSResponder.orig/mDNSPosix/mDNSPosix.c
++++ mDNSResponder/mDNSPosix/mDNSPosix.c
+@@ -1895,6 +1895,7 @@ mDNSlocal void InterfaceChangeCallback(i
continue;
if ((ifa_loop4 == NULL) &&
@@ -26,7 +26,7 @@
((*ifi)->ifa_addr->sa_family == AF_INET) &&
((*ifi)->ifa_flags & IFF_UP) &&
((*ifi)->ifa_flags & IFF_LOOPBACK))
-@@ -1903,7 +1904,8 @@ mDNSlocal void InterfaceChangeCallback(int fd, void *context)
+@@ -1903,7 +1904,8 @@ mDNSlocal void InterfaceChangeCallback(i
continue;
}
diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0001-dns-sd-Include-missing-headers.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0001-dns-sd-Include-missing-headers.patch
index 4a60a95..82825b2 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0001-dns-sd-Include-missing-headers.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0001-dns-sd-Include-missing-headers.patch
@@ -11,10 +11,10 @@
mDNSPosix/nss_mdns.c | 3 +++
1 file changed, 3 insertions(+)
-diff --git a/mDNSPosix/nss_mdns.c b/mDNSPosix/nss_mdns.c
-index afadb3c6c33b..84c312759463 100644
---- a/mDNSPosix/nss_mdns.c
-+++ b/mDNSPosix/nss_mdns.c
+Index: mDNSResponder/mDNSPosix/nss_mdns.c
+===================================================================
+--- mDNSResponder.orig/mDNSPosix/nss_mdns.c
++++ mDNSResponder/mDNSPosix/nss_mdns.c
@@ -89,6 +89,9 @@
#include <dns_sd.h>
@@ -25,6 +25,3 @@
//----------
// Public functions
---
-2.35.1
-
diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0002-Create-subroutine-for-tearing-down-an-interface.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0002-Create-subroutine-for-tearing-down-an-interface.patch
index aa3dda8..867db88 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0002-Create-subroutine-for-tearing-down-an-interface.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0002-Create-subroutine-for-tearing-down-an-interface.patch
@@ -13,11 +13,11 @@
mDNSPosix/mDNSPosix.c | 22 ++++++++++++++++------
1 file changed, 16 insertions(+), 6 deletions(-)
-diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c
-index fe7242d83599..a32a880c0ce5 100644
---- a/mDNSPosix/mDNSPosix.c
-+++ b/mDNSPosix/mDNSPosix.c
-@@ -1043,6 +1043,19 @@ mDNSlocal void FreePosixNetworkInterface(PosixNetworkInterface *intf)
+Index: mDNSResponder/mDNSPosix/mDNSPosix.c
+===================================================================
+--- mDNSResponder.orig/mDNSPosix/mDNSPosix.c
++++ mDNSResponder/mDNSPosix/mDNSPosix.c
+@@ -1043,6 +1043,19 @@ mDNSlocal void FreePosixNetworkInterface
gRecentInterfaces = intf;
}
@@ -37,7 +37,7 @@
// Grab the first interface, deregister it, free it, and repeat until done.
mDNSlocal void ClearInterfaceList(mDNS *const m)
{
-@@ -1051,13 +1064,10 @@ mDNSlocal void ClearInterfaceList(mDNS *const m)
+@@ -1051,13 +1064,10 @@ mDNSlocal void ClearInterfaceList(mDNS *
while (m->HostInterfaces)
{
PosixNetworkInterface *intf = (PosixNetworkInterface*)(m->HostInterfaces);
@@ -54,6 +54,3 @@
}
mDNSlocal int SetupIPv6Socket(int fd)
---
-2.35.1
-
diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0002-make-Set-libdns_sd.so-soname-correctly.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0002-make-Set-libdns_sd.so-soname-correctly.patch
index 7f66039..03fb1bc 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0002-make-Set-libdns_sd.so-soname-correctly.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0002-make-Set-libdns_sd.so-soname-correctly.patch
@@ -9,11 +9,11 @@
mDNSPosix/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/mDNSPosix/Makefile b/mDNSPosix/Makefile
-index 802a13dd70b6..5e74193c0e89 100755
---- a/mDNSPosix/Makefile
-+++ b/mDNSPosix/Makefile
-@@ -276,7 +276,7 @@ libdns_sd: setup $(BUILDDIR)/libdns_sd.$(LDSUFFIX)
+Index: mDNSResponder/mDNSPosix/Makefile
+===================================================================
+--- mDNSResponder.orig/mDNSPosix/Makefile
++++ mDNSResponder/mDNSPosix/Makefile
+@@ -276,7 +276,7 @@ libdns_sd: setup $(BUILDDIR)/libdns_sd.$
CLIENTLIBOBJS = $(OBJDIR)/dnssd_clientlib.c.so.o $(OBJDIR)/dnssd_clientstub.c.so.o $(OBJDIR)/dnssd_ipc.c.so.o $(OBJDIR)/dnssd_errstring.c.so.o
$(BUILDDIR)/libdns_sd.$(LDSUFFIX): $(CLIENTLIBOBJS)
@@ -22,6 +22,3 @@
$(STRIP) $@
Clients: setup libdns_sd ../Clients/build/dns-sd
---
-2.35.1
-
diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0003-Track-interface-socket-family.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0003-Track-interface-socket-family.patch
index d2a9995..f1cda2b 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0003-Track-interface-socket-family.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0003-Track-interface-socket-family.patch
@@ -14,11 +14,11 @@
mDNSPosix/mDNSPosix.h | 2 ++
2 files changed, 3 insertions(+)
-diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c
-index a32a880c0ce5..9a5b4d7ea4cb 100644
---- a/mDNSPosix/mDNSPosix.c
-+++ b/mDNSPosix/mDNSPosix.c
-@@ -1415,6 +1415,7 @@ mDNSlocal int SetupOneInterface(mDNS *const m, struct sockaddr *intfAddr, struct
+Index: mDNSResponder/mDNSPosix/mDNSPosix.c
+===================================================================
+--- mDNSResponder.orig/mDNSPosix/mDNSPosix.c
++++ mDNSResponder/mDNSPosix/mDNSPosix.c
+@@ -1415,6 +1415,7 @@ mDNSlocal int SetupOneInterface(mDNS *co
// Set up the extra fields in PosixNetworkInterface.
assert(intf->intfName != NULL); // intf->intfName already set up above
intf->index = intfIndex;
@@ -26,10 +26,10 @@
intf->multicastSocket4 = -1;
#if HAVE_IPV6
intf->multicastSocket6 = -1;
-diff --git a/mDNSPosix/mDNSPosix.h b/mDNSPosix/mDNSPosix.h
-index 9675591b0434..dd7864cd0d5e 100644
---- a/mDNSPosix/mDNSPosix.h
-+++ b/mDNSPosix/mDNSPosix.h
+Index: mDNSResponder/mDNSPosix/mDNSPosix.h
+===================================================================
+--- mDNSResponder.orig/mDNSPosix/mDNSPosix.h
++++ mDNSResponder/mDNSPosix/mDNSPosix.h
@@ -19,6 +19,7 @@
#define __mDNSPlatformPosix_h
@@ -46,6 +46,3 @@
int multicastSocket4;
#if HAVE_IPV6
int multicastSocket6;
---
-2.35.1
-
diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0004-Indicate-loopback-interface-to-mDNS-core.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0004-Indicate-loopback-interface-to-mDNS-core.patch
index a5f7f01..6bc3645 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0004-Indicate-loopback-interface-to-mDNS-core.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0004-Indicate-loopback-interface-to-mDNS-core.patch
@@ -14,11 +14,11 @@
mDNSPosix/mDNSPosix.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
-diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c
-index 9a5b4d7ea4cb..02a19b438e03 100644
---- a/mDNSPosix/mDNSPosix.c
-+++ b/mDNSPosix/mDNSPosix.c
-@@ -1348,7 +1348,7 @@ mDNSlocal void CleanRecentInterfaces(void)
+Index: mDNSResponder/mDNSPosix/mDNSPosix.c
+===================================================================
+--- mDNSResponder.orig/mDNSPosix/mDNSPosix.c
++++ mDNSResponder/mDNSPosix/mDNSPosix.c
+@@ -1348,7 +1348,7 @@ mDNSlocal void CleanRecentInterfaces(voi
// Creates a PosixNetworkInterface for the interface whose IP address is
// intfAddr and whose name is intfName and registers it with mDNS core.
mDNSlocal int SetupOneInterface(mDNS *const m, struct sockaddr *intfAddr, struct sockaddr *intfMask,
@@ -27,7 +27,7 @@
{
int err = 0;
PosixNetworkInterface *intf;
-@@ -1411,6 +1411,7 @@ mDNSlocal int SetupOneInterface(mDNS *const m, struct sockaddr *intfAddr, struct
+@@ -1411,6 +1411,7 @@ mDNSlocal int SetupOneInterface(mDNS *co
intf->coreIntf.Advertise = m->AdvertiseLocalAddresses;
intf->coreIntf.McastTxRx = mDNStrue;
@@ -35,7 +35,7 @@
// Set up the extra fields in PosixNetworkInterface.
assert(intf->intfName != NULL); // intf->intfName already set up above
-@@ -1561,7 +1562,7 @@ mDNSlocal int SetupInterfaceList(mDNS *const m)
+@@ -1561,7 +1562,7 @@ mDNSlocal int SetupInterfaceList(mDNS *c
}
#endif
if (SetupOneInterface(m, i->ifa_addr, i->ifa_netmask,
@@ -44,7 +44,7 @@
{
if (i->ifa_addr->sa_family == AF_INET)
foundav4 = mDNStrue;
-@@ -1578,7 +1579,7 @@ mDNSlocal int SetupInterfaceList(mDNS *const m)
+@@ -1578,7 +1579,7 @@ mDNSlocal int SetupInterfaceList(mDNS *c
// if ((m->HostInterfaces == NULL) && (firstLoopback != NULL))
if (!foundav4 && firstLoopback)
(void) SetupOneInterface(m, firstLoopback->ifa_addr, firstLoopback->ifa_netmask,
@@ -53,6 +53,3 @@
}
// Clean up.
---
-2.35.1
-
diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0004-make-Separate-TLS-targets-from-libraries.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0004-make-Separate-TLS-targets-from-libraries.patch
index a8e8dae..837580a 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0004-make-Separate-TLS-targets-from-libraries.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0004-make-Separate-TLS-targets-from-libraries.patch
@@ -12,10 +12,10 @@
mDNSPosix/Makefile | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
-diff --git a/mDNSPosix/Makefile b/mDNSPosix/Makefile
-index 5e74193c0e89..b4313c36b035 100755
---- a/mDNSPosix/Makefile
-+++ b/mDNSPosix/Makefile
+Index: mDNSResponder/mDNSPosix/Makefile
+===================================================================
+--- mDNSResponder.orig/mDNSPosix/Makefile
++++ mDNSResponder/mDNSPosix/Makefile
@@ -112,9 +112,11 @@ ifeq ($(findstring linux,$(os)),linux)
ifeq ($(tls), no)
CFLAGS_OS = -D_GNU_SOURCE -DHAVE_IPV6 -DNOT_HAVE_SA_LEN -DUSES_NETLINK -DHAVE_LINUX -DTARGET_OS_LINUX -ftabstop=4 -Wno-expansion-to-defined
@@ -59,6 +59,3 @@
$(OBJDIR)/NetMonitor.c.o: $(COREDIR)/mDNS.c # Note: NetMonitor.c textually imports mDNS.c
---
-2.35.1
-
diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0005-Use-list-for-changed-interfaces.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0005-Use-list-for-changed-interfaces.patch
index 1aec34f..f00116c 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0005-Use-list-for-changed-interfaces.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0005-Use-list-for-changed-interfaces.patch
@@ -15,10 +15,10 @@
mDNSPosix/mDNSPosix.c | 58 ++++++++++++++++++++++++++++++++-----------
1 file changed, 43 insertions(+), 15 deletions(-)
-diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c
-index 02a19b438e03..e20adda92229 100644
---- a/mDNSPosix/mDNSPosix.c
-+++ b/mDNSPosix/mDNSPosix.c
+Index: mDNSResponder/mDNSPosix/mDNSPosix.c
+===================================================================
+--- mDNSResponder.orig/mDNSPosix/mDNSPosix.c
++++ mDNSResponder/mDNSPosix/mDNSPosix.c
@@ -74,6 +74,14 @@ struct IfChangeRec
};
typedef struct IfChangeRec IfChangeRec;
@@ -34,7 +34,7 @@
// Note that static data is initialized to zero in (modern) C.
static PosixEventSource *gEventSources; // linked list of PosixEventSource's
static sigset_t gEventSignalSet; // Signals which event loop listens for
-@@ -1621,6 +1629,23 @@ mDNSlocal mStatus OpenIfNotifySocket(int *pFD)
+@@ -1621,6 +1629,23 @@ mDNSlocal mStatus OpenIfNotifySocket(int
return err;
}
@@ -58,7 +58,7 @@
#if MDNS_DEBUGMSGS
mDNSlocal void PrintNetLinkMsg(const struct nlmsghdr *pNLMsg)
{
-@@ -1648,14 +1673,13 @@ mDNSlocal void PrintNetLinkMsg(const struct nlmsghdr *pNLMsg)
+@@ -1648,14 +1673,13 @@ mDNSlocal void PrintNetLinkMsg(cons
}
#endif
@@ -74,7 +74,7 @@
// The structure here is more complex than it really ought to be because,
// unfortunately, there's no good way to size a buffer in advance large
-@@ -1691,9 +1715,9 @@ mDNSlocal mDNSu32 ProcessRoutingNotification(int sd)
+@@ -1691,9 +1715,9 @@ mDNSlocal mDNSu32 ProcessRoutingNo
// Process the NetLink message
if (pNLMsg->nlmsg_type == RTM_GETLINK || pNLMsg->nlmsg_type == RTM_NEWLINK)
@@ -86,7 +86,7 @@
// Advance pNLMsg to the next message in the buffer
if ((pNLMsg->nlmsg_flags & NLM_F_MULTI) != 0 && pNLMsg->nlmsg_type != NLMSG_DONE)
-@@ -1704,8 +1728,6 @@ mDNSlocal mDNSu32 ProcessRoutingNotification(int sd)
+@@ -1704,8 +1728,6 @@ mDNSlocal mDNSu32 ProcessRoutingNo
else
break; // all done!
}
@@ -95,7 +95,7 @@
}
#else // USES_NETLINK
-@@ -1737,14 +1759,13 @@ mDNSlocal void PrintRoutingSocketMsg(const struct ifa_msghdr *pRSMsg)
+@@ -1737,14 +1759,13 @@ mDNSlocal void PrintRoutingSocketMs
}
#endif
@@ -111,7 +111,7 @@
readCount = read(sd, buff, sizeof buff);
if (readCount < (ssize_t) sizeof(struct ifa_msghdr))
-@@ -1759,12 +1780,10 @@ mDNSlocal mDNSu32 ProcessRoutingNotification(int sd)
+@@ -1759,12 +1780,10 @@ mDNSlocal mDNSu32 ProcessRoutingNo
pRSMsg->ifam_type == RTM_IFINFO)
{
if (pRSMsg->ifam_type == RTM_IFINFO)
@@ -126,7 +126,7 @@
}
#endif // USES_NETLINK
-@@ -1774,7 +1793,8 @@ mDNSlocal void InterfaceChangeCallback(int fd, void *context)
+@@ -1774,7 +1793,8 @@ mDNSlocal void InterfaceChangeCallback(i
{
IfChangeRec *pChgRec = (IfChangeRec*) context;
fd_set readFDs;
@@ -136,7 +136,7 @@
struct timeval zeroTimeout = { 0, 0 };
(void)fd; // Unused
-@@ -1782,17 +1802,25 @@ mDNSlocal void InterfaceChangeCallback(int fd, void *context)
+@@ -1782,17 +1802,25 @@ mDNSlocal void InterfaceChangeCallback(i
FD_ZERO(&readFDs);
FD_SET(pChgRec->NotifySD, &readFDs);
@@ -164,6 +164,3 @@
}
// Register with either a Routing Socket or RtNetLink to listen for interface changes.
---
-2.35.1
-
diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0005-mDNSCore-Fix-broken-debug-parameter.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0005-mDNSCore-Fix-broken-debug-parameter.patch
index 4cda71b..fd2f2f1 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0005-mDNSCore-Fix-broken-debug-parameter.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0005-mDNSCore-Fix-broken-debug-parameter.patch
@@ -10,11 +10,11 @@
mDNSCore/mDNS.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/mDNSCore/mDNS.c b/mDNSCore/mDNS.c
-index eecd7daa724e..1e843c081938 100644
---- a/mDNSCore/mDNS.c
-+++ b/mDNSCore/mDNS.c
-@@ -10210,7 +10210,7 @@ mDNSlocal void mDNSCoreReceiveNoUnicastAnswers(mDNS *const m, const DNSMessage *
+Index: mDNSResponder/mDNSCore/mDNS.c
+===================================================================
+--- mDNSResponder.orig/mDNSCore/mDNS.c
++++ mDNSResponder/mDNSCore/mDNS.c
+@@ -10231,7 +10231,7 @@ mDNSlocal void mDNSCoreReceiveNoUnicastA
#else
const DNSServRef dnsserv = qptr->qDNSServer;
#endif
diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0006-Handle-noisy-netlink-sockets.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0006-Handle-noisy-netlink-sockets.patch
index 882d08e..80cdbca 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0006-Handle-noisy-netlink-sockets.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0006-Handle-noisy-netlink-sockets.patch
@@ -27,11 +27,11 @@
mDNSPosix/mDNSPosix.c | 182 +++++++++++++++++++++++++++++++++++++++---
1 file changed, 172 insertions(+), 10 deletions(-)
-diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c
-index e20adda92229..5d52de31f79b 100644
---- a/mDNSPosix/mDNSPosix.c
-+++ b/mDNSPosix/mDNSPosix.c
-@@ -1788,14 +1788,43 @@ mDNSlocal void ProcessRoutingNotification(int sd, GenLinkedList *change
+Index: mDNSResponder/mDNSPosix/mDNSPosix.c
+===================================================================
+--- mDNSResponder.orig/mDNSPosix/mDNSPosix.c
++++ mDNSResponder/mDNSPosix/mDNSPosix.c
+@@ -1788,14 +1788,43 @@ mDNSlocal void ProcessRoutingNo
#endif // USES_NETLINK
@@ -75,7 +75,7 @@
(void)fd; // Unused
-@@ -1810,12 +1839,149 @@ mDNSlocal void InterfaceChangeCallback(int fd, void *context)
+@@ -1810,12 +1839,149 @@ mDNSlocal void InterfaceChangeCallback(i
}
while (0 < select(pChgRec->NotifySD + 1, &readFDs, (fd_set*) NULL, (fd_set*) NULL, &zeroTimeout));
@@ -230,7 +230,7 @@
while ((changedInterface = (NetworkInterfaceIndex*)changedInterfaces.Head) != NULL)
{
RemoveFromList(&changedInterfaces, changedInterface);
-@@ -1947,15 +2113,11 @@ mDNSexport void mDNSPlatformClose(mDNS *const m)
+@@ -1947,15 +2113,11 @@ mDNSexport void mDNSPlatformClose(mDNS *
#endif
}
@@ -247,6 +247,3 @@
ClearInterfaceList(m);
err = SetupInterfaceList(m);
return PosixErrorToStatus(err);
---
-2.35.1
-
diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0006-make-Add-top-level-Makefile.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0006-make-Add-top-level-Makefile.patch
index 268e574..c12a02f 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0006-make-Add-top-level-Makefile.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0006-make-Add-top-level-Makefile.patch
@@ -12,14 +12,10 @@
1 file changed, 2 insertions(+)
create mode 100644 Makefile
-diff --git a/Makefile b/Makefile
-new file mode 100644
-index 000000000000..feb6ac67ef47
+Index: mDNSResponder/Makefile
+===================================================================
--- /dev/null
-+++ b/Makefile
++++ mDNSResponder/Makefile
@@ -0,0 +1,2 @@
+all clean:
+ cd mDNSPosix && $(MAKE) $@
---
-2.35.1
-
diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0007-Mark-deleted-interfaces-as-being-changed.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0007-Mark-deleted-interfaces-as-being-changed.patch
index e53b0fd..dae1ac7 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0007-Mark-deleted-interfaces-as-being-changed.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0007-Mark-deleted-interfaces-as-being-changed.patch
@@ -22,11 +22,11 @@
mDNSPosix/mDNSPosix.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c
-index 5d52de31f79b..77d982f4c50b 100644
---- a/mDNSPosix/mDNSPosix.c
-+++ b/mDNSPosix/mDNSPosix.c
-@@ -1714,7 +1714,7 @@ mDNSlocal void ProcessRoutingNotification(int sd, GenLinkedList *change
+Index: mDNSResponder/mDNSPosix/mDNSPosix.c
+===================================================================
+--- mDNSResponder.orig/mDNSPosix/mDNSPosix.c
++++ mDNSResponder/mDNSPosix/mDNSPosix.c
+@@ -1714,7 +1714,7 @@ mDNSlocal void ProcessRoutingNo
#endif
// Process the NetLink message
@@ -35,6 +35,3 @@
AddInterfaceIndexToList(changedInterfaces, ((struct ifinfomsg*) NLMSG_DATA(pNLMsg))->ifi_index);
else if (pNLMsg->nlmsg_type == RTM_DELADDR || pNLMsg->nlmsg_type == RTM_NEWADDR)
AddInterfaceIndexToList(changedInterfaces, ((struct ifaddrmsg*) NLMSG_DATA(pNLMsg))->ifa_index);
---
-2.35.1
-
diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0008-Handle-errors-from-socket-calls.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0008-Handle-errors-from-socket-calls.patch
index e689f8c..1789001 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0008-Handle-errors-from-socket-calls.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0008-Handle-errors-from-socket-calls.patch
@@ -14,11 +14,11 @@
mDNSPosix/mDNSPosix.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
-diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c
-index 77d982f4c50b..cab512160afb 100644
---- a/mDNSPosix/mDNSPosix.c
-+++ b/mDNSPosix/mDNSPosix.c
-@@ -1677,7 +1677,7 @@ mDNSlocal void ProcessRoutingNotification(int sd, GenLinkedList *change
+Index: mDNSResponder/mDNSPosix/mDNSPosix.c
+===================================================================
+--- mDNSResponder.orig/mDNSPosix/mDNSPosix.c
++++ mDNSResponder/mDNSPosix/mDNSPosix.c
+@@ -1677,7 +1677,7 @@ mDNSlocal void ProcessRoutingNo
// Read through the messages on sd and if any indicate that any interface records should
// be torn down and rebuilt, return affected indices as a bitmask. Otherwise return 0.
{
@@ -27,7 +27,7 @@
char buff[4096];
struct nlmsghdr *pNLMsg = (struct nlmsghdr*) buff;
-@@ -1686,7 +1686,10 @@ mDNSlocal void ProcessRoutingNotification(int sd, GenLinkedList *change
+@@ -1686,7 +1686,10 @@ mDNSlocal void ProcessRoutingNo
// enough to hold all pending data and so avoid message fragmentation.
// (Note that FIONREAD is not supported on AF_NETLINK.)
@@ -39,7 +39,7 @@
while (1)
{
// Make sure we've got an entire nlmsghdr in the buffer, and payload, too.
-@@ -1702,7 +1705,9 @@ mDNSlocal void ProcessRoutingNotification(int sd, GenLinkedList *change
+@@ -1702,7 +1705,9 @@ mDNSlocal void ProcessRoutingNo
pNLMsg = (struct nlmsghdr*) buff;
// read more data
@@ -50,7 +50,7 @@
continue; // spin around and revalidate with new readCount
}
else
-@@ -2017,6 +2022,7 @@ mDNSlocal mDNSBool mDNSPlatformInit_CanReceiveUnicast(void)
+@@ -2017,6 +2022,7 @@ mDNSlocal mDNSBool mDNSPlatformInit_CanR
int err;
int s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
struct sockaddr_in s5353;
@@ -58,6 +58,3 @@
s5353.sin_family = AF_INET;
s5353.sin_port = MulticastDNSPort.NotAnInteger;
s5353.sin_addr.s_addr = 0;
---
-2.35.1
-
diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0009-remove-unneeded-headers.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0009-remove-unneeded-headers.patch
index 74d3873..d443bc9 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0009-remove-unneeded-headers.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0009-remove-unneeded-headers.patch
@@ -14,20 +14,18 @@
mDNSPosix/mbedtls.c | 2 --
1 file changed, 2 deletions(-)
-diff --git a/mDNSPosix/mbedtls.c b/mDNSPosix/mbedtls.c
-index a73681b..ab8f8c7 100644
---- a/mDNSPosix/mbedtls.c
-+++ b/mDNSPosix/mbedtls.c
+Index: mDNSResponder/mDNSPosix/mbedtls.c
+===================================================================
+--- mDNSResponder.orig/mDNSPosix/mbedtls.c
++++ mDNSResponder/mDNSPosix/mbedtls.c
@@ -38,10 +38,8 @@
#include <mbedtls/sha256.h>
#include <mbedtls/base64.h>
-
+
-#include <mbedtls/certs.h>
#include <mbedtls/x509.h>
#include <mbedtls/ssl.h>
-#include <mbedtls/config.h>
-
+
// Posix TLS server context
struct TLSContext_struct {
---
-2.34.1
diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0015-Add-missing-limits.h.patch b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0015-Add-missing-limits.h.patch
index 9fe721f..511a6fd 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0015-Add-missing-limits.h.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns/0015-Add-missing-limits.h.patch
@@ -9,10 +9,10 @@
mDNSShared/PlatformCommon.c | 1 +
1 file changed, 1 insertion(+)
-diff --git a/mDNSShared/PlatformCommon.c b/mDNSShared/PlatformCommon.c
-index 9ce15468e217..c308af3e8b0e 100644
---- a/mDNSShared/PlatformCommon.c
-+++ b/mDNSShared/PlatformCommon.c
+Index: mDNSResponder/mDNSShared/PlatformCommon.c
+===================================================================
+--- mDNSResponder.orig/mDNSShared/PlatformCommon.c
++++ mDNSResponder/mDNSShared/PlatformCommon.c
@@ -32,6 +32,7 @@
#include <time.h>
#include <sys/time.h> // Needed for #include <sys/time.h>().
diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_2200.0.8.bb b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_2200.0.8.bb
deleted file mode 100644
index 8370ed5..0000000
--- a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_2200.0.8.bb
+++ /dev/null
@@ -1,134 +0,0 @@
-SUMMARY = "Publishes & browses available services on a link according to the Zeroconf / Bonjour protocol"
-DESCRIPTION = "Bonjour, also known as zero-configuration networking, enables automatic discovery of computers, devices, and services on IP networks."
-HOMEPAGE = "http://developer.apple.com/networking/bonjour/"
-LICENSE = "Apache-2.0 & BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=31c50371921e0fb731003bbc665f29bf"
-
-DEPENDS:append:libc-musl = " musl-nscd"
-
-SRC_URI = "git://github.com/apple-oss-distributions/mDNSResponder;protocol=https;branch=main \
- file://0001-dns-sd-Include-missing-headers.patch \
- file://0002-make-Set-libdns_sd.so-soname-correctly.patch \
- file://0004-make-Separate-TLS-targets-from-libraries.patch \
- file://0005-mDNSCore-Fix-broken-debug-parameter.patch \
- file://0006-make-Add-top-level-Makefile.patch \
- file://0001-Create-subroutine-for-cleaning-recent-interfaces.patch \
- file://0002-Create-subroutine-for-tearing-down-an-interface.patch \
- file://0003-Track-interface-socket-family.patch \
- file://0004-Indicate-loopback-interface-to-mDNS-core.patch \
- file://0005-Use-list-for-changed-interfaces.patch \
- file://0006-Handle-noisy-netlink-sockets.patch \
- file://0007-Mark-deleted-interfaces-as-being-changed.patch \
- file://0008-Handle-errors-from-socket-calls.patch \
- file://0009-remove-unneeded-headers.patch \
- file://mdns.service \
- file://0015-Add-missing-limits.h.patch \
- file://0001-Handle-interface-without-ifa_addr.patch \
- "
-SRCREV = "d5029b5dff8aa59d1fc07ed796e994106ef58dee"
-
-# We install a stub Makefile in the top directory so that the various checks
-# in base.bbclass pass their tests for a Makefile, this ensures (that amongst
-# other things) the sstate checks will clean the build directory when the
-# task hashes changes.
-#
-# We can't use the approach of setting ${S} to mDNSPosix as we need
-# DEBUG_PREFIX_MAP to cover files which come from the Clients directory too.
-S = "${WORKDIR}/git"
-
-inherit github-releases manpages systemd update-rc.d
-
-PACKAGECONFIG ?= "tls \
- ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
-PACKAGECONFIG[debug] = "DEBUG=1,DEBUG=0"
-PACKAGECONFIG[ipv6] = "HAVE_IPV6=1,HAVE_IPV6=0"
-PACKAGECONFIG[manpages] = ""
-PACKAGECONFIG[tls] = ",tls=no,mbedtls"
-
-CVE_PRODUCT = "apple:mdnsresponder"
-
-CVE_STATUS[CVE-2007-0613] = "not-applicable-platform: Issue affects Apple products \
-i.e. ichat,mdnsresponder, instant message framework and MacOS. Also, \
-https://www.exploit-db.com/exploits/3230 shows the part of code \
-affected by CVE-2007-0613 which is not preset in upstream source code. \
-Hence, CVE-2007-0613 does not affect other Yocto implementations and \
-is not reported for other distros can be marked whitelisted. \
-Links: https://vulmon.com/vulnerabilitydetails?qid=CVE-2007-0613 \
-https://www.incibe-cert.es/en/early-warning/vulnerabilities/cve-2007-0613 \
-https://security-tracker.debian.org/tracker/CVE-2007-0613 \
-https://vulmon.com/vulnerabilitydetails?qid=CVE-2007-0613"
-
-PARALLEL_MAKE = ""
-
-EXTRA_OEMAKE = "os=linux 'CC=${CCLD}' 'LD=${CCLD}' 'LINKOPTS=${LDFLAGS}' STRIP=: ${PACKAGECONFIG_CONFARGS}"
-
-# MDNS_VERSIONSTR_NODTS disables __DATE__ and __TIME__ in the version string,
-# which are fixed anyway for build reproducibility.
-TARGET_CPPFLAGS += "-DMDNS_VERSIONSTR_NODTS"
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-MDNS_BUILDDIR = "build/${@bb.utils.contains('PACKAGECONFIG','debug','debug','prod', d)}"
-
-do_install () {
- cd mDNSPosix
-
- install -d ${D}${sbindir}
- install ${MDNS_BUILDDIR}/mdnsd ${D}${sbindir}
-
- install -d ${D}${libdir}
- install -m 0644 ${MDNS_BUILDDIR}/libdns_sd.so ${D}${libdir}/libdns_sd.so.1
- ln -s libdns_sd.so.1 ${D}${libdir}/libdns_sd.so
-
- install -d ${D}${includedir}
- install -m 0644 ../mDNSShared/dns_sd.h ${D}${includedir}
-
- install -d ${D}${mandir}/man8
- install -m 0644 ../mDNSShared/mDNSResponder.8 ${D}${mandir}/man8/mdnsd.8
-
- install -d ${D}${bindir}
- install -m 0755 ../Clients/build/dns-sd ${D}${bindir}
-
- install -d ${D}${libdir}
- oe_libinstall -C ${MDNS_BUILDDIR} -so libnss_mdns-0.2 ${D}${libdir}
- ln -s libnss_mdns-0.2.so ${D}${libdir}/libnss_mdns.so.2
-
- install -d ${D}${sysconfdir}
- install -m 0644 nss_mdns.conf ${D}${sysconfdir}
-
- install -d ${D}${mandir}/man5
- install -m 0644 nss_mdns.conf.5 ${D}${mandir}/man5
-
- install -d ${D}${mandir}/man8
- install -m 0644 libnss_mdns.8 ${D}${mandir}/man8
-
- install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${WORKDIR}/mdns.service ${D}${systemd_system_unitdir}
-
- install -d ${D}${INIT_D_DIR}
- install mdnsd.sh ${D}${INIT_D_DIR}/mdns
-}
-
-pkg_postinst:${PN} () {
- if [ -r $D${sysconfdir}/nsswitch.conf ]; then
- sed -e '/^hosts:/s/\s*\<mdns\>//' \
- -e 's/\(^hosts:.*\)\(\<files\>\)\(.*\)\(\<dns\>\)\(.*\)/\1\2 mdns\3\4\5/' \
- -i $D${sysconfdir}/nsswitch.conf
- fi
-}
-
-pkg_prerm:${PN} () {
- if [ -r $D${sysconfdir}/nsswitch.conf ]; then
- sed -e '/^hosts:/s/\s*\<mdns\>//' \
- -e '/^hosts:/s/\s*mdns//' \
- -i $D${sysconfdir}/nsswitch.conf
- fi
-}
-
-SYSTEMD_SERVICE:${PN} = "mdns.service"
-INITSCRIPT_NAME = "mdns"
-
-FILES_SOLIBSDEV = "${libdir}/libdns_sd.so"
-FILES:${PN} += "${libdir}/libnss_mdns-0.2.so"
-
-RPROVIDES:${PN} += "libdns_sd.so"
diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_2200.40.37.0.1.bb b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_2200.40.37.0.1.bb
new file mode 100644
index 0000000..af2b337
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_2200.40.37.0.1.bb
@@ -0,0 +1,134 @@
+SUMMARY = "Publishes & browses available services on a link according to the Zeroconf / Bonjour protocol"
+DESCRIPTION = "Bonjour, also known as zero-configuration networking, enables automatic discovery of computers, devices, and services on IP networks."
+HOMEPAGE = "http://developer.apple.com/networking/bonjour/"
+LICENSE = "Apache-2.0 & BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=31c50371921e0fb731003bbc665f29bf"
+
+DEPENDS:append:libc-musl = " musl-nscd"
+
+SRC_URI = "git://github.com/apple-oss-distributions/mDNSResponder;protocol=https;branch=rel/mDNSResponder-2200 \
+ file://0001-dns-sd-Include-missing-headers.patch \
+ file://0002-make-Set-libdns_sd.so-soname-correctly.patch \
+ file://0004-make-Separate-TLS-targets-from-libraries.patch \
+ file://0005-mDNSCore-Fix-broken-debug-parameter.patch \
+ file://0006-make-Add-top-level-Makefile.patch \
+ file://0001-Create-subroutine-for-cleaning-recent-interfaces.patch \
+ file://0002-Create-subroutine-for-tearing-down-an-interface.patch \
+ file://0003-Track-interface-socket-family.patch \
+ file://0004-Indicate-loopback-interface-to-mDNS-core.patch \
+ file://0005-Use-list-for-changed-interfaces.patch \
+ file://0006-Handle-noisy-netlink-sockets.patch \
+ file://0007-Mark-deleted-interfaces-as-being-changed.patch \
+ file://0008-Handle-errors-from-socket-calls.patch \
+ file://0009-remove-unneeded-headers.patch \
+ file://mdns.service \
+ file://0015-Add-missing-limits.h.patch \
+ file://0001-Handle-interface-without-ifa_addr.patch \
+ "
+SRCREV = "a9f4049ab772ca57b5afc9804ae5004beb711d6e"
+
+# We install a stub Makefile in the top directory so that the various checks
+# in base.bbclass pass their tests for a Makefile, this ensures (that amongst
+# other things) the sstate checks will clean the build directory when the
+# task hashes changes.
+#
+# We can't use the approach of setting ${S} to mDNSPosix as we need
+# DEBUG_PREFIX_MAP to cover files which come from the Clients directory too.
+S = "${WORKDIR}/git"
+
+inherit github-releases manpages systemd update-rc.d
+
+PACKAGECONFIG ?= "tls \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
+PACKAGECONFIG[debug] = "DEBUG=1,DEBUG=0"
+PACKAGECONFIG[ipv6] = "HAVE_IPV6=1,HAVE_IPV6=0"
+PACKAGECONFIG[manpages] = ""
+PACKAGECONFIG[tls] = ",tls=no,mbedtls"
+
+CVE_PRODUCT = "apple:mdnsresponder"
+
+CVE_STATUS[CVE-2007-0613] = "not-applicable-platform: Issue affects Apple products \
+i.e. ichat,mdnsresponder, instant message framework and MacOS. Also, \
+https://www.exploit-db.com/exploits/3230 shows the part of code \
+affected by CVE-2007-0613 which is not preset in upstream source code. \
+Hence, CVE-2007-0613 does not affect other Yocto implementations and \
+is not reported for other distros can be marked whitelisted. \
+Links: https://vulmon.com/vulnerabilitydetails?qid=CVE-2007-0613 \
+https://www.incibe-cert.es/en/early-warning/vulnerabilities/cve-2007-0613 \
+https://security-tracker.debian.org/tracker/CVE-2007-0613 \
+https://vulmon.com/vulnerabilitydetails?qid=CVE-2007-0613"
+
+PARALLEL_MAKE = ""
+
+EXTRA_OEMAKE = "os=linux 'CC=${CCLD}' 'LD=${CCLD}' 'LINKOPTS=${LDFLAGS}' STRIP=: ${PACKAGECONFIG_CONFARGS}"
+
+# MDNS_VERSIONSTR_NODTS disables __DATE__ and __TIME__ in the version string,
+# which are fixed anyway for build reproducibility.
+TARGET_CPPFLAGS += "-DMDNS_VERSIONSTR_NODTS"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+MDNS_BUILDDIR = "build/${@bb.utils.contains('PACKAGECONFIG','debug','debug','prod', d)}"
+
+do_install () {
+ cd mDNSPosix
+
+ install -d ${D}${sbindir}
+ install ${MDNS_BUILDDIR}/mdnsd ${D}${sbindir}
+
+ install -d ${D}${libdir}
+ install -m 0644 ${MDNS_BUILDDIR}/libdns_sd.so ${D}${libdir}/libdns_sd.so.1
+ ln -s libdns_sd.so.1 ${D}${libdir}/libdns_sd.so
+
+ install -d ${D}${includedir}
+ install -m 0644 ../mDNSShared/dns_sd.h ${D}${includedir}
+
+ install -d ${D}${mandir}/man8
+ install -m 0644 ../mDNSShared/mDNSResponder.8 ${D}${mandir}/man8/mdnsd.8
+
+ install -d ${D}${bindir}
+ install -m 0755 ../Clients/build/dns-sd ${D}${bindir}
+
+ install -d ${D}${libdir}
+ oe_libinstall -C ${MDNS_BUILDDIR} -so libnss_mdns-0.2 ${D}${libdir}
+ ln -s libnss_mdns-0.2.so ${D}${libdir}/libnss_mdns.so.2
+
+ install -d ${D}${sysconfdir}
+ install -m 0644 nss_mdns.conf ${D}${sysconfdir}
+
+ install -d ${D}${mandir}/man5
+ install -m 0644 nss_mdns.conf.5 ${D}${mandir}/man5
+
+ install -d ${D}${mandir}/man8
+ install -m 0644 libnss_mdns.8 ${D}${mandir}/man8
+
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/mdns.service ${D}${systemd_system_unitdir}
+
+ install -d ${D}${INIT_D_DIR}
+ install mdnsd.sh ${D}${INIT_D_DIR}/mdns
+}
+
+pkg_postinst:${PN} () {
+ if [ -r $D${sysconfdir}/nsswitch.conf ]; then
+ sed -e '/^hosts:/s/\s*\<mdns\>//' \
+ -e 's/\(^hosts:.*\)\(\<files\>\)\(.*\)\(\<dns\>\)\(.*\)/\1\2 mdns\3\4\5/' \
+ -i $D${sysconfdir}/nsswitch.conf
+ fi
+}
+
+pkg_prerm:${PN} () {
+ if [ -r $D${sysconfdir}/nsswitch.conf ]; then
+ sed -e '/^hosts:/s/\s*\<mdns\>//' \
+ -e '/^hosts:/s/\s*mdns//' \
+ -i $D${sysconfdir}/nsswitch.conf
+ fi
+}
+
+SYSTEMD_SERVICE:${PN} = "mdns.service"
+INITSCRIPT_NAME = "mdns"
+
+FILES_SOLIBSDEV = "${libdir}/libdns_sd.so"
+FILES:${PN} += "${libdir}/libnss_mdns-0.2.so"
+
+RPROVIDES:${PN} += "libdns_sd.so"
diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.3.bb b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.3.bb
index f40fb8b..6f1c114 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.3.bb
+++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.3.bb
@@ -178,7 +178,7 @@
}
SYSROOT_PREPROCESS_FUNCS += "net_snmp_sysroot_preprocess"
-SNMP_DBGDIR = "/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}"
+SNMP_DBGDIR = "${TARGET_DBGSRC_DIR}"
net_snmp_sysroot_preprocess () {
if [ -e ${D}${bindir}/net-snmp-config ]; then
diff --git a/meta-openembedded/meta-networking/recipes-protocols/opcua/open62541_1.3.6.bb b/meta-openembedded/meta-networking/recipes-protocols/opcua/open62541_1.3.6.bb
deleted file mode 100644
index c7437eb..0000000
--- a/meta-openembedded/meta-networking/recipes-protocols/opcua/open62541_1.3.6.bb
+++ /dev/null
@@ -1,53 +0,0 @@
-DESCRIPTION = "open62541 is an implementation of OPC UA (OPC Unified Architecture)"
-HOMEPAGE = "https://github.com/open62541/open62541.git"
-LICENSE = "MPL-2.0 & BSD-3-Clause & MIT"
-LIC_FILES_CHKSUM = "\
- file://LICENSE;md5=815ca599c9df247a0c7f619bab123dad \
- file://deps/mdnsd/LICENSE;md5=3bb4047dc4095cd7336de3e2a9be94f0 \
- file://deps/mqtt-c/LICENSE;md5=9226377baf0b79174c89a1ab55592456 \
-"
-
-SRCREV_FORMAT = "opcua_mdnsd_ua-nodeset_mqtt-c"
-SRCREV_opcua = "1b7e2b5d669661c568fda5577ee92011a029cf75"
-SRCREV_mdnsd = "3151afe5899dba5125dffa9f4cf3ae1fe2edc0f0"
-SRCREV_ua-nodeset = "f71b3f411d5cb16097c3ae0c744f67ad45535ffb"
-SRCREV_mqtt-c = "f69ce1e7fd54f3b1834c9c9137ce0ec5d703cb4d"
-
-SRC_URI = " \
- git://github.com/open62541/open62541.git;name=opcua;branch=1.3;protocol=https \
- git://github.com/Pro/mdnsd.git;name=mdnsd;protocol=https;branch=master;destsuffix=git/deps/mdnsd \
- git://github.com/OPCFoundation/UA-Nodeset;name=ua-nodeset;protocol=https;branch=v1.04;destsuffix=git/deps/ua-nodeset \
- git://github.com/LiamBindle/MQTT-C.git;name=mqtt-c;protocol=https;branch=master;destsuffix=git/deps/mqtt-c \
- file://0001-fix-build-do-not-install-git-files.patch \
-"
-
-S = "${WORKDIR}/git"
-
-inherit cmake python3native
-
-EXTRA_OECMAKE += "\
- -DBUILD_SHARED_LIBS=ON \
- -DUA_NAMESPACE_ZERO=FULL \
- -DUA_LOGLEVEL=600 \
- -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-"
-
-PACKAGECONFIG ?= "encryption-mbedtls pubsub pubsub-eth subscriptions subscriptions-events"
-PACKAGECONFIG[amalgamation] = "-DUA_ENABLE_AMALGAMATION=ON, -DUA_ENABLE_AMALGAMATION=OFF"
-PACKAGECONFIG[encryption-mbedtls] = "-DUA_ENABLE_ENCRYPTION=MBEDTLS, , mbedtls, , , encryption-openssl"
-PACKAGECONFIG[encryption-openssl] = "-DUA_ENABLE_ENCRYPTION=OPENSSL, , openssl, , , encryption-mbedtls"
-PACKAGECONFIG[multithreading] = "-DUA_MULTITHREADING=100, -DUA_MULTITHREADING=0"
-PACKAGECONFIG[pubsub] = "-DUA_ENABLE_PUBSUB=ON, -DUA_ENABLE_PUBSUB=OFF"
-PACKAGECONFIG[pubsub-eth] = "-DUA_ENABLE_PUBSUB_ETH_UADP=ON, -DUA_ENABLE_PUBSUB_ETH_UADP=OFF"
-PACKAGECONFIG[subscriptions] = "-DUA_ENABLE_SUBSCRIPTIONS=ON, -DUA_ENABLE_SUBSCRIPTIONS=OFF"
-PACKAGECONFIG[subscriptions-events] = "-DUA_ENABLE_SUBSCRIPTIONS_EVENTS=ON, -DUA_ENABLE_SUBSCRIPTIONS_EVENTS=OFF"
-PACKAGECONFIG[werror] = "-DUA_FORCE_WERROR=ON, -DUA_FORCE_WERROR=OFF"
-
-do_configure:prepend:toolchain-clang:riscv64() {
- sed -i -e 's/set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON)/set(CMAKE_INTERPROCEDURAL_OPTIMIZATION OFF)/' ${S}/CMakeLists.txt
-}
-
-do_configure:prepend:toolchain-clang:riscv32() {
- sed -i -e 's/set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON)/set(CMAKE_INTERPROCEDURAL_OPTIMIZATION OFF)/' ${S}/CMakeLists.txt
-}
-
diff --git a/meta-openembedded/meta-networking/recipes-protocols/opcua/open62541_1.3.8.bb b/meta-openembedded/meta-networking/recipes-protocols/opcua/open62541_1.3.8.bb
new file mode 100644
index 0000000..19a50ae
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-protocols/opcua/open62541_1.3.8.bb
@@ -0,0 +1,53 @@
+DESCRIPTION = "open62541 is an implementation of OPC UA (OPC Unified Architecture)"
+HOMEPAGE = "https://github.com/open62541/open62541.git"
+LICENSE = "MPL-2.0 & BSD-3-Clause & MIT"
+LIC_FILES_CHKSUM = "\
+ file://LICENSE;md5=815ca599c9df247a0c7f619bab123dad \
+ file://deps/mdnsd/LICENSE;md5=3bb4047dc4095cd7336de3e2a9be94f0 \
+ file://deps/mqtt-c/LICENSE;md5=9226377baf0b79174c89a1ab55592456 \
+"
+
+SRCREV_FORMAT = "opcua_mdnsd_ua-nodeset_mqtt-c"
+SRCREV_opcua = "086b1557d6f49e8a82c999054a7da77d080cd54e"
+SRCREV_mdnsd = "3151afe5899dba5125dffa9f4cf3ae1fe2edc0f0"
+SRCREV_ua-nodeset = "f71b3f411d5cb16097c3ae0c744f67ad45535ffb"
+SRCREV_mqtt-c = "f69ce1e7fd54f3b1834c9c9137ce0ec5d703cb4d"
+
+SRC_URI = " \
+ git://github.com/open62541/open62541.git;name=opcua;branch=1.3;protocol=https \
+ git://github.com/Pro/mdnsd.git;name=mdnsd;protocol=https;branch=master;destsuffix=git/deps/mdnsd \
+ git://github.com/OPCFoundation/UA-Nodeset;name=ua-nodeset;protocol=https;branch=v1.04;destsuffix=git/deps/ua-nodeset \
+ git://github.com/LiamBindle/MQTT-C.git;name=mqtt-c;protocol=https;branch=master;destsuffix=git/deps/mqtt-c \
+ file://0001-fix-build-do-not-install-git-files.patch \
+"
+
+S = "${WORKDIR}/git"
+
+inherit cmake python3native
+
+EXTRA_OECMAKE += "\
+ -DBUILD_SHARED_LIBS=ON \
+ -DUA_NAMESPACE_ZERO=FULL \
+ -DUA_LOGLEVEL=600 \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+"
+
+PACKAGECONFIG ?= "encryption-mbedtls pubsub pubsub-eth subscriptions subscriptions-events"
+PACKAGECONFIG[amalgamation] = "-DUA_ENABLE_AMALGAMATION=ON, -DUA_ENABLE_AMALGAMATION=OFF"
+PACKAGECONFIG[encryption-mbedtls] = "-DUA_ENABLE_ENCRYPTION=MBEDTLS, , mbedtls, , , encryption-openssl"
+PACKAGECONFIG[encryption-openssl] = "-DUA_ENABLE_ENCRYPTION=OPENSSL, , openssl, , , encryption-mbedtls"
+PACKAGECONFIG[multithreading] = "-DUA_MULTITHREADING=100, -DUA_MULTITHREADING=0"
+PACKAGECONFIG[pubsub] = "-DUA_ENABLE_PUBSUB=ON, -DUA_ENABLE_PUBSUB=OFF"
+PACKAGECONFIG[pubsub-eth] = "-DUA_ENABLE_PUBSUB_ETH_UADP=ON, -DUA_ENABLE_PUBSUB_ETH_UADP=OFF"
+PACKAGECONFIG[subscriptions] = "-DUA_ENABLE_SUBSCRIPTIONS=ON, -DUA_ENABLE_SUBSCRIPTIONS=OFF"
+PACKAGECONFIG[subscriptions-events] = "-DUA_ENABLE_SUBSCRIPTIONS_EVENTS=ON, -DUA_ENABLE_SUBSCRIPTIONS_EVENTS=OFF"
+PACKAGECONFIG[werror] = "-DUA_FORCE_WERROR=ON, -DUA_FORCE_WERROR=OFF"
+
+do_configure:prepend:toolchain-clang:riscv64() {
+ sed -i -e 's/set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON)/set(CMAKE_INTERPROCEDURAL_OPTIMIZATION OFF)/' ${S}/CMakeLists.txt
+}
+
+do_configure:prepend:toolchain-clang:riscv32() {
+ sed -i -e 's/set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON)/set(CMAKE_INTERPROCEDURAL_OPTIMIZATION OFF)/' ${S}/CMakeLists.txt
+}
+
diff --git a/meta-openembedded/meta-networking/recipes-protocols/usrsctp/usrsctp_git.bb b/meta-openembedded/meta-networking/recipes-protocols/usrsctp/usrsctp_git.bb
index dcfa740..38fb46f 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/usrsctp/usrsctp_git.bb
+++ b/meta-openembedded/meta-networking/recipes-protocols/usrsctp/usrsctp_git.bb
@@ -2,7 +2,7 @@
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=ffcf846341f3856d79a483eafa18e2a5"
-SRCREV = "a10cd498d964508c0e6ec6bd2be9dd4afcbb4d86"
+SRCREV = "a0cbf4681474fab1e89d9e9e2d5c3694fce50359"
SRC_URI = "git://github.com/sctplab/usrsctp;protocol=https;branch=master \
"
diff --git a/meta-openembedded/meta-networking/recipes-support/libexosip2/libexosip2_5.3.0.bb b/meta-openembedded/meta-networking/recipes-support/libexosip2/libexosip2_5.3.0.bb
new file mode 100644
index 0000000..541b2ed
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/libexosip2/libexosip2_5.3.0.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Extend the capability of the oSIP library"
+DESCRIPTION = "eXosip is a GPL library that extend the capability of \
+the oSIP library. It aims to implement a simple high \
+layer API to control SIP (rfc3261) for sessions establishements \
+and common extensions."
+HOMEPAGE = "http://savannah.gnu.org/projects/exosip"
+SECTION = "libs"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://src/eXosip.c;beginline=1;endline=32;md5=db3c08b79afd8f4d5e5dc8f0a5dc687e"
+DEPENDS = "libosip2"
+
+SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/exosip/${BPN}-${PV}.tar.gz"
+SRC_URI[sha256sum] = "5b7823986431ea5cedc9f095d6964ace966f093b2ae7d0b08404788bfcebc9c2"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG = "c-ares openssl"
+PACKAGECONFIG[c-ares] = ",,c-ares"
+PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl"
+
+PACKAGES =+ "${PN}-tools"
+FILES:${PN}-tools += "${bindir}"
diff --git a/meta-openembedded/meta-networking/recipes-support/libldb/libldb/cmocka-fix-musl-libc-conflicting-types-error.patch b/meta-openembedded/meta-networking/recipes-support/libldb/libldb/cmocka-fix-musl-libc-conflicting-types-error.patch
deleted file mode 100644
index 8e756d8..0000000
--- a/meta-openembedded/meta-networking/recipes-support/libldb/libldb/cmocka-fix-musl-libc-conflicting-types-error.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From a37eb0a46669592e32ed4e004abb2698ee4f90c5 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Wed, 25 Jul 2018 09:55:25 +0800
-Subject: [PATCH] cmocka: fix musl libc conflicting types error
-
-/third_party/cmocka/cmocka.h:126:28: error: conflicting types for 'uintptr_t'
- typedef unsigned int uintptr_t;
- ^~~~~~~~~
-use __DEFINED_uintptr_t in alltypes.h to check if uintptr already defined
-
-Upstream-Status: Pending
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- third_party/cmocka/cmocka.h | 7 +++----
- 1 file changed, 3 insertions(+), 4 deletions(-)
-
-diff --git a/third_party/cmocka/cmocka.h b/third_party/cmocka/cmocka.h
-index e6861c8..238201d 100644
---- a/third_party/cmocka/cmocka.h
-+++ b/third_party/cmocka/cmocka.h
-@@ -111,7 +111,7 @@ typedef uintmax_t LargestIntegralType;
- ((LargestIntegralType)(value))
-
- /* Smallest integral type capable of holding a pointer. */
--#if !defined(_UINTPTR_T) && !defined(_UINTPTR_T_DEFINED)
-+#if !defined(__DEFINED_uintptr_t)
- # if defined(_WIN32)
- /* WIN32 is an ILP32 platform */
- typedef unsigned int uintptr_t;
-@@ -135,9 +135,8 @@ typedef uintmax_t LargestIntegralType;
- # endif /* __WORDSIZE */
- # endif /* _WIN32 */
-
--# define _UINTPTR_T
--# define _UINTPTR_T_DEFINED
--#endif /* !defined(_UINTPTR_T) || !defined(_UINTPTR_T_DEFINED) */
-+# define __DEFINED_uintptr_t
-+#endif /* !defined(__DEFINED_uintptr_t) */
-
- /* Perform an unsigned cast to uintptr_t. */
- #define cast_to_pointer_integral_type(value) \
---
-2.25.1
-
diff --git a/meta-openembedded/meta-networking/recipes-support/libldb/libldb/run-ptest b/meta-openembedded/meta-networking/recipes-support/libldb/libldb/run-ptest
new file mode 100644
index 0000000..f0de057
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/libldb/libldb/run-ptest
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+ptestdir=$(dirname "$(readlink -f "$0")")
+cd "$ptestdir"/tests || exit
+
+tests="test_ldb_dn test_ldb_qsort"
+
+for f in $tests
+do
+ if test -x ./"$f"; then
+ if ./"$f" > ./"$f".out 2> ./"$f".err; then
+ echo "PASS: $f"
+ else
+ echo "FAIL: $f"
+ fi
+ fi
+done
diff --git a/meta-openembedded/meta-networking/recipes-support/libldb/libldb_2.7.2.bb b/meta-openembedded/meta-networking/recipes-support/libldb/libldb_2.7.2.bb
index daf0f73..c4b7602 100644
--- a/meta-openembedded/meta-networking/recipes-support/libldb/libldb_2.7.2.bb
+++ b/meta-openembedded/meta-networking/recipes-support/libldb/libldb_2.7.2.bb
@@ -3,7 +3,7 @@
SECTION = "libs"
LICENSE = "LGPL-3.0-or-later & LGPL-2.1-or-later & GPL-3.0-or-later"
-DEPENDS += "libtdb libtalloc libtevent popt"
+DEPENDS += "libtdb libtalloc libtevent popt cmocka"
RDEPENDS:pyldb += "python3"
export PYTHONHASHSEED="1"
@@ -12,10 +12,9 @@
file://0001-do-not-import-target-module-while-cross-compile.patch \
file://0002-ldb-Add-configure-options-for-packages.patch \
file://0003-Fix-pyext_PATTERN-for-cross-compilation.patch \
+ file://run-ptest \
"
-SRC_URI:append:libc-musl = " file://cmocka-fix-musl-libc-conflicting-types-error.patch"
-
PACKAGECONFIG ??= "\
${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
@@ -37,7 +36,7 @@
SRC_URI[sha256sum] = "26ee72d647854e662d99643eb2b2d341655abf31f4990838d6650fb5cf9209c8"
-inherit pkgconfig waf-samba
+inherit pkgconfig waf-samba ptest
S = "${WORKDIR}/ldb-${PV}"
@@ -47,7 +46,7 @@
EXTRA_OECONF += "--disable-rpath \
--disable-rpath-install \
- --bundled-libraries=cmocka \
+ --bundled-libraries=NONE \
--builtin-libraries=replace \
--with-modulesdir=${libdir}/ldb/modules \
--with-privatelibdir=${libdir}/ldb \
@@ -81,3 +80,8 @@
# For a clean rebuild
rm -fr bin/
}
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ install -m 0755 ${B}/bin/test_ldb_* ${D}${PTEST_PATH}/tests/
+}
diff --git a/meta-openembedded/meta-networking/recipes-support/libosip2/libosip2_5.3.1.bb b/meta-openembedded/meta-networking/recipes-support/libosip2/libosip2_5.3.1.bb
new file mode 100644
index 0000000..fa99d33
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/libosip2/libosip2_5.3.1.bb
@@ -0,0 +1,15 @@
+SUMMARY = "The GNU oSIP library is an implementation of SIP - rfc3261"
+DESCRIPTION = "SIP stands for the Session Initiation Protocol and is described \
+by the rfc3261 (wich deprecates rfc2543). This library aims to provide multimedia \
+and telecom software developers an easy and powerful interface to initiate and \
+control SIP based sessions in their applications. SIP is a open standard \
+replacement from IETF for H323."
+HOMEPAGE = "http://www.gnu.org/software/osip/osip.html"
+SECTION = "libs"
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://src/osip2/osip.c;beginline=1;endline=19;md5=22ca0da0e41276c50c81b733953c208d"
+
+SRC_URI = "${GNU_MIRROR}/osip/${BPN}-${PV}.tar.gz"
+SRC_URI[sha256sum] = "fe82fe841608266ac15a5c1118216da00c554d5006e2875a8ac3752b1e6adc79"
+
+inherit autotools
diff --git a/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/cmocka-fix-musl-libc-conflicting-types-error.patch b/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/cmocka-fix-musl-libc-conflicting-types-error.patch
deleted file mode 100644
index 5795ff3..0000000
--- a/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/cmocka-fix-musl-libc-conflicting-types-error.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 1d4dedab5039bb671f44566d8573ee3532ba7176 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Wed, 25 Jul 2018 09:55:25 +0800
-Subject: [PATCH] cmocka: fix musl libc conflicting types error
-
-/third_party/cmocka/cmocka.h:126:28: error: conflicting types for 'uintptr_t'
- typedef unsigned int uintptr_t;
- ^~~~~~~~~
-use __DEFINED_uintptr_t in alltypes.h to check if uintptr already defined
-
-Upstream-Status: Pending
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- third_party/cmocka/cmocka.h | 7 +++----
- 1 file changed, 3 insertions(+), 4 deletions(-)
-
-diff --git a/third_party/cmocka/cmocka.h b/third_party/cmocka/cmocka.h
-index e6861c8..238201d 100644
---- a/third_party/cmocka/cmocka.h
-+++ b/third_party/cmocka/cmocka.h
-@@ -111,7 +111,7 @@ typedef uintmax_t LargestIntegralType;
- ((LargestIntegralType)(value))
-
- /* Smallest integral type capable of holding a pointer. */
--#if !defined(_UINTPTR_T) && !defined(_UINTPTR_T_DEFINED)
-+#if !defined(__DEFINED_uintptr_t)
- # if defined(_WIN32)
- /* WIN32 is an ILP32 platform */
- typedef unsigned int uintptr_t;
-@@ -135,9 +135,8 @@ typedef uintmax_t LargestIntegralType;
- # endif /* __WORDSIZE */
- # endif /* _WIN32 */
-
--# define _UINTPTR_T
--# define _UINTPTR_T_DEFINED
--#endif /* !defined(_UINTPTR_T) || !defined(_UINTPTR_T_DEFINED) */
-+# define __DEFINED_uintptr_t
-+#endif /* !defined(__DEFINED_uintptr_t) */
-
- /* Perform an unsigned cast to uintptr_t. */
- #define cast_to_pointer_integral_type(value) \
---
-2.25.1
-
diff --git a/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/run-ptest b/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/run-ptest
new file mode 100644
index 0000000..19f7a4a
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/run-ptest
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+ptestdir=$(dirname "$(readlink -f "$0")")
+cd "$ptestdir"/tests || exit
+
+tests="replace_testsuite test_tevent_tag test_tevent_trace"
+
+for f in $tests
+do
+ if test -x ./"$f"; then
+ if ./"$f" > ./"$f".out 2> ./"$f".err; then
+ echo "PASS: $f"
+ else
+ echo "FAIL: $f"
+ fi
+ fi
+done
diff --git a/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.14.1.bb b/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.14.1.bb
index b34c186..9a2b5ed 100644
--- a/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.14.1.bb
+++ b/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.14.1.bb
@@ -3,7 +3,7 @@
SECTION = "libs"
LICENSE = "LGPL-3.0-or-later"
-DEPENDS += "libtalloc libtirpc"
+DEPENDS += "libtalloc libtirpc cmocka"
RDEPENDS:python3-tevent = "python3"
export PYTHONHASHSEED="1"
@@ -11,10 +11,9 @@
SRC_URI = "https://samba.org/ftp/tevent/tevent-${PV}.tar.gz \
file://0001-Add-configure-options-for-packages.patch \
file://0002-Fix-pyext_PATTERN-for-cross-compilation.patch \
+ file://run-ptest \
"
-SRC_URI:append:libc-musl = " file://cmocka-fix-musl-libc-conflicting-types-error.patch"
-
LIC_FILES_CHKSUM = "file://tevent.h;endline=26;md5=47386b7c539bf2706b7ce52dc9341681"
SRC_URI[sha256sum] = "ef85fcaa80ffd2351036ba4b347630fef2a1ac3da964a7f1820466bad03cd00d"
@@ -42,27 +41,22 @@
EXTRA_OECONF += "--disable-rpath \
--disable-rpath-install \
- --bundled-libraries=cmocka \
+ --bundled-libraries=NONE \
--builtin-libraries=replace \
--with-libiconv=${STAGING_DIR_HOST}${prefix}\
--without-gettext \
"
-do_install:append() {
- install -Dm 0755 ${B}/bin/test_tevent_trace ${D}${bindir}/test_tevent_trace
- install -Dm 0755 ${B}/bin/test_tevent_tag ${D}${bindir}/test_tevent_tag
- install -Dm 0755 ${B}/bin/replace_testsuite ${D}${bindir}/replace_testsuite
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ install -m 0755 ${B}/bin/test_tevent_* ${D}${PTEST_PATH}/tests/
+ install -m 0755 ${B}/bin/replace_testsuite ${D}${PTEST_PATH}/tests/
}
PACKAGES += "python3-tevent"
RPROVIDES:${PN}-dbg += "python3-tevent-dbg"
-FILES:${PN} += "${libdir}/tevent/*"
-FILES:${PN}-ptest += "${bindir}/replace_testsuite \
- ${bindir}/test_tevent_tag \
- ${bindir}/test_tevent_trace \
- ${libdir}/libcmocka-tevent.so"
FILES:python3-tevent = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*"
INSANE_SKIP:${MLPREFIX}python3-tevent = "dev-so"
diff --git a/meta-openembedded/meta-networking/recipes-support/netsniff-ng/netsniff-ng_0.6.8.bb b/meta-openembedded/meta-networking/recipes-support/netsniff-ng/netsniff-ng_0.6.8.bb
index 004330e..341eab0 100644
--- a/meta-openembedded/meta-networking/recipes-support/netsniff-ng/netsniff-ng_0.6.8.bb
+++ b/meta-openembedded/meta-networking/recipes-support/netsniff-ng/netsniff-ng_0.6.8.bb
@@ -33,4 +33,4 @@
oe_runmake DESTDIR=${D} netsniff-ng_install
}
-BBCLASSEXTEND = "native nativesdk"
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-networking/recipes-support/ntpsec/ntpsec_1.2.2a.bb b/meta-openembedded/meta-networking/recipes-support/ntpsec/ntpsec_1.2.2a.bb
index af41d49..9ad97e7 100644
--- a/meta-openembedded/meta-networking/recipes-support/ntpsec/ntpsec_1.2.2a.bb
+++ b/meta-openembedded/meta-networking/recipes-support/ntpsec/ntpsec_1.2.2a.bb
@@ -70,7 +70,7 @@
NTP_USER_HOME ?= "/var/lib/ntp"
-BISONFLAGS = "--file-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}"
+BISONFLAGS = "--file-prefix-map=${WORKDIR}=${TARGET_DBGSRC_DIR}"
do_configure:prepend() {
export BISONFLAGS="${BISONFLAGS}"
diff --git a/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.6.3.bb b/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.6.3.bb
deleted file mode 100644
index a5fc158..0000000
--- a/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.6.3.bb
+++ /dev/null
@@ -1,76 +0,0 @@
-SUMMARY = "A full-featured SSL VPN solution via tun device."
-HOMEPAGE = "https://openvpn.net/"
-SECTION = "net"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3170e982baae61dbb8de963317d1ac94"
-DEPENDS = "lzo lz4 openssl iproute2 libcap-ng ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
-
-inherit autotools systemd update-rc.d pkgconfig
-
-SRC_URI = "http://swupdate.openvpn.org/community/releases/${BP}.tar.gz \
- file://0001-configure.ac-eliminate-build-path-from-openvpn-versi.patch \
- file://openvpn \
- "
-
-UPSTREAM_CHECK_URI = "https://openvpn.net/community-downloads"
-
-SRC_URI[sha256sum] = "13b207a376d8880507c74ff78aabc3778a9da47c89f1e247dcee3c7237138ff6"
-
-CVE_STATUS[CVE-2020-27569] = "not-applicable-config: Applies only Aviatrix OpenVPN client, not openvpn"
-
-INITSCRIPT_PACKAGES = "${PN}"
-INITSCRIPT_NAME:${PN} = "openvpn"
-INITSCRIPT_PARAMS:${PN} = "start 10 2 3 4 5 . stop 70 0 1 6 ."
-
-CFLAGS += "-fno-inline"
-
-# I want openvpn to be able to read password from file (hrw)
-EXTRA_OECONF += "--enable-iproute2"
-EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '', '--disable-plugin-auth-pam', d)}"
-
-# Explicitly specify IPROUTE to bypass the configure-time check for /sbin/ip on the host.
-EXTRA_OECONF += "IPROUTE=${base_sbindir}/ip"
-
-EXTRA_OECONF += "SYSTEMD_UNIT_DIR=${systemd_system_unitdir} \
- TMPFILES_DIR=${nonarch_libdir}/tmpfiles.d \
- "
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
- ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \
- "
-
-PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd"
-PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
-
-do_install:append() {
- install -d ${D}/${sysconfdir}/init.d
- install -m 755 ${WORKDIR}/openvpn ${D}/${sysconfdir}/init.d
-
- install -d ${D}/${sysconfdir}/openvpn
- install -d ${D}/${sysconfdir}/openvpn/server
- install -d ${D}/${sysconfdir}/openvpn/client
-
- install -d ${D}/${sysconfdir}/openvpn/sample
- install -m 644 ${S}/sample/sample-config-files/loopback-server ${D}${sysconfdir}/openvpn/sample/loopback-server.conf
- install -m 644 ${S}/sample/sample-config-files/loopback-client ${D}${sysconfdir}/openvpn/sample/loopback-client.conf
- install -dm 755 ${D}${sysconfdir}/openvpn/sample/sample-config-files
- install -dm 755 ${D}${sysconfdir}/openvpn/sample/sample-keys
- install -dm 755 ${D}${sysconfdir}/openvpn/sample/sample-scripts
- install -m 644 ${S}/sample/sample-config-files/* ${D}${sysconfdir}/openvpn/sample/sample-config-files
- install -m 644 ${S}/sample/sample-keys/* ${D}${sysconfdir}/openvpn/sample/sample-keys
- install -m 644 ${S}/sample/sample-scripts/* ${D}${sysconfdir}/openvpn/sample/sample-scripts
-
- install -d -m 710 ${D}/${localstatedir}/lib/openvpn
-}
-
-PACKAGES =+ " ${PN}-sample "
-
-RRECOMMENDS:${PN} = "kernel-module-tun"
-
-FILES:${PN}-dbg += "${libdir}/openvpn/plugins/.debug"
-FILES:${PN} += "${systemd_system_unitdir}/openvpn-server@.service \
- ${systemd_system_unitdir}/openvpn-client@.service \
- ${nonarch_libdir}/tmpfiles.d \
- "
-FILES:${PN}-sample = "${sysconfdir}/openvpn/sample/ \
- "
diff --git a/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.6.7.bb b/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.6.7.bb
new file mode 100644
index 0000000..323abe3
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.6.7.bb
@@ -0,0 +1,76 @@
+SUMMARY = "A full-featured SSL VPN solution via tun device."
+HOMEPAGE = "https://openvpn.net/"
+SECTION = "net"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d8d34ce6390552676e4ce8279f13c48a"
+DEPENDS = "lzo lz4 openssl iproute2 libcap-ng ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
+
+inherit autotools systemd update-rc.d pkgconfig
+
+SRC_URI = "http://swupdate.openvpn.org/community/releases/${BP}.tar.gz \
+ file://0001-configure.ac-eliminate-build-path-from-openvpn-versi.patch \
+ file://openvpn \
+ "
+
+UPSTREAM_CHECK_URI = "https://openvpn.net/community-downloads"
+
+SRC_URI[sha256sum] = "ee9877340b1d8de47eb5b52712c3366855fa6a4a1955bf950c68577bd2039913"
+
+CVE_STATUS[CVE-2020-27569] = "not-applicable-config: Applies only Aviatrix OpenVPN client, not openvpn"
+
+INITSCRIPT_PACKAGES = "${PN}"
+INITSCRIPT_NAME:${PN} = "openvpn"
+INITSCRIPT_PARAMS:${PN} = "start 10 2 3 4 5 . stop 70 0 1 6 ."
+
+CFLAGS += "-fno-inline"
+
+# I want openvpn to be able to read password from file (hrw)
+EXTRA_OECONF += "--enable-iproute2"
+EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '', '--disable-plugin-auth-pam', d)}"
+
+# Explicitly specify IPROUTE to bypass the configure-time check for /sbin/ip on the host.
+EXTRA_OECONF += "IPROUTE=${base_sbindir}/ip"
+
+EXTRA_OECONF += "SYSTEMD_UNIT_DIR=${systemd_system_unitdir} \
+ TMPFILES_DIR=${nonarch_libdir}/tmpfiles.d \
+ "
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \
+ "
+
+PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd"
+PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
+
+do_install:append() {
+ install -d ${D}/${sysconfdir}/init.d
+ install -m 755 ${WORKDIR}/openvpn ${D}/${sysconfdir}/init.d
+
+ install -d ${D}/${sysconfdir}/openvpn
+ install -d ${D}/${sysconfdir}/openvpn/server
+ install -d ${D}/${sysconfdir}/openvpn/client
+
+ install -d ${D}/${sysconfdir}/openvpn/sample
+ install -m 644 ${S}/sample/sample-config-files/loopback-server ${D}${sysconfdir}/openvpn/sample/loopback-server.conf
+ install -m 644 ${S}/sample/sample-config-files/loopback-client ${D}${sysconfdir}/openvpn/sample/loopback-client.conf
+ install -dm 755 ${D}${sysconfdir}/openvpn/sample/sample-config-files
+ install -dm 755 ${D}${sysconfdir}/openvpn/sample/sample-keys
+ install -dm 755 ${D}${sysconfdir}/openvpn/sample/sample-scripts
+ install -m 644 ${S}/sample/sample-config-files/* ${D}${sysconfdir}/openvpn/sample/sample-config-files
+ install -m 644 ${S}/sample/sample-keys/* ${D}${sysconfdir}/openvpn/sample/sample-keys
+ install -m 644 ${S}/sample/sample-scripts/* ${D}${sysconfdir}/openvpn/sample/sample-scripts
+
+ install -d -m 710 ${D}/${localstatedir}/lib/openvpn
+}
+
+PACKAGES =+ " ${PN}-sample "
+
+RRECOMMENDS:${PN} = "kernel-module-tun"
+
+FILES:${PN}-dbg += "${libdir}/openvpn/plugins/.debug"
+FILES:${PN} += "${systemd_system_unitdir}/openvpn-server@.service \
+ ${systemd_system_unitdir}/openvpn-client@.service \
+ ${nonarch_libdir}/tmpfiles.d \
+ "
+FILES:${PN}-sample = "${sysconfdir}/openvpn/sample/ \
+ "
diff --git a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_47.0.bb b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_47.0.bb
deleted file mode 100644
index ac41743..0000000
--- a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_47.0.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-SUMMARY = "Userspace support for InfiniBand/RDMA verbs"
-DESCRIPTION = "This is the userspace components for the Linux Kernel's drivers Infiniband/RDMA subsystem."
-SECTION = "libs"
-
-DEPENDS = "libnl"
-RDEPENDS:${PN} = "bash perl"
-
-SRC_URI = "git://github.com/linux-rdma/rdma-core.git;branch=master;protocol=https \
- file://0001-cmake-Allow-SYSTEMCTL_BIN-to-be-overridden-from-envi.patch"
-SRCREV = "ccb120cc7b7faceca90cfa55189a1b35b0adc78d"
-S = "${WORKDIR}/git"
-
-#Default Dual License https://github.com/linux-rdma/rdma-core/blob/master/COPYING.md
-LICENSE = "BSD-2-Clause | GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING.BSD_FB;md5=0ec18bae1a9df92c8d6ae01f94a289ae \
- file://COPYING.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-EXTRA_OECMAKE = " \
- -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=${systemd_system_unitdir} \
- -DSYSTEMCTL_BIN=${base_bindir}/systemctl \
- -DCMAKE_INSTALL_PERLDIR=${libdir}/perl5/${@get_perl_version(d)} \
- -DNO_MAN_PAGES=1 \
-"
-
-LTO = ""
-
-FILES_SOLIBSDEV = ""
-FILES:${PN} += "${libdir}/*"
-INSANE_SKIP:${PN} += "dev-so"
-
-inherit cmake cpan-base pkgconfig python3native python3targetconfig systemd
-
-SYSTEMD_SERVICE:${PN} = " \
- srp_daemon.service \
- iwpmd.service \
- ibacm.socket \
- rdma-load-modules@.service \
- srp_daemon_port@.service \
- rdma-hw.target \
- ibacm.service \
-"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH"
diff --git a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_48.0.bb b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_48.0.bb
new file mode 100644
index 0000000..b9e0760
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_48.0.bb
@@ -0,0 +1,44 @@
+SUMMARY = "Userspace support for InfiniBand/RDMA verbs"
+DESCRIPTION = "This is the userspace components for the Linux Kernel's drivers Infiniband/RDMA subsystem."
+SECTION = "libs"
+
+DEPENDS = "libnl"
+RDEPENDS:${PN} = "bash perl"
+
+SRC_URI = "git://github.com/linux-rdma/rdma-core.git;branch=master;protocol=https \
+ file://0001-cmake-Allow-SYSTEMCTL_BIN-to-be-overridden-from-envi.patch"
+SRCREV = "3e039515b959fea70356b010ed093e43cf360e99"
+S = "${WORKDIR}/git"
+
+#Default Dual License https://github.com/linux-rdma/rdma-core/blob/master/COPYING.md
+LICENSE = "BSD-2-Clause | GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING.BSD_FB;md5=0ec18bae1a9df92c8d6ae01f94a289ae \
+ file://COPYING.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+EXTRA_OECMAKE = " \
+ -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=${systemd_system_unitdir} \
+ -DSYSTEMCTL_BIN=${base_bindir}/systemctl \
+ -DCMAKE_INSTALL_PERLDIR=${libdir}/perl5/${@get_perl_version(d)} \
+ -DNO_MAN_PAGES=1 \
+"
+
+LTO = ""
+
+FILES_SOLIBSDEV = ""
+FILES:${PN} += "${libdir}/*"
+INSANE_SKIP:${PN} += "dev-so"
+
+inherit cmake cpan-base pkgconfig python3native python3targetconfig systemd
+
+SYSTEMD_SERVICE:${PN} = " \
+ srp_daemon.service \
+ iwpmd.service \
+ ibacm.socket \
+ rdma-load-modules@.service \
+ srp_daemon_port@.service \
+ rdma-hw.target \
+ ibacm.service \
+"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH"
diff --git a/meta-openembedded/meta-networking/recipes-support/spice/phodav_3.0.bb b/meta-openembedded/meta-networking/recipes-support/spice/phodav_3.0.bb
index 990e017..08c65eb 100644
--- a/meta-openembedded/meta-networking/recipes-support/spice/phodav_3.0.bb
+++ b/meta-openembedded/meta-networking/recipes-support/spice/phodav_3.0.bb
@@ -7,7 +7,6 @@
libsoup \
"
-GNOMEBASEBUILDCLASS = "meson"
GTKDOC_MESON_OPTION = 'gtk_doc'
GTKDOC_MESON_ENABLE_FLAG = 'enabled'
GTKDOC_MESON_DISABLE_FLAG = 'disabled'
diff --git a/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.11.bb b/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.11.bb
deleted file mode 100644
index fb1bea2..0000000
--- a/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.11.bb
+++ /dev/null
@@ -1,194 +0,0 @@
-DESCRIPTION = "strongSwan is an OpenSource IPsec implementation for the \
-Linux operating system."
-SUMMARY = "strongSwan is an OpenSource IPsec implementation"
-HOMEPAGE = "http://www.strongswan.org"
-SECTION = "net"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "flex-native flex bison-native"
-DEPENDS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'tpm2', ' tpm2-tss', '', d)}"
-
-SRC_URI = "https://download.strongswan.org/strongswan-${PV}.tar.bz2 \
- "
-
-SRC_URI[sha256sum] = "ddf53f1f26ad26979d5f55e8da95bd389552f5de3682e35593f9a70b2584ed2d"
-
-UPSTREAM_CHECK_REGEX = "strongswan-(?P<pver>\d+(\.\d+)+)\.tar"
-
-EXTRA_OECONF = " \
- --without-lib-prefix \
- --with-dev-headers=${includedir}/strongswan \
-"
-
-EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}"
-
-PACKAGECONFIG ?= "curl gmp openssl sqlite3 swanctl curve25519\
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd-charon', 'charon', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'tpm2', 'tpm2', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ima', 'tnc-imc imc-hcd imc-os imc-scanner imc-attestation', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ima', 'tnc-imv imv-hcd imv-os imv-scanner imv-attestation', '', d)} \
-"
-
-PACKAGECONFIG[aesni] = "--enable-aesni,--disable-aesni,,${PN}-plugin-aesni"
-PACKAGECONFIG[bfd] = "--enable-bfd-backtraces,--disable-bfd-backtraces,binutils"
-PACKAGECONFIG[charon] = "--enable-charon,--disable-charon,"
-PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl,${PN}-plugin-curl"
-PACKAGECONFIG[eap-identity] = "--enable-eap-identity,--disable-eap-identity,,${PN}-plugin-eap-identity"
-PACKAGECONFIG[eap-mschapv2] = "--enable-eap-mschapv2,--disable-eap-mschapv2,,${PN}-plugin-eap-mschapv2"
-PACKAGECONFIG[gmp] = "--enable-gmp,--disable-gmp,gmp,${PN}-plugin-gmp"
-PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,openldap,${PN}-plugin-ldap"
-PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5,${PN}-plugin-mysql"
-PACKAGECONFIG[nm] = "--enable-nm,--disable-nm,networkmanager,${PN}-nm"
-PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl,${PN}-plugin-openssl"
-PACKAGECONFIG[soup] = "--enable-soup,--disable-soup,libsoup-2.4,${PN}-plugin-soup"
-PACKAGECONFIG[sqlite3] = "--enable-sqlite,--disable-sqlite,sqlite3,${PN}-plugin-sqlite"
-PACKAGECONFIG[stroke] = "--enable-stroke,--disable-stroke,,${PN}-plugin-stroke"
-PACKAGECONFIG[swanctl] = "--enable-swanctl,--disable-swanctl,,libgcc"
-PACKAGECONFIG[curve25519] = "--enable-curve25519,--disable-curve25519,, ${PN}-plugin-curve25519"
-
-# requires swanctl
-PACKAGECONFIG[systemd-charon] = "--enable-systemd,--disable-systemd,systemd,"
-
-# tpm needs meta-tpm layer
-PACKAGECONFIG[tpm2] = "--enable-tpm,--disable-tpm,,${PN}-plugin-tpm"
-
-
-# integraty configuration needs meta-integraty
-#imc
-PACKAGECONFIG[tnc-imc] = "--enable-tnc-imc,--disable-tnc-imc,, ${PN}-plugin-tnc-imc ${PN}-plugin-tnc-tnccs"
-PACKAGECONFIG[imc-test] = "--enable-imc-test,--disable-imc-test,,"
-PACKAGECONFIG[imc-scanner] = "--enable-imc-scanner,--disable-imc-scanner,,"
-PACKAGECONFIG[imc-os] = "--enable-imc-os,--disable-imc-os,,"
-PACKAGECONFIG[imc-attestation] = "--enable-imc-attestation,--disable-imc-attestation,,"
-PACKAGECONFIG[imc-swima] = "--enable-imc-swima, --disable-imc-swima, json-c,"
-PACKAGECONFIG[imc-hcd] = "--enable-imc-hcd, --disable-imc-hcd,,"
-
-#imv set
-PACKAGECONFIG[tnc-imv] = "--enable-tnc-imv,--disable-tnc-imv,, ${PN}-plugin-tnc-imv ${PN}-plugin-tnc-tnccs"
-PACKAGECONFIG[imv-test] = "--enable-imv-test,--disable-imv-test,,"
-PACKAGECONFIG[imv-scanner] = "--enable-imv-scanner,--disable-imv-scanner,,"
-PACKAGECONFIG[imv-os] = "--enable-imv-os,--disable-imv-os,,"
-PACKAGECONFIG[imv-attestation] = "--enable-imv-attestation,--disable-imv-attestation,,"
-PACKAGECONFIG[imv-swima] = "--enable-imv-swima, --disable-imv-swima, json-c,"
-PACKAGECONFIG[imv-hcd] = "--enable-imv-hcd, --disable-imv-hcd,,"
-
-PACKAGECONFIG[tnc-ifmap] = "--enable-tnc-ifmap,--disable-tnc-ifmap, libxml2, ${PN}-plugin-tnc-ifmap"
-PACKAGECONFIG[tnc-pdp] = "--enable-tnc-pdp,--disable-tnc-pdp,, ${PN}-plugin-tnc-pdp"
-
-PACKAGECONFIG[tnccs-11] = "--enable-tnccs-11,--disable-tnccs-11,libxml2, ${PN}-plugin-tnccs-11"
-PACKAGECONFIG[tnccs-20] = "--enable-tnccs-20,--disable-tnccs-20,, ${PN}-plugin-tnccs-20"
-PACKAGECONFIG[tnccs-dynamic] = "--enable-tnccs-dynamic,--disable-tnccs-dynamic,,${PN}-plugin-tnccs-dynamic"
-
-inherit autotools systemd pkgconfig
-
-RRECOMMENDS:${PN} = "kernel-module-ah4 \
- kernel-module-esp4 \
- kernel-module-xfrm-user \
- "
-
-FILES:${PN} += "${libdir}/ipsec/lib*${SOLIBS}"
-FILES:${PN}-dbg += "${bindir}/.debug ${sbindir}/.debug ${libdir}/ipsec/.debug ${libexecdir}/ipsec/.debug"
-FILES:${PN}-dev += "${libdir}/ipsec/lib*${SOLIBSDEV} ${libdir}/ipsec/*.la ${libdir}/ipsec/include/config.h"
-FILES:${PN}-staticdev += "${libdir}/ipsec/*.a"
-
-CONFFILES:${PN} = "${sysconfdir}/*.conf ${sysconfdir}/ipsec.d/*.conf ${sysconfdir}/strongswan.d/*.conf"
-
-PACKAGES += "${PN}-plugins"
-ALLOW_EMPTY:${PN}-plugins = "1"
-
-PACKAGE_BEFORE_PN = "${PN}-imcvs ${PN}-imcvs-dbg"
-ALLOW_EMPTY:${PN}-imcvs = "1"
-
-FILES:${PN}-imcvs = "${libdir}/ipsec/imcvs/*.so"
-FILES:${PN}-imcvs-dbg += "${libdir}/ipsec/imcvs/.debug"
-
-PACKAGES =+ "${PN}-nm ${PN}-nm-dbg"
-FILES:${PN}-nm = "${libexecdir}/ipsec/charon-nm ${datadir}/dbus-1/system.d/nm-strongswan-service.conf"
-FILES:${PN}-nm-dbg = "${libexecdir}/ipsec/.debug/charon-nm"
-
-PACKAGES_DYNAMIC += "^${PN}-plugin-.*$"
-NOAUTOPACKAGEDEBUG = "1"
-
-python split_strongswan_plugins () {
- sysconfdir = d.expand('${sysconfdir}/strongswan.d/charon')
- libdir = d.expand('${libdir}/ipsec/plugins')
- dbglibdir = os.path.join(libdir, '.debug')
-
- def add_plugin_conf(f, pkg, file_regex, output_pattern, modulename):
- dvar = d.getVar('PKGD')
- oldfiles = d.getVar('CONFFILES:' + pkg)
- newfile = '/' + os.path.relpath(f, dvar)
-
- if not oldfiles:
- d.setVar('CONFFILES:' + pkg, newfile)
- else:
- d.setVar('CONFFILES:' + pkg, oldfiles + " " + newfile)
-
- split_packages = do_split_packages(d, libdir, r'libstrongswan-(.*)\.so', '${PN}-plugin-%s', 'strongSwan %s plugin', prepend=True)
- do_split_packages(d, sysconfdir, r'(.*)\.conf', '${PN}-plugin-%s', 'strongSwan %s plugin', prepend=True, hook=add_plugin_conf)
-
- split_dbg_packages = do_split_packages(d, dbglibdir, r'libstrongswan-(.*)\.so', '${PN}-plugin-%s-dbg', 'strongSwan %s plugin - Debugging files', prepend=True, extra_depends='${PN}-dbg')
- split_dev_packages = do_split_packages(d, libdir, r'libstrongswan-(.*)\.la', '${PN}-plugin-%s-dev', 'strongSwan %s plugin - Development files', prepend=True, extra_depends='${PN}-dev')
- split_staticdev_packages = do_split_packages(d, libdir, r'libstrongswan-(.*)\.a', '${PN}-plugin-%s-staticdev', 'strongSwan %s plugin - Development files (Static Libraries)', prepend=True, extra_depends='${PN}-staticdev')
-
- if split_packages:
- pn = d.getVar('PN')
- d.setVar('RRECOMMENDS:' + pn + '-plugins', ' '.join(split_packages))
- d.appendVar('RRECOMMENDS:' + pn + '-dbg', ' ' + ' '.join(split_dbg_packages))
- d.appendVar('RRECOMMENDS:' + pn + '-dev', ' ' + ' '.join(split_dev_packages))
- d.appendVar('RRECOMMENDS:' + pn + '-staticdev', ' ' + ' '.join(split_staticdev_packages))
-}
-
-PACKAGESPLITFUNCS:prepend = "split_strongswan_plugins "
-
-# Install some default plugins based on default strongSwan ./configure options
-# See https://wiki.strongswan.org/projects/strongswan/wiki/Pluginlist
-RDEPENDS:${PN} += "\
- ${PN}-plugin-aes \
- ${PN}-plugin-attr \
- ${PN}-plugin-cmac \
- ${PN}-plugin-constraints \
- ${PN}-plugin-des \
- ${PN}-plugin-dnskey \
- ${PN}-plugin-drbg \
- ${PN}-plugin-fips-prf \
- ${PN}-plugin-gcm \
- ${PN}-plugin-hmac \
- ${PN}-plugin-kdf \
- ${PN}-plugin-kernel-netlink \
- ${PN}-plugin-md5 \
- ${PN}-plugin-mgf1 \
- ${PN}-plugin-nonce \
- ${PN}-plugin-pem \
- ${PN}-plugin-pgp \
- ${PN}-plugin-pkcs1 \
- ${PN}-plugin-pkcs7 \
- ${PN}-plugin-pkcs8 \
- ${PN}-plugin-pkcs12 \
- ${PN}-plugin-pubkey \
- ${PN}-plugin-random \
- ${PN}-plugin-rc2 \
- ${PN}-plugin-resolve \
- ${PN}-plugin-revocation \
- ${PN}-plugin-sha1 \
- ${PN}-plugin-sha2 \
- ${PN}-plugin-socket-default \
- ${PN}-plugin-sshkey \
- ${PN}-plugin-updown \
- ${PN}-plugin-vici \
- ${PN}-plugin-x509 \
- ${PN}-plugin-xauth-generic \
- ${PN}-plugin-xcbc \
- "
-
-RPROVIDES:${PN} += "${PN}-systemd"
-RREPLACES:${PN} += "${PN}-systemd"
-RCONFLICTS:${PN} += "${PN}-systemd"
-
-# The deprecated legacy 'strongswan-starter' service should only be used when charon and
-# stroke are enabled. When swanctl is in use, 'strongswan.service' is needed.
-# See: https://wiki.strongswan.org/projects/strongswan/wiki/Charon-systemd
-SYSTEMD_SERVICE:${PN} = " \
- ${@bb.utils.contains('PACKAGECONFIG', 'swanctl', '${BPN}.service', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'charon', '${BPN}-starter.service', '', d)} \
-"
diff --git a/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.12.bb b/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.12.bb
new file mode 100644
index 0000000..87d12bc
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.12.bb
@@ -0,0 +1,194 @@
+DESCRIPTION = "strongSwan is an OpenSource IPsec implementation for the \
+Linux operating system."
+SUMMARY = "strongSwan is an OpenSource IPsec implementation"
+HOMEPAGE = "http://www.strongswan.org"
+SECTION = "net"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+DEPENDS = "flex-native flex bison-native"
+DEPENDS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'tpm2', ' tpm2-tss', '', d)}"
+
+SRC_URI = "https://download.strongswan.org/strongswan-${PV}.tar.bz2 \
+ "
+
+SRC_URI[sha256sum] = "5e6018b07cbe9f72c044c129955a13be3e2f799ceb53f53a4459da6a922b95e5"
+
+UPSTREAM_CHECK_REGEX = "strongswan-(?P<pver>\d+(\.\d+)+)\.tar"
+
+EXTRA_OECONF = " \
+ --without-lib-prefix \
+ --with-dev-headers=${includedir}/strongswan \
+"
+
+EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}"
+
+PACKAGECONFIG ?= "curl gmp openssl sqlite3 swanctl curve25519\
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd-charon', 'charon', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'tpm2', 'tpm2', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'ima', 'tnc-imc imc-hcd imc-os imc-scanner imc-attestation', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'ima', 'tnc-imv imv-hcd imv-os imv-scanner imv-attestation', '', d)} \
+"
+
+PACKAGECONFIG[aesni] = "--enable-aesni,--disable-aesni,,${PN}-plugin-aesni"
+PACKAGECONFIG[bfd] = "--enable-bfd-backtraces,--disable-bfd-backtraces,binutils"
+PACKAGECONFIG[charon] = "--enable-charon,--disable-charon,"
+PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl,${PN}-plugin-curl"
+PACKAGECONFIG[eap-identity] = "--enable-eap-identity,--disable-eap-identity,,${PN}-plugin-eap-identity"
+PACKAGECONFIG[eap-mschapv2] = "--enable-eap-mschapv2,--disable-eap-mschapv2,,${PN}-plugin-eap-mschapv2"
+PACKAGECONFIG[gmp] = "--enable-gmp,--disable-gmp,gmp,${PN}-plugin-gmp"
+PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,openldap,${PN}-plugin-ldap"
+PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5,${PN}-plugin-mysql"
+PACKAGECONFIG[nm] = "--enable-nm,--disable-nm,networkmanager,${PN}-nm"
+PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl,${PN}-plugin-openssl"
+PACKAGECONFIG[soup] = "--enable-soup,--disable-soup,libsoup-2.4,${PN}-plugin-soup"
+PACKAGECONFIG[sqlite3] = "--enable-sqlite,--disable-sqlite,sqlite3,${PN}-plugin-sqlite"
+PACKAGECONFIG[stroke] = "--enable-stroke,--disable-stroke,,${PN}-plugin-stroke"
+PACKAGECONFIG[swanctl] = "--enable-swanctl,--disable-swanctl,,libgcc"
+PACKAGECONFIG[curve25519] = "--enable-curve25519,--disable-curve25519,, ${PN}-plugin-curve25519"
+
+# requires swanctl
+PACKAGECONFIG[systemd-charon] = "--enable-systemd,--disable-systemd,systemd,"
+
+# tpm needs meta-tpm layer
+PACKAGECONFIG[tpm2] = "--enable-tpm,--disable-tpm,,${PN}-plugin-tpm"
+
+
+# integraty configuration needs meta-integraty
+#imc
+PACKAGECONFIG[tnc-imc] = "--enable-tnc-imc,--disable-tnc-imc,, ${PN}-plugin-tnc-imc ${PN}-plugin-tnc-tnccs"
+PACKAGECONFIG[imc-test] = "--enable-imc-test,--disable-imc-test,,"
+PACKAGECONFIG[imc-scanner] = "--enable-imc-scanner,--disable-imc-scanner,,"
+PACKAGECONFIG[imc-os] = "--enable-imc-os,--disable-imc-os,,"
+PACKAGECONFIG[imc-attestation] = "--enable-imc-attestation,--disable-imc-attestation,,"
+PACKAGECONFIG[imc-swima] = "--enable-imc-swima, --disable-imc-swima, json-c,"
+PACKAGECONFIG[imc-hcd] = "--enable-imc-hcd, --disable-imc-hcd,,"
+
+#imv set
+PACKAGECONFIG[tnc-imv] = "--enable-tnc-imv,--disable-tnc-imv,, ${PN}-plugin-tnc-imv ${PN}-plugin-tnc-tnccs"
+PACKAGECONFIG[imv-test] = "--enable-imv-test,--disable-imv-test,,"
+PACKAGECONFIG[imv-scanner] = "--enable-imv-scanner,--disable-imv-scanner,,"
+PACKAGECONFIG[imv-os] = "--enable-imv-os,--disable-imv-os,,"
+PACKAGECONFIG[imv-attestation] = "--enable-imv-attestation,--disable-imv-attestation,,"
+PACKAGECONFIG[imv-swima] = "--enable-imv-swima, --disable-imv-swima, json-c,"
+PACKAGECONFIG[imv-hcd] = "--enable-imv-hcd, --disable-imv-hcd,,"
+
+PACKAGECONFIG[tnc-ifmap] = "--enable-tnc-ifmap,--disable-tnc-ifmap, libxml2, ${PN}-plugin-tnc-ifmap"
+PACKAGECONFIG[tnc-pdp] = "--enable-tnc-pdp,--disable-tnc-pdp,, ${PN}-plugin-tnc-pdp"
+
+PACKAGECONFIG[tnccs-11] = "--enable-tnccs-11,--disable-tnccs-11,libxml2, ${PN}-plugin-tnccs-11"
+PACKAGECONFIG[tnccs-20] = "--enable-tnccs-20,--disable-tnccs-20,, ${PN}-plugin-tnccs-20"
+PACKAGECONFIG[tnccs-dynamic] = "--enable-tnccs-dynamic,--disable-tnccs-dynamic,,${PN}-plugin-tnccs-dynamic"
+
+inherit autotools systemd pkgconfig
+
+RRECOMMENDS:${PN} = "kernel-module-ah4 \
+ kernel-module-esp4 \
+ kernel-module-xfrm-user \
+ "
+
+FILES:${PN} += "${libdir}/ipsec/lib*${SOLIBS}"
+FILES:${PN}-dbg += "${bindir}/.debug ${sbindir}/.debug ${libdir}/ipsec/.debug ${libexecdir}/ipsec/.debug"
+FILES:${PN}-dev += "${libdir}/ipsec/lib*${SOLIBSDEV} ${libdir}/ipsec/*.la ${libdir}/ipsec/include/config.h"
+FILES:${PN}-staticdev += "${libdir}/ipsec/*.a"
+
+CONFFILES:${PN} = "${sysconfdir}/*.conf ${sysconfdir}/ipsec.d/*.conf ${sysconfdir}/strongswan.d/*.conf"
+
+PACKAGES += "${PN}-plugins"
+ALLOW_EMPTY:${PN}-plugins = "1"
+
+PACKAGE_BEFORE_PN = "${PN}-imcvs ${PN}-imcvs-dbg"
+ALLOW_EMPTY:${PN}-imcvs = "1"
+
+FILES:${PN}-imcvs = "${libdir}/ipsec/imcvs/*.so"
+FILES:${PN}-imcvs-dbg += "${libdir}/ipsec/imcvs/.debug"
+
+PACKAGES =+ "${PN}-nm ${PN}-nm-dbg"
+FILES:${PN}-nm = "${libexecdir}/ipsec/charon-nm ${datadir}/dbus-1/system.d/nm-strongswan-service.conf"
+FILES:${PN}-nm-dbg = "${libexecdir}/ipsec/.debug/charon-nm"
+
+PACKAGES_DYNAMIC += "^${PN}-plugin-.*$"
+NOAUTOPACKAGEDEBUG = "1"
+
+python split_strongswan_plugins () {
+ sysconfdir = d.expand('${sysconfdir}/strongswan.d/charon')
+ libdir = d.expand('${libdir}/ipsec/plugins')
+ dbglibdir = os.path.join(libdir, '.debug')
+
+ def add_plugin_conf(f, pkg, file_regex, output_pattern, modulename):
+ dvar = d.getVar('PKGD')
+ oldfiles = d.getVar('CONFFILES:' + pkg)
+ newfile = '/' + os.path.relpath(f, dvar)
+
+ if not oldfiles:
+ d.setVar('CONFFILES:' + pkg, newfile)
+ else:
+ d.setVar('CONFFILES:' + pkg, oldfiles + " " + newfile)
+
+ split_packages = do_split_packages(d, libdir, r'libstrongswan-(.*)\.so', '${PN}-plugin-%s', 'strongSwan %s plugin', prepend=True)
+ do_split_packages(d, sysconfdir, r'(.*)\.conf', '${PN}-plugin-%s', 'strongSwan %s plugin', prepend=True, hook=add_plugin_conf)
+
+ split_dbg_packages = do_split_packages(d, dbglibdir, r'libstrongswan-(.*)\.so', '${PN}-plugin-%s-dbg', 'strongSwan %s plugin - Debugging files', prepend=True, extra_depends='${PN}-dbg')
+ split_dev_packages = do_split_packages(d, libdir, r'libstrongswan-(.*)\.la', '${PN}-plugin-%s-dev', 'strongSwan %s plugin - Development files', prepend=True, extra_depends='${PN}-dev')
+ split_staticdev_packages = do_split_packages(d, libdir, r'libstrongswan-(.*)\.a', '${PN}-plugin-%s-staticdev', 'strongSwan %s plugin - Development files (Static Libraries)', prepend=True, extra_depends='${PN}-staticdev')
+
+ if split_packages:
+ pn = d.getVar('PN')
+ d.setVar('RRECOMMENDS:' + pn + '-plugins', ' '.join(split_packages))
+ d.appendVar('RRECOMMENDS:' + pn + '-dbg', ' ' + ' '.join(split_dbg_packages))
+ d.appendVar('RRECOMMENDS:' + pn + '-dev', ' ' + ' '.join(split_dev_packages))
+ d.appendVar('RRECOMMENDS:' + pn + '-staticdev', ' ' + ' '.join(split_staticdev_packages))
+}
+
+PACKAGESPLITFUNCS:prepend = "split_strongswan_plugins "
+
+# Install some default plugins based on default strongSwan ./configure options
+# See https://wiki.strongswan.org/projects/strongswan/wiki/Pluginlist
+RDEPENDS:${PN} += "\
+ ${PN}-plugin-aes \
+ ${PN}-plugin-attr \
+ ${PN}-plugin-cmac \
+ ${PN}-plugin-constraints \
+ ${PN}-plugin-des \
+ ${PN}-plugin-dnskey \
+ ${PN}-plugin-drbg \
+ ${PN}-plugin-fips-prf \
+ ${PN}-plugin-gcm \
+ ${PN}-plugin-hmac \
+ ${PN}-plugin-kdf \
+ ${PN}-plugin-kernel-netlink \
+ ${PN}-plugin-md5 \
+ ${PN}-plugin-mgf1 \
+ ${PN}-plugin-nonce \
+ ${PN}-plugin-pem \
+ ${PN}-plugin-pgp \
+ ${PN}-plugin-pkcs1 \
+ ${PN}-plugin-pkcs7 \
+ ${PN}-plugin-pkcs8 \
+ ${PN}-plugin-pkcs12 \
+ ${PN}-plugin-pubkey \
+ ${PN}-plugin-random \
+ ${PN}-plugin-rc2 \
+ ${PN}-plugin-resolve \
+ ${PN}-plugin-revocation \
+ ${PN}-plugin-sha1 \
+ ${PN}-plugin-sha2 \
+ ${PN}-plugin-socket-default \
+ ${PN}-plugin-sshkey \
+ ${PN}-plugin-updown \
+ ${PN}-plugin-vici \
+ ${PN}-plugin-x509 \
+ ${PN}-plugin-xauth-generic \
+ ${PN}-plugin-xcbc \
+ "
+
+RPROVIDES:${PN} += "${PN}-systemd"
+RREPLACES:${PN} += "${PN}-systemd"
+RCONFLICTS:${PN} += "${PN}-systemd"
+
+# The deprecated legacy 'strongswan-starter' service should only be used when charon and
+# stroke are enabled. When swanctl is in use, 'strongswan.service' is needed.
+# See: https://wiki.strongswan.org/projects/strongswan/wiki/Charon-systemd
+SYSTEMD_SERVICE:${PN} = " \
+ ${@bb.utils.contains('PACKAGECONFIG', 'swanctl', '${BPN}.service', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'charon', '${BPN}-starter.service', '', d)} \
+"
diff --git a/meta-openembedded/meta-networking/recipes-support/tnftp/tnftp_20210827.bb b/meta-openembedded/meta-networking/recipes-support/tnftp/tnftp_20210827.bb
deleted file mode 100644
index a6ba671..0000000
--- a/meta-openembedded/meta-networking/recipes-support/tnftp/tnftp_20210827.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-SUMMARY = "Enhanced NetBSD ftp client"
-DESCRIPTION = "tnftp (formerly known as lukemftp) is a port of the NetBSD FTP client \
-to other systems. It offers many enhancements over the traditional \
-BSD FTP client, including command-line editing, command-line fetches \
-of FTP and HTTP URLs (including via proxies), command-line uploads of \
-FTP URLs, context-sensitive word completion, dynamic progress bar, \
-IPv6 support, modification time preservation, paging of local and \
-remote files, passive mode support (with fallback to active mode), \
-SOCKS support, TIS FWTK gate-ftp server support, and transfer rate \
-throttling."
-
-SECTION = "net"
-LICENSE = "BSD-4-Clause"
-
-DEPENDS = "ncurses"
-
-SRC_URI = "ftp://ftp.netbsd.org/pub/NetBSD/misc/tnftp/${BPN}-${PV}.tar.gz \
- file://0001-libedit-Include-missing-header-stdc-predef.h.patch \
-"
-
-inherit autotools update-alternatives pkgconfig
-
-ALTERNATIVE_PRIORITY = "100"
-
-ALTERNATIVE:${PN} = "ftp"
-ALTERNATIVE_LINK_NAME[ftp] = "${bindir}/ftp"
-ALTERNATIVE_TARGET[ftp] = "${bindir}/tnftp"
-
-FILES:${PN} = "${bindir}/tnftp"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=b4248c6fb8ecff27f256ba97b25f1a21"
-SRC_URI[md5sum] = "fdb6dd1b53dca79148c395b77c6dba5a"
-SRC_URI[sha256sum] = "101901e90b656c223ec8106370dd0d783fb63d26aa6f0b2a75f40e86a9f06ea2"
-
-PACKAGECONFIG ?= "openssl \
- ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
-"
-PACKAGECONFIG[openssl] = "--enable-ssl, --disable-ssl --with-ssl=no, openssl"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/meta-openembedded/meta-networking/recipes-support/tnftp/tnftp_20230507.bb b/meta-openembedded/meta-networking/recipes-support/tnftp/tnftp_20230507.bb
new file mode 100644
index 0000000..79c3dad
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/tnftp/tnftp_20230507.bb
@@ -0,0 +1,38 @@
+SUMMARY = "Enhanced NetBSD ftp client"
+DESCRIPTION = "tnftp (formerly known as lukemftp) is a port of the NetBSD FTP client \
+to other systems. It offers many enhancements over the traditional \
+BSD FTP client, including command-line editing, command-line fetches \
+of FTP and HTTP URLs (including via proxies), command-line uploads of \
+FTP URLs, context-sensitive word completion, dynamic progress bar, \
+IPv6 support, modification time preservation, paging of local and \
+remote files, passive mode support (with fallback to active mode), \
+SOCKS support, TIS FWTK gate-ftp server support, and transfer rate \
+throttling."
+
+SECTION = "net"
+LICENSE = "BSD-2-Clause"
+
+DEPENDS = "ncurses"
+
+SRC_URI = "ftp://ftp.netbsd.org/pub/NetBSD/misc/tnftp/${BPN}-${PV}.tar.gz \
+ file://0001-libedit-Include-missing-header-stdc-predef.h.patch \
+"
+
+inherit autotools update-alternatives pkgconfig
+
+ALTERNATIVE_PRIORITY = "100"
+
+ALTERNATIVE:${PN} = "ftp"
+ALTERNATIVE_LINK_NAME[ftp] = "${bindir}/ftp"
+ALTERNATIVE_TARGET[ftp] = "${bindir}/tnftp"
+
+FILES:${PN} = "${bindir}/tnftp"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=fbbb944979c7466ed5509b4bbc6c328b"
+SRC_URI[sha256sum] = "be0134394bd7d418a3b34892b0709eeb848557e86474e1786f0d1a887d3a6580"
+
+PACKAGECONFIG ?= "openssl \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
+"
+PACKAGECONFIG[openssl] = "--enable-ssl, --disable-ssl --with-ssl=no, openssl"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/meta-openembedded/meta-networking/recipes-support/uftp/uftp_5.0.1.bb b/meta-openembedded/meta-networking/recipes-support/uftp/uftp_5.0.1.bb
deleted file mode 100644
index 6d5cf4b..0000000
--- a/meta-openembedded/meta-networking/recipes-support/uftp/uftp_5.0.1.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-DESCRIPTION = "Encrypted UDP based FTP with multicast"
-HOMEPAGE = "https://sourceforge.net/projects/uftp-multicast"
-SECTION = "libs/network"
-LICENSE = "GPL-3.0-only"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=d32239bcb673463ab874e80d47fae504"
-
-UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/uftp-multicast/files/source-tar/"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/uftp-multicast/source-tar/uftp-${PV}.tar.gz"
-SRC_URI[sha256sum] = "f0435fbc8e9ffa125e05600cb6c7fc933d7d587f5bae41b257267be4f2ce0e61"
-
-DEPENDS = "openssl"
-
-do_install () {
- oe_runmake install DESTDIR=${D}
-}
diff --git a/meta-openembedded/meta-networking/recipes-support/uftp/uftp_5.0.2.bb b/meta-openembedded/meta-networking/recipes-support/uftp/uftp_5.0.2.bb
new file mode 100644
index 0000000..ca2a8ce
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/uftp/uftp_5.0.2.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "Encrypted UDP based FTP with multicast"
+HOMEPAGE = "https://sourceforge.net/projects/uftp-multicast"
+SECTION = "libs/network"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=d32239bcb673463ab874e80d47fae504"
+
+UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/uftp-multicast/files/source-tar/"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/uftp-multicast/source-tar/uftp-${PV}.tar.gz"
+SRC_URI[sha256sum] = "57c12a6ae59942535fb5e620381aedeb17d50009ee71f236427ce237a46c0b14"
+
+DEPENDS = "openssl"
+
+do_install () {
+ oe_runmake install DESTDIR=${D}
+}
diff --git a/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.18.0.bb b/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.18.0.bb
deleted file mode 100644
index 179af80..0000000
--- a/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.18.0.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-SUMMARY = "Unbound is a validating, recursive, and caching DNS resolver"
-DESCRIPTION = "Unbound's design is a set of modular components which incorporate \
- features including enhanced security (DNSSEC) validation, Internet Protocol \
- Version 6 (IPv6), and a client resolver library API as an integral part of the \
- architecture"
-
-HOMEPAGE = "https://www.unbound.net/"
-SECTION = "net"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5308494bc0590c0cb036afd781d78f06"
-
-SRC_URI = "git://github.com/NLnetLabs/unbound.git;protocol=https;branch=master"
-SRCREV = "3795e374107ac7a5a977c516e144a3cd9b0da998"
-
-inherit autotools pkgconfig systemd update-rc.d
-
-DEPENDS = "openssl libtool-native bison-native expat"
-RDEPENDS:${PN} = "bash openssl-bin daemonize"
-
-S = "${WORKDIR}/git"
-
-EXTRA_OECONF = "--with-libexpat=${STAGING_EXECPREFIXDIR} \
- --with-ssl=${STAGING_EXECPREFIXDIR} \
- --enable-largefile"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PACKAGECONFIG[dnscrypt] = "--enable-dnscrypt, --disable-dnscrypt, libsodium"
-PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd"
-PACKAGECONFIG[libevent] = "--with-libevent=${STAGING_EXECPREFIXDIR},,libevent"
-
-do_configure:append() {
- sed -i -e 's#${RECIPE_SYSROOT}##g' ${B}/config.h
-}
-
-do_install:append() {
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${B}/contrib/unbound.service ${D}${systemd_unitdir}/system
-
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 ${S}/contrib/unbound.init_yocto ${D}${sysconfdir}/init.d/unbound
-}
-
-SYSTEMD_SERVICE:${PN} = "${BPN}.service"
-
-INITSCRIPT_NAME = "unbound"
-INITSCRIPT_PARAMS = "defaults"
diff --git a/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.19.0.bb b/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.19.0.bb
new file mode 100644
index 0000000..ed8c5bd
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.19.0.bb
@@ -0,0 +1,46 @@
+SUMMARY = "Unbound is a validating, recursive, and caching DNS resolver"
+DESCRIPTION = "Unbound's design is a set of modular components which incorporate \
+ features including enhanced security (DNSSEC) validation, Internet Protocol \
+ Version 6 (IPv6), and a client resolver library API as an integral part of the \
+ architecture"
+
+HOMEPAGE = "https://www.unbound.net/"
+SECTION = "net"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5308494bc0590c0cb036afd781d78f06"
+
+SRC_URI = "git://github.com/NLnetLabs/unbound.git;protocol=https;branch=master"
+SRCREV = "3352b1090ea1098883f6bf64236fa877e18e458b"
+
+inherit autotools pkgconfig systemd update-rc.d
+
+DEPENDS = "openssl libtool-native bison-native expat"
+RDEPENDS:${PN} = "bash openssl-bin daemonize"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECONF = "--with-libexpat=${STAGING_EXECPREFIXDIR} \
+ --with-ssl=${STAGING_EXECPREFIXDIR} \
+ --enable-largefile"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[dnscrypt] = "--enable-dnscrypt, --disable-dnscrypt, libsodium"
+PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd"
+PACKAGECONFIG[libevent] = "--with-libevent=${STAGING_EXECPREFIXDIR},,libevent"
+
+do_configure:append() {
+ sed -i -e 's#${RECIPE_SYSROOT}##g' ${B}/config.h
+}
+
+do_install:append() {
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${B}/contrib/unbound.service ${D}${systemd_unitdir}/system
+
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${S}/contrib/unbound.init_yocto ${D}${sysconfdir}/init.d/unbound
+}
+
+SYSTEMD_SERVICE:${PN} = "${BPN}.service"
+
+INITSCRIPT_NAME = "unbound"
+INITSCRIPT_PARAMS = "defaults"
diff --git a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_4.0.10.bb b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_4.0.10.bb
new file mode 100644
index 0000000..008aa8c
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_4.0.10.bb
@@ -0,0 +1,99 @@
+DESCRIPTION = "wireshark - a popular network protocol analyzer"
+HOMEPAGE = "http://www.wireshark.org"
+SECTION = "net"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "pcre2 expat glib-2.0 glib-2.0-native libgcrypt libgpg-error libxml2 bison-native c-ares"
+
+DEPENDS:append:class-target = " wireshark-native chrpath-replacement-native "
+
+SRC_URI = "https://1.eu.dl.wireshark.org/src/wireshark-${PV}.tar.xz \
+ file://0001-CMake-Fix-a-try_run-test-when-cross-compiling.patch \
+ file://0001-wireshark-src-improve-reproducibility.patch \
+ file://0002-flex-Remove-line-directives.patch \
+ file://0004-lemon-Remove-line-directives.patch \
+ "
+
+UPSTREAM_CHECK_URI = "https://1.as.dl.wireshark.org/src"
+
+SRC_URI[sha256sum] = "b2e3ff03fa2be9058a9ffbedd12b0a670433bd16c8cc6c432ab48dabc2df1898"
+
+PE = "1"
+
+inherit cmake pkgconfig python3native python3targetconfig perlnative upstream-version-is-even mime mime-xdg
+
+PACKAGECONFIG ?= "libpcap gnutls libnl libcap sbc"
+
+PACKAGECONFIG:class-native = "libpcap gnutls ssl libssh"
+
+PACKAGECONFIG[libcap] = "-DENABLE_CAP=ON,-DENABLE_CAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON, libcap"
+PACKAGECONFIG[libpcap] = "-DENABLE_PCAP=ON,-DENABLE_PCAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON , libpcap"
+PACKAGECONFIG[libsmi] = "-DENABLE_SMI=ON,-DENABLE_SMI=OFF,libsmi"
+PACKAGECONFIG[libnl] = ",,libnl"
+PACKAGECONFIG[portaudio] = "-DENABLE_PORTAUDIO=ON,-DENABLE_PORTAUDIO=OFF, portaudio-v19"
+PACKAGECONFIG[gnutls] = "-DENABLE_GNUTLS=ON,-DENABLE_GNUTLS=OFF, gnutls"
+PACKAGECONFIG[ssl] = ",,openssl"
+PACKAGECONFIG[krb5] = "-DENABLE_KRB5=ON,-DENABLE_KRB5=OFF, krb5"
+PACKAGECONFIG[lua] = "-DENABLE_LUA=ON,-DENABLE_LUA=OFF, lua"
+PACKAGECONFIG[zlib] = "-DENABLE_ZLIB=ON,-DENABLE_ZLIB=OFF, zlib"
+PACKAGECONFIG[geoip] = ",, geoip"
+PACKAGECONFIG[plugins] = "-DENABLE_PLUGINS=ON,-DENABLE_PLUGINS=OFF"
+PACKAGECONFIG[sbc] = "-DENABLE_SBC=ON,-DENABLE_SBC=OFF, sbc"
+PACKAGECONFIG[libssh] = "-DENABLE_LIBSSH=ON,-DENABLE_LIBSSH=OFF, libssh2"
+PACKAGECONFIG[lz4] = "-DENABLE_LZ4=ON,-DENABLE_LZ4=OFF, lz4"
+PACKAGECONFIG[zstd] = "-DENABLE_STTD=ON,-DENABLE_ZSTD=OFF, zstd"
+PACKAGECONFIG[nghttp2] = "-DENABLE_NGHTTP2=ON,-DENABLE_NGHTTP2=OFF, nghttp2"
+
+# these next two options require addional layers
+PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON -DBUILD_wireshark=ON, -DENABLE_QT5=OFF -DBUILD_wireshark=OFF, qttools-native qtmultimedia qtsvg"
+
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)}
+
+EXTRA_OECMAKE += "-DENABLE_NETLINK=ON \
+ -DBUILD_mmdbresolve=OFF \
+ -DBUILD_randpktdump=OFF \
+ -DBUILD_androiddump=OFF \
+ -DBUILD_dcerpcidl2wrs=OFF \
+ -DM_INCLUDE_DIR=${includedir} \
+ -DM_LIBRARY=${libdir} \
+ "
+CFLAGS:append = " -lm"
+
+do_compile:append:class-target() {
+ # Fix TMPDIR, these are in the comments section
+ sed -i -e "s:** source file.*::g" ${B}/wiretap/ascend_parser.c
+ sed -i -e "s:** source file.*::g" ${B}/wiretap/candump_parser.c
+ sed -i -e "s:** source file.*::g" ${B}/wiretap/busmaster_parser.c
+ sed -i -e "s:** source file.*::g" ${B}/epan/protobuf_lang_parser.c
+ sed -i -e "s:** source file.*::g" ${B}/epan/dtd_grammar.c
+ sed -i -e "s:** source file.*::g" ${B}/epan/dfilter/grammar.c
+}
+
+do_install:append:class-native() {
+ install -d ${D}${bindir}
+ for f in lemon
+ do
+ install -m 0755 ${B}/run/$f ${D}${bindir}
+ done
+}
+
+do_install:append:class-target() {
+ for f in `find ${D}${libdir} ${D}${bindir} -type f -executable`
+ do
+ chrpath --delete $f
+ done
+
+ # We don't need the cmake files installed
+ rm -fr ${D}${usrlib}/${BPN}/cmake
+}
+
+PACKAGE_BEFORE_PN += "tshark"
+
+FILES:tshark = "${bindir}/tshark ${mandir}/man1/tshark.*"
+
+FILES:${PN} += "${datadir}*"
+
+RDEPENDS:tshark = "wireshark"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_4.0.8.bb b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_4.0.8.bb
deleted file mode 100644
index 2117e9e..0000000
--- a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_4.0.8.bb
+++ /dev/null
@@ -1,99 +0,0 @@
-DESCRIPTION = "wireshark - a popular network protocol analyzer"
-HOMEPAGE = "http://www.wireshark.org"
-SECTION = "net"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-DEPENDS = "pcre2 expat glib-2.0 glib-2.0-native libgcrypt libgpg-error libxml2 bison-native c-ares"
-
-DEPENDS:append:class-target = " wireshark-native chrpath-replacement-native "
-
-SRC_URI = "https://1.eu.dl.wireshark.org/src/wireshark-${PV}.tar.xz \
- file://0001-CMake-Fix-a-try_run-test-when-cross-compiling.patch \
- file://0001-wireshark-src-improve-reproducibility.patch \
- file://0002-flex-Remove-line-directives.patch \
- file://0004-lemon-Remove-line-directives.patch \
- "
-
-UPSTREAM_CHECK_URI = "https://1.as.dl.wireshark.org/src"
-
-SRC_URI[sha256sum] = "16663585c0ffefd5593a6628d4a20cc8241b9703b11283cfe71ead2b750888c8"
-
-PE = "1"
-
-inherit cmake pkgconfig python3native python3targetconfig perlnative upstream-version-is-even mime mime-xdg
-
-PACKAGECONFIG ?= "libpcap gnutls libnl libcap sbc"
-
-PACKAGECONFIG:class-native = "libpcap gnutls ssl libssh"
-
-PACKAGECONFIG[libcap] = "-DENABLE_CAP=ON,-DENABLE_CAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON, libcap"
-PACKAGECONFIG[libpcap] = "-DENABLE_PCAP=ON,-DENABLE_PCAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON , libpcap"
-PACKAGECONFIG[libsmi] = "-DENABLE_SMI=ON,-DENABLE_SMI=OFF,libsmi"
-PACKAGECONFIG[libnl] = ",,libnl"
-PACKAGECONFIG[portaudio] = "-DENABLE_PORTAUDIO=ON,-DENABLE_PORTAUDIO=OFF, portaudio-v19"
-PACKAGECONFIG[gnutls] = "-DENABLE_GNUTLS=ON,-DENABLE_GNUTLS=OFF, gnutls"
-PACKAGECONFIG[ssl] = ",,openssl"
-PACKAGECONFIG[krb5] = "-DENABLE_KRB5=ON,-DENABLE_KRB5=OFF, krb5"
-PACKAGECONFIG[lua] = "-DENABLE_LUA=ON,-DENABLE_LUA=OFF, lua"
-PACKAGECONFIG[zlib] = "-DENABLE_ZLIB=ON,-DENABLE_ZLIB=OFF, zlib"
-PACKAGECONFIG[geoip] = ",, geoip"
-PACKAGECONFIG[plugins] = "-DENABLE_PLUGINS=ON,-DENABLE_PLUGINS=OFF"
-PACKAGECONFIG[sbc] = "-DENABLE_SBC=ON,-DENABLE_SBC=OFF, sbc"
-PACKAGECONFIG[libssh] = "-DENABLE_LIBSSH=ON,-DENABLE_LIBSSH=OFF, libssh2"
-PACKAGECONFIG[lz4] = "-DENABLE_LZ4=ON,-DENABLE_LZ4=OFF, lz4"
-PACKAGECONFIG[zstd] = "-DENABLE_STTD=ON,-DENABLE_ZSTD=OFF, zstd"
-PACKAGECONFIG[nghttp2] = "-DENABLE_NGHTTP2=ON,-DENABLE_NGHTTP2=OFF, nghttp2"
-
-# these next two options require addional layers
-PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON -DBUILD_wireshark=ON, -DENABLE_QT5=OFF -DBUILD_wireshark=OFF, qttools-native qtmultimedia qtsvg"
-
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)}
-
-EXTRA_OECMAKE += "-DENABLE_NETLINK=ON \
- -DBUILD_mmdbresolve=OFF \
- -DBUILD_randpktdump=OFF \
- -DBUILD_androiddump=OFF \
- -DBUILD_dcerpcidl2wrs=OFF \
- -DM_INCLUDE_DIR=${includedir} \
- -DM_LIBRARY=${libdir} \
- "
-CFLAGS:append = " -lm"
-
-do_compile:append:class-target() {
- # Fix TMPDIR, these are in the comments section
- sed -i -e "s:** source file.*::g" ${B}/wiretap/ascend_parser.c
- sed -i -e "s:** source file.*::g" ${B}/wiretap/candump_parser.c
- sed -i -e "s:** source file.*::g" ${B}/wiretap/busmaster_parser.c
- sed -i -e "s:** source file.*::g" ${B}/epan/protobuf_lang_parser.c
- sed -i -e "s:** source file.*::g" ${B}/epan/dtd_grammar.c
- sed -i -e "s:** source file.*::g" ${B}/epan/dfilter/grammar.c
-}
-
-do_install:append:class-native() {
- install -d ${D}${bindir}
- for f in lemon
- do
- install -m 0755 ${B}/run/$f ${D}${bindir}
- done
-}
-
-do_install:append:class-target() {
- for f in `find ${D}${libdir} ${D}${bindir} -type f -executable`
- do
- chrpath --delete $f
- done
-
- # We don't need the cmake files installed
- rm -fr ${D}${usrlib}/${BPN}/cmake
-}
-
-PACKAGE_BEFORE_PN += "tshark"
-
-FILES:tshark = "${bindir}/tshark ${mandir}/man1/tshark.*"
-
-FILES:${PN} += "${datadir}*"
-
-RDEPENDS:tshark = "wireshark"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/conf/include/ptest-packagelists-meta-oe.inc b/meta-openembedded/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
index a2b2ce4..33aff7f 100644
--- a/meta-openembedded/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
+++ b/meta-openembedded/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
@@ -28,6 +28,7 @@
lmdb \
minicoredumper \
neon \
+ nlohmann-json \
nodejs \
onig \
poco \
@@ -36,6 +37,7 @@
uthash \
xmlsec1 \
zeromq \
+ cjson \
"
PTESTS_FAST_META_OE:append:x86 = " mcelog"
PTESTS_FAST_META_OE:append:x86-64 = " mcelog"
@@ -49,6 +51,7 @@
libusb-compat \
rsyslog \
mariadb \
+ re2 \
"
PTESTS_SLOW_META_OE:append:x86 = " kernel-selftest"
PTESTS_SLOW_META_OE:append:x86-64 = " kernel-selftest"
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.3.bb b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.3.bb
deleted file mode 100644
index 0987522..0000000
--- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.3.bb
+++ /dev/null
@@ -1,67 +0,0 @@
-SUMMARY = "Open-source IoT platform for data collection, processing, visualization, and device management"
-DESCRIPTION = "\
-The Thingsboard IoT Gateway is an open-source solution that allows you \
-to integrate devices connected to legacy and third-party systems with Thingsboard."
-HOMEPAGE = "https://thingsboard.io/"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-SRC_URI[sha256sum] = "4d27661113c54e3b0998328f15ca7fd9e4837d1975c7c213595cb940f4b11484"
-
-inherit pypi setuptools3
-
-PYPI_PACKAGE = "thingsboard-gateway"
-
-RDEPENDS:${PN} += " python3-jsonpath-rw \
- python3-regex \
- python3-paho-mqtt \
- python3-pyyaml \
- python3-simplejson \
- python3-requests \
- python3-pip \
- python3-pyrsistent \
-"
-
-SRC_URI += "file://bacnet.json \
- file://ble.json \
- file://can.json \
- file://custom_serial.json \
- file://modbus.json \
- file://modbus_serial.json \
- file://mqtt.json \
- file://opcua.json \
- file://odbc.json \
- file://request.json \
- file://rest.json \
- file://snmp.json \
- file://tb_gateway.yaml \
- file://logs.conf \
- file://thingsboard-gateway.service \
- "
-
-
-inherit systemd
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE:${PN} = "thingsboard-gateway.service"
-
-FILES:${PN} += "/etc \
- /lib \
- /usr \
-"
-
-do_install:append(){
-
- install -d ${D}${sysconfdir}/thingsboard-gateway/config
-
- for file in $(find ${WORKDIR} -maxdepth 1 -type f -name *.json); do
- install -m 0644 "$file" ${D}${sysconfdir}/thingsboard-gateway/config
- done
-
- install -m 0644 ${WORKDIR}/tb_gateway.yaml ${D}${sysconfdir}/thingsboard-gateway/config
- install -m 0644 ${WORKDIR}/logs.conf ${D}${sysconfdir}/thingsboard-gateway/config
-
- install -d ${D}${systemd_unitdir}/system/
- install -m 0644 ${WORKDIR}/thingsboard-gateway.service ${D}${systemd_system_unitdir}/thingsboard-gateway.service
-}
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.4.2.bb b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.4.2.bb
new file mode 100644
index 0000000..52bcffe
--- /dev/null
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.4.2.bb
@@ -0,0 +1,67 @@
+SUMMARY = "Open-source IoT platform for data collection, processing, visualization, and device management"
+DESCRIPTION = "\
+The Thingsboard IoT Gateway is an open-source solution that allows you \
+to integrate devices connected to legacy and third-party systems with Thingsboard."
+HOMEPAGE = "https://thingsboard.io/"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+SRC_URI[sha256sum] = "a54953c53c0ee72a1aa270bc018db7cc853f56ca29e2c98938ff4138109fd41a"
+
+inherit pypi setuptools3
+
+PYPI_PACKAGE = "thingsboard-gateway"
+
+RDEPENDS:${PN} += " python3-jsonpath-rw \
+ python3-regex \
+ python3-paho-mqtt \
+ python3-pyyaml \
+ python3-simplejson \
+ python3-requests \
+ python3-pip \
+ python3-pyrsistent \
+"
+
+SRC_URI += "file://bacnet.json \
+ file://ble.json \
+ file://can.json \
+ file://custom_serial.json \
+ file://modbus.json \
+ file://modbus_serial.json \
+ file://mqtt.json \
+ file://opcua.json \
+ file://odbc.json \
+ file://request.json \
+ file://rest.json \
+ file://snmp.json \
+ file://tb_gateway.yaml \
+ file://logs.conf \
+ file://thingsboard-gateway.service \
+ "
+
+
+inherit systemd
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE:${PN} = "thingsboard-gateway.service"
+
+FILES:${PN} += "/etc \
+ /lib \
+ /usr \
+"
+
+do_install:append(){
+
+ install -d ${D}${sysconfdir}/thingsboard-gateway/config
+
+ for file in $(find ${WORKDIR} -maxdepth 1 -type f -name *.json); do
+ install -m 0644 "$file" ${D}${sysconfdir}/thingsboard-gateway/config
+ done
+
+ install -m 0644 ${WORKDIR}/tb_gateway.yaml ${D}${sysconfdir}/thingsboard-gateway/config
+ install -m 0644 ${WORKDIR}/logs.conf ${D}${sysconfdir}/thingsboard-gateway/config
+
+ install -d ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/thingsboard-gateway.service ${D}${systemd_system_unitdir}/thingsboard-gateway.service
+}
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-multimedia/kmsxx/kmsxx_git.bb b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-multimedia/kmsxx/kmsxx_git.bb
new file mode 100644
index 0000000..cdba1a2
--- /dev/null
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-multimedia/kmsxx/kmsxx_git.bb
@@ -0,0 +1,35 @@
+# SPDX-License-Identifier: MIT
+#
+# Copyright Leica Geosystems AG
+#
+
+SUMMARY = "C++ library for kernel mode setting"
+HOMEPAGE = "https://github.com/tomba/kmsxx"
+LICENSE = "MPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=815ca599c9df247a0c7f619bab123dad"
+
+BRANCH = "master"
+SRC_URI = "git://github.com/tomba/kmsxx.git;protocol=https;branch=${BRANCH}"
+SRCREV = "412935a47b762c33e54a464243f2d789b065bbb6"
+PACKAGES =+ "${PN}-python"
+
+PACKAGECONFIG ?= "utils python "
+PACKAGECONFIG[omap] += "-Domap=enabled, -Domap=disabled"
+PACKAGECONFIG[python] += "-Dpykms=enabled, -Dpykms=disabled, python3 python3-pybind11"
+PACKAGECONFIG[utils] += "-Dutils=true, -Dutils=false"
+
+DEPENDS += "libdrm libevdev fmt"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig
+
+do_install:append() {
+ if ${@bb.utils.contains('PACKAGECONFIG', 'utils', 'true', 'false', d)}; then
+ # kmstest already provided by libdrm-tests
+ mv ${D}${bindir}/kmstest ${D}${bindir}/kmsxxtest
+ fi
+}
+
+FILES:${PN} ="${bindir} ${libdir}"
+FILES:${PN}-python += "${PYTHON_SITEPACKAGES_DIR}/*"
diff --git a/meta-openembedded/meta-oe/dynamic-layers/perl-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend b/meta-openembedded/meta-oe/dynamic-layers/perl-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend
index 8cb8d22..5c48fd5 100644
--- a/meta-openembedded/meta-oe/dynamic-layers/perl-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend
+++ b/meta-openembedded/meta-oe/dynamic-layers/perl-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend
@@ -1 +1 @@
-RDEPENDS:packagegroup-meta-oe-support += "debsums rasdaemon"
+RDEPENDS:packagegroup-meta-oe-support += "rasdaemon"
diff --git a/meta-openembedded/meta-oe/dynamic-layers/perl-layer/recipes-support/debsums/debsums_2.2.2.bb b/meta-openembedded/meta-oe/dynamic-layers/perl-layer/recipes-support/debsums/debsums_2.2.2.bb
deleted file mode 100644
index 252db19..0000000
--- a/meta-openembedded/meta-oe/dynamic-layers/perl-layer/recipes-support/debsums/debsums_2.2.2.bb
+++ /dev/null
@@ -1,56 +0,0 @@
-SUMMARY = "Miscellaneous utilities specific to Debian"
-SUMMARY:${PN}-cron = "Cron scripts to control automatic debsum checking"
-DESCRIPTION = "A tool for verification of installed package files against \
-MD5 checksums debsums can verify the integrity of installed package files \
-against MD5 checksums installed by the package, or generated from a .deb \
-archive."
-DESCRIPTION:${PN}-cron = "Cron scripts to control automatic system integrity \
-checking via debsums."
-SECTION = "base"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://debian/copyright;md5=770d751553e6559e9eaefd2e11ccf7e9"
-
-SRC_URI = "http://snapshot.debian.org/archive/debian/20170530T212108Z/pool/main/d/debsums/debsums_2.2.2.tar.xz"
-SRC_URI[md5sum] = "82b0710855a7e5212d4358163a269e79"
-SRC_URI[sha256sum] = "aa61896f93a6bbfe0161c21dcd67529ae8e1ec8c3ccf244523c52c4ad8253d97"
-
-# the package is taken from snapshots.debian.org; that source is static and goes stale
-# so we check the latest upstream from a directory that does get updated
-UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/d/${BPN}/"
-
-inherit perlnative gettext
-
-DEPENDS += "po4a-native"
-
-do_install() {
- install -d ${D}/${sysconfdir}/cron.daily ${D}/${sysconfdir}/cron.weekly
- install -d ${D}/${sysconfdir}/cron.monthly ${D}${sbindir} ${D}${bindir}
- install -d ${D}${mandir}/man1 ${D}${mandir}/man8
- install -m 0755 debsums ${D}${bindir}/
- install -m 0755 rdebsums ${D}${bindir}/
- install -m 0755 debsums_init ${D}${sbindir}
- install -m 0644 man/debsums.1 ${D}${mandir}/man1/
- install -m 0644 man/rdebsums.1 ${D}${mandir}/man1/
- install -m 0644 man/debsums_init.8 ${D}${mandir}/man8/
- install -m 0644 debian/cron.daily \
- ${D}/${sysconfdir}/cron.daily/debsums
- install -m 0644 debian/cron.weekly \
- ${D}/${sysconfdir}/cron.weekly/debsums
- install -m 0644 debian/cron.monthly \
- ${D}/${sysconfdir}/cron.monthly/debsums
- # Must exist, defaults to empty.
- touch ${D}/${sysconfdir}/debsums-ignore
-}
-
-PACKAGES =+ "${PN}-cron"
-
-RDEPENDS:${PN} = "dpkg dpkg-perl libfile-fnmatch-perl perl \
- perl-module-constant perl-module-digest-md5 \
- perl-module-errno perl-module-fcntl \
- perl-module-file-basename perl-module-file-copy \
- perl-module-file-find perl-module-file-glob \
- perl-module-file-path perl-module-file-spec \
- perl-module-file-temp perl-module-getopt-long \
- perl-module-posix"
-
-FILES:${PN}-cron = "${sysconfdir}/cron.*"
diff --git a/meta-openembedded/meta-oe/files/static-group-meta-oe b/meta-openembedded/meta-oe/files/static-group-meta-oe
index 79c9bb6..f20c86f 100644
--- a/meta-openembedded/meta-oe/files/static-group-meta-oe
+++ b/meta-openembedded/meta-oe/files/static-group-meta-oe
@@ -2,7 +2,7 @@
xrdp:x:601:
sanlock:x:602:
mysql:x:603:
-postgres:x:604:
+postgres:x:28:
zabbix:x:605:
mail:x:606:
-nogroup:x:607:
\ No newline at end of file
+nogroup:x:65534:
diff --git a/meta-openembedded/meta-oe/files/static-passwd-meta-oe b/meta-openembedded/meta-oe/files/static-passwd-meta-oe
index 4c312b7..00f3e10 100644
--- a/meta-openembedded/meta-oe/files/static-passwd-meta-oe
+++ b/meta-openembedded/meta-oe/files/static-passwd-meta-oe
@@ -2,7 +2,7 @@
xrdp:x:601:601::/:/bin/nologin
sanlock:x:602:602::/:/bin/nologin
mysql:x:603:603::/:/bin/nologin
-postgres:x:604:604::/:/bin/nologin
+postgres:x:28:28::/:/bin/nologin
zabbix:x:605:605::/:/bin/nologin
cyrus:x:606:nogroup::/:/bin/nologin
pcp:x:620:nogroup::/:/bin/nologin
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0001-Fio-3.31.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0001-Fio-3.31.patch
new file mode 100644
index 0000000..9b8b7d0
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0001-Fio-3.31.patch
@@ -0,0 +1,23 @@
+From 6cafe8445fd1e04e5f7d67bbc73029a538d1b253 Mon Sep 17 00:00:00 2001
+From: Jens Axboe <axboe@kernel.dk>
+Date: Tue, 9 Aug 2022 14:41:25 -0600
+Subject: [PATCH] Fio 3.31
+
+Signed-off-by: Jens Axboe <axboe@kernel.dk>
+---
+ FIO-VERSION-GEN | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/FIO-VERSION-GEN b/FIO-VERSION-GEN
+index fa64f50f..72630dd0 100755
+--- a/FIO-VERSION-GEN
++++ b/FIO-VERSION-GEN
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+
+ GVF=FIO-VERSION-FILE
+-DEF_VER=fio-3.30
++DEF_VER=fio-3.31
+
+ LF='
+ '
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0002-lib-rand-Enhance-__fill_random_buf-using-the-multi-r.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0002-lib-rand-Enhance-__fill_random_buf-using-the-multi-r.patch
new file mode 100644
index 0000000..1650656
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0002-lib-rand-Enhance-__fill_random_buf-using-the-multi-r.patch
@@ -0,0 +1,136 @@
+From 40ba7a05de6a08cfd382b116f76dbeaa7237df45 Mon Sep 17 00:00:00 2001
+From: Sungup Moon <sungup.moon@samsung.com>
+Date: Mon, 8 Aug 2022 17:21:46 +0900
+Subject: [PATCH] lib/rand: Enhance __fill_random_buf using the multi random
+ seed
+
+The __fill_random_buf fills a buffer using the random 8byte integer to
+write. But, this mechanism is depend on the CPU performance and could
+not reach the max performance on the PCIe Gen5 devices. I have tested
+128KB single worker sequential write on PCIe Gen5 NVMe, but it cannot
+reach write throughput 6.0GB/s.
+
+So, I have reviewed the __fill_random_buf and focused the multiplier
+dependency to generate the random number. So, I have changed
+__fill_random_buf using the multiple-random-seed to reduce the
+dependencies in the small data filling loop.
+
+I'll attach detail analysis result in the PR of this branch.
+
+Signed-off-by: Sungup Moon <sungup.moon@samsung.com>
+---
+ configure | 17 +++++++++++++++++
+ lib/rand.c | 37 ++++++++++++++++++++++++++++++++++++-
+ 2 files changed, 53 insertions(+), 1 deletion(-)
+
+diff --git a/configure b/configure
+index 36450df8..a2b9bd4c 100755
+--- a/configure
++++ b/configure
+@@ -116,6 +116,10 @@ has() {
+ type "$1" >/dev/null 2>&1
+ }
+
++num() {
++ echo "$1" | grep -P -q "^[0-9]+$"
++}
++
+ check_define() {
+ cat > $TMPC <<EOF
+ #if !defined($1)
+@@ -174,6 +178,7 @@ libnfs=""
+ xnvme=""
+ libzbc=""
+ dfs=""
++seed_buckets=""
+ dynamic_engines="no"
+ prefix=/usr/local
+
+@@ -255,6 +260,8 @@ for opt do
+ ;;
+ --enable-asan) asan="yes"
+ ;;
++ --seed-buckets=*) seed_buckets="$optarg"
++ ;;
+ --help)
+ show_help="yes"
+ ;;
+@@ -302,6 +309,7 @@ if test "$show_help" = "yes" ; then
+ echo "--dynamic-libengines Lib-based ioengines as dynamic libraries"
+ echo "--disable-dfs Disable DAOS File System support even if found"
+ echo "--enable-asan Enable address sanitizer"
++ echo "--seed-buckets= Number of seed buckets for the refill-buffer"
+ exit $exit_val
+ fi
+
+@@ -3273,6 +3281,15 @@ if test "$disable_tcmalloc" != "yes"; then
+ fi
+ fi
+ print_config "TCMalloc support" "$tcmalloc"
++if ! num "$seed_buckets"; then
++ seed_buckets=4
++elif test "$seed_buckets" -lt 2; then
++ seed_buckets=2
++elif test "$seed_buckets" -gt 16; then
++ seed_buckets=16
++fi
++echo "#define CONFIG_SEED_BUCKETS $seed_buckets" >> $config_host_h
++print_config "seed_buckets" "$seed_buckets"
+
+ echo "LIBS+=$LIBS" >> $config_host_mak
+ echo "GFIO_LIBS+=$GFIO_LIBS" >> $config_host_mak
+diff --git a/lib/rand.c b/lib/rand.c
+index 1e669116..1ce4a849 100644
+--- a/lib/rand.c
++++ b/lib/rand.c
+@@ -95,7 +95,7 @@ void init_rand_seed(struct frand_state *state, uint64_t seed, bool use64)
+ __init_rand64(&state->state64, seed);
+ }
+
+-void __fill_random_buf(void *buf, unsigned int len, uint64_t seed)
++void __fill_random_buf_small(void *buf, unsigned int len, uint64_t seed)
+ {
+ uint64_t *b = buf;
+ uint64_t *e = b + len / sizeof(*b);
+@@ -110,6 +110,41 @@ void __fill_random_buf(void *buf, unsigned int len, uint64_t seed)
+ __builtin_memcpy(e, &seed, rest);
+ }
+
++void __fill_random_buf(void *buf, unsigned int len, uint64_t seed)
++{
++#define MAX_SEED_BUCKETS 16
++ static uint64_t prime[MAX_SEED_BUCKETS] = {1, 2, 3, 5,
++ 7, 11, 13, 17,
++ 19, 23, 29, 31,
++ 37, 41, 43, 47};
++
++ uint64_t *b, *e, s[CONFIG_SEED_BUCKETS];
++ unsigned int rest;
++ int p;
++
++ /*
++ * Calculate the max index which is multiples of the seed buckets.
++ */
++ rest = (len / sizeof(*b) / CONFIG_SEED_BUCKETS) * CONFIG_SEED_BUCKETS;
++
++ b = buf;
++ e = b + rest;
++
++ rest = len - (rest * sizeof(*b));
++
++ for (p = 0; p < CONFIG_SEED_BUCKETS; p++)
++ s[p] = seed * prime[p];
++
++ for (; b != e; b += CONFIG_SEED_BUCKETS) {
++ for (p = 0; p < CONFIG_SEED_BUCKETS; ++p) {
++ b[p] = s[p];
++ s[p] = __hash_u64(s[p]);
++ }
++ }
++
++ __fill_random_buf_small(b, rest, s[0]);
++}
++
+ uint64_t fill_random_buf(struct frand_state *fs, void *buf,
+ unsigned int len)
+ {
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0003-lib-rand-get-rid-of-unused-MAX_SEED_BUCKETS.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0003-lib-rand-get-rid-of-unused-MAX_SEED_BUCKETS.patch
new file mode 100644
index 0000000..fc4af0a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0003-lib-rand-get-rid-of-unused-MAX_SEED_BUCKETS.patch
@@ -0,0 +1,31 @@
+From f4dd3f2ad435a75862ad3f34a661b169f72c7885 Mon Sep 17 00:00:00 2001
+From: Jens Axboe <axboe@kernel.dk>
+Date: Wed, 10 Aug 2022 09:51:49 -0600
+Subject: [PATCH] lib/rand: get rid of unused MAX_SEED_BUCKETS
+
+It's only used to size the array, we don't need it.
+
+Signed-off-by: Jens Axboe <axboe@kernel.dk>
+---
+ lib/rand.c | 8 ++------
+ 1 file changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/lib/rand.c b/lib/rand.c
+index 1ce4a849..0e787a62 100644
+--- a/lib/rand.c
++++ b/lib/rand.c
+@@ -112,12 +112,8 @@ void __fill_random_buf_small(void *buf, unsigned int len, uint64_t seed)
+
+ void __fill_random_buf(void *buf, unsigned int len, uint64_t seed)
+ {
+-#define MAX_SEED_BUCKETS 16
+- static uint64_t prime[MAX_SEED_BUCKETS] = {1, 2, 3, 5,
+- 7, 11, 13, 17,
+- 19, 23, 29, 31,
+- 37, 41, 43, 47};
+-
++ static uint64_t prime[] = {1, 2, 3, 5, 7, 11, 13, 17,
++ 19, 23, 29, 31, 37, 41, 43, 47};
+ uint64_t *b, *e, s[CONFIG_SEED_BUCKETS];
+ unsigned int rest;
+ int p;
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0004-ioengines-merge-filecreate-filestat-filedelete-engin.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0004-ioengines-merge-filecreate-filestat-filedelete-engin.patch
new file mode 100644
index 0000000..1b59ad3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0004-ioengines-merge-filecreate-filestat-filedelete-engin.patch
@@ -0,0 +1,800 @@
+From 1cfbaff9806f17c2afbabe79c1c87b96eba7f35a Mon Sep 17 00:00:00 2001
+From: "Friendy.Su@sony.com" <Friendy.Su@sony.com>
+Date: Mon, 8 Aug 2022 08:35:50 +0000
+Subject: [PATCH] ioengines: merge filecreate, filestat, filedelete engines to
+ fileoperations.c
+
+file operation engines have similar structure, implement them
+in one file.
+
+Signed-off-by: friendy-su <friendy.su@sony.com>
+---
+ Makefile | 2 +-
+ engines/filecreate.c | 118 ---------------
+ engines/filedelete.c | 115 --------------
+ engines/fileoperations.c | 318 +++++++++++++++++++++++++++++++++++++++
+ engines/filestat.c | 190 -----------------------
+ 5 files changed, 319 insertions(+), 424 deletions(-)
+ delete mode 100644 engines/filecreate.c
+ delete mode 100644 engines/filedelete.c
+ create mode 100644 engines/fileoperations.c
+ delete mode 100644 engines/filestat.c
+
+diff --git a/Makefile b/Makefile
+index 188a74d7..634d2c93 100644
+--- a/Makefile
++++ b/Makefile
+@@ -56,7 +56,7 @@ SOURCE := $(sort $(patsubst $(SRCDIR)/%,%,$(wildcard $(SRCDIR)/crc/*.c)) \
+ pshared.c options.c \
+ smalloc.c filehash.c profile.c debug.c engines/cpu.c \
+ engines/mmap.c engines/sync.c engines/null.c engines/net.c \
+- engines/ftruncate.c engines/filecreate.c engines/filestat.c engines/filedelete.c \
++ engines/ftruncate.c engines/fileoperations.c \
+ engines/exec.c \
+ server.c client.c iolog.c backend.c libfio.c flow.c cconv.c \
+ gettime-thread.c helpers.c json.c idletime.c td_error.c \
+diff --git a/engines/filecreate.c b/engines/filecreate.c
+deleted file mode 100644
+index 7884752d..00000000
+--- a/engines/filecreate.c
++++ /dev/null
+@@ -1,118 +0,0 @@
+-/*
+- * filecreate engine
+- *
+- * IO engine that doesn't do any IO, just creates files and tracks the latency
+- * of the file creation.
+- */
+-#include <stdio.h>
+-#include <fcntl.h>
+-#include <errno.h>
+-
+-#include "../fio.h"
+-
+-struct fc_data {
+- enum fio_ddir stat_ddir;
+-};
+-
+-static int open_file(struct thread_data *td, struct fio_file *f)
+-{
+- struct timespec start;
+- int do_lat = !td->o.disable_lat;
+-
+- dprint(FD_FILE, "fd open %s\n", f->file_name);
+-
+- if (f->filetype != FIO_TYPE_FILE) {
+- log_err("fio: only files are supported\n");
+- return 1;
+- }
+- if (!strcmp(f->file_name, "-")) {
+- log_err("fio: can't read/write to stdin/out\n");
+- return 1;
+- }
+-
+- if (do_lat)
+- fio_gettime(&start, NULL);
+-
+- f->fd = open(f->file_name, O_CREAT|O_RDWR, 0600);
+-
+- if (f->fd == -1) {
+- char buf[FIO_VERROR_SIZE];
+- int e = errno;
+-
+- snprintf(buf, sizeof(buf), "open(%s)", f->file_name);
+- td_verror(td, e, buf);
+- return 1;
+- }
+-
+- if (do_lat) {
+- struct fc_data *data = td->io_ops_data;
+- uint64_t nsec;
+-
+- nsec = ntime_since_now(&start);
+- add_clat_sample(td, data->stat_ddir, nsec, 0, 0, 0, 0);
+- }
+-
+- return 0;
+-}
+-
+-static enum fio_q_status queue_io(struct thread_data *td,
+- struct io_u fio_unused *io_u)
+-{
+- return FIO_Q_COMPLETED;
+-}
+-
+-/*
+- * Ensure that we at least have a block size worth of IO to do for each
+- * file. If the job file has td->o.size < nr_files * block_size, then
+- * fio won't do anything.
+- */
+-static int get_file_size(struct thread_data *td, struct fio_file *f)
+-{
+- f->real_file_size = td_min_bs(td);
+- return 0;
+-}
+-
+-static int init(struct thread_data *td)
+-{
+- struct fc_data *data;
+-
+- data = calloc(1, sizeof(*data));
+-
+- if (td_read(td))
+- data->stat_ddir = DDIR_READ;
+- else if (td_write(td))
+- data->stat_ddir = DDIR_WRITE;
+-
+- td->io_ops_data = data;
+- return 0;
+-}
+-
+-static void cleanup(struct thread_data *td)
+-{
+- struct fc_data *data = td->io_ops_data;
+-
+- free(data);
+-}
+-
+-static struct ioengine_ops ioengine = {
+- .name = "filecreate",
+- .version = FIO_IOOPS_VERSION,
+- .init = init,
+- .cleanup = cleanup,
+- .queue = queue_io,
+- .get_file_size = get_file_size,
+- .open_file = open_file,
+- .close_file = generic_close_file,
+- .flags = FIO_DISKLESSIO | FIO_SYNCIO | FIO_FAKEIO |
+- FIO_NOSTATS | FIO_NOFILEHASH,
+-};
+-
+-static void fio_init fio_filecreate_register(void)
+-{
+- register_ioengine(&ioengine);
+-}
+-
+-static void fio_exit fio_filecreate_unregister(void)
+-{
+- unregister_ioengine(&ioengine);
+-}
+diff --git a/engines/filedelete.c b/engines/filedelete.c
+deleted file mode 100644
+index df388ac9..00000000
+--- a/engines/filedelete.c
++++ /dev/null
+@@ -1,115 +0,0 @@
+-/*
+- * file delete engine
+- *
+- * IO engine that doesn't do any IO, just delete files and track the latency
+- * of the file deletion.
+- */
+-#include <stdio.h>
+-#include <fcntl.h>
+-#include <errno.h>
+-#include <sys/types.h>
+-#include <unistd.h>
+-#include "../fio.h"
+-
+-struct fc_data {
+- enum fio_ddir stat_ddir;
+-};
+-
+-static int delete_file(struct thread_data *td, struct fio_file *f)
+-{
+- struct timespec start;
+- int do_lat = !td->o.disable_lat;
+- int ret;
+-
+- dprint(FD_FILE, "fd delete %s\n", f->file_name);
+-
+- if (f->filetype != FIO_TYPE_FILE) {
+- log_err("fio: only files are supported\n");
+- return 1;
+- }
+- if (!strcmp(f->file_name, "-")) {
+- log_err("fio: can't read/write to stdin/out\n");
+- return 1;
+- }
+-
+- if (do_lat)
+- fio_gettime(&start, NULL);
+-
+- ret = unlink(f->file_name);
+-
+- if (ret == -1) {
+- char buf[FIO_VERROR_SIZE];
+- int e = errno;
+-
+- snprintf(buf, sizeof(buf), "delete(%s)", f->file_name);
+- td_verror(td, e, buf);
+- return 1;
+- }
+-
+- if (do_lat) {
+- struct fc_data *data = td->io_ops_data;
+- uint64_t nsec;
+-
+- nsec = ntime_since_now(&start);
+- add_clat_sample(td, data->stat_ddir, nsec, 0, 0, 0, 0);
+- }
+-
+- return 0;
+-}
+-
+-
+-static enum fio_q_status queue_io(struct thread_data *td, struct io_u fio_unused *io_u)
+-{
+- return FIO_Q_COMPLETED;
+-}
+-
+-static int init(struct thread_data *td)
+-{
+- struct fc_data *data;
+-
+- data = calloc(1, sizeof(*data));
+-
+- if (td_read(td))
+- data->stat_ddir = DDIR_READ;
+- else if (td_write(td))
+- data->stat_ddir = DDIR_WRITE;
+-
+- td->io_ops_data = data;
+- return 0;
+-}
+-
+-static int delete_invalidate(struct thread_data *td, struct fio_file *f)
+-{
+- /* do nothing because file not opened */
+- return 0;
+-}
+-
+-static void cleanup(struct thread_data *td)
+-{
+- struct fc_data *data = td->io_ops_data;
+-
+- free(data);
+-}
+-
+-static struct ioengine_ops ioengine = {
+- .name = "filedelete",
+- .version = FIO_IOOPS_VERSION,
+- .init = init,
+- .invalidate = delete_invalidate,
+- .cleanup = cleanup,
+- .queue = queue_io,
+- .get_file_size = generic_get_file_size,
+- .open_file = delete_file,
+- .flags = FIO_SYNCIO | FIO_FAKEIO |
+- FIO_NOSTATS | FIO_NOFILEHASH,
+-};
+-
+-static void fio_init fio_filedelete_register(void)
+-{
+- register_ioengine(&ioengine);
+-}
+-
+-static void fio_exit fio_filedelete_unregister(void)
+-{
+- unregister_ioengine(&ioengine);
+-}
+diff --git a/engines/fileoperations.c b/engines/fileoperations.c
+new file mode 100644
+index 00000000..1db60da1
+--- /dev/null
++++ b/engines/fileoperations.c
+@@ -0,0 +1,318 @@
++/*
++ * fileoperations engine
++ *
++ * IO engine that doesn't do any IO, just operates files and tracks the latency
++ * of the file operation.
++ */
++#include <stdio.h>
++#include <stdlib.h>
++#include <fcntl.h>
++#include <errno.h>
++#include <sys/types.h>
++#include <sys/stat.h>
++#include <unistd.h>
++#include "../fio.h"
++#include "../optgroup.h"
++#include "../oslib/statx.h"
++
++
++struct fc_data {
++ enum fio_ddir stat_ddir;
++};
++
++struct filestat_options {
++ void *pad;
++ unsigned int stat_type;
++};
++
++enum {
++ FIO_FILESTAT_STAT = 1,
++ FIO_FILESTAT_LSTAT = 2,
++ FIO_FILESTAT_STATX = 3,
++};
++
++static struct fio_option options[] = {
++ {
++ .name = "stat_type",
++ .lname = "stat_type",
++ .type = FIO_OPT_STR,
++ .off1 = offsetof(struct filestat_options, stat_type),
++ .help = "Specify stat system call type to measure lookup/getattr performance",
++ .def = "stat",
++ .posval = {
++ { .ival = "stat",
++ .oval = FIO_FILESTAT_STAT,
++ .help = "Use stat(2)",
++ },
++ { .ival = "lstat",
++ .oval = FIO_FILESTAT_LSTAT,
++ .help = "Use lstat(2)",
++ },
++ { .ival = "statx",
++ .oval = FIO_FILESTAT_STATX,
++ .help = "Use statx(2) if exists",
++ },
++ },
++ .category = FIO_OPT_C_ENGINE,
++ .group = FIO_OPT_G_FILESTAT,
++ },
++ {
++ .name = NULL,
++ },
++};
++
++
++static int open_file(struct thread_data *td, struct fio_file *f)
++{
++ struct timespec start;
++ int do_lat = !td->o.disable_lat;
++
++ dprint(FD_FILE, "fd open %s\n", f->file_name);
++
++ if (f->filetype != FIO_TYPE_FILE) {
++ log_err("fio: only files are supported\n");
++ return 1;
++ }
++ if (!strcmp(f->file_name, "-")) {
++ log_err("fio: can't read/write to stdin/out\n");
++ return 1;
++ }
++
++ if (do_lat)
++ fio_gettime(&start, NULL);
++
++ f->fd = open(f->file_name, O_CREAT|O_RDWR, 0600);
++
++ if (f->fd == -1) {
++ char buf[FIO_VERROR_SIZE];
++ int e = errno;
++
++ snprintf(buf, sizeof(buf), "open(%s)", f->file_name);
++ td_verror(td, e, buf);
++ return 1;
++ }
++
++ if (do_lat) {
++ struct fc_data *data = td->io_ops_data;
++ uint64_t nsec;
++
++ nsec = ntime_since_now(&start);
++ add_clat_sample(td, data->stat_ddir, nsec, 0, 0, 0, 0);
++ }
++
++ return 0;
++}
++
++static int stat_file(struct thread_data *td, struct fio_file *f)
++{
++ struct filestat_options *o = td->eo;
++ struct timespec start;
++ int do_lat = !td->o.disable_lat;
++ struct stat statbuf;
++#ifndef WIN32
++ struct statx statxbuf;
++ char *abspath;
++#endif
++ int ret;
++
++ dprint(FD_FILE, "fd stat %s\n", f->file_name);
++
++ if (f->filetype != FIO_TYPE_FILE) {
++ log_err("fio: only files are supported\n");
++ return 1;
++ }
++ if (!strcmp(f->file_name, "-")) {
++ log_err("fio: can't read/write to stdin/out\n");
++ return 1;
++ }
++
++ if (do_lat)
++ fio_gettime(&start, NULL);
++
++ switch (o->stat_type) {
++ case FIO_FILESTAT_STAT:
++ ret = stat(f->file_name, &statbuf);
++ break;
++ case FIO_FILESTAT_LSTAT:
++ ret = lstat(f->file_name, &statbuf);
++ break;
++ case FIO_FILESTAT_STATX:
++#ifndef WIN32
++ abspath = realpath(f->file_name, NULL);
++ if (abspath) {
++ ret = statx(-1, abspath, 0, STATX_ALL, &statxbuf);
++ free(abspath);
++ } else
++ ret = -1;
++#else
++ ret = -1;
++#endif
++ break;
++ default:
++ ret = -1;
++ break;
++ }
++
++ if (ret == -1) {
++ char buf[FIO_VERROR_SIZE];
++ int e = errno;
++
++ snprintf(buf, sizeof(buf), "stat(%s) type=%u", f->file_name,
++ o->stat_type);
++ td_verror(td, e, buf);
++ return 1;
++ }
++
++ if (do_lat) {
++ struct fc_data *data = td->io_ops_data;
++ uint64_t nsec;
++
++ nsec = ntime_since_now(&start);
++ add_clat_sample(td, data->stat_ddir, nsec, 0, 0, 0, 0);
++ }
++
++ return 0;
++}
++
++
++static int delete_file(struct thread_data *td, struct fio_file *f)
++{
++ struct timespec start;
++ int do_lat = !td->o.disable_lat;
++ int ret;
++
++ dprint(FD_FILE, "fd delete %s\n", f->file_name);
++
++ if (f->filetype != FIO_TYPE_FILE) {
++ log_err("fio: only files are supported\n");
++ return 1;
++ }
++ if (!strcmp(f->file_name, "-")) {
++ log_err("fio: can't read/write to stdin/out\n");
++ return 1;
++ }
++
++ if (do_lat)
++ fio_gettime(&start, NULL);
++
++ ret = unlink(f->file_name);
++
++ if (ret == -1) {
++ char buf[FIO_VERROR_SIZE];
++ int e = errno;
++
++ snprintf(buf, sizeof(buf), "delete(%s)", f->file_name);
++ td_verror(td, e, buf);
++ return 1;
++ }
++
++ if (do_lat) {
++ struct fc_data *data = td->io_ops_data;
++ uint64_t nsec;
++
++ nsec = ntime_since_now(&start);
++ add_clat_sample(td, data->stat_ddir, nsec, 0, 0, 0, 0);
++ }
++
++ return 0;
++}
++
++static int invalidate_do_nothing(struct thread_data *td, struct fio_file *f)
++{
++ /* do nothing because file not opened */
++ return 0;
++}
++
++static enum fio_q_status queue_io(struct thread_data *td, struct io_u *io_u)
++{
++ return FIO_Q_COMPLETED;
++}
++
++/*
++ * Ensure that we at least have a block size worth of IO to do for each
++ * file. If the job file has td->o.size < nr_files * block_size, then
++ * fio won't do anything.
++ */
++static int get_file_size(struct thread_data *td, struct fio_file *f)
++{
++ f->real_file_size = td_min_bs(td);
++ return 0;
++}
++
++static int init(struct thread_data *td)
++{
++ struct fc_data *data;
++
++ data = calloc(1, sizeof(*data));
++
++ if (td_read(td))
++ data->stat_ddir = DDIR_READ;
++ else if (td_write(td))
++ data->stat_ddir = DDIR_WRITE;
++
++ td->io_ops_data = data;
++ return 0;
++}
++
++static void cleanup(struct thread_data *td)
++{
++ struct fc_data *data = td->io_ops_data;
++
++ free(data);
++}
++
++static struct ioengine_ops ioengine_filecreate = {
++ .name = "filecreate",
++ .version = FIO_IOOPS_VERSION,
++ .init = init,
++ .cleanup = cleanup,
++ .queue = queue_io,
++ .get_file_size = get_file_size,
++ .open_file = open_file,
++ .close_file = generic_close_file,
++ .flags = FIO_DISKLESSIO | FIO_SYNCIO | FIO_FAKEIO |
++ FIO_NOSTATS | FIO_NOFILEHASH,
++};
++
++static struct ioengine_ops ioengine_filestat = {
++ .name = "filestat",
++ .version = FIO_IOOPS_VERSION,
++ .init = init,
++ .cleanup = cleanup,
++ .queue = queue_io,
++ .invalidate = invalidate_do_nothing,
++ .get_file_size = generic_get_file_size,
++ .open_file = stat_file,
++ .flags = FIO_SYNCIO | FIO_FAKEIO |
++ FIO_NOSTATS | FIO_NOFILEHASH,
++ .options = options,
++ .option_struct_size = sizeof(struct filestat_options),
++};
++
++static struct ioengine_ops ioengine_filedelete = {
++ .name = "filedelete",
++ .version = FIO_IOOPS_VERSION,
++ .init = init,
++ .invalidate = invalidate_do_nothing,
++ .cleanup = cleanup,
++ .queue = queue_io,
++ .get_file_size = generic_get_file_size,
++ .open_file = delete_file,
++ .flags = FIO_SYNCIO | FIO_FAKEIO |
++ FIO_NOSTATS | FIO_NOFILEHASH,
++};
++
++
++static void fio_init fio_fileoperations_register(void)
++{
++ register_ioengine(&ioengine_filecreate);
++ register_ioengine(&ioengine_filestat);
++ register_ioengine(&ioengine_filedelete);
++}
++
++static void fio_exit fio_fileoperations_unregister(void)
++{
++ unregister_ioengine(&ioengine_filecreate);
++ unregister_ioengine(&ioengine_filestat);
++ unregister_ioengine(&ioengine_filedelete);
++}
+diff --git a/engines/filestat.c b/engines/filestat.c
+deleted file mode 100644
+index e587eb54..00000000
+--- a/engines/filestat.c
++++ /dev/null
+@@ -1,190 +0,0 @@
+-/*
+- * filestat engine
+- *
+- * IO engine that doesn't do any IO, just stat files and tracks the latency
+- * of the file stat.
+- */
+-#include <stdio.h>
+-#include <stdlib.h>
+-#include <fcntl.h>
+-#include <errno.h>
+-#include <sys/types.h>
+-#include <sys/stat.h>
+-#include <unistd.h>
+-#include "../fio.h"
+-#include "../optgroup.h"
+-#include "../oslib/statx.h"
+-
+-struct fc_data {
+- enum fio_ddir stat_ddir;
+-};
+-
+-struct filestat_options {
+- void *pad;
+- unsigned int stat_type;
+-};
+-
+-enum {
+- FIO_FILESTAT_STAT = 1,
+- FIO_FILESTAT_LSTAT = 2,
+- FIO_FILESTAT_STATX = 3,
+-};
+-
+-static struct fio_option options[] = {
+- {
+- .name = "stat_type",
+- .lname = "stat_type",
+- .type = FIO_OPT_STR,
+- .off1 = offsetof(struct filestat_options, stat_type),
+- .help = "Specify stat system call type to measure lookup/getattr performance",
+- .def = "stat",
+- .posval = {
+- { .ival = "stat",
+- .oval = FIO_FILESTAT_STAT,
+- .help = "Use stat(2)",
+- },
+- { .ival = "lstat",
+- .oval = FIO_FILESTAT_LSTAT,
+- .help = "Use lstat(2)",
+- },
+- { .ival = "statx",
+- .oval = FIO_FILESTAT_STATX,
+- .help = "Use statx(2) if exists",
+- },
+- },
+- .category = FIO_OPT_C_ENGINE,
+- .group = FIO_OPT_G_FILESTAT,
+- },
+- {
+- .name = NULL,
+- },
+-};
+-
+-static int stat_file(struct thread_data *td, struct fio_file *f)
+-{
+- struct filestat_options *o = td->eo;
+- struct timespec start;
+- int do_lat = !td->o.disable_lat;
+- struct stat statbuf;
+-#ifndef WIN32
+- struct statx statxbuf;
+- char *abspath;
+-#endif
+- int ret;
+-
+- dprint(FD_FILE, "fd stat %s\n", f->file_name);
+-
+- if (f->filetype != FIO_TYPE_FILE) {
+- log_err("fio: only files are supported\n");
+- return 1;
+- }
+- if (!strcmp(f->file_name, "-")) {
+- log_err("fio: can't read/write to stdin/out\n");
+- return 1;
+- }
+-
+- if (do_lat)
+- fio_gettime(&start, NULL);
+-
+- switch (o->stat_type){
+- case FIO_FILESTAT_STAT:
+- ret = stat(f->file_name, &statbuf);
+- break;
+- case FIO_FILESTAT_LSTAT:
+- ret = lstat(f->file_name, &statbuf);
+- break;
+- case FIO_FILESTAT_STATX:
+-#ifndef WIN32
+- abspath = realpath(f->file_name, NULL);
+- if (abspath) {
+- ret = statx(-1, abspath, 0, STATX_ALL, &statxbuf);
+- free(abspath);
+- } else
+- ret = -1;
+-#else
+- ret = -1;
+-#endif
+- break;
+- default:
+- ret = -1;
+- break;
+- }
+-
+- if (ret == -1) {
+- char buf[FIO_VERROR_SIZE];
+- int e = errno;
+-
+- snprintf(buf, sizeof(buf), "stat(%s) type=%u", f->file_name,
+- o->stat_type);
+- td_verror(td, e, buf);
+- return 1;
+- }
+-
+- if (do_lat) {
+- struct fc_data *data = td->io_ops_data;
+- uint64_t nsec;
+-
+- nsec = ntime_since_now(&start);
+- add_clat_sample(td, data->stat_ddir, nsec, 0, 0, 0, 0);
+- }
+-
+- return 0;
+-}
+-
+-static enum fio_q_status queue_io(struct thread_data *td, struct io_u fio_unused *io_u)
+-{
+- return FIO_Q_COMPLETED;
+-}
+-
+-static int init(struct thread_data *td)
+-{
+- struct fc_data *data;
+-
+- data = calloc(1, sizeof(*data));
+-
+- if (td_read(td))
+- data->stat_ddir = DDIR_READ;
+- else if (td_write(td))
+- data->stat_ddir = DDIR_WRITE;
+-
+- td->io_ops_data = data;
+- return 0;
+-}
+-
+-static void cleanup(struct thread_data *td)
+-{
+- struct fc_data *data = td->io_ops_data;
+-
+- free(data);
+-}
+-
+-static int stat_invalidate(struct thread_data *td, struct fio_file *f)
+-{
+- /* do nothing because file not opened */
+- return 0;
+-}
+-
+-static struct ioengine_ops ioengine = {
+- .name = "filestat",
+- .version = FIO_IOOPS_VERSION,
+- .init = init,
+- .cleanup = cleanup,
+- .queue = queue_io,
+- .invalidate = stat_invalidate,
+- .get_file_size = generic_get_file_size,
+- .open_file = stat_file,
+- .flags = FIO_SYNCIO | FIO_FAKEIO |
+- FIO_NOSTATS | FIO_NOFILEHASH,
+- .options = options,
+- .option_struct_size = sizeof(struct filestat_options),
+-};
+-
+-static void fio_init fio_filestat_register(void)
+-{
+- register_ioengine(&ioengine);
+-}
+-
+-static void fio_exit fio_filestat_unregister(void)
+-{
+- unregister_ioengine(&ioengine);
+-}
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0005-engines-http-Add-storage-class-option-for-s3.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0005-engines-http-Add-storage-class-option-for-s3.patch
new file mode 100644
index 0000000..587df1a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0005-engines-http-Add-storage-class-option-for-s3.patch
@@ -0,0 +1,87 @@
+From 5b0b5247f0770a89084964274bb951f5a4393299 Mon Sep 17 00:00:00 2001
+From: "Feng, Hualong" <hualong.feng@intel.com>
+Date: Wed, 20 Jul 2022 12:01:35 +0800
+Subject: [PATCH] engines/http: Add storage class option for s3
+
+Amazon S3 offers a range of storage classes that you can choose from
+based on the data access, resiliency, and cost requirements of your
+workloads. (https://aws.amazon.com/s3/storage-classes/)
+
+For example, we have **STANDARD** storage class to test normal
+workload, and have **COLD** storage class to test the workload
+with gzip compression. It is convenient to select which
+storage class to access for different kinds data.
+
+Signed-off-by: Feng, Hualong <hualong.feng@intel.com>
+---
+ engines/http.c | 25 +++++++++++++++++++------
+ 1 file changed, 19 insertions(+), 6 deletions(-)
+
+diff --git a/engines/http.c b/engines/http.c
+index 1de9e66c..dbcde287 100644
+--- a/engines/http.c
++++ b/engines/http.c
+@@ -57,6 +57,7 @@ struct http_options {
+ char *s3_key;
+ char *s3_keyid;
+ char *s3_region;
++ char *s3_storage_class;
+ char *swift_auth_token;
+ int verbose;
+ unsigned int mode;
+@@ -161,6 +162,16 @@ static struct fio_option options[] = {
+ .category = FIO_OPT_C_ENGINE,
+ .group = FIO_OPT_G_HTTP,
+ },
++ {
++ .name = "http_s3_storage_class",
++ .lname = "S3 Storage class",
++ .type = FIO_OPT_STR_STORE,
++ .help = "S3 Storage Class",
++ .off1 = offsetof(struct http_options, s3_storage_class),
++ .def = "STANDARD",
++ .category = FIO_OPT_C_ENGINE,
++ .group = FIO_OPT_G_HTTP,
++ },
+ {
+ .name = "http_mode",
+ .lname = "Request mode to use",
+@@ -335,8 +346,8 @@ static void _add_aws_auth_header(CURL *curl, struct curl_slist *slist, struct ht
+ char date_iso[32];
+ char method[8];
+ char dkey[128];
+- char creq[512];
+- char sts[256];
++ char creq[4096];
++ char sts[512];
+ char s[512];
+ char *uri_encoded = NULL;
+ char *dsha = NULL;
+@@ -373,11 +384,12 @@ static void _add_aws_auth_header(CURL *curl, struct curl_slist *slist, struct ht
+ "host:%s\n"
+ "x-amz-content-sha256:%s\n"
+ "x-amz-date:%s\n"
++ "x-amz-storage-class:%s\n"
+ "\n"
+- "host;x-amz-content-sha256;x-amz-date\n"
++ "host;x-amz-content-sha256;x-amz-date;x-amz-storage-class\n"
+ "%s"
+ , method
+- , uri_encoded, o->host, dsha, date_iso, dsha);
++ , uri_encoded, o->host, dsha, date_iso, o->s3_storage_class, dsha);
+
+ csha = _gen_hex_sha256(creq, strlen(creq));
+ snprintf(sts, sizeof(sts), "AWS4-HMAC-SHA256\n%s\n%s/%s/%s/%s\n%s",
+@@ -400,9 +412,10 @@ static void _add_aws_auth_header(CURL *curl, struct curl_slist *slist, struct ht
+
+ snprintf(s, sizeof(s), "x-amz-date: %s", date_iso);
+ slist = curl_slist_append(slist, s);
+-
++ snprintf(s, sizeof(s), "x-amz-storage-class: %s", o->s3_storage_class);
++ slist = curl_slist_append(slist, s);
+ snprintf(s, sizeof(s), "Authorization: AWS4-HMAC-SHA256 Credential=%s/%s/%s/s3/aws4_request,"
+- "SignedHeaders=host;x-amz-content-sha256;x-amz-date,Signature=%s",
++ "SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-storage-class,Signature=%s",
+ o->s3_keyid, date_short, o->s3_region, signature);
+ slist = curl_slist_append(slist, s);
+
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0006-engines-http-Add-s3-crypto-options-for-s3.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0006-engines-http-Add-s3-crypto-options-for-s3.patch
new file mode 100644
index 0000000..d8222c4
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0006-engines-http-Add-s3-crypto-options-for-s3.patch
@@ -0,0 +1,246 @@
+From d196fda02eb73958c2acd367de650858c6203420 Mon Sep 17 00:00:00 2001
+From: "Feng, Hualong" <hualong.feng@intel.com>
+Date: Wed, 20 Jul 2022 09:41:35 +0800
+Subject: [PATCH] engines/http: Add s3 crypto options for s3
+
+Server-side encryption is about protecting data at rest.
+(https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html)
+
+When we want to test server-side encryption, we need to specify
+server-side encryption with customer-provided encryption keys (SSE-C).
+The two option **http_s3_sse_customer_key** and
+**http_s3_sse_customer_algorithm** is for server-side encryption.
+
+Signed-off-by: Feng, Hualong <hualong.feng@intel.com>
+---
+ engines/http.c | 163 +++++++++++++++++++++++++++++++++++++++++++------
+ 1 file changed, 146 insertions(+), 17 deletions(-)
+
+diff --git a/engines/http.c b/engines/http.c
+index dbcde287..56dc7d1b 100644
+--- a/engines/http.c
++++ b/engines/http.c
+@@ -57,6 +57,8 @@ struct http_options {
+ char *s3_key;
+ char *s3_keyid;
+ char *s3_region;
++ char *s3_sse_customer_key;
++ char *s3_sse_customer_algorithm;
+ char *s3_storage_class;
+ char *swift_auth_token;
+ int verbose;
+@@ -162,6 +164,26 @@ static struct fio_option options[] = {
+ .category = FIO_OPT_C_ENGINE,
+ .group = FIO_OPT_G_HTTP,
+ },
++ {
++ .name = "http_s3_sse_customer_key",
++ .lname = "SSE Customer Key",
++ .type = FIO_OPT_STR_STORE,
++ .help = "S3 SSE Customer Key",
++ .off1 = offsetof(struct http_options, s3_sse_customer_key),
++ .def = "",
++ .category = FIO_OPT_C_ENGINE,
++ .group = FIO_OPT_G_HTTP,
++ },
++ {
++ .name = "http_s3_sse_customer_algorithm",
++ .lname = "SSE Customer Algorithm",
++ .type = FIO_OPT_STR_STORE,
++ .help = "S3 SSE Customer Algorithm",
++ .off1 = offsetof(struct http_options, s3_sse_customer_algorithm),
++ .def = "AES256",
++ .category = FIO_OPT_C_ENGINE,
++ .group = FIO_OPT_G_HTTP,
++ },
+ {
+ .name = "http_s3_storage_class",
+ .lname = "S3 Storage class",
+@@ -277,6 +299,54 @@ static char *_gen_hex_md5(const char *p, size_t len)
+ return _conv_hex(hash, MD5_DIGEST_LENGTH);
+ }
+
++static char *_conv_base64_encode(const unsigned char *p, size_t len)
++{
++ char *r, *ret;
++ int i;
++ static const char sEncodingTable[] = {
++ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
++ 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',
++ 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X',
++ 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f',
++ 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',
++ 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
++ 'w', 'x', 'y', 'z', '0', '1', '2', '3',
++ '4', '5', '6', '7', '8', '9', '+', '/'
++ };
++
++ size_t out_len = 4 * ((len + 2) / 3);
++ ret = r = malloc(out_len + 1);
++
++ for (i = 0; i < len - 2; i += 3) {
++ *r++ = sEncodingTable[(p[i] >> 2) & 0x3F];
++ *r++ = sEncodingTable[((p[i] & 0x3) << 4) | ((int) (p[i + 1] & 0xF0) >> 4)];
++ *r++ = sEncodingTable[((p[i + 1] & 0xF) << 2) | ((int) (p[i + 2] & 0xC0) >> 6)];
++ *r++ = sEncodingTable[p[i + 2] & 0x3F];
++ }
++
++ if (i < len) {
++ *r++ = sEncodingTable[(p[i] >> 2) & 0x3F];
++ if (i == (len - 1)) {
++ *r++ = sEncodingTable[((p[i] & 0x3) << 4)];
++ *r++ = '=';
++ } else {
++ *r++ = sEncodingTable[((p[i] & 0x3) << 4) | ((int) (p[i + 1] & 0xF0) >> 4)];
++ *r++ = sEncodingTable[((p[i + 1] & 0xF) << 2)];
++ }
++ *r++ = '=';
++ }
++
++ ret[out_len]=0;
++ return ret;
++}
++
++static char *_gen_base64_md5(const unsigned char *p, size_t len)
++{
++ unsigned char hash[MD5_DIGEST_LENGTH];
++ MD5((unsigned char*)p, len, hash);
++ return _conv_base64_encode(hash, MD5_DIGEST_LENGTH);
++}
++
+ static void _hmac(unsigned char *md, void *key, int key_len, char *data) {
+ #ifndef CONFIG_HAVE_OPAQUE_HMAC_CTX
+ HMAC_CTX _ctx;
+@@ -356,6 +426,9 @@ static void _add_aws_auth_header(CURL *curl, struct curl_slist *slist, struct ht
+ const char *service = "s3";
+ const char *aws = "aws4_request";
+ unsigned char md[SHA256_DIGEST_LENGTH];
++ unsigned char sse_key[33] = {0};
++ char *sse_key_base64 = NULL;
++ char *sse_key_md5_base64 = NULL;
+
+ time_t t = time(NULL);
+ struct tm *gtm = gmtime(&t);
+@@ -364,6 +437,9 @@ static void _add_aws_auth_header(CURL *curl, struct curl_slist *slist, struct ht
+ strftime (date_iso, sizeof(date_iso), "%Y%m%dT%H%M%SZ", gtm);
+ uri_encoded = _aws_uriencode(uri);
+
++ if (o->s3_sse_customer_key != NULL)
++ strncpy((char*)sse_key, o->s3_sse_customer_key, sizeof(sse_key) - 1);
++
+ if (op == DDIR_WRITE) {
+ dsha = _gen_hex_sha256(buf, len);
+ sprintf(method, "PUT");
+@@ -377,23 +453,50 @@ static void _add_aws_auth_header(CURL *curl, struct curl_slist *slist, struct ht
+ }
+
+ /* Create the canonical request first */
+- snprintf(creq, sizeof(creq),
+- "%s\n"
+- "%s\n"
+- "\n"
+- "host:%s\n"
+- "x-amz-content-sha256:%s\n"
+- "x-amz-date:%s\n"
+- "x-amz-storage-class:%s\n"
+- "\n"
+- "host;x-amz-content-sha256;x-amz-date;x-amz-storage-class\n"
+- "%s"
+- , method
+- , uri_encoded, o->host, dsha, date_iso, o->s3_storage_class, dsha);
++ if (sse_key[0] != '\0') {
++ sse_key_base64 = _conv_base64_encode(sse_key, sizeof(sse_key) - 1);
++ sse_key_md5_base64 = _gen_base64_md5(sse_key, sizeof(sse_key) - 1);
++ snprintf(creq, sizeof(creq),
++ "%s\n"
++ "%s\n"
++ "\n"
++ "host:%s\n"
++ "x-amz-content-sha256:%s\n"
++ "x-amz-date:%s\n"
++ "x-amz-server-side-encryption-customer-algorithm:%s\n"
++ "x-amz-server-side-encryption-customer-key:%s\n"
++ "x-amz-server-side-encryption-customer-key-md5:%s\n"
++ "x-amz-storage-class:%s\n"
++ "\n"
++ "host;x-amz-content-sha256;x-amz-date;"
++ "x-amz-server-side-encryption-customer-algorithm;"
++ "x-amz-server-side-encryption-customer-key;"
++ "x-amz-server-side-encryption-customer-key-md5;"
++ "x-amz-storage-class\n"
++ "%s"
++ , method
++ , uri_encoded, o->host, dsha, date_iso
++ , o->s3_sse_customer_algorithm, sse_key_base64
++ , sse_key_md5_base64, o->s3_storage_class, dsha);
++ } else {
++ snprintf(creq, sizeof(creq),
++ "%s\n"
++ "%s\n"
++ "\n"
++ "host:%s\n"
++ "x-amz-content-sha256:%s\n"
++ "x-amz-date:%s\n"
++ "x-amz-storage-class:%s\n"
++ "\n"
++ "host;x-amz-content-sha256;x-amz-date;x-amz-storage-class\n"
++ "%s"
++ , method
++ , uri_encoded, o->host, dsha, date_iso, o->s3_storage_class, dsha);
++ }
+
+ csha = _gen_hex_sha256(creq, strlen(creq));
+ snprintf(sts, sizeof(sts), "AWS4-HMAC-SHA256\n%s\n%s/%s/%s/%s\n%s",
+- date_iso, date_short, o->s3_region, service, aws, csha);
++ date_iso, date_short, o->s3_region, service, aws, csha);
+
+ snprintf((char *)dkey, sizeof(dkey), "AWS4%s", o->s3_key);
+ _hmac(md, dkey, strlen(dkey), date_short);
+@@ -412,11 +515,33 @@ static void _add_aws_auth_header(CURL *curl, struct curl_slist *slist, struct ht
+
+ snprintf(s, sizeof(s), "x-amz-date: %s", date_iso);
+ slist = curl_slist_append(slist, s);
++
++ if (sse_key[0] != '\0') {
++ snprintf(s, sizeof(s), "x-amz-server-side-encryption-customer-algorithm: %s", o->s3_sse_customer_algorithm);
++ slist = curl_slist_append(slist, s);
++ snprintf(s, sizeof(s), "x-amz-server-side-encryption-customer-key: %s", sse_key_base64);
++ slist = curl_slist_append(slist, s);
++ snprintf(s, sizeof(s), "x-amz-server-side-encryption-customer-key-md5: %s", sse_key_md5_base64);
++ slist = curl_slist_append(slist, s);
++ }
++
+ snprintf(s, sizeof(s), "x-amz-storage-class: %s", o->s3_storage_class);
+ slist = curl_slist_append(slist, s);
+- snprintf(s, sizeof(s), "Authorization: AWS4-HMAC-SHA256 Credential=%s/%s/%s/s3/aws4_request,"
+- "SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-storage-class,Signature=%s",
+- o->s3_keyid, date_short, o->s3_region, signature);
++
++ if (sse_key[0] != '\0') {
++ snprintf(s, sizeof(s), "Authorization: AWS4-HMAC-SHA256 Credential=%s/%s/%s/s3/aws4_request,"
++ "SignedHeaders=host;x-amz-content-sha256;"
++ "x-amz-date;x-amz-server-side-encryption-customer-algorithm;"
++ "x-amz-server-side-encryption-customer-key;"
++ "x-amz-server-side-encryption-customer-key-md5;"
++ "x-amz-storage-class,"
++ "Signature=%s",
++ o->s3_keyid, date_short, o->s3_region, signature);
++ } else {
++ snprintf(s, sizeof(s), "Authorization: AWS4-HMAC-SHA256 Credential=%s/%s/%s/s3/aws4_request,"
++ "SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-storage-class,Signature=%s",
++ o->s3_keyid, date_short, o->s3_region, signature);
++ }
+ slist = curl_slist_append(slist, s);
+
+ curl_easy_setopt(curl, CURLOPT_HTTPHEADER, slist);
+@@ -425,6 +550,10 @@ static void _add_aws_auth_header(CURL *curl, struct curl_slist *slist, struct ht
+ free(csha);
+ free(dsha);
+ free(signature);
++ if (sse_key_base64 != NULL) {
++ free(sse_key_base64);
++ free(sse_key_md5_base64);
++ }
+ }
+
+ static void _add_swift_header(CURL *curl, struct curl_slist *slist, struct http_options *o,
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0007-doc-Add-usage-and-example-about-s3-storage-class-and.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0007-doc-Add-usage-and-example-about-s3-storage-class-and.patch
new file mode 100644
index 0000000..d581593
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0007-doc-Add-usage-and-example-about-s3-storage-class-and.patch
@@ -0,0 +1,155 @@
+From 0cad4b6957818937519604b466a2da5b0c395cfe Mon Sep 17 00:00:00 2001
+From: "Feng, Hualong" <hualong.feng@intel.com>
+Date: Thu, 28 Jul 2022 01:47:48 +0000
+Subject: [PATCH] doc: Add usage and example about s3 storage class and crypto
+
+There add option usage about s3 storage class
+`http_s3_storage_class` and
+s3 SSE server side encryption
+`http_s3_sse_customer_key` and
+`http_s3_sse_customer_algorithm`
+
+And add example file in example folder.
+
+Signed-off-by: Feng, Hualong <hualong.feng@intel.com>
+---
+ HOWTO.rst | 14 +++++++++++
+ examples/http-s3-crypto.fio | 38 ++++++++++++++++++++++++++++++
+ examples/http-s3-storage-class.fio | 37 +++++++++++++++++++++++++++++
+ fio.1 | 9 +++++++
+ 4 files changed, 98 insertions(+)
+ create mode 100644 examples/http-s3-crypto.fio
+ create mode 100644 examples/http-s3-storage-class.fio
+
+diff --git a/HOWTO.rst b/HOWTO.rst
+index 104cce2d..05fc117f 100644
+--- a/HOWTO.rst
++++ b/HOWTO.rst
+@@ -2692,6 +2692,20 @@ with the caveat that when used on the command line, they must come after the
+
+ The S3 key/access id.
+
++.. option:: http_s3_sse_customer_key=str : [http]
++
++ The encryption customer key in SSE server side.
++
++.. option:: http_s3_sse_customer_algorithm=str : [http]
++
++ The encryption customer algorithm in SSE server side.
++ Default is **AES256**
++
++.. option:: http_s3_storage_class=str : [http]
++
++ Which storage class to access. User-customizable settings.
++ Default is **STANDARD**
++
+ .. option:: http_swift_auth_token=str : [http]
+
+ The Swift auth token. See the example configuration file on how
+diff --git a/examples/http-s3-crypto.fio b/examples/http-s3-crypto.fio
+new file mode 100644
+index 00000000..2403746e
+--- /dev/null
++++ b/examples/http-s3-crypto.fio
+@@ -0,0 +1,38 @@
++# Example test for the HTTP engine's S3 support against Amazon AWS.
++# Obviously, you have to adjust the S3 credentials; for this example,
++# they're passed in via the environment.
++# And you can set the SSE Customer Key and Algorithm to test Server
++# Side Encryption.
++#
++
++[global]
++ioengine=http
++name=test
++direct=1
++filename=/larsmb-fio-test/object
++http_verbose=0
++https=on
++http_mode=s3
++http_s3_key=${S3_KEY}
++http_s3_keyid=${S3_ID}
++http_host=s3.eu-central-1.amazonaws.com
++http_s3_region=eu-central-1
++http_s3_sse_customer_key=${SSE_KEY}
++http_s3_sse_customer_algorithm=AES256
++group_reporting
++
++# With verify, this both writes and reads the object
++[create]
++rw=write
++bs=4k
++size=64k
++io_size=4k
++verify=sha256
++
++[trim]
++stonewall
++rw=trim
++bs=4k
++size=64k
++io_size=4k
++
+diff --git a/examples/http-s3-storage-class.fio b/examples/http-s3-storage-class.fio
+new file mode 100644
+index 00000000..9ee23837
+--- /dev/null
++++ b/examples/http-s3-storage-class.fio
+@@ -0,0 +1,37 @@
++# Example test for the HTTP engine's S3 support against Amazon AWS.
++# Obviously, you have to adjust the S3 credentials; for this example,
++# they're passed in via the environment.
++# And here add storage class parameter, you can set normal test for
++# STANDARD and compression test for another storage class.
++#
++
++[global]
++ioengine=http
++name=test
++direct=1
++filename=/larsmb-fio-test/object
++http_verbose=0
++https=on
++http_mode=s3
++http_s3_key=${S3_KEY}
++http_s3_keyid=${S3_ID}
++http_host=s3.eu-central-1.amazonaws.com
++http_s3_region=eu-central-1
++http_s3_storage_class=${STORAGE_CLASS}
++group_reporting
++
++# With verify, this both writes and reads the object
++[create]
++rw=write
++bs=4k
++size=64k
++io_size=4k
++verify=sha256
++
++[trim]
++stonewall
++rw=trim
++bs=4k
++size=64k
++io_size=4k
++
+diff --git a/fio.1 b/fio.1
+index ce9bf3ef..6630525f 100644
+--- a/fio.1
++++ b/fio.1
+@@ -2308,6 +2308,15 @@ The S3 secret key.
+ .BI (http)http_s3_keyid \fR=\fPstr
+ The S3 key/access id.
+ .TP
++.BI (http)http_s3_sse_customer_key \fR=\fPstr
++The encryption customer key in SSE server side.
++.TP
++.BI (http)http_s3_sse_customer_algorithm \fR=\fPstr
++The encryption customer algorithm in SSE server side. Default is \fBAES256\fR
++.TP
++.BI (http)http_s3_storage_class \fR=\fPstr
++Which storage class to access. User-customizable settings. Default is \fBSTANDARD\fR
++.TP
+ .BI (http)http_swift_auth_token \fR=\fPstr
+ The Swift auth token. See the example configuration file on how to
+ retrieve this.
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0008-README-link-to-GitHub-releases-for-Windows.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0008-README-link-to-GitHub-releases-for-Windows.patch
new file mode 100644
index 0000000..3f7ba4c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0008-README-link-to-GitHub-releases-for-Windows.patch
@@ -0,0 +1,33 @@
+From 6809d81b2a9b854697c65e0d69455a39d4497a6b Mon Sep 17 00:00:00 2001
+From: Vincent Fu <vincent.fu@samsung.com>
+Date: Mon, 15 Aug 2022 10:37:57 -0400
+Subject: [PATCH] README: link to GitHub releases for Windows
+
+Note that Windows installers are now available as releases on GitHub.
+
+Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
+---
+ README.rst | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/README.rst b/README.rst
+index 67420903..79582dea 100644
+--- a/README.rst
++++ b/README.rst
+@@ -123,10 +123,12 @@ Solaris:
+ ``pkgutil -i fio``.
+
+ Windows:
+- Rebecca Cran <rebecca@bsdio.com> has fio packages for Windows at
+- https://bsdio.com/fio/ . The latest builds for Windows can also
+- be grabbed from https://ci.appveyor.com/project/axboe/fio by clicking
+- the latest x86 or x64 build, then selecting the ARTIFACTS tab.
++ Beginning with fio 3.31 Windows installers are available on GitHub at
++ https://github.com/axboe/fio/releases. Rebecca Cran
++ <rebecca@bsdio.com> has fio packages for Windows at
++ https://bsdio.com/fio/ . The latest builds for Windows can also be
++ grabbed from https://ci.appveyor.com/project/axboe/fio by clicking the
++ latest x86 or x64 build and then selecting the Artifacts tab.
+
+ BSDs:
+ Packages for BSDs may be available from their binary package repositories.
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0009-engines-xnvme-fix-segfault-issue-with-xnvme-ioengine.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0009-engines-xnvme-fix-segfault-issue-with-xnvme-ioengine.patch
new file mode 100644
index 0000000..6e322b8
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0009-engines-xnvme-fix-segfault-issue-with-xnvme-ioengine.patch
@@ -0,0 +1,54 @@
+From d5aac3401e180f3d4ff3db04ebb4e3165b975987 Mon Sep 17 00:00:00 2001
+From: Ankit Kumar <ankit.kumar@samsung.com>
+Date: Tue, 16 Aug 2022 11:08:20 +0530
+Subject: [PATCH] engines/xnvme: fix segfault issue with xnvme ioengine
+
+fix segfault when xnvme ioengine is called without thread=1.
+The segfault happens because td->io_ops_data is accessed at
+two locations xnvme_fioe_cleanup and xnvme_fioe_iomem_free,
+during the error handling call.
+
+Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com>
+Link: https://lore.kernel.org/r/20220816053821.440-2-ankit.kumar@samsung.com
+Signed-off-by: Jens Axboe <axboe@kernel.dk>
+---
+ engines/xnvme.c | 17 ++++++++++++++---
+ 1 file changed, 14 insertions(+), 3 deletions(-)
+
+diff --git a/engines/xnvme.c b/engines/xnvme.c
+index c11b33a8..d8647481 100644
+--- a/engines/xnvme.c
++++ b/engines/xnvme.c
+@@ -205,9 +205,14 @@ static void _dev_close(struct thread_data *td, struct xnvme_fioe_fwrap *fwrap)
+
+ static void xnvme_fioe_cleanup(struct thread_data *td)
+ {
+- struct xnvme_fioe_data *xd = td->io_ops_data;
++ struct xnvme_fioe_data *xd = NULL;
+ int err;
+
++ if (!td->io_ops_data)
++ return;
++
++ xd = td->io_ops_data;
++
+ err = pthread_mutex_lock(&g_serialize);
+ if (err)
+ log_err("ioeng->cleanup(): pthread_mutex_lock(), err(%d)\n", err);
+@@ -367,8 +372,14 @@ static int xnvme_fioe_iomem_alloc(struct thread_data *td, size_t total_mem)
+ /* NOTE: using the first device for buffer-allocators) */
+ static void xnvme_fioe_iomem_free(struct thread_data *td)
+ {
+- struct xnvme_fioe_data *xd = td->io_ops_data;
+- struct xnvme_fioe_fwrap *fwrap = &xd->files[0];
++ struct xnvme_fioe_data *xd = NULL;
++ struct xnvme_fioe_fwrap *fwrap = NULL;
++
++ if (!td->io_ops_data)
++ return;
++
++ xd = td->io_ops_data;
++ fwrap = &xd->files[0];
+
+ if (!fwrap->dev) {
+ log_err("ioeng->iomem_free(): failed no dev-handle\n");
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0010-doc-update-fio-doc-for-xnvme-engine.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0010-doc-update-fio-doc-for-xnvme-engine.patch
new file mode 100644
index 0000000..6c85cfc
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0010-doc-update-fio-doc-for-xnvme-engine.patch
@@ -0,0 +1,168 @@
+From 8e318fd65ba5c0f6ce82860984bc8d69a7843f97 Mon Sep 17 00:00:00 2001
+From: Ankit Kumar <ankit.kumar@samsung.com>
+Date: Tue, 16 Aug 2022 11:08:21 +0530
+Subject: [PATCH] doc: update fio doc for xnvme engine
+
+- Elaborate about the various sync, async and admin
+ interfaces.
+- add missing io_uring_cmd async backend entry.
+- xnvme ioengine doesn't support file stat.
+
+Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com>
+Link: https://lore.kernel.org/r/20220816053821.440-3-ankit.kumar@samsung.com
+Signed-off-by: Jens Axboe <axboe@kernel.dk>
+---
+ HOWTO.rst | 37 ++++++++++++++++++++++++++-----------
+ fio.1 | 34 +++++++++++++++++++++-------------
+ 2 files changed, 47 insertions(+), 24 deletions(-)
+
+diff --git a/HOWTO.rst b/HOWTO.rst
+index 05fc117f..b2750b56 100644
+--- a/HOWTO.rst
++++ b/HOWTO.rst
+@@ -2780,41 +2780,56 @@ with the caveat that when used on the command line, they must come after the
+ Select the xnvme async command interface. This can take these values.
+
+ **emu**
+- This is default and used to emulate asynchronous I/O.
++ This is default and use to emulate asynchronous I/O by using a
++ single thread to create a queue pair on top of a synchronous
++ I/O interface using the NVMe driver IOCTL.
+ **thrpool**
+- Use thread pool for Asynchronous I/O.
++ Emulate an asynchronous I/O interface with a pool of userspace
++ threads on top of a synchronous I/O interface using the NVMe
++ driver IOCTL. By default four threads are used.
+ **io_uring**
+- Use Linux io_uring/liburing for Asynchronous I/O.
++ Linux native asynchronous I/O interface which supports both
++ direct and buffered I/O.
++ **io_uring_cmd**
++ Fast Linux native asynchronous I/O interface for NVMe pass
++ through commands. This only works with NVMe character device
++ (/dev/ngXnY).
+ **libaio**
+ Use Linux aio for Asynchronous I/O.
+ **posix**
+- Use POSIX aio for Asynchronous I/O.
++ Use the posix asynchronous I/O interface to perform one or
++ more I/O operations asynchronously.
+ **nil**
+- Use nil-io; For introspective perf. evaluation
++ Do not transfer any data; just pretend to. This is mainly used
++ for introspective performance evaluation.
+
+ .. option:: xnvme_sync=str : [xnvme]
+
+ Select the xnvme synchronous command interface. This can take these values.
+
+ **nvme**
+- This is default and uses Linux NVMe Driver ioctl() for synchronous I/O.
++ This is default and uses Linux NVMe Driver ioctl() for
++ synchronous I/O.
+ **psync**
+- Use pread()/write() for synchronous I/O.
++ This supports regular as well as vectored pread() and pwrite()
++ commands.
++ **block**
++ This is the same as psync except that it also supports zone
++ management commands using Linux block layer IOCTLs.
+
+ .. option:: xnvme_admin=str : [xnvme]
+
+ Select the xnvme admin command interface. This can take these values.
+
+ **nvme**
+- This is default and uses linux NVMe Driver ioctl() for admin commands.
++ This is default and uses linux NVMe Driver ioctl() for admin
++ commands.
+ **block**
+ Use Linux Block Layer ioctl() and sysfs for admin commands.
+- **file_as_ns**
+- Use file-stat to construct NVMe idfy responses.
+
+ .. option:: xnvme_dev_nsid=int : [xnvme]
+
+- xnvme namespace identifier, for userspace NVMe driver.
++ xnvme namespace identifier for userspace NVMe driver, such as SPDK.
+
+ .. option:: xnvme_iovec=int : [xnvme]
+
+diff --git a/fio.1 b/fio.1
+index 6630525f..f3f3dc5d 100644
+--- a/fio.1
++++ b/fio.1
+@@ -2530,22 +2530,29 @@ Select the xnvme async command interface. This can take these values.
+ .RS
+ .TP
+ .B emu
+-This is default and used to emulate asynchronous I/O
++This is default and use to emulate asynchronous I/O by using a single thread to
++create a queue pair on top of a synchronous I/O interface using the NVMe driver
++IOCTL.
+ .TP
+ .BI thrpool
+-Use thread pool for Asynchronous I/O
++Emulate an asynchronous I/O interface with a pool of userspace threads on top
++of a synchronous I/O interface using the NVMe driver IOCTL. By default four
++threads are used.
+ .TP
+ .BI io_uring
+-Use Linux io_uring/liburing for Asynchronous I/O
++Linux native asynchronous I/O interface which supports both direct and buffered
++I/O.
+ .TP
+ .BI libaio
+ Use Linux aio for Asynchronous I/O
+ .TP
+ .BI posix
+-Use POSIX aio for Asynchronous I/O
++Use the posix asynchronous I/O interface to perform one or more I/O operations
++asynchronously.
+ .TP
+ .BI nil
+-Use nil-io; For introspective perf. evaluation
++Do not transfer any data; just pretend to. This is mainly used for
++introspective performance evaluation.
+ .RE
+ .RE
+ .TP
+@@ -2555,10 +2562,14 @@ Select the xnvme synchronous command interface. This can take these values.
+ .RS
+ .TP
+ .B nvme
+-This is default and uses Linux NVMe Driver ioctl() for synchronous I/O
++This is default and uses Linux NVMe Driver ioctl() for synchronous I/O.
+ .TP
+ .BI psync
+-Use pread()/write() for synchronous I/O
++This supports regular as well as vectored pread() and pwrite() commands.
++.TP
++.BI block
++This is the same as psync except that it also supports zone management
++commands using Linux block layer IOCTLs.
+ .RE
+ .RE
+ .TP
+@@ -2568,18 +2579,15 @@ Select the xnvme admin command interface. This can take these values.
+ .RS
+ .TP
+ .B nvme
+-This is default and uses Linux NVMe Driver ioctl() for admin commands
++This is default and uses Linux NVMe Driver ioctl() for admin commands.
+ .TP
+ .BI block
+-Use Linux Block Layer ioctl() and sysfs for admin commands
+-.TP
+-.BI file_as_ns
+-Use file-stat as to construct NVMe idfy responses
++Use Linux Block Layer ioctl() and sysfs for admin commands.
+ .RE
+ .RE
+ .TP
+ .BI (xnvme)xnvme_dev_nsid\fR=\fPint
+-xnvme namespace identifier, for userspace NVMe driver.
++xnvme namespace identifier for userspace NVMe driver such as SPDK.
+ .TP
+ .BI (xnvme)xnvme_iovec
+ If this option is set, xnvme will use vectored read/write commands.
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0011-test-add-latency-test-using-posixaio-ioengine.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0011-test-add-latency-test-using-posixaio-ioengine.patch
new file mode 100644
index 0000000..d86ac11
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0011-test-add-latency-test-using-posixaio-ioengine.patch
@@ -0,0 +1,55 @@
+From fa64b199318318af7fe598a5b9ec62b981a55e2d Mon Sep 17 00:00:00 2001
+From: Vincent Fu <vincent.fu@samsung.com>
+Date: Mon, 15 Aug 2022 11:34:43 -0400
+Subject: [PATCH] test: add latency test using posixaio ioengine
+
+Make sure that mean(slat) + mean(clat) = mean(total lat).
+
+Tests 15 and 16 use the libaio and null ioengines, respectively. Both of
+those ioengines have commit hooks. Add this new test using the posixaio
+ioengine which does not have a commit hook so that we can better cover
+the possible ways that latency is calcualted.
+
+Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
+---
+ t/jobs/t0017.fio | 9 +++++++++
+ t/run-fio-tests.py | 10 ++++++++++
+ 2 files changed, 19 insertions(+)
+ create mode 100644 t/jobs/t0017.fio
+
+diff --git a/t/jobs/t0017.fio b/t/jobs/t0017.fio
+new file mode 100644
+index 00000000..14486d98
+--- /dev/null
++++ b/t/jobs/t0017.fio
+@@ -0,0 +1,9 @@
++# Expected result: mean(slat) + mean(clat) = mean(lat)
++# Buggy result: equality does not hold
++# This is similar to t0015 and t0016 except that is uses posixaio which is
++# available on more platforms and does not have a commit hook
++
++[test]
++ioengine=posixaio
++size=1M
++iodepth=16
+diff --git a/t/run-fio-tests.py b/t/run-fio-tests.py
+index d77f20e0..2bd02a2a 100755
+--- a/t/run-fio-tests.py
++++ b/t/run-fio-tests.py
+@@ -857,6 +857,16 @@ TEST_LIST = [
+ 'output_format': 'json',
+ 'requirements': [],
+ },
++ {
++ 'test_id': 17,
++ 'test_class': FioJobTest_t0015,
++ 'job': 't0017.fio',
++ 'success': SUCCESS_DEFAULT,
++ 'pre_job': None,
++ 'pre_success': None,
++ 'output_format': 'json',
++ 'requirements': [Requirements.not_windows],
++ },
+ {
+ 'test_id': 1000,
+ 'test_class': FioExeTest,
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0012-test-fix-hash-for-t0016.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0012-test-fix-hash-for-t0016.patch
new file mode 100644
index 0000000..8f10f41
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0012-test-fix-hash-for-t0016.patch
@@ -0,0 +1,33 @@
+From 1e68459d85f56f805c70236ad47a65a65f426867 Mon Sep 17 00:00:00 2001
+From: Vincent Fu <vincent.fu@samsung.com>
+Date: Mon, 15 Aug 2022 11:40:58 -0400
+Subject: [PATCH] test: fix hash for t0016
+
+I used the wrong hash for t0016 in the original commit. Fix it to refer
+to the hash that fixed the issue in this tree.
+
+Fixes: de31fe9a ("testing: add test for slat + clat = tlat")
+Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
+---
+ t/jobs/{t0016-259ebc00.fio => t0016-d54ae22.fio} | 0
+ t/run-fio-tests.py | 2 +-
+ 2 files changed, 1 insertion(+), 1 deletion(-)
+ rename t/jobs/{t0016-259ebc00.fio => t0016-d54ae22.fio} (100%)
+
+diff --git a/t/jobs/t0016-259ebc00.fio b/t/jobs/t0016-d54ae22.fio
+similarity index 100%
+rename from t/jobs/t0016-259ebc00.fio
+rename to t/jobs/t0016-d54ae22.fio
+diff --git a/t/run-fio-tests.py b/t/run-fio-tests.py
+index 2bd02a2a..504b7cdb 100755
+--- a/t/run-fio-tests.py
++++ b/t/run-fio-tests.py
+@@ -850,7 +850,7 @@ TEST_LIST = [
+ {
+ 'test_id': 16,
+ 'test_class': FioJobTest_t0015,
+- 'job': 't0016-259ebc00.fio',
++ 'job': 't0016-d54ae22.fio',
+ 'success': SUCCESS_DEFAULT,
+ 'pre_job': None,
+ 'pre_success': None,
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0013-doc-get-rid-of-trailing-whitespace.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0013-doc-get-rid-of-trailing-whitespace.patch
new file mode 100644
index 0000000..5f72f47
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0013-doc-get-rid-of-trailing-whitespace.patch
@@ -0,0 +1,82 @@
+From ff16b7c0c855d5242d92d7f902247525ff1f889a Mon Sep 17 00:00:00 2001
+From: Konstantin Kharlamov <Hi-Angel@yandex.ru>
+Date: Tue, 16 Aug 2022 19:14:13 +0300
+Subject: [PATCH] doc: get rid of trailing whitespace
+
+Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
+---
+ HOWTO.rst | 4 ++--
+ fio.1 | 10 +++++-----
+ 2 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/HOWTO.rst b/HOWTO.rst
+index b2750b56..c94238ed 100644
+--- a/HOWTO.rst
++++ b/HOWTO.rst
+@@ -1301,7 +1301,7 @@ I/O type
+ effectively caps the file size at `real_size - offset`. Can be combined with
+ :option:`size` to constrain the start and end range of the I/O workload.
+ A percentage can be specified by a number between 1 and 100 followed by '%',
+- for example, ``offset=20%`` to specify 20%. In ZBD mode, value can be set as
++ for example, ``offset=20%`` to specify 20%. In ZBD mode, value can be set as
+ number of zones using 'z'.
+
+ .. option:: offset_align=int
+@@ -1877,7 +1877,7 @@ I/O size
+ If this option is not specified, fio will use the full size of the given
+ files or devices. If the files do not exist, size must be given. It is also
+ possible to give size as a percentage between 1 and 100. If ``size=20%`` is
+- given, fio will use 20% of the full size of the given files or devices.
++ given, fio will use 20% of the full size of the given files or devices.
+ In ZBD mode, value can also be set as number of zones using 'z'.
+ Can be combined with :option:`offset` to constrain the start and end range
+ that I/O will be done within.
+diff --git a/fio.1 b/fio.1
+index f3f3dc5d..d40b4247 100644
+--- a/fio.1
++++ b/fio.1
+@@ -292,7 +292,7 @@ For Zone Block Device Mode:
+ .RS
+ .P
+ .PD 0
+-z means Zone
++z means Zone
+ .P
+ .PD
+ .RE
+@@ -1083,7 +1083,7 @@ provided. Data before the given offset will not be touched. This
+ effectively caps the file size at `real_size \- offset'. Can be combined with
+ \fBsize\fR to constrain the start and end range of the I/O workload.
+ A percentage can be specified by a number between 1 and 100 followed by '%',
+-for example, `offset=20%' to specify 20%. In ZBD mode, value can be set as
++for example, `offset=20%' to specify 20%. In ZBD mode, value can be set as
+ number of zones using 'z'.
+ .TP
+ .BI offset_align \fR=\fPint
+@@ -1099,7 +1099,7 @@ specified). This option is useful if there are several jobs which are
+ intended to operate on a file in parallel disjoint segments, with even
+ spacing between the starting points. Percentages can be used for this option.
+ If a percentage is given, the generated offset will be aligned to the minimum
+-\fBblocksize\fR or to the value of \fBoffset_align\fR if provided.In ZBD mode, value
++\fBblocksize\fR or to the value of \fBoffset_align\fR if provided.In ZBD mode, value
+ can be set as number of zones using 'z'.
+ .TP
+ .BI number_ios \fR=\fPint
+@@ -1678,7 +1678,7 @@ If this option is not specified, fio will use the full size of the given
+ files or devices. If the files do not exist, size must be given. It is also
+ possible to give size as a percentage between 1 and 100. If `size=20%' is
+ given, fio will use 20% of the full size of the given files or devices. In ZBD mode,
+-size can be given in units of number of zones using 'z'. Can be combined with \fBoffset\fR to
++size can be given in units of number of zones using 'z'. Can be combined with \fBoffset\fR to
+ constrain the start and end range that I/O will be done within.
+ .TP
+ .BI io_size \fR=\fPint[%|z] "\fR,\fB io_limit" \fR=\fPint[%|z]
+@@ -1697,7 +1697,7 @@ also be set as number of zones using 'z'.
+ .BI filesize \fR=\fPirange(int)
+ Individual file sizes. May be a range, in which case fio will select sizes
+ for files at random within the given range. If not given, each created file
+-is the same size. This option overrides \fBsize\fR in terms of file size,
++is the same size. This option overrides \fBsize\fR in terms of file size,
+ i.e. \fBsize\fR becomes merely the default for \fBio_size\fR (and
+ has no effect it all if \fBio_size\fR is set explicitly).
+ .TP
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0014-doc-clarify-that-I-O-errors-may-go-unnoticed-without.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0014-doc-clarify-that-I-O-errors-may-go-unnoticed-without.patch
new file mode 100644
index 0000000..3196afa
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0014-doc-clarify-that-I-O-errors-may-go-unnoticed-without.patch
@@ -0,0 +1,54 @@
+From 331023be2b20d177d533e5fa18f5d8834570613f Mon Sep 17 00:00:00 2001
+From: Konstantin Kharlamov <Hi-Angel@yandex.ru>
+Date: Tue, 16 Aug 2022 19:10:38 +0300
+Subject: [PATCH] doc: clarify that I/O errors may go unnoticed without
+ direct=1
+
+Fixes: https://github.com/axboe/fio/issues/1443
+
+Reported-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
+Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
+---
+ HOWTO.rst | 7 +++++++
+ fio.1 | 10 ++++++++++
+ 2 files changed, 17 insertions(+)
+
+diff --git a/HOWTO.rst b/HOWTO.rst
+index c94238ed..08be687c 100644
+--- a/HOWTO.rst
++++ b/HOWTO.rst
+@@ -3927,6 +3927,13 @@ Error handling
+ appended, the total error count and the first error. The error field given
+ in the stats is the first error that was hit during the run.
+
++ Note: a write error from the device may go unnoticed by fio when using
++ buffered IO, as the write() (or similar) system call merely dirties the
++ kernel pages, unless :option:`sync` or :option:`direct` is used. Device IO
++ errors occur when the dirty data is actually written out to disk. If fully
++ sync writes aren't desirable, :option:`fsync` or :option:`fdatasync` can be
++ used as well. This is specific to writes, as reads are always synchronous.
++
+ The allowed values are:
+
+ **none**
+diff --git a/fio.1 b/fio.1
+index d40b4247..27454b0b 100644
+--- a/fio.1
++++ b/fio.1
+@@ -3606,6 +3606,16 @@ EILSEQ) until the runtime is exceeded or the I/O size specified is
+ completed. If this option is used, there are two more stats that are
+ appended, the total error count and the first error. The error field given
+ in the stats is the first error that was hit during the run.
++.RS
++.P
++Note: a write error from the device may go unnoticed by fio when using buffered
++IO, as the write() (or similar) system call merely dirties the kernel pages,
++unless `sync' or `direct' is used. Device IO errors occur when the dirty data is
++actually written out to disk. If fully sync writes aren't desirable, `fsync' or
++`fdatasync' can be used as well. This is specific to writes, as reads are always
++synchronous.
++.RS
++.P
+ The allowed values are:
+ .RS
+ .RS
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0015-Revert-Minor-style-fixups.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0015-Revert-Minor-style-fixups.patch
new file mode 100644
index 0000000..fd962ea
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0015-Revert-Minor-style-fixups.patch
@@ -0,0 +1,41 @@
+From 48ceba9c1870c9312d7214503371e0b781abba27 Mon Sep 17 00:00:00 2001
+From: Vincent Fu <vincent.fu@samsung.com>
+Date: Tue, 23 Aug 2022 12:38:20 -0400
+Subject: [PATCH] Revert "Minor style fixups"
+
+This reverts commit 48f8268e88629d408ffd09b1601ad13366bd4ce1.
+
+Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
+---
+ backend.c | 2 +-
+ filesetup.c | 3 ++-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/backend.c b/backend.c
+index 5159b60d..3a99850d 100644
+--- a/backend.c
++++ b/backend.c
+@@ -2321,7 +2321,7 @@ static void run_threads(struct sk_out *sk_out)
+ * when setup_files() does not run into issues
+ * later.
+ */
+- if (!i && td->o.nr_files == 1) {
++ if (!i && td->o.nr_files==1) {
+ if (setup_shared_file(td)) {
+ exit_value++;
+ if (td->error)
+diff --git a/filesetup.c b/filesetup.c
+index 3e2ccf9b..144a0572 100644
+--- a/filesetup.c
++++ b/filesetup.c
+@@ -1109,8 +1109,9 @@ int setup_shared_file(struct thread_data *td)
+ dprint(FD_FILE, "fio: extending shared file\n");
+ f->real_file_size = file_size;
+ err = extend_file(td, f);
+- if (!err)
++ if (!err) {
+ err = __file_invalidate_cache(td, f, 0, f->real_file_size);
++ }
+ get_file_sizes(td);
+ dprint(FD_FILE, "shared setup new real_file_size=%llu\n",
+ (unsigned long long)f->real_file_size);
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0016-Revert-Fix-multithread-issues-when-operating-on-a-si.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0016-Revert-Fix-multithread-issues-when-operating-on-a-si.patch
new file mode 100644
index 0000000..31d8345
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0016-Revert-Fix-multithread-issues-when-operating-on-a-si.patch
@@ -0,0 +1,141 @@
+From 1bc0dec3f54e67fa4767d0096ab377e900d5146f Mon Sep 17 00:00:00 2001
+From: Vincent Fu <vincent.fu@samsung.com>
+Date: Tue, 23 Aug 2022 12:38:51 -0400
+Subject: [PATCH] Revert "Fix multithread issues when operating on a single
+ shared file"
+
+This reverts commit acbda87c34c743ff2d9e125d9539bcfbbf49eb75.
+
+This commit introduced a lot of unintended consequences for
+create_serialize=0. The aim of the commit can be accomplished with a
+combination of filesize and io_size.
+
+Fixes: https://github.com/axboe/fio/issues/1442
+Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
+---
+ backend.c | 19 +------------------
+ file.h | 1 -
+ filesetup.c | 46 ++--------------------------------------------
+ 3 files changed, 3 insertions(+), 63 deletions(-)
+
+diff --git a/backend.c b/backend.c
+index 3a99850d..e5bb4e25 100644
+--- a/backend.c
++++ b/backend.c
+@@ -2314,25 +2314,8 @@ static void run_threads(struct sk_out *sk_out)
+ for_each_td(td, i) {
+ print_status_init(td->thread_number - 1);
+
+- if (!td->o.create_serialize) {
+- /*
+- * When operating on a single rile in parallel,
+- * perform single-threaded early setup so that
+- * when setup_files() does not run into issues
+- * later.
+- */
+- if (!i && td->o.nr_files==1) {
+- if (setup_shared_file(td)) {
+- exit_value++;
+- if (td->error)
+- log_err("fio: pid=%d, err=%d/%s\n",
+- (int) td->pid, td->error, td->verror);
+- td_set_runstate(td, TD_REAPED);
+- todo--;
+- }
+- }
++ if (!td->o.create_serialize)
+ continue;
+- }
+
+ if (fio_verify_load_state(td))
+ goto reap;
+diff --git a/file.h b/file.h
+index e646cf22..da1b8947 100644
+--- a/file.h
++++ b/file.h
+@@ -201,7 +201,6 @@ struct thread_data;
+ extern void close_files(struct thread_data *);
+ extern void close_and_free_files(struct thread_data *);
+ extern uint64_t get_start_offset(struct thread_data *, struct fio_file *);
+-extern int __must_check setup_shared_file(struct thread_data *);
+ extern int __must_check setup_files(struct thread_data *);
+ extern int __must_check file_invalidate_cache(struct thread_data *, struct fio_file *);
+ #ifdef __cplusplus
+diff --git a/filesetup.c b/filesetup.c
+index 144a0572..1d3cc5ad 100644
+--- a/filesetup.c
++++ b/filesetup.c
+@@ -143,7 +143,7 @@ static int extend_file(struct thread_data *td, struct fio_file *f)
+ if (unlink_file || new_layout) {
+ int ret;
+
+- dprint(FD_FILE, "layout %d unlink %d %s\n", new_layout, unlink_file, f->file_name);
++ dprint(FD_FILE, "layout unlink %s\n", f->file_name);
+
+ ret = td_io_unlink_file(td, f);
+ if (ret != 0 && ret != ENOENT) {
+@@ -198,9 +198,6 @@ static int extend_file(struct thread_data *td, struct fio_file *f)
+ }
+ }
+
+-
+- dprint(FD_FILE, "fill file %s, size %llu\n", f->file_name, (unsigned long long) f->real_file_size);
+-
+ left = f->real_file_size;
+ bs = td->o.max_bs[DDIR_WRITE];
+ if (bs > left)
+@@ -1081,45 +1078,6 @@ static bool create_work_dirs(struct thread_data *td, const char *fname)
+ return true;
+ }
+
+-int setup_shared_file(struct thread_data *td)
+-{
+- struct fio_file *f;
+- uint64_t file_size;
+- int err = 0;
+-
+- if (td->o.nr_files > 1) {
+- log_err("fio: shared file setup called for multiple files\n");
+- return -1;
+- }
+-
+- get_file_sizes(td);
+-
+- f = td->files[0];
+-
+- if (f == NULL) {
+- log_err("fio: NULL shared file\n");
+- return -1;
+- }
+-
+- file_size = thread_number * td->o.size;
+- dprint(FD_FILE, "shared setup %s real_file_size=%llu, desired=%llu\n",
+- f->file_name, (unsigned long long)f->real_file_size, (unsigned long long)file_size);
+-
+- if (f->real_file_size < file_size) {
+- dprint(FD_FILE, "fio: extending shared file\n");
+- f->real_file_size = file_size;
+- err = extend_file(td, f);
+- if (!err) {
+- err = __file_invalidate_cache(td, f, 0, f->real_file_size);
+- }
+- get_file_sizes(td);
+- dprint(FD_FILE, "shared setup new real_file_size=%llu\n",
+- (unsigned long long)f->real_file_size);
+- }
+-
+- return err;
+-}
+-
+ /*
+ * Open the files and setup files sizes, creating files if necessary.
+ */
+@@ -1134,7 +1092,7 @@ int setup_files(struct thread_data *td)
+ const unsigned long long bs = td_min_bs(td);
+ uint64_t fs = 0;
+
+- dprint(FD_FILE, "setup files (thread_number=%d, subjob_number=%d)\n", td->thread_number, td->subjob_number);
++ dprint(FD_FILE, "setup files\n");
+
+ old_state = td_bump_runstate(td, TD_SETTING_UP);
+
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0017-Add-wait-for-handling-SIGBREAK.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0017-Add-wait-for-handling-SIGBREAK.patch
new file mode 100644
index 0000000..e8cb337
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0017-Add-wait-for-handling-SIGBREAK.patch
@@ -0,0 +1,59 @@
+From 98beea79a30f1541e646efae911dfce10ae18f5c Mon Sep 17 00:00:00 2001
+From: Brandon Paupore <brandon.paupore@wdc.com>
+Date: Fri, 5 Aug 2022 12:57:27 -0500
+Subject: [PATCH] Add wait for handling SIGBREAK
+
+When closing a command prompt window or terminating it using something
+like the taskkill command, each child process (such as a running FIO
+workload) is sent a SIGBREAK signal. Once those child processes have
+responded to that signal, Windows terminates them if they're still
+executing.
+
+This change has the main thread to wait for others to exit when handling
+a SIGBREAK signal, such that each job will still have time to wrap-up
+and give stats before the entire program terminates.
+
+Signed-off-by: Brandon Paupore <brandon.paupore@wdc.com>
+---
+ backend.c | 21 ++++++++++++++++++++-
+ 1 file changed, 20 insertions(+), 1 deletion(-)
+
+diff --git a/backend.c b/backend.c
+index e5bb4e25..375a23e4 100644
+--- a/backend.c
++++ b/backend.c
+@@ -90,6 +90,25 @@ static void sig_int(int sig)
+ }
+ }
+
++#ifdef WIN32
++static void sig_break(int sig)
++{
++ struct thread_data *td;
++ int i;
++
++ sig_int(sig);
++
++ /**
++ * Windows terminates all job processes on SIGBREAK after the handler
++ * returns, so give them time to wrap-up and give stats
++ */
++ for_each_td(td, i) {
++ while (td->runstate < TD_EXITED)
++ sleep(1);
++ }
++}
++#endif
++
+ void sig_show_status(int sig)
+ {
+ show_running_run_stats();
+@@ -112,7 +131,7 @@ static void set_sig_handlers(void)
+ /* Windows uses SIGBREAK as a quit signal from other applications */
+ #ifdef WIN32
+ memset(&act, 0, sizeof(act));
+- act.sa_handler = sig_int;
++ act.sa_handler = sig_break;
+ act.sa_flags = SA_RESTART;
+ sigaction(SIGBREAK, &act, NULL);
+ #endif
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0018-engines-io_uring-pass-back-correct-error-value-when-.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0018-engines-io_uring-pass-back-correct-error-value-when-.patch
new file mode 100644
index 0000000..8aea3ab
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0018-engines-io_uring-pass-back-correct-error-value-when-.patch
@@ -0,0 +1,58 @@
+From 1e6918419f4a2e5dbd77dd2da82598f1af63f533 Mon Sep 17 00:00:00 2001
+From: Jens Axboe <axboe@kernel.dk>
+Date: Wed, 24 Aug 2022 12:01:39 -0600
+Subject: [PATCH] engines/io_uring: pass back correct error value when
+ interrupted
+
+Running with an io_uring engine and using a USR1 signal to show
+current status will end up terminating the job with:
+
+fio: pid=91726, err=-4/file:ioengines.c:320, func=get_events, error=Unknown error -4
+sfx: (groupid=0, jobs=1): err=-4 (file:ioengines.c:320, func=get_events, error=Unknown error -4): pid=91726: Wed Aug 24 11:59:51 2022
+
+Ensure that the return value is set correctly based on the errno.
+
+Signed-off-by: Jens Axboe <axboe@kernel.dk>
+---
+ engines/io_uring.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/engines/io_uring.c b/engines/io_uring.c
+index cffc7371..89d64b06 100644
+--- a/engines/io_uring.c
++++ b/engines/io_uring.c
+@@ -445,12 +445,18 @@ static struct io_u *fio_ioring_event(struct thread_data *td, int event)
+ struct io_uring_cqe *cqe;
+ struct io_u *io_u;
+ unsigned index;
++ static int eio;
+
+ index = (event + ld->cq_ring_off) & ld->cq_ring_mask;
+
+ cqe = &ld->cq_ring.cqes[index];
+ io_u = (struct io_u *) (uintptr_t) cqe->user_data;
+
++ if (eio++ == 5) {
++ printf("mark EIO\n");
++ cqe->res = -EIO;
++ }
++
+ if (cqe->res != io_u->xfer_buflen) {
+ if (cqe->res > io_u->xfer_buflen)
+ io_u->error = -cqe->res;
+@@ -532,6 +538,7 @@ static int fio_ioring_getevents(struct thread_data *td, unsigned int min,
+ if (r < 0) {
+ if (errno == EAGAIN || errno == EINTR)
+ continue;
++ r = -errno;
+ td_verror(td, errno, "io_uring_enter");
+ break;
+ }
+@@ -665,6 +672,7 @@ static int fio_ioring_commit(struct thread_data *td)
+ usleep(1);
+ continue;
+ }
++ ret = -errno;
+ td_verror(td, errno, "io_uring_enter submit");
+ break;
+ }
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0019-Enable-CPU-affinity-support-on-Android.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0019-Enable-CPU-affinity-support-on-Android.patch
new file mode 100644
index 0000000..f477416
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0019-Enable-CPU-affinity-support-on-Android.patch
@@ -0,0 +1,64 @@
+From 02fd5b722bdfef2e7ce8d4aeb1bc65308d37003f Mon Sep 17 00:00:00 2001
+From: Bart Van Assche <bvanassche@acm.org>
+Date: Wed, 24 Aug 2022 13:42:29 -0700
+Subject: [PATCH] Enable CPU affinity support on Android
+
+This patch enables the --cpumask=, --cpus_allowed= and
+--cpus_allowed_policy= fio options.
+
+Signed-off-by: Bart Van Assche <bvanassche@acm.org>
+---
+ os/os-android.h | 26 ++++++++++++++++++++++++++
+ 1 file changed, 26 insertions(+)
+
+diff --git a/os/os-android.h b/os/os-android.h
+index 2f73d249..34534239 100644
+--- a/os/os-android.h
++++ b/os/os-android.h
+@@ -24,6 +24,7 @@
+ #define __has_builtin(x) 0 // Compatibility with non-clang compilers.
+ #endif
+
++#define FIO_HAVE_CPU_AFFINITY
+ #define FIO_HAVE_DISK_UTIL
+ #define FIO_HAVE_IOSCHED_SWITCH
+ #define FIO_HAVE_IOPRIO
+@@ -44,6 +45,13 @@
+
+ #define OS_MAP_ANON MAP_ANONYMOUS
+
++typedef cpu_set_t os_cpu_mask_t;
++
++#define fio_setaffinity(pid, cpumask) \
++ sched_setaffinity((pid), sizeof(cpumask), &(cpumask))
++#define fio_getaffinity(pid, ptr) \
++ sched_getaffinity((pid), sizeof(cpu_set_t), (ptr))
++
+ #ifndef POSIX_MADV_DONTNEED
+ #define posix_madvise madvise
+ #define POSIX_MADV_DONTNEED MADV_DONTNEED
+@@ -64,6 +72,24 @@
+ pthread_getaffinity_np(pthread_self(), sizeof(mask), &(mask))
+ #endif
+
++#define fio_cpu_clear(mask, cpu) CPU_CLR((cpu), (mask))
++#define fio_cpu_set(mask, cpu) CPU_SET((cpu), (mask))
++#define fio_cpu_isset(mask, cpu) (CPU_ISSET((cpu), (mask)) != 0)
++#define fio_cpu_count(mask) CPU_COUNT((mask))
++
++static inline int fio_cpuset_init(os_cpu_mask_t *mask)
++{
++ CPU_ZERO(mask);
++ return 0;
++}
++
++static inline int fio_cpuset_exit(os_cpu_mask_t *mask)
++{
++ return 0;
++}
++
++#define FIO_MAX_CPUS CPU_SETSIZE
++
+ #ifndef CONFIG_NO_SHM
+ /*
+ * Bionic doesn't support SysV shared memory, so implement it using ashmem
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0020-io_uring-Replace-pthread_self-with-s-tid.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0020-io_uring-Replace-pthread_self-with-s-tid.patch
new file mode 100644
index 0000000..24952f1
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0020-io_uring-Replace-pthread_self-with-s-tid.patch
@@ -0,0 +1,41 @@
+From 72d7f2139454528b9ebfb2f988a35f9a739680d0 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 24 Aug 2022 18:08:53 -0700
+Subject: [PATCH] io_uring: Replace pthread_self with s->tid
+
+__init_rand64 takes 64bit value and srand48 takes unsigned 32bit value,
+pthread_t is opaque type and some libcs ( e.g. musl ) do not define them
+in plain old data types and ends up with errors
+
+| t/io_uring.c:809:32: error: incompatible pointer to integer conversion passing 'pthread_t' (aka 'struct __pthread *') to parameter of type 'uint64_t' (aka 'unsigned long') [-Wint-conver
+sion]
+| __init_rand64(&s->rand_state, pthread_self());
+| ^~~~~~~~~~~~~~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ t/io_uring.c | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/t/io_uring.c b/t/io_uring.c
+index 35bf1956..f34a3554 100644
+--- a/t/io_uring.c
++++ b/t/io_uring.c
+@@ -799,15 +799,14 @@ static int submitter_init(struct submitter *s)
+ int i, nr_batch, err;
+ static int init_printed;
+ char buf[80];
+-
+ s->tid = gettid();
+ printf("submitter=%d, tid=%d, file=%s, node=%d\n", s->index, s->tid,
+ s->filename, s->numa_node);
+
+ set_affinity(s);
+
+- __init_rand64(&s->rand_state, pthread_self());
+- srand48(pthread_self());
++ __init_rand64(&s->rand_state, s->tid);
++ srand48(s->tid);
+
+ for (i = 0; i < MAX_FDS; i++)
+ s->files[i].fileno = i;
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0021-engines-io_uring-delete-debug-code.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0021-engines-io_uring-delete-debug-code.patch
new file mode 100644
index 0000000..b4f3d0d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0021-engines-io_uring-delete-debug-code.patch
@@ -0,0 +1,37 @@
+From 85f8181d42050f8a8c9ddf6d30f621054f0e6890 Mon Sep 17 00:00:00 2001
+From: Jens Axboe <axboe@kernel.dk>
+Date: Thu, 25 Aug 2022 11:19:34 -0600
+Subject: [PATCH] engines/io_uring: delete debug code
+
+This was inadvertently introduced by a previous commit, get rid
+of it.
+
+Fixes: 1816895b788e ("engines/io_uring: pass back correct error value when interrupted")
+Signed-off-by: Jens Axboe <axboe@kernel.dk>
+---
+ engines/io_uring.c | 6 ------
+ 1 file changed, 6 deletions(-)
+
+diff --git a/engines/io_uring.c b/engines/io_uring.c
+index 89d64b06..94376efa 100644
+--- a/engines/io_uring.c
++++ b/engines/io_uring.c
+@@ -445,18 +445,12 @@ static struct io_u *fio_ioring_event(struct thread_data *td, int event)
+ struct io_uring_cqe *cqe;
+ struct io_u *io_u;
+ unsigned index;
+- static int eio;
+
+ index = (event + ld->cq_ring_off) & ld->cq_ring_mask;
+
+ cqe = &ld->cq_ring.cqes[index];
+ io_u = (struct io_u *) (uintptr_t) cqe->user_data;
+
+- if (eio++ == 5) {
+- printf("mark EIO\n");
+- cqe->res = -EIO;
+- }
+-
+ if (cqe->res != io_u->xfer_buflen) {
+ if (cqe->res > io_u->xfer_buflen)
+ io_u->error = -cqe->res;
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0022-t-io_uring-prep-for-including-engines-nvme.h-in-t-io.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0022-t-io_uring-prep-for-including-engines-nvme.h-in-t-io.patch
new file mode 100644
index 0000000..f32c886
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0022-t-io_uring-prep-for-including-engines-nvme.h-in-t-io.patch
@@ -0,0 +1,72 @@
+From a10cec0440a7574ffb76ff52fbc33a250f067d6a Mon Sep 17 00:00:00 2001
+From: Anuj Gupta <anuj20.g@samsung.com>
+Date: Fri, 26 Aug 2022 17:03:05 +0530
+Subject: [PATCH] t/io_uring: prep for including engines/nvme.h in t/io_uring
+
+Change page_size and cal_clat_percentiles name to something different
+as these are indirectly picked from engines/nvme.h (fio.h and stat.h)
+
+Signed-off-by: Anuj Gupta <anuj20.g@samsung.com>
+Link: https://lore.kernel.org/r/20220826113306.4139-2-anuj20.g@samsung.com
+Signed-off-by: Jens Axboe <axboe@kernel.dk>
+---
+ t/io_uring.c | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/t/io_uring.c b/t/io_uring.c
+index f34a3554..6e4737e4 100644
+--- a/t/io_uring.c
++++ b/t/io_uring.c
+@@ -117,7 +117,7 @@ static struct submitter *submitter;
+ static volatile int finish;
+ static int stats_running;
+ static unsigned long max_iops;
+-static long page_size;
++static long t_io_uring_page_size;
+
+ static int depth = DEPTH;
+ static int batch_submit = BATCH_SUBMIT;
+@@ -195,9 +195,9 @@ static unsigned long plat_idx_to_val(unsigned int idx)
+ return cycles_to_nsec(base + ((k + 0.5) * (1 << error_bits)));
+ }
+
+-unsigned int calc_clat_percentiles(unsigned long *io_u_plat, unsigned long nr,
+- unsigned long **output,
+- unsigned long *maxv, unsigned long *minv)
++unsigned int calculate_clat_percentiles(unsigned long *io_u_plat,
++ unsigned long nr, unsigned long **output,
++ unsigned long *maxv, unsigned long *minv)
+ {
+ unsigned long sum = 0;
+ unsigned int len = plist_len, i, j = 0;
+@@ -251,7 +251,7 @@ static void show_clat_percentiles(unsigned long *io_u_plat, unsigned long nr,
+ bool is_last;
+ char fmt[32];
+
+- len = calc_clat_percentiles(io_u_plat, nr, &ovals, &maxv, &minv);
++ len = calculate_clat_percentiles(io_u_plat, nr, &ovals, &maxv, &minv);
+ if (!len || !ovals)
+ goto out;
+
+@@ -786,7 +786,7 @@ static void *allocate_mem(struct submitter *s, int size)
+ return numa_alloc_onnode(size, s->numa_node);
+ #endif
+
+- if (posix_memalign(&buf, page_size, bs)) {
++ if (posix_memalign(&buf, t_io_uring_page_size, bs)) {
+ printf("failed alloc\n");
+ return NULL;
+ }
+@@ -1542,9 +1542,9 @@ int main(int argc, char *argv[])
+
+ arm_sig_int();
+
+- page_size = sysconf(_SC_PAGESIZE);
+- if (page_size < 0)
+- page_size = 4096;
++ t_io_uring_page_size = sysconf(_SC_PAGESIZE);
++ if (t_io_uring_page_size < 0)
++ t_io_uring_page_size = 4096;
+
+ for (j = 0; j < nthreads; j++) {
+ s = get_submitter(j);
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0023-t-io_uring-add-support-for-async-passthru.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0023-t-io_uring-add-support-for-async-passthru.patch
new file mode 100644
index 0000000..8ef7d13
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0023-t-io_uring-add-support-for-async-passthru.patch
@@ -0,0 +1,379 @@
+From fa4a1345ca7cd60ae0b96da286f45621a3f45a33 Mon Sep 17 00:00:00 2001
+From: Anuj Gupta <anuj20.g@samsung.com>
+Date: Fri, 26 Aug 2022 17:03:06 +0530
+Subject: [PATCH] t/io_uring: add support for async-passthru
+
+This patch adds support for async-passthru in t/io_uring. User needs to
+specify -u1 option in the command
+
+Example commandline:
+t/io_uring -b512 -d128 -c32 -s32 -p0 -F1 -B0 -O0 -n1 -u1 /dev/ng0n1
+
+Signed-off-by: Anuj Gupta <anuj20.g@samsung.com>
+Link: https://lore.kernel.org/r/20220826113306.4139-3-anuj20.g@samsung.com
+Signed-off-by: Jens Axboe <axboe@kernel.dk>
+---
+ t/io_uring.c | 238 +++++++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 230 insertions(+), 8 deletions(-)
+
+diff --git a/t/io_uring.c b/t/io_uring.c
+index 6e4737e4..0a90f85c 100644
+--- a/t/io_uring.c
++++ b/t/io_uring.c
+@@ -35,6 +35,7 @@
+ #include "../lib/rand.h"
+ #include "../minmax.h"
+ #include "../os/linux/io_uring.h"
++#include "../engines/nvme.h"
+
+ struct io_sq_ring {
+ unsigned *head;
+@@ -67,6 +68,8 @@ struct file {
+ unsigned long max_size;
+ unsigned long cur_off;
+ unsigned pending_ios;
++ unsigned int nsid; /* nsid field required for nvme-passthrough */
++ unsigned int lba_shift; /* lba_shift field required for nvme-passthrough */
+ int real_fd;
+ int fixed_fd;
+ int fileno;
+@@ -139,6 +142,7 @@ static int random_io = 1; /* random or sequential IO */
+ static int register_ring = 1; /* register ring */
+ static int use_sync = 0; /* use preadv2 */
+ static int numa_placement = 0; /* set to node of device */
++static int pt = 0; /* passthrough I/O or not */
+
+ static unsigned long tsc_rate;
+
+@@ -161,6 +165,54 @@ struct io_uring_map_buffers {
+ };
+ #endif
+
++static int nvme_identify(int fd, __u32 nsid, enum nvme_identify_cns cns,
++ enum nvme_csi csi, void *data)
++{
++ struct nvme_passthru_cmd cmd = {
++ .opcode = nvme_admin_identify,
++ .nsid = nsid,
++ .addr = (__u64)(uintptr_t)data,
++ .data_len = NVME_IDENTIFY_DATA_SIZE,
++ .cdw10 = cns,
++ .cdw11 = csi << NVME_IDENTIFY_CSI_SHIFT,
++ .timeout_ms = NVME_DEFAULT_IOCTL_TIMEOUT,
++ };
++
++ return ioctl(fd, NVME_IOCTL_ADMIN_CMD, &cmd);
++}
++
++static int nvme_get_info(int fd, __u32 *nsid, __u32 *lba_sz, __u64 *nlba)
++{
++ struct nvme_id_ns ns;
++ int namespace_id;
++ int err;
++
++ namespace_id = ioctl(fd, NVME_IOCTL_ID);
++ if (namespace_id < 0) {
++ fprintf(stderr, "error failed to fetch namespace-id\n");
++ close(fd);
++ return -errno;
++ }
++
++ /*
++ * Identify namespace to get namespace-id, namespace size in LBA's
++ * and LBA data size.
++ */
++ err = nvme_identify(fd, namespace_id, NVME_IDENTIFY_CNS_NS,
++ NVME_CSI_NVM, &ns);
++ if (err) {
++ fprintf(stderr, "error failed to fetch identify namespace\n");
++ close(fd);
++ return err;
++ }
++
++ *nsid = namespace_id;
++ *lba_sz = 1 << ns.lbaf[(ns.flbas & 0x0f)].ds;
++ *nlba = ns.nsze;
++
++ return 0;
++}
++
+ static unsigned long cycles_to_nsec(unsigned long cycles)
+ {
+ uint64_t val;
+@@ -520,6 +572,65 @@ static void init_io(struct submitter *s, unsigned index)
+ sqe->user_data |= ((uint64_t)s->clock_index << 32);
+ }
+
++static void init_io_pt(struct submitter *s, unsigned index)
++{
++ struct io_uring_sqe *sqe = &s->sqes[index << 1];
++ unsigned long offset;
++ struct file *f;
++ struct nvme_uring_cmd *cmd;
++ unsigned long long slba;
++ unsigned long long nlb;
++ long r;
++
++ if (s->nr_files == 1) {
++ f = &s->files[0];
++ } else {
++ f = &s->files[s->cur_file];
++ if (f->pending_ios >= file_depth(s)) {
++ s->cur_file++;
++ if (s->cur_file == s->nr_files)
++ s->cur_file = 0;
++ f = &s->files[s->cur_file];
++ }
++ }
++ f->pending_ios++;
++
++ if (random_io) {
++ r = __rand64(&s->rand_state);
++ offset = (r % (f->max_blocks - 1)) * bs;
++ } else {
++ offset = f->cur_off;
++ f->cur_off += bs;
++ if (f->cur_off + bs > f->max_size)
++ f->cur_off = 0;
++ }
++
++ if (register_files) {
++ sqe->fd = f->fixed_fd;
++ sqe->flags = IOSQE_FIXED_FILE;
++ } else {
++ sqe->fd = f->real_fd;
++ sqe->flags = 0;
++ }
++ sqe->opcode = IORING_OP_URING_CMD;
++ sqe->user_data = (unsigned long) f->fileno;
++ if (stats)
++ sqe->user_data |= ((unsigned long)s->clock_index << 32);
++ sqe->cmd_op = NVME_URING_CMD_IO;
++ slba = offset >> f->lba_shift;
++ nlb = (bs >> f->lba_shift) - 1;
++ cmd = (struct nvme_uring_cmd *)&sqe->cmd;
++ /* cdw10 and cdw11 represent starting slba*/
++ cmd->cdw10 = slba & 0xffffffff;
++ cmd->cdw11 = slba >> 32;
++ /* cdw12 represent number of lba to be read*/
++ cmd->cdw12 = nlb;
++ cmd->addr = (unsigned long) s->iovecs[index].iov_base;
++ cmd->data_len = bs;
++ cmd->nsid = f->nsid;
++ cmd->opcode = 2;
++}
++
+ static int prep_more_ios_uring(struct submitter *s, int max_ios)
+ {
+ struct io_sq_ring *ring = &s->sq_ring;
+@@ -532,7 +643,10 @@ static int prep_more_ios_uring(struct submitter *s, int max_ios)
+ break;
+
+ index = tail & sq_ring_mask;
+- init_io(s, index);
++ if (pt)
++ init_io_pt(s, index);
++ else
++ init_io(s, index);
+ ring->array[index] = index;
+ prepped++;
+ tail = next_tail;
+@@ -549,7 +663,29 @@ static int get_file_size(struct file *f)
+
+ if (fstat(f->real_fd, &st) < 0)
+ return -1;
+- if (S_ISBLK(st.st_mode)) {
++ if (pt) {
++ __u64 nlba;
++ __u32 lbs;
++ int ret;
++
++ if (!S_ISCHR(st.st_mode)) {
++ fprintf(stderr, "passthrough works with only nvme-ns "
++ "generic devices (/dev/ngXnY)\n");
++ return -1;
++ }
++ ret = nvme_get_info(f->real_fd, &f->nsid, &lbs, &nlba);
++ if (ret)
++ return -1;
++ if ((bs % lbs) != 0) {
++ printf("error: bs:%d should be a multiple logical_block_size:%d\n",
++ bs, lbs);
++ return -1;
++ }
++ f->max_blocks = nlba / bs;
++ f->max_size = nlba;
++ f->lba_shift = ilog2(lbs);
++ return 0;
++ } else if (S_ISBLK(st.st_mode)) {
+ unsigned long long bytes;
+
+ if (ioctl(f->real_fd, BLKGETSIZE64, &bytes) != 0)
+@@ -620,6 +756,60 @@ static int reap_events_uring(struct submitter *s)
+ return reaped;
+ }
+
++static int reap_events_uring_pt(struct submitter *s)
++{
++ struct io_cq_ring *ring = &s->cq_ring;
++ struct io_uring_cqe *cqe;
++ unsigned head, reaped = 0;
++ int last_idx = -1, stat_nr = 0;
++ unsigned index;
++ int fileno;
++
++ head = *ring->head;
++ do {
++ struct file *f;
++
++ read_barrier();
++ if (head == atomic_load_acquire(ring->tail))
++ break;
++ index = head & cq_ring_mask;
++ cqe = &ring->cqes[index << 1];
++ fileno = cqe->user_data & 0xffffffff;
++ f = &s->files[fileno];
++ f->pending_ios--;
++
++ if (cqe->res != 0) {
++ printf("io: unexpected ret=%d\n", cqe->res);
++ if (polled && cqe->res == -EINVAL)
++ printf("passthrough doesn't support polled IO\n");
++ return -1;
++ }
++ if (stats) {
++ int clock_index = cqe->user_data >> 32;
++
++ if (last_idx != clock_index) {
++ if (last_idx != -1) {
++ add_stat(s, last_idx, stat_nr);
++ stat_nr = 0;
++ }
++ last_idx = clock_index;
++ }
++ stat_nr++;
++ }
++ reaped++;
++ head++;
++ } while (1);
++
++ if (stat_nr)
++ add_stat(s, last_idx, stat_nr);
++
++ if (reaped) {
++ s->inflight -= reaped;
++ atomic_store_release(ring->head, head);
++ }
++ return reaped;
++}
++
+ static void set_affinity(struct submitter *s)
+ {
+ #ifdef CONFIG_LIBNUMA
+@@ -697,6 +887,7 @@ static int setup_ring(struct submitter *s)
+ struct io_uring_params p;
+ int ret, fd;
+ void *ptr;
++ size_t len;
+
+ memset(&p, 0, sizeof(p));
+
+@@ -709,6 +900,10 @@ static int setup_ring(struct submitter *s)
+ p.sq_thread_cpu = sq_thread_cpu;
+ }
+ }
++ if (pt) {
++ p.flags |= IORING_SETUP_SQE128;
++ p.flags |= IORING_SETUP_CQE32;
++ }
+
+ fd = io_uring_setup(depth, &p);
+ if (fd < 0) {
+@@ -761,11 +956,22 @@ static int setup_ring(struct submitter *s)
+ sring->array = ptr + p.sq_off.array;
+ sq_ring_mask = *sring->ring_mask;
+
+- s->sqes = mmap(0, p.sq_entries * sizeof(struct io_uring_sqe),
++ if (p.flags & IORING_SETUP_SQE128)
++ len = 2 * p.sq_entries * sizeof(struct io_uring_sqe);
++ else
++ len = p.sq_entries * sizeof(struct io_uring_sqe);
++ s->sqes = mmap(0, len,
+ PROT_READ | PROT_WRITE, MAP_SHARED | MAP_POPULATE, fd,
+ IORING_OFF_SQES);
+
+- ptr = mmap(0, p.cq_off.cqes + p.cq_entries * sizeof(struct io_uring_cqe),
++ if (p.flags & IORING_SETUP_CQE32) {
++ len = p.cq_off.cqes +
++ 2 * p.cq_entries * sizeof(struct io_uring_cqe);
++ } else {
++ len = p.cq_off.cqes +
++ p.cq_entries * sizeof(struct io_uring_cqe);
++ }
++ ptr = mmap(0, len,
+ PROT_READ | PROT_WRITE, MAP_SHARED | MAP_POPULATE, fd,
+ IORING_OFF_CQ_RING);
+ cring->head = ptr + p.cq_off.head;
+@@ -855,7 +1061,16 @@ static int submitter_init(struct submitter *s)
+ s->plat = NULL;
+ nr_batch = 0;
+ }
++ /* perform the expensive command initialization part for passthrough here
++ * rather than in the fast path
++ */
++ if (pt) {
++ for (i = 0; i < roundup_pow2(depth); i++) {
++ struct io_uring_sqe *sqe = &s->sqes[i << 1];
+
++ memset(&sqe->cmd, 0, sizeof(struct nvme_uring_cmd));
++ }
++ }
+ return nr_batch;
+ }
+
+@@ -1111,7 +1326,10 @@ submit:
+ do {
+ int r;
+
+- r = reap_events_uring(s);
++ if (pt)
++ r = reap_events_uring_pt(s);
++ else
++ r = reap_events_uring(s);
+ if (r == -1) {
+ s->finish = 1;
+ break;
+@@ -1305,11 +1523,12 @@ static void usage(char *argv, int status)
+ " -a <bool> : Use legacy aio, default %d\n"
+ " -S <bool> : Use sync IO (preadv2), default %d\n"
+ " -X <bool> : Use registered ring %d\n"
+- " -P <bool> : Automatically place on device home node %d\n",
++ " -P <bool> : Automatically place on device home node %d\n"
++ " -u <bool> : Use nvme-passthrough I/O, default %d\n",
+ argv, DEPTH, BATCH_SUBMIT, BATCH_COMPLETE, BS, polled,
+ fixedbufs, dma_map, register_files, nthreads, !buffered, do_nop,
+ stats, runtime == 0 ? "unlimited" : runtime_str, random_io, aio,
+- use_sync, register_ring, numa_placement);
++ use_sync, register_ring, numa_placement, pt);
+ exit(status);
+ }
+
+@@ -1368,7 +1587,7 @@ int main(int argc, char *argv[])
+ if (!do_nop && argc < 2)
+ usage(argv[0], 1);
+
+- while ((opt = getopt(argc, argv, "d:s:c:b:p:B:F:n:N:O:t:T:a:r:D:R:X:S:P:h?")) != -1) {
++ while ((opt = getopt(argc, argv, "d:s:c:b:p:B:F:n:N:O:t:T:a:r:D:R:X:S:P:u:h?")) != -1) {
+ switch (opt) {
+ case 'a':
+ aio = !!atoi(optarg);
+@@ -1449,6 +1668,9 @@ int main(int argc, char *argv[])
+ case 'P':
+ numa_placement = !!atoi(optarg);
+ break;
++ case 'u':
++ pt = !!atoi(optarg);
++ break;
+ case 'h':
+ case '?':
+ default:
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0024-t-io_uring-fix-64-bit-cast-on-32-bit-archs.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0024-t-io_uring-fix-64-bit-cast-on-32-bit-archs.patch
new file mode 100644
index 0000000..ba687e0
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0024-t-io_uring-fix-64-bit-cast-on-32-bit-archs.patch
@@ -0,0 +1,37 @@
+From 286bed8bc95fbc7d8a1d00b1861037bc215948ee Mon Sep 17 00:00:00 2001
+From: Jens Axboe <axboe@kernel.dk>
+Date: Fri, 26 Aug 2022 07:52:54 -0600
+Subject: [PATCH] t/io_uring: fix 64-bit cast on 32-bit archs
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+gcc complains that:
+
+t/io_uring.c: In function ‘init_io_pt’:
+t/io_uring.c:618:52: error: left shift count >= width of type [-Werror=shift-count-overflow]
+ 618 | sqe->user_data |= ((unsigned long)s->clock_index << 32);
+ | ^~
+
+we're shifting more than the size of the type. Cast to a 64-bit value
+so that it'll work on 32-bit as well.
+
+Fixes: 7d04588a7663 ("t/io_uring: add support for async-passthru")
+Signed-off-by: Jens Axboe <axboe@kernel.dk>
+---
+ t/io_uring.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/t/io_uring.c b/t/io_uring.c
+index 0a90f85c..b90bcf78 100644
+--- a/t/io_uring.c
++++ b/t/io_uring.c
+@@ -615,7 +615,7 @@ static void init_io_pt(struct submitter *s, unsigned index)
+ sqe->opcode = IORING_OP_URING_CMD;
+ sqe->user_data = (unsigned long) f->fileno;
+ if (stats)
+- sqe->user_data |= ((unsigned long)s->clock_index << 32);
++ sqe->user_data |= ((__u64) s->clock_index << 32ULL);
+ sqe->cmd_op = NVME_URING_CMD_IO;
+ slba = offset >> f->lba_shift;
+ nlb = (bs >> f->lba_shift) - 1;
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0025-test-add-basic-test-for-io_uring-ioengine.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0025-test-add-basic-test-for-io_uring-ioengine.patch
new file mode 100644
index 0000000..7472eea
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0025-test-add-basic-test-for-io_uring-ioengine.patch
@@ -0,0 +1,91 @@
+From c3df3532a507e6d7c66339dee6eb022feab68f59 Mon Sep 17 00:00:00 2001
+From: Vincent Fu <vincent.fu@samsung.com>
+Date: Thu, 25 Aug 2022 12:08:33 -0700
+Subject: [PATCH] test: add basic test for io_uring ioengine
+
+We should have a quick smoke test for the io_uring ioengine to
+automatically detect breakage.
+
+Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
+---
+ t/jobs/t0018.fio | 9 +++++++++
+ t/run-fio-tests.py | 22 ++++++++++++++++++++++
+ 2 files changed, 31 insertions(+)
+ create mode 100644 t/jobs/t0018.fio
+
+diff --git a/t/jobs/t0018.fio b/t/jobs/t0018.fio
+new file mode 100644
+index 00000000..e2298b1f
+--- /dev/null
++++ b/t/jobs/t0018.fio
+@@ -0,0 +1,9 @@
++# Expected result: job completes without error
++# Buggy result: job fails
++
++[test]
++ioengine=io_uring
++filesize=256K
++time_based
++runtime=3s
++rw=randrw
+diff --git a/t/run-fio-tests.py b/t/run-fio-tests.py
+index 504b7cdb..1e5e9f24 100755
+--- a/t/run-fio-tests.py
++++ b/t/run-fio-tests.py
+@@ -582,6 +582,7 @@ class Requirements(object):
+
+ _linux = False
+ _libaio = False
++ _io_uring = False
+ _zbd = False
+ _root = False
+ _zoned_nullb = False
+@@ -605,6 +606,12 @@ class Requirements(object):
+ Requirements._zbd = "CONFIG_HAS_BLKZONED" in contents
+ Requirements._libaio = "CONFIG_LIBAIO" in contents
+
++ contents, success = FioJobTest.get_file("/proc/kallsyms")
++ if not success:
++ print("Unable to open '/proc/kallsyms' to probe for io_uring support")
++ else:
++ Requirements._io_uring = "io_uring_setup" in contents
++
+ Requirements._root = (os.geteuid() == 0)
+ if Requirements._zbd and Requirements._root:
+ try:
+@@ -627,6 +634,7 @@ class Requirements(object):
+
+ req_list = [Requirements.linux,
+ Requirements.libaio,
++ Requirements.io_uring,
+ Requirements.zbd,
+ Requirements.root,
+ Requirements.zoned_nullb,
+@@ -648,6 +656,11 @@ class Requirements(object):
+ """Is libaio available?"""
+ return Requirements._libaio, "libaio required"
+
++ @classmethod
++ def io_uring(cls):
++ """Is io_uring available?"""
++ return Requirements._io_uring, "io_uring required"
++
+ @classmethod
+ def zbd(cls):
+ """Is ZBD support available?"""
+@@ -867,6 +880,15 @@ TEST_LIST = [
+ 'output_format': 'json',
+ 'requirements': [Requirements.not_windows],
+ },
++ {
++ 'test_id': 18,
++ 'test_class': FioJobTest,
++ 'job': 't0018.fio',
++ 'success': SUCCESS_DEFAULT,
++ 'pre_job': None,
++ 'pre_success': None,
++ 'requirements': [Requirements.linux, Requirements.io_uring],
++ },
+ {
+ 'test_id': 1000,
+ 'test_class': FioExeTest,
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0026-t-io_uring-remove-duplicate-definition-of-gettid.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0026-t-io_uring-remove-duplicate-definition-of-gettid.patch
new file mode 100644
index 0000000..c75ec36
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0026-t-io_uring-remove-duplicate-definition-of-gettid.patch
@@ -0,0 +1,59 @@
+From 575bea1c9b642a11ac5b7162aea6a9f905c60318 Mon Sep 17 00:00:00 2001
+From: Jens Axboe <axboe@kernel.dk>
+Date: Fri, 26 Aug 2022 14:14:44 -0600
+Subject: [PATCH] t/io_uring: remove duplicate definition of gettid()
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+With a recent change, we now include os.h through nvme.h, and this
+can cause a duplicate gettid() definition:
+
+t/io_uring.c:499:12: error: redefinition of ‘gettid’
+ static int gettid(void)
+ ^~~~~~
+In file included from t/../engines/../os/os.h:39,
+ from t/../engines/../thread_options.h:5,
+ from t/../engines/../fio.h:18,
+ from t/../engines/nvme.h:10,
+ from t/io_uring.c:38:
+t/../engines/../os/os-linux.h:147:19: note: previous definition of
+‘gettid’ was here
+ static inline int gettid(void)
+ ^~~~~~
+
+Include os.h directly to make it clear that we use it, and remove the
+gettid() definition from io_uring.c.
+
+Reported-by: Yi Zhang <yi.zhang@redhat.com>
+Signed-off-by: Jens Axboe <axboe@kernel.dk>
+---
+ t/io_uring.c | 8 +-------
+ 1 file changed, 1 insertion(+), 7 deletions(-)
+
+diff --git a/t/io_uring.c b/t/io_uring.c
+index b90bcf78..e8e41796 100644
+--- a/t/io_uring.c
++++ b/t/io_uring.c
+@@ -30,6 +30,7 @@
+ #include <sched.h>
+
+ #include "../arch/arch.h"
++#include "../os/os.h"
+ #include "../lib/types.h"
+ #include "../lib/roundup.h"
+ #include "../lib/rand.h"
+@@ -495,13 +496,6 @@ static int io_uring_enter(struct submitter *s, unsigned int to_submit,
+ #endif
+ }
+
+-#ifndef CONFIG_HAVE_GETTID
+-static int gettid(void)
+-{
+- return syscall(__NR_gettid);
+-}
+-#endif
+-
+ static unsigned file_depth(struct submitter *s)
+ {
+ return (depth + s->nr_files - 1) / s->nr_files;
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0027-test-add-some-tests-for-seq-and-rand-offsets.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0027-test-add-some-tests-for-seq-and-rand-offsets.patch
new file mode 100644
index 0000000..2abd449
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0027-test-add-some-tests-for-seq-and-rand-offsets.patch
@@ -0,0 +1,157 @@
+From 1eef6cddda678b0d1a120970bc4cc961c285c81e Mon Sep 17 00:00:00 2001
+From: Vincent Fu <vincent.fu@samsung.com>
+Date: Mon, 29 Aug 2022 11:30:30 -0400
+Subject: [PATCH] test: add some tests for seq and rand offsets
+
+t/jobs/t0019.fio is a seq read test
+t/jobs/t0020.fio is a rand read test
+
+We don't have any automated tests which make sure that sequential access
+patterns are actually sequential and that random access patterns are not
+sequential. Add these two tests to help detect the possibility that
+these features could break.
+
+Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
+---
+ t/jobs/t0019.fio | 10 ++++++
+ t/jobs/t0020.fio | 11 ++++++
+ t/run-fio-tests.py | 84 ++++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 105 insertions(+)
+ create mode 100644 t/jobs/t0019.fio
+ create mode 100644 t/jobs/t0020.fio
+
+diff --git a/t/jobs/t0019.fio b/t/jobs/t0019.fio
+new file mode 100644
+index 00000000..b60d27d2
+--- /dev/null
++++ b/t/jobs/t0019.fio
+@@ -0,0 +1,10 @@
++# Expected result: offsets are accessed sequentially and all offsets are read
++# Buggy result: offsets are not accessed sequentially and one or more offsets are missed
++# run with --debug=io or logging to see which offsets are accessed
++
++[test]
++ioengine=null
++filesize=1M
++write_bw_log=test
++per_job_logs=0
++log_offset=1
+diff --git a/t/jobs/t0020.fio b/t/jobs/t0020.fio
+new file mode 100644
+index 00000000..1c1c5166
+--- /dev/null
++++ b/t/jobs/t0020.fio
+@@ -0,0 +1,11 @@
++# Expected result: offsets are not accessed sequentially and all offsets are touched
++# Buggy result: offsets are accessed sequentially and one or more offsets are missed
++# run with --debug=io or logging to see which offsets are read
++
++[test]
++ioengine=null
++filesize=1M
++rw=randread
++write_bw_log=test
++per_job_logs=0
++log_offset=1
+diff --git a/t/run-fio-tests.py b/t/run-fio-tests.py
+index 1e5e9f24..78f43521 100755
+--- a/t/run-fio-tests.py
++++ b/t/run-fio-tests.py
+@@ -548,6 +548,72 @@ class FioJobTest_t0015(FioJobTest):
+ self.passed = False
+
+
++class FioJobTest_t0019(FioJobTest):
++ """Test consists of fio test job t0019
++ Confirm that all offsets were touched sequentially"""
++
++ def check_result(self):
++ super(FioJobTest_t0019, self).check_result()
++
++ bw_log_filename = os.path.join(self.test_dir, "test_bw.log")
++ file_data, success = self.get_file(bw_log_filename)
++ log_lines = file_data.split('\n')
++
++ prev = -4096
++ for line in log_lines:
++ if len(line.strip()) == 0:
++ continue
++ cur = int(line.split(',')[4])
++ if cur - prev != 4096:
++ self.passed = False
++ self.failure_reason = "offsets {0}, {1} not sequential".format(prev, cur)
++ return
++ prev = cur
++
++ if cur/4096 != 255:
++ self.passed = False
++ self.failure_reason = "unexpected last offset {0}".format(cur)
++
++
++class FioJobTest_t0020(FioJobTest):
++ """Test consists of fio test job t0020
++ Confirm that almost all offsets were touched non-sequentially"""
++
++ def check_result(self):
++ super(FioJobTest_t0020, self).check_result()
++
++ bw_log_filename = os.path.join(self.test_dir, "test_bw.log")
++ file_data, success = self.get_file(bw_log_filename)
++ log_lines = file_data.split('\n')
++
++ seq_count = 0
++ offsets = set()
++
++ prev = int(log_lines[0].split(',')[4])
++ for line in log_lines[1:]:
++ offsets.add(prev/4096)
++ if len(line.strip()) == 0:
++ continue
++ cur = int(line.split(',')[4])
++ if cur - prev == 4096:
++ seq_count += 1
++ prev = cur
++
++ # 10 is an arbitrary threshold
++ if seq_count > 10:
++ self.passed = False
++ self.failure_reason = "too many ({0}) consecutive offsets".format(seq_count)
++
++ if len(offsets) != 256:
++ self.passed = False
++ self.failure_reason += " number of offsets is {0} instead of 256".format(len(offsets))
++
++ for i in range(256):
++ if not i in offsets:
++ self.passed = False
++ self.failure_reason += " missing offset {0}".format(i*4096)
++
++
+ class FioJobTest_iops_rate(FioJobTest):
+ """Test consists of fio test job t0009
+ Confirm that job0 iops == 1000
+@@ -889,6 +955,24 @@ TEST_LIST = [
+ 'pre_success': None,
+ 'requirements': [Requirements.linux, Requirements.io_uring],
+ },
++ {
++ 'test_id': 19,
++ 'test_class': FioJobTest_t0019,
++ 'job': 't0019.fio',
++ 'success': SUCCESS_DEFAULT,
++ 'pre_job': None,
++ 'pre_success': None,
++ 'requirements': [],
++ },
++ {
++ 'test_id': 20,
++ 'test_class': FioJobTest_t0020,
++ 'job': 't0020.fio',
++ 'success': SUCCESS_DEFAULT,
++ 'pre_job': None,
++ 'pre_success': None,
++ 'requirements': [],
++ },
+ {
+ 'test_id': 1000,
+ 'test_class': FioExeTest,
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0028-test-use-Ubuntu-22.04-for-64-bit-tests.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0028-test-use-Ubuntu-22.04-for-64-bit-tests.patch
new file mode 100644
index 0000000..b471d9c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0028-test-use-Ubuntu-22.04-for-64-bit-tests.patch
@@ -0,0 +1,72 @@
+From abfe30b1fe8118a4ff935bd7cb03243329eba4b8 Mon Sep 17 00:00:00 2001
+From: Vincent Fu <vincent.fu@samsung.com>
+Date: Mon, 29 Aug 2022 14:24:16 -0400
+Subject: [PATCH] test: use Ubuntu 22.04 for 64-bit tests
+
+On 22.04 there was a conflict among libunwind-14-dev, libunwind-dev, and
+libunwind8 that was resolved by removing libunwind-14-dev.
+
+The 32-bit Ubuntu setup steps require more attention to get them to work
+on 22.04. Stay on 20.04 for now and figure it out later.
+
+Starting pkgProblemResolver with broken count: 1
+Starting 2 pkgProblemResolver with broken count: 1
+Investigating (0) libunwind-14-dev:amd64 < 1:14.0.0-1ubuntu1 @ii K Ib >
+Broken libunwind-14-dev:amd64 Breaks on libunwind-dev:amd64 < none -> 1.3.2-2build2 @un puN >
+ Considering libunwind-dev:amd64 -1 as a solution to libunwind-14-dev:amd64 2
+Done
+Some packages could not be installed. This may mean that you have
+requested an impossible situation or if you are using the unstable
+distribution that some required packages have not yet been created
+or been moved out of Incoming.
+The following information may help to resolve the situation:
+
+The following packages have unmet dependencies:
+ libunwind-14-dev : Breaks: libunwind-dev but 1.3.2-2build2 is to be installed
+E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
+
+Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
+---
+ .github/workflows/ci.yml | 6 +++---
+ ci/actions-install.sh | 2 ++
+ 2 files changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
+index 650366b2..85104e5a 100644
+--- a/.github/workflows/ci.yml
++++ b/.github/workflows/ci.yml
+@@ -18,10 +18,10 @@ jobs:
+ - android
+ include:
+ - build: linux-gcc
+- os: ubuntu-20.04
++ os: ubuntu-22.04
+ cc: gcc
+ - build: linux-clang
+- os: ubuntu-20.04
++ os: ubuntu-22.04
+ cc: clang
+ - build: macos
+ os: macos-11
+@@ -29,7 +29,7 @@ jobs:
+ os: ubuntu-20.04
+ arch: i686
+ - build: android
+- os: ubuntu-20.04
++ os: ubuntu-22.04
+ arch: aarch64-linux-android32
+
+ env:
+diff --git a/ci/actions-install.sh b/ci/actions-install.sh
+index b5c4198f..7017de2a 100755
+--- a/ci/actions-install.sh
++++ b/ci/actions-install.sh
+@@ -54,6 +54,8 @@ DPKGCFG
+ libtcmalloc-minimal4
+ nvidia-cuda-dev
+ )
++ echo "Removing libunwind-14-dev because of conflicts with libunwind-dev"
++ sudo apt remove -y libunwind-14-dev
+ ;;
+ esac
+
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0029-test-get-32-bit-Ubuntu-22.04-build-working.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0029-test-get-32-bit-Ubuntu-22.04-build-working.patch
new file mode 100644
index 0000000..163ebf3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0029-test-get-32-bit-Ubuntu-22.04-build-working.patch
@@ -0,0 +1,79 @@
+From aa1075ba2ff300e4017bd7813423f63b1fbc325f Mon Sep 17 00:00:00 2001
+From: Vincent Fu <vincent.fu@samsung.com>
+Date: Mon, 29 Aug 2022 15:15:56 -0400
+Subject: [PATCH] test: get 32-bit Ubuntu 22.04 build working
+
+Ubuntu 22.04 no longer has i386 builds for the packages libibverbs and
+librdmacm. So stop trying to install those packages for the 32-bit
+build.
+
+Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
+---
+ .github/workflows/ci.yml | 2 +-
+ ci/actions-install.sh | 11 ++++-------
+ 2 files changed, 5 insertions(+), 8 deletions(-)
+
+diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
+index 85104e5a..bdc4db85 100644
+--- a/.github/workflows/ci.yml
++++ b/.github/workflows/ci.yml
+@@ -26,7 +26,7 @@ jobs:
+ - build: macos
+ os: macos-11
+ - build: linux-i686-gcc
+- os: ubuntu-20.04
++ os: ubuntu-22.04
+ arch: i686
+ - build: android
+ os: ubuntu-22.04
+diff --git a/ci/actions-install.sh b/ci/actions-install.sh
+index 7017de2a..c209a089 100755
+--- a/ci/actions-install.sh
++++ b/ci/actions-install.sh
+@@ -23,26 +23,21 @@ DPKGCFG
+ libcunit1-dev
+ libcurl4-openssl-dev
+ libfl-dev
+- libibverbs-dev
+ libnuma-dev
+- librdmacm-dev
+ libnfs-dev
+ valgrind
+ )
+ case "${CI_TARGET_ARCH}" in
+ "i686")
+ sudo dpkg --add-architecture i386
+- opts="--allow-downgrades"
+ pkgs=("${pkgs[@]/%/:i386}")
+ pkgs+=(
+ gcc-multilib
+ pkg-config:i386
+ zlib1g-dev:i386
+- libpcre2-8-0=10.34-7
+ )
+ ;;
+ "x86_64")
+- opts=""
+ pkgs+=(
+ libglusterfs-dev
+ libgoogle-perftools-dev
+@@ -53,6 +48,8 @@ DPKGCFG
+ librbd-dev
+ libtcmalloc-minimal4
+ nvidia-cuda-dev
++ libibverbs-dev
++ librdmacm-dev
+ )
+ echo "Removing libunwind-14-dev because of conflicts with libunwind-dev"
+ sudo apt remove -y libunwind-14-dev
+@@ -68,8 +65,8 @@ DPKGCFG
+
+ echo "Updating APT..."
+ sudo apt-get -qq update
+- echo "Installing packages..."
+- sudo apt-get install "$opts" -o APT::Immediate-Configure=false --no-install-recommends -qq -y "${pkgs[@]}"
++ echo "Installing packages... ${pkgs[@]}"
++ sudo apt-get install -o APT::Immediate-Configure=false --no-install-recommends -qq -y "${pkgs[@]}"
+ }
+
+ install_linux() {
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0030-test-add-tests-for-lfsr-and-norandommap.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0030-test-add-tests-for-lfsr-and-norandommap.patch
new file mode 100644
index 0000000..fa1d49e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0030-test-add-tests-for-lfsr-and-norandommap.patch
@@ -0,0 +1,143 @@
+From 8d2b6305a6d0497bc6d78832be256380b1691694 Mon Sep 17 00:00:00 2001
+From: Vincent Fu <vincent.fu@samsung.com>
+Date: Tue, 30 Aug 2022 09:59:55 -0400
+Subject: [PATCH] test: add tests for lfsr and norandommap
+
+t0021 checks whether the lfsr random generator actually touches every
+offset.
+
+t0022 checks whether fio touches offsets more than once when
+norandommap=1.
+
+We should have automated tests for basic functionality to detect
+problems early.
+
+Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
+---
+ t/jobs/t0021.fio | 15 +++++++++++++
+ t/jobs/t0022.fio | 13 +++++++++++
+ t/run-fio-tests.py | 55 +++++++++++++++++++++++++++++++++++++++++++++-
+ 3 files changed, 82 insertions(+), 1 deletion(-)
+ create mode 100644 t/jobs/t0021.fio
+ create mode 100644 t/jobs/t0022.fio
+
+diff --git a/t/jobs/t0021.fio b/t/jobs/t0021.fio
+new file mode 100644
+index 00000000..47fbae71
+--- /dev/null
++++ b/t/jobs/t0021.fio
+@@ -0,0 +1,15 @@
++# make sure the lfsr random generator actually does touch all the offsets
++#
++# Expected result: offsets are not accessed sequentially and all offsets are touched
++# Buggy result: offsets are accessed sequentially and one or more offsets are missed
++# run with --debug=io or logging to see which offsets are read
++
++[test]
++ioengine=null
++filesize=1M
++rw=randread
++write_bw_log=test
++per_job_logs=0
++log_offset=1
++norandommap=1
++random_generator=lfsr
+diff --git a/t/jobs/t0022.fio b/t/jobs/t0022.fio
+new file mode 100644
+index 00000000..2324571e
+--- /dev/null
++++ b/t/jobs/t0022.fio
+@@ -0,0 +1,13 @@
++# make sure that when we enable norandommap we touch some offsets more than once
++#
++# Expected result: at least one offset is touched more than once
++# Buggy result: each offset is touched only once
++
++[test]
++ioengine=null
++filesize=1M
++rw=randread
++write_bw_log=test
++per_job_logs=0
++log_offset=1
++norandommap=1
+diff --git a/t/run-fio-tests.py b/t/run-fio-tests.py
+index 78f43521..47823761 100755
+--- a/t/run-fio-tests.py
++++ b/t/run-fio-tests.py
+@@ -576,7 +576,7 @@ class FioJobTest_t0019(FioJobTest):
+
+
+ class FioJobTest_t0020(FioJobTest):
+- """Test consists of fio test job t0020
++ """Test consists of fio test jobs t0020 and t0021
+ Confirm that almost all offsets were touched non-sequentially"""
+
+ def check_result(self):
+@@ -614,6 +614,41 @@ class FioJobTest_t0020(FioJobTest):
+ self.failure_reason += " missing offset {0}".format(i*4096)
+
+
++class FioJobTest_t0022(FioJobTest):
++ """Test consists of fio test job t0022"""
++
++ def check_result(self):
++ super(FioJobTest_t0022, self).check_result()
++
++ bw_log_filename = os.path.join(self.test_dir, "test_bw.log")
++ file_data, success = self.get_file(bw_log_filename)
++ log_lines = file_data.split('\n')
++
++ filesize = 1024*1024
++ bs = 4096
++ seq_count = 0
++ offsets = set()
++
++ prev = int(log_lines[0].split(',')[4])
++ for line in log_lines[1:]:
++ offsets.add(prev/bs)
++ if len(line.strip()) == 0:
++ continue
++ cur = int(line.split(',')[4])
++ if cur - prev == bs:
++ seq_count += 1
++ prev = cur
++
++ # 10 is an arbitrary threshold
++ if seq_count > 10:
++ self.passed = False
++ self.failure_reason = "too many ({0}) consecutive offsets".format(seq_count)
++
++ if len(offsets) == filesize/bs:
++ self.passed = False
++ self.failure_reason += " no duplicate offsets found with norandommap=1".format(len(offsets))
++
++
+ class FioJobTest_iops_rate(FioJobTest):
+ """Test consists of fio test job t0009
+ Confirm that job0 iops == 1000
+@@ -973,6 +1008,24 @@ TEST_LIST = [
+ 'pre_success': None,
+ 'requirements': [],
+ },
++ {
++ 'test_id': 21,
++ 'test_class': FioJobTest_t0020,
++ 'job': 't0021.fio',
++ 'success': SUCCESS_DEFAULT,
++ 'pre_job': None,
++ 'pre_success': None,
++ 'requirements': [],
++ },
++ {
++ 'test_id': 22,
++ 'test_class': FioJobTest_t0022,
++ 'job': 't0022.fio',
++ 'success': SUCCESS_DEFAULT,
++ 'pre_job': None,
++ 'pre_success': None,
++ 'requirements': [],
++ },
+ {
+ 'test_id': 1000,
+ 'test_class': FioExeTest,
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0031-backend-revert-bad-memory-leak-fix.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0031-backend-revert-bad-memory-leak-fix.patch
new file mode 100644
index 0000000..335798c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0031-backend-revert-bad-memory-leak-fix.patch
@@ -0,0 +1,39 @@
+From c060732180c981712f9a6fb7108c28a3c301c2c3 Mon Sep 17 00:00:00 2001
+From: Jens Axboe <axboe@kernel.dk>
+Date: Tue, 30 Aug 2022 10:48:18 -0600
+Subject: [PATCH] backend: revert bad memory leak fix
+
+This essentially reverts the commit mentioned in the fixes line, as it
+causes crashes with using a trigger timeout + command.
+
+Fixes: 807473c36e10 ("fixed memory leak detected by ASAN")
+Signed-off-by: Jens Axboe <axboe@kernel.dk>
+---
+ backend.c | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/backend.c b/backend.c
+index 375a23e4..fe614f6e 100644
+--- a/backend.c
++++ b/backend.c
+@@ -2451,10 +2451,8 @@ reap:
+ strerror(ret));
+ } else {
+ pid_t pid;
+- struct fio_file **files;
+ void *eo;
+ dprint(FD_PROCESS, "will fork\n");
+- files = td->files;
+ eo = td->eo;
+ read_barrier();
+ pid = fork();
+@@ -2465,9 +2463,6 @@ reap:
+ _exit(ret);
+ } else if (i == fio_debug_jobno)
+ *fio_debug_jobp = pid;
+- // freeing previously allocated memory for files
+- // this memory freed MUST NOT be shared between processes, only the pointer itself may be shared within TD
+- free(files);
+ free(eo);
+ free(fd);
+ fd = NULL;
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0032-Fio-3.32.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0032-Fio-3.32.patch
new file mode 100644
index 0000000..6aa86d1
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio/0032-Fio-3.32.patch
@@ -0,0 +1,23 @@
+From aaad03c6c8a9ef8cc0507a356a9fa2372e1f611b Mon Sep 17 00:00:00 2001
+From: Jens Axboe <axboe@kernel.dk>
+Date: Tue, 30 Aug 2022 10:51:13 -0600
+Subject: [PATCH] Fio 3.32
+
+Signed-off-by: Jens Axboe <axboe@kernel.dk>
+---
+ FIO-VERSION-GEN | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/FIO-VERSION-GEN b/FIO-VERSION-GEN
+index 72630dd0..db073818 100755
+--- a/FIO-VERSION-GEN
++++ b/FIO-VERSION-GEN
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+
+ GVF=FIO-VERSION-FILE
+-DEF_VER=fio-3.31
++DEF_VER=fio-3.32
+
+ LF='
+ '
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_2022.bb b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_2022.bb
new file mode 100644
index 0000000..108b2b5
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_2022.bb
@@ -0,0 +1,77 @@
+SUMMARY = "Filesystem and hardware benchmark and stress tool"
+DESCRIPTION = "fio is an I/O tool meant to be used both for benchmark and \
+stress/hardware verification. It has support for a number of I/O engines, \
+I/O priorities (for newer Linux kernels), rate I/O, forked or threaded jobs, \
+and much more. It can work on block devices as well as files. fio accepts \
+job descriptions in a simple-to-understand text format. Several example job \
+files are included. fio displays all sorts of I/O performance information."
+HOMEPAGE = "http://freecode.com/projects/fio"
+SECTION = "console/tests"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "libaio zlib coreutils-native"
+DEPENDS += "${@bb.utils.contains('MACHINE_FEATURES', 'pmem', 'pmdk', '', d)}"
+RDEPENDS:${PN} = "python3-core bash"
+
+PACKAGECONFIG_NUMA = "numa"
+# ARM does not currently support NUMA
+PACKAGECONFIG_NUMA:arm = ""
+PACKAGECONFIG_NUMA:armeb = ""
+
+PACKAGECONFIG ??= "${PACKAGECONFIG_NUMA}"
+PACKAGECONFIG[numa] = ",--disable-numa,numactl"
+
+SRCREV = "6e44f31b9241cdc56d0857fb10ddb2ec40faa541"
+SRC_URI = "git://git.kernel.dk/fio.git;branch=master \
+ file://0001-Fio-3.31.patch \
+ file://0002-lib-rand-Enhance-__fill_random_buf-using-the-multi-r.patch \
+ file://0003-lib-rand-get-rid-of-unused-MAX_SEED_BUCKETS.patch \
+ file://0004-ioengines-merge-filecreate-filestat-filedelete-engin.patch \
+ file://0005-engines-http-Add-storage-class-option-for-s3.patch \
+ file://0006-engines-http-Add-s3-crypto-options-for-s3.patch \
+ file://0007-doc-Add-usage-and-example-about-s3-storage-class-and.patch \
+ file://0008-README-link-to-GitHub-releases-for-Windows.patch \
+ file://0009-engines-xnvme-fix-segfault-issue-with-xnvme-ioengine.patch \
+ file://0010-doc-update-fio-doc-for-xnvme-engine.patch \
+ file://0011-test-add-latency-test-using-posixaio-ioengine.patch \
+ file://0012-test-fix-hash-for-t0016.patch \
+ file://0013-doc-get-rid-of-trailing-whitespace.patch \
+ file://0014-doc-clarify-that-I-O-errors-may-go-unnoticed-without.patch \
+ file://0015-Revert-Minor-style-fixups.patch \
+ file://0016-Revert-Fix-multithread-issues-when-operating-on-a-si.patch \
+ file://0017-Add-wait-for-handling-SIGBREAK.patch \
+ file://0018-engines-io_uring-pass-back-correct-error-value-when-.patch \
+ file://0019-Enable-CPU-affinity-support-on-Android.patch \
+ file://0020-io_uring-Replace-pthread_self-with-s-tid.patch \
+ file://0021-engines-io_uring-delete-debug-code.patch \
+ file://0022-t-io_uring-prep-for-including-engines-nvme.h-in-t-io.patch \
+ file://0023-t-io_uring-add-support-for-async-passthru.patch \
+ file://0024-t-io_uring-fix-64-bit-cast-on-32-bit-archs.patch \
+ file://0025-test-add-basic-test-for-io_uring-ioengine.patch \
+ file://0026-t-io_uring-remove-duplicate-definition-of-gettid.patch \
+ file://0027-test-add-some-tests-for-seq-and-rand-offsets.patch \
+ file://0028-test-use-Ubuntu-22.04-for-64-bit-tests.patch \
+ file://0029-test-get-32-bit-Ubuntu-22.04-build-working.patch \
+ file://0030-test-add-tests-for-lfsr-and-norandommap.patch \
+ file://0031-backend-revert-bad-memory-leak-fix.patch \
+ file://0032-Fio-3.32.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+# avoids build breaks when using no-static-libs.inc
+DISABLE_STATIC = ""
+
+EXTRA_OEMAKE = "CC='${CC}' LDFLAGS='${LDFLAGS}'"
+EXTRA_OECONF = "${@bb.utils.contains('MACHINE_FEATURES', 'x86', '--disable-optimizations', '', d)}"
+
+do_configure() {
+ ./configure ${EXTRA_OECONF}
+}
+
+do_install() {
+ oe_runmake install DESTDIR=${D} prefix=${prefix} mandir=${mandir}
+ install -d ${D}/${docdir}/${PN}
+ cp -R --no-dereference --preserve=mode,links -v ${S}/examples ${D}/${docdir}/${PN}/
+}
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.32.bb b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.32.bb
deleted file mode 100644
index 90e2834..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.32.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-SUMMARY = "Filesystem and hardware benchmark and stress tool"
-DESCRIPTION = "fio is an I/O tool meant to be used both for benchmark and \
-stress/hardware verification. It has support for a number of I/O engines, \
-I/O priorities (for newer Linux kernels), rate I/O, forked or threaded jobs, \
-and much more. It can work on block devices as well as files. fio accepts \
-job descriptions in a simple-to-understand text format. Several example job \
-files are included. fio displays all sorts of I/O performance information."
-HOMEPAGE = "http://freecode.com/projects/fio"
-SECTION = "console/tests"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-DEPENDS = "libaio zlib coreutils-native"
-DEPENDS += "${@bb.utils.contains('MACHINE_FEATURES', 'pmem', 'pmdk', '', d)}"
-RDEPENDS:${PN} = "python3-core bash"
-
-PACKAGECONFIG_NUMA = "numa"
-# ARM does not currently support NUMA
-PACKAGECONFIG_NUMA:arm = ""
-PACKAGECONFIG_NUMA:armeb = ""
-
-PACKAGECONFIG ??= "${PACKAGECONFIG_NUMA}"
-PACKAGECONFIG[numa] = ",--disable-numa,numactl"
-
-SRCREV = "db7fc8d864dc4fb607a0379333a0db60431bd649"
-SRC_URI = "git://git.kernel.dk/fio.git;branch=master"
-
-S = "${WORKDIR}/git"
-
-# avoids build breaks when using no-static-libs.inc
-DISABLE_STATIC = ""
-
-EXTRA_OEMAKE = "CC='${CC}' LDFLAGS='${LDFLAGS}'"
-EXTRA_OECONF = "${@bb.utils.contains('MACHINE_FEATURES', 'x86', '--disable-optimizations', '', d)}"
-
-do_configure() {
- ./configure ${EXTRA_OECONF}
-}
-
-do_install() {
- oe_runmake install DESTDIR=${D} prefix=${prefix} mandir=${mandir}
- install -d ${D}/${docdir}/${PN}
- cp -R --no-dereference --preserve=mode,links -v ${S}/examples ${D}/${docdir}/${PN}/
-}
diff --git a/meta-openembedded/meta-oe/recipes-bsp/bolt/bolt_0.9.5.bb b/meta-openembedded/meta-oe/recipes-bsp/bolt/bolt_0.9.5.bb
deleted file mode 100644
index 0cc9d85..0000000
--- a/meta-openembedded/meta-oe/recipes-bsp/bolt/bolt_0.9.5.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Thunderbolt user-space management tool"
-DESCRIPTION = "Userspace system daemon to enable security levels for Thunderbolt on GNU/Linux"
-HOMEPAGE = "https://gitlab.freedesktop.org/bolt/bolt"
-LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-DEPENDS = "udev polkit dbus"
-REQUIRED_DISTRO_FEATURES = "polkit"
-
-SRC_URI = "git://gitlab.freedesktop.org/bolt/bolt.git;protocol=https;branch=master"
-SRCREV = "5a8a5866a847561566499847d46a97c612b4e6dd"
-
-S = "${WORKDIR}/git"
-
-CVE_PRODUCT = "freedesktop:bolt"
-
-inherit cmake pkgconfig meson features_check
-
-FILES:${PN} += "${datadir}/dbus-1/* \
- ${datadir}/polkit-1/* \
- "
diff --git a/meta-openembedded/meta-oe/recipes-bsp/bolt/bolt_0.9.6.bb b/meta-openembedded/meta-oe/recipes-bsp/bolt/bolt_0.9.6.bb
new file mode 100644
index 0000000..860cb83
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-bsp/bolt/bolt_0.9.6.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Thunderbolt user-space management tool"
+DESCRIPTION = "Userspace system daemon to enable security levels for Thunderbolt on GNU/Linux"
+HOMEPAGE = "https://gitlab.freedesktop.org/bolt/bolt"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = "udev polkit dbus"
+REQUIRED_DISTRO_FEATURES = "polkit"
+
+SRC_URI = "git://gitlab.freedesktop.org/bolt/bolt.git;protocol=https;branch=master"
+SRCREV = "f03c50b22ae3fda26711ddabd91e2c5dd8103478"
+
+S = "${WORKDIR}/git"
+
+CVE_PRODUCT = "freedesktop:bolt"
+
+inherit cmake pkgconfig meson features_check
+
+FILES:${PN} += "${datadir}/dbus-1/* \
+ ${datadir}/polkit-1/* \
+ "
diff --git a/meta-openembedded/meta-oe/recipes-bsp/ledmon/ledmon/0001-Don-t-build-with-Werror-to-fix-compile-error.patch b/meta-openembedded/meta-oe/recipes-bsp/ledmon/ledmon/0001-Don-t-build-with-Werror-to-fix-compile-error.patch
deleted file mode 100644
index 09f4993..0000000
--- a/meta-openembedded/meta-oe/recipes-bsp/ledmon/ledmon/0001-Don-t-build-with-Werror-to-fix-compile-error.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Subject: [PATCH] Don't build with -Werror to fix compile error.
-
-| 550 | _dump_sgpio_amd(&amd_reg->amd);
-| | ^~~~~~~~~~~~~
-| amd_sgpio.c: In function '_write_amd_register':
-| amd_sgpio.c:558:18: error: taking address of packed member of 'struct amd_register' may result in an unaligned pointer value [-Werror=address-of-packed-member]
-
-Upstream-Status: Submitted
-https://github.com/intel/ledmon/pull/48/commits
-
-Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
----
- configure.ac | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 7bc20f8..7e01bd5 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -22,7 +22,6 @@ AX_AM_CFLAGS_ADD([-Werror=format-truncation=1])
- AX_AM_CFLAGS_ADD([-Werror=shift-negative-value])
- AX_AM_CFLAGS_ADD([-Werror=alloca])
- AX_AM_CFLAGS_ADD([-Werror=missing-field-initializers])
--AX_AM_CFLAGS_ADD([-Werror])
- AX_AM_CFLAGS_ADD([-Werror=format-signedness])
-
- AC_SUBST([AM_CFLAGS])
---
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-bsp/ledmon/ledmon/0001-fix-build-with-clang.patch b/meta-openembedded/meta-oe/recipes-bsp/ledmon/ledmon/0001-fix-build-with-clang.patch
new file mode 100644
index 0000000..f1e1d6f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-bsp/ledmon/ledmon/0001-fix-build-with-clang.patch
@@ -0,0 +1,90 @@
+From 28fd86fb4e18af181174176530a80672de4449d2 Mon Sep 17 00:00:00 2001
+From: alperak <alperyasinak1@gmail.com>
+Date: Sat, 18 Nov 2023 12:27:17 +0300
+Subject: [PATCH] fix build with clang
+
+struct ibpi2value is a structure which contains 2 unsigned integers. In
+a number of cases the code was not initializing a value for the last value
+in the pair in struct ibpi2value ibpi_to_attention. This was raised when
+using clang compiler.
+
+vmdssd.c:49:27: error: missing field 'value' initializer
+[-Werror,-Wmissing-field-initializers]
+ {LED_IBPI_PATTERN_UNKNOWN}
+
+dellssd.c:74:27: error: missing field 'value' initializer
+[-Werror,-Wmissing-field-initializers]
+ {LED_IBPI_PATTERN_UNKNOWN}
+
+amd_ipmi.c:57:27: error: missing field 'value'
+initializer [-Werror,-Wmissing-field-initializers]
+ {LED_IBPI_PATTERN_UNKNOWN}
+
+npem.c:76:27: error: missing field 'value'
+initializer [-Werror,-Wmissing-field-initializers]
+ {LED_IBPI_PATTERN_UNKNOWN}
+
+Upstream-Status: Submitted [https://github.com/intel/ledmon/pull/179]
+Signed-off-by: alperak <alperyasinak1@gmail.com>
+---
+ src/amd_ipmi.c | 2 +-
+ src/dellssd.c | 2 +-
+ src/npem.c | 2 +-
+ src/vmdssd.c | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/amd_ipmi.c b/src/amd_ipmi.c
+index 726f77d..ad36e9e 100644
+--- a/src/amd_ipmi.c
++++ b/src/amd_ipmi.c
+@@ -53,7 +53,7 @@ const struct ibpi2value ibpi2amd_ipmi[] = {
+ {IBPI_PATTERN_FAILED_ARRAY, 0x45},
+ {IBPI_PATTERN_REBUILD, 0x46},
+ {IBPI_PATTERN_HOTSPARE, 0x47},
+- {IBPI_PATTERN_UNKNOWN}
++ {IBPI_PATTERN_UNKNOWN, 0}
+ };
+
+ #define MG9098_CHIP_ID_REG 0x63
+diff --git a/src/dellssd.c b/src/dellssd.c
+index 3c10ec7..7f02ea1 100644
+--- a/src/dellssd.c
++++ b/src/dellssd.c
+@@ -71,7 +71,7 @@ static const struct ibpi2value ibpi2ssd[] = {
+ {IBPI_PATTERN_FAILED_DRIVE, BP_FAULT | BP_ONLINE},
+ {IBPI_PATTERN_LOCATE, BP_IDENTIFY | BP_ONLINE},
+ {IBPI_PATTERN_LOCATE_OFF, BP_ONLINE},
+- {IBPI_PATTERN_UNKNOWN}
++ {IBPI_PATTERN_UNKNOWN, 0}
+ };
+
+ #define DELL_OEM_NETFN 0x30
+diff --git a/src/npem.c b/src/npem.c
+index c21276d..3499169 100644
+--- a/src/npem.c
++++ b/src/npem.c
+@@ -72,7 +72,7 @@ const struct ibpi2value ibpi_to_npem_capability[] = {
+ {IBPI_PATTERN_FAILED_DRIVE, PCI_NPEM_FAIL_CAP},
+ {IBPI_PATTERN_LOCATE, PCI_NPEM_LOCATE_CAP},
+ {IBPI_PATTERN_LOCATE_OFF, PCI_NPEM_OK_CAP},
+- {IBPI_PATTERN_UNKNOWN}
++ {IBPI_PATTERN_UNKNOWN, 0}
+ };
+
+ static struct pci_access *get_pci_access()
+diff --git a/src/vmdssd.c b/src/vmdssd.c
+index 51af591..9c63d90 100644
+--- a/src/vmdssd.c
++++ b/src/vmdssd.c
+@@ -45,7 +45,7 @@ struct ibpi2value ibpi_to_attention[] = {
+ {IBPI_PATTERN_REBUILD, ATTENTION_REBUILD},
+ {IBPI_PATTERN_LOCATE_OFF, ATTENTION_OFF},
+ {IBPI_PATTERN_ONESHOT_NORMAL, ATTENTION_OFF},
+- {IBPI_PATTERN_UNKNOWN}
++ {IBPI_PATTERN_UNKNOWN, 0}
+ };
+
+ #define SYSFS_PCIEHP "/sys/module/pciehp"
+--
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-bsp/ledmon/ledmon_0.97.bb b/meta-openembedded/meta-oe/recipes-bsp/ledmon/ledmon_0.97.bb
new file mode 100644
index 0000000..88a6e5b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-bsp/ledmon/ledmon_0.97.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Intel(R) Enclosure LED Utilities"
+
+DESCRIPTION = "The utilities are designed primarily to be used on storage servers \
+ utilizing MD devices (aka Linux Software RAID) for RAID arrays.\
+"
+HOMEPAGE = "https://github.com/intel/ledmon"
+
+LICENSE = "LGPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = "sg3-utils udev pciutils"
+
+inherit autotools systemd pkgconfig
+
+SYSTEMD_SERVICE:${PN} = "ledmon.service"
+
+SRC_URI = "git://github.com/intel/ledmon;branch=master;protocol=https \
+ file://0002-include-sys-select.h-and-sys-types.h.patch \
+ file://0001-fix-build-with-clang.patch"
+
+SRCREV = "b0edae14e8660b80ffe0384354038a9f62e2978d"
+
+COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
+COMPATIBLE_HOST:libc-musl = "null"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--enable-systemd', '', d)}"
+
+EXTRA_OEMAKE = "CC='${CC}' LDFLAGS='${LDFLAGS}' CFLAGS='${CFLAGS}'"
+
+# The ledmon sources include headers in ${S}/config to build but not in CFLAGS.
+# We need to add this include path in CFLAGS.
+CFLAGS += "-I${S}/config"
diff --git a/meta-openembedded/meta-oe/recipes-bsp/ledmon/ledmon_git.bb b/meta-openembedded/meta-oe/recipes-bsp/ledmon/ledmon_git.bb
deleted file mode 100644
index dbfd1e7..0000000
--- a/meta-openembedded/meta-oe/recipes-bsp/ledmon/ledmon_git.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-SUMMARY = "Intel(R) Enclosure LED Utilities"
-
-DESCRIPTION = "The utilities are designed primarily to be used on storage servers \
- utilizing MD devices (aka Linux Software RAID) for RAID arrays.\
-"
-HOMEPAGE = "https://github.com/intel/ledmon"
-
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
-"
-
-DEPENDS = "sg3-utils udev"
-
-inherit autotools systemd
-
-SYSTEMD_SERVICE:${PN} = "ledmon.service"
-
-# 0.93
-SRC_URI = "git://github.com/intel/ledmon;branch=master;protocol=https \
- file://0002-include-sys-select.h-and-sys-types.h.patch \
- file://0001-Don-t-build-with-Werror-to-fix-compile-error.patch \
- "
-
-SRCREV = "1d72f9cb5c9163b2ecdf19709935720e65f5b90e"
-
-COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
-COMPATIBLE_HOST:libc-musl = "null"
-
-S = "${WORKDIR}/git"
-EXTRA_OEMAKE = "CC='${CC}' LDFLAGS='${LDFLAGS}' CFLAGS='${CFLAGS}'"
-
-# The ledmon sources include headers in ${S}/config to build but not in CFLAGS.
-# We need to add this include path in CFLAGS.
-CFLAGS += "-I${S}/config"
-
-do_install:append() {
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${systemd_unitdir}/system
- install -m 0755 ${S}/systemd/ledmon.service ${D}${systemd_unitdir}/system
- fi
-}
diff --git a/meta-openembedded/meta-oe/recipes-bsp/lsscsi/lsscsi_0.32.bb b/meta-openembedded/meta-oe/recipes-bsp/lsscsi/lsscsi_0.32.bb
deleted file mode 100644
index 9e6eb7b..0000000
--- a/meta-openembedded/meta-oe/recipes-bsp/lsscsi/lsscsi_0.32.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "The lsscsi command lists information about SCSI devices in Linux"
-HOMEPAGE = "http://sg.danny.cz/scsi/lsscsi.html"
-LICENSE = "GPL-2.0-only"
-SECTION = "base"
-LIC_FILES_CHKSUM="file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
-
-SRC_URI = "http://sg.danny.cz/scsi/${BP}.tgz"
-
-SRC_URI[sha256sum] = "0a800e9e94dca2ab702d65d72777ae8cae078e3d74d0bcbed64ba0849e8029a1"
-
-inherit autotools
-
-S = "${WORKDIR}/lsscsi-${PV}"
diff --git a/meta-openembedded/meta-oe/recipes-bsp/lsscsi/lsscsi_030.bb b/meta-openembedded/meta-oe/recipes-bsp/lsscsi/lsscsi_030.bb
new file mode 100644
index 0000000..9d3d7d8
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-bsp/lsscsi/lsscsi_030.bb
@@ -0,0 +1,13 @@
+SUMMARY = "The lsscsi command lists information about SCSI devices in Linux"
+HOMEPAGE = "http://sg.danny.cz/scsi/lsscsi.html"
+LICENSE = "GPL-2.0-only"
+SECTION = "base"
+LIC_FILES_CHKSUM="file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
+
+SRC_URI = "http://sg.danny.cz/scsi/${BP}.tgz"
+
+SRC_URI[sha256sum] = "619a2187405f02c5f57682f3478bffc75326803cd08839e39d434250c5518b15"
+
+inherit autotools
+
+S = "${WORKDIR}/lsscsi-${PV}r154"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.7.6.bb b/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.7.6.bb
deleted file mode 100644
index 21b9f3f..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.7.6.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "A library to abstract stream I/O like serial port, TCP, telnet, etc"
-HOMEPAGE = "https://github.com/cminyard/gensio"
-LICENSE = "GPL-2.0-only & LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
- file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- "
-
-SRCREV = "7a26bcec16453d01790b41d9d5495f40cc668bb6"
-
-SRC_URI = "git://github.com/cminyard/gensio;protocol=https;branch=master"
-
-S = "${WORKDIR}/git"
-
-inherit autotools
-
-PACKAGECONFIG ??= "openssl tcp-wrappers"
-
-PACKAGECONFIG[openssl] = "--with-openssl=${STAGING_DIR_HOST}${prefix},--without-openssl, openssl"
-PACKAGECONFIG[tcp-wrappers] = "--with-tcp-wrappers,--without-tcp-wrappers, tcp-wrappers"
-PACKAGECONFIG[swig] = "--with-swig,--without-swig, swig"
-
-EXTRA_OECONF = "--without-python"
-
-RDEPENDS:${PN} += "bash"
-
-FILES:${PN}-staticdev += "${libexecdir}/gensio/${PV}/libgensio_*.a"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.7.7.bb b/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.7.7.bb
new file mode 100644
index 0000000..3deab25
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.7.7.bb
@@ -0,0 +1,26 @@
+SUMMARY = "A library to abstract stream I/O like serial port, TCP, telnet, etc"
+HOMEPAGE = "https://github.com/cminyard/gensio"
+LICENSE = "GPL-2.0-only & LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
+ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ "
+
+SRCREV = "6af40181c33bf97bde8cb99cccc4c2168abcd24e"
+
+SRC_URI = "git://github.com/cminyard/gensio;protocol=https;branch=master"
+
+S = "${WORKDIR}/git"
+
+inherit autotools
+
+PACKAGECONFIG ??= "openssl tcp-wrappers"
+
+PACKAGECONFIG[openssl] = "--with-openssl=${STAGING_DIR_HOST}${prefix},--without-openssl, openssl"
+PACKAGECONFIG[tcp-wrappers] = "--with-tcp-wrappers,--without-tcp-wrappers, tcp-wrappers"
+PACKAGECONFIG[swig] = "--with-swig,--without-swig, swig"
+
+EXTRA_OECONF = "--without-python"
+
+RDEPENDS:${PN} += "bash"
+
+FILES:${PN}-staticdev += "${libexecdir}/gensio/${PV}/libgensio_*.a"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.4.4.bb b/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.4.4.bb
deleted file mode 100644
index 52de589..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.4.4.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "ncurses IRC client"
-DESCRIPTION = "Irssi is an ncurses IRC client"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=55fdc1113306167d6ea2561404ce02f8"
-
-DEPENDS = "glib-2.0 ncurses openssl"
-
-SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz"
-SRC_URI[sha256sum] = "fefe9ec8c7b1475449945c934a2360ab12693454892be47a6d288c63eb107ead"
-
-UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF += "--with-textui \
- --with-proxy \
- --with-bot \
- --with-perl=no \
- --enable-true-color"
-
-FILES:${PN}-staticdev += "${libdir}/${BPN}/modules/*.a"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.4.5.bb b/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.4.5.bb
new file mode 100644
index 0000000..5b5af30
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.4.5.bb
@@ -0,0 +1,21 @@
+SUMMARY = "ncurses IRC client"
+DESCRIPTION = "Irssi is an ncurses IRC client"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=55fdc1113306167d6ea2561404ce02f8"
+
+DEPENDS = "glib-2.0 ncurses openssl"
+
+SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz"
+SRC_URI[sha256sum] = "72a951cb0ad622785a8962801f005a3a412736c7e7e3ce152f176287c52fe062"
+
+UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF += "--with-textui \
+ --with-proxy \
+ --with-bot \
+ --with-perl=no \
+ --enable-true-color"
+
+FILES:${PN}-staticdev += "${libdir}/${BPN}/modules/*.a"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.28.4.bb b/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.28.4.bb
deleted file mode 100644
index a35d989..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.28.4.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "libmbim is library for talking to WWAN devices by MBIM protocol"
-DESCRIPTION = "libmbim is a glib-based library for talking to WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol"
-HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libmbim/"
-LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
-LIC_FILES_CHKSUM = " \
- file://LICENSES/GPL-2.0-or-later.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://LICENSES/LGPL-2.1-or-later.txt;md5=4fbd65380cdd255951079008b364516c \
-"
-
-DEPENDS = "glib-2.0 glib-2.0-native libgudev"
-
-inherit meson pkgconfig bash-completion gobject-introspection
-
-SRCREV = "7f1c7907c4654ba5c619a635cef5475ca161d027"
-SRC_URI = "git://gitlab.freedesktop.org/mobile-broadband/libmbim.git;protocol=https;branch=mbim-1-28"
-
-S = "${WORKDIR}/git"
-
-EXTRA_OEMESON = " \
- -Dgtk_doc=false \
- -Dman=false \
-"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.31.1.bb b/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.31.1.bb
new file mode 100644
index 0000000..7001d3e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.31.1.bb
@@ -0,0 +1,22 @@
+SUMMARY = "libmbim is library for talking to WWAN devices by MBIM protocol"
+DESCRIPTION = "libmbim is a glib-based library for talking to WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol"
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libmbim/"
+LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = " \
+ file://LICENSES/GPL-2.0-or-later.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LICENSES/LGPL-2.1-or-later.txt;md5=4fbd65380cdd255951079008b364516c \
+"
+
+DEPENDS = "glib-2.0 glib-2.0-native libgudev"
+
+inherit meson pkgconfig bash-completion gobject-introspection
+
+SRCREV = "db0f5a09d4d29145620b81df0fdd8f4786a8fb59"
+SRC_URI = "git://gitlab.freedesktop.org/mobile-broadband/libmbim.git;protocol=https;branch=main"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMESON = " \
+ -Dgtk_doc=false \
+ -Dman=false \
+"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.20.bb b/meta-openembedded/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.20.bb
deleted file mode 100644
index 41fc46c..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.20.bb
+++ /dev/null
@@ -1,47 +0,0 @@
-# TODO: include debian's mtp-tools man page (needs xsltproc-native and
-# docbook-xsl-native, or we pregenerate it), add support for doxygen
-# generation fully with -natives
-DESCRIPTION = "libmtp is an Initiator implementation of the Media Transfer \
-Protocol (MTP) in the form of a library suitable primarily for POSIX \
-compliant operating systems"
-SUMMARY = "libmtp is an Initiator implementation of the Media Transfer Protocol (MTP)"
-HOMEPAGE = "http://libmtp.sourceforge.net/"
-LICENSE = "LGPL-2.1-or-later"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0448d3676bc0de00406af227d341a4d1 \
- file://src/ptp.c;beginline=3;endline=22;md5=80fd2d5904c4c1f5455d8f4bf515292f \
- file://examples/albums.c;beginline=5;endline=21;md5=84f4e55dfec49e898b7f68a828c15620 \
- "
-
-BBCLASSEXTEND = "native"
-
-DEPENDS = "libusb1 gettext-native"
-DEPENDS:append:class-target = " ${BPN}-native"
-
-SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz"
-SRC_URI:append:class-target = " file://0001-Use-native-mtp-hotplug.patch"
-SRC_URI[sha256sum] = "c9191dac2f5744cf402e08641610b271f73ac21a3c802734ec2cedb2c6bc56d0"
-
-inherit autotools pkgconfig lib_package
-
-EXTRA_OECONF += " \
- --disable-rpath \
- --enable-largefile \
- --with-udev=${nonarch_base_libdir}/udev \
-"
-
-PACKAGECONFIG ?= ""
-PACKAGECONFIG[doxygen] = "--enable-doxygen,--disable-doxygen,doxygen-native"
-PACKAGECONFIG[mtpz] = "--enable-mtpz,--disable-mtpz,libgcrypt"
-
-PACKAGES =+ "${BPN}-common ${BPN}-runtime"
-
-RDEPENDS:${BPN} += "libmtp-common"
-RRECOMMENDS:${BPN} += "libmtp-runtime ${PN}-bin"
-
-FILES:${BPN}-common = "${nonarch_base_libdir}/udev/rules.d/*"
-SUMMARY:${BPN}-common = "The udev rules file for MTP devices"
-
-FILES:${BPN}-runtime = "${nonarch_base_libdir}/udev/mtp-probe"
-RDEPENDS:${BPN}-runtime = "libmtp-common"
-SUMMARY:${BPN}-runtime = "mtp-probe, used for the MTP udev rules"
-DESCRIPTION:${BPN}-runtime = "This package provides mtp-probe, a program to probe newly connected device interfaces from userspace to determine if they are MTP devices, used for udev rules."
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.21.bb b/meta-openembedded/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.21.bb
new file mode 100644
index 0000000..94cbef8
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.21.bb
@@ -0,0 +1,47 @@
+# TODO: include debian's mtp-tools man page (needs xsltproc-native and
+# docbook-xsl-native, or we pregenerate it), add support for doxygen
+# generation fully with -natives
+DESCRIPTION = "libmtp is an Initiator implementation of the Media Transfer \
+Protocol (MTP) in the form of a library suitable primarily for POSIX \
+compliant operating systems"
+SUMMARY = "libmtp is an Initiator implementation of the Media Transfer Protocol (MTP)"
+HOMEPAGE = "http://libmtp.sourceforge.net/"
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0448d3676bc0de00406af227d341a4d1 \
+ file://src/ptp.c;beginline=3;endline=22;md5=80fd2d5904c4c1f5455d8f4bf515292f \
+ file://examples/albums.c;beginline=5;endline=21;md5=84f4e55dfec49e898b7f68a828c15620 \
+ "
+
+BBCLASSEXTEND = "native"
+
+DEPENDS = "libusb1 gettext-native"
+DEPENDS:append:class-target = " ${BPN}-native"
+
+SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz"
+SRC_URI:append:class-target = " file://0001-Use-native-mtp-hotplug.patch"
+SRC_URI[sha256sum] = "f4c1ceb3df020a6cb851110f620c14fe399518c494ed252039cbfb4e34335135"
+
+inherit autotools pkgconfig lib_package
+
+EXTRA_OECONF += " \
+ --disable-rpath \
+ --enable-largefile \
+ --with-udev=${nonarch_base_libdir}/udev \
+"
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[doxygen] = "--enable-doxygen,--disable-doxygen,doxygen-native"
+PACKAGECONFIG[mtpz] = "--enable-mtpz,--disable-mtpz,libgcrypt"
+
+PACKAGES =+ "${BPN}-common ${BPN}-runtime"
+
+RDEPENDS:${BPN} += "libmtp-common"
+RRECOMMENDS:${BPN} += "libmtp-runtime ${PN}-bin"
+
+FILES:${BPN}-common = "${nonarch_base_libdir}/udev/rules.d/*"
+SUMMARY:${BPN}-common = "The udev rules file for MTP devices"
+
+FILES:${BPN}-runtime = "${nonarch_base_libdir}/udev/mtp-probe"
+RDEPENDS:${BPN}-runtime = "libmtp-common"
+SUMMARY:${BPN}-runtime = "mtp-probe, used for the MTP udev rules"
+DESCRIPTION:${BPN}-runtime = "This package provides mtp-probe, a program to probe newly connected device interfaces from userspace to determine if they are MTP devices, used for udev rules."
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.32.4.bb b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.32.4.bb
deleted file mode 100644
index 7b7a3b2..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.32.4.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-SUMMARY = "libqmi is a library for talking to WWAN devices by QMI protocol"
-DESCRIPTION = "libqmi is a glib-based library for talking to WWAN modems and \
- devices which speak the Qualcomm MSM Interface (QMI) protocol"
-HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libqmi"
-LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
-LIC_FILES_CHKSUM = " \
- file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
-"
-
-DEPENDS = "glib-2.0 glib-2.0-native"
-
-inherit meson pkgconfig bash-completion gobject-introspection
-
-SRCREV = "6e248aceb66f53b467b343bca1c467a8211dd30d"
-SRC_URI = "git://gitlab.freedesktop.org/mobile-broadband/libqmi.git;protocol=https;branch=qmi-1-32"
-
-S = "${WORKDIR}/git"
-
-PACKAGECONFIG ??= "udev mbim"
-PACKAGECONFIG[udev] = "-Dudev=true,-Dudev=false,libgudev"
-PACKAGECONFIG[mbim] = "-Dmbim_qmux=true,-Dmbim_qmux=false,libmbim"
-PACKAGECONFIG[qrtr] = "-Dqrtr=true,-Dqrtr=false,libqrtr-glib"
-
-EXTRA_OEMESON = " \
- -Dgtk_doc=false \
- -Dman=false \
-"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.34.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.34.0.bb
new file mode 100644
index 0000000..2cb843a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.34.0.bb
@@ -0,0 +1,28 @@
+SUMMARY = "libqmi is a library for talking to WWAN devices by QMI protocol"
+DESCRIPTION = "libqmi is a glib-based library for talking to WWAN modems and \
+ devices which speak the Qualcomm MSM Interface (QMI) protocol"
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libqmi"
+LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = " \
+ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
+"
+
+DEPENDS = "glib-2.0 glib-2.0-native"
+
+inherit meson pkgconfig bash-completion gobject-introspection
+
+SRCREV = "3f07d6e5b4677558543b3b4484ea88ad92257e92"
+SRC_URI = "git://gitlab.freedesktop.org/mobile-broadband/libqmi.git;protocol=https;branch=qmi-1-34"
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ??= "udev mbim"
+PACKAGECONFIG[udev] = "-Dudev=true,-Dudev=false,libgudev"
+PACKAGECONFIG[mbim] = "-Dmbim_qmux=true,-Dmbim_qmux=false,libmbim"
+PACKAGECONFIG[qrtr] = "-Dqrtr=true,-Dqrtr=false,libqrtr-glib"
+
+EXTRA_OEMESON = " \
+ -Dgtk_doc=false \
+ -Dman=false \
+"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb b/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb
index fec0557..c235547 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb
@@ -6,16 +6,17 @@
DEPENDS = "zlib libsigc++-2.0 openssl cppunit"
+PV = "0.13.8+git"
+
SRC_URI = "git://github.com/rakshasa/libtorrent;branch=master;protocol=https"
SRCREV = "e60f222241319aaae482789517ad00ae9344bd13"
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
+
CVE_STATUS[CVE-2009-1760] = "backported-patch: patched in our product"
-PV = "0.13.8+git${SRCPV}"
-
S = "${WORKDIR}/git"
-
PACKAGECONFIG ??= "instrumentation aligned"
PACKAGECONFIG:remove:mipsarch = "instrumentation"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets/0001-Fix-Werror-enum-int-mismatch-in-lws_tls_server_abort.patch b/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets/0001-Fix-Werror-enum-int-mismatch-in-lws_tls_server_abort.patch
deleted file mode 100644
index 41d004d..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets/0001-Fix-Werror-enum-int-mismatch-in-lws_tls_server_abort.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 722e44cb5b74cae206f47a6dc0d985eba8ed1b2e Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 26 Jan 2023 17:17:49 -0800
-Subject: [PATCH] Fix -Werror=enum-int-mismatch in
- lws_tls_server_abort_connection()
-
-GCC 13 is findinf this function signature mismatch.
-
-../git/lib/tls/openssl/openssl-server.c:713:1: error: conflicting types for 'lws_tls_server_abort_connection' due to enum/integer mismatch; have 'int(struct lws *)' [-Werror=enum-int-mismatch]
-
-Upstream-Status: Submitted [https://github.com/warmcat/libwebsockets/pull/2824]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/tls/openssl/openssl-server.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/tls/openssl/openssl-server.c b/lib/tls/openssl/openssl-server.c
-index f2e77324f..43d65e030 100644
---- a/lib/tls/openssl/openssl-server.c
-+++ b/lib/tls/openssl/openssl-server.c
-@@ -699,7 +699,7 @@ lws_tls_server_new_nonblocking(struct lws *wsi, lws_sockfd_type accept_fd)
- return 0;
- }
-
--int
-+enum lws_ssl_capable_status
- lws_tls_server_abort_connection(struct lws *wsi)
- {
- if (wsi->tls.use_ssl)
---
-2.39.1
-
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.3.2.bb b/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.3.2.bb
deleted file mode 100644
index 5e6069f..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.3.2.bb
+++ /dev/null
@@ -1,63 +0,0 @@
-SUMMARY = "Canonical libwebsockets.org websocket library"
-HOMEPAGE = "https://libwebsockets.org/"
-LICENSE = "MIT & Zlib & BSD-3-Clause & Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=382bfdf329e774859fd401eaf850d29b"
-
-DEPENDS = "zlib"
-
-S = "${WORKDIR}/git"
-SRCREV = "b0a749c8e7a8294b68581ce4feac0e55045eb00b"
-SRC_URI = "git://github.com/warmcat/libwebsockets.git;protocol=https;branch=v4.3-stable \
- file://0001-Fix-Werror-enum-int-mismatch-in-lws_tls_server_abort.patch"
-
-UPSTREAM_CHECK_URI = "https://github.com/warmcat/${BPN}/releases"
-UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
-
-inherit cmake pkgconfig
-
-PACKAGECONFIG ?= "libuv client server http2 ssl ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
-PACKAGECONFIG[client] = "-DLWS_WITHOUT_CLIENT=OFF,-DLWS_WITHOUT_CLIENT=ON,"
-PACKAGECONFIG[http2] = "-DLWS_WITH_HTTP2=ON,-DLWS_WITH_HTTP2=OFF,"
-PACKAGECONFIG[ipv6] = "-DLWS_IPV6=ON,-DLWS_IPV6=OFF,"
-PACKAGECONFIG[libevent] = "-DLWS_WITH_LIBEVENT=ON,-DLWS_WITH_LIBEVENT=OFF,libevent"
-PACKAGECONFIG[libev] = "-DLWS_WITH_LIBEV=ON,-DLWS_WITH_LIBEV=OFF,libev"
-PACKAGECONFIG[libuv] = "-DLWS_WITH_LIBUV=ON,-DLWS_WITH_LIBUV=OFF,libuv"
-PACKAGECONFIG[server] = "-DLWS_WITHOUT_SERVER=OFF,-DLWS_WITHOUT_SERVER=ON,"
-PACKAGECONFIG[ssl] = "-DLWS_WITH_SSL=ON,-DLWS_WITH_SSL=OFF,openssl"
-PACKAGECONFIG[static] = "-DLWS_WITH_STATIC=ON,-DLWS_WITH_STATIC=OFF -DLWS_LINK_TESTAPPS_DYNAMIC=ON,"
-PACKAGECONFIG[systemd] = "-DLWS_WITH_SDEVENT=ON,-DLWS_WITH_SDEVENT=OFF,systemd"
-
-python __anonymous() {
- if bb.utils.contains('PACKAGECONFIG', 'systemd', True, False, d) and not bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d):
- bb.fatal("PACKAGECONFIG contains systemd but DISTRO_FEATURES doesn't")
-}
-
-EXTRA_OECMAKE += " \
- -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
-"
-
-do_install:append() {
- sed -i -e 's|${STAGING_LIBDIR}/libcrypto.so|crypto|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake
- sed -i -e 's|${STAGING_LIBDIR}/libssl.so|ssl|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake
- sed -i -e 's|${STAGING_LIBDIR}/libuv.so|uv|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake
- sed -i -e 's|${STAGING_INCDIR}||g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake \
- ${D}${libdir}/cmake/libwebsockets/libwebsockets-config.cmake
-}
-
-PACKAGES =+ "${PN}-testapps ${PN}-evlib-event ${PN}-evlib-uv ${PN}-evlib-ev ${PN}-evlib-sd"
-
-FILES:${PN}-testapps += "${datadir}/libwebsockets-test-server/* ${bindir}/libwebsockets-test-*"
-FILES:${PN}-evlib-event += "${libdir}/libwebsockets-evlib_event.so"
-FILES:${PN}-evlib-uv += "${libdir}/libwebsockets-evlib_uv.so"
-FILES:${PN}-evlib-ev += "${libdir}/libwebsockets-evlib_ev.so"
-FILES:${PN}-evlib-sd += "${libdir}/libwebsockets-evlib_sd.so"
-
-RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libevent', '${PN}-evlib-event', '', d)}"
-RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libuv', '${PN}-evlib-uv', '', d)}"
-RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libev', '${PN}-evlib-ev', '', d)}"
-RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'systemd', '${PN}-evlib-sd', '', d)}"
-
-RDEPENDS:${PN}-dev += " ${@bb.utils.contains('PACKAGECONFIG', 'static', '${PN}-staticdev', '', d)}"
-
-# Avoid absolute paths to end up in the sysroot.
-SSTATE_SCAN_FILES += "*.cmake"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.3.3.bb b/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.3.3.bb
new file mode 100644
index 0000000..4518e2f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.3.3.bb
@@ -0,0 +1,65 @@
+SUMMARY = "Canonical libwebsockets.org websocket library"
+HOMEPAGE = "https://libwebsockets.org/"
+LICENSE = "MIT & Zlib & BSD-3-Clause & Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=382bfdf329e774859fd401eaf850d29b"
+
+DEPENDS = "zlib"
+DEPENDS:append:class-native = " libcap-native"
+
+S = "${WORKDIR}/git"
+SRCREV = "4415e84c095857629863804e941b9e1c2e9347ef"
+SRC_URI = "git://github.com/warmcat/libwebsockets.git;protocol=https;branch=v4.3-stable"
+
+UPSTREAM_CHECK_URI = "https://github.com/warmcat/${BPN}/releases"
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
+
+inherit cmake pkgconfig
+
+PACKAGECONFIG ?= "libuv client server http2 ssl ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
+PACKAGECONFIG[client] = "-DLWS_WITHOUT_CLIENT=OFF,-DLWS_WITHOUT_CLIENT=ON,"
+PACKAGECONFIG[http2] = "-DLWS_WITH_HTTP2=ON,-DLWS_WITH_HTTP2=OFF,"
+PACKAGECONFIG[ipv6] = "-DLWS_IPV6=ON,-DLWS_IPV6=OFF,"
+PACKAGECONFIG[libevent] = "-DLWS_WITH_LIBEVENT=ON,-DLWS_WITH_LIBEVENT=OFF,libevent"
+PACKAGECONFIG[libev] = "-DLWS_WITH_LIBEV=ON,-DLWS_WITH_LIBEV=OFF,libev"
+PACKAGECONFIG[libuv] = "-DLWS_WITH_LIBUV=ON,-DLWS_WITH_LIBUV=OFF,libuv"
+PACKAGECONFIG[server] = "-DLWS_WITHOUT_SERVER=OFF,-DLWS_WITHOUT_SERVER=ON,"
+PACKAGECONFIG[ssl] = "-DLWS_WITH_SSL=ON,-DLWS_WITH_SSL=OFF,openssl"
+PACKAGECONFIG[static] = "-DLWS_WITH_STATIC=ON,-DLWS_WITH_STATIC=OFF -DLWS_LINK_TESTAPPS_DYNAMIC=ON,"
+PACKAGECONFIG[systemd] = "-DLWS_WITH_SDEVENT=ON,-DLWS_WITH_SDEVENT=OFF,systemd"
+
+python __anonymous() {
+ if bb.utils.contains('PACKAGECONFIG', 'systemd', True, False, d) and not bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d):
+ bb.fatal("PACKAGECONFIG contains systemd but DISTRO_FEATURES doesn't")
+}
+
+EXTRA_OECMAKE += " \
+ -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
+"
+
+do_install:append() {
+ sed -i -e 's|${STAGING_LIBDIR}/libcrypto.so|crypto|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake
+ sed -i -e 's|${STAGING_LIBDIR}/libssl.so|ssl|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake
+ sed -i -e 's|${STAGING_LIBDIR}/libuv.so|uv|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake
+ sed -i -e 's|${STAGING_INCDIR}||g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake \
+ ${D}${libdir}/cmake/libwebsockets/libwebsockets-config.cmake
+}
+
+PACKAGES =+ "${PN}-testapps ${PN}-evlib-event ${PN}-evlib-uv ${PN}-evlib-ev ${PN}-evlib-sd"
+
+FILES:${PN}-testapps += "${datadir}/libwebsockets-test-server/* ${bindir}/libwebsockets-test-*"
+FILES:${PN}-evlib-event += "${libdir}/libwebsockets-evlib_event.so"
+FILES:${PN}-evlib-uv += "${libdir}/libwebsockets-evlib_uv.so"
+FILES:${PN}-evlib-ev += "${libdir}/libwebsockets-evlib_ev.so"
+FILES:${PN}-evlib-sd += "${libdir}/libwebsockets-evlib_sd.so"
+
+RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libevent', '${PN}-evlib-event', '', d)}"
+RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libuv', '${PN}-evlib-uv', '', d)}"
+RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libev', '${PN}-evlib-ev', '', d)}"
+RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'systemd', '${PN}-evlib-sd', '', d)}"
+
+RDEPENDS:${PN}-dev += " ${@bb.utils.contains('PACKAGECONFIG', 'static', '${PN}-staticdev', '', d)}"
+
+# Avoid absolute paths to end up in the sysroot.
+SSTATE_SCAN_FILES += "*.cmake"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0001-include-string.h-for-strncpy.patch b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0001-include-string.h-for-strncpy.patch
index 60f2079..ae54469 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0001-include-string.h-for-strncpy.patch
+++ b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0001-include-string.h-for-strncpy.patch
@@ -1,4 +1,4 @@
-From d49b4fb8063ecd89617587e5ea566cc9da9393ef Mon Sep 17 00:00:00 2001
+From ecfc8e287eb6811e42c4e2800a913822f554d7c8 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 31 Aug 2022 19:09:18 -0700
Subject: [PATCH] include string.h for strncpy()
@@ -6,12 +6,13 @@
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
---
interface.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/interface.c b/interface.c
-index 65bdff0..5228db9 100644
+index 29229ad..9a83c36 100644
--- a/interface.c
+++ b/interface.c
@@ -5,6 +5,7 @@
@@ -22,6 +23,3 @@
#include "interface.h"
struct interface {
---
-2.37.3
-
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0001-makefile-use-conditional-assignment-for-KBUILD_OUTPU.patch b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0001-makefile-use-conditional-assignment-for-KBUILD_OUTPU.patch
deleted file mode 100644
index fb51906..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0001-makefile-use-conditional-assignment-for-KBUILD_OUTPU.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From dfd38cb29c0768692f886d3ab9158bd2b3132582 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Tue, 22 Nov 2022 15:20:48 +0800
-Subject: [PATCH] makefile: use conditional assignment for KBUILD_OUTPUT
-
-Refer [1],from make 4.4, all variables that are marked as export will
-also be passed to the shell started by the shell function. use "=" will
-make KBUILD_OUTPUT always empty for shell function, use "?=" to make
-"export KBUILD_OUTPUT" in enrironment can work.
-
-[snip of 4.4 NEWS]
-* WARNING: Backward-incompatibility!
- Previously makefile variables marked as export were not exported to commands
- started by the $(shell ...) function. Now, all exported variables are
- exported to $(shell ...).
-[snip]
-
-[1] https://git.savannah.gnu.org/cgit/make.git/tree/NEWS?h=4.4&id=ed493f6c9116cc217b99c2cfa6a95f15803235a2#n74
-
-Upstream-Status: Submitted [linuxptp-devel@lists.sourceforge.net]
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/makefile b/makefile
-index 529d8a0..3db60fa 100644
---- a/makefile
-+++ b/makefile
-@@ -15,7 +15,7 @@
- # with this program; if not, write to the Free Software Foundation, Inc.,
- # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
--KBUILD_OUTPUT =
-+KBUILD_OUTPUT ?=
-
- DEBUG =
- CC ?= $(CROSS_COMPILE)gcc
---
-2.25.1
-
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0002-linuxptp-Use-CC-in-incdefs.sh.patch b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0002-linuxptp-Use-CC-in-incdefs.sh.patch
new file mode 100644
index 0000000..e6a3386
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/0002-linuxptp-Use-CC-in-incdefs.sh.patch
@@ -0,0 +1,34 @@
+From 2cc19a679ec37715df546dd9f00d8d9b0ab20059 Mon Sep 17 00:00:00 2001
+From: Luca Fancellu <luca.fancellu@arm.com>
+Date: Wed, 18 Oct 2023 11:10:18 +0100
+Subject: [PATCH] linuxptp: Use ${CC} in incdefs.sh
+
+The Makefile is defining CC and incdefs.sh is using
+${CROSS_COMPILE}cpp inside it, allowing both to use different
+compilers depending on what the user pass during make invocation
+as CC.
+
+Align them using ${CC} also inside incdefs.sh
+
+Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
+Upstream-Status: Pending
+---
+ incdefs.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/incdefs.sh b/incdefs.sh
+index a9e94f777f6b..391e63c7fac6 100755
+--- a/incdefs.sh
++++ b/incdefs.sh
+@@ -27,7 +27,7 @@ user_flags()
+ printf " -D_GNU_SOURCE"
+
+ # Get list of directories searched for header files.
+- dirs=$(echo "" | ${CROSS_COMPILE}cpp -Wp,-v 2>&1 >/dev/null | grep ^" /")
++ dirs=$(${CC} -E -Wp,-v -xc /dev/null 2>&1 >/dev/null | grep ^" /")
+
+ # Look for clock_adjtime().
+ for d in $dirs; do
+--
+2.34.1
+
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/Use-cross-cpp-in-incdefs.patch b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/Use-cross-cpp-in-incdefs.patch
deleted file mode 100644
index 8760886..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/Use-cross-cpp-in-incdefs.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 8a4cad5e2f2cbb6a34bdc6e877fe499502b8c4c8 Mon Sep 17 00:00:00 2001
-From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
-Date: Fri, 23 Dec 2016 18:12:29 +0100
-Subject: [PATCH] linuxptp: Use cross cpp in incdefs
-
-Use cross cpp incdefs.sh shell script since we are doing cross compiling
-we need to ensure we use correct setttings from toolchain
-
-Upstream-Status: Inappropriate [OE-Specific]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-
- makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/incdefs.sh
-+++ b/incdefs.sh
-@@ -27,7 +27,7 @@ user_flags()
- printf " -D_GNU_SOURCE"
-
- # Get list of directories searched for header files.
-- dirs=$(echo "" | ${CROSS_COMPILE}cpp -Wp,-v 2>&1 >/dev/null | grep ^" /")
-+ dirs=$(${CPP} -Wp,-v -xc /dev/null 2>&1 >/dev/null | grep ^" /")
-
- # Look for clock_adjtime().
- for d in $dirs; do
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/build-Allow-CC-and-prefix-to-be-overriden.patch b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/build-Allow-CC-and-prefix-to-be-overriden.patch
deleted file mode 100644
index 55ce4c9..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/build-Allow-CC-and-prefix-to-be-overriden.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From af485c638c61fa883212ea424e676fbf90bee594 Mon Sep 17 00:00:00 2001
-From: Otavio Salvador <otavio@ossystems.com.br>
-Date: Tue, 1 Jul 2014 17:37:31 -0300
-Subject: [PATCH] build: Allow CC and prefix to be overriden
-
-Upstream-Status: Pending
-
-Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
----
- makefile | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/makefile b/makefile
-index 22e7d0d..809cc8f 100644
---- a/makefile
-+++ b/makefile
-@@ -18,7 +18,7 @@
- KBUILD_OUTPUT =
-
- DEBUG =
--CC = $(CROSS_COMPILE)gcc
-+CC ?= $(CROSS_COMPILE)gcc
- VER = -DVER=$(version)
- CFLAGS = -Wall $(VER) $(incdefs) $(DEBUG) $(EXTRA_CFLAGS)
- LDLIBS = -lm -lrt -pthread $(EXTRA_LDFLAGS)
-@@ -43,7 +43,7 @@ incdefs := $(shell $(srcdir)/incdefs.sh)
- version := $(shell $(srcdir)/version.sh $(srcdir))
- VPATH = $(srcdir)
-
--prefix = /usr/local
-+prefix ?= /usr/local
- sbindir = $(prefix)/sbin
- mandir = $(prefix)/man
- man8dir = $(mandir)/man8
---
-1.7.10.4
-
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/systemd/phc2sys@.service.in b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/systemd/phc2sys@.service.in
new file mode 100644
index 0000000..f66dd2d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/systemd/phc2sys@.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=Synchronize system clock or PTP hardware clock (PHC)
+Documentation=man:phc2sys
+Requires=ptp4l.service
+After=ptp4l.service
+Before=time-sync.target
+
+[Service]
+Type=simple
+ExecStart=@SBINDIR@/phc2sys -w -s %I
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/systemd/ptp4l@.service.in b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/systemd/ptp4l@.service.in
new file mode 100644
index 0000000..2502181
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/systemd/ptp4l@.service.in
@@ -0,0 +1,11 @@
+[Unit]
+Description=Precision Time Protocol (PTP) service for %I
+Documentation=man:ptp4l
+After=sys-subsystem-net-devices-%i.device
+
+[Service]
+Type=simple
+ExecStart=@SBINDIR@/ptp4l -f @SYSCONFDIR@/linuxptp/ptp4l.conf -i %I
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_3.1.1.bb b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_3.1.1.bb
deleted file mode 100644
index 5903cb3..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_3.1.1.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-DESCRIPTION = "Precision Time Protocol (PTP) according to IEEE standard 1588 for Linux"
-HOMEPAGE = "http://linuxptp.sourceforge.net/"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "http://sourceforge.net/projects/linuxptp/files/v3.1/linuxptp-${PV}.tgz \
- file://build-Allow-CC-and-prefix-to-be-overriden.patch \
- file://Use-cross-cpp-in-incdefs.patch \
- file://0001-include-string.h-for-strncpy.patch \
- file://0001-makefile-use-conditional-assignment-for-KBUILD_OUTPU.patch \
- "
-
-UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/linuxptp/files/"
-UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)/"
-
-SRC_URI[sha256sum] = "94d6855f9b7f2d8e9b0ca6d384e3fae6226ce6fc012dbad02608bdef3be1c0d9"
-
-EXTRA_OEMAKE = "ARCH=${TARGET_ARCH} EXTRA_CFLAGS='${CFLAGS}' mandir=${mandir}"
-
-export KBUILD_OUTPUT="${RECIPE_SYSROOT}"
-
-do_install() {
- oe_runmake install DESTDIR=${D} prefix=${prefix}
-
- # Install example configs from source tree
- install -d ${D}${docdir}/${PN}
- cp -R --no-dereference --preserve=mode,links ${S}/configs ${D}${docdir}/${PN}
-}
-
-PACKAGES =+ "${PN}-configs"
-
-FILES:${PN}-configs = "${docdir}"
-FILES:${PN}-doc = "${mandir}"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_4.1.bb b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_4.1.bb
new file mode 100644
index 0000000..9a5c9b5
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_4.1.bb
@@ -0,0 +1,62 @@
+SUMMARY = "linuxptp package for linux"
+DESCRIPTION = "Precision Time Protocol (PTP) according to IEEE standard 1588 \
+for Linux"
+HOMEPAGE = "http://linuxptp.sourceforge.net/"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+LINUXPTP_SRC_URI = "http://sourceforge.net/projects/linuxptp"
+
+SRC_URI = "${LINUXPTP_SRC_URI}/files/v4.1/linuxptp-${PV}.tgz \
+ file://0001-include-string.h-for-strncpy.patch \
+ file://0002-linuxptp-Use-CC-in-incdefs.sh.patch \
+ file://systemd/phc2sys@.service.in \
+ file://systemd/ptp4l@.service.in \
+ "
+
+SRC_URI[md5sum] = "1db8699fc155965341759be5e5aad938"
+SRC_URI[sha256sum] = "e1743d44f8208897e30895da3579e670ff919b914feb4b5a949f3e421ddde535"
+
+inherit systemd
+
+UPSTREAM_CHECK_URI = "${LINUXPTP_SRC_URI}/files/"
+UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)/"
+
+EXTRA_OEMAKE = "CC='${CC}' EXTRA_CFLAGS='${CFLAGS}' mandir='${mandir}' \
+ sbindir='${sbindir}'"
+
+export KBUILD_OUTPUT="${RECIPE_SYSROOT}"
+
+LINUXPTP_SYSTEMD_SERVICES = "phc2sys@.service ptp4l@.service"
+
+do_install() {
+ oe_runmake install DESTDIR=${D}
+
+ # Install example configs from source tree
+ install -d ${D}${docdir}/${PN}
+ cp -R --no-dereference --preserve=mode,links ${S}/configs \
+ ${D}${docdir}/${PN}
+
+ # Install default configuration files
+ install -d ${D}/${sysconfdir}/linuxptp/
+ install -m 644 ${S}/configs/default.cfg \
+ ${D}${sysconfdir}/linuxptp/ptp4l.conf
+
+ # Install systemd services
+ install -d ${D}/${systemd_unitdir}/system/
+ for service in ${LINUXPTP_SYSTEMD_SERVICES}; do
+ sed -i -e 's,@SBINDIR@,${sbindir},g' \
+ ${WORKDIR}/systemd/$service.in
+ sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+ ${WORKDIR}/systemd/$service.in
+ install -m 644 ${WORKDIR}/systemd/$service.in \
+ ${D}/${systemd_unitdir}/system/$service
+ done
+}
+
+SYSTEMD_SERVICE:${PN} = "${LINUXPTP_SYSTEMD_SERVICES}"
+SYSTEMD_AUTO_ENABLE:${PN} = "disable"
+
+PACKAGES =+ "${PN}-configs"
+
+FILES:${PN}-configs += "${docdir}"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/loudmouth/loudmouth-1.4.3/04-use-pkg-config-for-gnutls.patch b/meta-openembedded/meta-oe/recipes-connectivity/loudmouth/loudmouth-1.4.3/04-use-pkg-config-for-gnutls.patch
deleted file mode 100644
index 0fc87ab..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/loudmouth/loudmouth-1.4.3/04-use-pkg-config-for-gnutls.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Upstream-Status: Pending
-
-Description: use pkg-config to detect gnutls
-Debian: http://bugs.debian.org/529835
-Origin: http://groups.google.com/group/loudmouth-dev/browse_thread/thread/3f78255837048daf#
-
---- a/configure.ac.orig 2009-08-16 20:29:36.000000000 +0200
-+++ b/configure.ac 2009-08-16 20:30:43.000000000 +0200
-@@ -146,10 +146,12 @@ AC_ARG_WITH(openssl-libs,
- enable_ssl=no
- if test "x$ac_ssl" = "xgnutls"; then
- dnl Look for GnuTLS
-- AM_PATH_LM_LIBGNUTLS($GNUTLS_REQUIRED, have_libgnutls=yes, have_libgnutls=no)
-- if test "x$have_libgnutls" = "xyes"; then
-- CFLAGS="$CFLAGS $LIBGNUTLS_CFLAGS"
-- LIBS="$LIBS $LIBGNUTLS_LIBS"
-+ PKG_CHECK_MODULES(GNUTLS, gnutls >= $GNUTLS_REQUIRED, have_gnutls=yes, have_gnutls=no)
-+ if test "x$have_gnutls" = "xyes"; then
-+ AC_SUBST(ASYNCNS_CFLAGS)
-+ AC_SUBST(ASYNCNS_LIBS)
-+ CFLAGS="$CFLAGS $GNUTLS_CFLAGS"
-+ LIBS="$LIBS $GNUTLS_LIBS"
- AC_DEFINE(HAVE_GNUTLS, 1, [whether to use GnuTSL support.])
- enable_ssl=GnuTLS
- else
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/loudmouth/loudmouth-1.4.3/glib-2.32.patch b/meta-openembedded/meta-oe/recipes-connectivity/loudmouth/loudmouth-1.4.3/glib-2.32.patch
deleted file mode 100644
index 921aded..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/loudmouth/loudmouth-1.4.3/glib-2.32.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Upstream-Status: Pending
-
---- loudmouth-1.4.3.orig/loudmouth/lm-error.c 2008-10-29 21:48:15.000000000 +0100
-+++ loudmouth-1.4.3/loudmouth/lm-error.c 2012-05-06 08:27:07.455739440 +0200
-@@ -19,7 +19,6 @@
- */
-
- #include <config.h>
--#include <glib/gerror.h>
- #include "lm-error.h"
-
- /**
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/loudmouth/loudmouth_1.4.3.bb b/meta-openembedded/meta-oe/recipes-connectivity/loudmouth/loudmouth_1.4.3.bb
deleted file mode 100644
index 7b5eecf..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/loudmouth/loudmouth_1.4.3.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-DESCRIPTION = "Loudmouth is a lightweight and easy-to-use C library for programming with the Jabber protocol."
-HOMEPAGE = "http://www.loudmouth-project.org/"
-
-LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c4f38aef94828f6b280e00d1173be689"
-
-DEPENDS = "glib-2.0 libcheck openssl libidn"
-
-inherit gnomebase gtk-doc
-
-PR = "r2"
-
-SRC_URI += "file://04-use-pkg-config-for-gnutls.patch \
- file://glib-2.32.patch"
-
-SRC_URI[archive.md5sum] = "55339ca42494690c3942ee1465a96937"
-SRC_URI[archive.sha256sum] = "95a93f5d009b71ea8193d994aa11f311bc330a3efe1b7cd74dc48f11c7f929e3"
-GNOME_COMPRESS_TYPE="bz2"
-
-EXTRA_OECONF = "--with-ssl=openssl"
-
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/loudmouth/loudmouth_1.5.4.bb b/meta-openembedded/meta-oe/recipes-connectivity/loudmouth/loudmouth_1.5.4.bb
new file mode 100644
index 0000000..f67c46b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/loudmouth/loudmouth_1.5.4.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "Loudmouth is a lightweight and easy-to-use C library for programming with the Jabber protocol."
+HOMEPAGE = "http://www.loudmouth-project.org/"
+
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = "glib-2.0 libcheck openssl libidn"
+
+GNOMEBASEBUILDCLASS = "autotools"
+
+inherit gnomebase gtk-doc
+
+SRC_URI = "https://github.com/mcabber/${BPN}/releases/download/${PV}/${BP}.tar.bz2"
+SRC_URI[sha256sum] = "31cbc91c1fddcc5346b3373b8fb45594e9ea9cc7fe36d0595e8912c47ad94d0d"
+
+EXTRA_OECONF = "--with-ssl=openssl --with-compile-warnings=no"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.20.6.bb b/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.20.6.bb
deleted file mode 100644
index ba82d21..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.20.6.bb
+++ /dev/null
@@ -1,56 +0,0 @@
-SUMMARY = "ModemManager is a daemon controlling broadband devices/connections"
-DESCRIPTION = "ModemManager is a DBus-activated daemon which controls mobile broadband (2G/3G/4G) devices and connections"
-HOMEPAGE = "http://www.freedesktop.org/wiki/Software/ModemManager/"
-LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
-LIC_FILES_CHKSUM = " \
- file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
-"
-
-GNOMEBASEBUILDCLASS = "meson"
-inherit gnomebase gettext systemd gobject-introspection bash-completion
-
-DEPENDS = "glib-2.0 libgudev libxslt-native dbus"
-
-SRCREV = "6aa0ff583d04aea88b4da7a1c20049f57062dab6"
-SRC_URI = "git://gitlab.freedesktop.org/mobile-broadband/ModemManager.git;protocol=https;branch=mm-1-20"
-
-S = "${WORKDIR}/git"
-
-# strict, permissive
-MODEMMANAGER_POLKIT_TYPE ??= "permissive"
-
-PACKAGECONFIG ??= "vala mbim qmi \
- ${@bb.utils.filter('DISTRO_FEATURES', 'systemd polkit', d)} \
-"
-
-PACKAGECONFIG[at] = "-Dat_command_via_dbus=true"
-PACKAGECONFIG[systemd] = " \
- -Dsystemdsystemunitdir=${systemd_unitdir}/system/, \
- -Dsystemdsystemunitdir=no -Dsystemd_journal=false -Dsystemd_suspend_resume=false \
-"
-PACKAGECONFIG[polkit] = "-Dpolkit=${MODEMMANAGER_POLKIT_TYPE},-Dpolkit=no,polkit"
-# Support WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol.
-PACKAGECONFIG[mbim] = "-Dmbim=true,-Dmbim=false -Dplugin_dell=disabled -Dplugin_foxconn=disabled,libmbim"
-# Support WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol.
-PACKAGECONFIG[qmi] = "-Dqmi=true,-Dqmi=false,libqmi"
-PACKAGECONFIG[qrtr] = "-Dqrtr=true,-Dqrtr=false,libqrtr-glib"
-PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false"
-
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'vala', 'vala', '', d)}
-
-EXTRA_OEMESON = " \
- -Dudevdir=${nonarch_base_libdir}/udev \
- -Dqrtr=false \
-"
-
-FILES:${PN} += " \
- ${datadir}/icons \
- ${datadir}/polkit-1 \
- ${datadir}/dbus-1 \
- ${datadir}/ModemManager \
- ${libdir}/ModemManager \
- ${systemd_unitdir}/system \
-"
-
-SYSTEMD_SERVICE:${PN} = "ModemManager.service"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.22.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.22.0.bb
new file mode 100644
index 0000000..6b4336e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.22.0.bb
@@ -0,0 +1,55 @@
+SUMMARY = "ModemManager is a daemon controlling broadband devices/connections"
+DESCRIPTION = "ModemManager is a DBus-activated daemon which controls mobile broadband (2G/3G/4G) devices and connections"
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/ModemManager/"
+LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = " \
+ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
+"
+
+inherit gnomebase gettext systemd gobject-introspection bash-completion
+
+DEPENDS = "glib-2.0 libgudev libxslt-native dbus"
+
+SRCREV = "03f786ce66360d67c669f4f122f8aa458e6f01ea"
+SRC_URI = "git://gitlab.freedesktop.org/mobile-broadband/ModemManager.git;protocol=https;branch=mm-1-22"
+
+S = "${WORKDIR}/git"
+
+# strict, permissive
+MODEMMANAGER_POLKIT_TYPE ??= "permissive"
+
+PACKAGECONFIG ??= "vala mbim qmi \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'systemd polkit', d)} \
+"
+
+PACKAGECONFIG[at] = "-Dat_command_via_dbus=true"
+PACKAGECONFIG[systemd] = " \
+ -Dsystemdsystemunitdir=${systemd_unitdir}/system/, \
+ -Dsystemdsystemunitdir=no -Dsystemd_journal=false -Dsystemd_suspend_resume=false \
+"
+PACKAGECONFIG[polkit] = "-Dpolkit=${MODEMMANAGER_POLKIT_TYPE},-Dpolkit=no,polkit"
+# Support WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol.
+PACKAGECONFIG[mbim] = "-Dmbim=true,-Dmbim=false -Dplugin_dell=disabled -Dplugin_foxconn=disabled,libmbim"
+# Support WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol.
+PACKAGECONFIG[qmi] = "-Dqmi=true,-Dqmi=false,libqmi"
+PACKAGECONFIG[qrtr] = "-Dqrtr=true,-Dqrtr=false,libqrtr-glib"
+PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false"
+
+inherit upstream-version-is-even ${@bb.utils.contains('PACKAGECONFIG', 'vala', 'vala', '', d)}
+
+EXTRA_OEMESON = " \
+ -Dudevdir=${nonarch_base_libdir}/udev \
+ -Dqrtr=false \
+"
+
+FILES:${PN} += " \
+ ${datadir}/icons \
+ ${datadir}/polkit-1 \
+ ${datadir}/dbus-1 \
+ ${datadir}/ModemManager \
+ ${libdir}/ModemManager \
+ ${systemd_unitdir}/system \
+"
+
+SYSTEMD_SERVICE:${PN} = "ModemManager.service"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.12.bb b/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.12.bb
deleted file mode 100644
index 4decb09..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.12.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "Paho MQTT - C libraries for the MQTT and MQTT-SN protocols"
-DESCRIPTION = "Client implementation of open and standard messaging protocols for Machine-to-Machine (M2M) and Internet of Things (IoT)."
-HOMEPAGE = "http://www.eclipse.org/paho/"
-SECTION = "console/network"
-LICENSE = "EPL-2.0 | EDL-1.0"
-
-LIC_FILES_CHKSUM = " \
- file://LICENSE;md5=fd3b896dadaeec3410d753ffaeadcfac \
- file://edl-v10;md5=3adfcc70f5aeb7a44f3f9b495aa1fbf3 \
- file://epl-v20;md5=d9fc0efef5228704e7f5b37f27192723 \
-"
-
-SRC_URI = "git://github.com/eclipse/paho.mqtt.c;protocol=https;branch=master"
-
-SRCREV = "4157a27d39f1dd5b95750ecb6acd1481432785d8"
-
-DEPENDS = "openssl"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-do_configure:prepend() {
- sed -i s:\ lib/cmake:\ ${baselib}/cmake:g ${S}/src/CMakeLists.txt
-}
-
-do_install:append() {
- # paho-mqtt installes some thing that we don't want.
- rm -rf ${D}${prefix}/samples
- find ${D}${prefix} -maxdepth 1 -type f -delete
-}
-
-EXTRA_OECMAKE = "-DPAHO_WITH_SSL=ON -DPAHO_ENABLE_TESTING=OFF -DPAHO_HIGH_PERFORMANCE=ON"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.13.bb b/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.13.bb
new file mode 100644
index 0000000..6f22900
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.13.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Paho MQTT - C libraries for the MQTT and MQTT-SN protocols"
+DESCRIPTION = "Client implementation of open and standard messaging protocols for Machine-to-Machine (M2M) and Internet of Things (IoT)."
+HOMEPAGE = "http://www.eclipse.org/paho/"
+SECTION = "console/network"
+LICENSE = "EPL-2.0 | EDL-1.0"
+
+LIC_FILES_CHKSUM = " \
+ file://LICENSE;md5=fd3b896dadaeec3410d753ffaeadcfac \
+ file://edl-v10;md5=3adfcc70f5aeb7a44f3f9b495aa1fbf3 \
+ file://epl-v20;md5=d9fc0efef5228704e7f5b37f27192723 \
+"
+
+SRC_URI = "git://github.com/eclipse/paho.mqtt.c;protocol=https;branch=master"
+
+SRCREV = "07a875788d8cc6f5833b12581d6e3e349b34d719"
+
+DEPENDS = "openssl"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+do_configure:prepend() {
+ sed -i s:\ lib/cmake:\ ${baselib}/cmake:g ${S}/src/CMakeLists.txt
+}
+
+do_install:append() {
+ # paho-mqtt installes some thing that we don't want.
+ rm -rf ${D}${prefix}/samples
+ find ${D}${prefix} -maxdepth 1 -type f -delete
+}
+
+EXTRA_OECMAKE = "-DPAHO_WITH_SSL=ON -DPAHO_ENABLE_TESTING=OFF -DPAHO_HIGH_PERFORMANCE=ON"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/pcapplusplus/pcapplusplus_23.09.bb b/meta-openembedded/meta-oe/recipes-connectivity/pcapplusplus/pcapplusplus_23.09.bb
new file mode 100644
index 0000000..39c6942
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/pcapplusplus/pcapplusplus_23.09.bb
@@ -0,0 +1,21 @@
+SUMMARY = "A multiplatform C++ library for capturing, parsing and crafting of network packets"
+HOMEPAGE = "https://pcapplusplus.github.io/"
+BUGTRACKER = "https://github.com/seladb/PcapPlusPlus/issues"
+SECTION = "libs/network"
+LICENSE = "Unlicense"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=911690f51af322440237a253d695d19f"
+
+DEPENDS = "libpcap"
+
+SRC_URI = "git://github.com/seladb/PcapPlusPlus.git;protocol=https;branch=master"
+SRCREV = "4cf8ed44f9dd145f874dc1dd747dfefcfcab75be"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[examples] = "-DPCAPPP_BUILD_EXAMPLES=ON,-DPCAPPP_BUILD_EXAMPLES=OFF"
+PACKAGECONFIG[shared] = "-DBUILD_SHARED_LIBS=ON,-DBUILD_SHARED_LIBS=OFF"
+PACKAGECONFIG[tests] = "-DPCAPPP_BUILD_TESTS=ON,-DPCAPPP_BUILD_TESTS=OFF"
+PACKAGECONFIG[zstd] = "-DLIGHT_PCAPNG_ZSTD=ON,-DLIGHT_PCAPNG_ZSTD=OFF,zstd"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.13.bb b/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.13.bb
deleted file mode 100644
index a4c244d..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.13.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "A serial to network proxy"
-SECTION = "console/network"
-HOMEPAGE = "http://sourceforge.net/projects/ser2net/"
-
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-DEPENDS = "gensio libyaml"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/project/ser2net/ser2net/ser2net-${PV}.tar.gz"
-
-SRC_URI[sha256sum] = "ed8b98448d535111d9a593b067601a8b53e2874814d706b2421a9490a660d265"
-
-UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/ser2net/files/ser2net"
-
-inherit autotools pkgconfig
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.5.1.bb b/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.5.1.bb
new file mode 100644
index 0000000..2507933
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.5.1.bb
@@ -0,0 +1,16 @@
+SUMMARY = "A serial to network proxy"
+SECTION = "console/network"
+HOMEPAGE = "http://sourceforge.net/projects/ser2net/"
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "gensio libyaml"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/project/ser2net/ser2net/ser2net-${PV}.tar.gz"
+
+SRC_URI[sha256sum] = "6d60c2eb9e15f6a23743ce7fc3687a8880042d7fca43572e73ca76ed003de258"
+
+UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/ser2net/files/ser2net"
+
+inherit autotools pkgconfig
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/zeromq/czmq_4.2.1.bb b/meta-openembedded/meta-oe/recipes-connectivity/zeromq/czmq_4.2.1.bb
index 86fde7c..ce9d758 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/zeromq/czmq_4.2.1.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/zeromq/czmq_4.2.1.bb
@@ -30,8 +30,6 @@
PACKAGECONFIG[systemd] = "-DCZMQ_WITH_SYSTEMD=ON,-DCZMQ_WITH_SYSTEMD=OFF,systemd"
PACKAGECONFIG[uuid] = "-DCZMQ_WITH_UUID=ON,-DCZMQ_WITH_UUID=OFF,util-linux"
-BBCLASSEXTEND = "nativesdk"
-
do_install:append() {
mkdir -p ${D}/${includedir}/${BPN}
mv ${D}/${includedir}/sha1.h ${D}/${includedir}/${BPN}/.
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/zeromq/files/0001-src-secure_allocator.hpp-define-missing-rebind-type.patch b/meta-openembedded/meta-oe/recipes-connectivity/zeromq/files/0001-src-secure_allocator.hpp-define-missing-rebind-type.patch
deleted file mode 100644
index d321908..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/zeromq/files/0001-src-secure_allocator.hpp-define-missing-rebind-type.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 66e72389cc90625ed74e8ba1ea3a65234bdb06b5 Mon Sep 17 00:00:00 2001
-From: Sergei Trofimovich <slyich@gmail.com>
-Date: Tue, 20 Dec 2022 21:45:16 +0000
-Subject: [PATCH] src/secure_allocator.hpp: define missing 'rebind' type
-
-`gcc-13` added an assert to standard headers to make sure custom
-allocators have intended implementation of rebind type instead
-of inherited rebind. gcc change:
- https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=64c986b49558a7
-
-Without the fix build fails on this week's `gcc-13` as:
-
- [ 92%] Building CXX object tests/CMakeFiles/test_security_curve.dir/test_security_curve.cpp.o
- In file included from /<<NIX>>/gcc-13.0.0/include/c++/13.0.0/ext/alloc_traits.h:34,
- from /<<NIX>>/gcc-13.0.0/include/c++/13.0.0/bits/stl_uninitialized.h:64,
- from /<<NIX>>/gcc-13.0.0/include/c++/13.0.0/memory:69,
- from tests/../src/secure_allocator.hpp:42,
- from tests/../src/curve_client_tools.hpp:49,
- from tests/test_security_curve.cpp:53:
- /<<NIX>>/gcc-13.0.0/include/c++/13.0.0/bits/alloc_traits.h: In instantiation of 'struct std::__allocator_traits_base::__rebind<zmq::secure_allocator_t<unsigned char>, unsigned char, void>':
- /<<NIX>>/gcc-13.0.0/include/c++/13.0.0/bits/alloc_traits.h:94:11: required by substitution of 'template<class _Alloc, class _Up> using std::__alloc_rebind = typename std::__allocator_traits_base::__rebind<_Alloc, _Up>::type [with _Alloc = zmq::secure_allocator_t<unsigned char>; _Up = unsigned char]'
- /<<NIX>>/gcc-13.0.0/include/c++/13.0.0/bits/alloc_traits.h:228:8: required by substitution of 'template<class _Alloc> template<class _Tp> using std::allocator_traits< <template-parameter-1-1> >::rebind_alloc = std::__alloc_rebind<_Alloc, _Tp> [with _Tp = unsigned char; _Alloc = zmq::secure_allocator_t<unsigned char>]'
- /<<NIX>>/gcc-13.0.0/include/c++/13.0.0/ext/alloc_traits.h:126:65: required from 'struct __gnu_cxx::__alloc_traits<zmq::secure_allocator_t<unsigned char>, unsigned char>::rebind<unsigned char>'
- /<<NIX>>/gcc-13.0.0/include/c++/13.0.0/bits/stl_vector.h:88:21: required from 'struct std::_Vector_base<unsigned char, zmq::secure_allocator_t<unsigned char> >'
- /<<NIX>>/gcc-13.0.0/include/c++/13.0.0/bits/stl_vector.h:423:11: required from 'class std::vector<unsigned char, zmq::secure_allocator_t<unsigned char> >'
- tests/../src/curve_client_tools.hpp:64:76: required from here
- /<<NIX>>/gcc-13.0.0/include/c++/13.0.0/bits/alloc_traits.h:70:31: error: static assertion failed: allocator_traits<A>::rebind_alloc<A::value_type> must be A
- 70 | _Tp>::value,
- | ^~~~~
-
-The change adds trivial `rebind` definition with expected return type
-and satisfies conversion requirements.
-
-Upstream-Status: Backport [https://github.com/zeromq/libzmq/commit/438d5d88]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/secure_allocator.hpp | 11 +++++++++++
- 1 file changed, 11 insertions(+)
-
-diff --git a/src/secure_allocator.hpp b/src/secure_allocator.hpp
-index 0d37e7ed..5b8de9e2 100644
---- a/src/secure_allocator.hpp
-+++ b/src/secure_allocator.hpp
-@@ -95,6 +95,17 @@ bool operator!= (const secure_allocator_t<T> &, const secure_allocator_t<U> &)
- #else
- template <typename T> struct secure_allocator_t : std::allocator<T>
- {
-+ secure_allocator_t () ZMQ_DEFAULT;
-+
-+ template <class U>
-+ secure_allocator_t (const secure_allocator_t<U> &) ZMQ_NOEXCEPT
-+ {
-+ }
-+
-+ template <class U> struct rebind
-+ {
-+ typedef secure_allocator_t<U> other;
-+ };
- };
- #endif
- }
---
-2.39.1
-
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.4.bb b/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.4.bb
deleted file mode 100644
index cd319b5..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.4.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-DESCRIPTION = "ZeroMQ looks like an embeddable networking library but acts like a concurrency framework"
-HOMEPAGE = "http://www.zeromq.org"
-LICENSE = "LGPL-3.0-with-zeromq-exception"
-LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=d5311495d952062e0e4fbba39cbf3de1"
-
-PACKAGECONFIG ??= "libsodium"
-PACKAGECONFIG[libsodium] = "-DWITH_LIBSODIUM=ON,-DWITH_LIBSODIUM=OFF, libsodium"
-
-SRC_URI = "http://github.com/zeromq/libzmq/releases/download/v${PV}/zeromq-${PV}.tar.gz \
- file://0001-CMakeLists-txt-Avoid-host-specific-path-to-libsodium.patch \
- file://0001-src-secure_allocator.hpp-define-missing-rebind-type.patch \
- file://run-ptest \
-"
-SRC_URI[md5sum] = "c897d4005a3f0b8276b00b7921412379"
-SRC_URI[sha256sum] = "c593001a89f5a85dd2ddf564805deb860e02471171b3f204944857336295c3e5"
-
-UPSTREAM_CHECK_URI = "https://github.com/${BPN}/libzmq/releases"
-
-inherit cmake ptest pkgconfig
-
-EXTRA_OECMAKE = "${@bb.utils.contains('PTEST_ENABLED', '1', '-DBUILD_TESTS=ON', '-DBUILD_TESTS=OFF', d)} \
- -DCMAKE_SKIP_RPATH=ON \
-"
-
-do_install_ptest () {
- install -d ${D}${PTEST_PATH}/tests
- install -m 0755 ${B}/bin/test_* ${D}${PTEST_PATH}/tests
-}
-
-FILES:${PN}-doc += "${datadir}/zmq/*.txt"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.5.bb b/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.5.bb
new file mode 100644
index 0000000..5554582
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.5.bb
@@ -0,0 +1,28 @@
+DESCRIPTION = "ZeroMQ looks like an embeddable networking library but acts like a concurrency framework"
+HOMEPAGE = "http://www.zeromq.org"
+LICENSE = "MPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=9741c346eef56131163e13b9db1241b3"
+
+PACKAGECONFIG ??= "libsodium"
+PACKAGECONFIG[libsodium] = "-DWITH_LIBSODIUM=ON,-DWITH_LIBSODIUM=OFF, libsodium"
+
+SRC_URI = "http://github.com/zeromq/libzmq/releases/download/v${PV}/zeromq-${PV}.tar.gz \
+ file://0001-CMakeLists-txt-Avoid-host-specific-path-to-libsodium.patch \
+ file://run-ptest \
+"
+SRC_URI[sha256sum] = "6653ef5910f17954861fe72332e68b03ca6e4d9c7160eb3a8de5a5a913bfab43"
+
+UPSTREAM_CHECK_URI = "https://github.com/${BPN}/libzmq/releases"
+
+inherit cmake ptest pkgconfig
+
+EXTRA_OECMAKE = "${@bb.utils.contains('PTEST_ENABLED', '1', '-DBUILD_TESTS=ON', '-DBUILD_TESTS=OFF', d)} \
+ -DCMAKE_SKIP_RPATH=ON \
+"
+
+do_install_ptest () {
+ install -d ${D}${PTEST_PATH}/tests
+ install -m 0755 ${B}/bin/test_* ${D}${PTEST_PATH}/tests
+}
+
+FILES:${PN}-doc += "${datadir}/zmq/*.txt"
diff --git a/meta-openembedded/meta-oe/recipes-core/emlog/emlog.inc b/meta-openembedded/meta-oe/recipes-core/emlog/emlog.inc
index 0972aff..631e52f 100644
--- a/meta-openembedded/meta-oe/recipes-core/emlog/emlog.inc
+++ b/meta-openembedded/meta-oe/recipes-core/emlog/emlog.inc
@@ -5,7 +5,7 @@
SRC_URI = "git://github.com/nicupavel/emlog.git;protocol=https;branch=master"
SRCREV = "a9bbf324fde131ff4cf064e32674086c4ced4dca"
-
+PV = "0.70+git"
S = "${WORKDIR}/git"
EXTRA_OEMAKE += " \
diff --git a/meta-openembedded/meta-oe/recipes-core/emlog/emlog_git.bb b/meta-openembedded/meta-oe/recipes-core/emlog/emlog_git.bb
index 03c895f..6331f61 100644
--- a/meta-openembedded/meta-oe/recipes-core/emlog/emlog_git.bb
+++ b/meta-openembedded/meta-oe/recipes-core/emlog/emlog_git.bb
@@ -32,4 +32,6 @@
CVE-2019-17073 \
CVE-2021-44584 \
CVE-2022-1526 \
+ CVE-2022-3968 \
+ CVE-2023-43291 \
"
diff --git a/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm-2.68_2.74.0.bb b/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm-2.68_2.74.0.bb
deleted file mode 100644
index 83ceb64..0000000
--- a/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm-2.68_2.74.0.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "C++ bindings for the glib library"
-HOMEPAGE = "http://www.gtkmm.org/"
-SECTION = "libs"
-LICENSE = "LGPL-2.1-only & GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=42dfffebc56fec7527aac53b7a89d1d8 \
- file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
-
-DEPENDS = "mm-common glib-2.0 libsigc++-3 glib-2.0-native"
-
-GNOMEBASEBUILDCLASS = "meson"
-GNOMEBN = "glibmm"
-inherit gnomebase
-
-SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
-
-SRC_URI[archive.sha256sum] = "2b472696cbac79db8e405724118ec945219c5b9b18af63dc8cfb7f1d89b0f1fa"
-
-S = "${WORKDIR}/${GNOMEBN}-${PV}"
-
-FILES:${PN} = "${libdir}/lib*.so.*"
-FILES:${PN}-dev += "${datadir}/glibmm-* ${libdir}/${BPN}/include/ ${libdir}/${BPN}/proc/ ${libdir}/giomm-2.68/include/"
-
-RDEPENDS:${PN}-dev = "perl"
-
-EXTRA_OEMESON += "--cross-file=${WORKDIR}/meson-${PN}.cross -Dmaintainer-mode=false"
-
-do_write_config:append() {
- cat >${WORKDIR}/meson-${PN}.cross <<EOF
-[binaries]
-m4 = '${bindir}/m4'
-perl = '${bindir}/perl'
-EOF
-}
diff --git a/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm-2.68_2.78.0.bb b/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm-2.68_2.78.0.bb
new file mode 100644
index 0000000..f40a814
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm-2.68_2.78.0.bb
@@ -0,0 +1,32 @@
+SUMMARY = "C++ bindings for the glib library"
+HOMEPAGE = "http://www.gtkmm.org/"
+SECTION = "libs"
+LICENSE = "LGPL-2.1-only & GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=42dfffebc56fec7527aac53b7a89d1d8 \
+ file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "mm-common glib-2.0 libsigc++-3 glib-2.0-native"
+
+GNOMEBN = "glibmm"
+inherit gnomebase
+
+SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
+
+SRC_URI[archive.sha256sum] = "5d2e872564996f02a06d8bbac3677e7c394af8b00dd1526aebd47af842a3ef50"
+
+S = "${WORKDIR}/${GNOMEBN}-${PV}"
+
+FILES:${PN} = "${libdir}/lib*.so.*"
+FILES:${PN}-dev += "${datadir}/glibmm-* ${libdir}/${BPN}/include/ ${libdir}/${BPN}/proc/ ${libdir}/giomm-2.68/include/"
+
+RDEPENDS:${PN}-dev = "perl"
+
+EXTRA_OEMESON += "--cross-file=${WORKDIR}/meson-${PN}.cross -Dmaintainer-mode=false"
+
+do_write_config:append() {
+ cat >${WORKDIR}/meson-${PN}.cross <<EOF
+[binaries]
+m4 = '${bindir}/m4'
+perl = '${bindir}/perl'
+EOF
+}
diff --git a/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.66.2.bb b/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.66.2.bb
index a6dc8ff..c78dd55 100644
--- a/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.66.2.bb
+++ b/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.66.2.bb
@@ -7,7 +7,6 @@
DEPENDS = "mm-common glib-2.0 libsigc++-2.0 glib-2.0-native"
-GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase
diff --git a/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.7.bb b/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.7.bb
deleted file mode 100644
index 84494b8..0000000
--- a/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.7.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "A library for loose coupling of C++ method calls"
-SECTION = "libs"
-LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499"
-
-DEPENDS = "mm-common"
-
-SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.10/libsigc++-${PV}.tar.xz"
-SRC_URI[sha256sum] = "d082a2ce72c750f66b1a415abe3e852df2eae1e8af53010f4ac2ea261a478832"
-
-S = "${WORKDIR}/libsigc++-${PV}"
-
-inherit meson
-
-FILES:${PN}-dev += "${libdir}/sigc++-*/"
-FILES:${PN}-doc += "${datadir}/devhelp"
-
-BBCLASSEXTEND = "native"
-SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
diff --git a/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.12.1.bb b/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.12.1.bb
new file mode 100644
index 0000000..b2eb5dd
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.12.1.bb
@@ -0,0 +1,19 @@
+SUMMARY = "A library for loose coupling of C++ method calls"
+SECTION = "libs"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499"
+
+DEPENDS = "mm-common"
+
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.12/libsigc++-${PV}.tar.xz"
+SRC_URI[sha256sum] = "a9dbee323351d109b7aee074a9cb89ca3e7bcf8ad8edef1851f4cf359bd50843"
+
+S = "${WORKDIR}/libsigc++-${PV}"
+
+inherit meson
+
+FILES:${PN}-dev += "${libdir}/sigc++-*/"
+FILES:${PN}-doc += "${datadir}/devhelp"
+
+BBCLASSEXTEND = "native"
+SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
diff --git a/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.2.0.bb b/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.2.0.bb
deleted file mode 100644
index 9318a30..0000000
--- a/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.2.0.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "A library for loose coupling of C++ method calls"
-SECTION = "libs"
-LICENSE = "LGPL-3.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=959bffe2993816eb32ec4bc1ec1d5875"
-
-DEPENDS = "mm-common"
-
-SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libsigc++/3.2/libsigc++-${PV}.tar.xz"
-SRC_URI[sha256sum] = "8cdcb986e3f0a7c5b4474aa3c833d676e62469509f4899110ddf118f04082651"
-
-S = "${WORKDIR}/libsigc++-${PV}"
-
-inherit setuptools3 meson
-
-FILES:${PN}-dev += "${libdir}/sigc++-*/"
-FILES:${PN}-doc += "${datadir}/devhelp"
-
-BBCLASSEXTEND = "native"
-SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
diff --git a/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.6.0.bb b/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.6.0.bb
new file mode 100644
index 0000000..0753457
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.6.0.bb
@@ -0,0 +1,19 @@
+SUMMARY = "A library for loose coupling of C++ method calls"
+SECTION = "libs"
+LICENSE = "LGPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=959bffe2993816eb32ec4bc1ec1d5875"
+
+DEPENDS = "mm-common"
+
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libsigc++/3.6/libsigc++-${PV}.tar.xz"
+SRC_URI[sha256sum] = "c3d23b37dfd6e39f2e09f091b77b1541fbfa17c4f0b6bf5c89baef7229080e17"
+
+S = "${WORKDIR}/libsigc++-${PV}"
+
+inherit setuptools3 meson
+
+FILES:${PN}-dev += "${libdir}/sigc++-*/"
+FILES:${PN}-doc += "${datadir}/devhelp"
+
+BBCLASSEXTEND = "native"
+SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
diff --git a/meta-openembedded/meta-oe/recipes-core/libxml/libxml++-5.0_5.0.1.bb b/meta-openembedded/meta-oe/recipes-core/libxml/libxml++-5.0_5.0.1.bb
index c0f0b2e..ada0199 100644
--- a/meta-openembedded/meta-oe/recipes-core/libxml/libxml++-5.0_5.0.1.bb
+++ b/meta-openembedded/meta-oe/recipes-core/libxml/libxml++-5.0_5.0.1.bb
@@ -6,15 +6,14 @@
LICENSE = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34 "
-SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
-SRC_URI = "${GNOME_MIRROR}/libxml++/${SHRT_VER}/libxml++-${PV}.tar.xz \
-"
-SRC_URI[sha256sum] = "15c38307a964fa6199f4da6683a599eb7e63cc89198545b36349b87cf9aa0098"
-
-S = "${WORKDIR}/libxml++-${PV}"
DEPENDS = "libxml2 glibmm"
-inherit meson pkgconfig ptest
+GNOMEBN = "libxml++"
+inherit gnomebase ptest
+
+S = "${WORKDIR}/libxml++-${PV}"
+
+SRC_URI[archive.sha256sum] = "15c38307a964fa6199f4da6683a599eb7e63cc89198545b36349b87cf9aa0098"
FILES:${PN}-doc += "${datadir}/devhelp"
-FILES:${PN}-dev += "${libdir}/libxml++-${SHRT_VER}/include/libxml++config.h"
+FILES:${PN}-dev += "${libdir}/libxml++-${@gnome_verdir("${PV}")}/include/libxml++config.h"
diff --git a/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_1.0.4.bb b/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_1.0.4.bb
index 1ffdcfd..56f7b5a 100644
--- a/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_1.0.4.bb
+++ b/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_1.0.4.bb
@@ -2,7 +2,6 @@
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase
diff --git a/meta-openembedded/meta-oe/recipes-core/opencl/ocl-icd_2.3.1.bb b/meta-openembedded/meta-oe/recipes-core/opencl/ocl-icd_2.3.1.bb
deleted file mode 100644
index b1980e3..0000000
--- a/meta-openembedded/meta-oe/recipes-core/opencl/ocl-icd_2.3.1.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "OpenCL ICD library"
-DESCRIPTION = "Open Source alternative to vendor specific OpenCL ICD loaders."
-
-# The LICENSE is BSD 2-Clause "Simplified" License
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=1238d5bccbb6bda30654e48dcc0a554b"
-
-SRC_URI = "git://github.com/OCL-dev/ocl-icd.git;protocol=https;branch=master"
-
-SRCREV = "1165deedb2ae741cd76e60986f7c2cb5023059d9"
-
-S = "${WORKDIR}/git"
-
-inherit autotools
-
-DEPENDS = "ruby-native"
-PROVIDES = "virtual/opencl-icd"
-RPROVIDES:${PN} = "virtual/opencl-icd"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-core/opencl/ocl-icd_2.3.2.bb b/meta-openembedded/meta-oe/recipes-core/opencl/ocl-icd_2.3.2.bb
new file mode 100644
index 0000000..93fac96
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/opencl/ocl-icd_2.3.2.bb
@@ -0,0 +1,20 @@
+SUMMARY = "OpenCL ICD library"
+DESCRIPTION = "Open Source alternative to vendor specific OpenCL ICD loaders."
+
+# The LICENSE is BSD 2-Clause "Simplified" License
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1238d5bccbb6bda30654e48dcc0a554b"
+
+SRC_URI = "git://github.com/OCL-dev/ocl-icd.git;protocol=https;branch=master"
+
+SRCREV = "fdde6677b21329432db8b481e2637cd10f7d3cb2"
+
+S = "${WORKDIR}/git"
+
+inherit autotools
+
+DEPENDS = "ruby-native"
+PROVIDES = "virtual/opencl-icd"
+RPROVIDES:${PN} = "virtual/opencl-icd"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-core/opencl/opencl-headers_04.17.bb b/meta-openembedded/meta-oe/recipes-core/opencl/opencl-headers_2023.04.17.bb
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-core/opencl/opencl-headers_04.17.bb
rename to meta-openembedded/meta-oe/recipes-core/opencl/opencl-headers_2023.04.17.bb
diff --git a/meta-openembedded/meta-oe/recipes-core/opencl/opencl-icd-loader_2023.04.17.bb b/meta-openembedded/meta-oe/recipes-core/opencl/opencl-icd-loader_2023.04.17.bb
new file mode 100644
index 0000000..925053b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/opencl/opencl-icd-loader_2023.04.17.bb
@@ -0,0 +1,54 @@
+SUMMARY = "OpenCL ICD Loader"
+DESCRIPTION = "OpenCL compute ICD Loader from Khronos Group"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
+SECTION = "base"
+
+inherit pkgconfig cmake
+
+DEPENDS += "opencl-headers"
+
+PROVIDES = "virtual/opencl-icd"
+RPROVIDES:${PN} = "virtual/opencl-icd"
+
+S = "${WORKDIR}/git"
+
+SRCREV = "b1bce7c3c580a8345205cf65fc1a5f55ba9cdb01"
+SRC_URI = "git://github.com/KhronosGroup/OpenCL-ICD-Loader.git;branch=main;protocol=https"
+
+EXTRA_OECMAKE:append = " \
+ -DOPENCL_ICD_LOADER_HEADERS_DIR=${STAGING_INCDIR} \
+"
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 ${B}/icd_loader_test ${D}${bindir}/
+ chrpath -d ${D}${bindir}/icd_loader_test
+ install -d ${D}${libdir}
+ install -m 0644 ${B}/libIcdLog.so ${D}${libdir}/
+ install -m 0644 ${B}/libOpenCLDriverStub.so ${D}${libdir}/
+ chrpath -d ${D}${libdir}/libOpenCLDriverStub.so
+ install -m 0644 ${B}/libOpenCL.so.1.2 ${D}${libdir}/
+ cd ${D}${libdir}
+ ln -s libOpenCL.so.1.2 libOpenCL.so.1
+ ln -s libOpenCL.so.1 libOpenCL.so
+}
+
+PACKAGES = "opencl-icd-loader opencl-icd-loader-dev"
+PACKAGES += "libicdlog libicdlog-dbg"
+PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src"
+
+FILES:${PN} = " \
+ ${bindir}/icd_loader_test \
+ ${libdir}/libOpenCLDriverStub.so \
+ ${libdir}/libOpenCL.so.1.2 \
+ ${libdir}/libOpenCL.so.1 \
+"
+FILES:${PN}-dev = " \
+ ${libdir}/libOpenCL.so \
+"
+
+FILES:libicdlog = "${libdir}/libIcdLog.so"
+FILES:libicdlog-dbg = "${libdir}/.debug/libIcdLog.so"
+
+RDEPENDS:${PN} = "libicdlog"
diff --git a/meta-openembedded/meta-oe/recipes-core/opencl/opencl-icd-loader_git.bb b/meta-openembedded/meta-oe/recipes-core/opencl/opencl-icd-loader_git.bb
deleted file mode 100644
index fc04cb5..0000000
--- a/meta-openembedded/meta-oe/recipes-core/opencl/opencl-icd-loader_git.bb
+++ /dev/null
@@ -1,54 +0,0 @@
-SUMMARY = "OpenCL ICD Loader"
-DESCRIPTION = "OpenCL compute ICD Loader from Khronos Group"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-SECTION = "base"
-
-inherit pkgconfig cmake
-
-DEPENDS += "opencl-headers"
-
-PROVIDES = "virtual/opencl-icd"
-RPROVIDES:${PN} = "virtual/opencl-icd"
-
-S = "${WORKDIR}/git"
-PV = "v2022.01.04+git${SRCPV}"
-SRCREV = "169f05d026e65948b30cfe2200595fda92198cf7"
-SRC_URI = "git://github.com/KhronosGroup/OpenCL-ICD-Loader.git;branch=main;protocol=https"
-
-EXTRA_OECMAKE:append = " \
- -DOPENCL_ICD_LOADER_HEADERS_DIR=${STAGING_INCDIR} \
-"
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 ${B}/test/loader_test/icd_loader_test ${D}${bindir}/
- chrpath -d ${D}${bindir}/icd_loader_test
- install -d ${D}${libdir}
- install -m 0644 ${B}/test/log/libIcdLog.so ${D}${libdir}/
- install -m 0644 ${B}/test/driver_stub/libOpenCLDriverStub.so ${D}${libdir}/
- chrpath -d ${D}${libdir}/libOpenCLDriverStub.so
- install -m 0644 ${B}/libOpenCL.so.1.2 ${D}${libdir}/
- cd ${D}${libdir}
- ln -s libOpenCL.so.1.2 libOpenCL.so.1
- ln -s libOpenCL.so.1 libOpenCL.so
-}
-
-PACKAGES = "opencl-icd-loader opencl-icd-loader-dev"
-PACKAGES += "libicdlog libicdlog-dbg"
-PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src"
-
-FILES:${PN} = " \
- ${bindir}/icd_loader_test \
- ${libdir}/libOpenCLDriverStub.so \
- ${libdir}/libOpenCL.so.1.2 \
- ${libdir}/libOpenCL.so.1 \
-"
-FILES:${PN}-dev = " \
- ${libdir}/libOpenCL.so \
-"
-
-FILES:libicdlog = "${libdir}/libIcdLog.so"
-FILES:libicdlog-dbg = "${libdir}/.debug/libIcdLog.so"
-
-RDEPENDS:${PN} = "libicdlog"
diff --git a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
index 639388d..0f01356 100644
--- a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
+++ b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
@@ -645,11 +645,11 @@
RDEPENDS:packagegroup-meta-oe-kernel:remove = "kernel-selftest"
RDEPENDS:packagegroup-meta-oe-kernel:remove:libc-musl = "bpftool crash intel-speed-select kernel-selftest minicoredumper turbostat"
-RDEPENDS:packagegroup-meta-oe-kernel:remove:mipsarch = "makedumpfile"
+RDEPENDS:packagegroup-meta-oe-kernel:remove:mipsarcho32 = "makedumpfile"
RDEPENDS:packagegroup-meta-oe-kernel:remove:mips64 = "crash"
RDEPENDS:packagegroup-meta-oe-kernel:remove:mips64el = "crash"
-RDEPENDS:packagegroup-meta-oe-kernel:remove:riscv64 = "crash makedumpfile oprofile"
+RDEPENDS:packagegroup-meta-oe-kernel:remove:riscv64 = "crash oprofile"
RDEPENDS:packagegroup-meta-oe-kernel:remove:riscv32 = "crash makedumpfile oprofile"
RDEPENDS:packagegroup-meta-oe-multimedia ="\
@@ -891,7 +891,6 @@
pcsc-lite \
pcsc-tools \
sharutils \
- ${@bb.utils.contains("DISTRO_FEATURES", "x11", "toscoterm", "", d)} \
sg3-utils \
${@bb.utils.contains("DISTRO_FEATURES", "x11", "uim", "", d)} \
uchardet \
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-1.3.0/run-ptest b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-1.4.0/run-ptest
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-1.3.0/run-ptest
rename to meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-1.4.0/run-ptest
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.3.0.bb b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.3.0.bb
deleted file mode 100644
index 2ef4d5a..0000000
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.3.0.bb
+++ /dev/null
@@ -1,47 +0,0 @@
-SUMMARY = "sdbus-c++"
-DESCRIPTION = "High-level C++ D-Bus library designed to provide easy-to-use yet powerful API in modern C++"
-
-SECTION = "libs"
-
-LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=1803fa9c2c3ce8cb06b4861d75310742"
-
-inherit cmake pkgconfig systemd ptest
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'with-external-libsystemd', 'with-builtin-libsystemd', d)} \
- ${@bb.utils.contains('PTEST_ENABLED', '1', 'with-tests', '', d)}"
-PACKAGECONFIG[with-builtin-libsystemd] = ",,sdbus-c++-libsystemd,libcap"
-PACKAGECONFIG[with-external-libsystemd] = ",,systemd,libsystemd"
-PACKAGECONFIG[with-tests] = "-DBUILD_TESTS=ON -DTESTS_INSTALL_PATH=${libdir}/${BPN}/tests,-DBUILD_TESTS=OFF,googletest gmock"
-
-DEPENDS += "expat"
-
-SRCREV = "0eda85574546d19d9f06d6d5418bc192b3846f96"
-
-SRC_URI = "git://github.com/Kistler-Group/sdbus-cpp.git;protocol=https;branch=master"
-SRC_URI += "file://run-ptest"
-
-EXTRA_OECMAKE = "-DBUILD_CODE_GEN=OFF \
- -DBUILD_DOC=ON \
- -DBUILD_DOXYGEN_DOC=OFF"
-
-S = "${WORKDIR}/git"
-
-# Link libatomic on architectures without 64bit atomics fixes
-# libsdbus-c++.so.1.1.0: undefined reference to `__atomic_load_8'
-LDFLAGS:append:mips = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
-LDFLAGS:append:powerpc = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
-LDFLAGS:append:riscv32 = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
-
-do_install:append() {
- if ! ${@bb.utils.contains('PTEST_ENABLED', '1', 'true', 'false', d)}; then
- rm -rf ${D}${sysconfdir}/dbus-1
- fi
-}
-
-PTEST_PATH = "${libdir}/${BPN}/tests"
-FILES:${PN}-ptest =+ "${sysconfdir}/dbus-1/system.d/"
-FILES:${PN}-dev += "${bindir}/sdbus-c++-xml2cpp"
-
-# It adds -isystem which is spurious, no idea where it gets it from
-CCACHE_DISABLE = "1"
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.4.0.bb b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.4.0.bb
new file mode 100644
index 0000000..869bfa9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.4.0.bb
@@ -0,0 +1,52 @@
+SUMMARY = "sdbus-c++"
+DESCRIPTION = "High-level C++ D-Bus library designed to provide easy-to-use yet powerful API in modern C++"
+
+SECTION = "libs"
+
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1803fa9c2c3ce8cb06b4861d75310742"
+
+inherit cmake pkgconfig systemd ptest
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'with-external-libsystemd', 'with-builtin-libsystemd', d)} \
+ ${@bb.utils.contains('PTEST_ENABLED', '1', 'with-tests', '', d)}"
+PACKAGECONFIG[with-builtin-libsystemd] = ",,sdbus-c++-libsystemd,libcap"
+PACKAGECONFIG[with-external-libsystemd] = ",,systemd,libsystemd"
+PACKAGECONFIG[with-tests] = "-DBUILD_TESTS=ON -DTESTS_INSTALL_PATH=${libdir}/${BPN}/tests,-DBUILD_TESTS=OFF,googletest gmock"
+
+DEPENDS += "expat"
+
+SRCREV = "b482cd6d0890e3f9ae141b4aeb07d3724e48b3db"
+
+SRC_URI = "git://github.com/Kistler-Group/sdbus-cpp.git;protocol=https;branch=master"
+SRC_URI += "file://run-ptest"
+
+EXTRA_OECMAKE = "-DBUILD_CODE_GEN=OFF \
+ -DBUILD_DOC=ON \
+ -DBUILD_DOXYGEN_DOC=OFF"
+
+S = "${WORKDIR}/git"
+
+# Link libatomic on architectures without 64bit atomics fixes
+# libsdbus-c++.so.1.1.0: undefined reference to `__atomic_load_8'
+LDFLAGS:append:mips = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
+LDFLAGS:append:powerpc = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
+LDFLAGS:append:riscv32 = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
+
+do_install:append() {
+ if ! ${@bb.utils.contains('PTEST_ENABLED', '1', 'true', 'false', d)}; then
+ rm -rf ${D}${sysconfdir}/dbus-1
+ fi
+}
+
+PTEST_PATH = "${libdir}/${BPN}/ptest"
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}
+ cp -r ${B}/tests/sdbus-c++-unit-tests ${D}${PTEST_PATH}
+}
+
+FILES:${PN}-ptest =+ "${sysconfdir}/dbus-1/system.d/"
+FILES:${PN}-dev += "${bindir}/sdbus-c++-xml2cpp"
+
+# It adds -isystem which is spurious, no idea where it gets it from
+CCACHE_DISABLE = "1"
diff --git a/meta-openembedded/meta-oe/recipes-core/toybox/toybox/0001-portability-Fix-timer_settime_wrap-for-32bit-systems.patch b/meta-openembedded/meta-oe/recipes-core/toybox/toybox/0001-portability-Fix-timer_settime_wrap-for-32bit-systems.patch
deleted file mode 100644
index 8976b37..0000000
--- a/meta-openembedded/meta-oe/recipes-core/toybox/toybox/0001-portability-Fix-timer_settime_wrap-for-32bit-systems.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 7284c7ae0df9aa5a9c8aa0a81a018e17289fe2c4 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 8 Sep 2022 07:22:26 -0700
-Subject: [PATCH] portability: Fix timer_settime_wrap for 32bit systems with
- 64bit time_t
-
-glibc does not define SYS_timer_settime if the 32bit syscall is not
-available, new architectures like riscv32 has defaulted to 64bit time_t
-from get go and avoided wiring 32bit syscall, therefore alias it to
-64bit version here
-
-Upstream-Status: Submitted [https://github.com/landley/toybox/pull/373]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/portability.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/lib/portability.c b/lib/portability.c
-index d955d081..4baa9367 100644
---- a/lib/portability.c
-+++ b/lib/portability.c
-@@ -711,6 +711,12 @@ int timer_create_wrap(clockid_t c, struct sigevent *se, timer_t *t)
- return 0;
- }
-
-+#if !defined(SYS_timer_settime) && defined(SYS_timer_settime64)
-+// glibc does not define defines SYS_timer_settime on 32-bit systems
-+// with 64-bit time_t defaults e.g. riscv32
-+#define SYS_timer_settime SYS_timer_settime64
-+#endif
-+
- int timer_settime_wrap(timer_t t, int flags, struct itimerspec *val,
- struct itimerspec *old)
- {
---
-2.37.3
-
diff --git a/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.8.10.bb b/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.8.10.bb
new file mode 100644
index 0000000..d747ebf
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.8.10.bb
@@ -0,0 +1,113 @@
+SUMMARY = "Toybox combines common utilities together into a single executable."
+HOMEPAGE = "http://www.landley.net/toybox/"
+DEPENDS = "attr virtual/crypt"
+
+LICENSE = "0BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=78659a599b9325da368f2f1eb88f19c7"
+
+inherit cml1 update-alternatives
+
+SRC_URI = "http://www.landley.net/toybox/downloads/${BPN}-${PV}.tar.gz"
+SRC_URI[sha256sum] = "d3afee05ca90bf425ced73f527e418fecd626c5340b5f58711a14531f8d7d108"
+
+SECTION = "base"
+
+RDEPENDS:${PN} = "${@["", "toybox-inittab"][(d.getVar('VIRTUAL-RUNTIME_init_manager') == 'toybox')]}"
+
+TOYBOX_BIN = "generated/unstripped/toybox"
+
+# Toybox is strict on what CC, CFLAGS and CROSS_COMPILE variables should contain.
+# Fix CC, CFLAGS, CROSS_COMPILE to match expectations.
+# CC = compiler name
+# CFLAGS = only compiler flags
+# CROSS_COMPILE = compiler prefix
+CFLAGS += "${TOOLCHAIN_OPTIONS} ${TUNE_CCARGS}"
+
+COMPILER:toolchain-clang = "clang"
+COMPILER ?= "gcc"
+
+PACKAGECONFIG ??= "no-iconv no-getconf"
+
+PACKAGECONFIG[no-iconv] = ",,"
+PACKAGECONFIG[no-getconf] = ",,"
+
+EXTRA_OEMAKE = 'CROSS_COMPILE="${HOST_PREFIX}" \
+ CC="${COMPILER}" \
+ STRIP="strip" \
+ CFLAGS="${CFLAGS}" \
+ HOSTCC="${BUILD_CC}" CPUS=${@oe.utils.cpu_count()} V=1'
+
+do_configure() {
+ # allow user to define their own defconfig in bbappend, taken from kernel.bbclass
+ if [ "${S}" != "${B}" ] && [ -f "${S}/.config" ] && [ ! -f "${B}/.config" ]; then
+ mv "${S}/.config" "${B}/.config"
+ fi
+
+ # Copy defconfig to .config if .config does not exist. This allows
+ # recipes to manage the .config themselves in do_configure:prepend().
+ if [ -f "${WORKDIR}/defconfig" ] && [ ! -f "${B}/.config" ]; then
+ cp "${WORKDIR}/defconfig" "${B}/.config"
+ fi
+
+ oe_runmake oldconfig || oe_runmake defconfig
+
+ # Disable killall5 as it isn't managed by update-alternatives
+ sed -e 's/CONFIG_KILLALL5=y/# CONFIG_KILLALL5 is not set/' -i .config
+
+ # Disable swapon as it doesn't handle the '-a' argument used during boot
+ sed -e 's/CONFIG_SWAPON=y/# CONFIG_SWAPON is not set/' -i .config
+
+ # Enable init if toybox was set as init manager
+ if ${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager','toybox','true','false',d)}; then
+ sed -e 's/# CONFIG_INIT is not set/CONFIG_INIT=y/' -i .config
+ fi
+}
+
+do_compile() {
+ oe_runmake ${TOYBOX_BIN}
+
+ # Create a list of links needed
+ ${BUILD_CC} -I . scripts/install.c -o generated/instlist
+ ./generated/instlist long | sed -e 's#^#/#' > toybox.links
+ if ${@bb.utils.contains('PACKAGECONFIG','no-iconv','true','false',d)}; then
+ sed -i -e '/iconv$/d' toybox.links
+ fi
+ if ${@bb.utils.contains('PACKAGECONFIG','no-getconf','true','false',d)}; then
+ sed -i -e '/getconf$/d' toybox.links
+ fi
+}
+
+do_install() {
+ # Install manually instead of using 'make install'
+ install -d ${D}${base_bindir}
+ if grep -q "CONFIG_TOYBOX_SUID=y" ${B}/.config; then
+ install -m 4755 ${B}/${TOYBOX_BIN} ${D}${base_bindir}/toybox
+ else
+ install -m 0755 ${B}/${TOYBOX_BIN} ${D}${base_bindir}/toybox
+ fi
+
+ install -d ${D}${sysconfdir}
+ install -m 0644 ${B}/toybox.links ${D}${sysconfdir}
+}
+
+# If you've chosen to install toybox you probably want it to take precedence
+# over busybox where possible but not over other packages
+ALTERNATIVE_PRIORITY = "60"
+
+python do_package:prepend () {
+ # Read links from /etc/toybox.links and create appropriate
+ # update-alternatives variables
+
+ dvar = d.getVar('D')
+ pn = d.getVar('PN')
+ target = d.expand("${base_bindir}/toybox")
+
+ f = open('%s/etc/toybox.links' % (dvar), 'r')
+ for alt_link_name in f:
+ alt_link_name = alt_link_name.strip()
+ alt_name = os.path.basename(alt_link_name)
+ d.appendVar('ALTERNATIVE:%s' % (pn), ' ' + alt_name)
+ d.setVarFlag('ALTERNATIVE_LINK_NAME', alt_name, alt_link_name)
+ d.setVarFlag('ALTERNATIVE_TARGET', alt_name, target)
+ f.close()
+}
diff --git a/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.8.8.bb b/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.8.8.bb
deleted file mode 100644
index 6836b14..0000000
--- a/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.8.8.bb
+++ /dev/null
@@ -1,115 +0,0 @@
-SUMMARY = "Toybox combines common utilities together into a single executable."
-HOMEPAGE = "http://www.landley.net/toybox/"
-DEPENDS = "attr virtual/crypt"
-
-LICENSE = "0BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=78659a599b9325da368f2f1eb88f19c7"
-
-inherit cml1 update-alternatives
-
-SRC_URI = "http://www.landley.net/toybox/downloads/${BPN}-${PV}.tar.gz \
- file://0001-portability-Fix-timer_settime_wrap-for-32bit-systems.patch \
- "
-SRC_URI[sha256sum] = "dafd41978d40f02a61cf1be99a2b4a25812bbfb9c3157e679ee7611202d6ac58"
-
-SECTION = "base"
-
-RDEPENDS:${PN} = "${@["", "toybox-inittab"][(d.getVar('VIRTUAL-RUNTIME_init_manager') == 'toybox')]}"
-
-TOYBOX_BIN = "generated/unstripped/toybox"
-
-# Toybox is strict on what CC, CFLAGS and CROSS_COMPILE variables should contain.
-# Fix CC, CFLAGS, CROSS_COMPILE to match expectations.
-# CC = compiler name
-# CFLAGS = only compiler flags
-# CROSS_COMPILE = compiler prefix
-CFLAGS += "${TOOLCHAIN_OPTIONS} ${TUNE_CCARGS}"
-
-COMPILER:toolchain-clang = "clang"
-COMPILER ?= "gcc"
-
-PACKAGECONFIG ??= "no-iconv no-getconf"
-
-PACKAGECONFIG[no-iconv] = ",,"
-PACKAGECONFIG[no-getconf] = ",,"
-
-EXTRA_OEMAKE = 'CROSS_COMPILE="${HOST_PREFIX}" \
- CC="${COMPILER}" \
- STRIP="strip" \
- CFLAGS="${CFLAGS}" \
- HOSTCC="${BUILD_CC}" CPUS=${@oe.utils.cpu_count()} V=1'
-
-do_configure() {
- # allow user to define their own defconfig in bbappend, taken from kernel.bbclass
- if [ "${S}" != "${B}" ] && [ -f "${S}/.config" ] && [ ! -f "${B}/.config" ]; then
- mv "${S}/.config" "${B}/.config"
- fi
-
- # Copy defconfig to .config if .config does not exist. This allows
- # recipes to manage the .config themselves in do_configure:prepend().
- if [ -f "${WORKDIR}/defconfig" ] && [ ! -f "${B}/.config" ]; then
- cp "${WORKDIR}/defconfig" "${B}/.config"
- fi
-
- oe_runmake oldconfig || oe_runmake defconfig
-
- # Disable killall5 as it isn't managed by update-alternatives
- sed -e 's/CONFIG_KILLALL5=y/# CONFIG_KILLALL5 is not set/' -i .config
-
- # Disable swapon as it doesn't handle the '-a' argument used during boot
- sed -e 's/CONFIG_SWAPON=y/# CONFIG_SWAPON is not set/' -i .config
-
- # Enable init if toybox was set as init manager
- if ${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager','toybox','true','false',d)}; then
- sed -e 's/# CONFIG_INIT is not set/CONFIG_INIT=y/' -i .config
- fi
-}
-
-do_compile() {
- oe_runmake ${TOYBOX_BIN}
-
- # Create a list of links needed
- ${BUILD_CC} -I . scripts/install.c -o generated/instlist
- ./generated/instlist long | sed -e 's#^#/#' > toybox.links
- if ${@bb.utils.contains('PACKAGECONFIG','no-iconv','true','false',d)}; then
- sed -i -e '/iconv$/d' toybox.links
- fi
- if ${@bb.utils.contains('PACKAGECONFIG','no-getconf','true','false',d)}; then
- sed -i -e '/getconf$/d' toybox.links
- fi
-}
-
-do_install() {
- # Install manually instead of using 'make install'
- install -d ${D}${base_bindir}
- if grep -q "CONFIG_TOYBOX_SUID=y" ${B}/.config; then
- install -m 4755 ${B}/${TOYBOX_BIN} ${D}${base_bindir}/toybox
- else
- install -m 0755 ${B}/${TOYBOX_BIN} ${D}${base_bindir}/toybox
- fi
-
- install -d ${D}${sysconfdir}
- install -m 0644 ${B}/toybox.links ${D}${sysconfdir}
-}
-
-# If you've chosen to install toybox you probably want it to take precedence
-# over busybox where possible but not over other packages
-ALTERNATIVE_PRIORITY = "60"
-
-python do_package:prepend () {
- # Read links from /etc/toybox.links and create appropriate
- # update-alternatives variables
-
- dvar = d.getVar('D')
- pn = d.getVar('PN')
- target = d.expand("${base_bindir}/toybox")
-
- f = open('%s/etc/toybox.links' % (dvar), 'r')
- for alt_link_name in f:
- alt_link_name = alt_link_name.strip()
- alt_name = os.path.basename(alt_link_name)
- d.appendVar('ALTERNATIVE:%s' % (pn), ' ' + alt_name)
- d.setVarFlag('ALTERNATIVE_LINK_NAME', alt_name, alt_link_name)
- d.setVarFlag('ALTERNATIVE_TARGET', alt_name, target)
- f.close()
-}
diff --git a/meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils-crates.inc b/meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils-crates.inc
index 90a5017..cd8a6ef 100644
--- a/meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils-crates.inc
+++ b/meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils-crates.inc
@@ -6,42 +6,42 @@
crate://crates.io/aho-corasick/1.0.4 \
crate://crates.io/android-tzdata/0.1.1 \
crate://crates.io/android_system_properties/0.1.5 \
- crate://crates.io/anstream/0.3.2 \
+ crate://crates.io/anstream/0.5.0 \
crate://crates.io/anstyle/1.0.0 \
crate://crates.io/anstyle-parse/0.2.0 \
crate://crates.io/anstyle-query/1.0.0 \
- crate://crates.io/anstyle-wincon/1.0.1 \
+ crate://crates.io/anstyle-wincon/2.1.0 \
crate://crates.io/arrayref/0.3.6 \
- crate://crates.io/arrayvec/0.7.2 \
+ crate://crates.io/arrayvec/0.7.4 \
crate://crates.io/autocfg/1.1.0 \
crate://crates.io/bigdecimal/0.4.0 \
crate://crates.io/binary-heap-plus/0.5.0 \
crate://crates.io/bindgen/0.63.0 \
crate://crates.io/bitflags/1.3.2 \
- crate://crates.io/bitflags/2.3.3 \
- crate://crates.io/blake2b_simd/1.0.1 \
- crate://crates.io/blake3/1.4.0 \
+ crate://crates.io/bitflags/2.4.0 \
+ crate://crates.io/blake2b_simd/1.0.2 \
+ crate://crates.io/blake3/1.5.0 \
crate://crates.io/block-buffer/0.10.3 \
- crate://crates.io/bstr/1.6.0 \
+ crate://crates.io/bstr/1.8.0 \
crate://crates.io/bumpalo/3.11.1 \
- crate://crates.io/bytecount/0.6.3 \
- crate://crates.io/byteorder/1.4.3 \
+ crate://crates.io/bytecount/0.6.7 \
+ crate://crates.io/byteorder/1.5.0 \
crate://crates.io/cc/1.0.79 \
crate://crates.io/cexpr/0.6.0 \
crate://crates.io/cfg-if/1.0.0 \
- crate://crates.io/chrono/0.4.28 \
+ crate://crates.io/chrono/0.4.31 \
crate://crates.io/clang-sys/1.4.0 \
- crate://crates.io/clap/4.3.21 \
- crate://crates.io/clap_builder/4.3.21 \
- crate://crates.io/clap_complete/4.3.0 \
+ crate://crates.io/clap/4.4.2 \
+ crate://crates.io/clap_builder/4.4.2 \
+ crate://crates.io/clap_complete/4.4.0 \
crate://crates.io/clap_lex/0.5.0 \
crate://crates.io/clap_mangen/0.2.9 \
crate://crates.io/colorchoice/1.0.0 \
crate://crates.io/compare/0.1.0 \
crate://crates.io/console/0.15.7 \
- crate://crates.io/const-random/0.1.15 \
- crate://crates.io/const-random-macro/0.1.15 \
- crate://crates.io/constant_time_eq/0.2.4 \
+ crate://crates.io/const-random/0.1.16 \
+ crate://crates.io/const-random-macro/0.1.16 \
+ crate://crates.io/constant_time_eq/0.3.0 \
crate://crates.io/conv/0.3.3 \
crate://crates.io/core-foundation-sys/0.8.3 \
crate://crates.io/coz/0.1.3 \
@@ -59,7 +59,7 @@
crate://crates.io/crossterm_winapi/0.9.1 \
crate://crates.io/crunchy/0.2.2 \
crate://crates.io/crypto-common/0.1.6 \
- crate://crates.io/ctrlc/3.4.0 \
+ crate://crates.io/ctrlc/3.4.1 \
crate://crates.io/custom_derive/0.1.7 \
crate://crates.io/data-encoding/2.4.0 \
crate://crates.io/data-encoding-macro/0.1.13 \
@@ -67,14 +67,13 @@
crate://crates.io/diff/0.1.13 \
crate://crates.io/digest/0.10.7 \
crate://crates.io/dlv-list/0.5.0 \
- crate://crates.io/dns-lookup/2.0.2 \
+ crate://crates.io/dns-lookup/2.0.4 \
crate://crates.io/dunce/1.0.4 \
crate://crates.io/either/1.8.0 \
crate://crates.io/encode_unicode/0.3.6 \
crate://crates.io/env_logger/0.8.4 \
- crate://crates.io/errno/0.3.1 \
- crate://crates.io/errno-dragonfly/0.1.2 \
- crate://crates.io/exacl/0.10.0 \
+ crate://crates.io/errno/0.3.5 \
+ crate://crates.io/exacl/0.11.0 \
crate://crates.io/fastrand/2.0.0 \
crate://crates.io/file_diff/1.0.0 \
crate://crates.io/filetime/0.2.22 \
@@ -99,7 +98,7 @@
crate://crates.io/generic-array/0.14.6 \
crate://crates.io/getrandom/0.2.9 \
crate://crates.io/glob/0.3.1 \
- crate://crates.io/half/2.2.1 \
+ crate://crates.io/half/2.3.1 \
crate://crates.io/hashbrown/0.13.2 \
crate://crates.io/hermit-abi/0.3.2 \
crate://crates.io/hex/0.4.3 \
@@ -111,7 +110,6 @@
crate://crates.io/inotify/0.9.6 \
crate://crates.io/inotify-sys/0.1.5 \
crate://crates.io/io-lifetimes/1.0.11 \
- crate://crates.io/is-terminal/0.4.9 \
crate://crates.io/itertools/0.11.0 \
crate://crates.io/itoa/1.0.4 \
crate://crates.io/js-sys/0.3.64 \
@@ -120,31 +118,30 @@
crate://crates.io/kqueue-sys/1.0.3 \
crate://crates.io/lazy_static/1.4.0 \
crate://crates.io/lazycell/1.3.0 \
- crate://crates.io/libc/0.2.147 \
+ crate://crates.io/libc/0.2.150 \
crate://crates.io/libloading/0.7.4 \
crate://crates.io/libm/0.2.7 \
crate://crates.io/linux-raw-sys/0.1.4 \
crate://crates.io/linux-raw-sys/0.3.8 \
- crate://crates.io/linux-raw-sys/0.4.5 \
+ crate://crates.io/linux-raw-sys/0.4.10 \
crate://crates.io/lock_api/0.4.9 \
crate://crates.io/log/0.4.17 \
crate://crates.io/lscolors/0.15.0 \
crate://crates.io/match_cfg/0.1.0 \
- crate://crates.io/md-5/0.10.5 \
+ crate://crates.io/md-5/0.10.6 \
crate://crates.io/memchr/2.6.2 \
- crate://crates.io/memmap2/0.7.0 \
+ crate://crates.io/memmap2/0.9.0 \
crate://crates.io/memoffset/0.8.0 \
crate://crates.io/minimal-lexical/0.2.1 \
crate://crates.io/miniz_oxide/0.5.4 \
crate://crates.io/mio/0.8.6 \
- crate://crates.io/nix/0.26.2 \
+ crate://crates.io/nix/0.27.1 \
crate://crates.io/nom/7.1.3 \
crate://crates.io/notify/6.0.1 \
crate://crates.io/nu-ansi-term/0.49.0 \
crate://crates.io/num-bigint/0.4.4 \
crate://crates.io/num-integer/0.1.45 \
- crate://crates.io/num-traits/0.2.16 \
- crate://crates.io/num_cpus/1.16.0 \
+ crate://crates.io/num-traits/0.2.17 \
crate://crates.io/num_threads/0.1.6 \
crate://crates.io/number_prefix/0.4.0 \
crate://crates.io/once_cell/1.18.0 \
@@ -154,7 +151,7 @@
crate://crates.io/os_display/0.1.3 \
crate://crates.io/parking_lot/0.12.1 \
crate://crates.io/parking_lot_core/0.9.8 \
- crate://crates.io/parse_datetime/0.4.0 \
+ crate://crates.io/parse_datetime/0.5.0 \
crate://crates.io/peeking_take_while/0.1.2 \
crate://crates.io/phf/0.11.2 \
crate://crates.io/phf_codegen/0.11.2 \
@@ -169,7 +166,8 @@
crate://crates.io/pretty_assertions/1.4.0 \
crate://crates.io/proc-macro-hack/0.5.20+deprecated \
crate://crates.io/proc-macro2/1.0.63 \
- crate://crates.io/procfs/0.15.1 \
+ crate://crates.io/procfs/0.16.0 \
+ crate://crates.io/procfs-core/0.16.0 \
crate://crates.io/quick-error/2.0.1 \
crate://crates.io/quickcheck/1.0.3 \
crate://crates.io/quote/1.0.29 \
@@ -177,13 +175,14 @@
crate://crates.io/rand_chacha/0.3.1 \
crate://crates.io/rand_core/0.6.4 \
crate://crates.io/rand_pcg/0.3.1 \
- crate://crates.io/rayon/1.7.0 \
- crate://crates.io/rayon-core/1.11.0 \
+ crate://crates.io/rayon/1.8.0 \
+ crate://crates.io/rayon-core/1.12.0 \
crate://crates.io/redox_syscall/0.3.5 \
+ crate://crates.io/redox_syscall/0.4.0 \
crate://crates.io/reference-counted-singleton/0.1.2 \
- crate://crates.io/regex/1.9.5 \
- crate://crates.io/regex-automata/0.3.8 \
- crate://crates.io/regex-syntax/0.7.5 \
+ crate://crates.io/regex/1.10.2 \
+ crate://crates.io/regex-automata/0.4.3 \
+ crate://crates.io/regex-syntax/0.8.2 \
crate://crates.io/relative-path/1.8.0 \
crate://crates.io/rlimit/0.10.1 \
crate://crates.io/roff/0.2.1 \
@@ -193,17 +192,17 @@
crate://crates.io/rustc-hash/1.1.0 \
crate://crates.io/rustc_version/0.4.0 \
crate://crates.io/rustix/0.36.15 \
- crate://crates.io/rustix/0.37.23 \
- crate://crates.io/rustix/0.38.8 \
+ crate://crates.io/rustix/0.37.26 \
+ crate://crates.io/rustix/0.38.21 \
crate://crates.io/same-file/1.0.6 \
crate://crates.io/scopeguard/1.1.0 \
- crate://crates.io/self_cell/1.0.1 \
+ crate://crates.io/self_cell/1.0.2 \
crate://crates.io/selinux/0.4.0 \
crate://crates.io/selinux-sys/0.6.2 \
crate://crates.io/semver/1.0.14 \
crate://crates.io/serde/1.0.147 \
- crate://crates.io/sha1/0.10.5 \
- crate://crates.io/sha2/0.10.7 \
+ crate://crates.io/sha1/0.10.6 \
+ crate://crates.io/sha2/0.10.8 \
crate://crates.io/sha3/0.10.8 \
crate://crates.io/shlex/1.1.0 \
crate://crates.io/signal-hook/0.3.17 \
@@ -215,14 +214,12 @@
crate://crates.io/smallvec/1.11.0 \
crate://crates.io/smawk/0.3.1 \
crate://crates.io/socket2/0.5.3 \
- crate://crates.io/static_assertions/1.1.0 \
crate://crates.io/strsim/0.10.0 \
- crate://crates.io/subtle/2.4.1 \
crate://crates.io/syn/1.0.109 \
crate://crates.io/syn/2.0.23 \
- crate://crates.io/tempfile/3.8.0 \
- crate://crates.io/term_grid/0.1.7 \
+ crate://crates.io/tempfile/3.8.1 \
crate://crates.io/terminal_size/0.2.6 \
+ crate://crates.io/terminal_size/0.3.0 \
crate://crates.io/textwrap/0.16.0 \
crate://crates.io/thiserror/1.0.37 \
crate://crates.io/thiserror-impl/1.0.37 \
@@ -234,13 +231,14 @@
crate://crates.io/unicode-ident/1.0.5 \
crate://crates.io/unicode-linebreak/0.1.5 \
crate://crates.io/unicode-segmentation/1.10.1 \
- crate://crates.io/unicode-width/0.1.10 \
+ crate://crates.io/unicode-width/0.1.11 \
crate://crates.io/unicode-xid/0.2.4 \
crate://crates.io/unindent/0.2.1 \
crate://crates.io/utf8parse/0.2.1 \
crate://crates.io/uuid/1.2.2 \
+ crate://crates.io/uutils_term_grid/0.3.0 \
crate://crates.io/version_check/0.9.4 \
- crate://crates.io/walkdir/2.3.2 \
+ crate://crates.io/walkdir/2.4.0 \
crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \
crate://crates.io/wasm-bindgen/0.2.87 \
crate://crates.io/wasm-bindgen-backend/0.2.87 \
@@ -248,10 +246,10 @@
crate://crates.io/wasm-bindgen-macro-support/0.2.87 \
crate://crates.io/wasm-bindgen-shared/0.2.87 \
crate://crates.io/which/4.3.0 \
- crate://crates.io/wild/2.1.0 \
+ crate://crates.io/wild/2.2.0 \
crate://crates.io/winapi/0.3.9 \
crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
- crate://crates.io/winapi-util/0.1.5 \
+ crate://crates.io/winapi-util/0.1.6 \
crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
crate://crates.io/windows-sys/0.45.0 \
crate://crates.io/windows-sys/0.48.0 \
@@ -281,42 +279,42 @@
SRC_URI[aho-corasick-1.0.4.sha256sum] = "6748e8def348ed4d14996fa801f4122cd763fff530258cdc03f64b25f89d3a5a"
SRC_URI[android-tzdata-0.1.1.sha256sum] = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
SRC_URI[android_system_properties-0.1.5.sha256sum] = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
-SRC_URI[anstream-0.3.2.sha256sum] = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163"
+SRC_URI[anstream-0.5.0.sha256sum] = "b1f58811cfac344940f1a400b6e6231ce35171f614f26439e80f8c1465c5cc0c"
SRC_URI[anstyle-1.0.0.sha256sum] = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d"
SRC_URI[anstyle-parse-0.2.0.sha256sum] = "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee"
SRC_URI[anstyle-query-1.0.0.sha256sum] = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
-SRC_URI[anstyle-wincon-1.0.1.sha256sum] = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188"
+SRC_URI[anstyle-wincon-2.1.0.sha256sum] = "58f54d10c6dfa51283a066ceab3ec1ab78d13fae00aa49243a45e4571fb79dfd"
SRC_URI[arrayref-0.3.6.sha256sum] = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544"
-SRC_URI[arrayvec-0.7.2.sha256sum] = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6"
+SRC_URI[arrayvec-0.7.4.sha256sum] = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
SRC_URI[bigdecimal-0.4.0.sha256sum] = "5274a6b6e0ee020148397245b973e30163b7bffbc6d473613f850cb99888581e"
SRC_URI[binary-heap-plus-0.5.0.sha256sum] = "e4551d8382e911ecc0d0f0ffb602777988669be09447d536ff4388d1def11296"
SRC_URI[bindgen-0.63.0.sha256sum] = "36d860121800b2a9a94f9b5604b332d5cffb234ce17609ea479d723dbc9d3885"
SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
-SRC_URI[bitflags-2.3.3.sha256sum] = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
-SRC_URI[blake2b_simd-1.0.1.sha256sum] = "3c2f0dc9a68c6317d884f97cc36cf5a3d20ba14ce404227df55e1af708ab04bc"
-SRC_URI[blake3-1.4.0.sha256sum] = "729b71f35bd3fa1a4c86b85d32c8b9069ea7fe14f7a53cfabb65f62d4265b888"
+SRC_URI[bitflags-2.4.0.sha256sum] = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
+SRC_URI[blake2b_simd-1.0.2.sha256sum] = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780"
+SRC_URI[blake3-1.5.0.sha256sum] = "0231f06152bf547e9c2b5194f247cd97aacf6dcd8b15d8e5ec0663f64580da87"
SRC_URI[block-buffer-0.10.3.sha256sum] = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e"
-SRC_URI[bstr-1.6.0.sha256sum] = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05"
+SRC_URI[bstr-1.8.0.sha256sum] = "542f33a8835a0884b006a0c3df3dadd99c0c3f296ed26c2fdc8028e01ad6230c"
SRC_URI[bumpalo-3.11.1.sha256sum] = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba"
-SRC_URI[bytecount-0.6.3.sha256sum] = "2c676a478f63e9fa2dd5368a42f28bba0d6c560b775f38583c8bbaa7fcd67c9c"
-SRC_URI[byteorder-1.4.3.sha256sum] = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+SRC_URI[bytecount-0.6.7.sha256sum] = "e1e5f035d16fc623ae5f74981db80a439803888314e3a555fd6f04acd51a3205"
+SRC_URI[byteorder-1.5.0.sha256sum] = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
SRC_URI[cc-1.0.79.sha256sum] = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
SRC_URI[cexpr-0.6.0.sha256sum] = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-SRC_URI[chrono-0.4.28.sha256sum] = "95ed24df0632f708f5f6d8082675bef2596f7084dee3dd55f632290bf35bfe0f"
+SRC_URI[chrono-0.4.31.sha256sum] = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
SRC_URI[clang-sys-1.4.0.sha256sum] = "fa2e27ae6ab525c3d369ded447057bca5438d86dc3a68f6faafb8269ba82ebf3"
-SRC_URI[clap-4.3.21.sha256sum] = "c27cdf28c0f604ba3f512b0c9a409f8de8513e4816705deb0498b627e7c3a3fd"
-SRC_URI[clap_builder-4.3.21.sha256sum] = "08a9f1ab5e9f01a9b81f202e8562eb9a10de70abf9eaeac1be465c28b75aa4aa"
-SRC_URI[clap_complete-4.3.0.sha256sum] = "a04ddfaacc3bc9e6ea67d024575fafc2a813027cf374b8f24f7bc233c6b6be12"
+SRC_URI[clap-4.4.2.sha256sum] = "6a13b88d2c62ff462f88e4a121f17a82c1af05693a2f192b5c38d14de73c19f6"
+SRC_URI[clap_builder-4.4.2.sha256sum] = "2bb9faaa7c2ef94b2743a21f5a29e6f0010dff4caa69ac8e9d6cf8b6fa74da08"
+SRC_URI[clap_complete-4.4.0.sha256sum] = "586a385f7ef2f8b4d86bddaa0c094794e7ccbfe5ffef1f434fe928143fc783a5"
SRC_URI[clap_lex-0.5.0.sha256sum] = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b"
SRC_URI[clap_mangen-0.2.9.sha256sum] = "bb0f09a0ca8f0dd8ac92c546b426f466ef19828185c6d504c80c48c9c2768ed9"
SRC_URI[colorchoice-1.0.0.sha256sum] = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
SRC_URI[compare-0.1.0.sha256sum] = "120133d4db2ec47efe2e26502ee984747630c67f51974fca0b6c1340cf2368d3"
SRC_URI[console-0.15.7.sha256sum] = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8"
-SRC_URI[const-random-0.1.15.sha256sum] = "368a7a772ead6ce7e1de82bfb04c485f3db8ec744f72925af5735e29a22cc18e"
-SRC_URI[const-random-macro-0.1.15.sha256sum] = "9d7d6ab3c3a2282db210df5f02c4dab6e0a7057af0fb7ebd4070f30fe05c0ddb"
-SRC_URI[constant_time_eq-0.2.4.sha256sum] = "f3ad85c1f65dc7b37604eb0e89748faf0b9653065f2a8ef69f96a687ec1e9279"
+SRC_URI[const-random-0.1.16.sha256sum] = "11df32a13d7892ec42d51d3d175faba5211ffe13ed25d4fb348ac9e9ce835593"
+SRC_URI[const-random-macro-0.1.16.sha256sum] = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e"
+SRC_URI[constant_time_eq-0.3.0.sha256sum] = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2"
SRC_URI[conv-0.3.3.sha256sum] = "78ff10625fd0ac447827aa30ea8b861fead473bb60aeb73af6c1c58caf0d1299"
SRC_URI[core-foundation-sys-0.8.3.sha256sum] = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
SRC_URI[coz-0.1.3.sha256sum] = "cef55b3fe2f5477d59e12bc792e8b3c95a25bd099eadcfae006ecea136de76e2"
@@ -334,7 +332,7 @@
SRC_URI[crossterm_winapi-0.9.1.sha256sum] = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b"
SRC_URI[crunchy-0.2.2.sha256sum] = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
SRC_URI[crypto-common-0.1.6.sha256sum] = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
-SRC_URI[ctrlc-3.4.0.sha256sum] = "2a011bbe2c35ce9c1f143b7af6f94f29a167beb4cd1d29e6740ce836f723120e"
+SRC_URI[ctrlc-3.4.1.sha256sum] = "82e95fbd621905b854affdc67943b043a0fbb6ed7385fd5a25650d19a8a6cfdf"
SRC_URI[custom_derive-0.1.7.sha256sum] = "ef8ae57c4978a2acd8b869ce6b9ca1dfe817bff704c220209fdef2c0b75a01b9"
SRC_URI[data-encoding-2.4.0.sha256sum] = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308"
SRC_URI[data-encoding-macro-0.1.13.sha256sum] = "c904b33cc60130e1aeea4956ab803d08a3f4a0ca82d64ed757afac3891f2bb99"
@@ -342,14 +340,13 @@
SRC_URI[diff-0.1.13.sha256sum] = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8"
SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
SRC_URI[dlv-list-0.5.0.sha256sum] = "d529fd73d344663edfd598ccb3f344e46034db51ebd103518eae34338248ad73"
-SRC_URI[dns-lookup-2.0.2.sha256sum] = "8f332aa79f9e9de741ac013237294ef42ce2e9c6394dc7d766725812f1238812"
+SRC_URI[dns-lookup-2.0.4.sha256sum] = "e5766087c2235fec47fafa4cfecc81e494ee679d0fd4a59887ea0919bfb0e4fc"
SRC_URI[dunce-1.0.4.sha256sum] = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b"
SRC_URI[either-1.8.0.sha256sum] = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797"
SRC_URI[encode_unicode-0.3.6.sha256sum] = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
SRC_URI[env_logger-0.8.4.sha256sum] = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3"
-SRC_URI[errno-0.3.1.sha256sum] = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
-SRC_URI[errno-dragonfly-0.1.2.sha256sum] = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
-SRC_URI[exacl-0.10.0.sha256sum] = "1cfeb22a59deb24c3262c43ffcafd1eb807180f371f9fcc99098d181b5d639be"
+SRC_URI[errno-0.3.5.sha256sum] = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860"
+SRC_URI[exacl-0.11.0.sha256sum] = "c695152c1c2777163ea93fff517edc6dd1f8fc226c14b0d60cdcde0beb316d9f"
SRC_URI[fastrand-2.0.0.sha256sum] = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764"
SRC_URI[file_diff-1.0.0.sha256sum] = "31a7a908b8f32538a2143e59a6e4e2508988832d5d4d6f7c156b3cbc762643a5"
SRC_URI[filetime-0.2.22.sha256sum] = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0"
@@ -374,7 +371,7 @@
SRC_URI[generic-array-0.14.6.sha256sum] = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9"
SRC_URI[getrandom-0.2.9.sha256sum] = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4"
SRC_URI[glob-0.3.1.sha256sum] = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
-SRC_URI[half-2.2.1.sha256sum] = "02b4af3693f1b705df946e9fe5631932443781d0aabb423b62fcd4d73f6d2fd0"
+SRC_URI[half-2.3.1.sha256sum] = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872"
SRC_URI[hashbrown-0.13.2.sha256sum] = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
SRC_URI[hermit-abi-0.3.2.sha256sum] = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
SRC_URI[hex-0.4.3.sha256sum] = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
@@ -386,7 +383,6 @@
SRC_URI[inotify-0.9.6.sha256sum] = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff"
SRC_URI[inotify-sys-0.1.5.sha256sum] = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb"
SRC_URI[io-lifetimes-1.0.11.sha256sum] = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
-SRC_URI[is-terminal-0.4.9.sha256sum] = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
SRC_URI[itertools-0.11.0.sha256sum] = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57"
SRC_URI[itoa-1.0.4.sha256sum] = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc"
SRC_URI[js-sys-0.3.64.sha256sum] = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
@@ -395,31 +391,30 @@
SRC_URI[kqueue-sys-1.0.3.sha256sum] = "8367585489f01bc55dd27404dcf56b95e6da061a256a666ab23be9ba96a2e587"
SRC_URI[lazy_static-1.4.0.sha256sum] = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
SRC_URI[lazycell-1.3.0.sha256sum] = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
-SRC_URI[libc-0.2.147.sha256sum] = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+SRC_URI[libc-0.2.150.sha256sum] = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
SRC_URI[libloading-0.7.4.sha256sum] = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f"
SRC_URI[libm-0.2.7.sha256sum] = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4"
SRC_URI[linux-raw-sys-0.1.4.sha256sum] = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4"
SRC_URI[linux-raw-sys-0.3.8.sha256sum] = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
-SRC_URI[linux-raw-sys-0.4.5.sha256sum] = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503"
+SRC_URI[linux-raw-sys-0.4.10.sha256sum] = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f"
SRC_URI[lock_api-0.4.9.sha256sum] = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
SRC_URI[log-0.4.17.sha256sum] = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
SRC_URI[lscolors-0.15.0.sha256sum] = "bf7015a04103ad78abb77e4b79ed151e767922d1cfde5f62640471c629a2320d"
SRC_URI[match_cfg-0.1.0.sha256sum] = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4"
-SRC_URI[md-5-0.10.5.sha256sum] = "6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca"
+SRC_URI[md-5-0.10.6.sha256sum] = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf"
SRC_URI[memchr-2.6.2.sha256sum] = "5486aed0026218e61b8a01d5fbd5a0a134649abb71a0e53b7bc088529dced86e"
-SRC_URI[memmap2-0.7.0.sha256sum] = "180d4b35be83d33392d1d1bfbd2ae1eca7ff5de1a94d3fc87faaa99a069e7cbd"
+SRC_URI[memmap2-0.9.0.sha256sum] = "deaba38d7abf1d4cca21cc89e932e542ba2b9258664d2a9ef0e61512039c9375"
SRC_URI[memoffset-0.8.0.sha256sum] = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1"
SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
SRC_URI[miniz_oxide-0.5.4.sha256sum] = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34"
SRC_URI[mio-0.8.6.sha256sum] = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9"
-SRC_URI[nix-0.26.2.sha256sum] = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a"
+SRC_URI[nix-0.27.1.sha256sum] = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053"
SRC_URI[nom-7.1.3.sha256sum] = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
SRC_URI[notify-6.0.1.sha256sum] = "5738a2795d57ea20abec2d6d76c6081186709c0024187cd5977265eda6598b51"
SRC_URI[nu-ansi-term-0.49.0.sha256sum] = "c073d3c1930d0751774acf49e66653acecb416c3a54c6ec095a9b11caddb5a68"
SRC_URI[num-bigint-0.4.4.sha256sum] = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0"
SRC_URI[num-integer-0.1.45.sha256sum] = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
-SRC_URI[num-traits-0.2.16.sha256sum] = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2"
-SRC_URI[num_cpus-1.16.0.sha256sum] = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
+SRC_URI[num-traits-0.2.17.sha256sum] = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
SRC_URI[num_threads-0.1.6.sha256sum] = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44"
SRC_URI[number_prefix-0.4.0.sha256sum] = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
SRC_URI[once_cell-1.18.0.sha256sum] = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
@@ -429,7 +424,7 @@
SRC_URI[os_display-0.1.3.sha256sum] = "7a6229bad892b46b0dcfaaeb18ad0d2e56400f5aaea05b768bde96e73676cf75"
SRC_URI[parking_lot-0.12.1.sha256sum] = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
SRC_URI[parking_lot_core-0.9.8.sha256sum] = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
-SRC_URI[parse_datetime-0.4.0.sha256sum] = "fecceaede7767a9a98058687a321bc91742eff7670167a34104afb30fc8757df"
+SRC_URI[parse_datetime-0.5.0.sha256sum] = "3bbf4e25b13841080e018a1e666358adfe5e39b6d353f986ca5091c210b586a1"
SRC_URI[peeking_take_while-0.1.2.sha256sum] = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
SRC_URI[phf-0.11.2.sha256sum] = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc"
SRC_URI[phf_codegen-0.11.2.sha256sum] = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a"
@@ -444,7 +439,8 @@
SRC_URI[pretty_assertions-1.4.0.sha256sum] = "af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66"
SRC_URI[proc-macro-hack-0.5.20+deprecated.sha256sum] = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
SRC_URI[proc-macro2-1.0.63.sha256sum] = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb"
-SRC_URI[procfs-0.15.1.sha256sum] = "943ca7f9f29bab5844ecd8fdb3992c5969b6622bb9609b9502fef9b4310e3f1f"
+SRC_URI[procfs-0.16.0.sha256sum] = "731e0d9356b0c25f16f33b5be79b1c57b562f141ebfcdb0ad8ac2c13a24293b4"
+SRC_URI[procfs-core-0.16.0.sha256sum] = "2d3554923a69f4ce04c4a754260c338f505ce22642d3830e049a399fc2059a29"
SRC_URI[quick-error-2.0.1.sha256sum] = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3"
SRC_URI[quickcheck-1.0.3.sha256sum] = "588f6378e4dd99458b60ec275b4477add41ce4fa9f64dcba6f15adccb19b50d6"
SRC_URI[quote-1.0.29.sha256sum] = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105"
@@ -452,13 +448,14 @@
SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
SRC_URI[rand_pcg-0.3.1.sha256sum] = "59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e"
-SRC_URI[rayon-1.7.0.sha256sum] = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b"
-SRC_URI[rayon-core-1.11.0.sha256sum] = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d"
+SRC_URI[rayon-1.8.0.sha256sum] = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1"
+SRC_URI[rayon-core-1.12.0.sha256sum] = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed"
SRC_URI[redox_syscall-0.3.5.sha256sum] = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+SRC_URI[redox_syscall-0.4.0.sha256sum] = "ded0bce2d41cc3c57aefa284708ced249a64acb01745dbbe72bd78610bfd644c"
SRC_URI[reference-counted-singleton-0.1.2.sha256sum] = "f1bfbf25d7eb88ddcbb1ec3d755d0634da8f7657b2cb8b74089121409ab8228f"
-SRC_URI[regex-1.9.5.sha256sum] = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47"
-SRC_URI[regex-automata-0.3.8.sha256sum] = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795"
-SRC_URI[regex-syntax-0.7.5.sha256sum] = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
+SRC_URI[regex-1.10.2.sha256sum] = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
+SRC_URI[regex-automata-0.4.3.sha256sum] = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
+SRC_URI[regex-syntax-0.8.2.sha256sum] = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
SRC_URI[relative-path-1.8.0.sha256sum] = "4bf2521270932c3c7bed1a59151222bd7643c79310f2916f01925e1e16255698"
SRC_URI[rlimit-0.10.1.sha256sum] = "3560f70f30a0f16d11d01ed078a07740fe6b489667abc7c7b029155d9f21c3d8"
SRC_URI[roff-0.2.1.sha256sum] = "b833d8d034ea094b1ea68aa6d5c740e0d04bad9d16568d08ba6f76823a114316"
@@ -468,17 +465,17 @@
SRC_URI[rustc-hash-1.1.0.sha256sum] = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
SRC_URI[rustc_version-0.4.0.sha256sum] = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
SRC_URI[rustix-0.36.15.sha256sum] = "c37f1bd5ef1b5422177b7646cba67430579cfe2ace80f284fee876bca52ad941"
-SRC_URI[rustix-0.37.23.sha256sum] = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06"
-SRC_URI[rustix-0.38.8.sha256sum] = "19ed4fa021d81c8392ce04db050a3da9a60299050b7ae1cf482d862b54a7218f"
+SRC_URI[rustix-0.37.26.sha256sum] = "84f3f8f960ed3b5a59055428714943298bf3fa2d4a1d53135084e0544829d995"
+SRC_URI[rustix-0.38.21.sha256sum] = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3"
SRC_URI[same-file-1.0.6.sha256sum] = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
SRC_URI[scopeguard-1.1.0.sha256sum] = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
-SRC_URI[self_cell-1.0.1.sha256sum] = "4c309e515543e67811222dbc9e3dd7e1056279b782e1dacffe4242b718734fb6"
+SRC_URI[self_cell-1.0.2.sha256sum] = "e388332cd64eb80cd595a00941baf513caffae8dce9cfd0467fc9c66397dade6"
SRC_URI[selinux-0.4.0.sha256sum] = "a00576725d21b588213fbd4af84cd7e4cc4304e8e9bd6c0f5a1498a3e2ca6a51"
SRC_URI[selinux-sys-0.6.2.sha256sum] = "806d381649bb85347189d2350728817418138d11d738e2482cb644ec7f3c755d"
SRC_URI[semver-1.0.14.sha256sum] = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4"
SRC_URI[serde-1.0.147.sha256sum] = "d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965"
-SRC_URI[sha1-0.10.5.sha256sum] = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3"
-SRC_URI[sha2-0.10.7.sha256sum] = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
+SRC_URI[sha1-0.10.6.sha256sum] = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
+SRC_URI[sha2-0.10.8.sha256sum] = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
SRC_URI[sha3-0.10.8.sha256sum] = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60"
SRC_URI[shlex-1.1.0.sha256sum] = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3"
SRC_URI[signal-hook-0.3.17.sha256sum] = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801"
@@ -490,14 +487,12 @@
SRC_URI[smallvec-1.11.0.sha256sum] = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
SRC_URI[smawk-0.3.1.sha256sum] = "f67ad224767faa3c7d8b6d91985b78e70a1324408abcb1cfcc2be4c06bc06043"
SRC_URI[socket2-0.5.3.sha256sum] = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877"
-SRC_URI[static_assertions-1.1.0.sha256sum] = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
SRC_URI[strsim-0.10.0.sha256sum] = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
-SRC_URI[subtle-2.4.1.sha256sum] = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"
SRC_URI[syn-1.0.109.sha256sum] = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
SRC_URI[syn-2.0.23.sha256sum] = "59fb7d6d8281a51045d62b8eb3a7d1ce347b76f312af50cd3dc0af39c87c1737"
-SRC_URI[tempfile-3.8.0.sha256sum] = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
-SRC_URI[term_grid-0.1.7.sha256sum] = "230d3e804faaed5a39b08319efb797783df2fd9671b39b7596490cb486d702cf"
+SRC_URI[tempfile-3.8.1.sha256sum] = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5"
SRC_URI[terminal_size-0.2.6.sha256sum] = "8e6bf6f19e9f8ed8d4048dc22981458ebcf406d67e94cd422e5ecd73d63b3237"
+SRC_URI[terminal_size-0.3.0.sha256sum] = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7"
SRC_URI[textwrap-0.16.0.sha256sum] = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
SRC_URI[thiserror-1.0.37.sha256sum] = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e"
SRC_URI[thiserror-impl-1.0.37.sha256sum] = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb"
@@ -509,13 +504,14 @@
SRC_URI[unicode-ident-1.0.5.sha256sum] = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3"
SRC_URI[unicode-linebreak-0.1.5.sha256sum] = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f"
SRC_URI[unicode-segmentation-1.10.1.sha256sum] = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
-SRC_URI[unicode-width-0.1.10.sha256sum] = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
+SRC_URI[unicode-width-0.1.11.sha256sum] = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
SRC_URI[unicode-xid-0.2.4.sha256sum] = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
SRC_URI[unindent-0.2.1.sha256sum] = "5aa30f5ea51ff7edfc797c6d3f9ec8cbd8cfedef5371766b7181d33977f4814f"
SRC_URI[utf8parse-0.2.1.sha256sum] = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
SRC_URI[uuid-1.2.2.sha256sum] = "422ee0de9031b5b948b97a8fc04e3aa35230001a722ddd27943e0be31564ce4c"
+SRC_URI[uutils_term_grid-0.3.0.sha256sum] = "b389452a568698688dda38802068378a16c15c4af9b153cdd99b65391292bbc7"
SRC_URI[version_check-0.9.4.sha256sum] = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
-SRC_URI[walkdir-2.3.2.sha256sum] = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56"
+SRC_URI[walkdir-2.4.0.sha256sum] = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
SRC_URI[wasm-bindgen-0.2.87.sha256sum] = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
SRC_URI[wasm-bindgen-backend-0.2.87.sha256sum] = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
@@ -523,10 +519,10 @@
SRC_URI[wasm-bindgen-macro-support-0.2.87.sha256sum] = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
SRC_URI[wasm-bindgen-shared-0.2.87.sha256sum] = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
SRC_URI[which-4.3.0.sha256sum] = "1c831fbbee9e129a8cf93e7747a82da9d95ba8e16621cae60ec2cdc849bacb7b"
-SRC_URI[wild-2.1.0.sha256sum] = "05b116685a6be0c52f5a103334cbff26db643826c7b3735fc0a3ba9871310a74"
+SRC_URI[wild-2.2.0.sha256sum] = "10d01931a94d5a115a53f95292f51d316856b68a035618eb831bbba593a30b67"
SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
-SRC_URI[winapi-util-0.1.5.sha256sum] = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+SRC_URI[winapi-util-0.1.6.sha256sum] = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
SRC_URI[windows-sys-0.45.0.sha256sum] = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
SRC_URI[windows-sys-0.48.0.sha256sum] = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
diff --git a/meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.0.21.bb b/meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.0.21.bb
deleted file mode 100644
index a070fe7..0000000
--- a/meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.0.21.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "coreutils ~ GNU coreutils (updated); implemented as universal (cross-platform) utils, written in Rust"
-HOMEPAGE = "https://github.com/uutils/coreutils"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=41f7469eaacac62c67d5664fff2c062d"
-
-inherit cargo cargo-update-recipe-crates
-
-SRC_URI += "git://github.com/uutils/coreutils.git;protocol=https;branch=main"
-
-# musl not supported because the libc crate does not support functions like "endutxent" at the moment,
-# so src/uucore/src/lib/features.rs disables utmpx when targetting musl.
-COMPATIBLE_HOST:libc-musl = "null"
-
-SRCREV = "7c7a6083d90af031ed14b585a9c60fa3b79422a0"
-S = "${WORKDIR}/git"
-
-require ${BPN}-crates.inc
-
-include uutils-coreutils.inc
diff --git a/meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.0.23.bb b/meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.0.23.bb
new file mode 100644
index 0000000..f0bb4d2
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.0.23.bb
@@ -0,0 +1,19 @@
+SUMMARY = "coreutils ~ GNU coreutils (updated); implemented as universal (cross-platform) utils, written in Rust"
+HOMEPAGE = "https://github.com/uutils/coreutils"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=41f7469eaacac62c67d5664fff2c062d"
+
+inherit cargo cargo-update-recipe-crates
+
+SRC_URI += "git://github.com/uutils/coreutils.git;protocol=https;branch=main"
+
+# musl not supported because the libc crate does not support functions like "endutxent" at the moment,
+# so src/uucore/src/lib/features.rs disables utmpx when targetting musl.
+COMPATIBLE_HOST:libc-musl = "null"
+
+SRCREV = "a3af2230a64d3b60832ce9944df5388a5ba9128a"
+S = "${WORKDIR}/git"
+
+require ${BPN}-crates.inc
+
+include uutils-coreutils.inc
diff --git a/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.19.3.bb b/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.19.3.bb
deleted file mode 100644
index 8d9d423..0000000
--- a/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.19.3.bb
+++ /dev/null
@@ -1,52 +0,0 @@
-SUMMARY = "Crypto and TLS for C++11"
-HOMEPAGE = "https://botan.randombit.net"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://license.txt;md5=f4ce98476c07c34e1793daa036960fad"
-SECTION = "libs"
-
-SRC_URI = "https://botan.randombit.net/releases/Botan-${PV}.tar.xz"
-SRC_URI[sha256sum] = "dae047f399c5a47f087db5d3d9d9e8f11ae4985d14c928d71da1aff801802d55"
-
-S = "${WORKDIR}/Botan-${PV}"
-
-inherit python3native siteinfo lib_package
-
-CPU ?= "${TARGET_ARCH}"
-CPU:x86 = "x86_32"
-CPU:armv7a = "armv7"
-CPU:armv7ve = "armv7"
-
-do_configure() {
- python3 ${S}/configure.py \
- --prefix="${D}${exec_prefix}" \
- --libdir="${D}${libdir}" \
- --cpu="${CPU}" \
- --cc-bin="${CXX}" \
- --cxxflags="${CXXFLAGS}" \
- --ldflags="${LDFLAGS}" \
- --with-endian=${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'little', 'big', d)} \
- ${@bb.utils.contains("TUNE_FEATURES","neon","","--disable-neon",d)} \
- --with-sysroot-dir=${STAGING_DIR_HOST} \
- --with-build-dir="${B}" \
- --optimize-for-size \
- --with-stack-protector \
- --enable-shared-library \
- --with-python-versions=3 \
- ${EXTRA_OECONF}
-}
-
-do_compile() {
- oe_runmake
-}
-do_install() {
- oe_runmake install
- sed -i -e "s|${D}||g" ${D}${libdir}/pkgconfig/botan-2.pc
-}
-
-PACKAGES += "${PN}-python3"
-
-FILES:${PN}-python3 = "${libdir}/python3"
-
-RDEPENDS:${PN}-python3 += "python3"
-
-COMPATIBLE_HOST:riscv32 = "null"
diff --git a/meta-openembedded/meta-oe/recipes-crypto/botan/botan_3.2.0.bb b/meta-openembedded/meta-oe/recipes-crypto/botan/botan_3.2.0.bb
new file mode 100644
index 0000000..5eff2d3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-crypto/botan/botan_3.2.0.bb
@@ -0,0 +1,52 @@
+SUMMARY = "Crypto and TLS for C++11"
+HOMEPAGE = "https://botan.randombit.net"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://license.txt;md5=f5254d3abe90ec5bb82c5694ff751546"
+SECTION = "libs"
+
+SRC_URI = "https://botan.randombit.net/releases/Botan-${PV}.tar.xz"
+SRC_URI[sha256sum] = "049c847835fcf6ef3a9e206b33de05dd38999c325e247482772a5598d9e5ece3"
+
+S = "${WORKDIR}/Botan-${PV}"
+
+inherit python3native siteinfo lib_package
+
+CPU ?= "${TARGET_ARCH}"
+CPU:x86 = "x86_32"
+CPU:armv7a = "armv7"
+CPU:armv7ve = "armv7"
+
+do_configure() {
+ python3 ${S}/configure.py \
+ --prefix="${D}${exec_prefix}" \
+ --libdir="${D}${libdir}" \
+ --cpu="${CPU}" \
+ --cc-bin="${CXX}" \
+ --cxxflags="${CXXFLAGS}" \
+ --ldflags="${LDFLAGS}" \
+ --with-endian=${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'little', 'big', d)} \
+ ${@bb.utils.contains("TUNE_FEATURES","neon","","--disable-neon",d)} \
+ --with-sysroot-dir=${STAGING_DIR_HOST} \
+ --with-build-dir="${B}" \
+ --optimize-for-size \
+ --with-stack-protector \
+ --enable-shared-library \
+ --with-python-versions=3 \
+ ${EXTRA_OECONF}
+}
+
+do_compile() {
+ oe_runmake
+}
+do_install() {
+ oe_runmake install
+ sed -i -e "s|${D}||g" ${D}${libdir}/pkgconfig/botan-3.pc
+}
+
+PACKAGES += "${PN}-python3"
+
+FILES:${PN}-python3 = "${libdir}/python3"
+
+RDEPENDS:${PN}-python3 += "python3"
+
+COMPATIBLE_HOST:riscv32 = "null"
diff --git a/meta-openembedded/meta-oe/recipes-crypto/libsodium/libsodium/0001-fix-aarch64-Move-target-pragma-after-arm_neon.h-incl.patch b/meta-openembedded/meta-oe/recipes-crypto/libsodium/libsodium/0001-fix-aarch64-Move-target-pragma-after-arm_neon.h-incl.patch
new file mode 100644
index 0000000..7a6fae7
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-crypto/libsodium/libsodium/0001-fix-aarch64-Move-target-pragma-after-arm_neon.h-incl.patch
@@ -0,0 +1,49 @@
+From d3253310f7c0fc0f1aad6864e3b57958ea1bb9c5 Mon Sep 17 00:00:00 2001
+From: tux3 <barrdetwix@gmail.com>
+Date: Mon, 16 Oct 2023 16:42:04 +0200
+Subject: [PATCH] fix(aarch64): Move target #pragma after arm_neon.h include
+
+Fix per https://github.com/android/ndk/issues/1945
+
+If the pragma is done before the header include,
+in NDK 26 the attribute may apply to the functions in arm_neon.h
+
+Upstream-Status: Backport [https://github.com/jedisct1/libsodium/pull/1321]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ .../aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/src/libsodium/crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c b/src/libsodium/crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c
+index 0a5a128..aa76f5c 100644
+--- a/src/libsodium/crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c
++++ b/src/libsodium/crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c
+@@ -19,12 +19,6 @@
+ #define __vectorcall
+ #endif
+
+-#ifdef __clang__
+-#pragma clang attribute push(__attribute__((target("neon,crypto,aes"))), apply_to = function)
+-#elif defined(__GNUC__)
+-#pragma GCC target("+simd+crypto")
+-#endif
+-
+ #ifndef __ARM_FEATURE_CRYPTO
+ #define __ARM_FEATURE_CRYPTO 1
+ #endif
+@@ -34,6 +28,12 @@
+
+ #include <arm_neon.h>
+
++#ifdef __clang__
++#pragma clang attribute push(__attribute__((target("neon,crypto,aes"))), apply_to = function)
++#elif defined(__GNUC__)
++#pragma GCC target("+simd+crypto")
++#endif
++
+ #define ABYTES crypto_aead_aes256gcm_ABYTES
+ #define NPUBBYTES crypto_aead_aes256gcm_NPUBBYTES
+ #define KEYBYTES crypto_aead_aes256gcm_KEYBYTES
+--
+2.42.1
+
diff --git a/meta-openembedded/meta-oe/recipes-crypto/libsodium/libsodium_1.0.18.bb b/meta-openembedded/meta-oe/recipes-crypto/libsodium/libsodium_1.0.18.bb
deleted file mode 100644
index 53b3ddc..0000000
--- a/meta-openembedded/meta-oe/recipes-crypto/libsodium/libsodium_1.0.18.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "The Sodium crypto library"
-HOMEPAGE = "http://libsodium.org/"
-BUGTRACKER = "https://github.com/jedisct1/libsodium/issues"
-LICENSE = "ISC"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=47203c753972e855179dfffe15188bee"
-
-SRC_URI = "https://download.libsodium.org/libsodium/releases/${BPN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "3ca9ebc13b6b4735acae0a6a4c4f9a95"
-SRC_URI[sha256sum] = "6f504490b342a4f8a4c4a02fc9b866cbef8622d5df4e5452b46be121e46636c1"
-
-inherit autotools
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-crypto/libsodium/libsodium_1.0.19.bb b/meta-openembedded/meta-oe/recipes-crypto/libsodium/libsodium_1.0.19.bb
new file mode 100644
index 0000000..2e678f3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-crypto/libsodium/libsodium_1.0.19.bb
@@ -0,0 +1,14 @@
+SUMMARY = "The Sodium crypto library"
+HOMEPAGE = "http://libsodium.org/"
+BUGTRACKER = "https://github.com/jedisct1/libsodium/issues"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=49ce3b426e6a002e23a1387248e6dbe9"
+
+SRC_URI = "https://download.libsodium.org/libsodium/releases/${BPN}-${PV}.tar.gz \
+ file://0001-fix-aarch64-Move-target-pragma-after-arm_neon.h-incl.patch"
+SRC_URI[sha256sum] = "018d79fe0a045cca07331d37bd0cb57b2e838c51bc48fd837a1472e50068bbea"
+
+inherit autotools
+
+S = "${WORKDIR}/libsodium-stable"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-dbs/influxdb/influxdb_1.8.10.bb b/meta-openembedded/meta-oe/recipes-dbs/influxdb/influxdb_1.8.10.bb
index 50995c0..7f8110e 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/influxdb/influxdb_1.8.10.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/influxdb/influxdb_1.8.10.bb
@@ -58,11 +58,15 @@
if [ "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" ] ; then
install -d ${D}${systemd_unitdir}/system
install -m 0644 ${S}/src/${GO_IMPORT}/scripts/influxdb.service ${D}${systemd_system_unitdir}/influxdb.service
+ install -d ${D}${libdir}/influxdb/scripts
+ install -m 0755 ${S}/src/${GO_IMPORT}/scripts/influxd-systemd-start.sh ${D}${libdir}/influxdb/scripts/influxd-systemd-start.sh
fi
# TODO chown
}
+FILES:${PN} += "${libdir}/influxdb/scripts/influxd-systemd-start.sh"
+
INITSCRIPT_PACKAGES = "${PN}"
INITSCRIPT_NAME = "influxdb"
INITSCRIPT_PARAMS = "defaults"
diff --git a/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb/0001-CMakeLists.txt-fix-googletest-related-options.patch b/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb/0001-CMakeLists.txt-fix-googletest-related-options.patch
new file mode 100644
index 0000000..b0bfb8b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb/0001-CMakeLists.txt-fix-googletest-related-options.patch
@@ -0,0 +1,55 @@
+From 77da477840f89da7ced29da315de77571e8f190e Mon Sep 17 00:00:00 2001
+From: Martin Jansa <martin.jansa@gmail.com>
+Date: Fri, 20 Oct 2023 22:57:48 +0200
+Subject: [PATCH] CMakeLists.txt: fix googletest related options
+
+* https://cmake.org/cmake/help/book/mastering-cmake/chapter/Writing%20CMakeLists%20Files.html
+ says that CMake options are case-sensitive and I don't see lower-case version in
+ currently used googletest submodules and gtest is indeed installed with leveldb
+
+* install_gmock option I don't see at all, so I've kept it as is, INSTALL_GTEST, BUILD_GMOCK
+ do exist as upper-case
+
+$ grep -Ri install_.*mock .
+./CMakeLists.txt: set(install_gmock OFF)
+./third_party/googletest/googlemock/CMakeLists.txt:install_project(gmock gmock_main)
+$ grep -Ri build_gmock .
+./CMakeLists.txt: set(BUILD_GMOCK ON)
+./third_party/googletest/googletest/README.md:cmake .. -DBUILD_GMOCK=OFF
+./third_party/googletest/CMakeLists.txt:option(BUILD_GMOCK "Builds the googlemock subproject" ON)
+./third_party/googletest/CMakeLists.txt:if(BUILD_GMOCK)
+$ grep -Ri install_gtest .
+./CMakeLists.txt: set(INSTALL_GTEST OFF)
+./third_party/googletest/googletest/cmake/internal_utils.cmake: if(INSTALL_GTEST)
+./third_party/googletest/googletest/CMakeLists.txt:if (INSTALL_GTEST)
+./third_party/googletest/CMakeLists.txt:option(INSTALL_GTEST "Enable installation of googletest. (Projects embedding googletest may want to turn this OFF.)" ON)
+
+* also use CACHE and FORCE as sugested in:
+ https://cmake.org/cmake/help/latest/command/set.html
+ https://stackoverflow.com/questions/20239334/cmake-set-subdirectory-options
+ for the value to correctly propagate into third_party/googletest subdirectory
+
+Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
+---
+Upstream-Status: Submitted [https://github.com/google/leveldb/pull/1152]
+
+ CMakeLists.txt | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index fda9e01..f8a2629 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -295,9 +295,9 @@ if(LEVELDB_BUILD_TESTS)
+
+ # Prevent overriding the parent project's compiler/linker settings on Windows.
+ set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
+- set(install_gtest OFF)
+- set(install_gmock OFF)
+- set(build_gmock ON)
++ set(INSTALL_GTEST OFF CACHE BOOL "" FORCE)
++ set(install_gmock OFF CACHE BOOL "" FORCE)
++ set(BUILD_GMOCK ON CACHE BOOL "" FORCE)
+
+ # This project is tested using GoogleTest.
+ add_subdirectory("third_party/googletest")
diff --git a/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb/0001-Fix-printing-64-bit-integer-types.patch b/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb/0001-Fix-printing-64-bit-integer-types.patch
new file mode 100644
index 0000000..b9f45e7
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb/0001-Fix-printing-64-bit-integer-types.patch
@@ -0,0 +1,43 @@
+From 1ccdb7513a7a0f24b8ce3b6766e52e690874bc64 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 17 Oct 2023 19:08:12 -0700
+Subject: [PATCH] Fix printing 64-bit integer types
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ db/db_impl.cc | 5 +++--
+ db/version_edit.h | 1 +
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+--- a/db/db_impl.cc
++++ b/db/db_impl.cc
+@@ -5,6 +5,7 @@
+ #include "db/db_impl.h"
+
+ #include <algorithm>
++#include <cinttypes>
+ #include <atomic>
+ #include <cstdint>
+ #include <cstdio>
+@@ -520,8 +521,8 @@ Status DBImpl::WriteLevel0Table(MemTable
+ mutex_.Lock();
+ }
+
+- Log(options_.info_log, "Level-0 table #%llu: %lld bytes %s",
+- (unsigned long long)meta.number, (unsigned long long)meta.file_size,
++ Log(options_.info_log, "Level-0 table #%" PRIu64 " : %" PRIu64 " bytes %s",
++ meta.number, meta.file_size,
+ s.ToString().c_str());
+ delete iter;
+ pending_outputs_.erase(meta.number);
+--- a/db/version_edit.h
++++ b/db/version_edit.h
+@@ -5,6 +5,7 @@
+ #ifndef STORAGE_LEVELDB_DB_VERSION_EDIT_H_
+ #define STORAGE_LEVELDB_DB_VERSION_EDIT_H_
+
++#include <cstdint>
+ #include <set>
+ #include <utility>
+ #include <vector>
diff --git a/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb_1.22.bb b/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb_1.22.bb
deleted file mode 100644
index 6afc45a..0000000
--- a/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb_1.22.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "LevelDB is a fast key-value storage library"
-DESCRIPTION = "LevelDB is a fast key-value storage library that provides an ordered mapping from string keys to string values"
-HOMEPAGE = "https://github.com/google/leveldb"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=92d1b128950b11ba8495b64938fc164d"
-
-SRC_URI = "git://github.com/google/${BPN}.git;branch=main;protocol=https \
- file://run-ptest"
-
-SRCREV = "78b39d68c15ba020c0d60a3906fb66dbf1697595"
-S = "${WORKDIR}/git"
-
-inherit cmake ptest
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[benchmarks] = "-DLEVELDB_BUILD_BENCHMARKS=ON,-DLEVELDB_BUILD_BENCHMARKS=OFF,sqlite"
-PACKAGECONFIG[snappy] = ",,snappy"
-PACKAGECONFIG[tcmalloc] = ",,gperftools"
-
-EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_SHARED_LIBS=ON -DCMAKE_SKIP_RPATH=ON \
- -DLEVELDB_BUILD_TESTS=${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'ON', 'OFF', d)}"
-
-do_install:append() {
- install -D -m 0755 ${B}/leveldbutil ${D}${bindir}/leveldbutil
-}
-
-do_install_ptest() {
- install -m 0755 ${B}/*_test ${D}${PTEST_PATH}
-}
-
-# Do not try to build lib32-leveldb for mips64, but allow libn32-leveldb.
-#
-COMPATIBLE_HOST:mipsarcho32:pn-lib32-leveldb = "null"
diff --git a/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb_1.23.bb b/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb_1.23.bb
new file mode 100644
index 0000000..60b486d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb_1.23.bb
@@ -0,0 +1,35 @@
+SUMMARY = "LevelDB is a fast key-value storage library"
+DESCRIPTION = "LevelDB is a fast key-value storage library that provides an ordered mapping from string keys to string values"
+HOMEPAGE = "https://github.com/google/leveldb"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=92d1b128950b11ba8495b64938fc164d"
+
+SRC_URI = "gitsm://github.com/google/${BPN}.git;branch=main;protocol=https \
+ file://0001-CMakeLists.txt-fix-googletest-related-options.patch \
+ file://0001-Fix-printing-64-bit-integer-types.patch \
+ file://run-ptest \
+"
+
+SRCREV = "068d5ee1a3ac40dabd00d211d5013af44be55bea"
+S = "${WORKDIR}/git"
+
+inherit cmake ptest
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[benchmarks] = "-DLEVELDB_BUILD_BENCHMARKS=ON,-DLEVELDB_BUILD_BENCHMARKS=OFF,sqlite"
+PACKAGECONFIG[snappy] = ",,snappy"
+PACKAGECONFIG[tcmalloc] = ",,gperftools"
+
+EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_SHARED_LIBS=ON -DCMAKE_SKIP_RPATH=ON \
+ -DLEVELDB_BUILD_TESTS=${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'ON', 'OFF', d)}"
+
+do_install:append() {
+ install -D -m 0755 ${B}/leveldbutil ${D}${bindir}/leveldbutil
+}
+
+do_install_ptest() {
+ install -m 0755 ${B}/*_test ${D}${PTEST_PATH}
+}
+
+# Do not try to build lib32-leveldb for mips64, but allow libn32-leveldb.
+#
+COMPATIBLE_HOST:mipsarcho32:pn-lib32-leveldb = "null"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0004-Avoid-using-both-Win32Waiter-and-PthreadWaiter-on-Mi.patch b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0004-Avoid-using-both-Win32Waiter-and-PthreadWaiter-on-Mi.patch
new file mode 100644
index 0000000..db559bb
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0004-Avoid-using-both-Win32Waiter-and-PthreadWaiter-on-Mi.patch
@@ -0,0 +1,62 @@
+From cb7665f39e23e95e2466390c60ee5a410780a3ed Mon Sep 17 00:00:00 2001
+From: Derek Mauro <dmauro@google.com>
+Date: Wed, 8 Nov 2023 09:55:31 -0800
+Subject: [PATCH] Avoid using both Win32Waiter and PthreadWaiter on MinGW, and
+ use StdcppWaiter instead.
+
+There are various flavors of MinGW, some of which support pthread,
+and some of which support Win32. Instead of figuring out which
+platform is being used, just use the generic implementation.
+
+PiperOrigin-RevId: 580565507
+Change-Id: Ia85fd7496f1e6ebdeadb95202f0039e844826118
+Upstream-Status: Backport
+---
+ absl/synchronization/internal/pthread_waiter.h | 4 ++--
+ absl/synchronization/internal/win32_waiter.h | 6 ++++--
+ 2 files changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/absl/synchronization/internal/pthread_waiter.h b/absl/synchronization/internal/pthread_waiter.h
+index 206aefa4..23db76ad 100644
+--- a/absl/synchronization/internal/pthread_waiter.h
++++ b/absl/synchronization/internal/pthread_waiter.h
+@@ -16,7 +16,7 @@
+ #ifndef ABSL_SYNCHRONIZATION_INTERNAL_PTHREAD_WAITER_H_
+ #define ABSL_SYNCHRONIZATION_INTERNAL_PTHREAD_WAITER_H_
+
+-#ifndef _WIN32
++#if !defined(_WIN32) && !defined(__MINGW32__)
+ #include <pthread.h>
+
+ #include "absl/base/config.h"
+@@ -55,6 +55,6 @@ class PthreadWaiter : public WaiterCrtp<PthreadWaiter> {
+ ABSL_NAMESPACE_END
+ } // namespace absl
+
+-#endif // ndef _WIN32
++#endif // !defined(_WIN32) && !defined(__MINGW32__)
+
+ #endif // ABSL_SYNCHRONIZATION_INTERNAL_PTHREAD_WAITER_H_
+diff --git a/absl/synchronization/internal/win32_waiter.h b/absl/synchronization/internal/win32_waiter.h
+index 87eb617c..fdab264e 100644
+--- a/absl/synchronization/internal/win32_waiter.h
++++ b/absl/synchronization/internal/win32_waiter.h
+@@ -20,7 +20,8 @@
+ #include <sdkddkver.h>
+ #endif
+
+-#if defined(_WIN32) && _WIN32_WINNT >= _WIN32_WINNT_VISTA
++#if defined(_WIN32) && !defined(__MINGW32__) && \
++ _WIN32_WINNT >= _WIN32_WINNT_VISTA
+
+ #include "absl/base/config.h"
+ #include "absl/synchronization/internal/kernel_timeout.h"
+@@ -65,6 +66,7 @@ class Win32Waiter : public WaiterCrtp<Win32Waiter> {
+ ABSL_NAMESPACE_END
+ } // namespace absl
+
+-#endif // defined(_WIN32) && _WIN32_WINNT >= _WIN32_WINNT_VISTA
++#endif // defined(_WIN32) && !defined(__MINGW32__) &&
++ // _WIN32_WINNT >= _WIN32_WINNT_VISTA
+
+ #endif // ABSL_SYNCHRONIZATION_INTERNAL_WIN32_WAITER_H_
diff --git a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
index f847ebf..65ecab7 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
@@ -7,14 +7,15 @@
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=df52c6edb7adc22e533b2bacc3bd3915"
-PV = "20230802.0"
-SRCREV = "29bf8085f3bf17b84d30e34b3d7ff8248fda404e"
+PV = "20230802.1"
+SRCREV = "fb3621f4f897824c0dbe0615fa94543df6192f30"
BRANCH = "lts_2023_08_02"
SRC_URI = "git://github.com/abseil/abseil-cpp;branch=${BRANCH};protocol=https \
file://0001-absl-always-use-asm-sgidefs.h.patch \
file://0002-Remove-maes-option-from-cross-compilation.patch \
file://abseil-ppc-fixes.patch \
file://0003-Remove-neon-option-from-cross-compilation.patch \
+ file://0004-Avoid-using-both-Win32Waiter-and-PthreadWaiter-on-Mi.patch \
"
S = "${WORKDIR}/git"
@@ -32,4 +33,6 @@
BBCLASSEXTEND = "native nativesdk"
+SYSROOT_DIRS:append:class-nativesdk:mingw32 = " ${bindir}"
+
FILES:${PN}-dev += "${includedir} ${libdir}/cmake ${libdir}/pkgconfig"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
index 9278146..1c66ea4 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
@@ -92,7 +92,7 @@
# Setting both variables below causing our makefiles to not work with
# implicit make rules
- CFLAGS="-ffile-prefix-map=${S}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}"
+ CFLAGS="-ffile-prefix-map=${S}=${TARGET_DBGSRC_DIR}"
unset CPPFLAGS
export SRCDIR=${S}
diff --git a/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.10.4.bb b/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.10.4.bb
deleted file mode 100644
index bbdc3b5..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.10.4.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-SUMMARY = "Cap'n Proto serialization/RPC system"
-DESCRIPTION = "Cap’n Proto is an insanely fast data interchange format and capability-based RPC system. "
-HOMEPAGE = "https://github.com/sandstorm-io/capnproto"
-SECTION = "console/tools"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://../LICENSE;md5=a05663ae6cca874123bf667a60dca8c9"
-
-SRC_URI = "git://github.com/sandstorm-io/capnproto.git;branch=release-0.10.4;protocol=https"
-SRCREV = "a91ec65323c2577732224d0cf6f5bf1e79d3a724"
-
-S = "${WORKDIR}/git/c++"
-
-inherit cmake
-
-CXXFLAGS:append:mips = " -latomic"
-CXXFLAGS:append:powerpc = " -latomic"
-CXXFLAGS:append:riscv32 = " -latomic"
-
-EXTRA_OECMAKE += "\
- -DBUILD_TESTING=OFF \
-"
-
-FILES:${PN}-compiler = "${bindir}"
-
-PACKAGE_BEFORE_PN = "${PN}-compiler"
-RDEPENDS:${PN}-dev += "${PN}-compiler"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_1.0.1.bb b/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_1.0.1.bb
new file mode 100644
index 0000000..99a76d4
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_1.0.1.bb
@@ -0,0 +1,28 @@
+SUMMARY = "Cap'n Proto serialization/RPC system"
+DESCRIPTION = "Cap’n Proto is an insanely fast data interchange format and capability-based RPC system. "
+HOMEPAGE = "https://github.com/sandstorm-io/capnproto"
+SECTION = "console/tools"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://../LICENSE;md5=a05663ae6cca874123bf667a60dca8c9"
+
+SRC_URI = "git://github.com/sandstorm-io/capnproto.git;branch=release-${PV};protocol=https"
+SRCREV = "c7f810a76ca88ff28613fa165927e0269255aab0"
+
+S = "${WORKDIR}/git/c++"
+
+inherit cmake
+
+CXXFLAGS:append:mips = " -latomic"
+CXXFLAGS:append:powerpc = " -latomic"
+CXXFLAGS:append:riscv32 = " -latomic"
+
+EXTRA_OECMAKE += "\
+ -DBUILD_TESTING=OFF \
+"
+
+FILES:${PN}-compiler = "${bindir}"
+
+PACKAGE_BEFORE_PN = "${PN}-compiler"
+RDEPENDS:${PN}-dev += "${PN}-compiler"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/cjson/cjson/run-ptest b/meta-openembedded/meta-oe/recipes-devtools/cjson/cjson/run-ptest
new file mode 100644
index 0000000..f061e94
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/cjson/cjson/run-ptest
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+# exclude json_patch_tests
+if ctest -E 'json_patch_tests' ; then
+ echo "PASS: cjson"
+else
+ echo "FAIL: cjson"
+fi
diff --git a/meta-openembedded/meta-oe/recipes-devtools/cjson/cjson_1.7.15.bb b/meta-openembedded/meta-oe/recipes-devtools/cjson/cjson_1.7.15.bb
deleted file mode 100644
index 8bf7981..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/cjson/cjson_1.7.15.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-DESCRIPTION = "Ultralightweight JSON parser in ANSI C"
-HOMEPAGE = "https://github.com/DaveGamble/cJSON"
-SECTION = "libs"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=218947f77e8cb8e2fa02918dc41c50d0"
-
-SRC_URI = "git://github.com/DaveGamble/cJSON.git;branch=master;protocol=https"
-SRCREV = "d348621ca93571343a56862df7de4ff3bc9b5667"
-
-S = "${WORKDIR}/git"
-
-inherit cmake pkgconfig
-
-EXTRA_OECMAKE += "\
- -DENABLE_CJSON_UTILS=On \
- -DENABLE_CUSTOM_COMPILER_FLAGS=OFF \
- -DBUILD_SHARED_AND_STATIC_LIBS=On \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/cjson/cjson_1.7.16.bb b/meta-openembedded/meta-oe/recipes-devtools/cjson/cjson_1.7.16.bb
new file mode 100644
index 0000000..f8e0bbf
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/cjson/cjson_1.7.16.bb
@@ -0,0 +1,40 @@
+DESCRIPTION = "Ultralightweight JSON parser in ANSI C"
+HOMEPAGE = "https://github.com/DaveGamble/cJSON"
+SECTION = "libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=218947f77e8cb8e2fa02918dc41c50d0"
+
+SRC_URI = "git://github.com/DaveGamble/cJSON.git;branch=master;protocol=https \
+ file://run-ptest \
+ "
+SRCREV = "cb8693b058ba302f4829ec6d03f609ac6f848546"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig ptest
+
+RDEPENDS:${PN}-ptest += "cmake"
+
+do_install_ptest() {
+ # create directories
+ install -d ${D}${PTEST_PATH} ${D}${PTEST_PATH}/tests ${D}${PTEST_PATH}/fuzzing
+ install -d ${D}${PTEST_PATH}/tests/inputs ${D}${PTEST_PATH}/tests/json-patch-tests
+ # CTestTestfiles.cmake contain fully defined path generated by cmake.
+ # Change the fully defined path to ptest path on the target
+ sed s#${B}#${PTEST_PATH}# ${B}/CTestTestfile.cmake > ${D}${PTEST_PATH}/CTestTestfile.cmake
+ sed s#${B}#${PTEST_PATH}# ${B}/tests/CTestTestfile.cmake > ${D}${PTEST_PATH}/tests/CTestTestfile.cmake
+ sed s#${B}#${PTEST_PATH}# ${B}/fuzzing/CTestTestfile.cmake > ${D}${PTEST_PATH}/fuzzing/CTestTestfile.cmake
+ # install test artifacts
+ install ${B}/cJSON_test ${D}${PTEST_PATH}
+ install ${B}/tests/cjson_add ${B}/tests/*_tests ${B}/tests/parse_* ${B}/tests/print_* ${B}/tests/readme_examples ${D}${PTEST_PATH}/tests/
+ install ${B}/tests/inputs/* ${D}${PTEST_PATH}/tests/inputs
+ install ${B}/fuzzing/fuzz_main ${D}${PTEST_PATH}/fuzzing
+}
+
+EXTRA_OECMAKE += "\
+ -DENABLE_CJSON_UTILS=On \
+ -DENABLE_CUSTOM_COMPILER_FLAGS=OFF \
+ -DBUILD_SHARED_AND_STATIC_LIBS=On \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.94.bb b/meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.94.bb
deleted file mode 100644
index 37a21cc..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.94.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Count blank lines, comment lines, and physical lines of source code \
-in many programming languages."
-
-LICENSE="GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=2c1c00f9d3ed9e24fa69b932b7e7aff2"
-
-SRC_URI = "https://github.com/AlDanial/cloc/releases/download/v${PV}/${BP}.tar.gz"
-SRC_URI[sha256sum] = "08212290c4e9b21c7bb1abc0a9b4a365ce1c5eb0d8f3ebb74d50b29559a71a9c"
-
-UPSTREAM_CHECK_URI = "https://github.com/AlDanial/${BPN}/releases"
-
-do_configure[noexec] = "1"
-do_compile[noexec] = "1"
-
-do_install() {
- install -D -m 0755 ${S}/cloc ${D}${bindir}/cloc
-}
-
-RDEPENDS:${PN} = "perl perl-modules"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.98.bb b/meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.98.bb
new file mode 100644
index 0000000..ea5f006
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.98.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Count blank lines, comment lines, and physical lines of source code \
+in many programming languages."
+
+LICENSE="GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2c1c00f9d3ed9e24fa69b932b7e7aff2"
+
+SRC_URI = "https://github.com/AlDanial/cloc/releases/download/v${PV}/${BP}.tar.gz"
+SRC_URI[sha256sum] = "5fe0b159eb75718df7308a4f61470eaddf82170733929999e37a3fbb4651cf8a"
+
+UPSTREAM_CHECK_URI = "https://github.com/AlDanial/${BPN}/releases"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install() {
+ install -D -m 0755 ${S}/cloc ${D}${bindir}/cloc
+}
+
+RDEPENDS:${PN} = "perl perl-modules"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/cpuid/cpuid_20211129.bb b/meta-openembedded/meta-oe/recipes-devtools/cpuid/cpuid_20211129.bb
deleted file mode 100644
index 3218ba6..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/cpuid/cpuid_20211129.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Linux tool to dump x86 CPUID information about the CPU(s)"
-DESCRIPTION = "cpuid dumps detailed information about the CPU(s) gathered \
-from the CPUID instruction, and also determines the exact model of CPU(s). \
-It supports Intel, AMD, and VIA CPUs, as well as older Transmeta, Cyrix, \
-UMC, NexGen, Rise, and SiS CPUs"
-HOMEPAGE="http://www.etallen.com/cpuid.html"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "http://www.etallen.com/${BPN}/${BP}.src.tar.gz \
- "
-SRC_URI[sha256sum] = "230772bb88c44732e68a42d2eff43bcff46d893bf4ea6e04151d4cb6e8c88e2f"
-
-COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
-
-inherit perlnative
-
-# The install rule from the Makefile has hardcoded paths, so we duplicate
-# the actions to accommodate different paths.
-do_install () {
- install -D -m 0755 ${B}/cpuid ${D}/${bindir}/cpuid
- install -D -m 0444 ${B}/cpuid.man.gz ${D}/${mandir}
-}
diff --git a/meta-openembedded/meta-oe/recipes-devtools/cpuid/cpuid_20230614.bb b/meta-openembedded/meta-oe/recipes-devtools/cpuid/cpuid_20230614.bb
new file mode 100644
index 0000000..a88042b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/cpuid/cpuid_20230614.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Linux tool to dump x86 CPUID information about the CPU(s)"
+DESCRIPTION = "cpuid dumps detailed information about the CPU(s) gathered \
+from the CPUID instruction, and also determines the exact model of CPU(s). \
+It supports Intel, AMD, and VIA CPUs, as well as older Transmeta, Cyrix, \
+UMC, NexGen, Rise, and SiS CPUs"
+HOMEPAGE="http://www.etallen.com/cpuid.html"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "http://www.etallen.com/${BPN}/${BP}.src.tar.gz \
+ "
+SRC_URI[sha256sum] = "b1c83045efc26076307751e0662d580277f5f9bf89cf027231a7812003c3a4e8"
+
+COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
+
+inherit perlnative
+
+# The install rule from the Makefile has hardcoded paths, so we duplicate
+# the actions to accommodate different paths.
+do_install () {
+ install -D -m 0755 ${B}/cpuid ${D}/${bindir}/cpuid
+ install -D -m 0444 ${B}/cpuid.man.gz ${D}/${mandir}
+}
diff --git a/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_6.0.20230917.0.bb b/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_6.0.20230917.0.bb
deleted file mode 100644
index 02afbfb..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_6.0.20230917.0.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright (C) 2015 Igor Santos <igor.santos@aker.com.br>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-SUMMARY = "Universal Ctags"
-DESCRIPTION = "Universal Ctags is a multilanguage reimplementation of the \
- Unix ctags utility. Ctags generates an index of source code \
- definitions which is used by numerous editors and utilities \
- to instantly locate the definitions."
-
-HOMEPAGE = "https://ctags.io/"
-
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
-
-inherit autotools-brokensep pkgconfig manpages
-
-SRCREV = "481ad1b36daca1d40060dd32b0d825cddc97e9cb"
-SRC_URI = "git://github.com/universal-ctags/ctags;branch=master;protocol=https"
-
-S = "${WORKDIR}/git"
-
-PACKAGECONFIG ??= " \
- readcmd \
- xml \
- json \
- yaml \
-"
-PACKAGECONFIG[readcmd] = "--enable-readcmd,--disable-readcmd"
-PACKAGECONFIG[etags] = "--enable-etags,--disable-etags"
-PACKAGECONFIG[xml] = "--enable-xml,--disable-xml,libxml2"
-PACKAGECONFIG[json] = "--enable-json,--disable-json,jansson"
-PACKAGECONFIG[seccomp] = "--enable-seccomp,--disable-seccomp,libseccomp"
-PACKAGECONFIG[yaml] = "--enable-yaml,--disable-yaml,libyaml"
-PACKAGECONFIG[manpages] = ",,python3-docutils-native"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_6.0.20231119.0.bb b/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_6.0.20231119.0.bb
new file mode 100644
index 0000000..b53753c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_6.0.20231119.0.bb
@@ -0,0 +1,36 @@
+# Copyright (C) 2015 Igor Santos <igor.santos@aker.com.br>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "Universal Ctags"
+DESCRIPTION = "Universal Ctags is a multilanguage reimplementation of the \
+ Unix ctags utility. Ctags generates an index of source code \
+ definitions which is used by numerous editors and utilities \
+ to instantly locate the definitions."
+
+HOMEPAGE = "https://ctags.io/"
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
+
+inherit autotools-brokensep pkgconfig manpages
+
+SRCREV = "f727e74001ec5081818669635fc2bae377be6eda"
+SRC_URI = "git://github.com/universal-ctags/ctags;branch=master;protocol=https"
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ??= " \
+ readcmd \
+ xml \
+ json \
+ yaml \
+"
+PACKAGECONFIG[readcmd] = "--enable-readcmd,--disable-readcmd"
+PACKAGECONFIG[etags] = "--enable-etags,--disable-etags"
+PACKAGECONFIG[xml] = "--enable-xml,--disable-xml,libxml2"
+PACKAGECONFIG[json] = "--enable-json,--disable-json,jansson"
+PACKAGECONFIG[seccomp] = "--enable-seccomp,--disable-seccomp,libseccomp"
+PACKAGECONFIG[yaml] = "--enable-yaml,--disable-yaml,libyaml"
+PACKAGECONFIG[manpages] = ",,python3-docutils-native"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb b/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb
index 9402392..8db456b 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb
@@ -4,7 +4,7 @@
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "git://github.com/ubinux/dnf-plugin-tui.git;branch=master;protocol=https"
-SRCREV = "83917a3935ac7ce1d8d96e914d96a6679319a336"
+SRCREV = "baac322a8a6d57e62c703f6ed523152baec18b4f"
PV = "1.3"
SRC_URI:append:class-target = " file://oe-remote.repo.sample"
@@ -42,6 +42,6 @@
dnf \
libnewt-python \
"
-DEPENDS:append:class-nativesdk = " file-replacement-nativesdk"
BBCLASSEXTEND = "nativesdk"
+
SKIP_RECIPE[dnf-plugin-tui] ?= "${@bb.utils.contains('PACKAGE_CLASSES', 'package_rpm', '', 'does not build correctly without package_rpm in PACKAGE_CLASSES', d)}"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.22.2.bb b/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.22.2.bb
index 28b1279..3936e04 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.22.2.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.22.2.bb
@@ -8,7 +8,7 @@
gnome-common-native \
autoconf-archive-native \
"
-
+GNOMEBASEBUILDCLASS = "autotools"
inherit features_check autotools pkgconfig gnomebase gobject-introspection mime-xdg
# xfce4 depends on libwnck3, gtk+3 and libepoxy need to be built with x11 PACKAGECONFIG.
diff --git a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-cmake-Link-with-libatomic-on-rv32-rv64.patch b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-cmake-Link-with-libatomic-on-rv32-rv64.patch
index c2afd4a..fbdf06d 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-cmake-Link-with-libatomic-on-rv32-rv64.patch
+++ b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-cmake-Link-with-libatomic-on-rv32-rv64.patch
@@ -1,4 +1,4 @@
-From 592a4aaba20818bcff9a1448c34b09aff9e0d2e9 Mon Sep 17 00:00:00 2001
+From c321f19ff1cd1251c19d20b17a2d86c4237ce506 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 19 Apr 2022 16:07:19 -0700
Subject: [PATCH] cmake: Link with libatomic on rv32/rv64
@@ -9,15 +9,16 @@
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
---
CMakeLists.txt | 3 +++
1 file changed, 3 insertions(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a8fd3bf37b3..9f5b242683d 100644
+index b272816685..e1fe1102c4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -303,6 +303,9 @@ if(UNIX)
+@@ -303,6 +303,9 @@ if(UNIX AND NOT HAIKU)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX)
set(_gRPC_ALLTARGETS_LIBRARIES ${_gRPC_ALLTARGETS_LIBRARIES} rt)
endif()
@@ -26,7 +27,4 @@
+ endif()
endif()
- # configure ccache if requested
---
-2.36.0
-
+ include(CheckCXXSourceCompiles)
diff --git a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.56.2.bb b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.56.2.bb
deleted file mode 100644
index c4dd6b9..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.56.2.bb
+++ /dev/null
@@ -1,67 +0,0 @@
-DESCRIPTION = "A high performance, open source, general-purpose RPC framework. \
-Provides gRPC libraries for multiple languages written on top of shared C core library \
-(C++, Node.js, Python, Ruby, Objective-C, PHP, C#)"
-HOMEPAGE = "https://github.com/grpc/grpc"
-SECTION = "libs"
-LICENSE = "Apache-2.0 & BSD-3-Clause & MPL-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=731e401b36f8077ae0c134b59be5c906"
-
-DEPENDS = "c-ares protobuf protobuf-native protobuf-c protobuf-c-native openssl libnsl2 abseil-cpp re2"
-DEPENDS:append:class-target = " googletest grpc-native "
-DEPENDS:append:class-nativesdk = " grpc-native "
-
-PACKAGE_BEFORE_PN = "${PN}-compiler"
-
-RDEPENDS:${PN}-compiler = "${PN}"
-RDEPENDS:${PN}-dev:append:class-native = " ${PN}-compiler"
-# Configuration above allows to cross-compile gRPC applications
-# In order to compile applications on the target, use the dependency below
-# Both dependencies are mutually exclusive
-# RDEPENDS:${PN}-dev += "${PN}-compiler"
-
-S = "${WORKDIR}/git"
-SRCREV_grpc = "c0d1c393d9365664d47df41746e992ae97b651ef"
-BRANCH = "v1.56.x"
-SRC_URI = "gitsm://github.com/grpc/grpc.git;protocol=https;name=grpc;branch=${BRANCH} \
- file://0001-cmake-Link-with-libatomic-on-rv32-rv64.patch \
- "
-# Fixes build with older compilers 4.8 especially on ubuntu 14.04
-CXXFLAGS:append:class-native = " -Wl,--no-as-needed"
-
-inherit cmake pkgconfig
-
-EXTRA_OECMAKE = " \
- -DgRPC_CARES_PROVIDER=package \
- -DgRPC_ZLIB_PROVIDER=package \
- -DgRPC_SSL_PROVIDER=package \
- -DgRPC_PROTOBUF_PROVIDER=package \
- -D_gRPC_PROTOBUF_PROTOC_EXECUTABLE=${STAGING_BINDIR_NATIVE}/protoc \
- -DgRPC_ABSL_PROVIDER=package \
- -DgRPC_RE2_PROVIDER=package \
- -DgRPC_INSTALL=ON \
- -DCMAKE_CROSSCOMPILING=ON \
- -DgRPC_INSTALL_LIBDIR=${baselib} \
- -DgRPC_INSTALL_CMAKEDIR=${baselib}/cmake/${BPN} \
- "
-
-PACKAGECONFIG ??= "cpp shared"
-PACKAGECONFIG[cpp] = "-DgRPC_BUILD_GRPC_CPP_PLUGIN=ON,-DgRPC_BUILD_GRPC_CPP_PLUGIN=OFF"
-PACKAGECONFIG[csharp] = "-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=ON,-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=OFF"
-PACKAGECONFIG[node] = "-DgRPC_BUILD_GRPC_NODE_PLUGIN=ON,-DgRPC_BUILD_GRPC_NODE_PLUGIN=OFF"
-PACKAGECONFIG[objective-c] = "-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=ON,-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=OFF"
-PACKAGECONFIG[php] = "-DgRPC_BUILD_GRPC_PHP_PLUGIN=ON,-DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF"
-PACKAGECONFIG[python] = "-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=ON,-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF"
-PACKAGECONFIG[ruby] = "-DgRPC_BUILD_GRPC_RUBY_PLUGIN=ON,-DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF"
-PACKAGECONFIG[protobuf-lite] = "-DgRPC_USE_PROTO_LITE=ON,-DgRPC_USE_PROTO_LITE=OFF,protobuf-lite"
-PACKAGECONFIG[shared] = "-DBUILD_SHARED_LIBS=ON,-DBUILD_SHARED_LIBS=OFF,,"
-
-do_configure:prepend() {
- sed -i -e "s#lib/pkgconfig/#${baselib}/pkgconfig/#g" ${S}/CMakeLists.txt
-}
-
-BBCLASSEXTEND = "native nativesdk"
-
-FILES:${PN}-compiler += " \
- ${bindir} \
- ${libdir}/libgrpc_plugin_support${SOLIBS} \
- "
diff --git a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.59.2.bb b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.59.2.bb
new file mode 100644
index 0000000..c30e522
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.59.2.bb
@@ -0,0 +1,67 @@
+DESCRIPTION = "A high performance, open source, general-purpose RPC framework. \
+Provides gRPC libraries for multiple languages written on top of shared C core library \
+(C++, Node.js, Python, Ruby, Objective-C, PHP, C#)"
+HOMEPAGE = "https://github.com/grpc/grpc"
+SECTION = "libs"
+LICENSE = "Apache-2.0 & BSD-3-Clause & MPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=731e401b36f8077ae0c134b59be5c906"
+
+DEPENDS = "c-ares protobuf protobuf-native protobuf-c protobuf-c-native openssl libnsl2 abseil-cpp re2"
+DEPENDS:append:class-target = " googletest grpc-native "
+DEPENDS:append:class-nativesdk = " grpc-native "
+
+PACKAGE_BEFORE_PN = "${PN}-compiler"
+
+RDEPENDS:${PN}-compiler = "${PN}"
+RDEPENDS:${PN}-dev:append:class-native = " ${PN}-compiler"
+# Configuration above allows to cross-compile gRPC applications
+# In order to compile applications on the target, use the dependency below
+# Both dependencies are mutually exclusive
+# RDEPENDS:${PN}-dev += "${PN}-compiler"
+
+S = "${WORKDIR}/git"
+SRCREV_grpc = "883e5f76976b86afee87415dc67bde58d9b295a4"
+BRANCH = "v1.59.x"
+SRC_URI = "gitsm://github.com/grpc/grpc.git;protocol=https;name=grpc;branch=${BRANCH} \
+ file://0001-cmake-Link-with-libatomic-on-rv32-rv64.patch \
+ "
+# Fixes build with older compilers 4.8 especially on ubuntu 14.04
+CXXFLAGS:append:class-native = " -Wl,--no-as-needed"
+
+inherit cmake pkgconfig
+
+EXTRA_OECMAKE = " \
+ -DgRPC_CARES_PROVIDER=package \
+ -DgRPC_ZLIB_PROVIDER=package \
+ -DgRPC_SSL_PROVIDER=package \
+ -DgRPC_PROTOBUF_PROVIDER=package \
+ -D_gRPC_PROTOBUF_PROTOC_EXECUTABLE=${STAGING_BINDIR_NATIVE}/protoc \
+ -DgRPC_ABSL_PROVIDER=package \
+ -DgRPC_RE2_PROVIDER=package \
+ -DgRPC_INSTALL=ON \
+ -DCMAKE_CROSSCOMPILING=ON \
+ -DgRPC_INSTALL_LIBDIR=${baselib} \
+ -DgRPC_INSTALL_CMAKEDIR=${baselib}/cmake/${BPN} \
+ "
+
+PACKAGECONFIG ??= "cpp shared"
+PACKAGECONFIG[cpp] = "-DgRPC_BUILD_GRPC_CPP_PLUGIN=ON,-DgRPC_BUILD_GRPC_CPP_PLUGIN=OFF"
+PACKAGECONFIG[csharp] = "-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=ON,-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=OFF"
+PACKAGECONFIG[node] = "-DgRPC_BUILD_GRPC_NODE_PLUGIN=ON,-DgRPC_BUILD_GRPC_NODE_PLUGIN=OFF"
+PACKAGECONFIG[objective-c] = "-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=ON,-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=OFF"
+PACKAGECONFIG[php] = "-DgRPC_BUILD_GRPC_PHP_PLUGIN=ON,-DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF"
+PACKAGECONFIG[python] = "-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=ON,-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF"
+PACKAGECONFIG[ruby] = "-DgRPC_BUILD_GRPC_RUBY_PLUGIN=ON,-DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF"
+PACKAGECONFIG[protobuf-lite] = "-DgRPC_USE_PROTO_LITE=ON,-DgRPC_USE_PROTO_LITE=OFF,protobuf-lite"
+PACKAGECONFIG[shared] = "-DBUILD_SHARED_LIBS=ON,-DBUILD_SHARED_LIBS=OFF,,"
+
+do_configure:prepend() {
+ sed -i -e "s#lib/pkgconfig/#${baselib}/pkgconfig/#g" ${S}/CMakeLists.txt
+}
+
+BBCLASSEXTEND = "native nativesdk"
+
+FILES:${PN}-compiler += " \
+ ${bindir} \
+ ${libdir}/libgrpc_plugin_support${SOLIBS} \
+ "
diff --git a/meta-openembedded/meta-oe/recipes-devtools/gst-editing-services/gst-editing-services_1.20.5.bb b/meta-openembedded/meta-oe/recipes-devtools/gst-editing-services/gst-editing-services_1.20.5.bb
deleted file mode 100644
index 6b7775c..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/gst-editing-services/gst-editing-services_1.20.5.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright (C) 2022 Khem Raj <raj.khem@gmail.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-SUMMARY = "Gstreamer editing services"
-HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-editing-services/"
-
-LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
- file://COPYING.LIB;md5=6762ed442b3822387a51c92d928ead0d"
-
-DEPENDS = "flex-native gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad python3-pygobject"
-
-REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
-GIR_MESON_OPTION = ""
-
-inherit meson pkgconfig upstream-version-is-even gobject-introspection features_check bash-completion
-
-EXTRA_OEMESON = "-Dvalidate=disabled"
-
-SRC_URI = "http://gstreamer.freedesktop.org/src/gst-editing-services/gst-editing-services-${PV}.tar.xz"
-SRC_URI[sha256sum] = "363f2b13675877b926b4be5259dbbeea8cc976805b40c871fc254bb8f382017d"
-
-PACKAGES += "gst-validate-launcher libges"
-
-FILES:gst-validate-launcher = "${nonarch_libdir}/gst-validate-launcher ${datadir}/gstreamer-1.0/validate"
-FILES:libges = "${libdir}/gstreamer-1.0/*.so"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/gst-editing-services/gst-editing-services_1.22.7.bb b/meta-openembedded/meta-oe/recipes-devtools/gst-editing-services/gst-editing-services_1.22.7.bb
new file mode 100644
index 0000000..50d45ef
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/gst-editing-services/gst-editing-services_1.22.7.bb
@@ -0,0 +1,28 @@
+# Copyright (C) 2022 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "Gstreamer editing services"
+HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-editing-services/"
+
+LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
+ file://COPYING.LIB;md5=6762ed442b3822387a51c92d928ead0d"
+
+DEPENDS = "flex-native gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad python3-pygobject"
+
+REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
+GIR_MESON_OPTION = ""
+
+inherit meson pkgconfig upstream-version-is-even gobject-introspection features_check bash-completion
+
+EXTRA_OEMESON = "-Dvalidate=disabled"
+
+SRC_URI = "http://gstreamer.freedesktop.org/src/gst-editing-services/gst-editing-services-${PV}.tar.xz"
+SRC_URI[sha256sum] = "fec56a2c37a253cd048d288d4c7eda6eff191022b09db975e07a2c105d1b521e"
+
+PACKAGES += "gst-validate-launcher libges"
+
+FILES:gst-validate-launcher = "${nonarch_libdir}/gst-validate-launcher ${datadir}/gstreamer-1.0/validate"
+FILES:libges = "${libdir}/gstreamer-1.0/*.so"
+
+FILES:${PN} += "/usr/lib/python${PYTHON_BASEVERSION}"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/heaptrack/heaptrack_1.2.0.bb b/meta-openembedded/meta-oe/recipes-devtools/heaptrack/heaptrack_1.2.0.bb
index 29937e2..be2c0f5 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/heaptrack/heaptrack_1.2.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/heaptrack/heaptrack_1.2.0.bb
@@ -29,4 +29,4 @@
COMPATIBLE_HOST:riscv32 = "null"
COMPATIBLE_HOST:riscv64 = "null"
-BBCLASSEXTEND = "native nativesdk"
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.6.bb b/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.6.bb
index f7b54b9..0ed6e82 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.6.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.6.bb
@@ -8,7 +8,7 @@
LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
-PE = "1"
+GNOMEBASEBUILDCLASS = "autotools"
inherit gnomebase vala gobject-introspection
do_configure:prepend() {
diff --git a/meta-openembedded/meta-oe/recipes-devtools/luaposix/luaposix_35.1.bb b/meta-openembedded/meta-oe/recipes-devtools/luaposix/luaposix_35.1.bb
deleted file mode 100644
index a71bbeb..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/luaposix/luaposix_35.1.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-DESCRIPTION = "luaposix is a POSIX binding for Lua."
-LICENSE = "MIT"
-HOMEPAGE = "https://github.com/luaposix/luaposix"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=f81069e00c0cad249f20efe958276db1"
-
-DEPENDS += "lua-native lua virtual/crypt"
-
-SRC_URI = "git://github.com/luaposix/luaposix.git;branch=release-v${PV};protocol=https \
-"
-SRCREV = "14043c5086ae738823a5dfbc9170d9e14193fbef"
-S = "${WORKDIR}/git"
-LUA_VERSION = "5.4"
-
-B = "${S}"
-
-inherit pkgconfig
-
-do_compile() {
- ${S}/build-aux/luke
-}
-
-do_install() {
- ${S}/build-aux/luke PREFIX=${D}${prefix} INST_LIBDIR=${D}${libdir}/lua/${LUA_VERSION} install
-}
-
-FILES:${PN} = "${datadir}/lua/${LUA_VERSION} \
- ${libdir}/lua/${LUA_VERSION}"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/luaposix/luaposix_36.2.1.bb b/meta-openembedded/meta-oe/recipes-devtools/luaposix/luaposix_36.2.1.bb
new file mode 100644
index 0000000..1d27eb2
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/luaposix/luaposix_36.2.1.bb
@@ -0,0 +1,27 @@
+DESCRIPTION = "luaposix is a POSIX binding for Lua."
+LICENSE = "MIT"
+HOMEPAGE = "https://github.com/luaposix/luaposix"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f30d022f6ef53952fa87cc0b6fffb153"
+
+DEPENDS += "lua-native lua virtual/crypt"
+
+SRC_URI = "git://github.com/luaposix/luaposix.git;branch=release-v36.2;protocol=https \
+"
+SRCREV = "5a8d8c768fc3c51f42cb591e9523a60399efc6a1"
+S = "${WORKDIR}/git"
+LUA_VERSION = "5.4"
+
+B = "${S}"
+
+inherit pkgconfig
+
+do_compile() {
+ ${S}/build-aux/luke
+}
+
+do_install() {
+ ${S}/build-aux/luke PREFIX=${D}${prefix} INST_LIBDIR=${D}${libdir}/lua/${LUA_VERSION} install
+}
+
+FILES:${PN} = "${datadir}/lua/${LUA_VERSION} \
+ ${libdir}/lua/${LUA_VERSION}"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_6.1.bb b/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_6.1.bb
deleted file mode 100644
index a415ebc..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_6.1.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "The Mercurial distributed SCM"
-HOMEPAGE = "http://mercurial.selenic.com/"
-SECTION = "console/utils"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-DEPENDS = "python3 python3-native"
-RDEPENDS:${PN} = "python3 python3-modules"
-
-inherit python3native python3targetconfig
-
-SRC_URI = "https://www.mercurial-scm.org/release/${BP}.tar.gz"
-SRC_URI[sha256sum] = "86f98645e4565a9256991dcde22b77b8e7d22ca6fbb60c1f4cdbd8469a38cc1f"
-
-S = "${WORKDIR}/mercurial-${PV}"
-
-BBCLASSEXTEND = "native"
-
-export LDSHARED="${CCLD} -shared"
-
-EXTRA_OEMAKE = "STAGING_LIBDIR=${STAGING_LIBDIR} STAGING_INCDIR=${STAGING_INCDIR} \
- PREFIX=${prefix}"
-
-do_configure:append () {
- sed -i -e 's:PYTHON?=python:PYTHON=python3:g' ${S}/Makefile
-}
-
-do_install () {
- oe_runmake -e install-bin DESTDIR=${D} PREFIX=${prefix}
- sed -i -e 's:${STAGING_BINDIR_NATIVE}/python3-native/python3:${USRBINPATH}/env python3:g' ${D}${bindir}/hg
-}
-PACKAGES =+ "${PN}-python"
-
-FILES:${PN} += "${PYTHON_SITEPACKAGES_DIR}"
-
-FILES:${PN}-python = "${nonarch_libdir}/${PYTHON_DIR}"
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_6.5.bb b/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_6.5.bb
new file mode 100644
index 0000000..112df8c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_6.5.bb
@@ -0,0 +1,36 @@
+SUMMARY = "The Mercurial distributed SCM"
+HOMEPAGE = "http://mercurial.selenic.com/"
+SECTION = "console/utils"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "python3 python3-native"
+RDEPENDS:${PN} = "python3 python3-modules"
+
+inherit python3native python3targetconfig
+
+SRC_URI = "https://www.mercurial-scm.org/release/${BP}.tar.gz"
+SRC_URI[sha256sum] = "a5603d0d395ebf67fe5d27abbb3bd37fcc01871ecf394c793672d2c1e68be7e7"
+
+S = "${WORKDIR}/mercurial-${PV}"
+
+BBCLASSEXTEND = "native"
+
+export LDSHARED="${CCLD} -shared"
+
+EXTRA_OEMAKE = "STAGING_LIBDIR=${STAGING_LIBDIR} STAGING_INCDIR=${STAGING_INCDIR} \
+ PREFIX=${prefix}"
+
+do_configure:append () {
+ sed -i -e 's:PYTHON?=python:PYTHON=python3:g' ${S}/Makefile
+}
+
+do_install () {
+ oe_runmake -e install-bin DESTDIR=${D} PREFIX=${prefix}
+ sed -i -e 's:${STAGING_BINDIR_NATIVE}/python3-native/python3:${USRBINPATH}/env python3:g' ${D}${bindir}/hg
+}
+PACKAGES =+ "${PN}-python"
+
+FILES:${PN} += "${PYTHON_SITEPACKAGES_DIR} ${datadir}"
+FILES:${PN}-python = "${nonarch_libdir}/${PYTHON_DIR}"
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/files/0001-custom-allocators-define-missing-rebind-type-3895.patch b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/files/0001-custom-allocators-define-missing-rebind-type-3895.patch
new file mode 100644
index 0000000..d964586
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/files/0001-custom-allocators-define-missing-rebind-type-3895.patch
@@ -0,0 +1,61 @@
+From 6cec5aefc97ad219b6fd5a4132f88f7c8f6800ee Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyich@gmail.com>
+Date: Wed, 8 Mar 2023 11:31:56 +0000
+Subject: [PATCH] custom allocators: define missing 'rebind' type (#3895)
+
+Upstream-Status: Backport [https://github.com/nlohmann/json/commit/6cec5aefc97ad219b6fd5a4132f88f7c8f6800ee]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ tests/src/unit-allocator.cpp | 9 +++++++++
+ tests/src/unit-regression2.cpp | 9 +++++++++
+ 2 files changed, 18 insertions(+)
+
+diff --git a/tests/src/unit-allocator.cpp b/tests/src/unit-allocator.cpp
+index 76e3b03f..f2e63552 100644
+--- a/tests/src/unit-allocator.cpp
++++ b/tests/src/unit-allocator.cpp
+@@ -20,11 +20,20 @@ struct bad_allocator : std::allocator<T>
+ {
+ using std::allocator<T>::allocator;
+
++ bad_allocator() = default;
++ template<class U> bad_allocator(const bad_allocator<U>& /*unused*/) { }
++
+ template<class... Args>
+ void construct(T* /*unused*/, Args&& ... /*unused*/)
+ {
+ throw std::bad_alloc();
+ }
++
++ template <class U>
++ struct rebind
++ {
++ using other = bad_allocator<U>;
++ };
+ };
+ } // namespace
+
+diff --git a/tests/src/unit-regression2.cpp b/tests/src/unit-regression2.cpp
+index 2bb9b32e..dbafb436 100644
+--- a/tests/src/unit-regression2.cpp
++++ b/tests/src/unit-regression2.cpp
+@@ -189,6 +189,15 @@ class my_allocator : public std::allocator<T>
+ {
+ public:
+ using std::allocator<T>::allocator;
++
++ my_allocator() = default;
++ template<class U> my_allocator(const my_allocator<U>& /*unused*/) { }
++
++ template <class U>
++ struct rebind
++ {
++ using other = my_allocator<U>;
++ };
+ };
+
+ /////////////////////////////////////////////////////////////////////
+--
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/files/0001-tests-unit-iterators2-use-std-ranges-equals-for-rang.patch b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/files/0001-tests-unit-iterators2-use-std-ranges-equals-for-rang.patch
new file mode 100644
index 0000000..463912e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/files/0001-tests-unit-iterators2-use-std-ranges-equals-for-rang.patch
@@ -0,0 +1,31 @@
+From 660d0b58565073975d6f5d94365d6cbf150a4cf8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Arsen=20Arsenovi=C4=87?= <arsen@aarsen.me>
+Date: Sun, 5 Mar 2023 14:11:22 +0100
+Subject: [PATCH] tests/unit-iterators2: use std::ranges::equals for range
+ comparisons (#3950)
+
+Closes https://github.com/nlohmann/json/issues/3927
+
+Upstream-Status: Backport [https://github.com/nlohmann/json/commit/660d0b58565073975d6f5d94365d6cbf150a4cf8]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ tests/src/unit-iterators2.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/src/unit-iterators2.cpp b/tests/src/unit-iterators2.cpp
+index 27926084..72a5d9dc 100644
+--- a/tests/src/unit-iterators2.cpp
++++ b/tests/src/unit-iterators2.cpp
+@@ -943,7 +943,7 @@ TEST_CASE("iterators 2")
+ json j_expected{5, 4, 3, 2, 1};
+
+ auto reversed = j | std::views::reverse;
+- CHECK(reversed == j_expected);
++ CHECK(std::ranges::equal(reversed, j_expected));
+ }
+
+ SECTION("transform")
+--
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/files/run-ptest b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/files/run-ptest
new file mode 100755
index 0000000..2f00267
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/files/run-ptest
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+cd tests
+for atest in test-* ; do
+ rm -rf tests.log
+ ./${atest} > tests.log 2>&1
+ if [ $? = 0 ] ; then
+ echo "PASS: ${atest}"
+ else
+ echo "FAIL: ${atest}"
+ fi
+done
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb
index 74e4094..694d632 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb
@@ -7,22 +7,38 @@
CVE_PRODUCT = "json-for-modern-cpp"
SRC_URI = "git://github.com/nlohmann/json.git;branch=develop;protocol=https \
- "
+ git://github.com/nlohmann/json_test_data.git;destsuffix=git/json_test_data;name=json-test-data;branch=master;protocol=https \
+ file://0001-custom-allocators-define-missing-rebind-type-3895.patch \
+ file://0001-tests-unit-iterators2-use-std-ranges-equals-for-rang.patch \
+ file://run-ptest \
+"
SRCREV = "bc889afb4c5bf1c0d8ee29ef35eaaf4c8bef8a5d"
+SRCREV_json-test-data = "a1375cea09d27cc1c4cadb8d00470375b421ac37"
+
+SRCREV_FORMAT = "json-test-data"
S = "${WORKDIR}/git"
-inherit cmake
+inherit cmake ptest
-EXTRA_OECMAKE += "-DJSON_BuildTests=OFF"
+EXTRA_OECMAKE += "${@bb.utils.contains('PTEST_ENABLED', '1', '-DJSON_BuildTests=ON -DJSON_TestDataDirectory=${PTEST_PATH}/json_test_data', '-DJSON_BuildTests=OFF', d)}"
# nlohmann-json is a header only C++ library, so the main package will be empty.
ALLOW_EMPTY:${PN} = "1"
RDEPENDS:${PN}-dev = ""
+RDEPENDS:${PN}-ptest = "perl"
BBCLASSEXTEND = "native nativesdk"
+
+do_install_ptest () {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -r ${S}/json_test_data/ ${D}${PTEST_PATH}/
+ cp -r ${B}/tests/test-* ${D}${PTEST_PATH}/tests
+}
+
+
# other packages commonly reference the file directly as "json.hpp"
# create symlink to allow this usage
do_install:append() {
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Revert-io_uring-changes-from-libuv-1.46.0.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Revert-io_uring-changes-from-libuv-1.46.0.patch
new file mode 100644
index 0000000..d98463d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Revert-io_uring-changes-from-libuv-1.46.0.patch
@@ -0,0 +1,3414 @@
+From 937dfa70104b7401a7570a98cf6e0a534e250557 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <martin.jansa@gmail.com>
+Date: Wed, 18 Oct 2023 22:43:55 +0200
+Subject: [PATCH] Revert io_uring changes from libuv-1.46.0
+
+Included in nodejs-20.4.0 with the libuv upgrade to 1.46.0 in:
+https://github.com/nodejs/node/commit/6199e1946c9abd59bd71a61870a4f6c85e100b18
+
+Revert "linux: work around io_uring IORING_OP_CLOSE bug (#4059)"
+This reverts commit 1752791c9ea89dbf54e2a20a9d9f899119a2d179.
+Revert "linux: fs_read to use io_uring if iovcnt > IOV_MAX (#4023)"
+This reverts commit e7b96331703e929e75d93c574573c9736e34b0c0.
+Revert "linux: add some more iouring backed fs ops (#4012)"
+This reverts commit 962b8e626ceaaf296eecab1d008e8b70dc6da5e7.
+Revert "android: disable io_uring support (#4016)"
+This reverts commit 281e6185cc9e77c582ff6ca9e4c00d57e6b90d95.
+Revert "unix,win: replace QUEUE with struct uv__queue (#4022)"
+This reverts commit 1b01b786c0180d29f07dccbb98001a2b3148828a.
+Revert "fs: use WTF-8 on Windows (#2970)"
+This reverts commit 8f32a14afaaa47514a7d28e1e069a8329e2dd939.
+
+Dropped deps/uv/docs deps/uv/test changes as these dirs aren't included
+in nodejs tarballs.
+
+Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
+---
+Upstream-Status: Inappropriate [OE specific]
+
+ deps/uv/include/uv.h | 10 +-
+ deps/uv/include/uv/darwin.h | 6 +-
+ deps/uv/include/uv/linux.h | 2 +-
+ deps/uv/include/uv/threadpool.h | 2 +-
+ deps/uv/include/uv/unix.h | 44 ++--
+ deps/uv/include/uv/win.h | 4 +-
+ deps/uv/src/queue.h | 154 ++++++-----
+ deps/uv/src/threadpool.c | 72 +++---
+ deps/uv/src/unix/aix.c | 14 +-
+ deps/uv/src/unix/async.c | 52 ++--
+ deps/uv/src/unix/core.c | 53 ++--
+ deps/uv/src/unix/fs.c | 41 +--
+ deps/uv/src/unix/fsevents.c | 84 +++---
+ deps/uv/src/unix/internal.h | 11 -
+ deps/uv/src/unix/kqueue.c | 18 +-
+ deps/uv/src/unix/linux.c | 257 +++----------------
+ deps/uv/src/unix/loop-watcher.c | 20 +-
+ deps/uv/src/unix/loop.c | 28 +-
+ deps/uv/src/unix/os390-syscalls.c | 24 +-
+ deps/uv/src/unix/os390-syscalls.h | 2 +-
+ deps/uv/src/unix/os390.c | 14 +-
+ deps/uv/src/unix/pipe.c | 2 +-
+ deps/uv/src/unix/posix-poll.c | 14 +-
+ deps/uv/src/unix/process.c | 38 +--
+ deps/uv/src/unix/signal.c | 8 +-
+ deps/uv/src/unix/stream.c | 56 ++--
+ deps/uv/src/unix/sunos.c | 18 +-
+ deps/uv/src/unix/tcp.c | 4 +-
+ deps/uv/src/unix/tty.c | 2 +-
+ deps/uv/src/unix/udp.c | 76 +++---
+ deps/uv/src/uv-common.c | 28 +-
+ deps/uv/src/uv-common.h | 3 +-
+ deps/uv/src/win/core.c | 6 +-
+ deps/uv/src/win/fs.c | 311 ++++++++---------------
+ deps/uv/src/win/handle-inl.h | 2 +-
+ deps/uv/src/win/pipe.c | 26 +-
+ deps/uv/src/win/tcp.c | 4 +-
+ deps/uv/src/win/udp.c | 4 +-
+ deps/uv/test/test-fs.c | 53 ----
+ deps/uv/test/test-list.h | 2 -
+ deps/uv/test/test-queue-foreach-delete.c | 5 +-
+ deps/uv/test/test-threadpool-cancel.c | 5 -
+ 42 files changed, 625 insertions(+), 954 deletions(-)
+
+diff --git a/deps/uv/include/uv.h b/deps/uv/include/uv.h
+index 02397dd0fdd..1af95289776 100644
+--- a/deps/uv/include/uv.h
++++ b/deps/uv/include/uv.h
+@@ -59,12 +59,6 @@ extern "C" {
+ #include <stdio.h>
+ #include <stdint.h>
+
+-/* Internal type, do not use. */
+-struct uv__queue {
+- struct uv__queue* next;
+- struct uv__queue* prev;
+-};
+-
+ #if defined(_WIN32)
+ # include "uv/win.h"
+ #else
+@@ -466,7 +460,7 @@ struct uv_shutdown_s {
+ uv_handle_type type; \
+ /* private */ \
+ uv_close_cb close_cb; \
+- struct uv__queue handle_queue; \
++ void* handle_queue[2]; \
+ union { \
+ int fd; \
+ void* reserved[4]; \
+@@ -1870,7 +1864,7 @@ struct uv_loop_s {
+ void* data;
+ /* Loop reference counting. */
+ unsigned int active_handles;
+- struct uv__queue handle_queue;
++ void* handle_queue[2];
+ union {
+ void* unused;
+ unsigned int count;
+diff --git a/deps/uv/include/uv/darwin.h b/deps/uv/include/uv/darwin.h
+index 06962bfda80..d226415820b 100644
+--- a/deps/uv/include/uv/darwin.h
++++ b/deps/uv/include/uv/darwin.h
+@@ -40,7 +40,7 @@
+ void* cf_state; \
+ uv_mutex_t cf_mutex; \
+ uv_sem_t cf_sem; \
+- struct uv__queue cf_signals; \
++ void* cf_signals[2]; \
+
+ #define UV_PLATFORM_FS_EVENT_FIELDS \
+ uv__io_t event_watcher; \
+@@ -48,8 +48,8 @@
+ int realpath_len; \
+ int cf_flags; \
+ uv_async_t* cf_cb; \
+- struct uv__queue cf_events; \
+- struct uv__queue cf_member; \
++ void* cf_events[2]; \
++ void* cf_member[2]; \
+ int cf_error; \
+ uv_mutex_t cf_mutex; \
+
+diff --git a/deps/uv/include/uv/linux.h b/deps/uv/include/uv/linux.h
+index 9f22f8cf726..9b38405a190 100644
+--- a/deps/uv/include/uv/linux.h
++++ b/deps/uv/include/uv/linux.h
+@@ -28,7 +28,7 @@
+ int inotify_fd; \
+
+ #define UV_PLATFORM_FS_EVENT_FIELDS \
+- struct uv__queue watchers; \
++ void* watchers[2]; \
+ int wd; \
+
+ #endif /* UV_LINUX_H */
+diff --git a/deps/uv/include/uv/threadpool.h b/deps/uv/include/uv/threadpool.h
+index 24ce916fda4..9708ebdd530 100644
+--- a/deps/uv/include/uv/threadpool.h
++++ b/deps/uv/include/uv/threadpool.h
+@@ -31,7 +31,7 @@ struct uv__work {
+ void (*work)(struct uv__work *w);
+ void (*done)(struct uv__work *w, int status);
+ struct uv_loop_s* loop;
+- struct uv__queue wq;
++ void* wq[2];
+ };
+
+ #endif /* UV_THREADPOOL_H_ */
+diff --git a/deps/uv/include/uv/unix.h b/deps/uv/include/uv/unix.h
+index 09f88a56742..95447b8dd67 100644
+--- a/deps/uv/include/uv/unix.h
++++ b/deps/uv/include/uv/unix.h
+@@ -92,8 +92,8 @@ typedef struct uv__io_s uv__io_t;
+
+ struct uv__io_s {
+ uv__io_cb cb;
+- struct uv__queue pending_queue;
+- struct uv__queue watcher_queue;
++ void* pending_queue[2];
++ void* watcher_queue[2];
+ unsigned int pevents; /* Pending event mask i.e. mask at next tick. */
+ unsigned int events; /* Current event mask. */
+ int fd;
+@@ -220,21 +220,21 @@ typedef struct {
+ #define UV_LOOP_PRIVATE_FIELDS \
+ unsigned long flags; \
+ int backend_fd; \
+- struct uv__queue pending_queue; \
+- struct uv__queue watcher_queue; \
++ void* pending_queue[2]; \
++ void* watcher_queue[2]; \
+ uv__io_t** watchers; \
+ unsigned int nwatchers; \
+ unsigned int nfds; \
+- struct uv__queue wq; \
++ void* wq[2]; \
+ uv_mutex_t wq_mutex; \
+ uv_async_t wq_async; \
+ uv_rwlock_t cloexec_lock; \
+ uv_handle_t* closing_handles; \
+- struct uv__queue process_handles; \
+- struct uv__queue prepare_handles; \
+- struct uv__queue check_handles; \
+- struct uv__queue idle_handles; \
+- struct uv__queue async_handles; \
++ void* process_handles[2]; \
++ void* prepare_handles[2]; \
++ void* check_handles[2]; \
++ void* idle_handles[2]; \
++ void* async_handles[2]; \
+ void (*async_unused)(void); /* TODO(bnoordhuis) Remove in libuv v2. */ \
+ uv__io_t async_io_watcher; \
+ int async_wfd; \
+@@ -257,7 +257,7 @@ typedef struct {
+ #define UV_PRIVATE_REQ_TYPES /* empty */
+
+ #define UV_WRITE_PRIVATE_FIELDS \
+- struct uv__queue queue; \
++ void* queue[2]; \
+ unsigned int write_index; \
+ uv_buf_t* bufs; \
+ unsigned int nbufs; \
+@@ -265,12 +265,12 @@ typedef struct {
+ uv_buf_t bufsml[4]; \
+
+ #define UV_CONNECT_PRIVATE_FIELDS \
+- struct uv__queue queue; \
++ void* queue[2]; \
+
+ #define UV_SHUTDOWN_PRIVATE_FIELDS /* empty */
+
+ #define UV_UDP_SEND_PRIVATE_FIELDS \
+- struct uv__queue queue; \
++ void* queue[2]; \
+ struct sockaddr_storage addr; \
+ unsigned int nbufs; \
+ uv_buf_t* bufs; \
+@@ -286,8 +286,8 @@ typedef struct {
+ uv_connect_t *connect_req; \
+ uv_shutdown_t *shutdown_req; \
+ uv__io_t io_watcher; \
+- struct uv__queue write_queue; \
+- struct uv__queue write_completed_queue; \
++ void* write_queue[2]; \
++ void* write_completed_queue[2]; \
+ uv_connection_cb connection_cb; \
+ int delayed_error; \
+ int accepted_fd; \
+@@ -300,8 +300,8 @@ typedef struct {
+ uv_alloc_cb alloc_cb; \
+ uv_udp_recv_cb recv_cb; \
+ uv__io_t io_watcher; \
+- struct uv__queue write_queue; \
+- struct uv__queue write_completed_queue; \
++ void* write_queue[2]; \
++ void* write_completed_queue[2]; \
+
+ #define UV_PIPE_PRIVATE_FIELDS \
+ const char* pipe_fname; /* NULL or strdup'ed */
+@@ -311,19 +311,19 @@ typedef struct {
+
+ #define UV_PREPARE_PRIVATE_FIELDS \
+ uv_prepare_cb prepare_cb; \
+- struct uv__queue queue; \
++ void* queue[2]; \
+
+ #define UV_CHECK_PRIVATE_FIELDS \
+ uv_check_cb check_cb; \
+- struct uv__queue queue; \
++ void* queue[2]; \
+
+ #define UV_IDLE_PRIVATE_FIELDS \
+ uv_idle_cb idle_cb; \
+- struct uv__queue queue; \
++ void* queue[2]; \
+
+ #define UV_ASYNC_PRIVATE_FIELDS \
+ uv_async_cb async_cb; \
+- struct uv__queue queue; \
++ void* queue[2]; \
+ int pending; \
+
+ #define UV_TIMER_PRIVATE_FIELDS \
+@@ -352,7 +352,7 @@ typedef struct {
+ int retcode;
+
+ #define UV_PROCESS_PRIVATE_FIELDS \
+- struct uv__queue queue; \
++ void* queue[2]; \
+ int status; \
+
+ #define UV_FS_PRIVATE_FIELDS \
+diff --git a/deps/uv/include/uv/win.h b/deps/uv/include/uv/win.h
+index 6f8c47298e4..92a95fa15f1 100644
+--- a/deps/uv/include/uv/win.h
++++ b/deps/uv/include/uv/win.h
+@@ -357,7 +357,7 @@ typedef struct {
+ /* Counter to started timer */ \
+ uint64_t timer_counter; \
+ /* Threadpool */ \
+- struct uv__queue wq; \
++ void* wq[2]; \
+ uv_mutex_t wq_mutex; \
+ uv_async_t wq_async;
+
+@@ -486,7 +486,7 @@ typedef struct {
+ uint32_t payload_remaining; \
+ uint64_t dummy; /* TODO: retained for ABI compat; remove this in v2.x. */ \
+ } ipc_data_frame; \
+- struct uv__queue ipc_xfer_queue; \
++ void* ipc_xfer_queue[2]; \
+ int ipc_xfer_queue_length; \
+ uv_write_t* non_overlapped_writes_tail; \
+ CRITICAL_SECTION readfile_thread_lock; \
+diff --git a/deps/uv/src/queue.h b/deps/uv/src/queue.h
+index 5f8489e9bc5..ff3540a0a51 100644
+--- a/deps/uv/src/queue.h
++++ b/deps/uv/src/queue.h
+@@ -18,73 +18,91 @@
+
+ #include <stddef.h>
+
+-#define uv__queue_data(pointer, type, field) \
+- ((type*) ((char*) (pointer) - offsetof(type, field)))
+-
+-#define uv__queue_foreach(q, h) \
+- for ((q) = (h)->next; (q) != (h); (q) = (q)->next)
+-
+-static inline void uv__queue_init(struct uv__queue* q) {
+- q->next = q;
+- q->prev = q;
+-}
+-
+-static inline int uv__queue_empty(const struct uv__queue* q) {
+- return q == q->next;
+-}
+-
+-static inline struct uv__queue* uv__queue_head(const struct uv__queue* q) {
+- return q->next;
+-}
+-
+-static inline struct uv__queue* uv__queue_next(const struct uv__queue* q) {
+- return q->next;
+-}
+-
+-static inline void uv__queue_add(struct uv__queue* h, struct uv__queue* n) {
+- h->prev->next = n->next;
+- n->next->prev = h->prev;
+- h->prev = n->prev;
+- h->prev->next = h;
+-}
+-
+-static inline void uv__queue_split(struct uv__queue* h,
+- struct uv__queue* q,
+- struct uv__queue* n) {
+- n->prev = h->prev;
+- n->prev->next = n;
+- n->next = q;
+- h->prev = q->prev;
+- h->prev->next = h;
+- q->prev = n;
+-}
+-
+-static inline void uv__queue_move(struct uv__queue* h, struct uv__queue* n) {
+- if (uv__queue_empty(h))
+- uv__queue_init(n);
+- else
+- uv__queue_split(h, h->next, n);
+-}
+-
+-static inline void uv__queue_insert_head(struct uv__queue* h,
+- struct uv__queue* q) {
+- q->next = h->next;
+- q->prev = h;
+- q->next->prev = q;
+- h->next = q;
+-}
+-
+-static inline void uv__queue_insert_tail(struct uv__queue* h,
+- struct uv__queue* q) {
+- q->next = h;
+- q->prev = h->prev;
+- q->prev->next = q;
+- h->prev = q;
+-}
+-
+-static inline void uv__queue_remove(struct uv__queue* q) {
+- q->prev->next = q->next;
+- q->next->prev = q->prev;
+-}
++typedef void *QUEUE[2];
++
++/* Private macros. */
++#define QUEUE_NEXT(q) (*(QUEUE **) &((*(q))[0]))
++#define QUEUE_PREV(q) (*(QUEUE **) &((*(q))[1]))
++#define QUEUE_PREV_NEXT(q) (QUEUE_NEXT(QUEUE_PREV(q)))
++#define QUEUE_NEXT_PREV(q) (QUEUE_PREV(QUEUE_NEXT(q)))
++
++/* Public macros. */
++#define QUEUE_DATA(ptr, type, field) \
++ ((type *) ((char *) (ptr) - offsetof(type, field)))
++
++/* Important note: mutating the list while QUEUE_FOREACH is
++ * iterating over its elements results in undefined behavior.
++ */
++#define QUEUE_FOREACH(q, h) \
++ for ((q) = QUEUE_NEXT(h); (q) != (h); (q) = QUEUE_NEXT(q))
++
++#define QUEUE_EMPTY(q) \
++ ((const QUEUE *) (q) == (const QUEUE *) QUEUE_NEXT(q))
++
++#define QUEUE_HEAD(q) \
++ (QUEUE_NEXT(q))
++
++#define QUEUE_INIT(q) \
++ do { \
++ QUEUE_NEXT(q) = (q); \
++ QUEUE_PREV(q) = (q); \
++ } \
++ while (0)
++
++#define QUEUE_ADD(h, n) \
++ do { \
++ QUEUE_PREV_NEXT(h) = QUEUE_NEXT(n); \
++ QUEUE_NEXT_PREV(n) = QUEUE_PREV(h); \
++ QUEUE_PREV(h) = QUEUE_PREV(n); \
++ QUEUE_PREV_NEXT(h) = (h); \
++ } \
++ while (0)
++
++#define QUEUE_SPLIT(h, q, n) \
++ do { \
++ QUEUE_PREV(n) = QUEUE_PREV(h); \
++ QUEUE_PREV_NEXT(n) = (n); \
++ QUEUE_NEXT(n) = (q); \
++ QUEUE_PREV(h) = QUEUE_PREV(q); \
++ QUEUE_PREV_NEXT(h) = (h); \
++ QUEUE_PREV(q) = (n); \
++ } \
++ while (0)
++
++#define QUEUE_MOVE(h, n) \
++ do { \
++ if (QUEUE_EMPTY(h)) \
++ QUEUE_INIT(n); \
++ else { \
++ QUEUE* q = QUEUE_HEAD(h); \
++ QUEUE_SPLIT(h, q, n); \
++ } \
++ } \
++ while (0)
++
++#define QUEUE_INSERT_HEAD(h, q) \
++ do { \
++ QUEUE_NEXT(q) = QUEUE_NEXT(h); \
++ QUEUE_PREV(q) = (h); \
++ QUEUE_NEXT_PREV(q) = (q); \
++ QUEUE_NEXT(h) = (q); \
++ } \
++ while (0)
++
++#define QUEUE_INSERT_TAIL(h, q) \
++ do { \
++ QUEUE_NEXT(q) = (h); \
++ QUEUE_PREV(q) = QUEUE_PREV(h); \
++ QUEUE_PREV_NEXT(q) = (q); \
++ QUEUE_PREV(h) = (q); \
++ } \
++ while (0)
++
++#define QUEUE_REMOVE(q) \
++ do { \
++ QUEUE_PREV_NEXT(q) = QUEUE_NEXT(q); \
++ QUEUE_NEXT_PREV(q) = QUEUE_PREV(q); \
++ } \
++ while (0)
+
+ #endif /* QUEUE_H_ */
+diff --git a/deps/uv/src/threadpool.c b/deps/uv/src/threadpool.c
+index dbef67f2f10..51962bf0021 100644
+--- a/deps/uv/src/threadpool.c
++++ b/deps/uv/src/threadpool.c
+@@ -37,10 +37,10 @@ static unsigned int slow_io_work_running;
+ static unsigned int nthreads;
+ static uv_thread_t* threads;
+ static uv_thread_t default_threads[4];
+-static struct uv__queue exit_message;
+-static struct uv__queue wq;
+-static struct uv__queue run_slow_work_message;
+-static struct uv__queue slow_io_pending_wq;
++static QUEUE exit_message;
++static QUEUE wq;
++static QUEUE run_slow_work_message;
++static QUEUE slow_io_pending_wq;
+
+ static unsigned int slow_work_thread_threshold(void) {
+ return (nthreads + 1) / 2;
+@@ -56,7 +56,7 @@ static void uv__cancelled(struct uv__work* w) {
+ */
+ static void worker(void* arg) {
+ struct uv__work* w;
+- struct uv__queue* q;
++ QUEUE* q;
+ int is_slow_work;
+
+ uv_sem_post((uv_sem_t*) arg);
+@@ -68,49 +68,49 @@ static void worker(void* arg) {
+
+ /* Keep waiting while either no work is present or only slow I/O
+ and we're at the threshold for that. */
+- while (uv__queue_empty(&wq) ||
+- (uv__queue_head(&wq) == &run_slow_work_message &&
+- uv__queue_next(&run_slow_work_message) == &wq &&
++ while (QUEUE_EMPTY(&wq) ||
++ (QUEUE_HEAD(&wq) == &run_slow_work_message &&
++ QUEUE_NEXT(&run_slow_work_message) == &wq &&
+ slow_io_work_running >= slow_work_thread_threshold())) {
+ idle_threads += 1;
+ uv_cond_wait(&cond, &mutex);
+ idle_threads -= 1;
+ }
+
+- q = uv__queue_head(&wq);
++ q = QUEUE_HEAD(&wq);
+ if (q == &exit_message) {
+ uv_cond_signal(&cond);
+ uv_mutex_unlock(&mutex);
+ break;
+ }
+
+- uv__queue_remove(q);
+- uv__queue_init(q); /* Signal uv_cancel() that the work req is executing. */
++ QUEUE_REMOVE(q);
++ QUEUE_INIT(q); /* Signal uv_cancel() that the work req is executing. */
+
+ is_slow_work = 0;
+ if (q == &run_slow_work_message) {
+ /* If we're at the slow I/O threshold, re-schedule until after all
+ other work in the queue is done. */
+ if (slow_io_work_running >= slow_work_thread_threshold()) {
+- uv__queue_insert_tail(&wq, q);
++ QUEUE_INSERT_TAIL(&wq, q);
+ continue;
+ }
+
+ /* If we encountered a request to run slow I/O work but there is none
+ to run, that means it's cancelled => Start over. */
+- if (uv__queue_empty(&slow_io_pending_wq))
++ if (QUEUE_EMPTY(&slow_io_pending_wq))
+ continue;
+
+ is_slow_work = 1;
+ slow_io_work_running++;
+
+- q = uv__queue_head(&slow_io_pending_wq);
+- uv__queue_remove(q);
+- uv__queue_init(q);
++ q = QUEUE_HEAD(&slow_io_pending_wq);
++ QUEUE_REMOVE(q);
++ QUEUE_INIT(q);
+
+ /* If there is more slow I/O work, schedule it to be run as well. */
+- if (!uv__queue_empty(&slow_io_pending_wq)) {
+- uv__queue_insert_tail(&wq, &run_slow_work_message);
++ if (!QUEUE_EMPTY(&slow_io_pending_wq)) {
++ QUEUE_INSERT_TAIL(&wq, &run_slow_work_message);
+ if (idle_threads > 0)
+ uv_cond_signal(&cond);
+ }
+@@ -118,13 +118,13 @@ static void worker(void* arg) {
+
+ uv_mutex_unlock(&mutex);
+
+- w = uv__queue_data(q, struct uv__work, wq);
++ w = QUEUE_DATA(q, struct uv__work, wq);
+ w->work(w);
+
+ uv_mutex_lock(&w->loop->wq_mutex);
+ w->work = NULL; /* Signal uv_cancel() that the work req is done
+ executing. */
+- uv__queue_insert_tail(&w->loop->wq, &w->wq);
++ QUEUE_INSERT_TAIL(&w->loop->wq, &w->wq);
+ uv_async_send(&w->loop->wq_async);
+ uv_mutex_unlock(&w->loop->wq_mutex);
+
+@@ -139,12 +139,12 @@ static void worker(void* arg) {
+ }
+
+
+-static void post(struct uv__queue* q, enum uv__work_kind kind) {
++static void post(QUEUE* q, enum uv__work_kind kind) {
+ uv_mutex_lock(&mutex);
+ if (kind == UV__WORK_SLOW_IO) {
+ /* Insert into a separate queue. */
+- uv__queue_insert_tail(&slow_io_pending_wq, q);
+- if (!uv__queue_empty(&run_slow_work_message)) {
++ QUEUE_INSERT_TAIL(&slow_io_pending_wq, q);
++ if (!QUEUE_EMPTY(&run_slow_work_message)) {
+ /* Running slow I/O tasks is already scheduled => Nothing to do here.
+ The worker that runs said other task will schedule this one as well. */
+ uv_mutex_unlock(&mutex);
+@@ -153,7 +153,7 @@ static void post(struct uv__queue* q, enum uv__work_kind kind) {
+ q = &run_slow_work_message;
+ }
+
+- uv__queue_insert_tail(&wq, q);
++ QUEUE_INSERT_TAIL(&wq, q);
+ if (idle_threads > 0)
+ uv_cond_signal(&cond);
+ uv_mutex_unlock(&mutex);
+@@ -220,9 +220,9 @@ static void init_threads(void) {
+ if (uv_mutex_init(&mutex))
+ abort();
+
+- uv__queue_init(&wq);
+- uv__queue_init(&slow_io_pending_wq);
+- uv__queue_init(&run_slow_work_message);
++ QUEUE_INIT(&wq);
++ QUEUE_INIT(&slow_io_pending_wq);
++ QUEUE_INIT(&run_slow_work_message);
+
+ if (uv_sem_init(&sem, 0))
+ abort();
+@@ -285,9 +285,9 @@ static int uv__work_cancel(uv_loop_t* loop, uv_req_t* req, struct uv__work* w) {
+ uv_mutex_lock(&mutex);
+ uv_mutex_lock(&w->loop->wq_mutex);
+
+- cancelled = !uv__queue_empty(&w->wq) && w->work != NULL;
++ cancelled = !QUEUE_EMPTY(&w->wq) && w->work != NULL;
+ if (cancelled)
+- uv__queue_remove(&w->wq);
++ QUEUE_REMOVE(&w->wq);
+
+ uv_mutex_unlock(&w->loop->wq_mutex);
+ uv_mutex_unlock(&mutex);
+@@ -297,7 +297,7 @@ static int uv__work_cancel(uv_loop_t* loop, uv_req_t* req, struct uv__work* w) {
+
+ w->work = uv__cancelled;
+ uv_mutex_lock(&loop->wq_mutex);
+- uv__queue_insert_tail(&loop->wq, &w->wq);
++ QUEUE_INSERT_TAIL(&loop->wq, &w->wq);
+ uv_async_send(&loop->wq_async);
+ uv_mutex_unlock(&loop->wq_mutex);
+
+@@ -308,21 +308,21 @@ static int uv__work_cancel(uv_loop_t* loop, uv_req_t* req, struct uv__work* w) {
+ void uv__work_done(uv_async_t* handle) {
+ struct uv__work* w;
+ uv_loop_t* loop;
+- struct uv__queue* q;
+- struct uv__queue wq;
++ QUEUE* q;
++ QUEUE wq;
+ int err;
+ int nevents;
+
+ loop = container_of(handle, uv_loop_t, wq_async);
+ uv_mutex_lock(&loop->wq_mutex);
+- uv__queue_move(&loop->wq, &wq);
++ QUEUE_MOVE(&loop->wq, &wq);
+ uv_mutex_unlock(&loop->wq_mutex);
+
+ nevents = 0;
+
+- while (!uv__queue_empty(&wq)) {
+- q = uv__queue_head(&wq);
+- uv__queue_remove(q);
++ while (!QUEUE_EMPTY(&wq)) {
++ q = QUEUE_HEAD(&wq);
++ QUEUE_REMOVE(q);
+
+ w = container_of(q, struct uv__work, wq);
+ err = (w->work == uv__cancelled) ? UV_ECANCELED : 0;
+diff --git a/deps/uv/src/unix/aix.c b/deps/uv/src/unix/aix.c
+index 3af3009a216..f1afbed49ec 100644
+--- a/deps/uv/src/unix/aix.c
++++ b/deps/uv/src/unix/aix.c
+@@ -136,7 +136,7 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
+ struct pollfd pqry;
+ struct pollfd* pe;
+ struct poll_ctl pc;
+- struct uv__queue* q;
++ QUEUE* q;
+ uv__io_t* w;
+ uint64_t base;
+ uint64_t diff;
+@@ -151,18 +151,18 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
+ int reset_timeout;
+
+ if (loop->nfds == 0) {
+- assert(uv__queue_empty(&loop->watcher_queue));
++ assert(QUEUE_EMPTY(&loop->watcher_queue));
+ return;
+ }
+
+ lfields = uv__get_internal_fields(loop);
+
+- while (!uv__queue_empty(&loop->watcher_queue)) {
+- q = uv__queue_head(&loop->watcher_queue);
+- uv__queue_remove(q);
+- uv__queue_init(q);
++ while (!QUEUE_EMPTY(&loop->watcher_queue)) {
++ q = QUEUE_HEAD(&loop->watcher_queue);
++ QUEUE_REMOVE(q);
++ QUEUE_INIT(q);
+
+- w = uv__queue_data(q, uv__io_t, watcher_queue);
++ w = QUEUE_DATA(q, uv__io_t, watcher_queue);
+ assert(w->pevents != 0);
+ assert(w->fd >= 0);
+ assert(w->fd < (int) loop->nwatchers);
+diff --git a/deps/uv/src/unix/async.c b/deps/uv/src/unix/async.c
+index 0ff2669e30a..5751b6d02be 100644
+--- a/deps/uv/src/unix/async.c
++++ b/deps/uv/src/unix/async.c
+@@ -55,7 +55,7 @@ int uv_async_init(uv_loop_t* loop, uv_async_t* handle, uv_async_cb async_cb) {
+ handle->pending = 0;
+ handle->u.fd = 0; /* This will be used as a busy flag. */
+
+- uv__queue_insert_tail(&loop->async_handles, &handle->queue);
++ QUEUE_INSERT_TAIL(&loop->async_handles, &handle->queue);
+ uv__handle_start(handle);
+
+ return 0;
+@@ -124,7 +124,7 @@ static void uv__async_spin(uv_async_t* handle) {
+
+ void uv__async_close(uv_async_t* handle) {
+ uv__async_spin(handle);
+- uv__queue_remove(&handle->queue);
++ QUEUE_REMOVE(&handle->queue);
+ uv__handle_stop(handle);
+ }
+
+@@ -132,8 +132,8 @@ void uv__async_close(uv_async_t* handle) {
+ static void uv__async_io(uv_loop_t* loop, uv__io_t* w, unsigned int events) {
+ char buf[1024];
+ ssize_t r;
+- struct uv__queue queue;
+- struct uv__queue* q;
++ QUEUE queue;
++ QUEUE* q;
+ uv_async_t* h;
+ _Atomic int *pending;
+
+@@ -157,13 +157,13 @@ static void uv__async_io(uv_loop_t* loop, uv__io_t* w, unsigned int events) {
+ abort();
+ }
+
+- uv__queue_move(&loop->async_handles, &queue);
+- while (!uv__queue_empty(&queue)) {
+- q = uv__queue_head(&queue);
+- h = uv__queue_data(q, uv_async_t, queue);
++ QUEUE_MOVE(&loop->async_handles, &queue);
++ while (!QUEUE_EMPTY(&queue)) {
++ q = QUEUE_HEAD(&queue);
++ h = QUEUE_DATA(q, uv_async_t, queue);
+
+- uv__queue_remove(q);
+- uv__queue_insert_tail(&loop->async_handles, q);
++ QUEUE_REMOVE(q);
++ QUEUE_INSERT_TAIL(&loop->async_handles, q);
+
+ /* Atomically fetch and clear pending flag */
+ pending = (_Atomic int*) &h->pending;
+@@ -241,8 +241,8 @@ static int uv__async_start(uv_loop_t* loop) {
+
+
+ void uv__async_stop(uv_loop_t* loop) {
+- struct uv__queue queue;
+- struct uv__queue* q;
++ QUEUE queue;
++ QUEUE* q;
+ uv_async_t* h;
+
+ if (loop->async_io_watcher.fd == -1)
+@@ -251,13 +251,13 @@ void uv__async_stop(uv_loop_t* loop) {
+ /* Make sure no other thread is accessing the async handle fd after the loop
+ * cleanup.
+ */
+- uv__queue_move(&loop->async_handles, &queue);
+- while (!uv__queue_empty(&queue)) {
+- q = uv__queue_head(&queue);
+- h = uv__queue_data(q, uv_async_t, queue);
++ QUEUE_MOVE(&loop->async_handles, &queue);
++ while (!QUEUE_EMPTY(&queue)) {
++ q = QUEUE_HEAD(&queue);
++ h = QUEUE_DATA(q, uv_async_t, queue);
+
+- uv__queue_remove(q);
+- uv__queue_insert_tail(&loop->async_handles, q);
++ QUEUE_REMOVE(q);
++ QUEUE_INSERT_TAIL(&loop->async_handles, q);
+
+ uv__async_spin(h);
+ }
+@@ -275,20 +275,20 @@ void uv__async_stop(uv_loop_t* loop) {
+
+
+ int uv__async_fork(uv_loop_t* loop) {
+- struct uv__queue queue;
+- struct uv__queue* q;
++ QUEUE queue;
++ QUEUE* q;
+ uv_async_t* h;
+
+ if (loop->async_io_watcher.fd == -1) /* never started */
+ return 0;
+
+- uv__queue_move(&loop->async_handles, &queue);
+- while (!uv__queue_empty(&queue)) {
+- q = uv__queue_head(&queue);
+- h = uv__queue_data(q, uv_async_t, queue);
++ QUEUE_MOVE(&loop->async_handles, &queue);
++ while (!QUEUE_EMPTY(&queue)) {
++ q = QUEUE_HEAD(&queue);
++ h = QUEUE_DATA(q, uv_async_t, queue);
+
+- uv__queue_remove(q);
+- uv__queue_insert_tail(&loop->async_handles, q);
++ QUEUE_REMOVE(q);
++ QUEUE_INSERT_TAIL(&loop->async_handles, q);
+
+ /* The state of any thread that set pending is now likely corrupt in this
+ * child because the user called fork, so just clear these flags and move
+diff --git a/deps/uv/src/unix/core.c b/deps/uv/src/unix/core.c
+index 25c5181f370..55aa962787e 100644
+--- a/deps/uv/src/unix/core.c
++++ b/deps/uv/src/unix/core.c
+@@ -344,7 +344,7 @@ static void uv__finish_close(uv_handle_t* handle) {
+ }
+
+ uv__handle_unref(handle);
+- uv__queue_remove(&handle->handle_queue);
++ QUEUE_REMOVE(&handle->handle_queue);
+
+ if (handle->close_cb) {
+ handle->close_cb(handle);
+@@ -380,7 +380,7 @@ int uv_backend_fd(const uv_loop_t* loop) {
+ static int uv__loop_alive(const uv_loop_t* loop) {
+ return uv__has_active_handles(loop) ||
+ uv__has_active_reqs(loop) ||
+- !uv__queue_empty(&loop->pending_queue) ||
++ !QUEUE_EMPTY(&loop->pending_queue) ||
+ loop->closing_handles != NULL;
+ }
+
+@@ -389,8 +389,8 @@ static int uv__backend_timeout(const uv_loop_t* loop) {
+ if (loop->stop_flag == 0 &&
+ /* uv__loop_alive(loop) && */
+ (uv__has_active_handles(loop) || uv__has_active_reqs(loop)) &&
+- uv__queue_empty(&loop->pending_queue) &&
+- uv__queue_empty(&loop->idle_handles) &&
++ QUEUE_EMPTY(&loop->pending_queue) &&
++ QUEUE_EMPTY(&loop->idle_handles) &&
+ (loop->flags & UV_LOOP_REAP_CHILDREN) == 0 &&
+ loop->closing_handles == NULL)
+ return uv__next_timeout(loop);
+@@ -399,7 +399,7 @@ static int uv__backend_timeout(const uv_loop_t* loop) {
+
+
+ int uv_backend_timeout(const uv_loop_t* loop) {
+- if (uv__queue_empty(&loop->watcher_queue))
++ if (QUEUE_EMPTY(&loop->watcher_queue))
+ return uv__backend_timeout(loop);
+ /* Need to call uv_run to update the backend fd state. */
+ return 0;
+@@ -431,8 +431,7 @@ int uv_run(uv_loop_t* loop, uv_run_mode mode) {
+
+ while (r != 0 && loop->stop_flag == 0) {
+ can_sleep =
+- uv__queue_empty(&loop->pending_queue) &&
+- uv__queue_empty(&loop->idle_handles);
++ QUEUE_EMPTY(&loop->pending_queue) && QUEUE_EMPTY(&loop->idle_handles);
+
+ uv__run_pending(loop);
+ uv__run_idle(loop);
+@@ -448,7 +447,7 @@ int uv_run(uv_loop_t* loop, uv_run_mode mode) {
+
+ /* Process immediate callbacks (e.g. write_cb) a small fixed number of
+ * times to avoid loop starvation.*/
+- for (r = 0; r < 8 && !uv__queue_empty(&loop->pending_queue); r++)
++ for (r = 0; r < 8 && !QUEUE_EMPTY(&loop->pending_queue); r++)
+ uv__run_pending(loop);
+
+ /* Run one final update on the provider_idle_time in case uv__io_poll
+@@ -827,17 +826,17 @@ int uv_fileno(const uv_handle_t* handle, uv_os_fd_t* fd) {
+
+
+ static void uv__run_pending(uv_loop_t* loop) {
+- struct uv__queue* q;
+- struct uv__queue pq;
++ QUEUE* q;
++ QUEUE pq;
+ uv__io_t* w;
+
+- uv__queue_move(&loop->pending_queue, &pq);
++ QUEUE_MOVE(&loop->pending_queue, &pq);
+
+- while (!uv__queue_empty(&pq)) {
+- q = uv__queue_head(&pq);
+- uv__queue_remove(q);
+- uv__queue_init(q);
+- w = uv__queue_data(q, uv__io_t, pending_queue);
++ while (!QUEUE_EMPTY(&pq)) {
++ q = QUEUE_HEAD(&pq);
++ QUEUE_REMOVE(q);
++ QUEUE_INIT(q);
++ w = QUEUE_DATA(q, uv__io_t, pending_queue);
+ w->cb(loop, w, POLLOUT);
+ }
+ }
+@@ -892,8 +891,8 @@ static void maybe_resize(uv_loop_t* loop, unsigned int len) {
+ void uv__io_init(uv__io_t* w, uv__io_cb cb, int fd) {
+ assert(cb != NULL);
+ assert(fd >= -1);
+- uv__queue_init(&w->pending_queue);
+- uv__queue_init(&w->watcher_queue);
++ QUEUE_INIT(&w->pending_queue);
++ QUEUE_INIT(&w->watcher_queue);
+ w->cb = cb;
+ w->fd = fd;
+ w->events = 0;
+@@ -919,8 +918,8 @@ void uv__io_start(uv_loop_t* loop, uv__io_t* w, unsigned int events) {
+ return;
+ #endif
+
+- if (uv__queue_empty(&w->watcher_queue))
+- uv__queue_insert_tail(&loop->watcher_queue, &w->watcher_queue);
++ if (QUEUE_EMPTY(&w->watcher_queue))
++ QUEUE_INSERT_TAIL(&loop->watcher_queue, &w->watcher_queue);
+
+ if (loop->watchers[w->fd] == NULL) {
+ loop->watchers[w->fd] = w;
+@@ -945,8 +944,8 @@ void uv__io_stop(uv_loop_t* loop, uv__io_t* w, unsigned int events) {
+ w->pevents &= ~events;
+
+ if (w->pevents == 0) {
+- uv__queue_remove(&w->watcher_queue);
+- uv__queue_init(&w->watcher_queue);
++ QUEUE_REMOVE(&w->watcher_queue);
++ QUEUE_INIT(&w->watcher_queue);
+ w->events = 0;
+
+ if (w == loop->watchers[w->fd]) {
+@@ -955,14 +954,14 @@ void uv__io_stop(uv_loop_t* loop, uv__io_t* w, unsigned int events) {
+ loop->nfds--;
+ }
+ }
+- else if (uv__queue_empty(&w->watcher_queue))
+- uv__queue_insert_tail(&loop->watcher_queue, &w->watcher_queue);
++ else if (QUEUE_EMPTY(&w->watcher_queue))
++ QUEUE_INSERT_TAIL(&loop->watcher_queue, &w->watcher_queue);
+ }
+
+
+ void uv__io_close(uv_loop_t* loop, uv__io_t* w) {
+ uv__io_stop(loop, w, POLLIN | POLLOUT | UV__POLLRDHUP | UV__POLLPRI);
+- uv__queue_remove(&w->pending_queue);
++ QUEUE_REMOVE(&w->pending_queue);
+
+ /* Remove stale events for this file descriptor */
+ if (w->fd != -1)
+@@ -971,8 +970,8 @@ void uv__io_close(uv_loop_t* loop, uv__io_t* w) {
+
+
+ void uv__io_feed(uv_loop_t* loop, uv__io_t* w) {
+- if (uv__queue_empty(&w->pending_queue))
+- uv__queue_insert_tail(&loop->pending_queue, &w->pending_queue);
++ if (QUEUE_EMPTY(&w->pending_queue))
++ QUEUE_INSERT_TAIL(&loop->pending_queue, &w->pending_queue);
+ }
+
+
+diff --git a/deps/uv/src/unix/fs.c b/deps/uv/src/unix/fs.c
+index 6b051c124f2..00d385c24b7 100644
+--- a/deps/uv/src/unix/fs.c
++++ b/deps/uv/src/unix/fs.c
+@@ -62,6 +62,7 @@
+
+ #if defined(__linux__)
+ # include <sys/sendfile.h>
++# include <sys/utsname.h>
+ #endif
+
+ #if defined(__sun)
+@@ -903,6 +904,31 @@ out:
+
+
+ #ifdef __linux__
++static unsigned uv__kernel_version(void) {
++ static _Atomic unsigned cached_version;
++ struct utsname u;
++ unsigned version;
++ unsigned major;
++ unsigned minor;
++ unsigned patch;
++
++ version = atomic_load_explicit(&cached_version, memory_order_relaxed);
++ if (version != 0)
++ return version;
++
++ if (-1 == uname(&u))
++ return 0;
++
++ if (3 != sscanf(u.release, "%u.%u.%u", &major, &minor, &patch))
++ return 0;
++
++ version = major * 65536 + minor * 256 + patch;
++ atomic_store_explicit(&cached_version, version, memory_order_relaxed);
++
++ return version;
++}
++
++
+ /* Pre-4.20 kernels have a bug where CephFS uses the RADOS copy-from command
+ * in copy_file_range() when it shouldn't. There is no workaround except to
+ * fall back to a regular copy.
+@@ -1905,9 +1931,6 @@ int uv_fs_link(uv_loop_t* loop,
+ uv_fs_cb cb) {
+ INIT(LINK);
+ PATH2;
+- if (cb != NULL)
+- if (uv__iou_fs_link(loop, req))
+- return 0;
+ POST;
+ }
+
+@@ -1920,9 +1943,6 @@ int uv_fs_mkdir(uv_loop_t* loop,
+ INIT(MKDIR);
+ PATH;
+ req->mode = mode;
+- if (cb != NULL)
+- if (uv__iou_fs_mkdir(loop, req))
+- return 0;
+ POST;
+ }
+
+@@ -2074,9 +2094,6 @@ int uv_fs_rename(uv_loop_t* loop,
+ uv_fs_cb cb) {
+ INIT(RENAME);
+ PATH2;
+- if (cb != NULL)
+- if (uv__iou_fs_rename(loop, req))
+- return 0;
+ POST;
+ }
+
+@@ -2123,9 +2140,6 @@ int uv_fs_symlink(uv_loop_t* loop,
+ INIT(SYMLINK);
+ PATH2;
+ req->flags = flags;
+- if (cb != NULL)
+- if (uv__iou_fs_symlink(loop, req))
+- return 0;
+ POST;
+ }
+
+@@ -2133,9 +2147,6 @@ int uv_fs_symlink(uv_loop_t* loop,
+ int uv_fs_unlink(uv_loop_t* loop, uv_fs_t* req, const char* path, uv_fs_cb cb) {
+ INIT(UNLINK);
+ PATH;
+- if (cb != NULL)
+- if (uv__iou_fs_unlink(loop, req))
+- return 0;
+ POST;
+ }
+
+diff --git a/deps/uv/src/unix/fsevents.c b/deps/uv/src/unix/fsevents.c
+index df703f3635f..0535b4547aa 100644
+--- a/deps/uv/src/unix/fsevents.c
++++ b/deps/uv/src/unix/fsevents.c
+@@ -80,13 +80,13 @@ enum uv__cf_loop_signal_type_e {
+ typedef enum uv__cf_loop_signal_type_e uv__cf_loop_signal_type_t;
+
+ struct uv__cf_loop_signal_s {
+- struct uv__queue member;
++ QUEUE member;
+ uv_fs_event_t* handle;
+ uv__cf_loop_signal_type_t type;
+ };
+
+ struct uv__fsevents_event_s {
+- struct uv__queue member;
++ QUEUE member;
+ int events;
+ char path[1];
+ };
+@@ -98,7 +98,7 @@ struct uv__cf_loop_state_s {
+ FSEventStreamRef fsevent_stream;
+ uv_sem_t fsevent_sem;
+ uv_mutex_t fsevent_mutex;
+- struct uv__queue fsevent_handles;
++ void* fsevent_handles[2];
+ unsigned int fsevent_handle_count;
+ };
+
+@@ -150,22 +150,22 @@ static void (*pFSEventStreamStop)(FSEventStreamRef);
+
+ #define UV__FSEVENTS_PROCESS(handle, block) \
+ do { \
+- struct uv__queue events; \
+- struct uv__queue* q; \
++ QUEUE events; \
++ QUEUE* q; \
+ uv__fsevents_event_t* event; \
+ int err; \
+ uv_mutex_lock(&(handle)->cf_mutex); \
+ /* Split-off all events and empty original queue */ \
+- uv__queue_move(&(handle)->cf_events, &events); \
++ QUEUE_MOVE(&(handle)->cf_events, &events); \
+ /* Get error (if any) and zero original one */ \
+ err = (handle)->cf_error; \
+ (handle)->cf_error = 0; \
+ uv_mutex_unlock(&(handle)->cf_mutex); \
+ /* Loop through events, deallocating each after processing */ \
+- while (!uv__queue_empty(&events)) { \
+- q = uv__queue_head(&events); \
+- event = uv__queue_data(q, uv__fsevents_event_t, member); \
+- uv__queue_remove(q); \
++ while (!QUEUE_EMPTY(&events)) { \
++ q = QUEUE_HEAD(&events); \
++ event = QUEUE_DATA(q, uv__fsevents_event_t, member); \
++ QUEUE_REMOVE(q); \
+ /* NOTE: Checking uv__is_active() is required here, because handle \
+ * callback may close handle and invoking it after it will lead to \
+ * incorrect behaviour */ \
+@@ -193,14 +193,14 @@ static void uv__fsevents_cb(uv_async_t* cb) {
+
+ /* Runs in CF thread, pushed event into handle's event list */
+ static void uv__fsevents_push_event(uv_fs_event_t* handle,
+- struct uv__queue* events,
++ QUEUE* events,
+ int err) {
+ assert(events != NULL || err != 0);
+ uv_mutex_lock(&handle->cf_mutex);
+
+ /* Concatenate two queues */
+ if (events != NULL)
+- uv__queue_add(&handle->cf_events, events);
++ QUEUE_ADD(&handle->cf_events, events);
+
+ /* Propagate error */
+ if (err != 0)
+@@ -224,12 +224,12 @@ static void uv__fsevents_event_cb(const FSEventStreamRef streamRef,
+ char* path;
+ char* pos;
+ uv_fs_event_t* handle;
+- struct uv__queue* q;
++ QUEUE* q;
+ uv_loop_t* loop;
+ uv__cf_loop_state_t* state;
+ uv__fsevents_event_t* event;
+ FSEventStreamEventFlags flags;
+- struct uv__queue head;
++ QUEUE head;
+
+ loop = info;
+ state = loop->cf_state;
+@@ -238,9 +238,9 @@ static void uv__fsevents_event_cb(const FSEventStreamRef streamRef,
+
+ /* For each handle */
+ uv_mutex_lock(&state->fsevent_mutex);
+- uv__queue_foreach(q, &state->fsevent_handles) {
+- handle = uv__queue_data(q, uv_fs_event_t, cf_member);
+- uv__queue_init(&head);
++ QUEUE_FOREACH(q, &state->fsevent_handles) {
++ handle = QUEUE_DATA(q, uv_fs_event_t, cf_member);
++ QUEUE_INIT(&head);
+
+ /* Process and filter out events */
+ for (i = 0; i < numEvents; i++) {
+@@ -318,10 +318,10 @@ static void uv__fsevents_event_cb(const FSEventStreamRef streamRef,
+ event->events = UV_CHANGE;
+ }
+
+- uv__queue_insert_tail(&head, &event->member);
++ QUEUE_INSERT_TAIL(&head, &event->member);
+ }
+
+- if (!uv__queue_empty(&head))
++ if (!QUEUE_EMPTY(&head))
+ uv__fsevents_push_event(handle, &head, 0);
+ }
+ uv_mutex_unlock(&state->fsevent_mutex);
+@@ -403,7 +403,7 @@ static void uv__fsevents_destroy_stream(uv__cf_loop_state_t* state) {
+ static void uv__fsevents_reschedule(uv__cf_loop_state_t* state,
+ uv_loop_t* loop,
+ uv__cf_loop_signal_type_t type) {
+- struct uv__queue* q;
++ QUEUE* q;
+ uv_fs_event_t* curr;
+ CFArrayRef cf_paths;
+ CFStringRef* paths;
+@@ -446,9 +446,9 @@ static void uv__fsevents_reschedule(uv__cf_loop_state_t* state,
+
+ q = &state->fsevent_handles;
+ for (; i < path_count; i++) {
+- q = uv__queue_next(q);
++ q = QUEUE_NEXT(q);
+ assert(q != &state->fsevent_handles);
+- curr = uv__queue_data(q, uv_fs_event_t, cf_member);
++ curr = QUEUE_DATA(q, uv_fs_event_t, cf_member);
+
+ assert(curr->realpath != NULL);
+ paths[i] =
+@@ -486,8 +486,8 @@ final:
+
+ /* Broadcast error to all handles */
+ uv_mutex_lock(&state->fsevent_mutex);
+- uv__queue_foreach(q, &state->fsevent_handles) {
+- curr = uv__queue_data(q, uv_fs_event_t, cf_member);
++ QUEUE_FOREACH(q, &state->fsevent_handles) {
++ curr = QUEUE_DATA(q, uv_fs_event_t, cf_member);
+ uv__fsevents_push_event(curr, NULL, err);
+ }
+ uv_mutex_unlock(&state->fsevent_mutex);
+@@ -606,7 +606,7 @@ static int uv__fsevents_loop_init(uv_loop_t* loop) {
+ if (err)
+ goto fail_sem_init;
+
+- uv__queue_init(&loop->cf_signals);
++ QUEUE_INIT(&loop->cf_signals);
+
+ err = uv_sem_init(&state->fsevent_sem, 0);
+ if (err)
+@@ -616,7 +616,7 @@ static int uv__fsevents_loop_init(uv_loop_t* loop) {
+ if (err)
+ goto fail_fsevent_mutex_init;
+
+- uv__queue_init(&state->fsevent_handles);
++ QUEUE_INIT(&state->fsevent_handles);
+ state->fsevent_need_reschedule = 0;
+ state->fsevent_handle_count = 0;
+
+@@ -675,7 +675,7 @@ fail_mutex_init:
+ void uv__fsevents_loop_delete(uv_loop_t* loop) {
+ uv__cf_loop_signal_t* s;
+ uv__cf_loop_state_t* state;
+- struct uv__queue* q;
++ QUEUE* q;
+
+ if (loop->cf_state == NULL)
+ return;
+@@ -688,10 +688,10 @@ void uv__fsevents_loop_delete(uv_loop_t* loop) {
+ uv_mutex_destroy(&loop->cf_mutex);
+
+ /* Free any remaining data */
+- while (!uv__queue_empty(&loop->cf_signals)) {
+- q = uv__queue_head(&loop->cf_signals);
+- s = uv__queue_data(q, uv__cf_loop_signal_t, member);
+- uv__queue_remove(q);
++ while (!QUEUE_EMPTY(&loop->cf_signals)) {
++ q = QUEUE_HEAD(&loop->cf_signals);
++ s = QUEUE_DATA(q, uv__cf_loop_signal_t, member);
++ QUEUE_REMOVE(q);
+ uv__free(s);
+ }
+
+@@ -735,22 +735,22 @@ static void* uv__cf_loop_runner(void* arg) {
+ static void uv__cf_loop_cb(void* arg) {
+ uv_loop_t* loop;
+ uv__cf_loop_state_t* state;
+- struct uv__queue* item;
+- struct uv__queue split_head;
++ QUEUE* item;
++ QUEUE split_head;
+ uv__cf_loop_signal_t* s;
+
+ loop = arg;
+ state = loop->cf_state;
+
+ uv_mutex_lock(&loop->cf_mutex);
+- uv__queue_move(&loop->cf_signals, &split_head);
++ QUEUE_MOVE(&loop->cf_signals, &split_head);
+ uv_mutex_unlock(&loop->cf_mutex);
+
+- while (!uv__queue_empty(&split_head)) {
+- item = uv__queue_head(&split_head);
+- uv__queue_remove(item);
++ while (!QUEUE_EMPTY(&split_head)) {
++ item = QUEUE_HEAD(&split_head);
++ QUEUE_REMOVE(item);
+
+- s = uv__queue_data(item, uv__cf_loop_signal_t, member);
++ s = QUEUE_DATA(item, uv__cf_loop_signal_t, member);
+
+ /* This was a termination signal */
+ if (s->handle == NULL)
+@@ -778,7 +778,7 @@ int uv__cf_loop_signal(uv_loop_t* loop,
+ item->type = type;
+
+ uv_mutex_lock(&loop->cf_mutex);
+- uv__queue_insert_tail(&loop->cf_signals, &item->member);
++ QUEUE_INSERT_TAIL(&loop->cf_signals, &item->member);
+
+ state = loop->cf_state;
+ assert(state != NULL);
+@@ -807,7 +807,7 @@ int uv__fsevents_init(uv_fs_event_t* handle) {
+ handle->realpath_len = strlen(handle->realpath);
+
+ /* Initialize event queue */
+- uv__queue_init(&handle->cf_events);
++ QUEUE_INIT(&handle->cf_events);
+ handle->cf_error = 0;
+
+ /*
+@@ -832,7 +832,7 @@ int uv__fsevents_init(uv_fs_event_t* handle) {
+ /* Insert handle into the list */
+ state = handle->loop->cf_state;
+ uv_mutex_lock(&state->fsevent_mutex);
+- uv__queue_insert_tail(&state->fsevent_handles, &handle->cf_member);
++ QUEUE_INSERT_TAIL(&state->fsevent_handles, &handle->cf_member);
+ state->fsevent_handle_count++;
+ state->fsevent_need_reschedule = 1;
+ uv_mutex_unlock(&state->fsevent_mutex);
+@@ -872,7 +872,7 @@ int uv__fsevents_close(uv_fs_event_t* handle) {
+ /* Remove handle from the list */
+ state = handle->loop->cf_state;
+ uv_mutex_lock(&state->fsevent_mutex);
+- uv__queue_remove(&handle->cf_member);
++ QUEUE_REMOVE(&handle->cf_member);
+ state->fsevent_handle_count--;
+ state->fsevent_need_reschedule = 1;
+ uv_mutex_unlock(&state->fsevent_mutex);
+diff --git a/deps/uv/src/unix/internal.h b/deps/uv/src/unix/internal.h
+index fe588513603..6c5822e6a0d 100644
+--- a/deps/uv/src/unix/internal.h
++++ b/deps/uv/src/unix/internal.h
+@@ -335,30 +335,20 @@ int uv__iou_fs_close(uv_loop_t* loop, uv_fs_t* req);
+ int uv__iou_fs_fsync_or_fdatasync(uv_loop_t* loop,
+ uv_fs_t* req,
+ uint32_t fsync_flags);
+-int uv__iou_fs_link(uv_loop_t* loop, uv_fs_t* req);
+-int uv__iou_fs_mkdir(uv_loop_t* loop, uv_fs_t* req);
+ int uv__iou_fs_open(uv_loop_t* loop, uv_fs_t* req);
+ int uv__iou_fs_read_or_write(uv_loop_t* loop,
+ uv_fs_t* req,
+ int is_read);
+-int uv__iou_fs_rename(uv_loop_t* loop, uv_fs_t* req);
+ int uv__iou_fs_statx(uv_loop_t* loop,
+ uv_fs_t* req,
+ int is_fstat,
+ int is_lstat);
+-int uv__iou_fs_symlink(uv_loop_t* loop, uv_fs_t* req);
+-int uv__iou_fs_unlink(uv_loop_t* loop, uv_fs_t* req);
+ #else
+ #define uv__iou_fs_close(loop, req) 0
+ #define uv__iou_fs_fsync_or_fdatasync(loop, req, fsync_flags) 0
+-#define uv__iou_fs_link(loop, req) 0
+-#define uv__iou_fs_mkdir(loop, req) 0
+ #define uv__iou_fs_open(loop, req) 0
+ #define uv__iou_fs_read_or_write(loop, req, is_read) 0
+-#define uv__iou_fs_rename(loop, req) 0
+ #define uv__iou_fs_statx(loop, req, is_fstat, is_lstat) 0
+-#define uv__iou_fs_symlink(loop, req) 0
+-#define uv__iou_fs_unlink(loop, req) 0
+ #endif
+
+ #if defined(__APPLE__)
+@@ -439,7 +429,6 @@ int uv__statx(int dirfd,
+ struct uv__statx* statxbuf);
+ void uv__statx_to_stat(const struct uv__statx* statxbuf, uv_stat_t* buf);
+ ssize_t uv__getrandom(void* buf, size_t buflen, unsigned flags);
+-unsigned uv__kernel_version(void);
+ #endif
+
+ typedef int (*uv__peersockfunc)(int, struct sockaddr*, socklen_t*);
+diff --git a/deps/uv/src/unix/kqueue.c b/deps/uv/src/unix/kqueue.c
+index b78242d3be4..82916d65933 100644
+--- a/deps/uv/src/unix/kqueue.c
++++ b/deps/uv/src/unix/kqueue.c
+@@ -133,7 +133,7 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
+ struct timespec spec;
+ unsigned int nevents;
+ unsigned int revents;
+- struct uv__queue* q;
++ QUEUE* q;
+ uv__io_t* w;
+ uv_process_t* process;
+ sigset_t* pset;
+@@ -152,19 +152,19 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
+ int reset_timeout;
+
+ if (loop->nfds == 0) {
+- assert(uv__queue_empty(&loop->watcher_queue));
++ assert(QUEUE_EMPTY(&loop->watcher_queue));
+ return;
+ }
+
+ lfields = uv__get_internal_fields(loop);
+ nevents = 0;
+
+- while (!uv__queue_empty(&loop->watcher_queue)) {
+- q = uv__queue_head(&loop->watcher_queue);
+- uv__queue_remove(q);
+- uv__queue_init(q);
++ while (!QUEUE_EMPTY(&loop->watcher_queue)) {
++ q = QUEUE_HEAD(&loop->watcher_queue);
++ QUEUE_REMOVE(q);
++ QUEUE_INIT(q);
+
+- w = uv__queue_data(q, uv__io_t, watcher_queue);
++ w = QUEUE_DATA(q, uv__io_t, watcher_queue);
+ assert(w->pevents != 0);
+ assert(w->fd >= 0);
+ assert(w->fd < (int) loop->nwatchers);
+@@ -307,8 +307,8 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
+
+ /* Handle kevent NOTE_EXIT results */
+ if (ev->filter == EVFILT_PROC) {
+- uv__queue_foreach(q, &loop->process_handles) {
+- process = uv__queue_data(q, uv_process_t, queue);
++ QUEUE_FOREACH(q, &loop->process_handles) {
++ process = QUEUE_DATA(q, uv_process_t, queue);
+ if (process->pid == fd) {
+ process->flags |= UV_HANDLE_REAP;
+ loop->flags |= UV_LOOP_REAP_CHILDREN;
+diff --git a/deps/uv/src/unix/linux.c b/deps/uv/src/unix/linux.c
+index 48b9c2c43e1..5f84ad0eea3 100644
+--- a/deps/uv/src/unix/linux.c
++++ b/deps/uv/src/unix/linux.c
+@@ -48,7 +48,6 @@
+ #include <sys/sysinfo.h>
+ #include <sys/sysmacros.h>
+ #include <sys/types.h>
+-#include <sys/utsname.h>
+ #include <time.h>
+ #include <unistd.h>
+
+@@ -151,11 +150,6 @@ enum {
+ UV__IORING_OP_CLOSE = 19,
+ UV__IORING_OP_STATX = 21,
+ UV__IORING_OP_EPOLL_CTL = 29,
+- UV__IORING_OP_RENAMEAT = 35,
+- UV__IORING_OP_UNLINKAT = 36,
+- UV__IORING_OP_MKDIRAT = 37,
+- UV__IORING_OP_SYMLINKAT = 38,
+- UV__IORING_OP_LINKAT = 39,
+ };
+
+ enum {
+@@ -168,10 +162,6 @@ enum {
+ UV__IORING_SQ_CQ_OVERFLOW = 2u,
+ };
+
+-enum {
+- UV__MKDIRAT_SYMLINKAT_LINKAT = 1u,
+-};
+-
+ struct uv__io_cqring_offsets {
+ uint32_t head;
+ uint32_t tail;
+@@ -267,7 +257,7 @@ STATIC_ASSERT(EPOLL_CTL_MOD < 4);
+
+ struct watcher_list {
+ RB_ENTRY(watcher_list) entry;
+- struct uv__queue watchers;
++ QUEUE watchers;
+ int iterating;
+ char* path;
+ int wd;
+@@ -310,31 +300,6 @@ static struct watcher_root* uv__inotify_watchers(uv_loop_t* loop) {
+ }
+
+
+-unsigned uv__kernel_version(void) {
+- static _Atomic unsigned cached_version;
+- struct utsname u;
+- unsigned version;
+- unsigned major;
+- unsigned minor;
+- unsigned patch;
+-
+- version = atomic_load_explicit(&cached_version, memory_order_relaxed);
+- if (version != 0)
+- return version;
+-
+- if (-1 == uname(&u))
+- return 0;
+-
+- if (3 != sscanf(u.release, "%u.%u.%u", &major, &minor, &patch))
+- return 0;
+-
+- version = major * 65536 + minor * 256 + patch;
+- atomic_store_explicit(&cached_version, version, memory_order_relaxed);
+-
+- return version;
+-}
+-
+-
+ ssize_t
+ uv__fs_copy_file_range(int fd_in,
+ off_t* off_in,
+@@ -420,9 +385,6 @@ int uv__io_uring_register(int fd, unsigned opcode, void* arg, unsigned nargs) {
+
+
+ static int uv__use_io_uring(void) {
+-#if defined(__ANDROID_API__)
+- return 0; /* Possibly available but blocked by seccomp. */
+-#else
+ /* Ternary: unknown=0, yes=1, no=-1 */
+ static _Atomic int use_io_uring;
+ char* val;
+@@ -437,7 +399,6 @@ static int uv__use_io_uring(void) {
+ }
+
+ return use > 0;
+-#endif
+ }
+
+
+@@ -542,10 +503,6 @@ static void uv__iou_init(int epollfd,
+ iou->sqelen = sqelen;
+ iou->ringfd = ringfd;
+ iou->in_flight = 0;
+- iou->flags = 0;
+-
+- if (uv__kernel_version() >= /* 5.15.0 */ 0x050F00)
+- iou->flags |= UV__MKDIRAT_SYMLINKAT_LINKAT;
+
+ for (i = 0; i <= iou->sqmask; i++)
+ iou->sqarray[i] = i; /* Slot -> sqe identity mapping. */
+@@ -727,7 +684,7 @@ static struct uv__io_uring_sqe* uv__iou_get_sqe(struct uv__iou* iou,
+ req->work_req.loop = loop;
+ req->work_req.work = NULL;
+ req->work_req.done = NULL;
+- uv__queue_init(&req->work_req.wq);
++ QUEUE_INIT(&req->work_req.wq);
+
+ uv__req_register(loop, req);
+ iou->in_flight++;
+@@ -757,17 +714,6 @@ int uv__iou_fs_close(uv_loop_t* loop, uv_fs_t* req) {
+ struct uv__io_uring_sqe* sqe;
+ struct uv__iou* iou;
+
+- /* Work around a poorly understood bug in older kernels where closing a file
+- * descriptor pointing to /foo/bar results in ETXTBSY errors when trying to
+- * execve("/foo/bar") later on. The bug seems to have been fixed somewhere
+- * between 5.15.85 and 5.15.90. I couldn't pinpoint the responsible commit
+- * but good candidates are the several data race fixes. Interestingly, it
+- * seems to manifest only when running under Docker so the possibility of
+- * a Docker bug can't be completely ruled out either. Yay, computers.
+- */
+- if (uv__kernel_version() < /* 5.15.90 */ 0x050F5A)
+- return 0;
+-
+ iou = &uv__get_internal_fields(loop)->iou;
+
+ sqe = uv__iou_get_sqe(iou, loop, req);
+@@ -808,55 +754,6 @@ int uv__iou_fs_fsync_or_fdatasync(uv_loop_t* loop,
+ }
+
+
+-int uv__iou_fs_link(uv_loop_t* loop, uv_fs_t* req) {
+- struct uv__io_uring_sqe* sqe;
+- struct uv__iou* iou;
+-
+- iou = &uv__get_internal_fields(loop)->iou;
+-
+- if (!(iou->flags & UV__MKDIRAT_SYMLINKAT_LINKAT))
+- return 0;
+-
+- sqe = uv__iou_get_sqe(iou, loop, req);
+- if (sqe == NULL)
+- return 0;
+-
+- sqe->addr = (uintptr_t) req->path;
+- sqe->fd = AT_FDCWD;
+- sqe->addr2 = (uintptr_t) req->new_path;
+- sqe->len = AT_FDCWD;
+- sqe->opcode = UV__IORING_OP_LINKAT;
+-
+- uv__iou_submit(iou);
+-
+- return 1;
+-}
+-
+-
+-int uv__iou_fs_mkdir(uv_loop_t* loop, uv_fs_t* req) {
+- struct uv__io_uring_sqe* sqe;
+- struct uv__iou* iou;
+-
+- iou = &uv__get_internal_fields(loop)->iou;
+-
+- if (!(iou->flags & UV__MKDIRAT_SYMLINKAT_LINKAT))
+- return 0;
+-
+- sqe = uv__iou_get_sqe(iou, loop, req);
+- if (sqe == NULL)
+- return 0;
+-
+- sqe->addr = (uintptr_t) req->path;
+- sqe->fd = AT_FDCWD;
+- sqe->len = req->mode;
+- sqe->opcode = UV__IORING_OP_MKDIRAT;
+-
+- uv__iou_submit(iou);
+-
+- return 1;
+-}
+-
+-
+ int uv__iou_fs_open(uv_loop_t* loop, uv_fs_t* req) {
+ struct uv__io_uring_sqe* sqe;
+ struct uv__iou* iou;
+@@ -879,86 +776,16 @@ int uv__iou_fs_open(uv_loop_t* loop, uv_fs_t* req) {
+ }
+
+
+-int uv__iou_fs_rename(uv_loop_t* loop, uv_fs_t* req) {
+- struct uv__io_uring_sqe* sqe;
+- struct uv__iou* iou;
+-
+- iou = &uv__get_internal_fields(loop)->iou;
+-
+- sqe = uv__iou_get_sqe(iou, loop, req);
+- if (sqe == NULL)
+- return 0;
+-
+- sqe->addr = (uintptr_t) req->path;
+- sqe->fd = AT_FDCWD;
+- sqe->addr2 = (uintptr_t) req->new_path;
+- sqe->len = AT_FDCWD;
+- sqe->opcode = UV__IORING_OP_RENAMEAT;
+-
+- uv__iou_submit(iou);
+-
+- return 1;
+-}
+-
+-
+-int uv__iou_fs_symlink(uv_loop_t* loop, uv_fs_t* req) {
+- struct uv__io_uring_sqe* sqe;
+- struct uv__iou* iou;
+-
+- iou = &uv__get_internal_fields(loop)->iou;
+-
+- if (!(iou->flags & UV__MKDIRAT_SYMLINKAT_LINKAT))
+- return 0;
+-
+- sqe = uv__iou_get_sqe(iou, loop, req);
+- if (sqe == NULL)
+- return 0;
+-
+- sqe->addr = (uintptr_t) req->path;
+- sqe->fd = AT_FDCWD;
+- sqe->addr2 = (uintptr_t) req->new_path;
+- sqe->opcode = UV__IORING_OP_SYMLINKAT;
+-
+- uv__iou_submit(iou);
+-
+- return 1;
+-}
+-
+-
+-int uv__iou_fs_unlink(uv_loop_t* loop, uv_fs_t* req) {
+- struct uv__io_uring_sqe* sqe;
+- struct uv__iou* iou;
+-
+- iou = &uv__get_internal_fields(loop)->iou;
+-
+- sqe = uv__iou_get_sqe(iou, loop, req);
+- if (sqe == NULL)
+- return 0;
+-
+- sqe->addr = (uintptr_t) req->path;
+- sqe->fd = AT_FDCWD;
+- sqe->opcode = UV__IORING_OP_UNLINKAT;
+-
+- uv__iou_submit(iou);
+-
+- return 1;
+-}
+-
+-
+ int uv__iou_fs_read_or_write(uv_loop_t* loop,
+ uv_fs_t* req,
+ int is_read) {
+ struct uv__io_uring_sqe* sqe;
+ struct uv__iou* iou;
+
+- /* If iovcnt is greater than IOV_MAX, cap it to IOV_MAX on reads and fallback
+- * to the threadpool on writes */
+- if (req->nbufs > IOV_MAX) {
+- if (is_read)
+- req->nbufs = IOV_MAX;
+- else
+- return 0;
+- }
++ /* For the moment, if iovcnt is greater than IOV_MAX, fallback to the
++ * threadpool. In the future we might take advantage of IOSQE_IO_LINK. */
++ if (req->nbufs > IOV_MAX)
++ return 0;
+
+ iou = &uv__get_internal_fields(loop)->iou;
+
+@@ -1265,7 +1092,7 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
+ struct uv__iou* ctl;
+ struct uv__iou* iou;
+ int real_timeout;
+- struct uv__queue* q;
++ QUEUE* q;
+ uv__io_t* w;
+ sigset_t* sigmask;
+ sigset_t sigset;
+@@ -1311,11 +1138,11 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
+
+ memset(&e, 0, sizeof(e));
+
+- while (!uv__queue_empty(&loop->watcher_queue)) {
+- q = uv__queue_head(&loop->watcher_queue);
+- w = uv__queue_data(q, uv__io_t, watcher_queue);
+- uv__queue_remove(q);
+- uv__queue_init(q);
++ while (!QUEUE_EMPTY(&loop->watcher_queue)) {
++ q = QUEUE_HEAD(&loop->watcher_queue);
++ w = QUEUE_DATA(q, uv__io_t, watcher_queue);
++ QUEUE_REMOVE(q);
++ QUEUE_INIT(q);
+
+ op = EPOLL_CTL_MOD;
+ if (w->events == 0)
+@@ -2272,8 +2099,8 @@ static int uv__inotify_fork(uv_loop_t* loop, struct watcher_list* root) {
+ struct watcher_list* tmp_watcher_list_iter;
+ struct watcher_list* watcher_list;
+ struct watcher_list tmp_watcher_list;
+- struct uv__queue queue;
+- struct uv__queue* q;
++ QUEUE queue;
++ QUEUE* q;
+ uv_fs_event_t* handle;
+ char* tmp_path;
+
+@@ -2285,41 +2112,41 @@ static int uv__inotify_fork(uv_loop_t* loop, struct watcher_list* root) {
+ */
+ loop->inotify_watchers = root;
+
+- uv__queue_init(&tmp_watcher_list.watchers);
++ QUEUE_INIT(&tmp_watcher_list.watchers);
+ /* Note that the queue we use is shared with the start and stop()
+- * functions, making uv__queue_foreach unsafe to use. So we use the
+- * uv__queue_move trick to safely iterate. Also don't free the watcher
++ * functions, making QUEUE_FOREACH unsafe to use. So we use the
++ * QUEUE_MOVE trick to safely iterate. Also don't free the watcher
+ * list until we're done iterating. c.f. uv__inotify_read.
+ */
+ RB_FOREACH_SAFE(watcher_list, watcher_root,
+ uv__inotify_watchers(loop), tmp_watcher_list_iter) {
+ watcher_list->iterating = 1;
+- uv__queue_move(&watcher_list->watchers, &queue);
+- while (!uv__queue_empty(&queue)) {
+- q = uv__queue_head(&queue);
+- handle = uv__queue_data(q, uv_fs_event_t, watchers);
++ QUEUE_MOVE(&watcher_list->watchers, &queue);
++ while (!QUEUE_EMPTY(&queue)) {
++ q = QUEUE_HEAD(&queue);
++ handle = QUEUE_DATA(q, uv_fs_event_t, watchers);
+ /* It's critical to keep a copy of path here, because it
+ * will be set to NULL by stop() and then deallocated by
+ * maybe_free_watcher_list
+ */
+ tmp_path = uv__strdup(handle->path);
+ assert(tmp_path != NULL);
+- uv__queue_remove(q);
+- uv__queue_insert_tail(&watcher_list->watchers, q);
++ QUEUE_REMOVE(q);
++ QUEUE_INSERT_TAIL(&watcher_list->watchers, q);
+ uv_fs_event_stop(handle);
+
+- uv__queue_insert_tail(&tmp_watcher_list.watchers, &handle->watchers);
++ QUEUE_INSERT_TAIL(&tmp_watcher_list.watchers, &handle->watchers);
+ handle->path = tmp_path;
+ }
+ watcher_list->iterating = 0;
+ maybe_free_watcher_list(watcher_list, loop);
+ }
+
+- uv__queue_move(&tmp_watcher_list.watchers, &queue);
+- while (!uv__queue_empty(&queue)) {
+- q = uv__queue_head(&queue);
+- uv__queue_remove(q);
+- handle = uv__queue_data(q, uv_fs_event_t, watchers);
++ QUEUE_MOVE(&tmp_watcher_list.watchers, &queue);
++ while (!QUEUE_EMPTY(&queue)) {
++ q = QUEUE_HEAD(&queue);
++ QUEUE_REMOVE(q);
++ handle = QUEUE_DATA(q, uv_fs_event_t, watchers);
+ tmp_path = handle->path;
+ handle->path = NULL;
+ err = uv_fs_event_start(handle, handle->cb, tmp_path, 0);
+@@ -2341,7 +2168,7 @@ static struct watcher_list* find_watcher(uv_loop_t* loop, int wd) {
+
+ static void maybe_free_watcher_list(struct watcher_list* w, uv_loop_t* loop) {
+ /* if the watcher_list->watchers is being iterated over, we can't free it. */
+- if ((!w->iterating) && uv__queue_empty(&w->watchers)) {
++ if ((!w->iterating) && QUEUE_EMPTY(&w->watchers)) {
+ /* No watchers left for this path. Clean up. */
+ RB_REMOVE(watcher_root, uv__inotify_watchers(loop), w);
+ inotify_rm_watch(loop->inotify_fd, w->wd);
+@@ -2356,8 +2183,8 @@ static void uv__inotify_read(uv_loop_t* loop,
+ const struct inotify_event* e;
+ struct watcher_list* w;
+ uv_fs_event_t* h;
+- struct uv__queue queue;
+- struct uv__queue* q;
++ QUEUE queue;
++ QUEUE* q;
+ const char* path;
+ ssize_t size;
+ const char *p;
+@@ -2400,7 +2227,7 @@ static void uv__inotify_read(uv_loop_t* loop,
+ * What can go wrong?
+ * A callback could call uv_fs_event_stop()
+ * and the queue can change under our feet.
+- * So, we use uv__queue_move() trick to safely iterate over the queue.
++ * So, we use QUEUE_MOVE() trick to safely iterate over the queue.
+ * And we don't free the watcher_list until we're done iterating.
+ *
+ * First,
+@@ -2408,13 +2235,13 @@ static void uv__inotify_read(uv_loop_t* loop,
+ * not to free watcher_list.
+ */
+ w->iterating = 1;
+- uv__queue_move(&w->watchers, &queue);
+- while (!uv__queue_empty(&queue)) {
+- q = uv__queue_head(&queue);
+- h = uv__queue_data(q, uv_fs_event_t, watchers);
++ QUEUE_MOVE(&w->watchers, &queue);
++ while (!QUEUE_EMPTY(&queue)) {
++ q = QUEUE_HEAD(&queue);
++ h = QUEUE_DATA(q, uv_fs_event_t, watchers);
+
+- uv__queue_remove(q);
+- uv__queue_insert_tail(&w->watchers, q);
++ QUEUE_REMOVE(q);
++ QUEUE_INSERT_TAIL(&w->watchers, q);
+
+ h->cb(h, path, events, 0);
+ }
+@@ -2476,13 +2303,13 @@ int uv_fs_event_start(uv_fs_event_t* handle,
+
+ w->wd = wd;
+ w->path = memcpy(w + 1, path, len);
+- uv__queue_init(&w->watchers);
++ QUEUE_INIT(&w->watchers);
+ w->iterating = 0;
+ RB_INSERT(watcher_root, uv__inotify_watchers(loop), w);
+
+ no_insert:
+ uv__handle_start(handle);
+- uv__queue_insert_tail(&w->watchers, &handle->watchers);
++ QUEUE_INSERT_TAIL(&w->watchers, &handle->watchers);
+ handle->path = w->path;
+ handle->cb = cb;
+ handle->wd = wd;
+@@ -2503,7 +2330,7 @@ int uv_fs_event_stop(uv_fs_event_t* handle) {
+ handle->wd = -1;
+ handle->path = NULL;
+ uv__handle_stop(handle);
+- uv__queue_remove(&handle->watchers);
++ QUEUE_REMOVE(&handle->watchers);
+
+ maybe_free_watcher_list(w, handle->loop);
+
+diff --git a/deps/uv/src/unix/loop-watcher.c b/deps/uv/src/unix/loop-watcher.c
+index 2db8b515df7..b8c1c2a7102 100644
+--- a/deps/uv/src/unix/loop-watcher.c
++++ b/deps/uv/src/unix/loop-watcher.c
+@@ -32,7 +32,7 @@
+ int uv_##name##_start(uv_##name##_t* handle, uv_##name##_cb cb) { \
+ if (uv__is_active(handle)) return 0; \
+ if (cb == NULL) return UV_EINVAL; \
+- uv__queue_insert_head(&handle->loop->name##_handles, &handle->queue); \
++ QUEUE_INSERT_HEAD(&handle->loop->name##_handles, &handle->queue); \
+ handle->name##_cb = cb; \
+ uv__handle_start(handle); \
+ return 0; \
+@@ -40,21 +40,21 @@
+ \
+ int uv_##name##_stop(uv_##name##_t* handle) { \
+ if (!uv__is_active(handle)) return 0; \
+- uv__queue_remove(&handle->queue); \
++ QUEUE_REMOVE(&handle->queue); \
+ uv__handle_stop(handle); \
+ return 0; \
+ } \
+ \
+ void uv__run_##name(uv_loop_t* loop) { \
+ uv_##name##_t* h; \
+- struct uv__queue queue; \
+- struct uv__queue* q; \
+- uv__queue_move(&loop->name##_handles, &queue); \
+- while (!uv__queue_empty(&queue)) { \
+- q = uv__queue_head(&queue); \
+- h = uv__queue_data(q, uv_##name##_t, queue); \
+- uv__queue_remove(q); \
+- uv__queue_insert_tail(&loop->name##_handles, q); \
++ QUEUE queue; \
++ QUEUE* q; \
++ QUEUE_MOVE(&loop->name##_handles, &queue); \
++ while (!QUEUE_EMPTY(&queue)) { \
++ q = QUEUE_HEAD(&queue); \
++ h = QUEUE_DATA(q, uv_##name##_t, queue); \
++ QUEUE_REMOVE(q); \
++ QUEUE_INSERT_TAIL(&loop->name##_handles, q); \
+ h->name##_cb(h); \
+ } \
+ } \
+diff --git a/deps/uv/src/unix/loop.c b/deps/uv/src/unix/loop.c
+index a9468e8e19c..90a51b339de 100644
+--- a/deps/uv/src/unix/loop.c
++++ b/deps/uv/src/unix/loop.c
+@@ -50,20 +50,20 @@ int uv_loop_init(uv_loop_t* loop) {
+ sizeof(lfields->loop_metrics.metrics));
+
+ heap_init((struct heap*) &loop->timer_heap);
+- uv__queue_init(&loop->wq);
+- uv__queue_init(&loop->idle_handles);
+- uv__queue_init(&loop->async_handles);
+- uv__queue_init(&loop->check_handles);
+- uv__queue_init(&loop->prepare_handles);
+- uv__queue_init(&loop->handle_queue);
++ QUEUE_INIT(&loop->wq);
++ QUEUE_INIT(&loop->idle_handles);
++ QUEUE_INIT(&loop->async_handles);
++ QUEUE_INIT(&loop->check_handles);
++ QUEUE_INIT(&loop->prepare_handles);
++ QUEUE_INIT(&loop->handle_queue);
+
+ loop->active_handles = 0;
+ loop->active_reqs.count = 0;
+ loop->nfds = 0;
+ loop->watchers = NULL;
+ loop->nwatchers = 0;
+- uv__queue_init(&loop->pending_queue);
+- uv__queue_init(&loop->watcher_queue);
++ QUEUE_INIT(&loop->pending_queue);
++ QUEUE_INIT(&loop->watcher_queue);
+
+ loop->closing_handles = NULL;
+ uv__update_time(loop);
+@@ -85,7 +85,7 @@ int uv_loop_init(uv_loop_t* loop) {
+ err = uv__process_init(loop);
+ if (err)
+ goto fail_signal_init;
+- uv__queue_init(&loop->process_handles);
++ QUEUE_INIT(&loop->process_handles);
+
+ err = uv_rwlock_init(&loop->cloexec_lock);
+ if (err)
+@@ -152,9 +152,9 @@ int uv_loop_fork(uv_loop_t* loop) {
+ if (w == NULL)
+ continue;
+
+- if (w->pevents != 0 && uv__queue_empty(&w->watcher_queue)) {
++ if (w->pevents != 0 && QUEUE_EMPTY(&w->watcher_queue)) {
+ w->events = 0; /* Force re-registration in uv__io_poll. */
+- uv__queue_insert_tail(&loop->watcher_queue, &w->watcher_queue);
++ QUEUE_INSERT_TAIL(&loop->watcher_queue, &w->watcher_queue);
+ }
+ }
+
+@@ -180,7 +180,7 @@ void uv__loop_close(uv_loop_t* loop) {
+ }
+
+ uv_mutex_lock(&loop->wq_mutex);
+- assert(uv__queue_empty(&loop->wq) && "thread pool work queue not empty!");
++ assert(QUEUE_EMPTY(&loop->wq) && "thread pool work queue not empty!");
+ assert(!uv__has_active_reqs(loop));
+ uv_mutex_unlock(&loop->wq_mutex);
+ uv_mutex_destroy(&loop->wq_mutex);
+@@ -192,8 +192,8 @@ void uv__loop_close(uv_loop_t* loop) {
+ uv_rwlock_destroy(&loop->cloexec_lock);
+
+ #if 0
+- assert(uv__queue_empty(&loop->pending_queue));
+- assert(uv__queue_empty(&loop->watcher_queue));
++ assert(QUEUE_EMPTY(&loop->pending_queue));
++ assert(QUEUE_EMPTY(&loop->watcher_queue));
+ assert(loop->nfds == 0);
+ #endif
+
+diff --git a/deps/uv/src/unix/os390-syscalls.c b/deps/uv/src/unix/os390-syscalls.c
+index 7f90c270906..5861aaaa202 100644
+--- a/deps/uv/src/unix/os390-syscalls.c
++++ b/deps/uv/src/unix/os390-syscalls.c
+@@ -27,7 +27,7 @@
+ #include <termios.h>
+ #include <sys/msg.h>
+
+-static struct uv__queue global_epoll_queue;
++static QUEUE global_epoll_queue;
+ static uv_mutex_t global_epoll_lock;
+ static uv_once_t once = UV_ONCE_INIT;
+
+@@ -178,18 +178,18 @@ static void after_fork(void) {
+
+
+ static void child_fork(void) {
+- struct uv__queue* q;
++ QUEUE* q;
+ uv_once_t child_once = UV_ONCE_INIT;
+
+ /* reset once */
+ memcpy(&once, &child_once, sizeof(child_once));
+
+ /* reset epoll list */
+- while (!uv__queue_empty(&global_epoll_queue)) {
++ while (!QUEUE_EMPTY(&global_epoll_queue)) {
+ uv__os390_epoll* lst;
+- q = uv__queue_head(&global_epoll_queue);
+- uv__queue_remove(q);
+- lst = uv__queue_data(q, uv__os390_epoll, member);
++ q = QUEUE_HEAD(&global_epoll_queue);
++ QUEUE_REMOVE(q);
++ lst = QUEUE_DATA(q, uv__os390_epoll, member);
+ uv__free(lst->items);
+ lst->items = NULL;
+ lst->size = 0;
+@@ -201,7 +201,7 @@ static void child_fork(void) {
+
+
+ static void epoll_init(void) {
+- uv__queue_init(&global_epoll_queue);
++ QUEUE_INIT(&global_epoll_queue);
+ if (uv_mutex_init(&global_epoll_lock))
+ abort();
+
+@@ -225,7 +225,7 @@ uv__os390_epoll* epoll_create1(int flags) {
+ lst->items[lst->size - 1].revents = 0;
+ uv_once(&once, epoll_init);
+ uv_mutex_lock(&global_epoll_lock);
+- uv__queue_insert_tail(&global_epoll_queue, &lst->member);
++ QUEUE_INSERT_TAIL(&global_epoll_queue, &lst->member);
+ uv_mutex_unlock(&global_epoll_lock);
+ }
+
+@@ -352,14 +352,14 @@ int epoll_wait(uv__os390_epoll* lst, struct epoll_event* events,
+
+
+ int epoll_file_close(int fd) {
+- struct uv__queue* q;
++ QUEUE* q;
+
+ uv_once(&once, epoll_init);
+ uv_mutex_lock(&global_epoll_lock);
+- uv__queue_foreach(q, &global_epoll_queue) {
++ QUEUE_FOREACH(q, &global_epoll_queue) {
+ uv__os390_epoll* lst;
+
+- lst = uv__queue_data(q, uv__os390_epoll, member);
++ lst = QUEUE_DATA(q, uv__os390_epoll, member);
+ if (fd < lst->size && lst->items != NULL && lst->items[fd].fd != -1)
+ lst->items[fd].fd = -1;
+ }
+@@ -371,7 +371,7 @@ int epoll_file_close(int fd) {
+ void epoll_queue_close(uv__os390_epoll* lst) {
+ /* Remove epoll instance from global queue */
+ uv_mutex_lock(&global_epoll_lock);
+- uv__queue_remove(&lst->member);
++ QUEUE_REMOVE(&lst->member);
+ uv_mutex_unlock(&global_epoll_lock);
+
+ /* Free resources */
+diff --git a/deps/uv/src/unix/os390-syscalls.h b/deps/uv/src/unix/os390-syscalls.h
+index d5f3bcf8b1c..9f504171d85 100644
+--- a/deps/uv/src/unix/os390-syscalls.h
++++ b/deps/uv/src/unix/os390-syscalls.h
+@@ -45,7 +45,7 @@ struct epoll_event {
+ };
+
+ typedef struct {
+- struct uv__queue member;
++ QUEUE member;
+ struct pollfd* items;
+ unsigned long size;
+ int msg_queue;
+diff --git a/deps/uv/src/unix/os390.c b/deps/uv/src/unix/os390.c
+index bbd37692d1d..a87c2d77faf 100644
+--- a/deps/uv/src/unix/os390.c
++++ b/deps/uv/src/unix/os390.c
+@@ -815,7 +815,7 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
+ uv__os390_epoll* ep;
+ int have_signals;
+ int real_timeout;
+- struct uv__queue* q;
++ QUEUE* q;
+ uv__io_t* w;
+ uint64_t base;
+ int count;
+@@ -827,19 +827,19 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
+ int reset_timeout;
+
+ if (loop->nfds == 0) {
+- assert(uv__queue_empty(&loop->watcher_queue));
++ assert(QUEUE_EMPTY(&loop->watcher_queue));
+ return;
+ }
+
+ lfields = uv__get_internal_fields(loop);
+
+- while (!uv__queue_empty(&loop->watcher_queue)) {
++ while (!QUEUE_EMPTY(&loop->watcher_queue)) {
+ uv_stream_t* stream;
+
+- q = uv__queue_head(&loop->watcher_queue);
+- uv__queue_remove(q);
+- uv__queue_init(q);
+- w = uv__queue_data(q, uv__io_t, watcher_queue);
++ q = QUEUE_HEAD(&loop->watcher_queue);
++ QUEUE_REMOVE(q);
++ QUEUE_INIT(q);
++ w = QUEUE_DATA(q, uv__io_t, watcher_queue);
+
+ assert(w->pevents != 0);
+ assert(w->fd >= 0);
+diff --git a/deps/uv/src/unix/pipe.c b/deps/uv/src/unix/pipe.c
+index d332f351830..ce91ac49b30 100644
+--- a/deps/uv/src/unix/pipe.c
++++ b/deps/uv/src/unix/pipe.c
+@@ -297,7 +297,7 @@ out:
+ uv__req_init(handle->loop, req, UV_CONNECT);
+ req->handle = (uv_stream_t*)handle;
+ req->cb = cb;
+- uv__queue_init(&req->queue);
++ QUEUE_INIT(&req->queue);
+
+ /* Force callback to run on next tick in case of error. */
+ if (err)
+diff --git a/deps/uv/src/unix/posix-poll.c b/deps/uv/src/unix/posix-poll.c
+index 2e016c2fbae..7e7de86845d 100644
+--- a/deps/uv/src/unix/posix-poll.c
++++ b/deps/uv/src/unix/posix-poll.c
+@@ -137,7 +137,7 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
+ sigset_t set;
+ uint64_t time_base;
+ uint64_t time_diff;
+- struct uv__queue* q;
++ QUEUE* q;
+ uv__io_t* w;
+ size_t i;
+ unsigned int nevents;
+@@ -149,19 +149,19 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
+ int reset_timeout;
+
+ if (loop->nfds == 0) {
+- assert(uv__queue_empty(&loop->watcher_queue));
++ assert(QUEUE_EMPTY(&loop->watcher_queue));
+ return;
+ }
+
+ lfields = uv__get_internal_fields(loop);
+
+ /* Take queued watchers and add their fds to our poll fds array. */
+- while (!uv__queue_empty(&loop->watcher_queue)) {
+- q = uv__queue_head(&loop->watcher_queue);
+- uv__queue_remove(q);
+- uv__queue_init(q);
++ while (!QUEUE_EMPTY(&loop->watcher_queue)) {
++ q = QUEUE_HEAD(&loop->watcher_queue);
++ QUEUE_REMOVE(q);
++ QUEUE_INIT(q);
+
+- w = uv__queue_data(q, uv__io_t, watcher_queue);
++ w = QUEUE_DATA(q, uv__io_t, watcher_queue);
+ assert(w->pevents != 0);
+ assert(w->fd >= 0);
+ assert(w->fd < (int) loop->nwatchers);
+diff --git a/deps/uv/src/unix/process.c b/deps/uv/src/unix/process.c
+index dd58c18d9b9..bbf367b57d3 100644
+--- a/deps/uv/src/unix/process.c
++++ b/deps/uv/src/unix/process.c
+@@ -108,17 +108,17 @@ void uv__wait_children(uv_loop_t* loop) {
+ int status;
+ int options;
+ pid_t pid;
+- struct uv__queue pending;
+- struct uv__queue* q;
+- struct uv__queue* h;
++ QUEUE pending;
++ QUEUE* q;
++ QUEUE* h;
+
+- uv__queue_init(&pending);
++ QUEUE_INIT(&pending);
+
+ h = &loop->process_handles;
+- q = uv__queue_head(h);
++ q = QUEUE_HEAD(h);
+ while (q != h) {
+- process = uv__queue_data(q, uv_process_t, queue);
+- q = uv__queue_next(q);
++ process = QUEUE_DATA(q, uv_process_t, queue);
++ q = QUEUE_NEXT(q);
+
+ #ifndef UV_USE_SIGCHLD
+ if ((process->flags & UV_HANDLE_REAP) == 0)
+@@ -149,18 +149,18 @@ void uv__wait_children(uv_loop_t* loop) {
+
+ assert(pid == process->pid);
+ process->status = status;
+- uv__queue_remove(&process->queue);
+- uv__queue_insert_tail(&pending, &process->queue);
++ QUEUE_REMOVE(&process->queue);
++ QUEUE_INSERT_TAIL(&pending, &process->queue);
+ }
+
+ h = &pending;
+- q = uv__queue_head(h);
++ q = QUEUE_HEAD(h);
+ while (q != h) {
+- process = uv__queue_data(q, uv_process_t, queue);
+- q = uv__queue_next(q);
++ process = QUEUE_DATA(q, uv_process_t, queue);
++ q = QUEUE_NEXT(q);
+
+- uv__queue_remove(&process->queue);
+- uv__queue_init(&process->queue);
++ QUEUE_REMOVE(&process->queue);
++ QUEUE_INIT(&process->queue);
+ uv__handle_stop(process);
+
+ if (process->exit_cb == NULL)
+@@ -176,7 +176,7 @@ void uv__wait_children(uv_loop_t* loop) {
+
+ process->exit_cb(process, exit_status, term_signal);
+ }
+- assert(uv__queue_empty(&pending));
++ assert(QUEUE_EMPTY(&pending));
+ }
+
+ /*
+@@ -978,7 +978,7 @@ int uv_spawn(uv_loop_t* loop,
+ UV_PROCESS_WINDOWS_VERBATIM_ARGUMENTS)));
+
+ uv__handle_init(loop, (uv_handle_t*)process, UV_PROCESS);
+- uv__queue_init(&process->queue);
++ QUEUE_INIT(&process->queue);
+ process->status = 0;
+
+ stdio_count = options->stdio_count;
+@@ -1041,7 +1041,7 @@ int uv_spawn(uv_loop_t* loop,
+
+ process->pid = pid;
+ process->exit_cb = options->exit_cb;
+- uv__queue_insert_tail(&loop->process_handles, &process->queue);
++ QUEUE_INSERT_TAIL(&loop->process_handles, &process->queue);
+ uv__handle_start(process);
+ }
+
+@@ -1103,10 +1103,10 @@ int uv_kill(int pid, int signum) {
+
+
+ void uv__process_close(uv_process_t* handle) {
+- uv__queue_remove(&handle->queue);
++ QUEUE_REMOVE(&handle->queue);
+ uv__handle_stop(handle);
+ #ifdef UV_USE_SIGCHLD
+- if (uv__queue_empty(&handle->loop->process_handles))
++ if (QUEUE_EMPTY(&handle->loop->process_handles))
+ uv_signal_stop(&handle->loop->child_watcher);
+ #endif
+ }
+diff --git a/deps/uv/src/unix/signal.c b/deps/uv/src/unix/signal.c
+index 63aba5a60e0..bb70523f561 100644
+--- a/deps/uv/src/unix/signal.c
++++ b/deps/uv/src/unix/signal.c
+@@ -291,16 +291,16 @@ int uv__signal_loop_fork(uv_loop_t* loop) {
+
+
+ void uv__signal_loop_cleanup(uv_loop_t* loop) {
+- struct uv__queue* q;
++ QUEUE* q;
+
+ /* Stop all the signal watchers that are still attached to this loop. This
+ * ensures that the (shared) signal tree doesn't contain any invalid entries
+ * entries, and that signal handlers are removed when appropriate.
+- * It's safe to use uv__queue_foreach here because the handles and the handle
++ * It's safe to use QUEUE_FOREACH here because the handles and the handle
+ * queue are not modified by uv__signal_stop().
+ */
+- uv__queue_foreach(q, &loop->handle_queue) {
+- uv_handle_t* handle = uv__queue_data(q, uv_handle_t, handle_queue);
++ QUEUE_FOREACH(q, &loop->handle_queue) {
++ uv_handle_t* handle = QUEUE_DATA(q, uv_handle_t, handle_queue);
+
+ if (handle->type == UV_SIGNAL)
+ uv__signal_stop((uv_signal_t*) handle);
+diff --git a/deps/uv/src/unix/stream.c b/deps/uv/src/unix/stream.c
+index 28c4d5463c4..03f92b5045a 100644
+--- a/deps/uv/src/unix/stream.c
++++ b/deps/uv/src/unix/stream.c
+@@ -94,8 +94,8 @@ void uv__stream_init(uv_loop_t* loop,
+ stream->accepted_fd = -1;
+ stream->queued_fds = NULL;
+ stream->delayed_error = 0;
+- uv__queue_init(&stream->write_queue);
+- uv__queue_init(&stream->write_completed_queue);
++ QUEUE_INIT(&stream->write_queue);
++ QUEUE_INIT(&stream->write_completed_queue);
+ stream->write_queue_size = 0;
+
+ if (loop->emfile_fd == -1) {
+@@ -439,15 +439,15 @@ int uv__stream_open(uv_stream_t* stream, int fd, int flags) {
+
+ void uv__stream_flush_write_queue(uv_stream_t* stream, int error) {
+ uv_write_t* req;
+- struct uv__queue* q;
+- while (!uv__queue_empty(&stream->write_queue)) {
+- q = uv__queue_head(&stream->write_queue);
+- uv__queue_remove(q);
++ QUEUE* q;
++ while (!QUEUE_EMPTY(&stream->write_queue)) {
++ q = QUEUE_HEAD(&stream->write_queue);
++ QUEUE_REMOVE(q);
+
+- req = uv__queue_data(q, uv_write_t, queue);
++ req = QUEUE_DATA(q, uv_write_t, queue);
+ req->error = error;
+
+- uv__queue_insert_tail(&stream->write_completed_queue, &req->queue);
++ QUEUE_INSERT_TAIL(&stream->write_completed_queue, &req->queue);
+ }
+ }
+
+@@ -627,7 +627,7 @@ static void uv__drain(uv_stream_t* stream) {
+ uv_shutdown_t* req;
+ int err;
+
+- assert(uv__queue_empty(&stream->write_queue));
++ assert(QUEUE_EMPTY(&stream->write_queue));
+ if (!(stream->flags & UV_HANDLE_CLOSING)) {
+ uv__io_stop(stream->loop, &stream->io_watcher, POLLOUT);
+ uv__stream_osx_interrupt_select(stream);
+@@ -714,7 +714,7 @@ static void uv__write_req_finish(uv_write_t* req) {
+ uv_stream_t* stream = req->handle;
+
+ /* Pop the req off tcp->write_queue. */
+- uv__queue_remove(&req->queue);
++ QUEUE_REMOVE(&req->queue);
+
+ /* Only free when there was no error. On error, we touch up write_queue_size
+ * right before making the callback. The reason we don't do that right away
+@@ -731,7 +731,7 @@ static void uv__write_req_finish(uv_write_t* req) {
+ /* Add it to the write_completed_queue where it will have its
+ * callback called in the near future.
+ */
+- uv__queue_insert_tail(&stream->write_completed_queue, &req->queue);
++ QUEUE_INSERT_TAIL(&stream->write_completed_queue, &req->queue);
+ uv__io_feed(stream->loop, &stream->io_watcher);
+ }
+
+@@ -837,7 +837,7 @@ static int uv__try_write(uv_stream_t* stream,
+ }
+
+ static void uv__write(uv_stream_t* stream) {
+- struct uv__queue* q;
++ QUEUE* q;
+ uv_write_t* req;
+ ssize_t n;
+ int count;
+@@ -851,11 +851,11 @@ static void uv__write(uv_stream_t* stream) {
+ count = 32;
+
+ for (;;) {
+- if (uv__queue_empty(&stream->write_queue))
++ if (QUEUE_EMPTY(&stream->write_queue))
+ return;
+
+- q = uv__queue_head(&stream->write_queue);
+- req = uv__queue_data(q, uv_write_t, queue);
++ q = QUEUE_HEAD(&stream->write_queue);
++ req = QUEUE_DATA(q, uv_write_t, queue);
+ assert(req->handle == stream);
+
+ n = uv__try_write(stream,
+@@ -899,19 +899,19 @@ error:
+
+ static void uv__write_callbacks(uv_stream_t* stream) {
+ uv_write_t* req;
+- struct uv__queue* q;
+- struct uv__queue pq;
++ QUEUE* q;
++ QUEUE pq;
+
+- if (uv__queue_empty(&stream->write_completed_queue))
++ if (QUEUE_EMPTY(&stream->write_completed_queue))
+ return;
+
+- uv__queue_move(&stream->write_completed_queue, &pq);
++ QUEUE_MOVE(&stream->write_completed_queue, &pq);
+
+- while (!uv__queue_empty(&pq)) {
++ while (!QUEUE_EMPTY(&pq)) {
+ /* Pop a req off write_completed_queue. */
+- q = uv__queue_head(&pq);
+- req = uv__queue_data(q, uv_write_t, queue);
+- uv__queue_remove(q);
++ q = QUEUE_HEAD(&pq);
++ req = QUEUE_DATA(q, uv_write_t, queue);
++ QUEUE_REMOVE(q);
+ uv__req_unregister(stream->loop, req);
+
+ if (req->bufs != NULL) {
+@@ -1174,7 +1174,7 @@ int uv_shutdown(uv_shutdown_t* req, uv_stream_t* stream, uv_shutdown_cb cb) {
+ stream->shutdown_req = req;
+ stream->flags &= ~UV_HANDLE_WRITABLE;
+
+- if (uv__queue_empty(&stream->write_queue))
++ if (QUEUE_EMPTY(&stream->write_queue))
+ uv__io_feed(stream->loop, &stream->io_watcher);
+
+ return 0;
+@@ -1227,7 +1227,7 @@ static void uv__stream_io(uv_loop_t* loop, uv__io_t* w, unsigned int events) {
+ uv__write_callbacks(stream);
+
+ /* Write queue drained. */
+- if (uv__queue_empty(&stream->write_queue))
++ if (QUEUE_EMPTY(&stream->write_queue))
+ uv__drain(stream);
+ }
+ }
+@@ -1270,7 +1270,7 @@ static void uv__stream_connect(uv_stream_t* stream) {
+ stream->connect_req = NULL;
+ uv__req_unregister(stream->loop, req);
+
+- if (error < 0 || uv__queue_empty(&stream->write_queue)) {
++ if (error < 0 || QUEUE_EMPTY(&stream->write_queue)) {
+ uv__io_stop(stream->loop, &stream->io_watcher, POLLOUT);
+ }
+
+@@ -1352,7 +1352,7 @@ int uv_write2(uv_write_t* req,
+ req->handle = stream;
+ req->error = 0;
+ req->send_handle = send_handle;
+- uv__queue_init(&req->queue);
++ QUEUE_INIT(&req->queue);
+
+ req->bufs = req->bufsml;
+ if (nbufs > ARRAY_SIZE(req->bufsml))
+@@ -1367,7 +1367,7 @@ int uv_write2(uv_write_t* req,
+ stream->write_queue_size += uv__count_bufs(bufs, nbufs);
+
+ /* Append the request to write_queue. */
+- uv__queue_insert_tail(&stream->write_queue, &req->queue);
++ QUEUE_INSERT_TAIL(&stream->write_queue, &req->queue);
+
+ /* If the queue was empty when this function began, we should attempt to
+ * do the write immediately. Otherwise start the write_watcher and wait
+diff --git a/deps/uv/src/unix/sunos.c b/deps/uv/src/unix/sunos.c
+index 2d6bae79604..75b6fbad493 100644
+--- a/deps/uv/src/unix/sunos.c
++++ b/deps/uv/src/unix/sunos.c
+@@ -148,7 +148,7 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
+ struct port_event events[1024];
+ struct port_event* pe;
+ struct timespec spec;
+- struct uv__queue* q;
++ QUEUE* q;
+ uv__io_t* w;
+ sigset_t* pset;
+ sigset_t set;
+@@ -166,16 +166,16 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
+ int reset_timeout;
+
+ if (loop->nfds == 0) {
+- assert(uv__queue_empty(&loop->watcher_queue));
++ assert(QUEUE_EMPTY(&loop->watcher_queue));
+ return;
+ }
+
+- while (!uv__queue_empty(&loop->watcher_queue)) {
+- q = uv__queue_head(&loop->watcher_queue);
+- uv__queue_remove(q);
+- uv__queue_init(q);
++ while (!QUEUE_EMPTY(&loop->watcher_queue)) {
++ q = QUEUE_HEAD(&loop->watcher_queue);
++ QUEUE_REMOVE(q);
++ QUEUE_INIT(q);
+
+- w = uv__queue_data(q, uv__io_t, watcher_queue);
++ w = QUEUE_DATA(q, uv__io_t, watcher_queue);
+ assert(w->pevents != 0);
+
+ if (port_associate(loop->backend_fd,
+@@ -316,8 +316,8 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
+ continue; /* Disabled by callback. */
+
+ /* Events Ports operates in oneshot mode, rearm timer on next run. */
+- if (w->pevents != 0 && uv__queue_empty(&w->watcher_queue))
+- uv__queue_insert_tail(&loop->watcher_queue, &w->watcher_queue);
++ if (w->pevents != 0 && QUEUE_EMPTY(&w->watcher_queue))
++ QUEUE_INSERT_TAIL(&loop->watcher_queue, &w->watcher_queue);
+ }
+
+ uv__metrics_inc_events(loop, nevents);
+diff --git a/deps/uv/src/unix/tcp.c b/deps/uv/src/unix/tcp.c
+index d6c848f4610..ab4e06c2f67 100644
+--- a/deps/uv/src/unix/tcp.c
++++ b/deps/uv/src/unix/tcp.c
+@@ -124,7 +124,7 @@ int uv_tcp_init_ex(uv_loop_t* loop, uv_tcp_t* tcp, unsigned int flags) {
+ if (domain != AF_UNSPEC) {
+ err = new_socket(tcp, domain, 0);
+ if (err) {
+- uv__queue_remove(&tcp->handle_queue);
++ QUEUE_REMOVE(&tcp->handle_queue);
+ if (tcp->io_watcher.fd != -1)
+ uv__close(tcp->io_watcher.fd);
+ tcp->io_watcher.fd = -1;
+@@ -252,7 +252,7 @@ out:
+ uv__req_init(handle->loop, req, UV_CONNECT);
+ req->cb = cb;
+ req->handle = (uv_stream_t*) handle;
+- uv__queue_init(&req->queue);
++ QUEUE_INIT(&req->queue);
+ handle->connect_req = req;
+
+ uv__io_start(handle->loop, &handle->io_watcher, POLLOUT);
+diff --git a/deps/uv/src/unix/tty.c b/deps/uv/src/unix/tty.c
+index d099bdb3b67..7a5390c1a8b 100644
+--- a/deps/uv/src/unix/tty.c
++++ b/deps/uv/src/unix/tty.c
+@@ -222,7 +222,7 @@ skip:
+ int rc = r;
+ if (newfd != -1)
+ uv__close(newfd);
+- uv__queue_remove(&tty->handle_queue);
++ QUEUE_REMOVE(&tty->handle_queue);
+ do
+ r = fcntl(fd, F_SETFL, saved_flags);
+ while (r == -1 && errno == EINTR);
+diff --git a/deps/uv/src/unix/udp.c b/deps/uv/src/unix/udp.c
+index c2814512a5f..f556808fbae 100644
+--- a/deps/uv/src/unix/udp.c
++++ b/deps/uv/src/unix/udp.c
+@@ -62,18 +62,18 @@ void uv__udp_close(uv_udp_t* handle) {
+
+ void uv__udp_finish_close(uv_udp_t* handle) {
+ uv_udp_send_t* req;
+- struct uv__queue* q;
++ QUEUE* q;
+
+ assert(!uv__io_active(&handle->io_watcher, POLLIN | POLLOUT));
+ assert(handle->io_watcher.fd == -1);
+
+- while (!uv__queue_empty(&handle->write_queue)) {
+- q = uv__queue_head(&handle->write_queue);
+- uv__queue_remove(q);
++ while (!QUEUE_EMPTY(&handle->write_queue)) {
++ q = QUEUE_HEAD(&handle->write_queue);
++ QUEUE_REMOVE(q);
+
+- req = uv__queue_data(q, uv_udp_send_t, queue);
++ req = QUEUE_DATA(q, uv_udp_send_t, queue);
+ req->status = UV_ECANCELED;
+- uv__queue_insert_tail(&handle->write_completed_queue, &req->queue);
++ QUEUE_INSERT_TAIL(&handle->write_completed_queue, &req->queue);
+ }
+
+ uv__udp_run_completed(handle);
+@@ -90,16 +90,16 @@ void uv__udp_finish_close(uv_udp_t* handle) {
+
+ static void uv__udp_run_completed(uv_udp_t* handle) {
+ uv_udp_send_t* req;
+- struct uv__queue* q;
++ QUEUE* q;
+
+ assert(!(handle->flags & UV_HANDLE_UDP_PROCESSING));
+ handle->flags |= UV_HANDLE_UDP_PROCESSING;
+
+- while (!uv__queue_empty(&handle->write_completed_queue)) {
+- q = uv__queue_head(&handle->write_completed_queue);
+- uv__queue_remove(q);
++ while (!QUEUE_EMPTY(&handle->write_completed_queue)) {
++ q = QUEUE_HEAD(&handle->write_completed_queue);
++ QUEUE_REMOVE(q);
+
+- req = uv__queue_data(q, uv_udp_send_t, queue);
++ req = QUEUE_DATA(q, uv_udp_send_t, queue);
+ uv__req_unregister(handle->loop, req);
+
+ handle->send_queue_size -= uv__count_bufs(req->bufs, req->nbufs);
+@@ -121,7 +121,7 @@ static void uv__udp_run_completed(uv_udp_t* handle) {
+ req->send_cb(req, req->status);
+ }
+
+- if (uv__queue_empty(&handle->write_queue)) {
++ if (QUEUE_EMPTY(&handle->write_queue)) {
+ /* Pending queue and completion queue empty, stop watcher. */
+ uv__io_stop(handle->loop, &handle->io_watcher, POLLOUT);
+ if (!uv__io_active(&handle->io_watcher, POLLIN))
+@@ -280,20 +280,20 @@ static void uv__udp_sendmsg(uv_udp_t* handle) {
+ uv_udp_send_t* req;
+ struct mmsghdr h[20];
+ struct mmsghdr* p;
+- struct uv__queue* q;
++ QUEUE* q;
+ ssize_t npkts;
+ size_t pkts;
+ size_t i;
+
+- if (uv__queue_empty(&handle->write_queue))
++ if (QUEUE_EMPTY(&handle->write_queue))
+ return;
+
+ write_queue_drain:
+- for (pkts = 0, q = uv__queue_head(&handle->write_queue);
++ for (pkts = 0, q = QUEUE_HEAD(&handle->write_queue);
+ pkts < ARRAY_SIZE(h) && q != &handle->write_queue;
+- ++pkts, q = uv__queue_head(q)) {
++ ++pkts, q = QUEUE_HEAD(q)) {
+ assert(q != NULL);
+- req = uv__queue_data(q, uv_udp_send_t, queue);
++ req = QUEUE_DATA(q, uv_udp_send_t, queue);
+ assert(req != NULL);
+
+ p = &h[pkts];
+@@ -325,16 +325,16 @@ write_queue_drain:
+ if (npkts < 1) {
+ if (errno == EAGAIN || errno == EWOULDBLOCK || errno == ENOBUFS)
+ return;
+- for (i = 0, q = uv__queue_head(&handle->write_queue);
++ for (i = 0, q = QUEUE_HEAD(&handle->write_queue);
+ i < pkts && q != &handle->write_queue;
+- ++i, q = uv__queue_head(&handle->write_queue)) {
++ ++i, q = QUEUE_HEAD(&handle->write_queue)) {
+ assert(q != NULL);
+- req = uv__queue_data(q, uv_udp_send_t, queue);
++ req = QUEUE_DATA(q, uv_udp_send_t, queue);
+ assert(req != NULL);
+
+ req->status = UV__ERR(errno);
+- uv__queue_remove(&req->queue);
+- uv__queue_insert_tail(&handle->write_completed_queue, &req->queue);
++ QUEUE_REMOVE(&req->queue);
++ QUEUE_INSERT_TAIL(&handle->write_completed_queue, &req->queue);
+ }
+ uv__io_feed(handle->loop, &handle->io_watcher);
+ return;
+@@ -343,11 +343,11 @@ write_queue_drain:
+ /* Safety: npkts known to be >0 below. Hence cast from ssize_t
+ * to size_t safe.
+ */
+- for (i = 0, q = uv__queue_head(&handle->write_queue);
++ for (i = 0, q = QUEUE_HEAD(&handle->write_queue);
+ i < (size_t)npkts && q != &handle->write_queue;
+- ++i, q = uv__queue_head(&handle->write_queue)) {
++ ++i, q = QUEUE_HEAD(&handle->write_queue)) {
+ assert(q != NULL);
+- req = uv__queue_data(q, uv_udp_send_t, queue);
++ req = QUEUE_DATA(q, uv_udp_send_t, queue);
+ assert(req != NULL);
+
+ req->status = req->bufs[0].len;
+@@ -357,25 +357,25 @@ write_queue_drain:
+ * why we don't handle partial writes. Just pop the request
+ * off the write queue and onto the completed queue, done.
+ */
+- uv__queue_remove(&req->queue);
+- uv__queue_insert_tail(&handle->write_completed_queue, &req->queue);
++ QUEUE_REMOVE(&req->queue);
++ QUEUE_INSERT_TAIL(&handle->write_completed_queue, &req->queue);
+ }
+
+ /* couldn't batch everything, continue sending (jump to avoid stack growth) */
+- if (!uv__queue_empty(&handle->write_queue))
++ if (!QUEUE_EMPTY(&handle->write_queue))
+ goto write_queue_drain;
+ uv__io_feed(handle->loop, &handle->io_watcher);
+ #else /* __linux__ || ____FreeBSD__ */
+ uv_udp_send_t* req;
+ struct msghdr h;
+- struct uv__queue* q;
++ QUEUE* q;
+ ssize_t size;
+
+- while (!uv__queue_empty(&handle->write_queue)) {
+- q = uv__queue_head(&handle->write_queue);
++ while (!QUEUE_EMPTY(&handle->write_queue)) {
++ q = QUEUE_HEAD(&handle->write_queue);
+ assert(q != NULL);
+
+- req = uv__queue_data(q, uv_udp_send_t, queue);
++ req = QUEUE_DATA(q, uv_udp_send_t, queue);
+ assert(req != NULL);
+
+ memset(&h, 0, sizeof h);
+@@ -414,8 +414,8 @@ write_queue_drain:
+ * why we don't handle partial writes. Just pop the request
+ * off the write queue and onto the completed queue, done.
+ */
+- uv__queue_remove(&req->queue);
+- uv__queue_insert_tail(&handle->write_completed_queue, &req->queue);
++ QUEUE_REMOVE(&req->queue);
++ QUEUE_INSERT_TAIL(&handle->write_completed_queue, &req->queue);
+ uv__io_feed(handle->loop, &handle->io_watcher);
+ }
+ #endif /* __linux__ || ____FreeBSD__ */
+@@ -729,7 +729,7 @@ int uv__udp_send(uv_udp_send_t* req,
+ memcpy(req->bufs, bufs, nbufs * sizeof(bufs[0]));
+ handle->send_queue_size += uv__count_bufs(req->bufs, req->nbufs);
+ handle->send_queue_count++;
+- uv__queue_insert_tail(&handle->write_queue, &req->queue);
++ QUEUE_INSERT_TAIL(&handle->write_queue, &req->queue);
+ uv__handle_start(handle);
+
+ if (empty_queue && !(handle->flags & UV_HANDLE_UDP_PROCESSING)) {
+@@ -739,7 +739,7 @@ int uv__udp_send(uv_udp_send_t* req,
+ * away. In such cases the `io_watcher` has to be queued for asynchronous
+ * write.
+ */
+- if (!uv__queue_empty(&handle->write_queue))
++ if (!QUEUE_EMPTY(&handle->write_queue))
+ uv__io_start(handle->loop, &handle->io_watcher, POLLOUT);
+ } else {
+ uv__io_start(handle->loop, &handle->io_watcher, POLLOUT);
+@@ -1007,8 +1007,8 @@ int uv__udp_init_ex(uv_loop_t* loop,
+ handle->send_queue_size = 0;
+ handle->send_queue_count = 0;
+ uv__io_init(&handle->io_watcher, uv__udp_io, fd);
+- uv__queue_init(&handle->write_queue);
+- uv__queue_init(&handle->write_completed_queue);
++ QUEUE_INIT(&handle->write_queue);
++ QUEUE_INIT(&handle->write_completed_queue);
+
+ return 0;
+ }
+diff --git a/deps/uv/src/uv-common.c b/deps/uv/src/uv-common.c
+index 916f3f4e006..cec771fab21 100644
+--- a/deps/uv/src/uv-common.c
++++ b/deps/uv/src/uv-common.c
+@@ -533,17 +533,17 @@ int uv_udp_recv_stop(uv_udp_t* handle) {
+
+
+ void uv_walk(uv_loop_t* loop, uv_walk_cb walk_cb, void* arg) {
+- struct uv__queue queue;
+- struct uv__queue* q;
++ QUEUE queue;
++ QUEUE* q;
+ uv_handle_t* h;
+
+- uv__queue_move(&loop->handle_queue, &queue);
+- while (!uv__queue_empty(&queue)) {
+- q = uv__queue_head(&queue);
+- h = uv__queue_data(q, uv_handle_t, handle_queue);
++ QUEUE_MOVE(&loop->handle_queue, &queue);
++ while (!QUEUE_EMPTY(&queue)) {
++ q = QUEUE_HEAD(&queue);
++ h = QUEUE_DATA(q, uv_handle_t, handle_queue);
+
+- uv__queue_remove(q);
+- uv__queue_insert_tail(&loop->handle_queue, q);
++ QUEUE_REMOVE(q);
++ QUEUE_INSERT_TAIL(&loop->handle_queue, q);
+
+ if (h->flags & UV_HANDLE_INTERNAL) continue;
+ walk_cb(h, arg);
+@@ -553,14 +553,14 @@ void uv_walk(uv_loop_t* loop, uv_walk_cb walk_cb, void* arg) {
+
+ static void uv__print_handles(uv_loop_t* loop, int only_active, FILE* stream) {
+ const char* type;
+- struct uv__queue* q;
++ QUEUE* q;
+ uv_handle_t* h;
+
+ if (loop == NULL)
+ loop = uv_default_loop();
+
+- uv__queue_foreach(q, &loop->handle_queue) {
+- h = uv__queue_data(q, uv_handle_t, handle_queue);
++ QUEUE_FOREACH(q, &loop->handle_queue) {
++ h = QUEUE_DATA(q, uv_handle_t, handle_queue);
+
+ if (only_active && !uv__is_active(h))
+ continue;
+@@ -846,7 +846,7 @@ uv_loop_t* uv_loop_new(void) {
+
+
+ int uv_loop_close(uv_loop_t* loop) {
+- struct uv__queue* q;
++ QUEUE* q;
+ uv_handle_t* h;
+ #ifndef NDEBUG
+ void* saved_data;
+@@ -855,8 +855,8 @@ int uv_loop_close(uv_loop_t* loop) {
+ if (uv__has_active_reqs(loop))
+ return UV_EBUSY;
+
+- uv__queue_foreach(q, &loop->handle_queue) {
+- h = uv__queue_data(q, uv_handle_t, handle_queue);
++ QUEUE_FOREACH(q, &loop->handle_queue) {
++ h = QUEUE_DATA(q, uv_handle_t, handle_queue);
+ if (!(h->flags & UV_HANDLE_INTERNAL))
+ return UV_EBUSY;
+ }
+diff --git a/deps/uv/src/uv-common.h b/deps/uv/src/uv-common.h
+index cd57e5a3515..decde5362c8 100644
+--- a/deps/uv/src/uv-common.h
++++ b/deps/uv/src/uv-common.h
+@@ -323,7 +323,7 @@ void uv__threadpool_cleanup(void);
+ (h)->loop = (loop_); \
+ (h)->type = (type_); \
+ (h)->flags = UV_HANDLE_REF; /* Ref the loop when active. */ \
+- uv__queue_insert_tail(&(loop_)->handle_queue, &(h)->handle_queue); \
++ QUEUE_INSERT_TAIL(&(loop_)->handle_queue, &(h)->handle_queue); \
+ uv__handle_platform_init(h); \
+ } \
+ while (0)
+@@ -415,7 +415,6 @@ struct uv__iou {
+ size_t sqelen;
+ int ringfd;
+ uint32_t in_flight;
+- uint32_t flags;
+ };
+ #endif /* __linux__ */
+
+diff --git a/deps/uv/src/win/core.c b/deps/uv/src/win/core.c
+index e9885a0f1ff..9a3be58849a 100644
+--- a/deps/uv/src/win/core.c
++++ b/deps/uv/src/win/core.c
+@@ -255,8 +255,8 @@ int uv_loop_init(uv_loop_t* loop) {
+ loop->time = 0;
+ uv_update_time(loop);
+
+- uv__queue_init(&loop->wq);
+- uv__queue_init(&loop->handle_queue);
++ QUEUE_INIT(&loop->wq);
++ QUEUE_INIT(&loop->handle_queue);
+ loop->active_reqs.count = 0;
+ loop->active_handles = 0;
+
+@@ -358,7 +358,7 @@ void uv__loop_close(uv_loop_t* loop) {
+ }
+
+ uv_mutex_lock(&loop->wq_mutex);
+- assert(uv__queue_empty(&loop->wq) && "thread pool work queue not empty!");
++ assert(QUEUE_EMPTY(&loop->wq) && "thread pool work queue not empty!");
+ assert(!uv__has_active_reqs(loop));
+ uv_mutex_unlock(&loop->wq_mutex);
+ uv_mutex_destroy(&loop->wq_mutex);
+diff --git a/deps/uv/src/win/fs.c b/deps/uv/src/win/fs.c
+index fc209c54f47..deb9438d689 100644
+--- a/deps/uv/src/win/fs.c
++++ b/deps/uv/src/win/fs.c
+@@ -144,97 +144,26 @@ void uv__fs_init(void) {
+ }
+
+
+-static int32_t fs__decode_wtf8_char(const char** input) {
+- uint32_t code_point;
+- uint8_t b1;
+- uint8_t b2;
+- uint8_t b3;
+- uint8_t b4;
+-
+- b1 = **input;
+- if (b1 <= 0x7F)
+- return b1; /* ASCII code point */
+- if (b1 < 0xC2)
+- return -1; /* invalid: continuation byte */
+- code_point = b1;
+-
+- b2 = *++*input;
+- if ((b2 & 0xC0) != 0x80)
+- return -1; /* invalid: not a continuation byte */
+- code_point = (code_point << 6) | (b2 & 0x3F);
+- if (b1 <= 0xDF)
+- return 0x7FF & code_point; /* two-byte character */
+-
+- b3 = *++*input;
+- if ((b3 & 0xC0) != 0x80)
+- return -1; /* invalid: not a continuation byte */
+- code_point = (code_point << 6) | (b3 & 0x3F);
+- if (b1 <= 0xEF)
+- return 0xFFFF & code_point; /* three-byte character */
+-
+- b4 = *++*input;
+- if ((b4 & 0xC0) != 0x80)
+- return -1; /* invalid: not a continuation byte */
+- code_point = (code_point << 6) | (b4 & 0x3F);
+- if (b1 <= 0xF4)
+- if (code_point <= 0x10FFFF)
+- return code_point; /* four-byte character */
+-
+- /* code point too large */
+- return -1;
+-}
+-
+-
+-static ssize_t fs__get_length_wtf8(const char* source_ptr) {
+- size_t w_target_len = 0;
+- int32_t code_point;
+-
+- do {
+- code_point = fs__decode_wtf8_char(&source_ptr);
+- if (code_point < 0)
+- return -1;
+- if (code_point > 0xFFFF)
+- w_target_len++;
+- w_target_len++;
+- } while (*source_ptr++);
+- return w_target_len;
+-}
+-
+-
+-static void fs__wtf8_to_wide(const char* source_ptr, WCHAR* w_target) {
+- int32_t code_point;
+-
+- do {
+- code_point = fs__decode_wtf8_char(&source_ptr);
+- /* fs__get_length_wtf8 should have been called and checked first. */
+- assert(code_point >= 0);
+- if (code_point > 0x10000) {
+- assert(code_point < 0x10FFFF);
+- *w_target++ = (((code_point - 0x10000) >> 10) + 0xD800);
+- *w_target++ = ((code_point - 0x10000) & 0x3FF) + 0xDC00;
+- } else {
+- *w_target++ = code_point;
+- }
+- } while (*source_ptr++);
+-}
+-
+-
+ INLINE static int fs__capture_path(uv_fs_t* req, const char* path,
+ const char* new_path, const int copy_path) {
+- WCHAR* buf;
+- WCHAR* pos;
+- size_t buf_sz = 0;
+- size_t path_len = 0;
+- ssize_t pathw_len = 0;
+- ssize_t new_pathw_len = 0;
++ char* buf;
++ char* pos;
++ ssize_t buf_sz = 0, path_len = 0, pathw_len = 0, new_pathw_len = 0;
+
+ /* new_path can only be set if path is also set. */
+ assert(new_path == NULL || path != NULL);
+
+ if (path != NULL) {
+- pathw_len = fs__get_length_wtf8(path);
+- if (pathw_len < 0)
+- return ERROR_INVALID_NAME;
++ pathw_len = MultiByteToWideChar(CP_UTF8,
++ 0,
++ path,
++ -1,
++ NULL,
++ 0);
++ if (pathw_len == 0) {
++ return GetLastError();
++ }
++
+ buf_sz += pathw_len * sizeof(WCHAR);
+ }
+
+@@ -244,9 +173,16 @@ INLINE static int fs__capture_path(uv_fs_t* req, const char* path,
+ }
+
+ if (new_path != NULL) {
+- new_pathw_len = fs__get_length_wtf8(new_path);
+- if (new_pathw_len < 0)
+- return ERROR_INVALID_NAME;
++ new_pathw_len = MultiByteToWideChar(CP_UTF8,
++ 0,
++ new_path,
++ -1,
++ NULL,
++ 0);
++ if (new_pathw_len == 0) {
++ return GetLastError();
++ }
++
+ buf_sz += new_pathw_len * sizeof(WCHAR);
+ }
+
+@@ -258,7 +194,7 @@ INLINE static int fs__capture_path(uv_fs_t* req, const char* path,
+ return 0;
+ }
+
+- buf = uv__malloc(buf_sz);
++ buf = (char*) uv__malloc(buf_sz);
+ if (buf == NULL) {
+ return ERROR_OUTOFMEMORY;
+ }
+@@ -266,17 +202,29 @@ INLINE static int fs__capture_path(uv_fs_t* req, const char* path,
+ pos = buf;
+
+ if (path != NULL) {
+- fs__wtf8_to_wide(path, pos);
+- req->file.pathw = pos;
+- pos += pathw_len;
++ DWORD r = MultiByteToWideChar(CP_UTF8,
++ 0,
++ path,
++ -1,
++ (WCHAR*) pos,
++ pathw_len);
++ assert(r == (DWORD) pathw_len);
++ req->file.pathw = (WCHAR*) pos;
++ pos += r * sizeof(WCHAR);
+ } else {
+ req->file.pathw = NULL;
+ }
+
+ if (new_path != NULL) {
+- fs__wtf8_to_wide(new_path, pos);
+- req->fs.info.new_pathw = pos;
+- pos += new_pathw_len;
++ DWORD r = MultiByteToWideChar(CP_UTF8,
++ 0,
++ new_path,
++ -1,
++ (WCHAR*) pos,
++ new_pathw_len);
++ assert(r == (DWORD) new_pathw_len);
++ req->fs.info.new_pathw = (WCHAR*) pos;
++ pos += r * sizeof(WCHAR);
+ } else {
+ req->fs.info.new_pathw = NULL;
+ }
+@@ -284,8 +232,8 @@ INLINE static int fs__capture_path(uv_fs_t* req, const char* path,
+ req->path = path;
+ if (path != NULL && copy_path) {
+ memcpy(pos, path, path_len);
+- assert(path_len == buf_sz - (pos - buf) * sizeof(WCHAR));
+- req->path = (char*) pos;
++ assert(path_len == buf_sz - (pos - buf));
++ req->path = pos;
+ }
+
+ req->flags |= UV_FS_FREE_PATHS;
+@@ -311,115 +259,57 @@ INLINE static void uv__fs_req_init(uv_loop_t* loop, uv_fs_t* req,
+ }
+
+
+-static int32_t fs__get_surrogate_value(const WCHAR* w_source_ptr,
+- size_t w_source_len) {
+- WCHAR u;
+- WCHAR next;
+-
+- u = w_source_ptr[0];
+- if (u >= 0xD800 && u <= 0xDBFF && w_source_len > 1) {
+- next = w_source_ptr[1];
+- if (next >= 0xDC00 && next <= 0xDFFF)
+- return 0x10000 + ((u - 0xD800) << 10) + (next - 0xDC00);
+- }
+- return u;
+-}
+-
+-
+-static size_t fs__get_length_wide(const WCHAR* w_source_ptr,
+- size_t w_source_len) {
+- size_t target_len;
+- int32_t code_point;
++static int fs__wide_to_utf8(WCHAR* w_source_ptr,
++ DWORD w_source_len,
++ char** target_ptr,
++ uint64_t* target_len_ptr) {
++ int r;
++ int target_len;
++ char* target;
++ target_len = WideCharToMultiByte(CP_UTF8,
++ 0,
++ w_source_ptr,
++ w_source_len,
++ NULL,
++ 0,
++ NULL,
++ NULL);
+
+- target_len = 0;
+- for (; w_source_len; w_source_len--, w_source_ptr++) {
+- code_point = fs__get_surrogate_value(w_source_ptr, w_source_len);
+- /* Can be invalid UTF-8 but must be valid WTF-8. */
+- assert(code_point >= 0);
+- if (code_point < 0x80)
+- target_len += 1;
+- else if (code_point < 0x800)
+- target_len += 2;
+- else if (code_point < 0x10000)
+- target_len += 3;
+- else {
+- target_len += 4;
+- w_source_ptr++;
+- w_source_len--;
+- }
++ if (target_len == 0) {
++ return -1;
+ }
+- return target_len;
+-}
+
+-
+-static int fs__wide_to_wtf8(WCHAR* w_source_ptr,
+- size_t w_source_len,
+- char** target_ptr,
+- size_t* target_len_ptr) {
+- size_t target_len;
+- char* target;
+- int32_t code_point;
+-
+- /* If *target_ptr is provided, then *target_len_ptr must be its length
+- * (excluding space for null), otherwise we will compute the target_len_ptr
+- * length and may return a new allocation in *target_ptr if target_ptr is
+- * provided. */
+- if (target_ptr == NULL || *target_ptr == NULL) {
+- target_len = fs__get_length_wide(w_source_ptr, w_source_len);
+- if (target_len_ptr != NULL)
+- *target_len_ptr = target_len;
+- } else {
+- target_len = *target_len_ptr;
++ if (target_len_ptr != NULL) {
++ *target_len_ptr = target_len;
+ }
+
+- if (target_ptr == NULL)
++ if (target_ptr == NULL) {
+ return 0;
+-
+- if (*target_ptr == NULL) {
+- target = uv__malloc(target_len + 1);
+- if (target == NULL) {
+- SetLastError(ERROR_OUTOFMEMORY);
+- return -1;
+- }
+- *target_ptr = target;
+- } else {
+- target = *target_ptr;
+- }
+-
+- for (; w_source_len; w_source_len--, w_source_ptr++) {
+- code_point = fs__get_surrogate_value(w_source_ptr, w_source_len);
+- /* Can be invalid UTF-8 but must be valid WTF-8. */
+- assert(code_point >= 0);
+-
+- if (code_point < 0x80) {
+- *target++ = code_point;
+- } else if (code_point < 0x800) {
+- *target++ = 0xC0 | (code_point >> 6);
+- *target++ = 0x80 | (code_point & 0x3F);
+- } else if (code_point < 0x10000) {
+- *target++ = 0xE0 | (code_point >> 12);
+- *target++ = 0x80 | ((code_point >> 6) & 0x3F);
+- *target++ = 0x80 | (code_point & 0x3F);
+- } else {
+- *target++ = 0xF0 | (code_point >> 18);
+- *target++ = 0x80 | ((code_point >> 12) & 0x3F);
+- *target++ = 0x80 | ((code_point >> 6) & 0x3F);
+- *target++ = 0x80 | (code_point & 0x3F);
+- w_source_ptr++;
+- w_source_len--;
+- }
+ }
+- assert((size_t) (target - *target_ptr) == target_len);
+
+- *target++ = '\0';
++ target = uv__malloc(target_len + 1);
++ if (target == NULL) {
++ SetLastError(ERROR_OUTOFMEMORY);
++ return -1;
++ }
+
++ r = WideCharToMultiByte(CP_UTF8,
++ 0,
++ w_source_ptr,
++ w_source_len,
++ target,
++ target_len,
++ NULL,
++ NULL);
++ assert(r == target_len);
++ target[target_len] = '\0';
++ *target_ptr = target;
+ return 0;
+ }
+
+
+-INLINE static int fs__readlink_handle(HANDLE handle,
+- char** target_ptr,
+- size_t* target_len_ptr) {
++INLINE static int fs__readlink_handle(HANDLE handle, char** target_ptr,
++ uint64_t* target_len_ptr) {
+ char buffer[MAXIMUM_REPARSE_DATA_BUFFER_SIZE];
+ REPARSE_DATA_BUFFER* reparse_data = (REPARSE_DATA_BUFFER*) buffer;
+ WCHAR* w_target;
+@@ -549,8 +439,7 @@ INLINE static int fs__readlink_handle(HANDLE handle,
+ return -1;
+ }
+
+- assert(target_ptr == NULL || *target_ptr == NULL);
+- return fs__wide_to_wtf8(w_target, w_target_len, target_ptr, target_len_ptr);
++ return fs__wide_to_utf8(w_target, w_target_len, target_ptr, target_len_ptr);
+ }
+
+
+@@ -1540,8 +1429,7 @@ void fs__scandir(uv_fs_t* req) {
+ uv__dirent_t* dirent;
+
+ size_t wchar_len;
+- size_t wtf8_len;
+- char* wtf8;
++ size_t utf8_len;
+
+ /* Obtain a pointer to the current directory entry. */
+ position += next_entry_offset;
+@@ -1568,8 +1456,11 @@ void fs__scandir(uv_fs_t* req) {
+ info->FileName[1] == L'.')
+ continue;
+
+- /* Compute the space required to store the filename as WTF-8. */
+- wtf8_len = fs__get_length_wide(&info->FileName[0], wchar_len);
++ /* Compute the space required to store the filename as UTF-8. */
++ utf8_len = WideCharToMultiByte(
++ CP_UTF8, 0, &info->FileName[0], wchar_len, NULL, 0, NULL, NULL);
++ if (utf8_len == 0)
++ goto win32_error;
+
+ /* Resize the dirent array if needed. */
+ if (dirents_used >= dirents_size) {
+@@ -1589,17 +1480,26 @@ void fs__scandir(uv_fs_t* req) {
+ * includes room for the first character of the filename, but `utf8_len`
+ * doesn't count the NULL terminator at this point.
+ */
+- dirent = uv__malloc(sizeof *dirent + wtf8_len);
++ dirent = uv__malloc(sizeof *dirent + utf8_len);
+ if (dirent == NULL)
+ goto out_of_memory_error;
+
+ dirents[dirents_used++] = dirent;
+
+ /* Convert file name to UTF-8. */
+- wtf8 = &dirent->d_name[0];
+- if (fs__wide_to_wtf8(&info->FileName[0], wchar_len, &wtf8, &wtf8_len) == -1)
++ if (WideCharToMultiByte(CP_UTF8,
++ 0,
++ &info->FileName[0],
++ wchar_len,
++ &dirent->d_name[0],
++ utf8_len,
++ NULL,
++ NULL) == 0)
+ goto win32_error;
+
++ /* Add a null terminator to the filename. */
++ dirent->d_name[utf8_len] = '\0';
++
+ /* Fill out the type field. */
+ if (info->FileAttributes & FILE_ATTRIBUTE_DEVICE)
+ dirent->d_type = UV__DT_CHAR;
+@@ -1808,7 +1708,6 @@ void fs__closedir(uv_fs_t* req) {
+
+ INLINE static int fs__stat_handle(HANDLE handle, uv_stat_t* statbuf,
+ int do_lstat) {
+- size_t target_length = 0;
+ FILE_FS_DEVICE_INFORMATION device_info;
+ FILE_ALL_INFORMATION file_info;
+ FILE_FS_VOLUME_INFORMATION volume_info;
+@@ -1904,10 +1803,9 @@ INLINE static int fs__stat_handle(HANDLE handle, uv_stat_t* statbuf,
+ * to be treated as a regular file. The higher level lstat function will
+ * detect this failure and retry without do_lstat if appropriate.
+ */
+- if (fs__readlink_handle(handle, NULL, &target_length) != 0)
++ if (fs__readlink_handle(handle, NULL, &statbuf->st_size) != 0)
+ return -1;
+ statbuf->st_mode |= S_IFLNK;
+- statbuf->st_size = target_length;
+ }
+
+ if (statbuf->st_mode == 0) {
+@@ -2763,7 +2661,6 @@ static void fs__readlink(uv_fs_t* req) {
+ return;
+ }
+
+- assert(req->ptr == NULL);
+ if (fs__readlink_handle(handle, (char**) &req->ptr, NULL) != 0) {
+ DWORD error = GetLastError();
+ SET_REQ_WIN32_ERROR(req, error);
+@@ -2823,8 +2720,7 @@ static ssize_t fs__realpath_handle(HANDLE handle, char** realpath_ptr) {
+ return -1;
+ }
+
+- assert(*realpath_ptr == NULL);
+- r = fs__wide_to_wtf8(w_realpath_ptr, w_realpath_len, realpath_ptr, NULL);
++ r = fs__wide_to_utf8(w_realpath_ptr, w_realpath_len, realpath_ptr, NULL);
+ uv__free(w_realpath_buf);
+ return r;
+ }
+@@ -2844,7 +2740,6 @@ static void fs__realpath(uv_fs_t* req) {
+ return;
+ }
+
+- assert(req->ptr == NULL);
+ if (fs__realpath_handle(handle, (char**) &req->ptr) == -1) {
+ CloseHandle(handle);
+ SET_REQ_WIN32_ERROR(req, GetLastError());
+diff --git a/deps/uv/src/win/handle-inl.h b/deps/uv/src/win/handle-inl.h
+index 4722e85790a..5c843c241ef 100644
+--- a/deps/uv/src/win/handle-inl.h
++++ b/deps/uv/src/win/handle-inl.h
+@@ -75,7 +75,7 @@
+
+ #define uv__handle_close(handle) \
+ do { \
+- uv__queue_remove(&(handle)->handle_queue); \
++ QUEUE_REMOVE(&(handle)->handle_queue); \
+ uv__active_handle_rm((uv_handle_t*) (handle)); \
+ \
+ (handle)->flags |= UV_HANDLE_CLOSED; \
+diff --git a/deps/uv/src/win/pipe.c b/deps/uv/src/win/pipe.c
+index f0cac382256..5e4276387ac 100644
+--- a/deps/uv/src/win/pipe.c
++++ b/deps/uv/src/win/pipe.c
+@@ -55,7 +55,7 @@ static const int pipe_prefix_len = sizeof(pipe_prefix) - 1;
+ typedef struct {
+ uv__ipc_socket_xfer_type_t xfer_type;
+ uv__ipc_socket_xfer_info_t xfer_info;
+- struct uv__queue member;
++ QUEUE member;
+ } uv__ipc_xfer_queue_item_t;
+
+ /* IPC frame header flags. */
+@@ -111,7 +111,7 @@ int uv_pipe_init(uv_loop_t* loop, uv_pipe_t* handle, int ipc) {
+ handle->name = NULL;
+ handle->pipe.conn.ipc_remote_pid = 0;
+ handle->pipe.conn.ipc_data_frame.payload_remaining = 0;
+- uv__queue_init(&handle->pipe.conn.ipc_xfer_queue);
++ QUEUE_INIT(&handle->pipe.conn.ipc_xfer_queue);
+ handle->pipe.conn.ipc_xfer_queue_length = 0;
+ handle->ipc = ipc;
+ handle->pipe.conn.non_overlapped_writes_tail = NULL;
+@@ -637,13 +637,13 @@ void uv__pipe_endgame(uv_loop_t* loop, uv_pipe_t* handle) {
+
+ if (handle->flags & UV_HANDLE_CONNECTION) {
+ /* Free pending sockets */
+- while (!uv__queue_empty(&handle->pipe.conn.ipc_xfer_queue)) {
+- struct uv__queue* q;
++ while (!QUEUE_EMPTY(&handle->pipe.conn.ipc_xfer_queue)) {
++ QUEUE* q;
+ SOCKET socket;
+
+- q = uv__queue_head(&handle->pipe.conn.ipc_xfer_queue);
+- uv__queue_remove(q);
+- xfer_queue_item = uv__queue_data(q, uv__ipc_xfer_queue_item_t, member);
++ q = QUEUE_HEAD(&handle->pipe.conn.ipc_xfer_queue);
++ QUEUE_REMOVE(q);
++ xfer_queue_item = QUEUE_DATA(q, uv__ipc_xfer_queue_item_t, member);
+
+ /* Materialize socket and close it */
+ socket = WSASocketW(FROM_PROTOCOL_INFO,
+@@ -1124,20 +1124,20 @@ int uv__pipe_accept(uv_pipe_t* server, uv_stream_t* client) {
+ uv_loop_t* loop = server->loop;
+ uv_pipe_t* pipe_client;
+ uv_pipe_accept_t* req;
+- struct uv__queue* q;
++ QUEUE* q;
+ uv__ipc_xfer_queue_item_t* item;
+ int err;
+
+ if (server->ipc) {
+- if (uv__queue_empty(&server->pipe.conn.ipc_xfer_queue)) {
++ if (QUEUE_EMPTY(&server->pipe.conn.ipc_xfer_queue)) {
+ /* No valid pending sockets. */
+ return WSAEWOULDBLOCK;
+ }
+
+- q = uv__queue_head(&server->pipe.conn.ipc_xfer_queue);
+- uv__queue_remove(q);
++ q = QUEUE_HEAD(&server->pipe.conn.ipc_xfer_queue);
++ QUEUE_REMOVE(q);
+ server->pipe.conn.ipc_xfer_queue_length--;
+- item = uv__queue_data(q, uv__ipc_xfer_queue_item_t, member);
++ item = QUEUE_DATA(q, uv__ipc_xfer_queue_item_t, member);
+
+ err = uv__tcp_xfer_import(
+ (uv_tcp_t*) client, item->xfer_type, &item->xfer_info);
+@@ -1891,7 +1891,7 @@ static void uv__pipe_queue_ipc_xfer_info(
+ item->xfer_type = xfer_type;
+ item->xfer_info = *xfer_info;
+
+- uv__queue_insert_tail(&handle->pipe.conn.ipc_xfer_queue, &item->member);
++ QUEUE_INSERT_TAIL(&handle->pipe.conn.ipc_xfer_queue, &item->member);
+ handle->pipe.conn.ipc_xfer_queue_length++;
+ }
+
+diff --git a/deps/uv/src/win/tcp.c b/deps/uv/src/win/tcp.c
+index 187f36e2a61..6b282e0b501 100644
+--- a/deps/uv/src/win/tcp.c
++++ b/deps/uv/src/win/tcp.c
+@@ -175,14 +175,14 @@ int uv_tcp_init_ex(uv_loop_t* loop, uv_tcp_t* handle, unsigned int flags) {
+ sock = socket(domain, SOCK_STREAM, 0);
+ if (sock == INVALID_SOCKET) {
+ err = WSAGetLastError();
+- uv__queue_remove(&handle->handle_queue);
++ QUEUE_REMOVE(&handle->handle_queue);
+ return uv_translate_sys_error(err);
+ }
+
+ err = uv__tcp_set_socket(handle->loop, handle, sock, domain, 0);
+ if (err) {
+ closesocket(sock);
+- uv__queue_remove(&handle->handle_queue);
++ QUEUE_REMOVE(&handle->handle_queue);
+ return uv_translate_sys_error(err);
+ }
+
+diff --git a/deps/uv/src/win/udp.c b/deps/uv/src/win/udp.c
+index eab53842d4f..8a982d1907d 100644
+--- a/deps/uv/src/win/udp.c
++++ b/deps/uv/src/win/udp.c
+@@ -146,14 +146,14 @@ int uv__udp_init_ex(uv_loop_t* loop,
+ sock = socket(domain, SOCK_DGRAM, 0);
+ if (sock == INVALID_SOCKET) {
+ err = WSAGetLastError();
+- uv__queue_remove(&handle->handle_queue);
++ QUEUE_REMOVE(&handle->handle_queue);
+ return uv_translate_sys_error(err);
+ }
+
+ err = uv__udp_set_socket(handle->loop, handle, sock, domain);
+ if (err) {
+ closesocket(sock);
+- uv__queue_remove(&handle->handle_queue);
++ QUEUE_REMOVE(&handle->handle_queue);
+ return uv_translate_sys_error(err);
+ }
+ }
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-Revert-io_uring-changes-from-libuv-1.45.0.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-Revert-io_uring-changes-from-libuv-1.45.0.patch
new file mode 100644
index 0000000..77cd53b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-Revert-io_uring-changes-from-libuv-1.45.0.patch
@@ -0,0 +1,1803 @@
+From 6d2ef4c8ba2304ee4941a6719b3ad9bd63e415a9 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <martin.jansa@gmail.com>
+Date: Wed, 18 Oct 2023 21:09:44 +0200
+Subject: [PATCH] Revert io_uring changes from libuv-1.45.0
+
+This reverts https://github.com/libuv/libuv/pull/3952/commits/26c79a942b92573a1388c0ee8a6ad4397f009318
+
+Included in nodejs-20.3.0 with the libuv upgrade to 1.45.0 in:
+https://github.com/nodejs/node/commit/bfcb3d1d9a876f399013d326bd65804f9eda77e4
+
+Reverted libuv commits:
+Revert "linux: fix WRITEV with lots of bufs using io_uring (#4004)"
+This reverts commit ef6a9a624df0a00687037474025a3608472f722a.
+Revert "linux: work around EOWNERDEAD io_uring kernel bug (#4002)"
+This reverts commit d23a20f62cc50b9fd7694992263f1d296d8f5cb4.
+Revert "unix: handle CQ overflow in iou ring (#3991)"
+This reverts commit 30fc896cc1b5822e9f1eb462587fe4b368a6215c.
+Revert "unix: constrained_memory should return UINT64_MAX (#3753)"
+This reverts commit 6ad347fae4520f39520d34bd7c7f5ddafab13a69.
+Revert "linux: use io_uring to batch epoll_ctl calls (#3979)"
+This reverts commit 6e073ef5daf93b708a654008959b823b58029e88.
+Revert "linux: fix logic bug in sqe ring space check (#3980)"
+This reverts commit f27208224084fc972b9d2802486d97ef31b51a39.
+Revert "src: fix events/events_waiting metrics counter (#3957)"
+This reverts commit e02642cf3b768b2c58a41f97fa38507e032ae415.
+Revert "linux: remove bug workaround for obsolete kernels (#3965)"
+This reverts commit 1c935a34454167b23f8eef7f0f63d7119f0de747.
+Revert "linux: add IORING_OP_CLOSE support (#3964)"
+This reverts commit dfae365f844e127621128a76bce7165e3f99a8d9.
+Revert "linux: add IORING_OP_OPENAT support (#3963)"
+This reverts commit 5ca5e475bb1711e65323ef1594a31818e5a1a9eb.
+Revert "linux: fix academic valgrind warning (#3960)"
+This reverts commit a7ff759ca1deacb2e0e6ae3c2d3dce91cc637dfe.
+Revert "linux: introduce io_uring support (#3952)"
+This reverts commit d2c31f429b87b476a7f1344d145dad4752a406d4.
+
+Dropped deps/uv/docs deps/uv/test changes as these dirs aren't included
+in nodejs tarballs.
+
+Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
+---
+Upstream-Status: Inappropriate [OE specific]
+
+ deps/uv/docs/src/fs.rst | 6 -
+ deps/uv/docs/src/misc.rst | 5 +-
+ deps/uv/src/threadpool.c | 21 -
+ deps/uv/src/unix/aix.c | 11 +-
+ deps/uv/src/unix/fs.c | 57 +-
+ deps/uv/src/unix/internal.h | 23 -
+ deps/uv/src/unix/kqueue.c | 10 +-
+ deps/uv/src/unix/linux.c | 998 +++-----------------------
+ deps/uv/src/unix/os390.c | 11 +-
+ deps/uv/src/unix/posix-poll.c | 11 +-
+ deps/uv/src/uv-common.h | 28 -
+ deps/uv/src/win/core.c | 20 +-
+ deps/uv/test/test-fs.c | 33 -
+ deps/uv/test/test-list.h | 4 -
+ deps/uv/test/test-metrics.c | 151 ----
+ deps/uv/test/test-threadpool-cancel.c | 34 +-
+ 16 files changed, 138 insertions(+), 1285 deletions(-)
+
+diff --git a/deps/uv/src/threadpool.c b/deps/uv/src/threadpool.c
+index 51962bf0021..a3da53026f9 100644
+--- a/deps/uv/src/threadpool.c
++++ b/deps/uv/src/threadpool.c
+@@ -275,13 +275,9 @@ void uv__work_submit(uv_loop_t* loop,
+ }
+
+
+-/* TODO(bnoordhuis) teach libuv how to cancel file operations
+- * that go through io_uring instead of the thread pool.
+- */
+ static int uv__work_cancel(uv_loop_t* loop, uv_req_t* req, struct uv__work* w) {
+ int cancelled;
+
+- uv_once(&once, init_once); /* Ensure |mutex| is initialized. */
+ uv_mutex_lock(&mutex);
+ uv_mutex_lock(&w->loop->wq_mutex);
+
+@@ -311,15 +307,12 @@ void uv__work_done(uv_async_t* handle) {
+ QUEUE* q;
+ QUEUE wq;
+ int err;
+- int nevents;
+
+ loop = container_of(handle, uv_loop_t, wq_async);
+ uv_mutex_lock(&loop->wq_mutex);
+ QUEUE_MOVE(&loop->wq, &wq);
+ uv_mutex_unlock(&loop->wq_mutex);
+
+- nevents = 0;
+-
+ while (!QUEUE_EMPTY(&wq)) {
+ q = QUEUE_HEAD(&wq);
+ QUEUE_REMOVE(q);
+@@ -327,20 +320,6 @@ void uv__work_done(uv_async_t* handle) {
+ w = container_of(q, struct uv__work, wq);
+ err = (w->work == uv__cancelled) ? UV_ECANCELED : 0;
+ w->done(w, err);
+- nevents++;
+- }
+-
+- /* This check accomplishes 2 things:
+- * 1. Even if the queue was empty, the call to uv__work_done() should count
+- * as an event. Which will have been added by the event loop when
+- * calling this callback.
+- * 2. Prevents accidental wrap around in case nevents == 0 events == 0.
+- */
+- if (nevents > 1) {
+- /* Subtract 1 to counter the call to uv__work_done(). */
+- uv__metrics_inc_events(loop, nevents - 1);
+- if (uv__get_internal_fields(loop)->current_timeout == 0)
+- uv__metrics_inc_events_waiting(loop, nevents - 1);
+ }
+ }
+
+diff --git a/deps/uv/src/unix/aix.c b/deps/uv/src/unix/aix.c
+index f1afbed49ec..b855282ebc8 100644
+--- a/deps/uv/src/unix/aix.c
++++ b/deps/uv/src/unix/aix.c
+@@ -131,7 +131,6 @@ int uv__io_check_fd(uv_loop_t* loop, int fd) {
+
+
+ void uv__io_poll(uv_loop_t* loop, int timeout) {
+- uv__loop_internal_fields_t* lfields;
+ struct pollfd events[1024];
+ struct pollfd pqry;
+ struct pollfd* pe;
+@@ -155,8 +154,6 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
+ return;
+ }
+
+- lfields = uv__get_internal_fields(loop);
+-
+ while (!QUEUE_EMPTY(&loop->watcher_queue)) {
+ q = QUEUE_HEAD(&loop->watcher_queue);
+ QUEUE_REMOVE(q);
+@@ -220,7 +217,7 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
+ base = loop->time;
+ count = 48; /* Benchmarks suggest this gives the best throughput. */
+
+- if (lfields->flags & UV_METRICS_IDLE_TIME) {
++ if (uv__get_internal_fields(loop)->flags & UV_METRICS_IDLE_TIME) {
+ reset_timeout = 1;
+ user_timeout = timeout;
+ timeout = 0;
+@@ -235,12 +232,6 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
+ if (timeout != 0)
+ uv__metrics_set_provider_entry_time(loop);
+
+- /* Store the current timeout in a location that's globally accessible so
+- * other locations like uv__work_done() can determine whether the queue
+- * of events in the callback were waiting when poll was called.
+- */
+- lfields->current_timeout = timeout;
+-
+ nfds = pollset_poll(loop->backend_fd,
+ events,
+ ARRAY_SIZE(events),
+diff --git a/deps/uv/src/unix/fs.c b/deps/uv/src/unix/fs.c
+index 00d385c24b7..c696a8d5500 100644
+--- a/deps/uv/src/unix/fs.c
++++ b/deps/uv/src/unix/fs.c
+@@ -61,11 +61,10 @@
+ #endif
+
+ #if defined(__linux__)
+-# include <sys/sendfile.h>
+-# include <sys/utsname.h>
++# include "sys/utsname.h"
+ #endif
+
+-#if defined(__sun)
++#if defined(__linux__) || defined(__sun)
+ # include <sys/sendfile.h>
+ # include <sys/sysmacros.h>
+ #endif
+@@ -1554,7 +1553,26 @@ static int uv__fs_statx(int fd,
+ return UV_ENOSYS;
+ }
+
+- uv__statx_to_stat(&statxbuf, buf);
++ buf->st_dev = makedev(statxbuf.stx_dev_major, statxbuf.stx_dev_minor);
++ buf->st_mode = statxbuf.stx_mode;
++ buf->st_nlink = statxbuf.stx_nlink;
++ buf->st_uid = statxbuf.stx_uid;
++ buf->st_gid = statxbuf.stx_gid;
++ buf->st_rdev = makedev(statxbuf.stx_rdev_major, statxbuf.stx_rdev_minor);
++ buf->st_ino = statxbuf.stx_ino;
++ buf->st_size = statxbuf.stx_size;
++ buf->st_blksize = statxbuf.stx_blksize;
++ buf->st_blocks = statxbuf.stx_blocks;
++ buf->st_atim.tv_sec = statxbuf.stx_atime.tv_sec;
++ buf->st_atim.tv_nsec = statxbuf.stx_atime.tv_nsec;
++ buf->st_mtim.tv_sec = statxbuf.stx_mtime.tv_sec;
++ buf->st_mtim.tv_nsec = statxbuf.stx_mtime.tv_nsec;
++ buf->st_ctim.tv_sec = statxbuf.stx_ctime.tv_sec;
++ buf->st_ctim.tv_nsec = statxbuf.stx_ctime.tv_nsec;
++ buf->st_birthtim.tv_sec = statxbuf.stx_btime.tv_sec;
++ buf->st_birthtim.tv_nsec = statxbuf.stx_btime.tv_nsec;
++ buf->st_flags = 0;
++ buf->st_gen = 0;
+
+ return 0;
+ #else
+@@ -1798,9 +1816,6 @@ int uv_fs_chown(uv_loop_t* loop,
+ int uv_fs_close(uv_loop_t* loop, uv_fs_t* req, uv_file file, uv_fs_cb cb) {
+ INIT(CLOSE);
+ req->file = file;
+- if (cb != NULL)
+- if (uv__iou_fs_close(loop, req))
+- return 0;
+ POST;
+ }
+
+@@ -1848,9 +1863,6 @@ int uv_fs_lchown(uv_loop_t* loop,
+ int uv_fs_fdatasync(uv_loop_t* loop, uv_fs_t* req, uv_file file, uv_fs_cb cb) {
+ INIT(FDATASYNC);
+ req->file = file;
+- if (cb != NULL)
+- if (uv__iou_fs_fsync_or_fdatasync(loop, req, /* IORING_FSYNC_DATASYNC */ 1))
+- return 0;
+ POST;
+ }
+
+@@ -1858,9 +1870,6 @@ int uv_fs_fdatasync(uv_loop_t* loop, uv_fs_t* req, uv_file file, uv_fs_cb cb) {
+ int uv_fs_fstat(uv_loop_t* loop, uv_fs_t* req, uv_file file, uv_fs_cb cb) {
+ INIT(FSTAT);
+ req->file = file;
+- if (cb != NULL)
+- if (uv__iou_fs_statx(loop, req, /* is_fstat */ 1, /* is_lstat */ 0))
+- return 0;
+ POST;
+ }
+
+@@ -1868,9 +1877,6 @@ int uv_fs_fstat(uv_loop_t* loop, uv_fs_t* req, uv_file file, uv_fs_cb cb) {
+ int uv_fs_fsync(uv_loop_t* loop, uv_fs_t* req, uv_file file, uv_fs_cb cb) {
+ INIT(FSYNC);
+ req->file = file;
+- if (cb != NULL)
+- if (uv__iou_fs_fsync_or_fdatasync(loop, req, /* no flags */ 0))
+- return 0;
+ POST;
+ }
+
+@@ -1917,9 +1923,6 @@ int uv_fs_lutime(uv_loop_t* loop,
+ int uv_fs_lstat(uv_loop_t* loop, uv_fs_t* req, const char* path, uv_fs_cb cb) {
+ INIT(LSTAT);
+ PATH;
+- if (cb != NULL)
+- if (uv__iou_fs_statx(loop, req, /* is_fstat */ 0, /* is_lstat */ 1))
+- return 0;
+ POST;
+ }
+
+@@ -1981,9 +1984,6 @@ int uv_fs_open(uv_loop_t* loop,
+ PATH;
+ req->flags = flags;
+ req->mode = mode;
+- if (cb != NULL)
+- if (uv__iou_fs_open(loop, req))
+- return 0;
+ POST;
+ }
+
+@@ -2012,11 +2012,6 @@ int uv_fs_read(uv_loop_t* loop, uv_fs_t* req,
+ memcpy(req->bufs, bufs, nbufs * sizeof(*bufs));
+
+ req->off = off;
+-
+- if (cb != NULL)
+- if (uv__iou_fs_read_or_write(loop, req, /* is_read */ 1))
+- return 0;
+-
+ POST;
+ }
+
+@@ -2124,9 +2119,6 @@ int uv_fs_sendfile(uv_loop_t* loop,
+ int uv_fs_stat(uv_loop_t* loop, uv_fs_t* req, const char* path, uv_fs_cb cb) {
+ INIT(STAT);
+ PATH;
+- if (cb != NULL)
+- if (uv__iou_fs_statx(loop, req, /* is_fstat */ 0, /* is_lstat */ 0))
+- return 0;
+ POST;
+ }
+
+@@ -2190,11 +2182,6 @@ int uv_fs_write(uv_loop_t* loop,
+ memcpy(req->bufs, bufs, nbufs * sizeof(*bufs));
+
+ req->off = off;
+-
+- if (cb != NULL)
+- if (uv__iou_fs_read_or_write(loop, req, /* is_read */ 0))
+- return 0;
+-
+ POST;
+ }
+
+diff --git a/deps/uv/src/unix/internal.h b/deps/uv/src/unix/internal.h
+index 6c5822e6a0d..d439ae6dd3d 100644
+--- a/deps/uv/src/unix/internal.h
++++ b/deps/uv/src/unix/internal.h
+@@ -329,28 +329,6 @@ int uv__random_getentropy(void* buf, size_t buflen);
+ int uv__random_readpath(const char* path, void* buf, size_t buflen);
+ int uv__random_sysctl(void* buf, size_t buflen);
+
+-/* io_uring */
+-#ifdef __linux__
+-int uv__iou_fs_close(uv_loop_t* loop, uv_fs_t* req);
+-int uv__iou_fs_fsync_or_fdatasync(uv_loop_t* loop,
+- uv_fs_t* req,
+- uint32_t fsync_flags);
+-int uv__iou_fs_open(uv_loop_t* loop, uv_fs_t* req);
+-int uv__iou_fs_read_or_write(uv_loop_t* loop,
+- uv_fs_t* req,
+- int is_read);
+-int uv__iou_fs_statx(uv_loop_t* loop,
+- uv_fs_t* req,
+- int is_fstat,
+- int is_lstat);
+-#else
+-#define uv__iou_fs_close(loop, req) 0
+-#define uv__iou_fs_fsync_or_fdatasync(loop, req, fsync_flags) 0
+-#define uv__iou_fs_open(loop, req) 0
+-#define uv__iou_fs_read_or_write(loop, req, is_read) 0
+-#define uv__iou_fs_statx(loop, req, is_fstat, is_lstat) 0
+-#endif
+-
+ #if defined(__APPLE__)
+ int uv___stream_fd(const uv_stream_t* handle);
+ #define uv__stream_fd(handle) (uv___stream_fd((const uv_stream_t*) (handle)))
+@@ -427,7 +405,6 @@ int uv__statx(int dirfd,
+ int flags,
+ unsigned int mask,
+ struct uv__statx* statxbuf);
+-void uv__statx_to_stat(const struct uv__statx* statxbuf, uv_stat_t* buf);
+ ssize_t uv__getrandom(void* buf, size_t buflen, unsigned flags);
+ #endif
+
+diff --git a/deps/uv/src/unix/kqueue.c b/deps/uv/src/unix/kqueue.c
+index 82916d65933..deb486bae7a 100644
+--- a/deps/uv/src/unix/kqueue.c
++++ b/deps/uv/src/unix/kqueue.c
+@@ -127,7 +127,6 @@ static void uv__kqueue_delete(int kqfd, const struct kevent *ev) {
+
+
+ void uv__io_poll(uv_loop_t* loop, int timeout) {
+- uv__loop_internal_fields_t* lfields;
+ struct kevent events[1024];
+ struct kevent* ev;
+ struct timespec spec;
+@@ -156,7 +155,6 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
+ return;
+ }
+
+- lfields = uv__get_internal_fields(loop);
+ nevents = 0;
+
+ while (!QUEUE_EMPTY(&loop->watcher_queue)) {
+@@ -224,7 +222,7 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
+ base = loop->time;
+ count = 48; /* Benchmarks suggest this gives the best throughput. */
+
+- if (lfields->flags & UV_METRICS_IDLE_TIME) {
++ if (uv__get_internal_fields(loop)->flags & UV_METRICS_IDLE_TIME) {
+ reset_timeout = 1;
+ user_timeout = timeout;
+ timeout = 0;
+@@ -247,12 +245,6 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
+ if (pset != NULL)
+ pthread_sigmask(SIG_BLOCK, pset, NULL);
+
+- /* Store the current timeout in a location that's globally accessible so
+- * other locations like uv__work_done() can determine whether the queue
+- * of events in the callback were waiting when poll was called.
+- */
+- lfields->current_timeout = timeout;
+-
+ nfds = kevent(loop->backend_fd,
+ events,
+ nevents,
+diff --git a/deps/uv/src/unix/linux.c b/deps/uv/src/unix/linux.c
+index 5f84ad0eea3..343e37f2527 100644
+--- a/deps/uv/src/unix/linux.c
++++ b/deps/uv/src/unix/linux.c
+@@ -27,8 +27,6 @@
+ #include "internal.h"
+
+ #include <inttypes.h>
+-#include <stdatomic.h>
+-#include <stddef.h> /* offsetof */
+ #include <stdint.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+@@ -40,29 +38,15 @@
+ #include <net/if.h>
+ #include <sys/epoll.h>
+ #include <sys/inotify.h>
+-#include <sys/mman.h>
+ #include <sys/param.h>
+ #include <sys/prctl.h>
+ #include <sys/stat.h>
+ #include <sys/syscall.h>
+ #include <sys/sysinfo.h>
+-#include <sys/sysmacros.h>
+ #include <sys/types.h>
+ #include <time.h>
+ #include <unistd.h>
+
+-#ifndef __NR_io_uring_setup
+-# define __NR_io_uring_setup 425
+-#endif
+-
+-#ifndef __NR_io_uring_enter
+-# define __NR_io_uring_enter 426
+-#endif
+-
+-#ifndef __NR_io_uring_register
+-# define __NR_io_uring_register 427
+-#endif
+-
+ #ifndef __NR_copy_file_range
+ # if defined(__x86_64__)
+ # define __NR_copy_file_range 326
+@@ -132,129 +116,6 @@
+ # include <netpacket/packet.h>
+ #endif /* HAVE_IFADDRS_H */
+
+-enum {
+- UV__IORING_SETUP_SQPOLL = 2u,
+-};
+-
+-enum {
+- UV__IORING_FEAT_SINGLE_MMAP = 1u,
+- UV__IORING_FEAT_NODROP = 2u,
+- UV__IORING_FEAT_RSRC_TAGS = 1024u, /* linux v5.13 */
+-};
+-
+-enum {
+- UV__IORING_OP_READV = 1,
+- UV__IORING_OP_WRITEV = 2,
+- UV__IORING_OP_FSYNC = 3,
+- UV__IORING_OP_OPENAT = 18,
+- UV__IORING_OP_CLOSE = 19,
+- UV__IORING_OP_STATX = 21,
+- UV__IORING_OP_EPOLL_CTL = 29,
+-};
+-
+-enum {
+- UV__IORING_ENTER_GETEVENTS = 1u,
+- UV__IORING_ENTER_SQ_WAKEUP = 2u,
+-};
+-
+-enum {
+- UV__IORING_SQ_NEED_WAKEUP = 1u,
+- UV__IORING_SQ_CQ_OVERFLOW = 2u,
+-};
+-
+-struct uv__io_cqring_offsets {
+- uint32_t head;
+- uint32_t tail;
+- uint32_t ring_mask;
+- uint32_t ring_entries;
+- uint32_t overflow;
+- uint32_t cqes;
+- uint64_t reserved0;
+- uint64_t reserved1;
+-};
+-
+-STATIC_ASSERT(40 == sizeof(struct uv__io_cqring_offsets));
+-
+-struct uv__io_sqring_offsets {
+- uint32_t head;
+- uint32_t tail;
+- uint32_t ring_mask;
+- uint32_t ring_entries;
+- uint32_t flags;
+- uint32_t dropped;
+- uint32_t array;
+- uint32_t reserved0;
+- uint64_t reserved1;
+-};
+-
+-STATIC_ASSERT(40 == sizeof(struct uv__io_sqring_offsets));
+-
+-struct uv__io_uring_cqe {
+- uint64_t user_data;
+- int32_t res;
+- uint32_t flags;
+-};
+-
+-STATIC_ASSERT(16 == sizeof(struct uv__io_uring_cqe));
+-
+-struct uv__io_uring_sqe {
+- uint8_t opcode;
+- uint8_t flags;
+- uint16_t ioprio;
+- int32_t fd;
+- union {
+- uint64_t off;
+- uint64_t addr2;
+- };
+- union {
+- uint64_t addr;
+- };
+- uint32_t len;
+- union {
+- uint32_t rw_flags;
+- uint32_t fsync_flags;
+- uint32_t open_flags;
+- uint32_t statx_flags;
+- };
+- uint64_t user_data;
+- union {
+- uint16_t buf_index;
+- uint64_t pad[3];
+- };
+-};
+-
+-STATIC_ASSERT(64 == sizeof(struct uv__io_uring_sqe));
+-STATIC_ASSERT(0 == offsetof(struct uv__io_uring_sqe, opcode));
+-STATIC_ASSERT(1 == offsetof(struct uv__io_uring_sqe, flags));
+-STATIC_ASSERT(2 == offsetof(struct uv__io_uring_sqe, ioprio));
+-STATIC_ASSERT(4 == offsetof(struct uv__io_uring_sqe, fd));
+-STATIC_ASSERT(8 == offsetof(struct uv__io_uring_sqe, off));
+-STATIC_ASSERT(16 == offsetof(struct uv__io_uring_sqe, addr));
+-STATIC_ASSERT(24 == offsetof(struct uv__io_uring_sqe, len));
+-STATIC_ASSERT(28 == offsetof(struct uv__io_uring_sqe, rw_flags));
+-STATIC_ASSERT(32 == offsetof(struct uv__io_uring_sqe, user_data));
+-STATIC_ASSERT(40 == offsetof(struct uv__io_uring_sqe, buf_index));
+-
+-struct uv__io_uring_params {
+- uint32_t sq_entries;
+- uint32_t cq_entries;
+- uint32_t flags;
+- uint32_t sq_thread_cpu;
+- uint32_t sq_thread_idle;
+- uint32_t features;
+- uint32_t reserved[4];
+- struct uv__io_sqring_offsets sq_off; /* 40 bytes */
+- struct uv__io_cqring_offsets cq_off; /* 40 bytes */
+-};
+-
+-STATIC_ASSERT(40 + 40 + 40 == sizeof(struct uv__io_uring_params));
+-STATIC_ASSERT(40 == offsetof(struct uv__io_uring_params, sq_off));
+-STATIC_ASSERT(80 == offsetof(struct uv__io_uring_params, cq_off));
+-
+-STATIC_ASSERT(EPOLL_CTL_ADD < 4);
+-STATIC_ASSERT(EPOLL_CTL_DEL < 4);
+-STATIC_ASSERT(EPOLL_CTL_MOD < 4);
+-
+ struct watcher_list {
+ RB_ENTRY(watcher_list) entry;
+ QUEUE watchers;
+@@ -276,17 +137,6 @@ static int compare_watchers(const struct watcher_list* a,
+ static void maybe_free_watcher_list(struct watcher_list* w,
+ uv_loop_t* loop);
+
+-static void uv__epoll_ctl_flush(int epollfd,
+- struct uv__iou* ctl,
+- struct epoll_event (*events)[256]);
+-
+-static void uv__epoll_ctl_prep(int epollfd,
+- struct uv__iou* ctl,
+- struct epoll_event (*events)[256],
+- int op,
+- int fd,
+- struct epoll_event* e);
+-
+ RB_GENERATE_STATIC(watcher_root, watcher_list, entry, compare_watchers)
+
+
+@@ -356,187 +206,7 @@ ssize_t uv__getrandom(void* buf, size_t buflen, unsigned flags) {
+ }
+
+
+-int uv__io_uring_setup(int entries, struct uv__io_uring_params* params) {
+- return syscall(__NR_io_uring_setup, entries, params);
+-}
+-
+-
+-int uv__io_uring_enter(int fd,
+- unsigned to_submit,
+- unsigned min_complete,
+- unsigned flags) {
+- /* io_uring_enter used to take a sigset_t but it's unused
+- * in newer kernels unless IORING_ENTER_EXT_ARG is set,
+- * in which case it takes a struct io_uring_getevents_arg.
+- */
+- return syscall(__NR_io_uring_enter,
+- fd,
+- to_submit,
+- min_complete,
+- flags,
+- NULL,
+- 0L);
+-}
+-
+-
+-int uv__io_uring_register(int fd, unsigned opcode, void* arg, unsigned nargs) {
+- return syscall(__NR_io_uring_register, fd, opcode, arg, nargs);
+-}
+-
+-
+-static int uv__use_io_uring(void) {
+- /* Ternary: unknown=0, yes=1, no=-1 */
+- static _Atomic int use_io_uring;
+- char* val;
+- int use;
+-
+- use = atomic_load_explicit(&use_io_uring, memory_order_relaxed);
+-
+- if (use == 0) {
+- val = getenv("UV_USE_IO_URING");
+- use = val == NULL || atoi(val) ? 1 : -1;
+- atomic_store_explicit(&use_io_uring, use, memory_order_relaxed);
+- }
+-
+- return use > 0;
+-}
+-
+-
+-static void uv__iou_init(int epollfd,
+- struct uv__iou* iou,
+- uint32_t entries,
+- uint32_t flags) {
+- struct uv__io_uring_params params;
+- struct epoll_event e;
+- size_t cqlen;
+- size_t sqlen;
+- size_t maxlen;
+- size_t sqelen;
+- uint32_t i;
+- char* sq;
+- char* sqe;
+- int ringfd;
+-
+- sq = MAP_FAILED;
+- sqe = MAP_FAILED;
+-
+- if (!uv__use_io_uring())
+- return;
+-
+- /* SQPOLL required CAP_SYS_NICE until linux v5.12 relaxed that requirement.
+- * Mostly academic because we check for a v5.13 kernel afterwards anyway.
+- */
+- memset(¶ms, 0, sizeof(params));
+- params.flags = flags;
+-
+- if (flags & UV__IORING_SETUP_SQPOLL)
+- params.sq_thread_idle = 10; /* milliseconds */
+-
+- /* Kernel returns a file descriptor with O_CLOEXEC flag set. */
+- ringfd = uv__io_uring_setup(entries, ¶ms);
+- if (ringfd == -1)
+- return;
+-
+- /* IORING_FEAT_RSRC_TAGS is used to detect linux v5.13 but what we're
+- * actually detecting is whether IORING_OP_STATX works with SQPOLL.
+- */
+- if (!(params.features & UV__IORING_FEAT_RSRC_TAGS))
+- goto fail;
+-
+- /* Implied by IORING_FEAT_RSRC_TAGS but checked explicitly anyway. */
+- if (!(params.features & UV__IORING_FEAT_SINGLE_MMAP))
+- goto fail;
+-
+- /* Implied by IORING_FEAT_RSRC_TAGS but checked explicitly anyway. */
+- if (!(params.features & UV__IORING_FEAT_NODROP))
+- goto fail;
+-
+- sqlen = params.sq_off.array + params.sq_entries * sizeof(uint32_t);
+- cqlen =
+- params.cq_off.cqes + params.cq_entries * sizeof(struct uv__io_uring_cqe);
+- maxlen = sqlen < cqlen ? cqlen : sqlen;
+- sqelen = params.sq_entries * sizeof(struct uv__io_uring_sqe);
+-
+- sq = mmap(0,
+- maxlen,
+- PROT_READ | PROT_WRITE,
+- MAP_SHARED | MAP_POPULATE,
+- ringfd,
+- 0); /* IORING_OFF_SQ_RING */
+-
+- sqe = mmap(0,
+- sqelen,
+- PROT_READ | PROT_WRITE,
+- MAP_SHARED | MAP_POPULATE,
+- ringfd,
+- 0x10000000ull); /* IORING_OFF_SQES */
+-
+- if (sq == MAP_FAILED || sqe == MAP_FAILED)
+- goto fail;
+-
+- if (flags & UV__IORING_SETUP_SQPOLL) {
+- /* Only interested in completion events. To get notified when
+- * the kernel pulls items from the submission ring, add POLLOUT.
+- */
+- memset(&e, 0, sizeof(e));
+- e.events = POLLIN;
+- e.data.fd = ringfd;
+-
+- if (epoll_ctl(epollfd, EPOLL_CTL_ADD, ringfd, &e))
+- goto fail;
+- }
+-
+- iou->sqhead = (uint32_t*) (sq + params.sq_off.head);
+- iou->sqtail = (uint32_t*) (sq + params.sq_off.tail);
+- iou->sqmask = *(uint32_t*) (sq + params.sq_off.ring_mask);
+- iou->sqarray = (uint32_t*) (sq + params.sq_off.array);
+- iou->sqflags = (uint32_t*) (sq + params.sq_off.flags);
+- iou->cqhead = (uint32_t*) (sq + params.cq_off.head);
+- iou->cqtail = (uint32_t*) (sq + params.cq_off.tail);
+- iou->cqmask = *(uint32_t*) (sq + params.cq_off.ring_mask);
+- iou->sq = sq;
+- iou->cqe = sq + params.cq_off.cqes;
+- iou->sqe = sqe;
+- iou->sqlen = sqlen;
+- iou->cqlen = cqlen;
+- iou->maxlen = maxlen;
+- iou->sqelen = sqelen;
+- iou->ringfd = ringfd;
+- iou->in_flight = 0;
+-
+- for (i = 0; i <= iou->sqmask; i++)
+- iou->sqarray[i] = i; /* Slot -> sqe identity mapping. */
+-
+- return;
+-
+-fail:
+- if (sq != MAP_FAILED)
+- munmap(sq, maxlen);
+-
+- if (sqe != MAP_FAILED)
+- munmap(sqe, sqelen);
+-
+- uv__close(ringfd);
+-}
+-
+-
+-static void uv__iou_delete(struct uv__iou* iou) {
+- if (iou->ringfd != -1) {
+- munmap(iou->sq, iou->maxlen);
+- munmap(iou->sqe, iou->sqelen);
+- uv__close(iou->ringfd);
+- iou->ringfd = -1;
+- }
+-}
+-
+-
+ int uv__platform_loop_init(uv_loop_t* loop) {
+- uv__loop_internal_fields_t* lfields;
+-
+- lfields = uv__get_internal_fields(loop);
+- lfields->ctl.ringfd = -1;
+- lfields->iou.ringfd = -1;
+-
+ loop->inotify_watchers = NULL;
+ loop->inotify_fd = -1;
+ loop->backend_fd = epoll_create1(O_CLOEXEC);
+@@ -544,9 +214,6 @@ int uv__platform_loop_init(uv_loop_t* loop) {
+ if (loop->backend_fd == -1)
+ return UV__ERR(errno);
+
+- uv__iou_init(loop->backend_fd, &lfields->iou, 64, UV__IORING_SETUP_SQPOLL);
+- uv__iou_init(loop->backend_fd, &lfields->ctl, 256, 0);
+-
+ return 0;
+ }
+
+@@ -559,8 +226,6 @@ int uv__io_fork(uv_loop_t* loop) {
+
+ uv__close(loop->backend_fd);
+ loop->backend_fd = -1;
+-
+- /* TODO(bnoordhuis) Loses items from the submission and completion rings. */
+ uv__platform_loop_delete(loop);
+
+ err = uv__platform_loop_init(loop);
+@@ -572,62 +237,42 @@ int uv__io_fork(uv_loop_t* loop) {
+
+
+ void uv__platform_loop_delete(uv_loop_t* loop) {
+- uv__loop_internal_fields_t* lfields;
+-
+- lfields = uv__get_internal_fields(loop);
+- uv__iou_delete(&lfields->ctl);
+- uv__iou_delete(&lfields->iou);
+-
+- if (loop->inotify_fd != -1) {
+- uv__io_stop(loop, &loop->inotify_read_watcher, POLLIN);
+- uv__close(loop->inotify_fd);
+- loop->inotify_fd = -1;
+- }
++ if (loop->inotify_fd == -1) return;
++ uv__io_stop(loop, &loop->inotify_read_watcher, POLLIN);
++ uv__close(loop->inotify_fd);
++ loop->inotify_fd = -1;
+ }
+
+
+-struct uv__invalidate {
+- struct epoll_event (*prep)[256];
+- struct epoll_event* events;
+- int nfds;
+-};
+-
+-
+ void uv__platform_invalidate_fd(uv_loop_t* loop, int fd) {
+- uv__loop_internal_fields_t* lfields;
+- struct uv__invalidate* inv;
++ struct epoll_event* events;
+ struct epoll_event dummy;
+- int i;
++ uintptr_t i;
++ uintptr_t nfds;
+
+- lfields = uv__get_internal_fields(loop);
+- inv = lfields->inv;
++ assert(loop->watchers != NULL);
++ assert(fd >= 0);
+
+- /* Invalidate events with same file descriptor */
+- if (inv != NULL)
+- for (i = 0; i < inv->nfds; i++)
+- if (inv->events[i].data.fd == fd)
+- inv->events[i].data.fd = -1;
++ events = (struct epoll_event*) loop->watchers[loop->nwatchers];
++ nfds = (uintptr_t) loop->watchers[loop->nwatchers + 1];
++ if (events != NULL)
++ /* Invalidate events with same file descriptor */
++ for (i = 0; i < nfds; i++)
++ if (events[i].data.fd == fd)
++ events[i].data.fd = -1;
+
+ /* Remove the file descriptor from the epoll.
+ * This avoids a problem where the same file description remains open
+ * in another process, causing repeated junk epoll events.
+ *
+ * We pass in a dummy epoll_event, to work around a bug in old kernels.
+- *
+- * Work around a bug in kernels 3.10 to 3.19 where passing a struct that
+- * has the EPOLLWAKEUP flag set generates spurious audit syslog warnings.
+ */
+- memset(&dummy, 0, sizeof(dummy));
+-
+- if (inv == NULL) {
++ if (loop->backend_fd >= 0) {
++ /* Work around a bug in kernels 3.10 to 3.19 where passing a struct that
++ * has the EPOLLWAKEUP flag set generates spurious audit syslog warnings.
++ */
++ memset(&dummy, 0, sizeof(dummy));
+ epoll_ctl(loop->backend_fd, EPOLL_CTL_DEL, fd, &dummy);
+- } else {
+- uv__epoll_ctl_prep(loop->backend_fd,
+- &lfields->ctl,
+- inv->prep,
+- EPOLL_CTL_DEL,
+- fd,
+- &dummy);
+ }
+ }
+
+@@ -653,454 +298,27 @@ int uv__io_check_fd(uv_loop_t* loop, int fd) {
+ }
+
+
+-/* Caller must initialize SQE and call uv__iou_submit(). */
+-static struct uv__io_uring_sqe* uv__iou_get_sqe(struct uv__iou* iou,
+- uv_loop_t* loop,
+- uv_fs_t* req) {
+- struct uv__io_uring_sqe* sqe;
+- uint32_t head;
+- uint32_t tail;
+- uint32_t mask;
+- uint32_t slot;
+-
+- if (iou->ringfd == -1)
+- return NULL;
+-
+- head = atomic_load_explicit((_Atomic uint32_t*) iou->sqhead,
+- memory_order_acquire);
+- tail = *iou->sqtail;
+- mask = iou->sqmask;
+-
+- if ((head & mask) == ((tail + 1) & mask))
+- return NULL; /* No room in ring buffer. TODO(bnoordhuis) maybe flush it? */
+-
+- slot = tail & mask;
+- sqe = iou->sqe;
+- sqe = &sqe[slot];
+- memset(sqe, 0, sizeof(*sqe));
+- sqe->user_data = (uintptr_t) req;
+-
+- /* Pacify uv_cancel(). */
+- req->work_req.loop = loop;
+- req->work_req.work = NULL;
+- req->work_req.done = NULL;
+- QUEUE_INIT(&req->work_req.wq);
+-
+- uv__req_register(loop, req);
+- iou->in_flight++;
+-
+- return sqe;
+-}
+-
+-
+-static void uv__iou_submit(struct uv__iou* iou) {
+- uint32_t flags;
+-
+- atomic_store_explicit((_Atomic uint32_t*) iou->sqtail,
+- *iou->sqtail + 1,
+- memory_order_release);
+-
+- flags = atomic_load_explicit((_Atomic uint32_t*) iou->sqflags,
+- memory_order_acquire);
+-
+- if (flags & UV__IORING_SQ_NEED_WAKEUP)
+- if (uv__io_uring_enter(iou->ringfd, 0, 0, UV__IORING_ENTER_SQ_WAKEUP))
+- if (errno != EOWNERDEAD) /* Kernel bug. Harmless, ignore. */
+- perror("libuv: io_uring_enter(wakeup)"); /* Can't happen. */
+-}
+-
+-
+-int uv__iou_fs_close(uv_loop_t* loop, uv_fs_t* req) {
+- struct uv__io_uring_sqe* sqe;
+- struct uv__iou* iou;
+-
+- iou = &uv__get_internal_fields(loop)->iou;
+-
+- sqe = uv__iou_get_sqe(iou, loop, req);
+- if (sqe == NULL)
+- return 0;
+-
+- sqe->fd = req->file;
+- sqe->opcode = UV__IORING_OP_CLOSE;
+-
+- uv__iou_submit(iou);
+-
+- return 1;
+-}
+-
+-
+-int uv__iou_fs_fsync_or_fdatasync(uv_loop_t* loop,
+- uv_fs_t* req,
+- uint32_t fsync_flags) {
+- struct uv__io_uring_sqe* sqe;
+- struct uv__iou* iou;
+-
+- iou = &uv__get_internal_fields(loop)->iou;
+-
+- sqe = uv__iou_get_sqe(iou, loop, req);
+- if (sqe == NULL)
+- return 0;
+-
+- /* Little known fact: setting seq->off and seq->len turns
+- * it into an asynchronous sync_file_range() operation.
+- */
+- sqe->fd = req->file;
+- sqe->fsync_flags = fsync_flags;
+- sqe->opcode = UV__IORING_OP_FSYNC;
+-
+- uv__iou_submit(iou);
+-
+- return 1;
+-}
+-
+-
+-int uv__iou_fs_open(uv_loop_t* loop, uv_fs_t* req) {
+- struct uv__io_uring_sqe* sqe;
+- struct uv__iou* iou;
+-
+- iou = &uv__get_internal_fields(loop)->iou;
+-
+- sqe = uv__iou_get_sqe(iou, loop, req);
+- if (sqe == NULL)
+- return 0;
+-
+- sqe->addr = (uintptr_t) req->path;
+- sqe->fd = AT_FDCWD;
+- sqe->len = req->mode;
+- sqe->opcode = UV__IORING_OP_OPENAT;
+- sqe->open_flags = req->flags | O_CLOEXEC;
+-
+- uv__iou_submit(iou);
+-
+- return 1;
+-}
+-
+-
+-int uv__iou_fs_read_or_write(uv_loop_t* loop,
+- uv_fs_t* req,
+- int is_read) {
+- struct uv__io_uring_sqe* sqe;
+- struct uv__iou* iou;
+-
+- /* For the moment, if iovcnt is greater than IOV_MAX, fallback to the
+- * threadpool. In the future we might take advantage of IOSQE_IO_LINK. */
+- if (req->nbufs > IOV_MAX)
+- return 0;
+-
+- iou = &uv__get_internal_fields(loop)->iou;
+-
+- sqe = uv__iou_get_sqe(iou, loop, req);
+- if (sqe == NULL)
+- return 0;
+-
+- sqe->addr = (uintptr_t) req->bufs;
+- sqe->fd = req->file;
+- sqe->len = req->nbufs;
+- sqe->off = req->off < 0 ? -1 : req->off;
+- sqe->opcode = is_read ? UV__IORING_OP_READV : UV__IORING_OP_WRITEV;
+-
+- uv__iou_submit(iou);
+-
+- return 1;
+-}
+-
+-
+-int uv__iou_fs_statx(uv_loop_t* loop,
+- uv_fs_t* req,
+- int is_fstat,
+- int is_lstat) {
+- struct uv__io_uring_sqe* sqe;
+- struct uv__statx* statxbuf;
+- struct uv__iou* iou;
+-
+- statxbuf = uv__malloc(sizeof(*statxbuf));
+- if (statxbuf == NULL)
+- return 0;
+-
+- iou = &uv__get_internal_fields(loop)->iou;
+-
+- sqe = uv__iou_get_sqe(iou, loop, req);
+- if (sqe == NULL) {
+- uv__free(statxbuf);
+- return 0;
+- }
+-
+- req->ptr = statxbuf;
+-
+- sqe->addr = (uintptr_t) req->path;
+- sqe->addr2 = (uintptr_t) statxbuf;
+- sqe->fd = AT_FDCWD;
+- sqe->len = 0xFFF; /* STATX_BASIC_STATS + STATX_BTIME */
+- sqe->opcode = UV__IORING_OP_STATX;
+-
+- if (is_fstat) {
+- sqe->addr = (uintptr_t) "";
+- sqe->fd = req->file;
+- sqe->statx_flags |= 0x1000; /* AT_EMPTY_PATH */
+- }
+-
+- if (is_lstat)
+- sqe->statx_flags |= AT_SYMLINK_NOFOLLOW;
+-
+- uv__iou_submit(iou);
+-
+- return 1;
+-}
+-
+-
+-void uv__statx_to_stat(const struct uv__statx* statxbuf, uv_stat_t* buf) {
+- buf->st_dev = makedev(statxbuf->stx_dev_major, statxbuf->stx_dev_minor);
+- buf->st_mode = statxbuf->stx_mode;
+- buf->st_nlink = statxbuf->stx_nlink;
+- buf->st_uid = statxbuf->stx_uid;
+- buf->st_gid = statxbuf->stx_gid;
+- buf->st_rdev = makedev(statxbuf->stx_rdev_major, statxbuf->stx_rdev_minor);
+- buf->st_ino = statxbuf->stx_ino;
+- buf->st_size = statxbuf->stx_size;
+- buf->st_blksize = statxbuf->stx_blksize;
+- buf->st_blocks = statxbuf->stx_blocks;
+- buf->st_atim.tv_sec = statxbuf->stx_atime.tv_sec;
+- buf->st_atim.tv_nsec = statxbuf->stx_atime.tv_nsec;
+- buf->st_mtim.tv_sec = statxbuf->stx_mtime.tv_sec;
+- buf->st_mtim.tv_nsec = statxbuf->stx_mtime.tv_nsec;
+- buf->st_ctim.tv_sec = statxbuf->stx_ctime.tv_sec;
+- buf->st_ctim.tv_nsec = statxbuf->stx_ctime.tv_nsec;
+- buf->st_birthtim.tv_sec = statxbuf->stx_btime.tv_sec;
+- buf->st_birthtim.tv_nsec = statxbuf->stx_btime.tv_nsec;
+- buf->st_flags = 0;
+- buf->st_gen = 0;
+-}
+-
+-
+-static void uv__iou_fs_statx_post(uv_fs_t* req) {
+- struct uv__statx* statxbuf;
+- uv_stat_t* buf;
+-
+- buf = &req->statbuf;
+- statxbuf = req->ptr;
+- req->ptr = NULL;
+-
+- if (req->result == 0) {
+- uv__msan_unpoison(statxbuf, sizeof(*statxbuf));
+- uv__statx_to_stat(statxbuf, buf);
+- req->ptr = buf;
+- }
+-
+- uv__free(statxbuf);
+-}
+-
+-
+-static void uv__poll_io_uring(uv_loop_t* loop, struct uv__iou* iou) {
+- struct uv__io_uring_cqe* cqe;
+- struct uv__io_uring_cqe* e;
+- uv_fs_t* req;
+- uint32_t head;
+- uint32_t tail;
+- uint32_t mask;
+- uint32_t i;
+- uint32_t flags;
+- int nevents;
+- int rc;
+-
+- head = *iou->cqhead;
+- tail = atomic_load_explicit((_Atomic uint32_t*) iou->cqtail,
+- memory_order_acquire);
+- mask = iou->cqmask;
+- cqe = iou->cqe;
+- nevents = 0;
+-
+- for (i = head; i != tail; i++) {
+- e = &cqe[i & mask];
+-
+- req = (uv_fs_t*) (uintptr_t) e->user_data;
+- assert(req->type == UV_FS);
+-
+- uv__req_unregister(loop, req);
+- iou->in_flight--;
+-
+- /* io_uring stores error codes as negative numbers, same as libuv. */
+- req->result = e->res;
+-
+- switch (req->fs_type) {
+- case UV_FS_FSTAT:
+- case UV_FS_LSTAT:
+- case UV_FS_STAT:
+- uv__iou_fs_statx_post(req);
+- break;
+- default: /* Squelch -Wswitch warnings. */
+- break;
+- }
+-
+- uv__metrics_update_idle_time(loop);
+- req->cb(req);
+- nevents++;
+- }
+-
+- atomic_store_explicit((_Atomic uint32_t*) iou->cqhead,
+- tail,
+- memory_order_release);
+-
+- /* Check whether CQE's overflowed, if so enter the kernel to make them
+- * available. Don't grab them immediately but in the next loop iteration to
+- * avoid loop starvation. */
+- flags = atomic_load_explicit((_Atomic uint32_t*) iou->sqflags,
+- memory_order_acquire);
+-
+- if (flags & UV__IORING_SQ_CQ_OVERFLOW) {
+- do
+- rc = uv__io_uring_enter(iou->ringfd, 0, 0, UV__IORING_ENTER_GETEVENTS);
+- while (rc == -1 && errno == EINTR);
+-
+- if (rc < 0)
+- perror("libuv: io_uring_enter(getevents)"); /* Can't happen. */
+- }
+-
+- uv__metrics_inc_events(loop, nevents);
+- if (uv__get_internal_fields(loop)->current_timeout == 0)
+- uv__metrics_inc_events_waiting(loop, nevents);
+-}
+-
+-
+-static void uv__epoll_ctl_prep(int epollfd,
+- struct uv__iou* ctl,
+- struct epoll_event (*events)[256],
+- int op,
+- int fd,
+- struct epoll_event* e) {
+- struct uv__io_uring_sqe* sqe;
+- struct epoll_event* pe;
+- uint32_t mask;
+- uint32_t slot;
+-
+- if (ctl->ringfd == -1) {
+- if (!epoll_ctl(epollfd, op, fd, e))
+- return;
+-
+- if (op == EPOLL_CTL_DEL)
+- return; /* Ignore errors, may be racing with another thread. */
+-
+- if (op != EPOLL_CTL_ADD)
+- abort();
+-
+- if (errno != EEXIST)
+- abort();
+-
+- /* File descriptor that's been watched before, update event mask. */
+- if (!epoll_ctl(epollfd, EPOLL_CTL_MOD, fd, e))
+- return;
+-
+- abort();
+- } else {
+- mask = ctl->sqmask;
+- slot = (*ctl->sqtail)++ & mask;
+-
+- pe = &(*events)[slot];
+- *pe = *e;
+-
+- sqe = ctl->sqe;
+- sqe = &sqe[slot];
+-
+- memset(sqe, 0, sizeof(*sqe));
+- sqe->addr = (uintptr_t) pe;
+- sqe->fd = epollfd;
+- sqe->len = op;
+- sqe->off = fd;
+- sqe->opcode = UV__IORING_OP_EPOLL_CTL;
+- sqe->user_data = op | slot << 2 | (int64_t) fd << 32;
+-
+- if ((*ctl->sqhead & mask) == (*ctl->sqtail & mask))
+- uv__epoll_ctl_flush(epollfd, ctl, events);
+- }
+-}
+-
+-
+-static void uv__epoll_ctl_flush(int epollfd,
+- struct uv__iou* ctl,
+- struct epoll_event (*events)[256]) {
+- struct epoll_event oldevents[256];
+- struct uv__io_uring_cqe* cqe;
+- uint32_t oldslot;
+- uint32_t slot;
+- uint32_t n;
+- int fd;
+- int op;
+- int rc;
+-
+- STATIC_ASSERT(sizeof(oldevents) == sizeof(*events));
+- assert(ctl->ringfd != -1);
+- assert(*ctl->sqhead != *ctl->sqtail);
+-
+- n = *ctl->sqtail - *ctl->sqhead;
+- do
+- rc = uv__io_uring_enter(ctl->ringfd, n, n, UV__IORING_ENTER_GETEVENTS);
+- while (rc == -1 && errno == EINTR);
+-
+- if (rc < 0)
+- perror("libuv: io_uring_enter(getevents)"); /* Can't happen. */
+-
+- if (rc != (int) n)
+- abort();
+-
+- assert(*ctl->sqhead == *ctl->sqtail);
+-
+- memcpy(oldevents, *events, sizeof(*events));
+-
+- /* Failed submissions are either EPOLL_CTL_DEL commands for file descriptors
+- * that have been closed, or EPOLL_CTL_ADD commands for file descriptors
+- * that we are already watching. Ignore the former and retry the latter
+- * with EPOLL_CTL_MOD.
+- */
+- while (*ctl->cqhead != *ctl->cqtail) {
+- slot = (*ctl->cqhead)++ & ctl->cqmask;
+-
+- cqe = ctl->cqe;
+- cqe = &cqe[slot];
+-
+- if (cqe->res == 0)
+- continue;
+-
+- fd = cqe->user_data >> 32;
+- op = 3 & cqe->user_data;
+- oldslot = 255 & (cqe->user_data >> 2);
+-
+- if (op == EPOLL_CTL_DEL)
+- continue;
+-
+- if (op != EPOLL_CTL_ADD)
+- abort();
+-
+- if (cqe->res != -EEXIST)
+- abort();
+-
+- uv__epoll_ctl_prep(epollfd,
+- ctl,
+- events,
+- EPOLL_CTL_MOD,
+- fd,
+- &oldevents[oldslot]);
+- }
+-}
+-
+-
+ void uv__io_poll(uv_loop_t* loop, int timeout) {
+- uv__loop_internal_fields_t* lfields;
++ /* A bug in kernels < 2.6.37 makes timeouts larger than ~30 minutes
++ * effectively infinite on 32 bits architectures. To avoid blocking
++ * indefinitely, we cap the timeout and poll again if necessary.
++ *
++ * Note that "30 minutes" is a simplification because it depends on
++ * the value of CONFIG_HZ. The magic constant assumes CONFIG_HZ=1200,
++ * that being the largest value I have seen in the wild (and only once.)
++ */
++ static const int max_safe_timeout = 1789569;
+ struct epoll_event events[1024];
+- struct epoll_event prep[256];
+- struct uv__invalidate inv;
+ struct epoll_event* pe;
+ struct epoll_event e;
+- struct uv__iou* ctl;
+- struct uv__iou* iou;
+ int real_timeout;
+ QUEUE* q;
+ uv__io_t* w;
+ sigset_t* sigmask;
+ sigset_t sigset;
+ uint64_t base;
+- int have_iou_events;
+ int have_signals;
+ int nevents;
+- int epollfd;
+ int count;
+ int nfds;
+ int fd;
+@@ -1109,9 +327,47 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
+ int user_timeout;
+ int reset_timeout;
+
+- lfields = uv__get_internal_fields(loop);
+- ctl = &lfields->ctl;
+- iou = &lfields->iou;
++ if (loop->nfds == 0) {
++ assert(QUEUE_EMPTY(&loop->watcher_queue));
++ return;
++ }
++
++ memset(&e, 0, sizeof(e));
++
++ while (!QUEUE_EMPTY(&loop->watcher_queue)) {
++ q = QUEUE_HEAD(&loop->watcher_queue);
++ QUEUE_REMOVE(q);
++ QUEUE_INIT(q);
++
++ w = QUEUE_DATA(q, uv__io_t, watcher_queue);
++ assert(w->pevents != 0);
++ assert(w->fd >= 0);
++ assert(w->fd < (int) loop->nwatchers);
++
++ e.events = w->pevents;
++ e.data.fd = w->fd;
++
++ if (w->events == 0)
++ op = EPOLL_CTL_ADD;
++ else
++ op = EPOLL_CTL_MOD;
++
++ /* XXX Future optimization: do EPOLL_CTL_MOD lazily if we stop watching
++ * events, skip the syscall and squelch the events after epoll_wait().
++ */
++ if (epoll_ctl(loop->backend_fd, op, w->fd, &e)) {
++ if (errno != EEXIST)
++ abort();
++
++ assert(op == EPOLL_CTL_ADD);
++
++ /* We've reactivated a file descriptor that's been watched before. */
++ if (epoll_ctl(loop->backend_fd, EPOLL_CTL_MOD, w->fd, &e))
++ abort();
++ }
++
++ w->events = w->pevents;
++ }
+
+ sigmask = NULL;
+ if (loop->flags & UV_LOOP_BLOCK_SIGPROF) {
+@@ -1125,7 +381,7 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
+ count = 48; /* Benchmarks suggest this gives the best throughput. */
+ real_timeout = timeout;
+
+- if (lfields->flags & UV_METRICS_IDLE_TIME) {
++ if (uv__get_internal_fields(loop)->flags & UV_METRICS_IDLE_TIME) {
+ reset_timeout = 1;
+ user_timeout = timeout;
+ timeout = 0;
+@@ -1134,56 +390,24 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
+ user_timeout = 0;
+ }
+
+- epollfd = loop->backend_fd;
+-
+- memset(&e, 0, sizeof(e));
+-
+- while (!QUEUE_EMPTY(&loop->watcher_queue)) {
+- q = QUEUE_HEAD(&loop->watcher_queue);
+- w = QUEUE_DATA(q, uv__io_t, watcher_queue);
+- QUEUE_REMOVE(q);
+- QUEUE_INIT(q);
+-
+- op = EPOLL_CTL_MOD;
+- if (w->events == 0)
+- op = EPOLL_CTL_ADD;
+-
+- w->events = w->pevents;
+- e.events = w->pevents;
+- e.data.fd = w->fd;
+-
+- uv__epoll_ctl_prep(epollfd, ctl, &prep, op, w->fd, &e);
+- }
+-
+- inv.events = events;
+- inv.prep = &prep;
+- inv.nfds = -1;
+-
+ for (;;) {
+- if (loop->nfds == 0)
+- if (iou->in_flight == 0)
+- break;
+-
+- /* All event mask mutations should be visible to the kernel before
+- * we enter epoll_pwait().
+- */
+- if (ctl->ringfd != -1)
+- while (*ctl->sqhead != *ctl->sqtail)
+- uv__epoll_ctl_flush(epollfd, ctl, &prep);
+-
+ /* Only need to set the provider_entry_time if timeout != 0. The function
+ * will return early if the loop isn't configured with UV_METRICS_IDLE_TIME.
+ */
+ if (timeout != 0)
+ uv__metrics_set_provider_entry_time(loop);
+
+- /* Store the current timeout in a location that's globally accessible so
+- * other locations like uv__work_done() can determine whether the queue
+- * of events in the callback were waiting when poll was called.
++ /* See the comment for max_safe_timeout for an explanation of why
++ * this is necessary. Executive summary: kernel bug workaround.
+ */
+- lfields->current_timeout = timeout;
++ if (sizeof(int32_t) == sizeof(long) && timeout >= max_safe_timeout)
++ timeout = max_safe_timeout;
+
+- nfds = epoll_pwait(epollfd, events, ARRAY_SIZE(events), timeout, sigmask);
++ nfds = epoll_pwait(loop->backend_fd,
++ events,
++ ARRAY_SIZE(events),
++ timeout,
++ sigmask);
+
+ /* Update loop->time unconditionally. It's tempting to skip the update when
+ * timeout == 0 (i.e. non-blocking poll) but there is no guarantee that the
+@@ -1203,7 +427,7 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
+ continue;
+
+ if (timeout == 0)
+- break;
++ return;
+
+ /* We may have been inside the system call for longer than |timeout|
+ * milliseconds so we need to update the timestamp to avoid drift.
+@@ -1224,18 +448,27 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
+ continue;
+
+ if (timeout == 0)
+- break;
++ return;
+
+ /* Interrupted by a signal. Update timeout and poll again. */
+ goto update_timeout;
+ }
+
+- have_iou_events = 0;
+ have_signals = 0;
+ nevents = 0;
+
+- inv.nfds = nfds;
+- lfields->inv = &inv;
++ {
++ /* Squelch a -Waddress-of-packed-member warning with gcc >= 9. */
++ union {
++ struct epoll_event* events;
++ uv__io_t* watchers;
++ } x;
++
++ x.events = events;
++ assert(loop->watchers != NULL);
++ loop->watchers[loop->nwatchers] = x.watchers;
++ loop->watchers[loop->nwatchers + 1] = (void*) (uintptr_t) nfds;
++ }
+
+ for (i = 0; i < nfds; i++) {
+ pe = events + i;
+@@ -1245,12 +478,6 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
+ if (fd == -1)
+ continue;
+
+- if (fd == iou->ringfd) {
+- uv__poll_io_uring(loop, iou);
+- have_iou_events = 1;
+- continue;
+- }
+-
+ assert(fd >= 0);
+ assert((unsigned) fd < loop->nwatchers);
+
+@@ -1262,7 +489,7 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
+ * Ignore all errors because we may be racing with another thread
+ * when the file descriptor is closed.
+ */
+- uv__epoll_ctl_prep(epollfd, ctl, &prep, EPOLL_CTL_DEL, fd, pe);
++ epoll_ctl(loop->backend_fd, EPOLL_CTL_DEL, fd, pe);
+ continue;
+ }
+
+@@ -1319,13 +546,11 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
+ loop->signal_io_watcher.cb(loop, &loop->signal_io_watcher, POLLIN);
+ }
+
+- lfields->inv = NULL;
+-
+- if (have_iou_events != 0)
+- break; /* Event loop should cycle now so don't poll again. */
++ loop->watchers[loop->nwatchers] = NULL;
++ loop->watchers[loop->nwatchers + 1] = NULL;
+
+ if (have_signals != 0)
+- break; /* Event loop should cycle now so don't poll again. */
++ return; /* Event loop should cycle now so don't poll again. */
+
+ if (nevents != 0) {
+ if (nfds == ARRAY_SIZE(events) && --count != 0) {
+@@ -1333,11 +558,11 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
+ timeout = 0;
+ continue;
+ }
+- break;
++ return;
+ }
+
+ if (timeout == 0)
+- break;
++ return;
+
+ if (timeout == -1)
+ continue;
+@@ -1347,14 +572,10 @@ update_timeout:
+
+ real_timeout -= (loop->time - base);
+ if (real_timeout <= 0)
+- break;
++ return;
+
+ timeout = real_timeout;
+ }
+-
+- if (ctl->ringfd != -1)
+- while (*ctl->sqhead != *ctl->sqtail)
+- uv__epoll_ctl_flush(epollfd, ctl, &prep);
+ }
+
+ uint64_t uv__hrtime(uv_clocktype_t type) {
+@@ -1867,7 +1088,7 @@ static uint64_t uv__read_uint64(const char* filename) {
+ if (0 == uv__slurp(filename, buf, sizeof(buf)))
+ if (1 != sscanf(buf, "%" PRIu64, &rc))
+ if (0 == strcmp(buf, "max\n"))
+- rc = UINT64_MAX;
++ rc = ~0ull;
+
+ return rc;
+ }
+@@ -1903,7 +1124,6 @@ static void uv__get_cgroup1_memory_limits(char buf[static 1024], uint64_t* high,
+ char filename[4097];
+ char* p;
+ int n;
+- uint64_t cgroup1_max;
+
+ /* Find out where the controller is mounted. */
+ p = uv__cgroup1_find_memory_controller(buf, &n);
+@@ -1920,22 +1140,12 @@ static void uv__get_cgroup1_memory_limits(char buf[static 1024], uint64_t* high,
+ * as indicated by uv__read_uint64 returning 0.
+ */
+ if (*high != 0 && *max != 0)
+- goto update_limits;
++ return;
+ }
+
+ /* Fall back to the limits of the global memory controller. */
+ *high = uv__read_uint64("/sys/fs/cgroup/memory/memory.soft_limit_in_bytes");
+ *max = uv__read_uint64("/sys/fs/cgroup/memory/memory.limit_in_bytes");
+-
+- /* uv__read_uint64 detects cgroup2's "max", so we need to separately detect
+- * cgroup1's maximum value (which is derived from LONG_MAX and PAGE_SIZE).
+- */
+-update_limits:
+- cgroup1_max = LONG_MAX & ~(sysconf(_SC_PAGESIZE) - 1);
+- if (*high == cgroup1_max)
+- *high = UINT64_MAX;
+- if (*max == cgroup1_max)
+- *max = UINT64_MAX;
+ }
+
+ static void uv__get_cgroup2_memory_limits(char buf[static 1024], uint64_t* high,
+diff --git a/deps/uv/src/unix/os390.c b/deps/uv/src/unix/os390.c
+index a87c2d77faf..3954b2c2753 100644
+--- a/deps/uv/src/unix/os390.c
++++ b/deps/uv/src/unix/os390.c
+@@ -808,7 +808,6 @@ static int os390_message_queue_handler(uv__os390_epoll* ep) {
+
+ void uv__io_poll(uv_loop_t* loop, int timeout) {
+ static const int max_safe_timeout = 1789569;
+- uv__loop_internal_fields_t* lfields;
+ struct epoll_event events[1024];
+ struct epoll_event* pe;
+ struct epoll_event e;
+@@ -831,8 +830,6 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
+ return;
+ }
+
+- lfields = uv__get_internal_fields(loop);
+-
+ while (!QUEUE_EMPTY(&loop->watcher_queue)) {
+ uv_stream_t* stream;
+
+@@ -880,7 +877,7 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
+ int nevents = 0;
+ have_signals = 0;
+
+- if (lfields->flags & UV_METRICS_IDLE_TIME) {
++ if (uv__get_internal_fields(loop)->flags & UV_METRICS_IDLE_TIME) {
+ reset_timeout = 1;
+ user_timeout = timeout;
+ timeout = 0;
+@@ -899,12 +896,6 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
+ if (sizeof(int32_t) == sizeof(long) && timeout >= max_safe_timeout)
+ timeout = max_safe_timeout;
+
+- /* Store the current timeout in a location that's globally accessible so
+- * other locations like uv__work_done() can determine whether the queue
+- * of events in the callback were waiting when poll was called.
+- */
+- lfields->current_timeout = timeout;
+-
+ nfds = epoll_wait(loop->ep, events,
+ ARRAY_SIZE(events), timeout);
+
+diff --git a/deps/uv/src/unix/posix-poll.c b/deps/uv/src/unix/posix-poll.c
+index 7e7de86845d..711780ece8d 100644
+--- a/deps/uv/src/unix/posix-poll.c
++++ b/deps/uv/src/unix/posix-poll.c
+@@ -132,7 +132,6 @@ static void uv__pollfds_del(uv_loop_t* loop, int fd) {
+
+
+ void uv__io_poll(uv_loop_t* loop, int timeout) {
+- uv__loop_internal_fields_t* lfields;
+ sigset_t* pset;
+ sigset_t set;
+ uint64_t time_base;
+@@ -153,8 +152,6 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
+ return;
+ }
+
+- lfields = uv__get_internal_fields(loop);
+-
+ /* Take queued watchers and add their fds to our poll fds array. */
+ while (!QUEUE_EMPTY(&loop->watcher_queue)) {
+ q = QUEUE_HEAD(&loop->watcher_queue);
+@@ -182,7 +179,7 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
+ assert(timeout >= -1);
+ time_base = loop->time;
+
+- if (lfields->flags & UV_METRICS_IDLE_TIME) {
++ if (uv__get_internal_fields(loop)->flags & UV_METRICS_IDLE_TIME) {
+ reset_timeout = 1;
+ user_timeout = timeout;
+ timeout = 0;
+@@ -201,12 +198,6 @@ void uv__io_poll(uv_loop_t* loop, int timeout) {
+ if (timeout != 0)
+ uv__metrics_set_provider_entry_time(loop);
+
+- /* Store the current timeout in a location that's globally accessible so
+- * other locations like uv__work_done() can determine whether the queue
+- * of events in the callback were waiting when poll was called.
+- */
+- lfields->current_timeout = timeout;
+-
+ if (pset != NULL)
+ if (pthread_sigmask(SIG_BLOCK, pset, NULL))
+ abort();
+diff --git a/deps/uv/src/uv-common.h b/deps/uv/src/uv-common.h
+index decde5362c8..2720121addc 100644
+--- a/deps/uv/src/uv-common.h
++++ b/deps/uv/src/uv-common.h
+@@ -396,37 +396,9 @@ struct uv__loop_metrics_s {
+ void uv__metrics_update_idle_time(uv_loop_t* loop);
+ void uv__metrics_set_provider_entry_time(uv_loop_t* loop);
+
+-#ifdef __linux__
+-struct uv__iou {
+- uint32_t* sqhead;
+- uint32_t* sqtail;
+- uint32_t* sqarray;
+- uint32_t sqmask;
+- uint32_t* sqflags;
+- uint32_t* cqhead;
+- uint32_t* cqtail;
+- uint32_t cqmask;
+- void* sq; /* pointer to munmap() on event loop teardown */
+- void* cqe; /* pointer to array of struct uv__io_uring_cqe */
+- void* sqe; /* pointer to array of struct uv__io_uring_sqe */
+- size_t sqlen;
+- size_t cqlen;
+- size_t maxlen;
+- size_t sqelen;
+- int ringfd;
+- uint32_t in_flight;
+-};
+-#endif /* __linux__ */
+-
+ struct uv__loop_internal_fields_s {
+ unsigned int flags;
+ uv__loop_metrics_t loop_metrics;
+- int current_timeout;
+-#ifdef __linux__
+- struct uv__iou ctl;
+- struct uv__iou iou;
+- void* inv; /* used by uv__platform_invalidate_fd() */
+-#endif /* __linux__ */
+ };
+
+ #endif /* UV_COMMON_H_ */
+diff --git a/deps/uv/src/win/core.c b/deps/uv/src/win/core.c
+index 9a3be58849a..e4041ec86a6 100644
+--- a/deps/uv/src/win/core.c
++++ b/deps/uv/src/win/core.c
+@@ -424,7 +424,6 @@ int uv_backend_timeout(const uv_loop_t* loop) {
+
+
+ static void uv__poll_wine(uv_loop_t* loop, DWORD timeout) {
+- uv__loop_internal_fields_t* lfields;
+ DWORD bytes;
+ ULONG_PTR key;
+ OVERLAPPED* overlapped;
+@@ -434,10 +433,9 @@ static void uv__poll_wine(uv_loop_t* loop, DWORD timeout) {
+ uint64_t user_timeout;
+ int reset_timeout;
+
+- lfields = uv__get_internal_fields(loop);
+ timeout_time = loop->time + timeout;
+
+- if (lfields->flags & UV_METRICS_IDLE_TIME) {
++ if (uv__get_internal_fields(loop)->flags & UV_METRICS_IDLE_TIME) {
+ reset_timeout = 1;
+ user_timeout = timeout;
+ timeout = 0;
+@@ -452,12 +450,6 @@ static void uv__poll_wine(uv_loop_t* loop, DWORD timeout) {
+ if (timeout != 0)
+ uv__metrics_set_provider_entry_time(loop);
+
+- /* Store the current timeout in a location that's globally accessible so
+- * other locations like uv__work_done() can determine whether the queue
+- * of events in the callback were waiting when poll was called.
+- */
+- lfields->current_timeout = timeout;
+-
+ GetQueuedCompletionStatus(loop->iocp,
+ &bytes,
+ &key,
+@@ -515,7 +507,6 @@ static void uv__poll_wine(uv_loop_t* loop, DWORD timeout) {
+
+
+ static void uv__poll(uv_loop_t* loop, DWORD timeout) {
+- uv__loop_internal_fields_t* lfields;
+ BOOL success;
+ uv_req_t* req;
+ OVERLAPPED_ENTRY overlappeds[128];
+@@ -527,10 +518,9 @@ static void uv__poll(uv_loop_t* loop, DWORD timeout) {
+ uint64_t actual_timeout;
+ int reset_timeout;
+
+- lfields = uv__get_internal_fields(loop);
+ timeout_time = loop->time + timeout;
+
+- if (lfields->flags & UV_METRICS_IDLE_TIME) {
++ if (uv__get_internal_fields(loop)->flags & UV_METRICS_IDLE_TIME) {
+ reset_timeout = 1;
+ user_timeout = timeout;
+ timeout = 0;
+@@ -547,12 +537,6 @@ static void uv__poll(uv_loop_t* loop, DWORD timeout) {
+ if (timeout != 0)
+ uv__metrics_set_provider_entry_time(loop);
+
+- /* Store the current timeout in a location that's globally accessible so
+- * other locations like uv__work_done() can determine whether the queue
+- * of events in the callback were waiting when poll was called.
+- */
+- lfields->current_timeout = timeout;
+-
+ success = pGetQueuedCompletionStatusEx(loop->iocp,
+ overlappeds,
+ ARRAY_SIZE(overlappeds),
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_20.5.1.bb b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_20.5.1.bb
deleted file mode 100644
index 6bb0f7f..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_20.5.1.bb
+++ /dev/null
@@ -1,180 +0,0 @@
-DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
-HOMEPAGE = "http://nodejs.org"
-LICENSE = "MIT & ISC & BSD-2-Clause & BSD-3-Clause & Artistic-2.0 & Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=059ecf3a6f87111685e51b611b9563e5"
-
-CVE_PRODUCT = "nodejs node.js"
-
-DEPENDS = "openssl file-replacement-native"
-DEPENDS:append:class-target = " qemu-native"
-DEPENDS:append:class-native = " c-ares-native"
-
-inherit pkgconfig python3native qemu ptest
-
-COMPATIBLE_MACHINE:armv4 = "(!.*armv4).*"
-COMPATIBLE_MACHINE:armv5 = "(!.*armv5).*"
-COMPATIBLE_MACHINE:mips64 = "(!.*mips64).*"
-
-COMPATIBLE_HOST:riscv64 = "null"
-COMPATIBLE_HOST:riscv32 = "null"
-COMPATIBLE_HOST:powerpc = "null"
-
-SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \
- file://0001-Disable-running-gyp-files-for-bundled-deps.patch \
- file://0004-v8-don-t-override-ARM-CFLAGS.patch \
- file://system-c-ares.patch \
- file://0001-liftoff-Correct-function-signatures.patch \
- file://run-ptest \
- "
-
-SRC_URI:append:class-target = " \
- file://0001-Using-native-binaries.patch \
- "
-SRC_URI:append:toolchain-clang:x86 = " \
- file://libatomic.patch \
- "
-SRC_URI:append:toolchain-clang:powerpc64le = " \
- file://0001-ppc64-Do-not-use-mminimal-toc-with-clang.patch \
- "
-SRC_URI[sha256sum] = "439c71aa2f38c2861657bfa538e99191a571258066cbfd4548586049c8134190"
-
-S = "${WORKDIR}/node-v${PV}"
-
-# v8 errors out if you have set CCACHE
-CCACHE = ""
-
-def map_nodejs_arch(a, d):
- import re
-
- if re.match('i.86$', a): return 'ia32'
- elif re.match('x86_64$', a): return 'x64'
- elif re.match('aarch64$', a): return 'arm64'
- elif re.match('(powerpc64|powerpc64le|ppc64le)$', a): return 'ppc64'
- elif re.match('powerpc$', a): return 'ppc'
- return a
-
-ARCHFLAGS:arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--with-arm-float-abi=hard', '--with-arm-float-abi=softfp', d)} \
- ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-arm-fpu=neon', \
- bb.utils.contains('TUNE_FEATURES', 'vfpv3d16', '--with-arm-fpu=vfpv3-d16', \
- bb.utils.contains('TUNE_FEATURES', 'vfpv3', '--with-arm-fpu=vfpv3', \
- '--with-arm-fpu=vfp', d), d), d)}"
-ARCHFLAGS:append:mips = " --v8-lite-mode"
-ARCHFLAGS:append:mipsel = " --v8-lite-mode"
-ARCHFLAGS ?= ""
-
-PACKAGECONFIG ??= "ares brotli icu zlib"
-
-PACKAGECONFIG[ares] = "--shared-cares,,c-ares"
-PACKAGECONFIG[brotli] = "--shared-brotli,,brotli"
-PACKAGECONFIG[icu] = "--with-intl=system-icu,--without-intl,icu"
-PACKAGECONFIG[libuv] = "--shared-libuv,,libuv"
-PACKAGECONFIG[nghttp2] = "--shared-nghttp2,,nghttp2"
-PACKAGECONFIG[shared] = "--shared"
-PACKAGECONFIG[zlib] = "--shared-zlib,,zlib"
-
-# We don't want to cross-compile during target compile,
-# and we need to use the right flags during host compile,
-# too.
-EXTRA_OEMAKE = "\
- CC.host='${CC} -pie -fPIE' \
- CFLAGS.host='${CPPFLAGS} ${CFLAGS}' \
- CXX.host='${CXX} -pie -fPIE' \
- CXXFLAGS.host='${CPPFLAGS} ${CXXFLAGS}' \
- LDFLAGS.host='${LDFLAGS}' \
- AR.host='${AR}' \
- \
- builddir_name=./ \
-"
-
-EXTRANATIVEPATH += "file-native"
-
-python prune_sources() {
- import shutil
-
- shutil.rmtree(d.getVar('S') + '/deps/openssl')
- if 'ares' in d.getVar('PACKAGECONFIG'):
- shutil.rmtree(d.getVar('S') + '/deps/cares')
- if 'brotli' in d.getVar('PACKAGECONFIG'):
- shutil.rmtree(d.getVar('S') + '/deps/brotli')
- if 'libuv' in d.getVar('PACKAGECONFIG'):
- shutil.rmtree(d.getVar('S') + '/deps/uv')
- if 'nghttp2' in d.getVar('PACKAGECONFIG'):
- shutil.rmtree(d.getVar('S') + '/deps/nghttp2')
- if 'zlib' in d.getVar('PACKAGECONFIG'):
- shutil.rmtree(d.getVar('S') + '/deps/zlib')
-}
-do_unpack[postfuncs] += "prune_sources"
-
-# V8's JIT infrastructure requires binaries such as mksnapshot and
-# mkpeephole to be run in the host during the build. However, these
-# binaries must have the same bit-width as the target (e.g. a x86_64
-# host targeting ARMv6 needs to produce a 32-bit binary). Instead of
-# depending on a third Yocto toolchain, we just build those binaries
-# for the target and run them on the host with QEMU.
-python do_create_v8_qemu_wrapper () {
- """Creates a small wrapper that invokes QEMU to run some target V8 binaries
- on the host."""
- qemu_libdirs = [d.expand('${STAGING_DIR_HOST}${libdir}'),
- d.expand('${STAGING_DIR_HOST}${base_libdir}')]
- qemu_cmd = qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'),
- qemu_libdirs)
- wrapper_path = d.expand('${B}/v8-qemu-wrapper.sh')
- with open(wrapper_path, 'w') as wrapper_file:
- wrapper_file.write("""#!/bin/sh
-
-# This file has been generated automatically.
-# It invokes QEMU to run binaries built for the target in the host during the
-# build process.
-
-%s "$@"
-""" % qemu_cmd)
- os.chmod(wrapper_path, 0o755)
-}
-
-do_create_v8_qemu_wrapper[dirs] = "${B}"
-addtask create_v8_qemu_wrapper after do_configure before do_compile
-
-LDFLAGS:append:x86 = " -latomic"
-
-CROSS_FLAGS = "--cross-compiling"
-CROSS_FLAGS:class-native = "--no-cross-compiling"
-
-# Node is way too cool to use proper autotools, so we install two wrappers to forcefully inject proper arch cflags to workaround gypi
-do_configure () {
- GYP_DEFINES="${GYP_DEFINES}" export GYP_DEFINES
- # $TARGET_ARCH settings don't match --dest-cpu settings
- python3 configure.py --verbose --prefix=${prefix} \
- --shared-openssl \
- --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH'), d)}" \
- --dest-os=linux \
- --libdir=${baselib} \
- ${CROSS_FLAGS} \
- ${ARCHFLAGS} \
- ${PACKAGECONFIG_CONFARGS}
-}
-
-do_compile () {
- install -D ${RECIPE_SYSROOT_NATIVE}/etc/ssl/openssl.cnf ${B}/deps/openssl/nodejs-openssl.cnf
- install -D ${B}/v8-qemu-wrapper.sh ${B}/out/Release/v8-qemu-wrapper.sh
- oe_runmake BUILDTYPE=Release
-}
-
-do_install () {
- oe_runmake install DESTDIR=${D}
-}
-
-do_install_ptest () {
- cp -r ${B}/out/Release/cctest ${D}${PTEST_PATH}/
- cp -r ${B}/test ${D}${PTEST_PATH}
- chown -R root:root ${D}${PTEST_PATH}
-}
-
-PACKAGES =+ "${PN}-npm"
-FILES:${PN}-npm = "${nonarch_libdir}/node_modules ${bindir}/npm ${bindir}/npx ${bindir}/corepack"
-RDEPENDS:${PN}-npm = "bash python3-core python3-shell python3-datetime \
- python3-misc python3-multiprocessing"
-
-PACKAGES =+ "${PN}-systemtap"
-FILES:${PN}-systemtap = "${datadir}/systemtap"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_20.8.1.bb b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_20.8.1.bb
new file mode 100644
index 0000000..65f4eb3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_20.8.1.bb
@@ -0,0 +1,182 @@
+DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
+HOMEPAGE = "http://nodejs.org"
+LICENSE = "MIT & ISC & BSD-2-Clause & BSD-3-Clause & Artistic-2.0 & Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=162595a4a2f3453a0534e60b0afe4e7b"
+
+CVE_PRODUCT = "nodejs node.js"
+
+DEPENDS = "openssl file-replacement-native"
+DEPENDS:append:class-target = " qemu-native"
+DEPENDS:append:class-native = " c-ares-native"
+
+inherit pkgconfig python3native qemu ptest
+
+COMPATIBLE_MACHINE:armv4 = "(!.*armv4).*"
+COMPATIBLE_MACHINE:armv5 = "(!.*armv5).*"
+COMPATIBLE_MACHINE:mips64 = "(!.*mips64).*"
+
+COMPATIBLE_HOST:riscv64 = "null"
+COMPATIBLE_HOST:riscv32 = "null"
+COMPATIBLE_HOST:powerpc = "null"
+
+SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \
+ file://0001-Disable-running-gyp-files-for-bundled-deps.patch \
+ file://0004-v8-don-t-override-ARM-CFLAGS.patch \
+ file://system-c-ares.patch \
+ file://0001-liftoff-Correct-function-signatures.patch \
+ file://0001-Revert-io_uring-changes-from-libuv-1.46.0.patch \
+ file://0002-Revert-io_uring-changes-from-libuv-1.45.0.patch \
+ file://run-ptest \
+ "
+
+SRC_URI:append:class-target = " \
+ file://0001-Using-native-binaries.patch \
+ "
+SRC_URI:append:toolchain-clang:x86 = " \
+ file://libatomic.patch \
+ "
+SRC_URI:append:toolchain-clang:powerpc64le = " \
+ file://0001-ppc64-Do-not-use-mminimal-toc-with-clang.patch \
+ "
+SRC_URI[sha256sum] = "f799c66f6a6386bb8ac2c75a378f740c455e97f1fe964393dd39c9f9f6efbc70"
+
+S = "${WORKDIR}/node-v${PV}"
+
+# v8 errors out if you have set CCACHE
+CCACHE = ""
+
+def map_nodejs_arch(a, d):
+ import re
+
+ if re.match('i.86$', a): return 'ia32'
+ elif re.match('x86_64$', a): return 'x64'
+ elif re.match('aarch64$', a): return 'arm64'
+ elif re.match('(powerpc64|powerpc64le|ppc64le)$', a): return 'ppc64'
+ elif re.match('powerpc$', a): return 'ppc'
+ return a
+
+ARCHFLAGS:arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--with-arm-float-abi=hard', '--with-arm-float-abi=softfp', d)} \
+ ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-arm-fpu=neon', \
+ bb.utils.contains('TUNE_FEATURES', 'vfpv3d16', '--with-arm-fpu=vfpv3-d16', \
+ bb.utils.contains('TUNE_FEATURES', 'vfpv3', '--with-arm-fpu=vfpv3', \
+ '--with-arm-fpu=vfp', d), d), d)}"
+ARCHFLAGS:append:mips = " --v8-lite-mode"
+ARCHFLAGS:append:mipsel = " --v8-lite-mode"
+ARCHFLAGS ?= ""
+
+PACKAGECONFIG ??= "ares brotli icu zlib"
+
+PACKAGECONFIG[ares] = "--shared-cares,,c-ares"
+PACKAGECONFIG[brotli] = "--shared-brotli,,brotli"
+PACKAGECONFIG[icu] = "--with-intl=system-icu,--without-intl,icu"
+PACKAGECONFIG[libuv] = "--shared-libuv,,libuv"
+PACKAGECONFIG[nghttp2] = "--shared-nghttp2,,nghttp2"
+PACKAGECONFIG[shared] = "--shared"
+PACKAGECONFIG[zlib] = "--shared-zlib,,zlib"
+
+# We don't want to cross-compile during target compile,
+# and we need to use the right flags during host compile,
+# too.
+EXTRA_OEMAKE = "\
+ CC.host='${CC} -pie -fPIE' \
+ CFLAGS.host='${CPPFLAGS} ${CFLAGS}' \
+ CXX.host='${CXX} -pie -fPIE' \
+ CXXFLAGS.host='${CPPFLAGS} ${CXXFLAGS}' \
+ LDFLAGS.host='${LDFLAGS}' \
+ AR.host='${AR}' \
+ \
+ builddir_name=./ \
+"
+
+EXTRANATIVEPATH += "file-native"
+
+python prune_sources() {
+ import shutil
+
+ shutil.rmtree(d.getVar('S') + '/deps/openssl')
+ if 'ares' in d.getVar('PACKAGECONFIG'):
+ shutil.rmtree(d.getVar('S') + '/deps/cares')
+ if 'brotli' in d.getVar('PACKAGECONFIG'):
+ shutil.rmtree(d.getVar('S') + '/deps/brotli')
+ if 'libuv' in d.getVar('PACKAGECONFIG'):
+ shutil.rmtree(d.getVar('S') + '/deps/uv')
+ if 'nghttp2' in d.getVar('PACKAGECONFIG'):
+ shutil.rmtree(d.getVar('S') + '/deps/nghttp2')
+ if 'zlib' in d.getVar('PACKAGECONFIG'):
+ shutil.rmtree(d.getVar('S') + '/deps/zlib')
+}
+do_unpack[postfuncs] += "prune_sources"
+
+# V8's JIT infrastructure requires binaries such as mksnapshot and
+# mkpeephole to be run in the host during the build. However, these
+# binaries must have the same bit-width as the target (e.g. a x86_64
+# host targeting ARMv6 needs to produce a 32-bit binary). Instead of
+# depending on a third Yocto toolchain, we just build those binaries
+# for the target and run them on the host with QEMU.
+python do_create_v8_qemu_wrapper () {
+ """Creates a small wrapper that invokes QEMU to run some target V8 binaries
+ on the host."""
+ qemu_libdirs = [d.expand('${STAGING_DIR_HOST}${libdir}'),
+ d.expand('${STAGING_DIR_HOST}${base_libdir}')]
+ qemu_cmd = qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'),
+ qemu_libdirs)
+ wrapper_path = d.expand('${B}/v8-qemu-wrapper.sh')
+ with open(wrapper_path, 'w') as wrapper_file:
+ wrapper_file.write("""#!/bin/sh
+
+# This file has been generated automatically.
+# It invokes QEMU to run binaries built for the target in the host during the
+# build process.
+
+%s "$@"
+""" % qemu_cmd)
+ os.chmod(wrapper_path, 0o755)
+}
+
+do_create_v8_qemu_wrapper[dirs] = "${B}"
+addtask create_v8_qemu_wrapper after do_configure before do_compile
+
+LDFLAGS:append:x86 = " -latomic"
+
+CROSS_FLAGS = "--cross-compiling"
+CROSS_FLAGS:class-native = "--no-cross-compiling"
+
+# Node is way too cool to use proper autotools, so we install two wrappers to forcefully inject proper arch cflags to workaround gypi
+do_configure () {
+ GYP_DEFINES="${GYP_DEFINES}" export GYP_DEFINES
+ # $TARGET_ARCH settings don't match --dest-cpu settings
+ python3 configure.py --verbose --prefix=${prefix} \
+ --shared-openssl \
+ --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH'), d)}" \
+ --dest-os=linux \
+ --libdir=${baselib} \
+ ${CROSS_FLAGS} \
+ ${ARCHFLAGS} \
+ ${PACKAGECONFIG_CONFARGS}
+}
+
+do_compile () {
+ install -D ${RECIPE_SYSROOT_NATIVE}/etc/ssl/openssl.cnf ${B}/deps/openssl/nodejs-openssl.cnf
+ install -D ${B}/v8-qemu-wrapper.sh ${B}/out/Release/v8-qemu-wrapper.sh
+ oe_runmake BUILDTYPE=Release
+}
+
+do_install () {
+ oe_runmake install DESTDIR=${D}
+}
+
+do_install_ptest () {
+ cp -r ${B}/out/Release/cctest ${D}${PTEST_PATH}/
+ cp -r ${B}/test ${D}${PTEST_PATH}
+ chown -R root:root ${D}${PTEST_PATH}
+}
+
+PACKAGES =+ "${PN}-npm"
+FILES:${PN}-npm = "${nonarch_libdir}/node_modules ${bindir}/npm ${bindir}/npx ${bindir}/corepack"
+RDEPENDS:${PN}-npm = "bash python3-core python3-shell python3-datetime \
+ python3-misc python3-multiprocessing"
+
+PACKAGES =+ "${PN}-systemtap"
+FILES:${PN}-systemtap = "${datadir}/systemtap"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb b/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb
index d30d9c3..19ef987 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb
@@ -7,7 +7,7 @@
SRC_URI = " \
git://repo.or.cz/openocd.git;protocol=http;name=openocd;branch=master \
git://repo.or.cz/r/git2cl.git;protocol=http;destsuffix=tools/git2cl;name=git2cl;branch=master \
- git://github.com/msteveb/jimtcl.git;protocol=http;destsuffix=git/jimtcl;name=jimtcl;branch=master \
+ git://github.com/msteveb/jimtcl.git;protocol=https;destsuffix=git/jimtcl;name=jimtcl;branch=master \
git://repo.or.cz/r/libjaylink.git;protocol=http;destsuffix=git/src/jtag/drivers/libjaylink;name=libjaylink;branch=master \
"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/pahole/pahole_1.24.bb b/meta-openembedded/meta-oe/recipes-devtools/pahole/pahole_1.24.bb
deleted file mode 100644
index 2bb73c3..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/pahole/pahole_1.24.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "Shows and manipulates data structure layout"
-
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-DEPENDS = "elfutils zlib libbpf"
-
-# Depends on MACHINE_ARCH libbpf
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-COMPATIBLE_HOST = "(x86_64|i.86|aarch64).*-linux"
-
-PV .= "+1.25+git${SRCPV}"
-SRCREV = "a9498899109d3be14f17abbc322a8f55a1067bee"
-SRC_URI = "git://git.kernel.org/pub/scm/devel/pahole/pahole.git;branch=master \
- file://0002-Use-usr-bin-env-python3-instead-of-just-usr-bin-pyth.patch"
-
-S = "${WORKDIR}/git"
-
-inherit cmake pkgconfig
-
-PACKAGECONFIG[python3] = ",,python3-core,python3-core"
-
-EXTRA_OECMAKE = "-D__LIB=${@os.path.relpath(d.getVar('libdir'), d.getVar('prefix') + '/')} -DCMAKE_BUILD_TYPE=Release -DLIBBPF_EMBEDDED=OFF"
-
-FILES:${PN} = "${bindir}/pahole \
- ${libdir}/libdwarves.so* \
- ${libdir}/libdwarves_reorganize.so*"
-
-PACKAGES += "${PN}-extra"
-FILES:${PN}-extra = "${datadir} ${bindir} ${libdir}/libdwarves_emit.so*"
-RDEPENDS:${PN}-extra += "bash python3-core"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/pahole/pahole_1.25.bb b/meta-openembedded/meta-oe/recipes-devtools/pahole/pahole_1.25.bb
new file mode 100644
index 0000000..1334c85
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/pahole/pahole_1.25.bb
@@ -0,0 +1,32 @@
+SUMMARY = "Shows and manipulates data structure layout"
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "elfutils zlib libbpf"
+
+# Depends on MACHINE_ARCH libbpf
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+COMPATIBLE_HOST = "(x86_64|i.86|aarch64).*-linux"
+
+SRCREV = "81558a5a996005df0d607dd33f74ec5b7bdb619d"
+SRC_URI = "git://git.kernel.org/pub/scm/devel/pahole/pahole.git;branch=master \
+ file://0002-Use-usr-bin-env-python3-instead-of-just-usr-bin-pyth.patch"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig
+
+PACKAGECONFIG[python3] = ",,python3-core,python3-core"
+
+EXTRA_OECMAKE = "-D__LIB=${@os.path.relpath(d.getVar('libdir'), d.getVar('prefix') + '/')} -DCMAKE_BUILD_TYPE=Release -DLIBBPF_EMBEDDED=OFF"
+
+FILES:${PN} = "${bindir}/pahole \
+ ${libdir}/libdwarves.so* \
+ ${libdir}/libdwarves_reorganize.so*"
+
+PACKAGES += "${PN}-extra"
+FILES:${PN}-extra = "${datadir} ${bindir} ${libdir}/libdwarves_emit.so*"
+RDEPENDS:${PN}-extra += "bash python3-core"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/perl/exiftool_12.70.bb b/meta-openembedded/meta-oe/recipes-devtools/perl/exiftool_12.70.bb
new file mode 100644
index 0000000..58b5e51
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/perl/exiftool_12.70.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Exiftool"
+DESCRIPTION = "ExifTool is a platform-independent Perl library plus a command-line application for reading, writing and editing meta information in a wide variety of files."
+HOMEPAGE = "https://exiftool.org/"
+SECTION = "libs"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://perl-Image-ExifTool.spec;beginline=5;endline=5;md5=ffefffc98dab025cb49489bd4d88ee10"
+
+inherit cpan
+
+SRCREV = "bec8a1bff8a97ea8f2895e7e5c5e396e0e48d419"
+SRC_URI = "git://github.com/exiftool/exiftool;protocol=https;branch=master"
+
+S = "${WORKDIR}/git"
+
+RDEPENDS:${PN} = " \
+ perl \
+ perl-module-list-util \
+ perl-module-overload \
+ perl-module-file-glob \
+ perl-module-scalar-util \
+ perl-module-compress-zlib \
+"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_20220807.0.bb b/meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_20220807.0.bb
deleted file mode 100644
index f597a8d..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_20220807.0.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-DESCRIPTION = "\
-IPC::Run allows you run and interact with child processes \
-using files, pipes, and pseudo-ttys. Both system()-style and scripted \
-usages are supported and may be mixed. Likewise, functional and OO API \
-styles are both supported and may be mixed."
-HOMEPAGE = "https://metacpan.org/release/IPC-Run"
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0ebd37caf53781e8b7223e6b99b63f4e"
-DEPENDS = "perl"
-
-SRC_URI = "git://github.com/toddr/IPC-Run.git;branch=master;protocol=https"
-SRCREV = "44b1f2d2021615c88f2f6b1a6cbdd9aebaeb4ad1"
-
-S = "${WORKDIR}/git"
-
-inherit cpan
-
-EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
-
-do_compile() {
- export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')"
- cpan_do_compile
-}
diff --git a/meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_20231003.0.bb b/meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_20231003.0.bb
new file mode 100644
index 0000000..e28b6ea
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_20231003.0.bb
@@ -0,0 +1,24 @@
+DESCRIPTION = "\
+IPC::Run allows you run and interact with child processes \
+using files, pipes, and pseudo-ttys. Both system()-style and scripted \
+usages are supported and may be mixed. Likewise, functional and OO API \
+styles are both supported and may be mixed."
+HOMEPAGE = "https://metacpan.org/release/IPC-Run"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0ebd37caf53781e8b7223e6b99b63f4e"
+DEPENDS = "perl"
+
+SRC_URI = "git://github.com/toddr/IPC-Run.git;branch=master;protocol=https"
+SRCREV = "ad56c3b5f5a211d32bbb8ac29f180d707ee58c1b"
+
+S = "${WORKDIR}/git"
+
+inherit cpan
+
+EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
+
+do_compile() {
+ export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')"
+ cpan_do_compile
+}
diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_4.23.4.bb b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_4.23.4.bb
index 1edc21c..7d37ee3 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_4.23.4.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_4.23.4.bb
@@ -101,6 +101,9 @@
FILES:${PN}-compiler = "${bindir} ${libdir}/libprotoc${SOLIBS}"
FILES:${PN}-lite = "${libdir}/libprotobuf-lite${SOLIBS}"
+# CMake requires protoc binary to exist in sysroot, even if it has wrong architecture.
+SYSROOT_DIRS += "${bindir}"
+
RDEPENDS:${PN}-compiler = "${PN}"
RDEPENDS:${PN}-dev += "${PN}-compiler"
RDEPENDS:${PN}-ptest = "bash ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3-protobuf', '', d)}"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/sip/sip_6.7.11.bb b/meta-openembedded/meta-oe/recipes-devtools/sip/sip_6.7.11.bb
deleted file mode 100644
index 66ec979..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/sip/sip_6.7.11.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright (C) 2022 Khem Raj <raj.khem@gmail.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-SUMMARY = "A Python bindings generator for C/C++ libraries"
-
-HOMEPAGE = "https://www.riverbankcomputing.com/software/sip/"
-LICENSE = "GPL-2.0-or-later"
-SECTION = "devel"
-LIC_FILES_CHKSUM = "file://LICENSE-GPL2;md5=e91355d8a6f8bd8f7c699d62863c7303"
-
-inherit pypi setuptools3 python3native
-
-PYPI_PACKAGE = "sip"
-SRC_URI[sha256sum] = "f0dc3287a0b172e5664931c87847750d47e4fdcda4fe362b514af8edd655b469"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/sip/sip_6.7.12.bb b/meta-openembedded/meta-oe/recipes-devtools/sip/sip_6.7.12.bb
new file mode 100644
index 0000000..00823cf
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/sip/sip_6.7.12.bb
@@ -0,0 +1,16 @@
+# Copyright (C) 2022 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "A Python bindings generator for C/C++ libraries"
+
+HOMEPAGE = "https://www.riverbankcomputing.com/software/sip/"
+LICENSE = "GPL-2.0-or-later"
+SECTION = "devel"
+LIC_FILES_CHKSUM = "file://LICENSE-GPL2;md5=e91355d8a6f8bd8f7c699d62863c7303"
+
+inherit pypi setuptools3 python3native
+
+PYPI_PACKAGE = "sip"
+SRC_URI[sha256sum] = "08e66f742592eb818ac8fda4173e2ed64c9f2d40b70bee11db1c499127d98450"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.13.1.bb b/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.13.1.bb
deleted file mode 100644
index 4e1edc6..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.13.1.bb
+++ /dev/null
@@ -1,43 +0,0 @@
-SUMMARY = "Trace and analyze execution of a program written in C/C++"
-HOMEPAGE = "https://github.com/namhyung/uftrace"
-BUGTRACKER = "https://github.com/namhyung/uftrace/issues"
-SECTION = "devel"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-DEPENDS = "elfutils"
-DEPENDS:append:libc-musl = " argp-standalone"
-
-inherit autotools
-
-SRCREV = "be3f46f7656bd9243b1835337b5350247b030b02"
-SRC_URI = "git://github.com/namhyung/${BPN};branch=master;protocol=https"
-S = "${WORKDIR}/git"
-
-LDFLAGS:append:libc-musl = " -largp"
-
-def set_target_arch(d):
- import re
- arch = d.getVar('TARGET_ARCH')
- if re.match(r'i.86', arch, re.I):
- return 'i386'
- elif re.match('armeb', arch, re.I):
- return 'arm'
- else:
- return arch
-
-EXTRA_UFTRACE_OECONF = "ARCH=${@set_target_arch(d)} \
- with_elfutils=/use/libelf/from/sysroot"
-
-do_configure() {
- ${S}/configure ${EXTRA_UFTRACE_OECONF}
-}
-
-FILES_SOLIBSDEV = ""
-FILES:${PN} += "${libdir}/*.so"
-
-COMPATIBLE_HOST = "(i.86|x86_64|aarch64|arm)"
-
-# uftrace supports armv6 and above
-COMPATIBLE_HOST:armv4 = 'null'
-COMPATIBLE_HOST:armv5 = 'null'
diff --git a/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.14.bb b/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.14.bb
new file mode 100644
index 0000000..415cfe1
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.14.bb
@@ -0,0 +1,43 @@
+SUMMARY = "Trace and analyze execution of a program written in C/C++"
+HOMEPAGE = "https://github.com/namhyung/uftrace"
+BUGTRACKER = "https://github.com/namhyung/uftrace/issues"
+SECTION = "devel"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "elfutils"
+DEPENDS:append:libc-musl = " argp-standalone"
+
+inherit autotools
+
+SRCREV = "04d73dc31cafef4161321e3c2443a5490ef93018"
+SRC_URI = "git://github.com/namhyung/${BPN};branch=master;protocol=https"
+S = "${WORKDIR}/git"
+
+LDFLAGS:append:libc-musl = " -largp"
+
+def set_target_arch(d):
+ import re
+ arch = d.getVar('TARGET_ARCH')
+ if re.match(r'i.86', arch, re.I):
+ return 'i386'
+ elif re.match('armeb', arch, re.I):
+ return 'arm'
+ else:
+ return arch
+
+EXTRA_UFTRACE_OECONF = "ARCH=${@set_target_arch(d)} \
+ with_elfutils=/use/libelf/from/sysroot"
+
+do_configure() {
+ ${S}/configure ${EXTRA_UFTRACE_OECONF}
+}
+
+FILES_SOLIBSDEV = ""
+FILES:${PN} += "${libdir}/*.so"
+
+COMPATIBLE_HOST = "(i.86|x86_64|aarch64|arm)"
+
+# uftrace supports armv6 and above
+COMPATIBLE_HOST:armv4 = 'null'
+COMPATIBLE_HOST:armv5 = 'null'
diff --git a/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.59.01.bb b/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.59.01.bb
index 278db6d..5d5152b 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.59.01.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.59.01.bb
@@ -41,7 +41,7 @@
}
do_install:append:class-target() {
- sed -i 's,${WORKDIR},/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR},g' ${D}${bindir}/xmlrpc-c-config
+ sed -i 's,${WORKDIR},${TARGET_DBGSRC_DIR},g' ${D}${bindir}/xmlrpc-c-config
}
BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl/CVE-2017-16516.patch b/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl/CVE-2017-16516.patch
new file mode 100644
index 0000000..1241ff9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl/CVE-2017-16516.patch
@@ -0,0 +1,37 @@
+From 0b5e73c4321de0ba1d495fdc0967054b2a77931c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>
+Date: Mon, 10 Jul 2023 13:36:10 +0100
+Subject: [PATCH] Fix for CVE-2017-16516
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Description: Fix for CVE-2017-16516
+ Potential buffer overread: A JSON file can cause denial of service.
+Origin: https://github.com/brianmario/yajl-ruby/commit/a8ca8f476655adaa187eedc60bdc770fff3c51ce
+
+CVE: CVE-2017-16516
+Upstream-Status: Submitted [https://github.com/lloyd/yajl/issues/248]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ src/yajl_encode.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/yajl_encode.c b/src/yajl_encode.c
+index fd08258..0d97cc5 100644
+--- a/src/yajl_encode.c
++++ b/src/yajl_encode.c
+@@ -139,8 +139,8 @@ void yajl_string_decode(yajl_buf buf, const unsigned char * str,
+ end+=3;
+ /* check if this is a surrogate */
+ if ((codepoint & 0xFC00) == 0xD800) {
+- end++;
+- if (str[end] == '\\' && str[end + 1] == 'u') {
++ if (end + 2 < len && str[end + 1] == '\\' && str[end + 2] == 'u') {
++ end++;
+ unsigned int surrogate = 0;
+ hexToDigit(&surrogate, str + end + 2);
+ codepoint =
+--
+2.34.1
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl/CVE-2022-24795.patch b/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl/CVE-2022-24795.patch
new file mode 100644
index 0000000..0dc8590
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl/CVE-2022-24795.patch
@@ -0,0 +1,59 @@
+From 17de4d15687aa30c49660dc4b792b1fb4d38b569 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
+Date: Thu, 7 Apr 2022 17:29:54 +0200
+Subject: [PATCH] Fix CVE-2022-24795
+
+There was an integer overflow in yajl_buf_ensure_available() leading
+to allocating less memory than requested. Then data were written past
+the allocated heap buffer in yajl_buf_append(), the only caller of
+yajl_buf_ensure_available(). Another result of the overflow was an
+infinite loop without a return from yajl_buf_ensure_available().
+
+yajl-ruby project, which bundles yajl, fixed it
+<https://github.com/brianmario/yajl-ruby/pull/211> by checking for the
+integer overflow, fortifying buffer allocations, and report the
+failures to a caller. But then the caller yajl_buf_append() skips
+a memory write if yajl_buf_ensure_available() failed leading to a data
+corruption.
+
+A yajl fork mainter recommended calling memory allocation callbacks with
+the large memory request and let them to handle it. But that has the
+problem that it's not possible pass the overely large size to the
+callbacks.
+
+This patch catches the integer overflow and terminates the process
+with abort().
+
+CVE: CVE-2022-24795
+Upstream-Status: Submitted [https://github.com/lloyd/yajl/issues/239]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ src/yajl_buf.c | 12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/src/yajl_buf.c b/src/yajl_buf.c
+index 1aeafde..55c11ad 100644
+--- a/src/yajl_buf.c
++++ b/src/yajl_buf.c
+@@ -45,7 +45,17 @@ void yajl_buf_ensure_available(yajl_buf buf, size_t want)
+
+ need = buf->len;
+
+- while (want >= (need - buf->used)) need <<= 1;
++ if (((buf->used > want) ? buf->used : want) > (size_t)(buf->used + want)) {
++ /* We cannot allocate more memory than SIZE_MAX. */
++ abort();
++ }
++ while (want >= (need - buf->used)) {
++ if (need >= (size_t)((size_t)(-1)<<1)>>1) {
++ /* need would overflow. */
++ abort();
++ }
++ need <<= 1;
++ }
+
+ if (need != buf->len) {
+ buf->data = (unsigned char *) YA_REALLOC(buf->alloc, buf->data, need);
+--
+2.34.1
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl/CVE-2023-33460.patch b/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl/CVE-2023-33460.patch
new file mode 100644
index 0000000..47454dc
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl/CVE-2023-33460.patch
@@ -0,0 +1,35 @@
+Fix memory leaks. Taken from the Fedora packaging (https://src.fedoraproject.org/rpms/yajl)
+where it was backported from openEuler.
+
+CVE: CVE-2023-33460
+Upstream-Status: Submitted [https://github.com/lloyd/yajl/issues/250]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+diff --git a/src/yajl_tree.c b/src/yajl_tree.c
+index 3d357a3..56c7012 100644
+--- a/src/yajl_tree.c
++++ b/src/yajl_tree.c
+@@ -143,7 +143,7 @@ static yajl_val context_pop(context_t *ctx)
+ ctx->stack = stack->next;
+
+ v = stack->value;
+-
++ free (stack->key);
+ free (stack);
+
+ return (v);
+@@ -444,7 +444,14 @@ yajl_val yajl_tree_parse (const char *input,
+ snprintf(error_buffer, error_buffer_size, "%s", internal_err_str);
+ YA_FREE(&(handle->alloc), internal_err_str);
+ }
++ while(ctx.stack != NULL) {
++ yajl_val v = context_pop(&ctx);
++ yajl_tree_free(v);
++ }
+ yajl_free (handle);
++ //If the requested memory is not released in time, it will cause memory leakage
++ if(ctx.root)
++ yajl_tree_free(ctx.root);
+ return NULL;
+ }
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl_2.1.0.bb b/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl_2.1.0.bb
index cf8dbb1..2a34210 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl_2.1.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl_2.1.0.bb
@@ -8,7 +8,11 @@
LICENSE = "ISC"
LIC_FILES_CHKSUM = "file://COPYING;md5=39af6eb42999852bdd3ea00ad120a36d"
-SRC_URI = "git://github.com/lloyd/yajl;branch=master;protocol=https"
+SRC_URI = "git://github.com/lloyd/yajl;branch=master;protocol=https \
+ file://CVE-2017-16516.patch \
+ file://CVE-2022-24795.patch \
+ file://CVE-2023-33460.patch \
+ "
SRCREV = "a0ecdde0c042b9256170f2f8890dd9451a4240aa"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-extended/beep/beep_1.4.12.bb b/meta-openembedded/meta-oe/recipes-extended/beep/beep_1.4.12.bb
new file mode 100644
index 0000000..a4bc10c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/beep/beep_1.4.12.bb
@@ -0,0 +1,19 @@
+SUMMARY = "beep allows you to have the PC speaker issue beeps and beep patterns"
+DESCRIPTION = "beep allows you to have the PC speaker issue beeps and beep \
+patterns with given frequencies, durations, and spacing."
+HOMEPAGE = "https://github.com/spkr-beep/beep"
+BUGTRACKER = "https://github.com/spkr-beep/beep/issues"
+
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "git://github.com/spkr-beep/beep.git;protocol=https;branch=master \
+ file://0001-beep-library-Make-it-compatible-with-c99.patch"
+SRCREV = "11453a79f2cea81832329b06ca3a284aa7a0a52e"
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = "prefix='${prefix}' CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}'"
+
+do_install() {
+ oe_runmake install DESTDIR='${D}'
+}
diff --git a/meta-openembedded/meta-oe/recipes-extended/beep/beep_1.4.9.bb b/meta-openembedded/meta-oe/recipes-extended/beep/beep_1.4.9.bb
deleted file mode 100644
index ec62f31..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/beep/beep_1.4.9.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "beep allows you to have the PC speaker issue beeps and beep patterns"
-DESCRIPTION = "beep allows you to have the PC speaker issue beeps and beep \
-patterns with given frequencies, durations, and spacing."
-HOMEPAGE = "https://github.com/spkr-beep/beep"
-BUGTRACKER = "https://github.com/spkr-beep/beep/issues"
-
-LICENSE = "GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "git://github.com/spkr-beep/beep.git;protocol=https;branch=master \
- file://0001-Do-not-use-Werror-as-it-fails-with-newer-clang-11.patch \
-"
-SRCREV = "8b85ddd09f73b9fd7caa5679298781a57af194ac"
-S = "${WORKDIR}/git"
-
-EXTRA_OEMAKE = " \
- COMPILER_gcc='${CC}' \
- LINKER_gcc='${CC}' \
- COMPILER_clang=no \
- LINKER_clang=no \
-"
-
-EXTRA_OEMAKE:toolchain-clang = " \
- COMPILER_clang='${CC}' \
- LINKER_clang='${CC}' \
- COMPILER_gcc=no \
- LINKER_gcc=no \
-"
-
-do_install() {
- oe_runmake install DESTDIR='${D}'
-}
diff --git a/meta-openembedded/meta-oe/recipes-extended/beep/files/0001-Do-not-use-Werror-as-it-fails-with-newer-clang-11.patch b/meta-openembedded/meta-oe/recipes-extended/beep/files/0001-Do-not-use-Werror-as-it-fails-with-newer-clang-11.patch
deleted file mode 100644
index ba7681b..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/beep/files/0001-Do-not-use-Werror-as-it-fails-with-newer-clang-11.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 6b33adfa438e35b6a37cfb0364274370ef4f9fc1 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 23 Dec 2020 18:00:59 +0000
-Subject: [PATCH] Do not use -Werror as it fails with newer clang 11+
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- GNUmakefile | 1 -
- 1 file changed, 1 deletion(-)
-
---- a/GNUmakefile
-+++ b/GNUmakefile
-@@ -91,12 +91,13 @@ comma := ,
- # If supported by COMPILER_gcc, add given flags to CFLAGS_gcc.
- # Example usage:
- # $(eval $(call CHECK_CFLAGS_gcc,-fasynchronous-unwind-tables))
--define CHECK_CFLAGS_gcc
--CFLAGS_gcc += $$(if $$(shell if $$(COMPILER_gcc) $(1) -x c -o compile-check.gcc-o -c - < /dev/null > /dev/null 2>&1; then echo yes; else :; fi; rm -f compile-check.gcc-o > /dev/null 2>&1),$(1))
--endef
-
- COMPILER_gcc = gcc
- LINKER_gcc = gcc
-+ifneq ($(COMPILER_gcc),no)
-+define CHECK_CFLAGS_gcc
-+CFLAGS_gcc += $$(if $$(shell if $$(COMPILER_gcc) $(1) -x c -o compile-check.gcc-o -c - < /dev/null > /dev/null 2>&1; then echo yes; else :; fi; rm -f compile-check.gcc-o > /dev/null 2>&1),$(1))
-+endef
- CPPFLAGS_gcc =
- CFLAGS_gcc =
- CFLAGS_gcc += -std=gnu99 -pedantic
-@@ -113,30 +114,24 @@ CFLAGS_gcc += -save-temps=obj
- LDFLAGS_gcc =
- LIBS_gcc =
-
--ifneq ($(call pathsearch,$(COMPILER_gcc)),)
--ifneq ($(COMPILER_gcc)),no)
- COMPILERS += gcc
- endif
--endif
-
- COMPILER_clang = clang
- LINKER_clang = clang
-+
-+ifneq ($(COMPILER_clang),no)
- CPPFLAGS_clang =
- CFLAGS_clang += -Wall -Wextra
- CFLAGS_clang += -Weverything
- CFLAGS_clang += -Wno-padded
- CFLAGS_clang += -std=gnu99 -pedantic
--CFLAGS_clang += -Werror
--CFLAGS_clang += -fsanitize=undefined
- CFLAGS_clang += -O -g
- LDFLAGS_clang =
- LIBS_clang =
-
--ifneq ($(call pathsearch,$(COMPILER_clang)),)
--ifneq ($(COMPILER_clang),no)
- COMPILERS += clang
- endif
--endif
-
-
- ########################################################################
diff --git a/meta-openembedded/meta-oe/recipes-extended/beep/files/0001-beep-library-Make-it-compatible-with-c99.patch b/meta-openembedded/meta-oe/recipes-extended/beep/files/0001-beep-library-Make-it-compatible-with-c99.patch
new file mode 100644
index 0000000..240e075
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/beep/files/0001-beep-library-Make-it-compatible-with-c99.patch
@@ -0,0 +1,78 @@
+From 66b06e03fc25a168e06c7af5ccccc3162ddbf92a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 13 Nov 2023 17:18:55 -0800
+Subject: [PATCH] beep-library: Make it compatible with < c99
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ beep-library.c | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+--- a/beep-library.c
++++ b/beep-library.c
+@@ -44,7 +44,7 @@
+ int open_checked_char_device(const char *const device_name)
+ {
+ struct stat sb;
+-
++ int fd = -1;
+ if (-1 == stat(device_name, &sb)) {
+ LOG_VERBOSE("could not stat(2) %s: %s",
+ device_name, strerror(errno));
+@@ -57,7 +57,7 @@ int open_checked_char_device(const char
+ return -1;
+ }
+
+- const int fd = open(device_name, O_WRONLY);
++ fd = open(device_name, O_WRONLY);
+ if (fd == -1) {
+ LOG_VERBOSE("could not open(2) %s: %s",
+ device_name, strerror(errno));
+@@ -90,6 +90,7 @@ void safe_error_exit(const char *const m
+ {
+ const int saved_errno = errno;
+ char strerr_buf[128];
++ size_t errlen, msglen;
+ const int ret = strerror_r(saved_errno, strerr_buf, sizeof(strerr_buf));
+ if (ret != 0) {
+ if (write(STDERR_FILENO, "strerror_r error\n",
+@@ -98,14 +99,14 @@ void safe_error_exit(const char *const m
+ }
+ _exit(EXIT_FAILURE);
+ }
+- const size_t msglen = strlen(msg);
++ msglen = strlen(msg);
+ if (write(STDERR_FILENO, msg, msglen)) {
+ /* ignore all write errors */
+ }
+ if (write(STDERR_FILENO, ": ", 2)) {
+ /* ignore all write errors */
+ }
+- const size_t errlen = strlen(strerr_buf);
++ errlen = strlen(strerr_buf);
+ if (write(STDERR_FILENO, strerr_buf, errlen)) {
+ /* ignore all write errors */
+ }
+--- a/GNUmakefile
++++ b/GNUmakefile
+@@ -155,7 +155,6 @@ $(eval $(call CHECK_CFLAGS,common_CFLAGS
+ $(eval $(call CHECK_CFLAGS,common_CFLAGS,-Wall))
+ $(eval $(call CHECK_CFLAGS,common_CFLAGS,-Wextra))
+ $(eval $(call CHECK_CFLAGS,common_CFLAGS,-Weverything))
+-$(eval $(call CHECK_CFLAGS,common_CFLAGS,-Werror))
+ $(eval $(call CHECK_CFLAGS,common_CFLAGS,-Wno-padded))
+ $(eval $(call CHECK_CFLAGS,common_CFLAGS,-Werror=format-security))
+ $(eval $(call CHECK_CFLAGS,common_CFLAGS,-Wno-disabled-macro-expansion))
+@@ -169,11 +168,6 @@ $(eval $(call CHECK_CFLAGS,CFLAGS,-fanal
+ $(eval $(call CHECK_CFLAGS,CFLAGS,-fstack-protector-strong))
+ $(eval $(call CHECK_CFLAGS,CFLAGS,-fstack-clash-protection))
+ $(eval $(call CHECK_CFLAGS,CFLAGS,-fcf-protection))
+-$(eval $(call CHECK_CFLAGS,CFLAGS,-fsanitize=undefined))
+-
+-
+-CFLAGS += -save-temps=obj
+-
+
+ $(info # common_CFLAGS=$(common_CFLAGS))
+ $(info # CFLAGS=$(CFLAGS))
diff --git a/meta-openembedded/meta-oe/recipes-extended/brotli/brotli_1.0.9.bb b/meta-openembedded/meta-oe/recipes-extended/brotli/brotli_1.0.9.bb
index 4e2813d..708c1c1 100644
--- a/meta-openembedded/meta-oe/recipes-extended/brotli/brotli_1.0.9.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/brotli/brotli_1.0.9.bb
@@ -16,7 +16,8 @@
do_install:append () {
for lib in $(ls ${D}${libdir}/*-static.a); do
- mv -v "${lib}" "$(echo ${lib} | sed s/-static//)"
+ basename=$(basename ${lib})
+ mv -v "${lib}" "${D}${libdir}/$(echo ${basename} | sed s/-static//)"
done
}
diff --git a/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20230209.bb b/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20230209.bb
deleted file mode 100644
index 444b97c..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20230209.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "display dialog boxes from shell scripts"
-DESCRIPTION = "Dialog lets you to present a variety of questions \
-or display messages using dialog boxes from a shell \
-script (or any scripting language)."
-HOMEPAGE = "http://invisible-island.net/dialog/"
-SECTION = "console/utils"
-DEPENDS = "ncurses"
-LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
-
-SRC_URI = "https://invisible-mirror.net/archives/${BPN}/${BP}.tgz"
-SRC_URI[sha256sum] = "0c26282305264be2217f335f3798f48b1dce3cf12c5a076bf231cadf77a6d6a8"
-
-# hardcoded here for use in dialog-static recipe
-S = "${WORKDIR}/dialog-${PV}"
-
-inherit autotools-brokensep pkgconfig
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
-
-PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--without-x,virtual/libx11"
-
-EXTRA_OECONF = "--with-ncurses \
- --disable-rpath-hack"
-
-do_configure() {
- gnu-configize --force
- sed -i 's,${cf_ncuconfig_root}6-config,${cf_ncuconfig_root}-config,g' -i configure
- sed -i 's,cf_have_ncuconfig=unknown,cf_have_ncuconfig=yes,g' -i configure
- oe_runconf
-}
diff --git a/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20231002.bb b/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20231002.bb
new file mode 100644
index 0000000..8887700
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20231002.bb
@@ -0,0 +1,31 @@
+SUMMARY = "display dialog boxes from shell scripts"
+DESCRIPTION = "Dialog lets you to present a variety of questions \
+or display messages using dialog boxes from a shell \
+script (or any scripting language)."
+HOMEPAGE = "http://invisible-island.net/dialog/"
+SECTION = "console/utils"
+DEPENDS = "ncurses"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
+
+SRC_URI = "https://invisible-mirror.net/archives/${BPN}/${BP}.tgz"
+SRC_URI[sha256sum] = "315640ab0719225d5cbcab130585c05f0791fcf073072a5fe9479969aa2b833b"
+
+# hardcoded here for use in dialog-static recipe
+S = "${WORKDIR}/dialog-${PV}"
+
+inherit autotools-brokensep pkgconfig
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
+
+PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--without-x,virtual/libx11"
+
+EXTRA_OECONF = "--with-ncurses \
+ --disable-rpath-hack"
+
+do_configure() {
+ gnu-configize --force
+ sed -i 's,${cf_ncuconfig_root}6-config,${cf_ncuconfig_root}-config,g' -i configure
+ sed -i 's,cf_have_ncuconfig=unknown,cf_have_ncuconfig=yes,g' -i configure
+ oe_runconf
+}
diff --git a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/567.patch b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/567.patch
new file mode 100644
index 0000000..fd36480
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/567.patch
@@ -0,0 +1,36 @@
+Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/567]
+
+From c84e48f6986054cf8b9459e608235b7bd1635746 Mon Sep 17 00:00:00 2001
+From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
+Date: Mon, 13 Nov 2023 12:37:23 +0100
+Subject: [PATCH] dlt_cdh:
+
+Make sure on 64 bit we read an ELF64 structure.
+Otherwise we get a read error, and the context file is missing some good
+to know information
+---
+ src/core_dump_handler/dlt_cdh.h | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/src/core_dump_handler/dlt_cdh.h b/src/core_dump_handler/dlt_cdh.h
+index 8608c6c4..3dac480a 100644
+--- a/src/core_dump_handler/dlt_cdh.h
++++ b/src/core_dump_handler/dlt_cdh.h
+@@ -45,10 +45,17 @@
+ #define CORE_FILE_PATTERN "%s/core.%d.%s.%d.gz"
+ #define CONTEXT_FILE_PATTERN "%s/context.%d.%s.%d.txt"
+
++#if ((__SIZEOF_POINTER) == 4)
+ #define ELF_Ehdr Elf32_Ehdr
+ #define ELF_Phdr Elf32_Phdr
+ #define ELF_Shdr Elf32_Shdr
+ #define ELF_Nhdr Elf32_Nhdr
++#else
++#define ELF_Ehdr Elf64_Ehdr
++#define ELF_Phdr Elf64_Phdr
++#define ELF_Shdr Elf64_Shdr
++#define ELF_Nhdr Elf64_Nhdr
++#endif
+
+ typedef struct
+ {
diff --git a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb
index 410fffa..3d2e4a7 100644
--- a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb
@@ -18,6 +18,7 @@
file://0002-Don-t-execute-processes-as-a-specific-user.patch \
file://0004-Modify-systemd-config-directory.patch \
file://544.patch \
+ file://567.patch \
"
SRCREV = "0f2d4cfffada6f8448a2cb27995b38eb4271044f"
diff --git a/meta-openembedded/meta-oe/recipes-extended/flatpak/flatpak/0001-flatpak-pc-add-pc_sysrootdir.patch b/meta-openembedded/meta-oe/recipes-extended/flatpak/flatpak/0001-flatpak-pc-add-pc_sysrootdir.patch
index c1f2cca..08d5625 100644
--- a/meta-openembedded/meta-oe/recipes-extended/flatpak/flatpak/0001-flatpak-pc-add-pc_sysrootdir.patch
+++ b/meta-openembedded/meta-oe/recipes-extended/flatpak/flatpak/0001-flatpak-pc-add-pc_sysrootdir.patch
@@ -5,7 +5,7 @@
Signed-off-by: Markus Volk <f_l_k@t-online.de>
---
-Upstream-Status: Pending
+Upstream-Status: Inappropriate [oe-specific]
meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-openembedded/meta-oe/recipes-extended/flatpak/flatpak/0001-meson.build-require-for-native-wayland-scanner.patch b/meta-openembedded/meta-oe/recipes-extended/flatpak/flatpak/0001-meson.build-require-for-native-wayland-scanner.patch
new file mode 100644
index 0000000..b076a3f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/flatpak/flatpak/0001-meson.build-require-for-native-wayland-scanner.patch
@@ -0,0 +1,28 @@
+From ced2e933cf647874da4baff002e0987b9bfe5fac Mon Sep 17 00:00:00 2001
+From: Markus Volk <f_l_k@t-online.de>
+Date: Sat, 18 Nov 2023 15:07:49 +0100
+Subject: [PATCH] meson.build: require for native wayland-scanner
+
+Signed-off-by: Markus Volk <f_l_k@t-online.de>
+
+Upstream-Status: Submitted [https://github.com/flatpak/flatpak/pull/5596]
+---
+ meson.build | 4 ++--
+ 1 file changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index f4e5b3a3..5d2f9eba 100644
+--- a/meson.build
++++ b/meson.build
+@@ -207,7 +207,7 @@ gtkdoc_dep = dependency('gtk-doc', required : get_option('gtkdoc'))
+ build_gtk_doc = gtkdoc_dep.found()
+
+ wayland_client = dependency('wayland-client', required : get_option('wayland_security_context'))
+-wayland_scanner = dependency('wayland-scanner', version : '>= 1.15', required : get_option('wayland_security_context'))
++wayland_scanner = dependency('wayland-scanner', version : '>= 1.15', required : get_option('wayland_security_context'), native : true)
+ wayland_protocols = dependency('wayland-protocols', version : '>= 1.32', required : get_option('wayland_security_context'))
+ build_wayland_security_context = wayland_client.found() and wayland_scanner.found() and wayland_protocols.found()
+
+--
+2.42.0
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/flatpak/flatpak_1.15.4.bb b/meta-openembedded/meta-oe/recipes-extended/flatpak/flatpak_1.15.4.bb
deleted file mode 100644
index ca0f0e8..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/flatpak/flatpak_1.15.4.bb
+++ /dev/null
@@ -1,73 +0,0 @@
-DESCRIPTION = "Desktop containment framework."
-HOMEPAGE = "http://flatpak.org"
-LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-SRC_URI = " \
- gitsm://github.com/flatpak/flatpak;protocol=https;branch=main \
- file://0001-flatpak-pc-add-pc_sysrootdir.patch \
-"
-
-SRCREV = "e936e3100d406c50ba49f3ad6a0ecae455345ec0"
-
-S = "${WORKDIR}/git"
-
-inherit meson pkgconfig gettext systemd gtk-doc gobject-introspection python3native useradd mime features_check
-
-REQUIRED_DISTRO_FEATURES = "polkit"
-
-DEPENDS = " \
- appstream \
- bison-native \
- curl \
- dconf \
- fuse3 \
- gdk-pixbuf \
- glib-2.0 \
- gpgme \
- json-glib \
- libarchive \
- libcap \
- libxml2 \
- libxslt-native \
- ostree \
- polkit \
- python3-pyparsing-native \
- xmlto-native \
- zstd \
-"
-
-RDEPENDS:${PN} = " \
- bubblewrap \
- ca-certificates \
- dconf \
- flatpak-xdg-utils \
- xdg-dbus-proxy \
-"
-
-EXTRA_OEMESON += "-Dsystem_dbus_proxy=${bindir}/xdg-dbus-proxy -Dsystem_bubblewrap=${bindir}/bwrap"
-
-GIR_MESON_OPTION = ""
-GTKDOC_MESON_OPTION = 'gtkdoc'
-GTKDOC_MESON_ENABLE_FLAG = 'enabled'
-GTKDOC_MESON_DISABLE_FLAG = 'disabled'
-
-PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,xauth socat-native"
-PACKAGECONFIG[xauth] = "-Dxauth=enabled,-Dxauth=disabled,xauth"
-PACKAGECONFIG[seccomp] = "-Dseccomp=enabled,-Dseccomp=disabled,libseccomp"
-
-PACKAGECONFIG ?= " \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xauth', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'seccomp', 'seccomp', '', d)} \
-"
-
-FILES:${PN} += "${libdir} ${datadir}"
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM:${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd"
-
-do_install:append() {
- chmod 0700 ${D}/${datadir}/polkit-1/rules.d
- chown polkitd ${D}/${datadir}/polkit-1/rules.d
- chgrp root ${D}/${datadir}/polkit-1/rules.d
-}
diff --git a/meta-openembedded/meta-oe/recipes-extended/flatpak/flatpak_1.15.6.bb b/meta-openembedded/meta-oe/recipes-extended/flatpak/flatpak_1.15.6.bb
new file mode 100644
index 0000000..0ee53af
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/flatpak/flatpak_1.15.6.bb
@@ -0,0 +1,81 @@
+DESCRIPTION = "Desktop containment framework."
+HOMEPAGE = "http://flatpak.org"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = " \
+ gitsm://github.com/flatpak/flatpak;protocol=https;branch=main \
+ file://0001-flatpak-pc-add-pc_sysrootdir.patch \
+ file://0001-meson.build-require-for-native-wayland-scanner.patch \
+"
+
+SRCREV = "27b11b93c2a80a91c9461bc6c7f5e9a201406041"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig gettext systemd gtk-doc gobject-introspection python3native useradd mime features_check
+
+REQUIRED_DISTRO_FEATURES = "polkit"
+
+DEPENDS = " \
+ appstream \
+ bison-native \
+ dconf \
+ fuse3 \
+ gdk-pixbuf \
+ glib-2.0 \
+ gpgme \
+ json-glib \
+ libarchive \
+ libcap \
+ libxml2 \
+ ostree \
+ polkit \
+ python3-pyparsing-native \
+ zstd \
+"
+
+RDEPENDS:${PN} = " \
+ bubblewrap \
+ ca-certificates \
+ dconf \
+ flatpak-xdg-utils \
+ xdg-dbus-proxy \
+"
+
+EXTRA_OEMESON += "-Dsystem_dbus_proxy=${bindir}/xdg-dbus-proxy -Dsystem_bubblewrap=${bindir}/bwrap"
+
+GIR_MESON_OPTION = "gir"
+GIR_MESON_ENABLE_FLAG = 'enabled'
+GIR_MESON_DISABLE_FLAG = 'disabled'
+GTKDOC_MESON_OPTION = 'gtkdoc'
+GTKDOC_MESON_ENABLE_FLAG = 'enabled'
+GTKDOC_MESON_DISABLE_FLAG = 'disabled'
+
+PACKAGECONFIG[curl] = "-Dhttp_backend=curl,,curl"
+PACKAGECONFIG[docbook_docs] = "-Ddocbook_docs=enabled,-Ddocbook_docs=disabled,xmlto-native"
+PACKAGECONFIG[man] = "-Dman=enabled,-Dman=disabled,libxslt-native"
+PACKAGECONFIG[soup] = "-Dhttp_backend=soup,,libsoup-2.4"
+PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,xauth socat-native"
+PACKAGECONFIG[xauth] = "-Dxauth=enabled,-Dxauth=disabled,xauth"
+PACKAGECONFIG[seccomp] = "-Dseccomp=enabled,-Dseccomp=disabled,libseccomp"
+PACKAGECONFIG[selinux] = "-Dselinux_module=enabled,-Dselinux_module=disabled,libselinux"
+PACKAGECONFIG[wayland-security-context] = "-Dwayland_security_context=enabled,-Dwayland_security_context=disabled,wayland wayland-native wayland-protocols"
+
+PACKAGECONFIG ?= " \
+ curl \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xauth', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'seccomp', 'seccomp', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland-security-context', '', d)} \
+"
+
+FILES:${PN} += "${libdir} ${datadir}"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM:${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd"
+
+do_install:append() {
+ chmod 0700 ${D}/${datadir}/polkit-1/rules.d
+ chown polkitd ${D}/${datadir}/polkit-1/rules.d
+ chgrp root ${D}/${datadir}/polkit-1/rules.d
+}
diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.9.7.bb b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.9.7.bb
index 26238e5..fc06095 100644
--- a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.9.7.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.9.7.bb
@@ -45,7 +45,7 @@
# flex hardcodes the input file in #line directives leading to TMPDIR contamination of debug sources.
do_compile:append() {
- find ${B} -name '*.c' -or -name '*.h' | xargs sed -i -e 's|${TMPDIR}|/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/|g'
+ find ${B} -name '*.c' -or -name '*.h' | xargs sed -i -e 's|${TMPDIR}|${TARGET_DBGSRC_DIR}/|g'
}
PACKAGECONFIG ?= "yaml"
@@ -88,5 +88,5 @@
SYSTEMD_SERVICE:${PN} = "td-agent-bit.service"
-EXTRA_OECMAKE += "-DCMAKE_DEBUG_SRCDIR=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/"
+EXTRA_OECMAKE += "-DCMAKE_DEBUG_SRCDIR=${TARGET_DBGSRC_DIR}/"
TARGET_CC_ARCH += " ${SELECTED_OPTIMIZATION}"
diff --git a/meta-openembedded/meta-oe/recipes-extended/lastlog2/lastlog2_1.1.0.bb b/meta-openembedded/meta-oe/recipes-extended/lastlog2/lastlog2_1.1.0.bb
deleted file mode 100644
index 757af00..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/lastlog2/lastlog2_1.1.0.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "Y2038 safe version of lastlog"
-HOMEPAGE = "https://github.com/thkukuk/lastlog2"
-DESCRIPTION = "lastlog reports the last login of a given user or of all users who did ever login on a system."
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=020090a00b69dd2af9ab82eb0003ea2c"
-SECTION = "libs"
-
-SRCREV = "585153a577788c590370d20e40263b61238dfab3"
-
-SRC_URI = "git://github.com/thkukuk/lastlog2.git;branch=main;protocol=https \
- file://0001-remove-lto-to-fix-link-error-of-clang.patch \
-"
-
-S = "${WORKDIR}/git"
-
-inherit meson pkgconfig systemd features_check
-
-DEPENDS += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} sqlite3 "
-REQUIRED_DISTRO_FEATURES = "pam"
-
-SYSTEMD_SERVICE:${PN} = "lastlog2-import.service"
-
-EXTRA_OEMESON = " -Dpamlibdir=${libdir}"
-
-do_install:append () {
- if [ -d ${D}${prefix}/lib/systemd -a ${D}${prefix}/lib != `dirname ${D}${systemd_unitdir}` ]; then
- # Fix makefile hardcoded path assumptions for systemd (assumes $prefix)
- # without usrmerge distro feature enabled
- install -d `dirname ${D}${systemd_unitdir}`
- mv ${D}${prefix}/lib/systemd `dirname ${D}${systemd_unitdir}`
- fi
-}
-
-FILES:${PN} += " ${systemd_system_unitdir} "
-FILES:${PN} += " ${libdir} "
-FILES:${PN} += " ${nonarch_libdir}/tmpfiles.d/* "
diff --git a/meta-openembedded/meta-oe/recipes-extended/lastlog2/lastlog2_1.2.0.bb b/meta-openembedded/meta-oe/recipes-extended/lastlog2/lastlog2_1.2.0.bb
new file mode 100644
index 0000000..43deac3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/lastlog2/lastlog2_1.2.0.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Y2038 safe version of lastlog"
+HOMEPAGE = "https://github.com/thkukuk/lastlog2"
+DESCRIPTION = "lastlog reports the last login of a given user or of all users who did ever login on a system."
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=020090a00b69dd2af9ab82eb0003ea2c"
+SECTION = "libs"
+
+SRCREV = "6138dff6f2a5216065fa4833a223b56d98cb62f3"
+
+SRC_URI = "git://github.com/thkukuk/lastlog2.git;branch=main;protocol=https \
+ file://0001-remove-lto-to-fix-link-error-of-clang.patch \
+"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig systemd features_check
+
+DEPENDS += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} sqlite3 "
+REQUIRED_DISTRO_FEATURES = "pam"
+
+SYSTEMD_SERVICE:${PN} = "lastlog2-import.service"
+
+EXTRA_OEMESON = " -Dpamlibdir=${libdir}"
+
+do_install:append () {
+ if [ -d ${D}${prefix}/lib/systemd -a ${D}${prefix}/lib != `dirname ${D}${systemd_unitdir}` ]; then
+ # Fix makefile hardcoded path assumptions for systemd (assumes $prefix)
+ # without usrmerge distro feature enabled
+ install -d `dirname ${D}${systemd_unitdir}`
+ mv ${D}${prefix}/lib/systemd `dirname ${D}${systemd_unitdir}`
+ fi
+}
+
+FILES:${PN} += " ${systemd_system_unitdir} "
+FILES:${PN} += " ${libdir} "
+FILES:${PN} += " ${nonarch_libdir}/tmpfiles.d/* "
diff --git a/meta-openembedded/meta-oe/recipes-extended/libbacktrace/libbacktrace_git.bb b/meta-openembedded/meta-oe/recipes-extended/libbacktrace/libbacktrace_git.bb
index 609e55f..46fa818 100644
--- a/meta-openembedded/meta-oe/recipes-extended/libbacktrace/libbacktrace_git.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/libbacktrace/libbacktrace_git.bb
@@ -11,20 +11,17 @@
SRC_URI = "git://github.com/ianlancetaylor/libbacktrace;protocol=https;branch=master"
PV = "1.0+git${SRCPV}"
-SRCREV = "4f57c999716847e45505b3df170150876b545088"
+SRCREV = "9ae4f4ae4481b1e69d38ed810980d33103544613"
S = "${WORKDIR}/git"
inherit autotools
-EXTR_OECONF += "--with-system-libunwind"
-
-CFLAGS += "-fPIC"
+EXTRA_OECONF += "--with-system-libunwind --enable-shared --disable-static"
do_configure() {
oe_runconf
}
-# libunwind does not support RISCV yet
-COMPATIBLE_HOST:riscv64 = "null"
+# libunwind does not support RISCV32 yet
COMPATIBLE_HOST:riscv32 = "null"
diff --git a/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_3.0.4.bb b/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_3.0.4.bb
new file mode 100644
index 0000000..d6ee103
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_3.0.4.bb
@@ -0,0 +1,39 @@
+DESCRIPTION = "libblockdev is a C library supporting GObject introspection for manipulation of \
+block devices. It has a plugin-based architecture where each technology (like \
+LVM, Btrfs, MD RAID, Swap,...) is implemented in a separate plugin, possibly \
+with multiple implementations (e.g. using LVM CLI or the new LVM DBus API)."
+HOMEPAGE = "http://rhinstaller.github.io/libblockdev/"
+LICENSE = "LGPL-2.0-or-later"
+SECTION = "devel/lib"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c07cb499d259452f324bb90c3067d85c"
+
+inherit autotools gobject-introspection pkgconfig lib_package
+
+DEPENDS = "autoconf-archive-native glib-2.0 kmod udev libnvme"
+
+SRC_URI = "git://github.com/storaged-project/libblockdev;branch=master;protocol=https \
+ file://0001-fix-pythondir-for-multilib-when-cross-compiling.patch \
+ "
+SRCREV = "ec0120de06f28ecfc10953b712f7f42735787bcf"
+S = "${WORKDIR}/git"
+
+FILES:${PN} += "${libdir}/python3.*/site-packages"
+
+PACKAGECONFIG ??= "python3 lvm lvm-dbus dm parted fs escrow btrfs crypto mdraid mpath nvdimm tools"
+PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3"
+PACKAGECONFIG[lvm] = "--with-lvm, --without-lvm, multipath-tools, lvm2"
+PACKAGECONFIG[lvm-dbus] = "--with-lvm_dbus, --without-lvm_dbus, multipath-tools, lvm2"
+PACKAGECONFIG[dm] = "--with-dm, --without-dm, multipath-tools, lvm2"
+PACKAGECONFIG[parted] = "--with-part, --without-part, parted"
+PACKAGECONFIG[fs] = "--with-fs, --without-fs, util-linux"
+PACKAGECONFIG[doc] = "--with-gtk-doc, --without-gtk-doc, gtk-doc-native"
+PACKAGECONFIG[nvdimm] = "--with-nvdimm, --without-nvdimm, ndctl util-linux"
+PACKAGECONFIG[escrow] = "--with-escrow, --without-escrow, nss volume-key"
+PACKAGECONFIG[btrfs] = "--with-btrfs,--without-btrfs,libbytesize btrfs-tools"
+PACKAGECONFIG[crypto] = "--with-crypto,--without-crypto,cryptsetup nss volume-key"
+PACKAGECONFIG[mdraid] = "--with-mdraid,--without-mdraid,libbytesize"
+PACKAGECONFIG[mpath] = "--with-mpath,--without-mpath, multipath-tools, lvm2"
+PACKAGECONFIG[tools] = "--with-tools,--without-tools,libbytesize libdevmapper"
+
+export GIR_EXTRA_LIBS_PATH="${B}/src/utils/.libs"
diff --git a/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_3.03.bb b/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_3.03.bb
deleted file mode 100644
index 99175e6..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_3.03.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-DESCRIPTION = "libblockdev is a C library supporting GObject introspection for manipulation of \
-block devices. It has a plugin-based architecture where each technology (like \
-LVM, Btrfs, MD RAID, Swap,...) is implemented in a separate plugin, possibly \
-with multiple implementations (e.g. using LVM CLI or the new LVM DBus API)."
-HOMEPAGE = "http://rhinstaller.github.io/libblockdev/"
-LICENSE = "LGPL-2.0-or-later"
-SECTION = "devel/lib"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c07cb499d259452f324bb90c3067d85c"
-
-inherit autotools gobject-introspection pkgconfig lib_package
-
-DEPENDS = "autoconf-archive-native glib-2.0 kmod udev libnvme"
-
-SRC_URI = "git://github.com/storaged-project/libblockdev;branch=master;protocol=https \
- file://0001-fix-pythondir-for-multilib-when-cross-compiling.patch \
- "
-SRCREV = "38378931d285b91333ff2e2a391b1fe91072f9bb"
-S = "${WORKDIR}/git"
-
-FILES:${PN} += "${libdir}/python3.*/site-packages"
-
-PACKAGECONFIG ??= "python3 lvm lvm-dbus dm parted fs escrow btrfs crypto mdraid mpath nvdimm tools"
-PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3"
-PACKAGECONFIG[lvm] = "--with-lvm, --without-lvm, multipath-tools, lvm2"
-PACKAGECONFIG[lvm-dbus] = "--with-lvm_dbus, --without-lvm_dbus, multipath-tools, lvm2"
-PACKAGECONFIG[dm] = "--with-dm, --without-dm, multipath-tools, lvm2"
-PACKAGECONFIG[parted] = "--with-part, --without-part, parted"
-PACKAGECONFIG[fs] = "--with-fs, --without-fs, util-linux"
-PACKAGECONFIG[doc] = "--with-gtk-doc, --without-gtk-doc, gtk-doc-native"
-PACKAGECONFIG[nvdimm] = "--with-nvdimm, --without-nvdimm, ndctl util-linux"
-PACKAGECONFIG[escrow] = "--with-escrow, --without-escrow, nss volume-key"
-PACKAGECONFIG[btrfs] = "--with-btrfs,--without-btrfs,libbytesize btrfs-tools"
-PACKAGECONFIG[crypto] = "--with-crypto,--without-crypto,cryptsetup nss volume-key"
-PACKAGECONFIG[mdraid] = "--with-mdraid,--without-mdraid,libbytesize"
-PACKAGECONFIG[mpath] = "--with-mpath,--without-mpath, multipath-tools, lvm2"
-PACKAGECONFIG[tools] = "--with-tools,--without-tools,libbytesize libdevmapper"
-
-export GIR_EXTRA_LIBS_PATH="${B}/src/utils/.libs"
diff --git a/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_git.bb b/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_git.bb
index 3a10b40..f8e7f98 100644
--- a/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_git.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_git.bb
@@ -8,9 +8,9 @@
inherit autotools pkgconfig python3native python3targetconfig
-PV = "2.3.0"
+PV = "2.3.0+git${SRCPV}"
-SRCREV = "b8fcc89b74c9128a13b07cc15a0ce25dca0cd97e"
+SRCREV = "2cd858c679d25633077ca78b67182a9b77653816"
SRC_URI = "git://github.com/libimobiledevice/libplist;protocol=https;branch=master"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-extended/libyang/libyang_2.1.111.bb b/meta-openembedded/meta-oe/recipes-extended/libyang/libyang_2.1.111.bb
deleted file mode 100644
index e592356..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/libyang/libyang_2.1.111.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-SUMMARY = "YANG data modeling language library"
-DESCRIPTION = "libyang is a YANG data modelling language parser and toolkit written (and providing API) in C."
-HOMEPAGE = "https://github.com/CESNET/libyang"
-SECTION = "libs"
-LICENSE = "BSD-3-Clause"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=f3916d7d8d42a6508d0ea418cfff10ad"
-
-SRCREV = "8b0b910a2dcb7360cb5b0aaefbd1338271d50946"
-
-SRC_URI = "git://github.com/CESNET/libyang.git;branch=master;protocol=https \
- file://0001-test_context-skip-test-case-test_searchdirs.patch \
- file://run-ptest \
- "
-
-S = "${WORKDIR}/git"
-
-# Main dependencies
-inherit cmake pkgconfig lib_package ptest multilib_header
-DEPENDS = "libpcre2"
-DEPENDS += "${@bb.utils.contains('PTEST_ENABLED', '1', 'cmocka', '', d)}"
-
-EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release"
-EXTRA_OECMAKE += " ${@bb.utils.contains('PTEST_ENABLED', '1', '-DENABLE_TESTS=ON -DENABLE_VALGRIND_TESTS=OFF', '', d)}"
-
-do_compile:prepend () {
- if [ ${PTEST_ENABLED} = "1" ]; then
- sed -i -e 's|${S}|${PTEST_PATH}|g' ${B}/tests/tests_config.h
- sed -i -e 's|${B}|${PTEST_PATH}|g' ${B}/tests/tests_config.h
- fi
-}
-
-do_install:append () {
- oe_multilib_header libyang/config.h
-}
-
-do_install_ptest () {
- install -d ${D}${PTEST_PATH}/tests
- cp -f ${B}/tests/utest_* ${D}${PTEST_PATH}/tests/
- cp -fR ${S}/tests/modules ${D}${PTEST_PATH}/tests/
- install -d ${D}${PTEST_PATH}/tests/plugins
- cp -f ${B}/tests/plugins/plugin_*.so ${D}${PTEST_PATH}/tests/plugins/
-}
-
-FILES:${PN} += "${datadir}/yang/*"
diff --git a/meta-openembedded/meta-oe/recipes-extended/libyang/libyang_2.1.128.bb b/meta-openembedded/meta-oe/recipes-extended/libyang/libyang_2.1.128.bb
new file mode 100644
index 0000000..55dbb82
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/libyang/libyang_2.1.128.bb
@@ -0,0 +1,45 @@
+SUMMARY = "YANG data modeling language library"
+DESCRIPTION = "libyang is a YANG data modelling language parser and toolkit written (and providing API) in C."
+HOMEPAGE = "https://github.com/CESNET/libyang"
+SECTION = "libs"
+LICENSE = "BSD-3-Clause"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f3916d7d8d42a6508d0ea418cfff10ad"
+
+SRCREV = "7e5ea21030fe6632b6faad30c0de8d9669503773"
+
+SRC_URI = "git://github.com/CESNET/libyang.git;branch=master;protocol=https \
+ file://0001-test_context-skip-test-case-test_searchdirs.patch \
+ file://run-ptest \
+ "
+
+S = "${WORKDIR}/git"
+
+# Main dependencies
+inherit cmake pkgconfig lib_package ptest multilib_header
+DEPENDS = "libpcre2"
+DEPENDS += "${@bb.utils.contains('PTEST_ENABLED', '1', 'cmocka', '', d)}"
+
+EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release"
+EXTRA_OECMAKE += " ${@bb.utils.contains('PTEST_ENABLED', '1', '-DENABLE_TESTS=ON -DENABLE_VALGRIND_TESTS=OFF', '', d)}"
+
+do_compile:prepend () {
+ if [ ${PTEST_ENABLED} = "1" ]; then
+ sed -i -e 's|${S}|${PTEST_PATH}|g' ${B}/tests/tests_config.h
+ sed -i -e 's|${B}|${PTEST_PATH}|g' ${B}/tests/tests_config.h
+ fi
+}
+
+do_install:append () {
+ oe_multilib_header libyang/config.h
+}
+
+do_install_ptest () {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -f ${B}/tests/utest_* ${D}${PTEST_PATH}/tests/
+ cp -fR ${S}/tests/modules ${D}${PTEST_PATH}/tests/
+ install -d ${D}${PTEST_PATH}/tests/plugins
+ cp -f ${B}/tests/plugins/plugin_*.so ${D}${PTEST_PATH}/tests/plugins/
+}
+
+FILES:${PN} += "${datadir}/yang/*"
diff --git a/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb
index b75a336..67a2d9f 100644
--- a/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb
@@ -66,7 +66,7 @@
-DGCC_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${RANLIB} \
-DDISABLE_PYTHON_SCRIPTING=ON \
-DFLEX_TARGET_ARG_COMPILE_FLAGS='--noline' \
- -DBISON_TARGET_ARG_COMPILE_FLAGS='--no-lines --file-prefix-map=${S}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}' \
+ -DBISON_TARGET_ARG_COMPILE_FLAGS='--no-lines --file-prefix-map=${S}=${TARGET_DBGSRC_DIR}' \
-DOPENSSLDIR=${sysconfdir}/libressl \
"
diff --git a/meta-openembedded/meta-oe/recipes-extended/networking/mstpd_git.bb b/meta-openembedded/meta-oe/recipes-extended/networking/mstpd_git.bb
index e2565d6..b2043ef 100644
--- a/meta-openembedded/meta-oe/recipes-extended/networking/mstpd_git.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/networking/mstpd_git.bb
@@ -1,16 +1,17 @@
-PR = "r1"
-PV = "0.1+git${SRCPV}"
LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://LICENSE;md5=4325afd396febcb659c36b49533135d4"
-SRC_URI = "git://github.com/mstpd/mstpd;branch=master;protocol=https"
+PV = "0.1.0+git"
+
+SRC_URI = " \
+ git://github.com/mstpd/mstpd;branch=master;protocol=https \
+ file://bridge-stp \
+ file://mstpd.service \
+"
SRCREV = "181c453fc1a00573e19f14960dcc54ad84beea7c"
S = "${WORKDIR}/git"
-SRC_URI:append = " \
- file://bridge-stp \
- file://mstpd.service \
-"
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+){2,})"
inherit autotools pkgconfig systemd
@@ -21,12 +22,12 @@
SYSTEMD_SERVICE:${PN}-mstpd = "mstpd.service"
do_install:append() {
- rm -rf ${D}${libexecdir} ${D}${libdir}/NetworkManager
- rmdir ${D}${libdir} || true
+ rm -rf ${D}${libexecdir} ${D}${libdir}/NetworkManager
+ rmdir ${D}${libdir} || true
- install -d -m 0755 ${D}/${sbindir}
- install -m 0755 ${WORKDIR}/bridge-stp ${D}/${sbindir}
+ install -d -m 0755 ${D}${sbindir}
+ install -m 0755 ${WORKDIR}/bridge-stp ${D}${sbindir}
- install -d -m 0755 ${D}${systemd_system_unitdir}
- install -m 0644 ${WORKDIR}/mstpd.service ${D}${systemd_system_unitdir}/
+ install -d -m 0755 ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/mstpd.service ${D}${systemd_system_unitdir}
}
diff --git a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2023.5.bb b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2023.5.bb
deleted file mode 100644
index bc465dd..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2023.5.bb
+++ /dev/null
@@ -1,222 +0,0 @@
-SUMMARY = "Versioned Operating System Repository."
-DESCRIPTION = "libostree is both a shared library and suite of command line \
-tools that combines a \"git-like\" model for committing and downloading \
-bootable filesystem trees, along with a layer for deploying them and managing \
-the bootloader configuration."
-HOMEPAGE = "https://ostree.readthedocs.io"
-LICENSE = "LGPL-2.1-only"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
-
-DEPENDS = " \
- glib-2.0-native \
- glib-2.0 \
- e2fsprogs \
- libcap \
- zlib \
- xz \
- bison-native \
-"
-
-GITHUB_BASE_URI = "https://github.com/ostreedev/ostree/releases"
-SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/libostree-${PV}.tar.xz \
- file://run-ptest \
- "
-SRC_URI[sha256sum] = "bc593afb31fe1ac3d50419f917fafe321a0a3561d7bb2ba498a83740fe3adb14"
-
-S = "${WORKDIR}/libostree-${PV}"
-
-inherit autotools bash-completion gobject-introspection github-releases gtk-doc manpages pkgconfig ptest-gnome systemd
-
-COMPATIBLE_HOST:riscv32 = "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'null', 'riscv32', d)}"
-
-UNKNOWN_CONFIGURE_OPT_IGNORE = "--disable-introspection --enable-introspection"
-
-# Workaround compile failure:
-# |../git/src/libotutil/zbase32.c:37:1: error: function returns an aggregate [-Werror=aggregate-return]
-# so remove -Og and use -O2 as workaround
-DEBUG_OPTIMIZATION:remove = "-Og"
-DEBUG_OPTIMIZATION:append = " -O2"
-BUILD_OPTIMIZATION:remove = "-Og"
-BUILD_OPTIMIZATION:append = " -O2"
-
-# Package configuration - match ostree defaults, but without rofiles-fuse
-# otherwise we introduce a dependendency on meta-filesystems and swap
-# soup for curl to avoid bringing in deprecated libsoup2 (though
-# to run ptest requires that you have soup2 or soup3).
-PACKAGECONFIG ??= " \
- ${@bb.utils.filter('DISTRO_FEATURES', 'selinux smack', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd libmount', '', d)} \
- glib \
- gpgme \
- curl \
-"
-
-# We include curl because ostree can't (currently) be built without
-# soup or curl - https://github.com/ostreedev/ostree/issues/1897
-PACKAGECONFIG:class-native ??= " \
- ${@bb.utils.filter('DISTRO_FEATURES', 'selinux smack', d)} \
- builtin-grub2-mkconfig \
- gpgme \
- curl \
-"
-
-PACKAGECONFIG:class-nativesdk ??= " \
- ${@bb.utils.filter('DISTRO_FEATURES', 'selinux smack', d)} \
- builtin-grub2-mkconfig \
- gpgme \
- curl \
-"
-
-PACKAGECONFIG[avahi] = "--with-avahi, --without-avahi, avahi"
-PACKAGECONFIG[builtin-grub2-mkconfig] = "--with-builtin-grub2-mkconfig, --without-builtin-grub2-mkconfig"
-PACKAGECONFIG[curl] = "--with-curl, --without-curl, curl"
-PACKAGECONFIG[dracut] = "--with-dracut, --without-dracut"
-PACKAGECONFIG[ed25519-libsodium] = "--with-ed25519-libsodium, --without-ed25519-libsodium, libsodium"
-PACKAGECONFIG[gjs] = "ac_cv_path_GJS=${bindir}/gjs"
-PACKAGECONFIG[glib] = "--with-crypto=glib, , , , , gnutls openssl"
-PACKAGECONFIG[gnutls] = "--with-crypto=gnutls, , gnutls, , , glib openssl"
-PACKAGECONFIG[gpgme] = "--with-gpgme, --without-gpgme, gpgme"
-PACKAGECONFIG[libarchive] = "--with-libarchive, --without-libarchive, libarchive"
-PACKAGECONFIG[libmount] = "--with-libmount, --without-libmount, util-linux"
-PACKAGECONFIG[manpages] = "--enable-man, --disable-man, libxslt-native docbook-xsl-stylesheets-native"
-PACKAGECONFIG[mkinitcpio] = "--with-mkinitcpio, --without-mkinitcpio"
-PACKAGECONFIG[no-http2] = "--disable-http2, --enable-http2"
-PACKAGECONFIG[openssl] = "--with-crypto=openssl, , openssl, , , glib gnutls"
-PACKAGECONFIG[rofiles-fuse] = "--enable-rofiles-fuse, --disable-rofiles-fuse, fuse3"
-PACKAGECONFIG[selinux] = "--with-selinux, --without-selinux, libselinux, bubblewrap"
-PACKAGECONFIG[smack] = "--with-smack, --without-smack, smack"
-PACKAGECONFIG[soup2] = "--with-soup, --without-soup, libsoup-2.4, , , soup3"
-PACKAGECONFIG[soup3] = "--with-soup3, --without-soup3, libsoup, , , soup2"
-PACKAGECONFIG[static] = ""
-PACKAGECONFIG[systemd] = "--with-libsystemd --with-systemdsystemunitdir=${systemd_system_unitdir}, --without-libsystemd, systemd"
-PACKAGECONFIG[trivial-httpd-cmdline] = "--enable-trivial-httpd-cmdline, --disable-trivial-httpd-cmdline"
-
-EXTRA_OECONF = " \
- ${@bb.utils.contains('PACKAGECONFIG', 'static', '--with-static-compiler=\'${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}\'', '', d)} \
-"
-
-# Makefile-libostree.am overrides this to avoid a build problem with clang,
-# but that fix breaks cross compilation and we don't need it
-EXTRA_OEMAKE = " \
- INTROSPECTION_SCANNER_ENV= \
-"
-
-EXTRA_OECONF:class-native = " \
- --enable-wrpseudo-compat \
- --disable-otmpfile \
-"
-
-EXTRA_OECONF:class-nativesdk = " \
- --enable-wrpseudo-compat \
- --disable-otmpfile \
-"
-
-# Path to ${prefix}/lib/ostree/ostree-grub-generator is hardcoded on the
-# do_configure stage so we do depend on it
-SYSROOT_DIR = "${STAGING_DIR_TARGET}"
-SYSROOT_DIR:class-native = "${STAGING_DIR_NATIVE}"
-do_configure[vardeps] += "SYSROOT_DIR"
-
-do_configure:prepend() {
- # this reflects what autogen.sh does, but the OE wrappers for autoreconf
- # allow it to work without the other gyrations which exist there
- cp ${S}/libglnx/Makefile-libglnx.am ${S}/libglnx/Makefile-libglnx.am.inc
- cp ${S}/bsdiff/Makefile-bsdiff.am ${S}/bsdiff/Makefile-bsdiff.am.inc
-}
-
-do_install:append:class-native() {
- create_wrapper ${D}${bindir}/ostree OSTREE_GRUB2_EXEC="${STAGING_LIBDIR_NATIVE}/ostree/ostree-grub-generator"
-}
-
-do_install:append:class-nativesdk() {
- create_wrapper ${D}${bindir}/ostree OSTREE_GRUB2_EXEC="\$OECORE_NATIVE_SYSROOT/usr/lib/ostree/ostree-grub-generator"
-}
-
-PACKAGE_BEFORE_PN = " \
- ${PN}-dracut \
- ${PN}-grub \
- ${PN}-mkinitcpio \
- ${PN}-switchroot \
- ${PN}-trivial-httpd \
-"
-
-FILES:${PN} += " \
- ${nonarch_libdir}/${BPN} \
- ${nonarch_libdir}/tmpfiles.d \
- ${systemd_system_unitdir} \
- ${systemd_unitdir}/system-generators \
-"
-FILES:${PN}-dracut = " \
- ${sysconfdir}/dracut.conf.d \
- ${libdir}/dracut \
-"
-FILES:${PN}-grub = " \
- ${sysconfdir}/grub.d \
- ${libexecdir}/libostree/grub2-15_ostree \
-"
-FILES:${PN}-mkinitcpio = " \
- ${sysconfdir}/ostree-mkinitcpio.conf \
- ${libdir}/initcpio \
-"
-FILES:${PN}-switchroot = " \
- ${nonarch_libdir}/${BPN}/ostree-prepare-root \
- ${systemd_system_unitdir}/ostree-prepare-root.service \
-"
-FILES:${PN}-trivial-httpd = " \
- ${libexecdir}/libostree/ostree-trivial-httpd \
-"
-
-RDEPENDS:${PN} = " \
- ${@bb.utils.contains('PACKAGECONFIG', 'trivial-httpd-cmdline', '${PN}-trivial-httpd', '', d)} \
-"
-RDEPENDS:${PN}-dracut = "bash"
-RDEPENDS:${PN}-mkinitcpio = "bash"
-RDEPENDS:${PN}:class-target = " \
- ${@bb.utils.contains('PACKAGECONFIG', 'gpgme', 'gnupg', '', d)} \
- ${PN}-switchroot \
-"
-
-#
-# Note that to get ptest to pass you also need:
-#
-# xattr in DISTRO_FEATURES (default)
-# static ostree-prepare-root
-# ostree-trivial-httpd (requires soup - note soup and curl can coexist)
-# overlayfs in your kernel
-# busybox built statically
-# C.UTF-8 locale available (default)
-# Sufficient disk space/RAM (e.g. core-image-sato-sdk)
-#
-# Something like this in your local.conf:
-#
-# PACKAGECONFIG:append:pn-ostree = " static soup3"
-# KERNEL_EXTRA_FEATURES:append = " features/overlayfs/overlayfs.scc"
-# TARGET_CFLAGS:append:pn-busybox = " -static"
-#
-RDEPENDS:${PN}-ptest += " \
- attr \
- bash \
- coreutils \
- cpio \
- diffutils \
- findutils \
- grep \
- python3-core \
- python3-multiprocessing \
- strace \
- tar \
- util-linux \
- xz \
- ${PN}-trivial-httpd \
- python3-pyyaml \
- ${@bb.utils.contains('PACKAGECONFIG', 'gjs', 'gjs', '', d)} \
-"
-RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-utils glibc-localedata-en-us"
-
-RRECOMMENDS:${PN}:append:class-target = " kernel-module-overlay"
-
-SYSTEMD_SERVICE:${PN} = "ostree-remount.service ostree-finalize-staged.path"
-SYSTEMD_SERVICE:${PN}-switchroot = "ostree-prepare-root.service"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2023.7.bb b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2023.7.bb
new file mode 100644
index 0000000..d91b0a3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2023.7.bb
@@ -0,0 +1,213 @@
+SUMMARY = "Versioned Operating System Repository."
+DESCRIPTION = "libostree is both a shared library and suite of command line \
+tools that combines a \"git-like\" model for committing and downloading \
+bootable filesystem trees, along with a layer for deploying them and managing \
+the bootloader configuration."
+HOMEPAGE = "https://ostree.readthedocs.io"
+LICENSE = "LGPL-2.1-only"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
+
+DEPENDS = " \
+ glib-2.0-native \
+ glib-2.0 \
+ e2fsprogs \
+ libcap \
+ zlib \
+ xz \
+ bison-native \
+"
+
+GITHUB_BASE_URI = "https://github.com/ostreedev/ostree/releases"
+SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/libostree-${PV}.tar.xz \
+ file://run-ptest \
+ "
+SRC_URI[sha256sum] = "19cda718705f7ac8c018c939c38b1bb8412deaaa04862da98cd9fe9243f073bf"
+
+S = "${WORKDIR}/libostree-${PV}"
+
+inherit autotools bash-completion gobject-introspection github-releases gtk-doc manpages pkgconfig ptest-gnome systemd
+
+COMPATIBLE_HOST:riscv32 = "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'null', 'riscv32', d)}"
+
+UNKNOWN_CONFIGURE_OPT_IGNORE = "--disable-introspection --enable-introspection"
+
+# Workaround compile failure:
+# |../git/src/libotutil/zbase32.c:37:1: error: function returns an aggregate [-Werror=aggregate-return]
+# so remove -Og and use -O2 as workaround
+DEBUG_OPTIMIZATION:remove = "-Og"
+DEBUG_OPTIMIZATION:append = " -O2"
+BUILD_OPTIMIZATION:remove = "-Og"
+BUILD_OPTIMIZATION:append = " -O2"
+
+# Package configuration - match ostree defaults, but without rofiles-fuse
+# otherwise we introduce a dependendency on meta-filesystems and swap
+# soup for curl to avoid bringing in deprecated libsoup2 (though
+# to run ptest requires that you have soup2 or soup3).
+PACKAGECONFIG ??= " \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'selinux smack', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd libmount', '', d)} \
+ glib \
+ gpgme \
+ curl \
+"
+
+# We include curl because ostree can't (currently) be built without
+# soup or curl - https://github.com/ostreedev/ostree/issues/1897
+PACKAGECONFIG:class-native ??= " \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'selinux smack', d)} \
+ builtin-grub2-mkconfig \
+ gpgme \
+ curl \
+"
+
+PACKAGECONFIG:class-nativesdk ??= " \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'selinux smack', d)} \
+ builtin-grub2-mkconfig \
+ gpgme \
+ curl \
+"
+
+PACKAGECONFIG[avahi] = "--with-avahi, --without-avahi, avahi"
+PACKAGECONFIG[builtin-grub2-mkconfig] = "--with-builtin-grub2-mkconfig, --without-builtin-grub2-mkconfig"
+PACKAGECONFIG[curl] = "--with-curl, --without-curl, curl"
+PACKAGECONFIG[dracut] = "--with-dracut, --without-dracut"
+PACKAGECONFIG[ed25519-libsodium] = "--with-ed25519-libsodium, --without-ed25519-libsodium, libsodium"
+PACKAGECONFIG[ed25519-openssl] = "--with-openssl, --without-openssl, openssl"
+PACKAGECONFIG[gjs] = "ac_cv_path_GJS=${bindir}/gjs"
+PACKAGECONFIG[glib] = "--with-crypto=glib, , , , , gnutls openssl"
+PACKAGECONFIG[gnutls] = "--with-crypto=gnutls, , gnutls, , , glib openssl"
+PACKAGECONFIG[gpgme] = "--with-gpgme, --without-gpgme, gpgme"
+PACKAGECONFIG[libarchive] = "--with-libarchive, --without-libarchive, libarchive"
+PACKAGECONFIG[libmount] = "--with-libmount, --without-libmount, util-linux"
+PACKAGECONFIG[manpages] = "--enable-man, --disable-man, libxslt-native docbook-xsl-stylesheets-native"
+PACKAGECONFIG[mkinitcpio] = "--with-mkinitcpio, --without-mkinitcpio"
+PACKAGECONFIG[no-http2] = "--disable-http2, --enable-http2"
+PACKAGECONFIG[openssl] = "--with-crypto=openssl, , openssl, , , glib gnutls"
+PACKAGECONFIG[rofiles-fuse] = "--enable-rofiles-fuse, --disable-rofiles-fuse, fuse3"
+PACKAGECONFIG[selinux] = "--with-selinux, --without-selinux, libselinux, bubblewrap"
+PACKAGECONFIG[smack] = "--with-smack, --without-smack, smack"
+PACKAGECONFIG[soup2] = "--with-soup, --without-soup, libsoup-2.4, , , soup3"
+PACKAGECONFIG[soup3] = "--with-soup3, --without-soup3, libsoup, , , soup2"
+PACKAGECONFIG[static] = ""
+PACKAGECONFIG[systemd] = "--with-libsystemd --with-systemdsystemunitdir=${systemd_system_unitdir}, --without-libsystemd, systemd"
+
+EXTRA_OECONF = " \
+ ${@bb.utils.contains('PACKAGECONFIG', 'static', '--with-static-compiler=\'${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}\'', '', d)} \
+"
+
+# Makefile-libostree.am overrides this to avoid a build problem with clang,
+# but that fix breaks cross compilation and we don't need it
+EXTRA_OEMAKE = " \
+ INTROSPECTION_SCANNER_ENV= \
+"
+
+EXTRA_OECONF:class-native = " \
+ --enable-wrpseudo-compat \
+ --disable-otmpfile \
+"
+
+EXTRA_OECONF:class-nativesdk = " \
+ --enable-wrpseudo-compat \
+ --disable-otmpfile \
+"
+
+# Path to ${prefix}/lib/ostree/ostree-grub-generator is hardcoded on the
+# do_configure stage so we do depend on it
+SYSROOT_DIR = "${STAGING_DIR_TARGET}"
+SYSROOT_DIR:class-native = "${STAGING_DIR_NATIVE}"
+do_configure[vardeps] += "SYSROOT_DIR"
+
+do_configure:prepend() {
+ # this reflects what autogen.sh does, but the OE wrappers for autoreconf
+ # allow it to work without the other gyrations which exist there
+ cp ${S}/libglnx/Makefile-libglnx.am ${S}/libglnx/Makefile-libglnx.am.inc
+ cp ${S}/bsdiff/Makefile-bsdiff.am ${S}/bsdiff/Makefile-bsdiff.am.inc
+}
+
+do_install:append:class-native() {
+ create_wrapper ${D}${bindir}/ostree OSTREE_GRUB2_EXEC="${STAGING_LIBDIR_NATIVE}/ostree/ostree-grub-generator"
+}
+
+do_install:append:class-nativesdk() {
+ create_wrapper ${D}${bindir}/ostree OSTREE_GRUB2_EXEC="\$OECORE_NATIVE_SYSROOT/usr/lib/ostree/ostree-grub-generator"
+}
+
+PACKAGE_BEFORE_PN = " \
+ ${PN}-dracut \
+ ${PN}-grub \
+ ${PN}-mkinitcpio \
+ ${PN}-switchroot \
+"
+
+FILES:${PN} += " \
+ ${nonarch_libdir}/${BPN} \
+ ${nonarch_libdir}/tmpfiles.d \
+ ${systemd_system_unitdir} \
+ ${systemd_unitdir}/system-generators \
+"
+FILES:${PN}-dracut = " \
+ ${sysconfdir}/dracut.conf.d \
+ ${libdir}/dracut \
+"
+FILES:${PN}-grub = " \
+ ${sysconfdir}/grub.d \
+ ${libexecdir}/libostree/grub2-15_ostree \
+"
+FILES:${PN}-mkinitcpio = " \
+ ${sysconfdir}/ostree-mkinitcpio.conf \
+ ${libdir}/initcpio \
+"
+FILES:${PN}-switchroot = " \
+ ${nonarch_libdir}/${BPN}/ostree-prepare-root \
+ ${systemd_system_unitdir}/ostree-prepare-root.service \
+"
+
+RDEPENDS:${PN}-dracut = "bash"
+RDEPENDS:${PN}-mkinitcpio = "bash"
+RDEPENDS:${PN}:class-target = " \
+ ${@bb.utils.contains('PACKAGECONFIG', 'gpgme', 'gnupg', '', d)} \
+ ${PN}-switchroot \
+"
+
+#
+# Note that to get ptest to pass you also need:
+#
+# xattr in DISTRO_FEATURES (default)
+# static ostree-prepare-root
+# overlayfs in your kernel
+# busybox built statically
+# C.UTF-8 locale available (default)
+# Sufficient disk space/RAM (e.g. core-image-sato-sdk)
+#
+# Something like this in your local.conf:
+#
+# PACKAGECONFIG:append:pn-ostree = " static soup3"
+# KERNEL_EXTRA_FEATURES:append = " features/overlayfs/overlayfs.scc"
+# TARGET_CFLAGS:append:pn-busybox = " -static"
+#
+RDEPENDS:${PN}-ptest += " \
+ attr \
+ bash \
+ coreutils \
+ cpio \
+ diffutils \
+ findutils \
+ grep \
+ python3-core \
+ python3-multiprocessing \
+ strace \
+ tar \
+ util-linux \
+ xz \
+ python3-pyyaml \
+ ${@bb.utils.contains('PACKAGECONFIG', 'gjs', 'gjs', '', d)} \
+"
+RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-utils glibc-localedata-en-us"
+
+RRECOMMENDS:${PN}:append:class-target = " kernel-module-overlay"
+
+SYSTEMD_SERVICE:${PN} = "ostree-remount.service ostree-finalize-staged.path"
+SYSTEMD_SERVICE:${PN}-switchroot = "ostree-prepare-root.service"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk/0001-pmempool-Match-function-prototypes-of-enum_to_str_fn.patch b/meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk/0001-pmempool-Match-function-prototypes-of-enum_to_str_fn.patch
deleted file mode 100644
index b16b633..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk/0001-pmempool-Match-function-prototypes-of-enum_to_str_fn.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From de6425acaa50426883e85a599001ae5e927aec5b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 2 Mar 2023 16:23:56 -0800
-Subject: [PATCH] pmempool: Match function prototypes of enum_to_str_fn
- function pointer
-
-This is flagged by clang 16+
-common.c:844:4: error: cast from 'const char *(*)(enum chunk_type)' to 'enum_to_str_fn' (aka 'const char *(*)(int)') converts to incompatible function type [-Werror,-Wcast-function-type-strict]
- (enum_to_str_fn)out_get_chunk_type_str);
- ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-1 error generated.
-
-Upstream-Status: Submitted [https://github.com/pmem/pmdk/pull/5543]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/tools/pmempool/common.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/tools/pmempool/common.c b/src/tools/pmempool/common.c
-index 5e7e472cc..4b7e9b95f 100644
---- a/src/tools/pmempool/common.c
-+++ b/src/tools/pmempool/common.c
-@@ -41,7 +41,7 @@
-
- #define REQ_BUFF_SIZE 2048U
- #define Q_BUFF_SIZE 8192
--typedef const char *(*enum_to_str_fn)(int);
-+typedef const char *(*enum_to_str_fn)(enum chunk_type);
-
- /*
- * pmem_pool_type -- return pool type based on first two pages.
-@@ -790,7 +790,7 @@ util_parse_enum(const char *str, int first, int max, uint64_t *bitmap,
- enum_to_str_fn enum_to_str)
- {
- for (int i = first; i < max; i++) {
-- if (strcmp(str, enum_to_str(i)) == 0) {
-+ if (strcmp(str, enum_to_str((enum chunk_type)i)) == 0) {
- *bitmap |= (uint64_t)1<<i;
- return 0;
- }
---
-2.39.2
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_1.12.1.bb b/meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_1.12.1.bb
deleted file mode 100644
index 5261922..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_1.12.1.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-SUMMARY = "Persistent Memory Development Kit"
-DESCRIPTION = "Persistent Memory Development Kit"
-HOMEPAGE = "http://pmem.io"
-SECTION = "libs"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b44ee63f162f9cdb18fff1224877aafd"
-DEPENDS = "ndctl cmake-native"
-
-# Required to have the fts.h header for musl
-DEPENDS:append:libc-musl = " fts"
-
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/pmem/pmdk.git;branch=stable-1.12;protocol=https \
- file://0001-pmempool-Match-function-prototypes-of-enum_to_str_fn.patch"
-SRCREV = "786098a024c6fe60e746f2cb1041bcfcd21386c9"
-
-inherit autotools-brokensep pkgconfig
-
-# Fix jemalloc error:
-# | configure: error: cannot run C compiled programs.
-# | If you meant to cross compile, use `--host'.
-#
-# Also fix #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror=cpp]
-EXTRA_OEMAKE = "BUILD_EXAMPLES='n' DOC='n' HOST_SYS='${HOST_SYS}' EXTRA_CFLAGS='${SELECTED_OPTIMIZATION}' LIB_PREFIX=${baselib}"
-
-# Fix the missing fts libs when using musl
-EXTRA_OEMAKE:append:libc-musl = " EXTRA_LIBS='-lfts'"
-
-do_configure:prepend() {
- touch .skip-doc
-}
-
-do_install() {
- oe_runmake prefix=${prefix} DESTDIR=${D} install
-
- # Remove uneeded files
- rm -rf ${D}/usr/${baselib}/pmdk_debug
-}
-
-# Include these by default otherwise the SDK is not very useful
-FILES:${PN} += "${bindir}/pmempool ${bindir}/daxio"
-FILES:${PN} += "${libdir}/*so*"
-FILES:${PN} += "${libdir}/pkgconfig/*.pc"
-FILES:${PN} += "${includedir}/libpmemobj++/* ${includedir}/libpmemobj/* /usr/*/include/"
-FILES:${PN} += "/usr/etc"
-FILES:${PN} += "/usr/share"
-
-COMPATIBLE_HOST='(x86_64).*'
diff --git a/meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_2.0.0.bb b/meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_2.0.0.bb
new file mode 100644
index 0000000..aeda236
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_2.0.0.bb
@@ -0,0 +1,48 @@
+SUMMARY = "Persistent Memory Development Kit"
+DESCRIPTION = "Persistent Memory Development Kit"
+HOMEPAGE = "http://pmem.io"
+SECTION = "libs"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b44ee63f162f9cdb18fff1224877aafd"
+DEPENDS = "ndctl cmake-native"
+
+# Required to have the fts.h header for musl
+DEPENDS:append:libc-musl = " fts"
+
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/pmem/pmdk.git;branch=master;protocol=https"
+SRCREV = "ba92d6b469d52d16f26279bebaf317bbdbb3822c"
+
+inherit autotools-brokensep pkgconfig
+
+# Fix jemalloc error:
+# | configure: error: cannot run C compiled programs.
+# | If you meant to cross compile, use `--host'.
+#
+# Also fix #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror=cpp]
+EXTRA_OEMAKE = "BUILD_EXAMPLES='n' DOC='n' HOST_SYS='${HOST_SYS}' EXTRA_CFLAGS='${SELECTED_OPTIMIZATION}' LIB_PREFIX=${baselib}"
+
+# Fix the missing fts libs when using musl
+EXTRA_OEMAKE:append:libc-musl = " EXTRA_LIBS='-lfts'"
+
+do_configure:prepend() {
+ touch .skip-doc
+}
+
+do_install() {
+ oe_runmake prefix=${prefix} DESTDIR=${D} install
+
+ # Remove uneeded files
+ rm -rf ${D}/usr/${baselib}/pmdk_debug
+}
+
+# Include these by default otherwise the SDK is not very useful
+FILES:${PN} += "${bindir}/pmempool ${bindir}/daxio"
+FILES:${PN} += "${libdir}/*so*"
+FILES:${PN} += "${libdir}/pkgconfig/*.pc"
+FILES:${PN} += "${includedir}/libpmemobj++/* ${includedir}/libpmemobj/* /usr/*/include/"
+FILES:${PN} += "/usr/etc"
+FILES:${PN} += "/usr/share"
+
+COMPATIBLE_HOST='(x86_64).*'
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.1/0001-src-Do-not-reset-FINAL_LIBS.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/0001-src-Do-not-reset-FINAL_LIBS.patch
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.1/0001-src-Do-not-reset-FINAL_LIBS.patch
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/0001-src-Do-not-reset-FINAL_LIBS.patch
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.1/0006-Define-correct-gregs-for-RISCV32.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/0006-Define-correct-gregs-for-RISCV32.patch
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.1/0006-Define-correct-gregs-for-RISCV32.patch
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/0006-Define-correct-gregs-for-RISCV32.patch
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.1/GNU_SOURCE-7.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/GNU_SOURCE-7.patch
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.1/GNU_SOURCE-7.patch
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/GNU_SOURCE-7.patch
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.1/hiredis-use-default-CC-if-it-is-set.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/hiredis-use-default-CC-if-it-is-set.patch
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.1/hiredis-use-default-CC-if-it-is-set.patch
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/hiredis-use-default-CC-if-it-is-set.patch
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.1/init-redis-server b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/init-redis-server
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.1/init-redis-server
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/init-redis-server
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.1/lua-update-Makefile-to-use-environment-build-setting.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/lua-update-Makefile-to-use-environment-build-setting.patch
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.1/lua-update-Makefile-to-use-environment-build-setting.patch
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/lua-update-Makefile-to-use-environment-build-setting.patch
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.1/oe-use-libc-malloc.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/oe-use-libc-malloc.patch
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.1/oe-use-libc-malloc.patch
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/oe-use-libc-malloc.patch
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.1/redis.conf b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/redis.conf
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.1/redis.conf
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/redis.conf
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.1/redis.service b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/redis.service
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.1/redis.service
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.2/redis.service
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.2.1.bb b/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.2.1.bb
deleted file mode 100644
index f8e30e0..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.2.1.bb
+++ /dev/null
@@ -1,70 +0,0 @@
-SUMMARY = "Redis key-value store"
-DESCRIPTION = "Redis is an open source, advanced key-value store."
-HOMEPAGE = "http://redis.io"
-SECTION = "libs"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8ffdd6c926faaece928cf9d9640132d2"
-DEPENDS = "readline lua ncurses"
-
-SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \
- file://redis.conf \
- file://init-redis-server \
- file://redis.service \
- file://hiredis-use-default-CC-if-it-is-set.patch \
- file://lua-update-Makefile-to-use-environment-build-setting.patch \
- file://oe-use-libc-malloc.patch \
- file://0001-src-Do-not-reset-FINAL_LIBS.patch \
- file://GNU_SOURCE-7.patch \
- file://0006-Define-correct-gregs-for-RISCV32.patch \
- "
-SRC_URI[sha256sum] = "5c76d990a1b1c5f949bcd1eed90d0c8a4f70369bdbdcb40288c561ddf88967a4"
-
-inherit autotools-brokensep update-rc.d systemd useradd
-
-FINAL_LIBS:x86:toolchain-clang = "-latomic"
-FINAL_LIBS:riscv32:toolchain-clang = "-latomic"
-FINAL_LIBS:mips = "-latomic"
-FINAL_LIBS:arm = "-latomic"
-FINAL_LIBS:powerpc = "-latomic"
-
-export FINAL_LIBS
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM:${PN} = "--system --home-dir /var/lib/redis -g redis --shell /bin/false redis"
-GROUPADD_PARAM:${PN} = "--system redis"
-
-PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PACKAGECONFIG[systemd] = "USE_SYSTEMD=yes,USE_SYSTEMD=no,systemd"
-
-EXTRA_OEMAKE += "${PACKAGECONFIG_CONFARGS}"
-
-do_compile:prepend() {
- (cd deps && oe_runmake hiredis lua linenoise)
-}
-
-do_install() {
- export PREFIX=${D}/${prefix}
- oe_runmake install
- install -d ${D}/${sysconfdir}/redis
- install -m 0644 ${WORKDIR}/redis.conf ${D}/${sysconfdir}/redis/redis.conf
- install -d ${D}/${sysconfdir}/init.d
- install -m 0755 ${WORKDIR}/init-redis-server ${D}/${sysconfdir}/init.d/redis-server
- install -d ${D}/var/lib/redis/
- chown redis.redis ${D}/var/lib/redis/
-
- install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${WORKDIR}/redis.service ${D}${systemd_system_unitdir}
- sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${systemd_system_unitdir}/redis.service
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- sed -i 's!daemonize yes!# daemonize yes!' ${D}/${sysconfdir}/redis/redis.conf
- sed -i 's!supervised no!supervised systemd!' ${D}/${sysconfdir}/redis/redis.conf
- fi
-}
-
-CONFFILES:${PN} = "${sysconfdir}/redis/redis.conf"
-
-INITSCRIPT_NAME = "redis-server"
-INITSCRIPT_PARAMS = "defaults 87"
-
-SYSTEMD_SERVICE:${PN} = "redis.service"
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.2.2.bb b/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.2.2.bb
new file mode 100644
index 0000000..44fb01b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.2.2.bb
@@ -0,0 +1,70 @@
+SUMMARY = "Redis key-value store"
+DESCRIPTION = "Redis is an open source, advanced key-value store."
+HOMEPAGE = "http://redis.io"
+SECTION = "libs"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8ffdd6c926faaece928cf9d9640132d2"
+DEPENDS = "readline lua ncurses"
+
+SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \
+ file://redis.conf \
+ file://init-redis-server \
+ file://redis.service \
+ file://hiredis-use-default-CC-if-it-is-set.patch \
+ file://lua-update-Makefile-to-use-environment-build-setting.patch \
+ file://oe-use-libc-malloc.patch \
+ file://0001-src-Do-not-reset-FINAL_LIBS.patch \
+ file://GNU_SOURCE-7.patch \
+ file://0006-Define-correct-gregs-for-RISCV32.patch \
+ "
+SRC_URI[sha256sum] = "ca999be08800edc6d265379c4c7aafad92f0ee400692e4e2d69829ab4b4c3d08"
+
+inherit autotools-brokensep update-rc.d systemd useradd
+
+FINAL_LIBS:x86:toolchain-clang = "-latomic"
+FINAL_LIBS:riscv32:toolchain-clang = "-latomic"
+FINAL_LIBS:mips = "-latomic"
+FINAL_LIBS:arm = "-latomic"
+FINAL_LIBS:powerpc = "-latomic"
+
+export FINAL_LIBS
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM:${PN} = "--system --home-dir /var/lib/redis -g redis --shell /bin/false redis"
+GROUPADD_PARAM:${PN} = "--system redis"
+
+PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[systemd] = "USE_SYSTEMD=yes,USE_SYSTEMD=no,systemd"
+
+EXTRA_OEMAKE += "${PACKAGECONFIG_CONFARGS}"
+
+do_compile:prepend() {
+ (cd deps && oe_runmake hiredis lua linenoise)
+}
+
+do_install() {
+ export PREFIX=${D}/${prefix}
+ oe_runmake install
+ install -d ${D}/${sysconfdir}/redis
+ install -m 0644 ${WORKDIR}/redis.conf ${D}/${sysconfdir}/redis/redis.conf
+ install -d ${D}/${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/init-redis-server ${D}/${sysconfdir}/init.d/redis-server
+ install -d ${D}/var/lib/redis/
+ chown redis.redis ${D}/var/lib/redis/
+
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/redis.service ${D}${systemd_system_unitdir}
+ sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${systemd_system_unitdir}/redis.service
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ sed -i 's!daemonize yes!# daemonize yes!' ${D}/${sysconfdir}/redis/redis.conf
+ sed -i 's!supervised no!supervised systemd!' ${D}/${sysconfdir}/redis/redis.conf
+ fi
+}
+
+CONFFILES:${PN} = "${sysconfdir}/redis/redis.conf"
+
+INITSCRIPT_NAME = "redis-server"
+INITSCRIPT_PARAMS = "defaults 87"
+
+SYSTEMD_SERVICE:${PN} = "redis.service"
diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/libfastjson_0.99.9.bb b/meta-openembedded/meta-oe/recipes-extended/rsyslog/libfastjson_0.99.9.bb
deleted file mode 100644
index 24ad172..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/rsyslog/libfastjson_0.99.9.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "A fork of json-c library"
-HOMEPAGE = "https://github.com/rsyslog/libfastjson"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a958bb07122368f3e1d9b2efe07d231f"
-
-DEPENDS = ""
-
-SRC_URI = "git://github.com/rsyslog/libfastjson.git;protocol=https;branch=master"
-
-SRCREV = "0293afb3913f760c449348551cca4d2df59c1a00"
-
-S = "${WORKDIR}/git"
-
-inherit autotools
diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/libfastjson_1.2304.0.bb b/meta-openembedded/meta-oe/recipes-extended/rsyslog/libfastjson_1.2304.0.bb
new file mode 100644
index 0000000..f16126d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/rsyslog/libfastjson_1.2304.0.bb
@@ -0,0 +1,15 @@
+SUMMARY = "A fork of json-c library"
+HOMEPAGE = "https://github.com/rsyslog/libfastjson"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a958bb07122368f3e1d9b2efe07d231f"
+
+DEPENDS = ""
+
+SRC_URI = "git://github.com/rsyslog/libfastjson.git;protocol=https;branch=master"
+
+SRCREV = "3a8402c1de7c7747c95229db26d8d32fb85a7a52"
+
+S = "${WORKDIR}/git"
+
+inherit autotools
diff --git a/meta-openembedded/meta-oe/recipes-extended/wtmpdb/wtmpdb_0.7.1.bb b/meta-openembedded/meta-oe/recipes-extended/wtmpdb/wtmpdb_0.7.1.bb
deleted file mode 100644
index cffae2d..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/wtmpdb/wtmpdb_0.7.1.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "Y2038 safe version of wtmp"
-HOMEPAGE = "https://github.com/thkukuk/wtmpdb"
-DESCRIPTION = "last reports the login and logout times of users and when the machine got rebooted."
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=020090a00b69dd2af9ab82eb0003ea2c"
-SECTION = "libs"
-
-SRCREV = "502b19a41c7a3b1b5e70969b18088683825f71f8"
-
-SRC_URI = "git://github.com/thkukuk/wtmpdb.git;branch=main;protocol=https \
- file://0001-remove-lto-to-fix-link-error-of-clang.patch \
-"
-
-S = "${WORKDIR}/git"
-
-inherit meson pkgconfig systemd features_check
-
-DEPENDS += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} sqlite3 "
-REQUIRED_DISTRO_FEATURES = "pam"
-
-SYSTEMD_SERVICE:${PN} = "wtmpdb-update-boot.service wtmpdb-rotate.service"
-
-EXTRA_OEMESON = " -Dpamlibdir=${libdir}"
-
-do_install:append () {
- if [ -d ${D}${prefix}/lib/systemd -a ${D}${prefix}/lib != `dirname ${D}${systemd_unitdir}` ]; then
- # Fix makefile hardcoded path assumptions for systemd (assumes $prefix)
- # without usrmerge distro feature enabled
- install -d `dirname ${D}${systemd_unitdir}`
- mv ${D}${prefix}/lib/systemd `dirname ${D}${systemd_unitdir}`
- fi
-}
-
-FILES:${PN} += " ${systemd_system_unitdir} "
-FILES:${PN} += " ${libdir} "
-FILES:${PN} += " ${nonarch_libdir}/tmpfiles.d/* "
diff --git a/meta-openembedded/meta-oe/recipes-extended/wtmpdb/wtmpdb_0.9.3.bb b/meta-openembedded/meta-oe/recipes-extended/wtmpdb/wtmpdb_0.9.3.bb
new file mode 100644
index 0000000..6d23c00
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/wtmpdb/wtmpdb_0.9.3.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Y2038 safe version of wtmp"
+HOMEPAGE = "https://github.com/thkukuk/wtmpdb"
+DESCRIPTION = "last reports the login and logout times of users and when the machine got rebooted."
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=020090a00b69dd2af9ab82eb0003ea2c"
+SECTION = "libs"
+
+SRCREV = "8ef2677a13d19aee3a834500f9c8a4dac9d68ef7"
+
+SRC_URI = "git://github.com/thkukuk/wtmpdb.git;branch=main;protocol=https \
+ file://0001-remove-lto-to-fix-link-error-of-clang.patch \
+"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig systemd features_check
+
+DEPENDS += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} sqlite3 "
+REQUIRED_DISTRO_FEATURES = "pam"
+
+SYSTEMD_SERVICE:${PN} = "wtmpdb-update-boot.service wtmpdb-rotate.service"
+
+EXTRA_OEMESON = " -Dpamlibdir=${libdir}"
+
+do_install:append () {
+ if [ -d ${D}${prefix}/lib/systemd -a ${D}${prefix}/lib != `dirname ${D}${systemd_unitdir}` ]; then
+ # Fix makefile hardcoded path assumptions for systemd (assumes $prefix)
+ # without usrmerge distro feature enabled
+ install -d `dirname ${D}${systemd_unitdir}`
+ mv ${D}${prefix}/lib/systemd `dirname ${D}${systemd_unitdir}`
+ fi
+}
+
+FILES:${PN} += " ${systemd_system_unitdir} "
+FILES:${PN} += " ${libdir} "
+FILES:${PN} += " ${nonarch_libdir}/tmpfiles.d/* "
diff --git a/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm-2.36_2.36.2.bb b/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm-2.36_2.36.2.bb
index a152ff2..fa47cbd 100644
--- a/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm-2.36_2.36.2.bb
+++ b/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm-2.36_2.36.2.bb
@@ -7,7 +7,6 @@
DEPENDS = "atk glibmm-2.68"
-GNOMEBASEBUILDCLASS = "meson"
GNOMEBN = "atkmm"
inherit gnomebase features_check
diff --git a/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.28.2.bb b/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.28.2.bb
index f6cb0a1..bc63747 100644
--- a/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.28.2.bb
+++ b/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.28.2.bb
@@ -7,7 +7,6 @@
DEPENDS = "atk glibmm"
-GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase features_check
diff --git a/meta-openembedded/meta-oe/recipes-gnome/gcab/gcab_1.4.bb b/meta-openembedded/meta-oe/recipes-gnome/gcab/gcab_1.4.bb
deleted file mode 100644
index 321e7c3..0000000
--- a/meta-openembedded/meta-oe/recipes-gnome/gcab/gcab_1.4.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "A GObject library to create cabinet files"
-HOMEPAGE = "https://gitlab.gnome.org/GNOME/gcab"
-LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-DEPENDS = "glib-2.0"
-
-SRC_URI = "\
- ${GNOME_MIRROR}/gcab/${PV}/gcab-${PV}.tar.xz \
- file://run-ptest \
-"
-SRC_URI[sha256sum] = "67a5fa9be6c923fbc9197de6332f36f69a33dadc9016a2b207859246711c048f"
-
-inherit gobject-introspection gtk-doc manpages meson ptest-gnome vala
-
-PACKAGECONFIG ??= "\
- ${@bb.utils.contains('USE_NLS', 'yes', 'nls', '', d)} \
- ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
-"
-PACKAGECONFIG[manpages] = ""
-PACKAGECONFIG[nls] = "-Dnls=true,-Dnls=false"
-PACKAGECONFIG[tests] = "-Dtests=true -Dinstalled_tests=true,-Dtests=false -Dinstalled_tests=false"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-gnome/gcab/gcab_1.6.bb b/meta-openembedded/meta-oe/recipes-gnome/gcab/gcab_1.6.bb
new file mode 100644
index 0000000..4278fc9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-gnome/gcab/gcab_1.6.bb
@@ -0,0 +1,24 @@
+SUMMARY = "A GObject library to create cabinet files"
+HOMEPAGE = "https://gitlab.gnome.org/GNOME/gcab"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = "glib-2.0"
+
+SRC_URI = "\
+ ${GNOME_MIRROR}/gcab/${PV}/gcab-${PV}.tar.xz \
+ file://run-ptest \
+"
+SRC_URI[sha256sum] = "2f0c9615577c4126909e251f9de0626c3ee7a152376c15b5544df10fc87e560b"
+
+inherit gobject-introspection gtk-doc manpages meson ptest-gnome vala
+
+PACKAGECONFIG ??= "\
+ ${@bb.utils.contains('USE_NLS', 'yes', 'nls', '', d)} \
+ ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
+"
+PACKAGECONFIG[manpages] = ""
+PACKAGECONFIG[nls] = "-Dnls=true,-Dnls=false"
+PACKAGECONFIG[tests] = "-Dtests=true -Dinstalled_tests=true,-Dtests=false -Dinstalled_tests=false"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-gnome/gcr/gcr3_3.41.1.bb b/meta-openembedded/meta-oe/recipes-gnome/gcr/gcr3_3.41.1.bb
index ba5660a..b3438b4 100644
--- a/meta-openembedded/meta-oe/recipes-gnome/gcr/gcr3_3.41.1.bb
+++ b/meta-openembedded/meta-oe/recipes-gnome/gcr/gcr3_3.41.1.bb
@@ -15,8 +15,9 @@
CFLAGS += "-D_GNU_SOURCE"
-GNOMEBASEBUILDCLASS = "meson"
GTKDOC_MESON_OPTION = "gtk_doc"
+VALA_MESON_OPTION ?= ''
+
inherit gnomebase gtk-icon-cache gi-docgen features_check upstream-version-is-even vala gobject-introspection gettext mime mime-xdg
UPSTREAM_CHECK_REGEX = "[^\d\.](?P<pver>3.(?!9\d+)\d+(\.\d+)+)\.tar"
@@ -39,6 +40,7 @@
FILES:${PN} += " \
${datadir}/dbus-1 \
${datadir}/gcr-3 \
+ ${datadir}/vala \
${systemd_user_unitdir}/gcr-ssh-agent.socket \
${systemd_user_unitdir}/gcr-ssh-agent.service \
"
diff --git a/meta-openembedded/meta-oe/recipes-gnome/gmime/gmime_3.2.13.bb b/meta-openembedded/meta-oe/recipes-gnome/gmime/gmime_3.2.13.bb
index c4738b2..d8a6c1d 100644
--- a/meta-openembedded/meta-oe/recipes-gnome/gmime/gmime_3.2.13.bb
+++ b/meta-openembedded/meta-oe/recipes-gnome/gmime/gmime_3.2.13.bb
@@ -5,6 +5,7 @@
DEPENDS = "glib-2.0 zlib"
+GNOMEBASEBUILDCLASS = "autotools"
inherit gnomebase gobject-introspection vala
SRC_URI = "https://github.com/jstedfast/${BPN}/releases/download/${PV}/${BP}.tar.xz \
diff --git a/meta-openembedded/meta-oe/recipes-gnome/gnome-common/gnome-common_3.18.0.bb b/meta-openembedded/meta-oe/recipes-gnome/gnome-common/gnome-common_3.18.0.bb
index ceebe5e..9447470 100644
--- a/meta-openembedded/meta-oe/recipes-gnome/gnome-common/gnome-common_3.18.0.bb
+++ b/meta-openembedded/meta-oe/recipes-gnome/gnome-common/gnome-common_3.18.0.bb
@@ -6,6 +6,7 @@
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SECTION = "x11/gnome"
+GNOMEBASEBUILDCLASS = "autotools"
inherit gnomebase allarch
SRC_URI[archive.md5sum] = "933258d9c23e218eb6eec9cc1951b053"
diff --git a/meta-openembedded/meta-oe/recipes-gnome/gnome-themes/adw-gtk3_4.9.bb b/meta-openembedded/meta-oe/recipes-gnome/gnome-themes/adw-gtk3_4.9.bb
deleted file mode 100644
index d7b7eef..0000000
--- a/meta-openembedded/meta-oe/recipes-gnome/gnome-themes/adw-gtk3_4.9.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "An unofficial GTK3 port of libadwaita."
-HOMEPAGE = "http://github.com/lassekongo83/adw-gtk3"
-SECTION = "graphics"
-LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1803fa9c2c3ce8cb06b4861d75310742"
-
-DEPENDS = "sassc-native"
-
-inherit meson
-
-SRC_URI = "git://github.com/lassekongo83/adw-gtk3.git;protocol=https;branch=main"
-
-S = "${WORKDIR}/git"
-SRCREV = "08d3dfbde51d4cb0a3bb8e58a81aa61064857d89"
-
-FILES:${PN} = "${datadir}/themes"
diff --git a/meta-openembedded/meta-oe/recipes-gnome/gnome-themes/adw-gtk3_5.1.bb b/meta-openembedded/meta-oe/recipes-gnome/gnome-themes/adw-gtk3_5.1.bb
new file mode 100644
index 0000000..577acda
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-gnome/gnome-themes/adw-gtk3_5.1.bb
@@ -0,0 +1,16 @@
+SUMMARY = "An unofficial GTK3 port of libadwaita."
+HOMEPAGE = "http://github.com/lassekongo83/adw-gtk3"
+SECTION = "graphics"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1803fa9c2c3ce8cb06b4861d75310742"
+
+DEPENDS = "sassc-native"
+
+inherit meson
+
+SRC_URI = "git://github.com/lassekongo83/adw-gtk3.git;protocol=https;branch=main"
+
+S = "${WORKDIR}/git"
+SRCREV = "a3e1050341956fcae53b2b4403affcf2578a42f4"
+
+FILES:${PN} = "${datadir}/themes"
diff --git a/meta-openembedded/meta-oe/recipes-gnome/gnome-themes/gnome-themes-extra_3.28.bb b/meta-openembedded/meta-oe/recipes-gnome/gnome-themes/gnome-themes-extra_3.28.bb
index 227422d..c853668 100644
--- a/meta-openembedded/meta-oe/recipes-gnome/gnome-themes/gnome-themes-extra_3.28.bb
+++ b/meta-openembedded/meta-oe/recipes-gnome/gnome-themes/gnome-themes-extra_3.28.bb
@@ -6,6 +6,7 @@
LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1"
+GNOMEBASEBUILDCLASS = "autotools"
inherit gnomebase gettext gtk-icon-cache upstream-version-is-even features_check
ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
diff --git a/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.7.bb b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.7.bb
index 28d2bb1..cac6474 100644
--- a/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.7.bb
+++ b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.7.bb
@@ -10,7 +10,6 @@
BPN = "gtkmm"
-GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase features_check
diff --git a/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm_2.24.5.bb b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm_2.24.5.bb
index 54e75a2..87b0f5e 100644
--- a/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm_2.24.5.bb
+++ b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm_2.24.5.bb
@@ -8,6 +8,7 @@
DEPENDS = "atkmm pangomm glibmm gtk+ cairomm"
+GNOMEBASEBUILDCLASS = "autotools"
inherit gnomebase features_check
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas_1.36.0.bb b/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas_1.36.0.bb
index 9920603..016981f 100644
--- a/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas_1.36.0.bb
+++ b/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas_1.36.0.bb
@@ -5,7 +5,6 @@
DEPENDS = "gtk+3"
-GNOMEBASEBUILDCLASS = "meson"
GTKDOC_MESON_OPTION = "gtk_doc"
inherit gnomebase gobject-introspection gi-docgen gtk-icon-cache features_check
diff --git a/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9.inc b/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9.inc
deleted file mode 100644
index 2a16539..0000000
--- a/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9.inc
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Virtual terminal emulator GTK+ widget library"
-BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?product=vte"
-LICENSE = "LGPL-2.0-only"
-DEPENDS = "glib-2.0-native glib-2.0 gtk+ intltool-native gnome-common-native ncurses"
-RDEPENDS:libvte = "vte-termcap"
-
-# help gnomebase get the SRC_URI correct
-GNOMEBN = "vte"
-S = "${WORKDIR}/vte-${PV}"
-
-inherit gnomebase gtk-doc features_check upstream-version-is-even gobject-introspection
-ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
-
-EXTRA_OECONF = "--disable-python"
-
-PACKAGES =+ "libvte9 vte9-termcap"
-FILES:libvte9 = "${libdir}/*.so.* ${libexecdir}/gnome-pty-helper"
-FILES:vte9-termcap = "${datadir}/vte/termcap-0.0"
diff --git a/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9_0.28.2.bb b/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9_0.28.2.bb
deleted file mode 100644
index 72bc9ec..0000000
--- a/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9_0.28.2.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require vte9.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
-
-SRC_URI += "file://obsolete_automake_macros.patch \
- file://cve-2012-2738.patch \
- "
-
-CFLAGS += "-D_GNU_SOURCE"
-
-SRC_URI[archive.md5sum] = "497f26e457308649e6ece32b3bb142ff"
-SRC_URI[archive.sha256sum] = "86cf0b81aa023fa93ed415653d51c96767f20b2d7334c893caba71e42654b0ae"
diff --git a/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9_0.74.1.bb b/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9_0.74.1.bb
new file mode 100644
index 0000000..a10b917
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9_0.74.1.bb
@@ -0,0 +1,30 @@
+SUMMARY = "Virtual terminal emulator GTK+ widget library"
+BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?product=vte"
+LICENSE = "LGPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING.LGPL3;md5=b52f2d57d10c4f7ee67a7eb9615d5d24"
+
+DEPENDS = "glib-2.0-native glib-2.0 gnutls gtk+3 gtk4 intltool-native gnome-common-native ncurses"
+
+# help gnomebase get the SRC_URI correct
+GNOMEBN = "vte"
+S = "${WORKDIR}/vte-${PV}"
+
+SRC_URI[archive.sha256sum] = "2328c3f1c998350a18e0e513348e9fc581d57ea4e7b89aedf11e0e3c65042b4f"
+
+inherit gnomebase gi-docgen gobject-introspection features_check systemd upstream-version-is-even vala
+ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
+GIR_MESON_OPTION = "gir"
+GIDOCGEN_MESON_OPTION = "docs"
+
+PACKAGECONFIG ?= "gnutls ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls"
+PACKAGECONFIG[fribidi] = "-Dfribidi=true,-Dfribidi=false,fribidi"
+PACKAGECONFIG[systemd] = "-D_systemd=true,-D_systemd=false,"
+
+CFLAGS += "-D_GNU_SOURCE"
+
+PACKAGES =+ "libvte9 vte9-termcap"
+FILES:libvte9 = "${libdir}/*.so.* ${libexecdir}/gnome-pty-helper ${datadir}/glade ${systemd_user_unitdir}"
+FILES:vte9-termcap = "${datadir}/vte/termcap-0.0"
+
+RDEPENDS:libvte = "vte-termcap"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/cairo/cairomm-1.16_1.16.2.bb b/meta-openembedded/meta-oe/recipes-graphics/cairo/cairomm-1.16_1.16.2.bb
deleted file mode 100644
index c1e271f..0000000
--- a/meta-openembedded/meta-oe/recipes-graphics/cairo/cairomm-1.16_1.16.2.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "C++ bindings for Cairo graphics library"
-
-LICENSE = "LGPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c46bda00ffbb0ba1dac22f8d087f54d9"
-
-GNOMEBASEBUILDCLASS = "meson"
-inherit gnomebase
-
-DEPENDS += "boost cairo libsigc++-3"
-
-SRC_URI = "https://www.cairographics.org/releases/cairomm-${PV}.tar.xz"
-SRC_URI[sha256sum] = "6a63bf98a97dda2b0f55e34d1b5f3fb909ef8b70f9b8d382cb1ff3978e7dc13f"
-
-S = "${WORKDIR}/cairomm-${PV}"
-
-FILES:${PN}-doc += "${datadir}/devhelp"
-FILES:${PN}-dev += "${libdir}/cairomm-*/"
-
diff --git a/meta-openembedded/meta-oe/recipes-graphics/cairo/cairomm-1.16_1.18.0.bb b/meta-openembedded/meta-oe/recipes-graphics/cairo/cairomm-1.16_1.18.0.bb
new file mode 100644
index 0000000..a6872ef
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/cairo/cairomm-1.16_1.18.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "C++ bindings for Cairo graphics library"
+
+LICENSE = "LGPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c46bda00ffbb0ba1dac22f8d087f54d9"
+
+inherit gnomebase
+
+DEPENDS += "boost cairo libsigc++-3"
+
+SRC_URI = "https://www.cairographics.org/releases/cairomm-${PV}.tar.xz"
+SRC_URI[sha256sum] = "b81255394e3ea8e8aa887276d22afa8985fc8daef60692eb2407d23049f03cfb"
+
+S = "${WORKDIR}/cairomm-${PV}"
+
+FILES:${PN}-doc += "${datadir}/devhelp"
+FILES:${PN}-dev += "${libdir}/cairomm-*/"
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/cairo/cairomm_1.14.3.bb b/meta-openembedded/meta-oe/recipes-graphics/cairo/cairomm_1.14.3.bb
index 8123509..54a2b07 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/cairo/cairomm_1.14.3.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/cairo/cairomm_1.14.3.bb
@@ -3,7 +3,6 @@
LICENSE = "LGPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=c46bda00ffbb0ba1dac22f8d087f54d9"
-GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase
DEPENDS += "boost cairo libsigc++-2.0"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/feh/feh_3.10.1.bb b/meta-openembedded/meta-oe/recipes-graphics/feh/feh_3.10.1.bb
new file mode 100644
index 0000000..40145b8
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/feh/feh_3.10.1.bb
@@ -0,0 +1,30 @@
+SUMMARY = "X11 image viewer aimed mostly at console users"
+HOMEPAGE = "https://feh.finalrewind.org/"
+SECTION = "x11/utils"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=150e4c518ff8aaecfe35694e47661d9a"
+DEPENDS = "\
+ imlib2 \
+ virtual/libx11 libxt\
+"
+
+SRC_URI = "https://feh.finalrewind.org/feh-${PV}.tar.bz2"
+SRC_URI[sha256sum] = "ec5e44d3cfe6f50f1c64f28a6f0225d958f4f4621726d9c2a04b5a32e5106d23"
+
+inherit mime-xdg features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+EXTRA_OEMAKE = "curl=0 xinerama=0 PREFIX=/usr"
+
+do_compile () {
+ oe_runmake
+}
+
+do_install () {
+ oe_runmake install app=1 'DESTDIR=${D}' 'ICON_PREFIX=${D}${datadir}/icons'
+}
+
+RDEPENDS:${PN} += "imlib2-loaders"
+
+FILES:${PN} += "${datadir}/icons"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/feh/feh_3.10.bb b/meta-openembedded/meta-oe/recipes-graphics/feh/feh_3.10.bb
deleted file mode 100644
index ec18f11..0000000
--- a/meta-openembedded/meta-oe/recipes-graphics/feh/feh_3.10.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "X11 image viewer aimed mostly at console users"
-HOMEPAGE = "https://feh.finalrewind.org/"
-SECTION = "x11/utils"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f91bd06901085c94bdc50649d98c5059"
-DEPENDS = "\
- imlib2 \
- virtual/libx11 libxt\
-"
-
-SRC_URI = "https://feh.finalrewind.org/feh-${PV}.tar.bz2"
-SRC_URI[sha256sum] = "1d71d1f6dcfe9ffee5e2766969a11978f7eb4fac7d7ae556f104c11f9c57cc98"
-
-inherit mime-xdg features_check
-# depends on virtual/libx11
-REQUIRED_DISTRO_FEATURES = "x11"
-
-EXTRA_OEMAKE = "curl=0 xinerama=0 PREFIX=/usr"
-
-do_compile () {
- oe_runmake
-}
-
-do_install () {
- oe_runmake install app=1 'DESTDIR=${D}' 'ICON_PREFIX=${D}${datadir}/icons'
-}
-
-RDEPENDS:${PN} += "imlib2-loaders"
-
-FILES:${PN} += "${datadir}/icons"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/imlib2/imlib2_git.bb b/meta-openembedded/meta-oe/recipes-graphics/imlib2/imlib2_git.bb
index 9b8849b..113b866 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/imlib2/imlib2_git.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/imlib2/imlib2_git.bb
@@ -7,8 +7,8 @@
DEPENDS = "freetype "
PROVIDES = "virtual/imlib2"
-PV = "1.7.1"
-SRCREV = "01424487e360383a039dc123bc2a345fe7ea2535"
+PV = "1.12.1"
+SRCREV = "9198db25369f04db069ce61a661c3c47b2622655"
inherit autotools pkgconfig lib_package
@@ -28,7 +28,6 @@
PACKAGECONFIG[tiff] = "--with-tiff,--without-tiff,tiff"
PACKAGECONFIG[webp] = "--with-webp,--without-webp,libwebp"
-PACKAGECONFIG[bzip2] = "--with-bzip2,--without-bzip2,bzip2"
PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
PACKAGECONFIG[id3] = "--with-id3,--without-id3,libid3tag"
@@ -37,6 +36,3 @@
FILES:${PN}-data = "${datadir}"
FILES:imlib2-loaders = "${libdir}/imlib2/loaders/*.so"
FILES:imlib2-filters = "${libdir}/imlib2/filters/*.so"
-
-inherit multilib_script
-MULTILIB_SCRIPTS = "${PN}-bin:${bindir}/imlib2-config"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libdecor/libdecor_0.1.99.bb b/meta-openembedded/meta-oe/recipes-graphics/libdecor/libdecor_0.1.99.bb
deleted file mode 100644
index 078058e..0000000
--- a/meta-openembedded/meta-oe/recipes-graphics/libdecor/libdecor_0.1.99.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "libdecor - A client-side decorations library for Wayland clients"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=7ae2be7fb1637141840314b51970a9f7"
-
-SRC_URI = " \
- git://gitlab.freedesktop.org/libdecor/libdecor.git;protocol=https;branch=master \
-"
-
-DEPENDS = " \
- cairo \
- pango \
- wayland \
- wayland-native \
- wayland-protocols \
-"
-
-S = "${WORKDIR}/git"
-SRCREV = "0d63d125f899dbb1b932468f2f3b911f9c121e58"
-
-PACKAGECONFIG ?= "dbus ${@bb.utils.filter('DISTRO_FEATURES', 'gtk+3', d)}"
-
-PACKAGECONFIG[dbus] = "-Ddbus=enabled,-Ddbus=disabled,dbus"
-PACKAGECONFIG[demo] = "-Ddemo=true,-Ddemo=false,virtual/libegl libxkbcommon"
-PACKAGECONFIG[install_demo] = "-Dinstall_demo=true,-Dinstall_demo=false"
-PACKAGECONFIG[gtk+3] = "-Dgtk=enabled,-Dgtk=disabled,gtk+3"
-
-inherit meson pkgconfig
-
-EXTRA_OEMESON += "--buildtype release"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libdecor/libdecor_0.2.0.bb b/meta-openembedded/meta-oe/recipes-graphics/libdecor/libdecor_0.2.0.bb
new file mode 100644
index 0000000..7c1ebc1
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/libdecor/libdecor_0.2.0.bb
@@ -0,0 +1,31 @@
+SUMMARY = "libdecor - A client-side decorations library for Wayland clients"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7ae2be7fb1637141840314b51970a9f7"
+
+SRC_URI = " \
+ git://gitlab.freedesktop.org/libdecor/libdecor.git;protocol=https;branch=master \
+"
+
+DEPENDS = " \
+ cairo \
+ pango \
+ wayland \
+ wayland-native \
+ wayland-protocols \
+"
+
+S = "${WORKDIR}/git"
+SRCREV = "ad320fc0e0ec2cd75a87fed454a9c7d6d1921464"
+
+PACKAGECONFIG ?= "dbus ${@bb.utils.filter('DISTRO_FEATURES', 'gtk+3', d)}"
+
+PACKAGECONFIG[dbus] = "-Ddbus=enabled,-Ddbus=disabled,dbus"
+PACKAGECONFIG[demo] = "-Ddemo=true,-Ddemo=false,virtual/libegl libxkbcommon"
+PACKAGECONFIG[install_demo] = "-Dinstall_demo=true,-Dinstall_demo=false"
+PACKAGECONFIG[gtk+3] = "-Dgtk=enabled,-Dgtk=disabled,gtk+3"
+
+inherit meson pkgconfig
+
+EXTRA_OEMESON += "--buildtype release"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/lvgl/lv-drivers.inc b/meta-openembedded/meta-oe/recipes-graphics/lvgl/lv-drivers.inc
index dcf1ad1..6cfb7fa 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/lvgl/lv-drivers.inc
+++ b/meta-openembedded/meta-oe/recipes-graphics/lvgl/lv-drivers.inc
@@ -17,6 +17,8 @@
LVGL_CONFIG_WAYLAND_HOR_RES ?= "480"
LVGL_CONFIG_WAYLAND_VER_RES ?= "320"
+ALLOW_EMPTY:${PN} = "1"
+
EXTRA_OECMAKE += "-Dinstall:BOOL=ON -DLIB_INSTALL_DIR=${baselib}"
do_configure:append() {
diff --git a/meta-openembedded/meta-oe/recipes-graphics/lvgl/lvgl_8.3.10.bb b/meta-openembedded/meta-oe/recipes-graphics/lvgl/lvgl_8.3.10.bb
new file mode 100644
index 0000000..7dd36ca
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/lvgl/lvgl_8.3.10.bb
@@ -0,0 +1,44 @@
+# SPDX-FileCopyrightText: Huawei Inc.
+#
+# SPDX-License-Identifier: MIT
+
+HOMEPAGE = "https://lvgl.io/"
+DESCRIPTION = "LVGL is an OSS graphics library to create embedded GUI"
+SUMMARY = "Light and Versatile Graphics Library"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=bf1198c89ae87f043108cea62460b03a"
+
+SRC_URI = "git://github.com/lvgl/lvgl;protocol=https;branch=release/v8.3"
+SRCREV = "06e229cc7679c01119ca5d905a1f9dad96f475f0"
+
+inherit cmake
+
+EXTRA_OECMAKE = "-DLIB_INSTALL_DIR=${baselib}"
+S = "${WORKDIR}/git"
+
+ALLOW_EMPTY:${PN} = "1"
+
+LVGL_CONFIG_LV_MEM_CUSTOM ?= "0"
+LVGL_CONFIG_LV_COLOR_DEPTH ?= "32"
+
+# Upstream does not support a default configuration
+# but propose a default "disabled" template, which is used as reference
+# More configuration can be done using external configuration variables
+do_configure:prepend() {
+ [ -r "${S}/lv_conf.h" ] \
+ || sed -e 's|#if 0 .*Set it to "1" to enable .*|#if 1 // Enabled|g' \
+ -e "s|\(#define LV_COLOR_DEPTH \).*|\1 ${LVGL_CONFIG_LV_COLOR_DEPTH}|g" \
+ \
+ -e "s|\(#define LV_MEM_CUSTOM .*\)0|\1${LVGL_CONFIG_LV_MEM_CUSTOM}|g" \
+ \
+ -e "s|\(#define LV_TICK_CUSTOM \).*|\1 1|g" \
+ -e "s|\(#define LV_TICK_CUSTOM_INCLUDE \).*|\1 <stdint.h>|g" \
+ -e "s|\(#define LV_TICK_CUSTOM_SYS_TIME_EXPR \).*|extern uint32_t custom_tick_get(void);\n\1 (custom_tick_get())|g" \
+ \
+ < "${S}/lv_conf_template.h" > "${S}/lv_conf.h"
+}
+
+FILES:${PN}-dev += "\
+ ${includedir}/${PN}/ \
+ ${includedir}/${PN}/lvgl/ \
+ "
diff --git a/meta-openembedded/meta-oe/recipes-graphics/lvgl/lvgl_8.3.9.bb b/meta-openembedded/meta-oe/recipes-graphics/lvgl/lvgl_8.3.9.bb
deleted file mode 100644
index dc681c2..0000000
--- a/meta-openembedded/meta-oe/recipes-graphics/lvgl/lvgl_8.3.9.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-# SPDX-FileCopyrightText: Huawei Inc.
-#
-# SPDX-License-Identifier: MIT
-
-HOMEPAGE = "https://lvgl.io/"
-DESCRIPTION = "LVGL is an OSS graphics library to create embedded GUI"
-SUMMARY = "Light and Versatile Graphics Library"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=bf1198c89ae87f043108cea62460b03a"
-
-SRC_URI = "git://github.com/lvgl/lvgl;protocol=https;branch=release/v8.3"
-SRCREV = "9ec3b8706b098f60940cee6ac211d3cb3141aedf"
-
-inherit cmake
-
-EXTRA_OECMAKE = "-DLIB_INSTALL_DIR=${baselib}"
-S = "${WORKDIR}/git"
-
-LVGL_CONFIG_LV_MEM_CUSTOM ?= "0"
-LVGL_CONFIG_LV_COLOR_DEPTH ?= "32"
-
-# Upstream does not support a default configuration
-# but propose a default "disabled" template, which is used as reference
-# More configuration can be done using external configuration variables
-do_configure:prepend() {
- [ -r "${S}/lv_conf.h" ] \
- || sed -e 's|#if 0 .*Set it to "1" to enable .*|#if 1 // Enabled|g' \
- -e "s|\(#define LV_COLOR_DEPTH \).*|\1 ${LVGL_CONFIG_LV_COLOR_DEPTH}|g" \
- \
- -e "s|\(#define LV_MEM_CUSTOM .*\)0|\1${LVGL_CONFIG_LV_MEM_CUSTOM}|g" \
- \
- -e "s|\(#define LV_TICK_CUSTOM \).*|\1 1|g" \
- -e "s|\(#define LV_TICK_CUSTOM_INCLUDE \).*|\1 <stdint.h>|g" \
- -e "s|\(#define LV_TICK_CUSTOM_SYS_TIME_EXPR \).*|extern uint32_t custom_tick_get(void);\n\1 (custom_tick_get())|g" \
- \
- < "${S}/lv_conf_template.h" > "${S}/lv_conf.h"
-}
-
-FILES:${PN}-dev += "\
- ${includedir}/${PN}/ \
- ${includedir}/${PN}/lvgl/ \
- "
diff --git a/meta-openembedded/meta-oe/recipes-graphics/neatvnc/neatvnc_0.7.1.bb b/meta-openembedded/meta-oe/recipes-graphics/neatvnc/neatvnc_0.7.1.bb
new file mode 100644
index 0000000..99e6331
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/neatvnc/neatvnc_0.7.1.bb
@@ -0,0 +1,38 @@
+SUMMARY = "A liberally licensed VNC server library"
+DESCRIPTION = "This is a liberally licensed VNC server library that's intended to be fast and neat."
+HOMEPAGE = "https://github.com/any1/neatvnc"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94fc374e7174f41e3afe0f027ee59ff7"
+
+SRC_URI = "git://github.com/any1/neatvnc;branch=v0.7;protocol=https"
+
+SRCREV = "b5b330b22c6a0fdeb718a9e7ee0732cc406863fa"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "libdrm pixman aml zlib"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[tls] = "-Dtls=enabled,-Dtls=disabled,gnutls"
+PACKAGECONFIG[jpeg] = "-Djpeg=enabled,-Djpeg=disabled,libjpeg-turbo"
+PACKAGECONFIG[examples] = "-Dexamples=true,-Dexamples=false,libpng"
+PACKAGECONFIG[benchmarks] = "-Dbenchmarks=true,-Dbenchmarks=false,libpng"
+
+PACKAGE_BEFORE_PN += "${PN}-examples"
+ALLOW_EMPTY:${PN}-examples = "1"
+FILES:${PN}-examples = "${bindir}"
+
+NEATVNC_EXAMPLES = "draw png-server"
+
+inherit meson pkgconfig
+
+do_install:append () {
+ if ${@bb.utils.contains('PACKAGECONFIG', 'examples', 'true', 'false', d)}; then
+ install -d ${D}${bindir}
+ for bin in ${NEATVNC_EXAMPLES}; do
+ install -m 0755 ${B}/examples/$bin ${D}${bindir}
+ done
+ fi
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/neatvnc/neatvnc_git.bb b/meta-openembedded/meta-oe/recipes-graphics/neatvnc/neatvnc_git.bb
deleted file mode 100644
index 8344015..0000000
--- a/meta-openembedded/meta-oe/recipes-graphics/neatvnc/neatvnc_git.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-SUMMARY = "A liberally licensed VNC server library"
-DESCRIPTION = "This is a liberally licensed VNC server library that's intended to be fast and neat."
-HOMEPAGE = "https://github.com/any1/neatvnc"
-LICENSE = "ISC"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94fc374e7174f41e3afe0f027ee59ff7"
-
-SRC_URI = "git://github.com/any1/neatvnc;branch=master;protocol=https"
-
-SRCREV = "8b3dc1ae6099dcfa73aec3ae11df2fdc58540d14"
-
-PV = "0.6.0+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-DEPENDS = "libdrm pixman aml zlib"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[tls] = "-Dtls=enabled,-Dtls=disabled,gnutls"
-PACKAGECONFIG[jpeg] = "-Djpeg=enabled,-Djpeg=disabled,libjpeg-turbo"
-PACKAGECONFIG[examples] = "-Dexamples=true,-Dexamples=false,libpng"
-PACKAGECONFIG[benchmarks] = "-Dbenchmarks=true,-Dbenchmarks=false,libpng"
-
-PACKAGE_BEFORE_PN += "${PN}-examples"
-ALLOW_EMPTY:${PN}-examples = "1"
-FILES:${PN}-examples = "${bindir}"
-
-NEATVNC_EXAMPLES = "draw png-server"
-
-inherit meson pkgconfig
-
-do_install:append () {
- if ${@bb.utils.contains('PACKAGECONFIG', 'examples', 'true', 'false', d)}; then
- install -d ${D}${bindir}
- for bin in ${NEATVNC_EXAMPLES}; do
- install -m 0755 ${B}/examples/$bin ${D}${bindir}
- done
- fi
-}
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/openbox/openbox_3.6.1.bb b/meta-openembedded/meta-oe/recipes-graphics/openbox/openbox_3.6.1.bb
index 4c97c03..9a15077 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/openbox/openbox_3.6.1.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/openbox/openbox_3.6.1.bb
@@ -1,6 +1,6 @@
SUMMARY = "openbox Window Manager"
SECTION = "x11/wm"
-DEPENDS = "glib-2.0 pango libxml2 virtual/libx11 libcroco librsvg gdk-pixbuf"
+DEPENDS = "glib-2.0 pango libxml2 virtual/libx11 librsvg gdk-pixbuf"
LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.5.0.bb b/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.5.0.bb
index c71e535..f2d7407 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.5.0.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.5.0.bb
@@ -18,4 +18,4 @@
FILES:${PN} += "${libdir}/openjpeg*"
-BBCLASSEXTEND = "native nativesdk"
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm-2.48_2.50.1.bb b/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm-2.48_2.50.1.bb
index b4079f7..86787a6 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm-2.48_2.50.1.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm-2.48_2.50.1.bb
@@ -6,7 +6,6 @@
DEPENDS = "mm-common cairomm-1.16 glibmm-2.68 pango"
-GNOMEBASEBUILDCLASS = "meson"
GNOMEBN = "pangomm"
inherit gnomebase features_check
diff --git a/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.46.2.bb b/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.46.2.bb
index 42074c1..da822f3 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.46.2.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.46.2.bb
@@ -6,7 +6,6 @@
DEPENDS = "mm-common cairomm glibmm pango"
-GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase features_check
diff --git a/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract_5.3.2.bb b/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract_5.3.2.bb
deleted file mode 100644
index db66e89..0000000
--- a/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract_5.3.2.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "A commercial quality OCR engine "
-HOMEPAGE = "https://github.com/tesseract-ocr/tesseract"
-BUGTRACKER = "https://github.com/tesseract-ocr/tesseract/issues"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-SRCREV = "489f101c7e2276c00490f3ab70e9e7926fc6b481"
-SRC_URI = "git://github.com/${BPN}-ocr/${BPN}.git;branch=main;protocol=https"
-
-S = "${WORKDIR}/git"
-
-DEPENDS = "leptonica"
-
-EXTRA_OECONF += "LIBLEPT_HEADERSDIR=${STAGING_INCDIR}/leptonica"
-
-inherit autotools pkgconfig
-
-FILES:${PN} += "${datadir}/tessdata"
-
-RRECOMMENDS:${PN} += "tesseract-lang-eng"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract_5.3.3.bb b/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract_5.3.3.bb
new file mode 100644
index 0000000..e5310ae
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract_5.3.3.bb
@@ -0,0 +1,21 @@
+SUMMARY = "A commercial quality OCR engine "
+HOMEPAGE = "https://github.com/tesseract-ocr/tesseract"
+BUGTRACKER = "https://github.com/tesseract-ocr/tesseract/issues"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRCREV = "e082522c248d3121e466959a8ba4fd4f7ad1a525"
+SRC_URI = "git://github.com/${BPN}-ocr/${BPN}.git;branch=main;protocol=https"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "leptonica"
+
+EXTRA_OECONF += "LIBLEPT_HEADERSDIR=${STAGING_INCDIR}/leptonica"
+
+inherit autotools pkgconfig
+
+FILES:${PN} += "${datadir}/tessdata"
+
+RRECOMMENDS:${PN} += "tesseract-lang-eng"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbutils_1.0.5.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbutils_1.0.5.bb
index a672ba5..f078ad6 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbutils_1.0.5.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbutils_1.0.5.bb
@@ -13,7 +13,5 @@
DEPENDS += "libxaw libxkbfile"
-BBCLASSEXTEND = "native"
-
SRC_URI_EXT = "xz"
SRC_URI[sha256sum] = "f6a4a8e9c54582beb3787b1faa8168caab125c1fee0ca9cfa5b6c9c1df25eea4"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.2.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.2.bb
index 30a1e08..a9a8acf 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.2.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.2.bb
@@ -8,7 +8,6 @@
LIC_FILES_CHKSUM = "file://COPYING;md5=6ea29dbee22324787c061f039e0529de"
DEPENDS += "xbitmaps libxcursor"
-BBCLASSEXTEND = "native"
SRC_URI[md5sum] = "5fe769c8777a6e873ed1305e4ce2c353"
SRC_URI[sha256sum] = "10c442ba23591fb5470cea477a0aa5f679371f4f879c8387a1d9d05637ae417c"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_384.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_384.bb
deleted file mode 100644
index ae046b1..0000000
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_384.bb
+++ /dev/null
@@ -1,50 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-SUMMARY = "xterm is the standard terminal emulator for the X Window System"
-DEPENDS = "libxaw xorgproto libxext libxau libxinerama libxpm ncurses desktop-file-utils-native"
-
-LIC_FILES_CHKSUM = "file://xterm.h;beginline=3;endline=31;md5=9c96124b492c0c02356850c243aaeca2"
-
-SRC_URI = "http://invisible-mirror.net/archives/${BPN}/${BP}.tgz \
- file://0001-Add-configure-time-check-for-setsid.patch \
- "
-
-SRC_URI[sha256sum] = "31ef870740ceae020c3c4b4a9601c7f47bfd46672c1aaf2d213a565d64cbc373"
-
-PACKAGECONFIG ?= ""
-PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native"
-
-# Let xterm install .desktop files
-inherit mime-xdg
-
-EXTRA_OECONF = " --x-includes=${STAGING_INCDIR} \
- --x-libraries=${STAGING_LIBDIR} \
- FREETYPE_CONFIG=${STAGING_BINDIR_CROSS}/freetype-config \
- --disable-imake \
- --disable-rpath-hack \
- --disable-setuid \
- --with-app-defaults=${datadir}/X11/app-defaults \
- "
-
-B = "${S}"
-
-CFLAGS += "-D_GNU_SOURCE"
-
-do_configure() {
- gnu-configize --force
- sed -e "s%/usr/contrib/X11R6%${STAGING_LIBDIR}%g" -i configure
- oe_runconf
-}
-
-do_install:append() {
- oe_runmake install-desktop DESTDIR="${D}" DESKTOP_FLAGS="--dir=${D}${DESKTOPDIR}"
-}
-
-RPROVIDES:${PN} = "virtual-x-terminal-emulator"
-
-# busybox can supply resize too
-inherit update-alternatives
-
-ALTERNATIVE:${PN} = "resize x-terminal-emulator"
-ALTERNATIVE_TARGET[x-terminal-emulator] = "${bindir}/xterm"
-# rxvt-unicode defaults to priority 10. Let's be one point lower to let it override xterm.
-ALTERNATIVE_PRIORITY[x-terminal-emulator] = "9"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_388.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_388.bb
new file mode 100644
index 0000000..8578f0c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_388.bb
@@ -0,0 +1,50 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+SUMMARY = "xterm is the standard terminal emulator for the X Window System"
+DEPENDS = "libxaw xorgproto libxext libxau libxinerama libxpm ncurses desktop-file-utils-native"
+
+LIC_FILES_CHKSUM = "file://xterm.h;beginline=3;endline=31;md5=9c96124b492c0c02356850c243aaeca2"
+
+SRC_URI = "http://invisible-mirror.net/archives/${BPN}/${BP}.tgz \
+ file://0001-Add-configure-time-check-for-setsid.patch \
+ "
+
+SRC_URI[sha256sum] = "ac429345e6f937a5945a89d425a265fee6c215fc669dbdc6a0326e21f4c5f674"
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native"
+
+# Let xterm install .desktop files
+inherit mime-xdg
+
+EXTRA_OECONF = " --x-includes=${STAGING_INCDIR} \
+ --x-libraries=${STAGING_LIBDIR} \
+ FREETYPE_CONFIG=${STAGING_BINDIR_CROSS}/freetype-config \
+ --disable-imake \
+ --disable-rpath-hack \
+ --disable-setuid \
+ --with-app-defaults=${datadir}/X11/app-defaults \
+ "
+
+B = "${S}"
+
+CFLAGS += "-D_GNU_SOURCE"
+
+do_configure() {
+ gnu-configize --force
+ sed -e "s%/usr/contrib/X11R6%${STAGING_LIBDIR}%g" -i configure
+ oe_runconf
+}
+
+do_install:append() {
+ oe_runmake install-desktop DESTDIR="${D}" DESKTOP_FLAGS="--dir=${D}${DESKTOPDIR}"
+}
+
+RPROVIDES:${PN} = "virtual-x-terminal-emulator"
+
+# busybox can supply resize too
+inherit update-alternatives
+
+ALTERNATIVE:${PN} = "resize x-terminal-emulator"
+ALTERNATIVE_TARGET[x-terminal-emulator] = "${bindir}/xterm"
+# rxvt-unicode defaults to priority 10. Let's be one point lower to let it override xterm.
+ALTERNATIVE_PRIORITY[x-terminal-emulator] = "9"
diff --git a/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool/0001-configure-Remove-the-logic-to-download-IANA-PEN-data.patch b/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool/0001-configure-Remove-the-logic-to-download-IANA-PEN-data.patch
deleted file mode 100644
index 442f132..0000000
--- a/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool/0001-configure-Remove-the-logic-to-download-IANA-PEN-data.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 63d72f97bd106dd2101cd7fdac6df4f7a053d67c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 2 Sep 2022 08:27:39 -0700
-Subject: [PATCH] configure: Remove the logic to download IANA PEN database
- during configure
-
-OE will do all downloading before it starts to configure therefore this
-step is moved out into bitbake recipe, so we can make it immutable build
-
-Upstream-Status: Inappropriate [OE-Specific]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- configure.ac | 16 +---------------
- 1 file changed, 1 insertion(+), 15 deletions(-)
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -56,21 +56,7 @@ if test "x$exec_prefix" = "xNONE"; then
- exec_prefix="$prefix"
- fi
-
--if test "x$WGET" = "x"; then
-- if test "x$CURL" = "x"; then
-- AC_MSG_WARN([** Neither wget nor curl could be found.])
-- AC_MSG_WARN([** IANA PEN database will not be installed by `make install` !])
-- else
-- DOWNLOAD="$CURL --location --progress-bar"
-- AM_CONDITIONAL([DOWNLOAD], [true])
-- fi
--else
-- DOWNLOAD="$WGET -c -nd -O -"
-- AM_CONDITIONAL([DOWNLOAD], [true])
--fi
--
--AC_MSG_WARN([** Download is:])
--AC_MSG_WARN($DOWNLOAD)
-+AM_CONDITIONAL([DOWNLOAD], [false])
- AC_SUBST(DOWNLOAD, $DOWNLOAD)
-
- dnl
diff --git a/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool_1.8.19.bb b/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool_1.8.19.bb
index ab9074b..a8279f5 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool_1.8.19.bb
+++ b/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool_1.8.19.bb
@@ -21,10 +21,9 @@
LIC_FILES_CHKSUM = "file://COPYING;md5=9aa91e13d644326bf281924212862184"
DEPENDS = "openssl readline ncurses"
-SRCREV = "19d78782d795d0cf4ceefe655f616210c9143e62"
+SRCREV = "ab5ce5baff097ebb6e2a17a171858be213ee68d3"
SRC_URI = "git://codeberg.org/ipmitool/ipmitool;protocol=https;branch=master \
${IANA_ENTERPRISE_NUMBERS} \
- file://0001-configure-Remove-the-logic-to-download-IANA-PEN-data.patch \
"
IANA_ENTERPRISE_NUMBERS ?= ""
@@ -34,7 +33,7 @@
S = "${WORKDIR}/git"
-inherit autotools
+inherit autotools pkgconfig
do_install:append() {
if [ -e ${WORKDIR}/iana-enterprise-numbers ]; then
@@ -50,5 +49,10 @@
# --enable-file-security adds some security checks
# --disable-intf-free disables FreeIPMI support - we don't want to depend on
# FreeIPMI libraries, FreeIPMI has its own ipmitoool-like utility.
+# --disable-registry-download prevents the IANA numbers from being fetched
+# at build time, as it is not repeatable.
#
-EXTRA_OECONF = "--disable-dependency-tracking --enable-file-security --disable-intf-free"
+EXTRA_OECONF = "--disable-dependency-tracking --enable-file-security --disable-intf-free \
+ --disable-registry-download \
+ "
+
diff --git a/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_1.2.0.bb b/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_1.2.0.bb
deleted file mode 100644
index a8e1e5c..0000000
--- a/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_1.2.0.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "Library for BPF handling"
-DESCRIPTION = "Library for BPF handling"
-HOMEPAGE = "https://github.com/libbpf/libbpf"
-SECTION = "libs"
-LICENSE = "LGPL-2.1-or-later"
-
-LIC_FILES_CHKSUM = "file://../LICENSE.LGPL-2.1;md5=b370887980db5dd40659b50909238dbd"
-
-DEPENDS = "zlib elfutils"
-
-SRC_URI = "git://github.com/libbpf/libbpf.git;protocol=https;branch=master"
-SRCREV = "fbd60dbff51c870f5e80a17c4f2fd639eb80af90"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-COMPATIBLE_HOST = "(x86_64|i.86|arm|aarch64|riscv64|powerpc|powerpc64|mips64).*-linux"
-
-S = "${WORKDIR}/git/src"
-
-EXTRA_OEMAKE += "DESTDIR=${D} LIBDIR=${libdir} INCLUDEDIR=${includedir}"
-EXTRA_OEMAKE:append:class-native = " UAPIDIR=${includedir}"
-
-inherit pkgconfig
-
-do_compile() {
- oe_runmake
-}
-
-do_install() {
- oe_runmake install
-}
-
-do_install:append:class-native() {
- oe_runmake install_uapi_headers
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_1.2.2.bb b/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_1.2.2.bb
new file mode 100644
index 0000000..8dbf793
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_1.2.2.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Library for BPF handling"
+DESCRIPTION = "Library for BPF handling"
+HOMEPAGE = "https://github.com/libbpf/libbpf"
+SECTION = "libs"
+LICENSE = "LGPL-2.1-or-later"
+
+LIC_FILES_CHKSUM = "file://../LICENSE.LGPL-2.1;md5=b370887980db5dd40659b50909238dbd"
+
+DEPENDS = "zlib elfutils"
+
+SRC_URI = "git://github.com/libbpf/libbpf.git;protocol=https;branch=libbpf-v1.2.2-bugfix"
+SRCREV = "1728e3e4bef0e138ea95ffe62163eb9a6ac6fa32"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+COMPATIBLE_HOST = "(x86_64|i.86|arm|aarch64|riscv64|powerpc|powerpc64|mips64).*-linux"
+
+S = "${WORKDIR}/git/src"
+
+EXTRA_OEMAKE += "DESTDIR=${D} LIBDIR=${libdir} INCLUDEDIR=${includedir}"
+EXTRA_OEMAKE:append:class-native = " UAPIDIR=${includedir}"
+
+inherit pkgconfig
+
+do_compile() {
+ oe_runmake
+}
+
+do_install() {
+ oe_runmake install
+}
+
+do_install:append:class-native() {
+ oe_runmake install_uapi_headers
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.7.3.bb b/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.7.3.bb
deleted file mode 100644
index 0ae691b..0000000
--- a/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.7.3.bb
+++ /dev/null
@@ -1,61 +0,0 @@
-SUMMARY = "VMcore extraction tool"
-DESCRIPTION = "\
- This program is used to extract a subset of the memory available either \
- via /dev/mem or /proc/vmcore (for crashdumps). It is used to get memory \
- images without extra uneeded information (zero pages, userspace programs, \
- etc). \
-"
-HOMEPAGE = "https://github.com/makedumpfile/makedumpfile"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-LICENSE = "GPL-2.0-only"
-
-SRCBRANCH ?= "master"
-SRCREV = "ecc9355e1344d3de94870e855e380ee84224e552"
-
-DEPENDS = "bzip2 zlib elfutils xz"
-RDEPENDS:${PN}-tools = "perl ${PN}"
-
-# mips would not compile.
-COMPATIBLE_HOST = "(x86_64|i.86|powerpc|arm|aarch64).*-linux"
-
-PACKAGES =+ "${PN}-tools"
-FILES:${PN}-tools = "${bindir}/*.pl"
-
-SRC_URI = "\
- git://github.com/makedumpfile/makedumpfile;branch=${SRCBRANCH};protocol=https \
- file://0001-makedumpfile-replace-hardcode-CFLAGS.patch \
-"
-
-S = "${WORKDIR}/git"
-
-UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
-
-SECTION = "base"
-
-# If we do not specify TARGET, makedumpfile will build for the host but use the
-# target gcc.
-#
-
-MAKEDUMPFILE_TARGET ?= "${TARGET_ARCH}"
-MAKEDUMPFILE_TARGET:powerpc = "ppc"
-
-EXTRA_OEMAKE = "\
- LINKTYPE=static \
- TARGET=${MAKEDUMPFILE_TARGET} \
- ${PACKAGECONFIG_CONFARGS} \
-"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[lzo] = "USELZO=on,USELZO=off,lzo"
-PACKAGECONFIG[snappy] = "USESNAPPY=on,USESNAPPY=off,snappy"
-PACKAGECONFIG[zstd] = "USEZSTD=on,USEZSTD=off,zstd"
-
-do_install () {
- mkdir -p ${D}/usr/bin
- install -m 755 ${S}/makedumpfile ${D}/usr/bin
- install -m 755 ${S}/makedumpfile-R.pl ${D}/usr/bin
-
- mkdir -p ${D}/etc/
- install -m 644 ${S}/makedumpfile.conf ${D}/etc/makedumpfile.conf.sample
-}
diff --git a/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.7.4.bb b/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.7.4.bb
new file mode 100644
index 0000000..b016d5d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.7.4.bb
@@ -0,0 +1,62 @@
+SUMMARY = "VMcore extraction tool"
+DESCRIPTION = "\
+ This program is used to extract a subset of the memory available either \
+ via /dev/mem or /proc/vmcore (for crashdumps). It is used to get memory \
+ images without extra uneeded information (zero pages, userspace programs, \
+ etc). \
+"
+HOMEPAGE = "https://github.com/makedumpfile/makedumpfile"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+LICENSE = "GPL-2.0-only"
+
+SRCBRANCH ?= "master"
+SRCREV = "3bc3b3e3be33a9aa040e654f055912063e576c1b"
+
+DEPENDS = "bzip2 zlib elfutils xz"
+RDEPENDS:${PN}-tools = "perl ${PN}"
+
+# mips/rv32 would not compile.
+COMPATIBLE_HOST:mipsarcho32 = "null"
+COMPATIBLE_HOST:riscv32 = "null"
+
+PACKAGES =+ "${PN}-tools"
+FILES:${PN}-tools = "${bindir}/*.pl"
+
+SRC_URI = "\
+ git://github.com/makedumpfile/makedumpfile;branch=${SRCBRANCH};protocol=https \
+ file://0001-makedumpfile-replace-hardcode-CFLAGS.patch \
+"
+
+S = "${WORKDIR}/git"
+
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
+
+SECTION = "base"
+
+# If we do not specify TARGET, makedumpfile will build for the host but use the
+# target gcc.
+#
+
+MAKEDUMPFILE_TARGET ?= "${TARGET_ARCH}"
+MAKEDUMPFILE_TARGET:powerpc = "ppc"
+
+EXTRA_OEMAKE = "\
+ LINKTYPE=static \
+ TARGET=${MAKEDUMPFILE_TARGET} \
+ ${PACKAGECONFIG_CONFARGS} \
+"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[lzo] = "USELZO=on,USELZO=off,lzo"
+PACKAGECONFIG[snappy] = "USESNAPPY=on,USESNAPPY=off,snappy"
+PACKAGECONFIG[zstd] = "USEZSTD=on,USEZSTD=off,zstd"
+
+do_install () {
+ mkdir -p ${D}/usr/bin
+ install -m 755 ${S}/makedumpfile ${D}/usr/bin
+ install -m 755 ${S}/makedumpfile-R.pl ${D}/usr/bin
+
+ mkdir -p ${D}/etc/
+ install -m 644 ${S}/makedumpfile.conf ${D}/etc/makedumpfile.conf.sample
+}
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_1.19.22.bb b/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_1.19.22.bb
deleted file mode 100644
index 104b946..0000000
--- a/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_1.19.22.bb
+++ /dev/null
@@ -1,53 +0,0 @@
-DESCRIPTION = "jackdmp is a C++ version of the JACK low-latency audio \
-server for multi-processor machines. It is a new implementation of the \
-JACK server core features that aims in removing some limitations of \
-the JACK1 design. The activation system has been changed for a data \
-flow model and lock-free programming techniques for graph access have \
-been used to have a more dynamic and robust system."
-SECTION = "libs/multimedia"
-
-LICENSE = "GPL-2.0-only & LGPL-2.1-only"
-LIC_FILES_CHKSUM = " \
- file://common/jack/control.h;beginline=2;endline=21;md5=e6df0bf30cde8b3b825451459488195d \
- file://common/jack/jack.h;beginline=1;endline=19;md5=6b736ed6b810592b135480a5e853392e \
-"
-
-DEPENDS = "libsamplerate0 libsndfile1"
-
-SRC_URI = "git://github.com/jackaudio/jack2.git;branch=master;protocol=https"
-SRCREV = "4f58969432339a250ce87fe855fb962c67d00ddb"
-
-S = "${WORKDIR}/git"
-
-inherit waf pkgconfig
-
-PACKAGECONFIG ??= "alsa"
-PACKAGECONFIG[alsa] = "--alsa=yes,--alsa=no,alsa-lib"
-# --dbus only stops building jackd -> add --classic
-PACKAGECONFIG[dbus] = "--dbus --classic,,dbus"
-PACKAGECONFIG[opus] = "--opus=yes,--opus=no,libopus"
-
-# portaudio is for windows builds only
-EXTRA_OECONF = "--portaudio=no"
-
-do_install:append() {
- if ! ${@bb.utils.contains('PACKAGECONFIG', 'dbus', True, False, d)}; then
- rm -f ${D}${bindir}/jack_control
- fi
-}
-
-PACKAGES =+ "libjack jack-server jack-utils"
-
-RDEPENDS:jack-dev:remove = "${PN} (= ${EXTENDPKGV})"
-
-FILES:libjack = "${libdir}/*.so.* ${libdir}/jack/*.so"
-FILES:jack-server = " \
- ${datadir}/dbus-1/services \
- ${bindir}/jackdbus \
- ${bindir}/jackd \
-"
-FILES:jack-utils = "${bindir}/*"
-
-FILES:${PN}-doc += " ${datadir}/jack-audio-connection-kit/reference/html/*"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_1.9.22.bb b/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_1.9.22.bb
new file mode 100644
index 0000000..b5c52a6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_1.9.22.bb
@@ -0,0 +1,56 @@
+DESCRIPTION = "jackdmp is a C++ version of the JACK low-latency audio \
+server for multi-processor machines. It is a new implementation of the \
+JACK server core features that aims in removing some limitations of \
+the JACK1 design. The activation system has been changed for a data \
+flow model and lock-free programming techniques for graph access have \
+been used to have a more dynamic and robust system."
+SECTION = "libs/multimedia"
+
+LICENSE = "GPL-2.0-only & GPL-2.0-or-later & LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = " \
+ file://common/JackControlAPI.cpp;beginline=5;endline=19;md5=9d1921199e203163f160313243f853d6 \
+ file://common/JackControlAPI.h;beginline=4;endline=18;md5=9d1921199e203163f160313243f853d6 \
+ file://common/jack/jack.h;beginline=2;endline=17;md5=0a668d22ce661159cad28d1c3b8e66af \
+ file://common/JackServer.h;beginline=2;endline=17;md5=9bf0870727804a994ee2d19fd368d940 \
+"
+
+DEPENDS = "libsamplerate0 libsndfile1"
+
+SRC_URI = "git://github.com/jackaudio/jack2.git;branch=master;protocol=https"
+SRCREV = "4f58969432339a250ce87fe855fb962c67d00ddb"
+
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
+
+S = "${WORKDIR}/git"
+
+inherit waf pkgconfig
+
+PACKAGECONFIG ??= "alsa"
+PACKAGECONFIG[alsa] = "--alsa=yes,--alsa=no,alsa-lib"
+# --dbus only stops building jackd -> add --classic
+PACKAGECONFIG[dbus] = "--dbus --classic,,dbus"
+PACKAGECONFIG[opus] = "--opus=yes,--opus=no,libopus"
+
+# portaudio is for windows builds only
+EXTRA_OECONF = "--portaudio=no"
+
+do_install:append() {
+ if ! ${@bb.utils.contains('PACKAGECONFIG', 'dbus', True, False, d)}; then
+ rm -f ${D}${bindir}/jack_control
+ fi
+}
+
+PACKAGES =+ "libjack jack-server jack-utils"
+
+RDEPENDS:jack-dev:remove = "${PN} (= ${EXTENDPKGV})"
+
+FILES:libjack = "${libdir}/*.so.* ${libdir}/jack/*.so"
+FILES:jack-server = " \
+ ${datadir}/dbus-1/services \
+ ${bindir}/jackdbus \
+ ${bindir}/jackd \
+"
+FILES:jack-utils = "${bindir}/*"
+
+FILES:${PN}-doc += " ${datadir}/jack-audio-connection-kit/reference/html/*"
+
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.13.1.bb b/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.13.1.bb
index eab5546..1354e2e 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.13.1.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.13.1.bb
@@ -24,8 +24,6 @@
export CC
export LD = "${CC}"
-VPXTARGET:armv5te = "armv5te-linux-gcc"
-VPXTARGET:armv6 = "armv6-linux-gcc"
VPXTARGET:armv7a = "${@bb.utils.contains("TUNE_FEATURES","neon","armv7-linux-gcc","generic-gnu",d)}"
VPXTARGET ?= "generic-gnu"
diff --git a/meta-openembedded/meta-oe/recipes-navigation/geos/geos_3.12.0.bb b/meta-openembedded/meta-oe/recipes-navigation/geos/geos_3.12.0.bb
index 95cb297..0382e6b 100644
--- a/meta-openembedded/meta-oe/recipes-navigation/geos/geos_3.12.0.bb
+++ b/meta-openembedded/meta-oe/recipes-navigation/geos/geos_3.12.0.bb
@@ -13,7 +13,7 @@
PACKAGES =+ "geoslib ${PN}-c1"
DESCRIPTION:${PN}lib = "Geometry engine for Geographic Information Systems - C++ Library"
-FILES:${PN}lib += "${libdir}/libgeos-${PV}.so"
+FILES:${PN}lib += "${libdir}/libgeos.so.*"
DESCRIPTION:${PN}-c1 = "Geometry engine for Geographic Information Systems - C Library"
FILES:${PN}-c1 += "${libdir}/libgeos_c.so.*"
diff --git a/meta-openembedded/meta-oe/recipes-navigation/proj/proj_9.1.1.bb b/meta-openembedded/meta-oe/recipes-navigation/proj/proj_9.1.1.bb
deleted file mode 100644
index 6ce1c88..0000000
--- a/meta-openembedded/meta-oe/recipes-navigation/proj/proj_9.1.1.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "PROJ.4 - Cartographic Projections library"
-HOMEPAGE = "http://trac.osgeo.org/proj/"
-SECTION = "libs"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f27445198ba1500f508fce2b183ce0ff"
-DEPENDS = "sqlite3 sqlite3-native"
-
-SRC_URI = "http://download.osgeo.org/${BPN}/${BP}.tar.gz"
-SRC_URI[sha256sum] = "003cd4010e52bb5eb8f7de1c143753aa830c8902b6ed01209f294846e40e6d39"
-
-inherit cmake lib_package
-
-EXTRA_OECMAKE = "-DBUILD_TESTING=OFF -DSQLITE3_LIBRARY:STRING=sqlite3"
-
-FILES:${PN} += "${datadir}/proj"
-
-BBCLASSEXTEND = "native"
-
-PACKAGECONFIG ?= "curl shared"
-PACKAGECONFIG:append:class-native = " apps"
-
-PACKAGECONFIG[apps] = "-DBUILD_APPS=ON, -DBUILD_APPS=OFF"
-PACKAGECONFIG[curl] = "-DENABLE_CURL=ON,-DENABLE_CURL=OFF,curl"
-PACKAGECONFIG[shared] = "-DBUILD_SHARED_LIBS=ON,-DBUILD_SHARED_LIBS=OFF,,"
-PACKAGECONFIG[tiff] = "-DENABLE_TIFF=ON,-DENABLE_TIFF=OFF,tiff"
diff --git a/meta-openembedded/meta-oe/recipes-navigation/proj/proj_9.3.0.bb b/meta-openembedded/meta-oe/recipes-navigation/proj/proj_9.3.0.bb
new file mode 100644
index 0000000..59bded8
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-navigation/proj/proj_9.3.0.bb
@@ -0,0 +1,25 @@
+SUMMARY = "PROJ.4 - Cartographic Projections library"
+HOMEPAGE = "http://trac.osgeo.org/proj/"
+SECTION = "libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f27445198ba1500f508fce2b183ce0ff"
+DEPENDS = "sqlite3 sqlite3-native"
+
+SRC_URI = "http://download.osgeo.org/${BPN}/${BP}.tar.gz"
+SRC_URI[sha256sum] = "91a3695a004ea28db0448a34460bed4cc3b130e5c7d74339ec999efdab0e547d"
+
+inherit cmake lib_package
+
+EXTRA_OECMAKE = "-DBUILD_TESTING=OFF -DSQLITE3_LIBRARY:STRING=sqlite3"
+
+FILES:${PN} += "${datadir}/proj"
+
+BBCLASSEXTEND = "native"
+
+PACKAGECONFIG ?= "curl shared"
+PACKAGECONFIG:append:class-native = " apps"
+
+PACKAGECONFIG[apps] = "-DBUILD_APPS=ON, -DBUILD_APPS=OFF"
+PACKAGECONFIG[curl] = "-DENABLE_CURL=ON,-DENABLE_CURL=OFF,curl"
+PACKAGECONFIG[shared] = "-DBUILD_SHARED_LIBS=ON,-DBUILD_SHARED_LIBS=OFF,,"
+PACKAGECONFIG[tiff] = "-DENABLE_TIFF=ON,-DENABLE_TIFF=OFF,tiff"
diff --git a/meta-openembedded/meta-oe/recipes-printing/cups/cups-filters/0001-use-noexcept-false-instead-of-throw-from-c-17-onward.patch b/meta-openembedded/meta-oe/recipes-printing/cups/cups-filters/0001-use-noexcept-false-instead-of-throw-from-c-17-onward.patch
deleted file mode 100644
index 5de8dae..0000000
--- a/meta-openembedded/meta-oe/recipes-printing/cups/cups-filters/0001-use-noexcept-false-instead-of-throw-from-c-17-onward.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 104fba23b1c0c67c92777b3165c6dca99558a656 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 6 Feb 2023 18:13:52 -0800
-Subject: [PATCH] use noexcept(false) instead of throw() from c++17 onwards
-
-C++17 removed dynamic exception specifications [1]
-they had been deprecated since C++11, replace
-throw(whatever) with noexcept(false).
-
-[1] https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0003r5.html
-
-Upstream-Status: Submitted [https://github.com/OpenPrinting/cups-filters/pull/505]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- filter/pdftoraster.cxx | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/filter/pdftoraster.cxx b/filter/pdftoraster.cxx
-index e8af184fb..e91e22459 100755
---- a/filter/pdftoraster.cxx
-+++ b/filter/pdftoraster.cxx
-@@ -2148,7 +2148,11 @@ int main(int argc, char *argv[]) {
- /* For compatibility with g++ >= 4.7 compilers _GLIBCXX_THROW
- * should be used as a guard, otherwise use traditional definition */
- #ifndef _GLIBCXX_THROW
-+#if __cplusplus < 201703L
- #define _GLIBCXX_THROW throw
-+#else
-+#define _GLIBCXX_THROW(x) noexcept(false)
-+#endif
- #endif
-
- void * operator new(size_t size) _GLIBCXX_THROW (std::bad_alloc)
---
-2.39.1
-
diff --git a/meta-openembedded/meta-oe/recipes-printing/cups/cups-filters_1.28.17.bb b/meta-openembedded/meta-oe/recipes-printing/cups/cups-filters_1.28.17.bb
deleted file mode 100644
index fd82bb3..0000000
--- a/meta-openembedded/meta-oe/recipes-printing/cups/cups-filters_1.28.17.bb
+++ /dev/null
@@ -1,84 +0,0 @@
-DESCRIPTION = "CUPS backends, filters, and other software"
-HOMEPAGE = "http://www.linuxfoundation.org/collaborate/workgroups/openprinting/cups-filters"
-
-LICENSE = "GPL-2.0-only & LGPL-2.0-only & MIT & GPL-2.0-or-later & GPL-3.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2d77679ce6a2cc4d873d4ebbf2a401e6"
-
-SECTION = "console/utils"
-
-DEPENDS = "cups glib-2.0 glib-2.0-native dbus dbus-glib lcms poppler qpdf libpng libexif"
-DEPENDS:class-native = "poppler-native glib-2.0-native dbus-native pkgconfig-native gettext-native libpng-native"
-
-SRC_URI = "https://github.com/OpenPrinting/${BPN}/releases/download/${PV}/${BP}.tar.xz \
- file://0001-use-noexcept-false-instead-of-throw-from-c-17-onward.patch"
-SRC_URI[sha256sum] = "270a3752a960368aa99d431fb5d34f4039b2ac943c576d840612d1d8185c9bb9"
-
-inherit autotools-brokensep gettext pkgconfig github-releases
-
-EXTRA_OECONF += " --disable-ldap \
- --with-pdftops=hybrid --enable-imagefilters \
- --enable-ghostscript --with-gs-path=${bindir}/gs \
- --with-pdftops-path=${bindir}/gs \
- --with-fontdir=${datadir}/fonts --with-rcdir=no \
- --with-cups-rundir=${localstatedir}/run/cups \
- --localstatedir=${localstatedir}/var \
- --with-rcdir=no \
- --without-php"
-
-EXTRA_OECONF:class-native += " --with-pdftops=pdftops \
- --disable-avahi --disable-ghostscript \
- --disable-ldap \
- --with-png --without-jpeg --without-tiff"
-
-BBCLASSEXTEND = "native"
-
-PACKAGECONFIG[jpeg] = "--with-jpeg,--without-jpeg,jpeg"
-PACKAGECONFIG[png] = "--with-png,--without-png,libpng"
-PACKAGECONFIG[tiff] = "--with-tiff,--without-tiff,tiff"
-
-PACKAGECONFIG ??= "dbus ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)}"
-
-PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi"
-PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,,dbus"
-
-DIRFILES = "1"
-
-PACKAGES =+ "\
- ${PN}-gst \
- ${PN}-data \
- "
-
-FILES:${PN}-gst = "\
- ${libexecdir}/cups/filter/gsto* \
- "
-RDEPENDS:${PN}-gst += "ghostscript"
-
-FILES:${PN}-data = "\
- ${datadir}/cups/data \
- "
-
-FILES:${PN}-dbg += "\
- ${libexecdir}/cups/backend/.debug \
- ${libexecdir}/cups/driver/.debug \
- ${libexecdir}/cups/filter/.debug \
- "
-
-FILES:${PN} += "\
- ${libexecdir}/cups \
- ${datadir}/ppd/ \
- ${datadir}/cups/charsets \
- ${datadir}/cups/drv \
- ${datadir}/cups/mime \
- ${datadir}/cups/ppdc \
- ${datadir}/cups/banners \
-"
-RDEPENDS:${PN} += "bash"
-RDEPENDS:${PN} += "ghostscript"
-
-do_install:append() {
- # remove braille dir
- rm -rf ${D}${datadir}/cups/braille
-
- # remove sysroot path contamination from pkgconfig file
- sed -i -e 's:${STAGING_DIR_TARGET}::' ${D}/${libdir}/pkgconfig/libcupsfilters.pc
-}
diff --git a/meta-openembedded/meta-oe/recipes-printing/cups/cups-filters_2.0.0.bb b/meta-openembedded/meta-oe/recipes-printing/cups/cups-filters_2.0.0.bb
new file mode 100644
index 0000000..0370ae7
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-printing/cups/cups-filters_2.0.0.bb
@@ -0,0 +1,27 @@
+DESCRIPTION = "CUPS backends, filters, and other software"
+HOMEPAGE = "http://www.linuxfoundation.org/collaborate/workgroups/openprinting/cups-filters"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6d5b952b53dbe7752199903d082e5f07"
+
+DEPENDS = "libcupsfilters libppd glib-2.0 poppler"
+
+SRC_URI = "https://github.com/OpenPrinting/${BPN}/releases/download/${PV}/${BP}.tar.xz"
+SRC_URI[sha256sum] = "b5152e3dd148ed73835827ac2f219df7cf5808dbf9dbaec2aa0127b44de800d8"
+
+inherit autotools gettext pkgconfig github-releases
+
+EXTRA_OECONF += " \
+ --enable-imagefilters \
+ --enable-ghostscript --with-gs-path=${bindir}/gs \
+ --with-fontdir=${datadir}/fonts \
+ --localstatedir=${localstatedir} \
+"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)}"
+PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi"
+
+FILES:${PN} += "${datadir}"
+FILES:${PN}-dev += "${datadir}/ppdc"
+
+RDEPENDS:${PN} += "bash"
+RDEPENDS:${PN} += "ghostscript"
diff --git a/meta-openembedded/meta-oe/recipes-printing/cups/libcupsfilters/0001-use-noexcept-false-instead-of-throw-from-c-17-onward.patch b/meta-openembedded/meta-oe/recipes-printing/cups/libcupsfilters/0001-use-noexcept-false-instead-of-throw-from-c-17-onward.patch
new file mode 100644
index 0000000..72bbf10
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-printing/cups/libcupsfilters/0001-use-noexcept-false-instead-of-throw-from-c-17-onward.patch
@@ -0,0 +1,36 @@
+From 104fba23b1c0c67c92777b3165c6dca99558a656 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 6 Feb 2023 18:13:52 -0800
+Subject: [PATCH] use noexcept(false) instead of throw() from c++17 onwards
+
+C++17 removed dynamic exception specifications [1]
+they had been deprecated since C++11, replace
+throw(whatever) with noexcept(false).
+
+[1] https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0003r5.html
+
+Upstream-Status: Submitted [https://github.com/OpenPrinting/cups-filters/pull/505]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ filter/pdftoraster.cxx | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/cupsfilters/pdftoraster.cxx b/cupsfilters/pdftoraster.cxx
+index e8af184fb..e91e22459 100755
+@@ -2198,7 +2198,11 @@
+ // For compatibility with g++ >= 4.7 compilers _GLIBCXX_THROW
+ // should be used as a guard, otherwise use traditional definition
+ #ifndef _GLIBCXX_THROW
+-#define _GLIBCXX_THROW throw
++#if __cplusplus < 201703L
++#define _GLIBCXX_THROW throw
++#else
++#define _GLIBCXX_THROW(x) noexcept(false)
++#endif
+ #endif
+
+ void * operator new(size_t size) _GLIBCXX_THROW (std::bad_alloc)
+
+--
+2.39.1
+
diff --git a/meta-openembedded/meta-oe/recipes-printing/cups/libcupsfilters_2.0.0.bb b/meta-openembedded/meta-oe/recipes-printing/cups/libcupsfilters_2.0.0.bb
new file mode 100644
index 0000000..7f7174d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-printing/cups/libcupsfilters_2.0.0.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "OpenPrinting libcupsfilters"
+HOMEPAGE = "https://github.com/OpenPrinting"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=aab2024bd2a475438a154cd1640c9684"
+
+DEPENDS = "cups fontconfig libexif dbus lcms qpdf poppler libpng jpeg tiff"
+
+SRC_URI = " \
+ https://github.com/OpenPrinting/${BPN}/releases/download/${PV}/${BP}.tar.xz \
+ file://0001-use-noexcept-false-instead-of-throw-from-c-17-onward.patch \
+"
+SRC_URI[sha256sum] = "542f2bfbc58136a4743c11dc8c86cee03c9aca705612654e36ac34aa0d9aa601"
+
+inherit autotools gettext pkgconfig github-releases
+
+FILES:${PN} += "${datadir}"
+RDEPENDS:${PN} += "ghostscript"
diff --git a/meta-openembedded/meta-oe/recipes-printing/cups/libppd_2.0.0.bb b/meta-openembedded/meta-oe/recipes-printing/cups/libppd_2.0.0.bb
new file mode 100644
index 0000000..99b1f6e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-printing/cups/libppd_2.0.0.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "OpenPrinting libppd"
+HOMEPAGE = "https://github.com/OpenPrinting"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c1fca671047153ce6825c4ab06f2ab49"
+
+DEPENDS = "libcupsfilters"
+
+SRC_URI = "https://github.com/OpenPrinting/${BPN}/releases/download/${PV}/${BP}.tar.xz"
+SRC_URI[sha256sum] = "882d3c659a336e91559de8f3c76fc26197fe6e5539d9b484a596e29a5a4e0bc8"
+
+inherit autotools gettext pkgconfig github-releases
+
+do_install:append() {
+ rm -r ${D}${bindir}
+}
+
+FILES:${PN} += "${datadir}"
+
diff --git a/meta-openembedded/meta-oe/recipes-printing/gutenprint/gutenprint_5.3.4.bb b/meta-openembedded/meta-oe/recipes-printing/gutenprint/gutenprint_5.3.4.bb
new file mode 100644
index 0000000..5263890
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-printing/gutenprint/gutenprint_5.3.4.bb
@@ -0,0 +1,63 @@
+# Recipe for building gutenprint
+#
+# Uses the gutenprint-native extracted strings and disable local build stuff
+#
+# Copyright (c) Ambu A/S - All rights reserved
+# SPDX-License-Identifier: MIT
+#
+# Author(s)
+# clst@ambu.com (Claus Stovgaard)
+#
+
+DESCRIPTION = "Gutenprint printer drivers"
+HOMEPAGE = "http://gimp-print.sourceforge.net/"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+SRC_URI = "https://downloads.sourceforge.net/gimp-print/${BP}.tar.xz"
+SRC_URI[sha256sum] = "db44a701d2b8e6a8931c83cec06c91226be266d23e5c189d20a39dd175f2023b"
+
+inherit autotools gettext pkgconfig
+
+DEPENDS += "glib-2.0-native cups gutenprint-native tiff libusb libpng libjpeg-turbo ghostscript"
+# autogen.sh needs autopoint
+DEPENDS:class-native = "glib-2.0-native gettext-native"
+
+EXTRA_OECONF = "--without-doc --disable-test PERL=/usr/bin/perl"
+EXTRA_OECONF:append:class-native = " --without-cups"
+
+do_configure:prepend:class-target() {
+ # Disable the xmli18n-tmp.h rule
+ # It depend on the local build extract-strings, we are not able to run this
+ # So we are using the xmli18n-tmp.h created by gutenprint-native
+ sed -i 's/all-local: xmli18n-tmp.h xml-stamp/all-local: xml-stamp/' ${S}/src/xml/Makefile.am
+ sed -i 's/dist-hook: xmli18n-tmp.h xml-stamp/dist-hook: xml-stamp/' ${S}/src/xml/Makefile.am
+ sed -i '/$(AM_TESTS_ENVIRONMENT) .\/check_duplicate_printers.test/d' ${S}/src/xml/printers/Makefile.am
+ # Despite being a generated file, this needs to be in S.
+ cp ${STAGING_DATADIR_NATIVE}/gutenprint/xmli18n-tmp.h ${S}/src/xml/
+}
+
+do_install:append() {
+ # This file contains build paths and isn't very useful, remove it
+ rm -f ${D}${libdir}/gutenprint/*/config.summary
+ # Match ownership to cups
+ chgrp lp ${D}${sysconfdir}/cups
+}
+
+do_compile:class-native() {
+ oe_runmake -C ${B}/src/xml
+}
+
+do_install:class-native() {
+ install -d ${D}${datadir}/gutenprint/
+ install -m644 ${B}/src/xml/xmli18n-tmp.h ${D}${datadir}/gutenprint/
+}
+
+FILES:${PN} += "${datadir}/cups/*"
+RDEPENDS:${PN} = "perl"
+
+BBCLASSEXTEND = "native"
+
+# Pull in base-passwd for the lp user
+DEPENDS:append:class-target = " base-passwd"
+PACKAGE_WRITE_DEPS += "base-passwd"
diff --git a/meta-openembedded/meta-oe/recipes-printing/gutenprint/gutenprint_git.bb b/meta-openembedded/meta-oe/recipes-printing/gutenprint/gutenprint_git.bb
deleted file mode 100644
index f0dc6ad..0000000
--- a/meta-openembedded/meta-oe/recipes-printing/gutenprint/gutenprint_git.bb
+++ /dev/null
@@ -1,74 +0,0 @@
-# Recipe for building gutenprint
-#
-# Uses the gutenprint-native extracted strings and disable local build stuff
-#
-# Copyright (c) Ambu A/S - All rights reserved
-# SPDX-License-Identifier: MIT
-#
-# Author(s)
-# clst@ambu.com (Claus Stovgaard)
-#
-
-DESCRIPTION = "Gutenprint printer drivers"
-HOMEPAGE = "http://gimp-print.sourceforge.net/"
-LICENSE = "GPL-2.0-or-later"
-
-SRC_URI = "git://git.code.sf.net/p/gimp-print/source;protocol=https;branch=master"
-SRCREV = "66b0a7bc3fd25659a3f295db0ebb39d04e413c01"
-PV = "5.3.3+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-inherit autotools gettext pkgconfig
-
-DEPENDS += "glib-2.0-native cups gutenprint-native"
-# autogen.sh needs autopoint
-DEPENDS:class-native = "glib-2.0-native gettext-native"
-
-EXTRA_OECONF = "--without-doc --disable-test PERL=/usr/bin/perl"
-EXTRA_OECONF:append:class-native = " --without-cups"
-
-do_configure:prepend:class-target() {
- # Disable the xmli18n-tmp.h rule
- # It depend on the local build extract-strings, we are not able to run this
- # So we are using the xmli18n-tmp.h created by gutenprint-native
- sed -i 's/all-local: xmli18n-tmp.h xml-stamp/all-local: xml-stamp/' ${S}/src/xml/Makefile.am
- sed -i 's/dist-hook: xmli18n-tmp.h xml-stamp/dist-hook: xml-stamp/' ${S}/src/xml/Makefile.am
- # Despite being a generated file, this needs to be in S.
- cp ${STAGING_DATADIR_NATIVE}/gutenprint/xmli18n-tmp.h ${S}/src/xml/
-}
-
-do_configure() {
- # Need to call autogen.sh as that creates m4/stp_release.m4
- cd ${S}
- NOCONFIGURE=1 ./autogen.sh
- cd ${B}
- oe_runconf
-}
-
-do_install:append() {
- # This file contains build paths and isn't very useful, remove it
- rm -f ${D}${libdir}/gutenprint/*/config.summary
- # Match ownership to cups
- chgrp lp ${D}${sysconfdir}/cups
-}
-
-do_compile:class-native() {
- oe_runmake -C ${B}/src/xml
-}
-
-do_install:class-native() {
- install -d ${D}${datadir}/gutenprint/
- install -m644 ${B}/src/xml/xmli18n-tmp.h ${D}${datadir}/gutenprint/
-}
-
-FILES:${PN} += "${datadir}/cups/*"
-RDEPENDS:${PN} = "perl"
-
-BBCLASSEXTEND = "native"
-
-# Pull in base-passwd for the lp user
-DEPENDS:append:class-target = " base-passwd"
-PACKAGE_WRITE_DEPS += "base-passwd"
diff --git a/meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_10.6.3.bb b/meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_10.6.3.bb
deleted file mode 100644
index fa33daf..0000000
--- a/meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_10.6.3.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-DESCRIPTION = "PDF transformation/inspection software"
-HOMEPAGE = "http://qpdf.sourceforge.net"
-LICENSE = "Artistic-2.0"
-SECTION = "libs"
-DEPENDS = "libpcre zlib libjpeg-turbo"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/qpdf/qpdf-${PV}.tar.gz"
-SRC_URI[sha256sum] = "e8fc23b2a584ea68c963a897515d3eb3129186741dd19d13c86d31fa33493811"
-
-LIC_FILES_CHKSUM = "file://Artistic-2.0;md5=7806296b9fae874361e6fb10072b7ee3"
-
-inherit autotools-brokensep gettext
-
-# disable random file detection for cross-compile
-EXTRA_OECONF = "--without-random \
- --disable-static \
- --disable-check-autofiles \
- "
-
-LDFLAGS:append:mipsarch = " -latomic"
-LDFLAGS:append:riscv32 = " -latomic"
-
-S="${WORKDIR}/${BPN}-${PV}"
-
-# avoid Makefile returning error on 'make clean' before configure was run
-CLEANBROKEN = "1"
-
-DEBIAN_NOAUTONAME:libqpdf = "1"
-
-PACKAGES =+ "libqpdf"
-FILES:libqpdf = "${libdir}/libqpdf.so.*"
-
-RDEPENDS:${PN} = "libqpdf"
diff --git a/meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_11.6.3.bb b/meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_11.6.3.bb
new file mode 100644
index 0000000..ceb9f25
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_11.6.3.bb
@@ -0,0 +1,31 @@
+DESCRIPTION = "PDF transformation/inspection software"
+HOMEPAGE = "http://qpdf.sourceforge.net"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+DEPENDS = "zlib jpeg ${@bb.utils.contains('PACKAGECONFIG', 'gnutls', 'gnutls', 'openssl', d)}"
+
+SRC_URI = "git://github.com/qpdf/qpdf.git;protocol=https;branch=main"
+SRCREV = "81823f4032caefd1050bccb207d315839c1c48db"
+
+inherit cmake pkgconfig gettext
+
+EXTRA_OECMAKE = ' \
+ -DRANDOM_DEVICE="/dev/random" \
+ -DBUILD_STATIC_LIBS=OFF \
+ -DALLOW_CRYPTO_NATIVE=OFF \
+ -DUSE_IMPLICIT_CRYPTO=OFF \
+'
+
+LDFLAGS:append:mipsarch = " -latomic"
+LDFLAGS:append:riscv32 = " -latomic"
+
+S="${WORKDIR}/git"
+
+PACKAGECONFIG ?= "gnutls"
+PACKAGECONFIG[gnutls] = "-DREQUIRE_CRYPTO_GNUTLS=ON,-DREQUIRE_CRYPTO_OPENSSL=ON"
+
+do_install:append() {
+ # Change the fully defined path on the target
+ sed -i -e 's|${STAGING_LIBDIR}|${libdir}|g' ${D}${libdir}/cmake/${BPN}/libqpdfTargets.cmake
+}
diff --git a/meta-openembedded/meta-oe/recipes-shells/mksh/mksh_59.bb b/meta-openembedded/meta-oe/recipes-shells/mksh/mksh_59.bb
deleted file mode 100644
index 9cd0fbc..0000000
--- a/meta-openembedded/meta-oe/recipes-shells/mksh/mksh_59.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-DESCRIPTION = "The MirBSD Korn Shell - an enhanced version of the public domain ksh"
-HOMEPAGE = "http://www.mirbsd.org/mksh.htm"
-SECTION = "base/shell"
-
-LICENSE = "${@bb.utils.contains("TCLIBC", "glibc", "MirOS & ISC", "MirOS", d)}"
-LIC_FILES_CHKSUM = "file://main.c;beginline=6;endline=26;md5=6efc2c249328e4d2bd3e595d5b1f9d31 \
- file://strlcpy.c;beginline=1;endline=17;md5=d953f28f0c43ee29e238ec9bc15df2a0 \
- "
-
-SRC_URI = "http://www.mirbsd.org/MirOS/dist/mir/mksh/mksh-R59b.tgz"
-
-SRC_URI[md5sum] = "dce6abffc2036288540b9ba11dfb2ec8"
-SRC_URI[sha256sum] = "907ed1a9586e7f18bdefdd4a763aaa8397b755e15034aa54f4d753bfb272e0e6"
-
-inherit update-alternatives
-
-S = "${WORKDIR}/${BPN}"
-
-ALTERNATIVE:${PN} = "sh"
-ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh"
-ALTERNATIVE_TARGET[sh] = "${base_bindir}/${BPN}"
-ALTERNATIVE_PRIORITY = "100"
-
-do_compile() {
- sh ${S}/Build.sh -r
-}
-
-do_install() {
- install -d ${D}${base_bindir}
- install -m 0755 ${S}/mksh ${D}${base_bindir}/mksh
-
- install -d ${D}${sysconfdir}/skel
- install -m 0644 ${S}/dot.mkshrc ${D}${sysconfdir}/skel/.mkshrc
-}
-
-RPROVIDES:${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sh', '', d)}"
diff --git a/meta-openembedded/meta-oe/recipes-shells/mksh/mksh_59c.bb b/meta-openembedded/meta-oe/recipes-shells/mksh/mksh_59c.bb
new file mode 100644
index 0000000..e3a8ca8
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-shells/mksh/mksh_59c.bb
@@ -0,0 +1,37 @@
+DESCRIPTION = "The MirBSD Korn Shell - an enhanced version of the public domain ksh"
+HOMEPAGE = "http://www.mirbsd.org/mksh.htm"
+SECTION = "base/shell"
+
+LICENSE = "${@bb.utils.contains("TCLIBC", "glibc", "MirOS & ISC", "MirOS", d)}"
+LIC_FILES_CHKSUM = "file://main.c;beginline=6;endline=26;md5=6efc2c249328e4d2bd3e595d5b1f9d31 \
+ file://strlcpy.c;beginline=1;endline=17;md5=d953f28f0c43ee29e238ec9bc15df2a0 \
+ "
+
+SRC_URI = "http://www.mirbsd.org/MirOS/dist/mir/${BPN}/${BPN}-R${PV}.tgz"
+
+SRC_URI[sha256sum] = "77ae1665a337f1c48c61d6b961db3e52119b38e58884d1c89684af31f87bc506"
+
+UPSTREAM_CHECK_REGEX = "${BPN}-R(?P<pver>.*)\.tgz"
+
+inherit update-alternatives
+
+S = "${WORKDIR}/${BPN}"
+
+ALTERNATIVE:${PN} = "sh"
+ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh"
+ALTERNATIVE_TARGET[sh] = "${base_bindir}/${BPN}"
+ALTERNATIVE_PRIORITY = "100"
+
+do_compile() {
+ sh ${S}/Build.sh -r
+}
+
+do_install() {
+ install -d ${D}${base_bindir}
+ install -m 0755 ${S}/mksh ${D}${base_bindir}/mksh
+
+ install -d ${D}${sysconfdir}/skel
+ install -m 0644 ${S}/dot.mkshrc ${D}${sysconfdir}/skel/.mkshrc
+}
+
+RPROVIDES:${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sh', '', d)}"
diff --git a/meta-openembedded/meta-oe/recipes-support/btop/btop_1.2.13.bb b/meta-openembedded/meta-oe/recipes-support/btop/btop_1.2.13.bb
new file mode 100644
index 0000000..a944fe7
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/btop/btop_1.2.13.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Resource monitor that shows usage and stats for processor, memory, disks, network and processes."
+HOMEPAGE = "https://github.com/aristocratos/btop"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+SECTION = "console/utils"
+
+SRC_URI = "git://github.com/aristocratos/btop.git;protocol=https;branch=main"
+SRCREV = "9edbf27f1b6d5844a97325fcda732762ba086a99"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+FILES:${PN} += " \
+ ${datadir}/icons \
+ ${datadir}/icons/hicolor \
+ ${datadir}/icons/hicolor/48x48 \
+ ${datadir}/icons/hicolor/scalable \
+ ${datadir}/icons/hicolor/48x48/apps \
+ ${datadir}/icons/hicolor/48x48/apps/btop.png \
+ ${datadir}/icons/hicolor/scalable/apps \
+ ${datadir}/icons/hicolor/scalable/apps/btop.svg \
+"
diff --git a/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares_1.19.1.bb b/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares_1.19.1.bb
deleted file mode 100644
index 1440d72..0000000
--- a/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares_1.19.1.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright (c) 2012-2014 LG Electronics, Inc.
-SUMMARY = "c-ares is a C library that resolves names asynchronously."
-HOMEPAGE = "http://daniel.haxx.se/projects/c-ares/"
-SECTION = "libs"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=fb997454c8d62aa6a47f07a8cd48b006"
-
-SRC_URI = "git://github.com/c-ares/c-ares.git;branch=main;protocol=https"
-SRCREV = "6360e96b5cf8e5980c887ce58ef727e53d77243a"
-
-UPSTREAM_CHECK_GITTAGREGEX = "cares-(?P<pver>\d+_(\d_?)+)"
-
-S = "${WORKDIR}/git"
-
-inherit cmake pkgconfig
-
-PACKAGES =+ "${PN}-utils"
-
-FILES:${PN}-utils = "${bindir}"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares_1.22.1.bb b/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares_1.22.1.bb
new file mode 100644
index 0000000..8ba1b60
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares_1.22.1.bb
@@ -0,0 +1,21 @@
+# Copyright (c) 2012-2014 LG Electronics, Inc.
+SUMMARY = "c-ares is a C library that resolves names asynchronously."
+HOMEPAGE = "http://daniel.haxx.se/projects/c-ares/"
+SECTION = "libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=fdbc58a6da11a9f68aa73c453818decc"
+
+SRC_URI = "git://github.com/c-ares/c-ares.git;branch=main;protocol=https"
+SRCREV = "36466bb240661fa8fdc2ffa47d229d92ac762286"
+
+UPSTREAM_CHECK_GITTAGREGEX = "cares-(?P<pver>\d+_(\d_?)+)"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig
+
+PACKAGES =+ "${PN}-utils"
+
+FILES:${PN}-utils = "${bindir}"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-support/ccid/ccid_1.5.2.bb b/meta-openembedded/meta-oe/recipes-support/ccid/ccid_1.5.2.bb
deleted file mode 100644
index 0802e80..0000000
--- a/meta-openembedded/meta-oe/recipes-support/ccid/ccid_1.5.2.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Generic USB CCID smart card reader driver"
-HOMEPAGE = "https://ccid.apdu.fr/"
-LICENSE = "LGPL-2.1-or-later"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
-
-DEPENDS = "autoconf-archive-native virtual/libusb0 pcsc-lite"
-RDEPENDS:${PN} = "pcsc-lite"
-
-SRC_URI = "https://ccid.apdu.fr/files/ccid-${PV}.tar.bz2 \
- file://0001-Add-build-rule-for-README.patch \
-"
-
-SRC_URI[sha256sum] = "13934487e6f8b48f699a16d367cc7a1af7a3ca874de721ac6e9633beb86e7219"
-
-inherit autotools pkgconfig
-
-FILES:${PN} += "${libdir}/pcsc/"
-FILES:${PN}-dbg += "${libdir}/pcsc/drivers/*/*/*/.debug"
diff --git a/meta-openembedded/meta-oe/recipes-support/ccid/ccid_1.5.4.bb b/meta-openembedded/meta-oe/recipes-support/ccid/ccid_1.5.4.bb
new file mode 100644
index 0000000..e53ffa4
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/ccid/ccid_1.5.4.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Generic USB CCID smart card reader driver"
+HOMEPAGE = "https://ccid.apdu.fr/"
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
+
+DEPENDS = "autoconf-archive-native virtual/libusb0 pcsc-lite"
+RDEPENDS:${PN} = "pcsc-lite"
+
+SRC_URI = "https://ccid.apdu.fr/files/ccid-${PV}.tar.bz2 \
+ file://0001-Add-build-rule-for-README.patch \
+"
+
+SRC_URI[sha256sum] = "6e832adc172ecdcfdee2b56f33144684882cbe972daff1938e7a9c73a64f88bf"
+
+inherit autotools pkgconfig
+
+FILES:${PN} += "${libdir}/pcsc/"
+FILES:${PN}-dbg += "${libdir}/pcsc/drivers/*/*/*/.debug"
diff --git a/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_2.1.0.bb b/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_2.1.0.bb
deleted file mode 100644
index d3c6b42..0000000
--- a/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_2.1.0.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-DESCRIPTION = "Ceres Solver is an open source C++ library for modeling and solving large, complicated optimization problems."
-HOMEPAGE = "http://ceres-solver.org/"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=bb761279816b72be19d7ce646e4e2a14"
-
-DEPENDS = "libeigen glog"
-
-SRC_URI = "git://github.com/ceres-solver/ceres-solver.git;branch=master;protocol=https"
-SRCREV = "f68321e7de8929fbcdb95dd42877531e64f72f66"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-do_configure:prepend() {
- # otherwise https://github.com/ceres-solver/ceres-solver/blob/0b748597889f460764f6c980a00c6f502caa3875/cmake/AddGerritCommitHook.cmake#L68
- # will try to fetch https://ceres-solver-review.googlesource.com/tools/hooks/commit-msg durind do_configure
- # which sometimes gets stuck (as there is no TIMEOUT set in DOWNLOAD)
- # and we really don't need Gerrit's Change-Id tags when just building this
- touch ${S}/.git/hooks/commit-msg
-}
-
-# We don't want path to eigen3 in ceres-solver RSS to be
-# used by components which use CeresConfig.cmake from their
-# own RSS
-# ceres-solver/1.14-r0/packages-split/ceres-solver-dev/usr/lib/cmake/Ceres/CeresConfig.cmake: set(Eigen3_DIR ceres-solver/1.14-r0/recipe-sysroot/usr/share/eigen3/cmake)
-# ceres-solver/1.14-r0/packages-split/ceres-solver-dev/usr/lib/cmake/Ceres/CeresConfig.cmake: list(APPEND EIGEN_INCLUDE_DIR_HINTS ceres-solver/1.14-r0/recipe-sysroot/usr/include/eigen3)
-# ceres-solver/1.14-r0/packages-split/ceres-solver-dev/usr/lib/cmake/Ceres/CeresConfig.cmake: set(glog_DIR ceres-solver/1.14-r0/recipe-sysroot/usr/lib/cmake/glog)
-SSTATE_SCAN_FILES += "*.cmake"
-
-PACKAGECONFIG ??= ""
-
-# suitesparse* recipes will be in meta-ros layer
-PACKAGECONFIG[suitesparse] = "-DSUITESPARSE=ON,-DSUITESPARSE=OFF,suitesparse-config suitesparse-amd suitesparse-camd suitesparse-colamd suitesparse-ccolamd suitesparse-cholmod suitesparse-metis suitesparse-spqr"
-PACKAGECONFIG[cxsparse] = "-DCXSPARSE=ON,-DCXSPARSE=OFF,suitesparse-cxsparse"
-PACKAGECONFIG[lapack] = "-DLAPACK=ON,-DLAPACK=OFF,lapack"
-
-# Only a static library and headers are created
-RDEPENDS:${PN}-dev = ""
-RRECOMMENDS:${PN}-dev = "${PN}-staticdev"
-RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
diff --git a/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_2.2.0.bb b/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_2.2.0.bb
new file mode 100644
index 0000000..18db072
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_2.2.0.bb
@@ -0,0 +1,41 @@
+DESCRIPTION = "Ceres Solver is an open source C++ library for modeling and solving large, complicated optimization problems."
+HOMEPAGE = "http://ceres-solver.org/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3585a26c9cd9ec0cb36a7d65542878ca"
+
+DEPENDS = "libeigen glog"
+
+SRC_URI = "git://github.com/ceres-solver/ceres-solver.git;branch=master;protocol=https"
+SRCREV = "85331393dc0dff09f6fb9903ab0c4bfa3e134b01"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+do_configure:prepend() {
+ # otherwise https://github.com/ceres-solver/ceres-solver/blob/0b748597889f460764f6c980a00c6f502caa3875/cmake/AddGerritCommitHook.cmake#L68
+ # will try to fetch https://ceres-solver-review.googlesource.com/tools/hooks/commit-msg durind do_configure
+ # which sometimes gets stuck (as there is no TIMEOUT set in DOWNLOAD)
+ # and we really don't need Gerrit's Change-Id tags when just building this
+ touch ${S}/.git/hooks/commit-msg
+}
+
+# We don't want path to eigen3 in ceres-solver RSS to be
+# used by components which use CeresConfig.cmake from their
+# own RSS
+# ceres-solver/1.14-r0/packages-split/ceres-solver-dev/usr/lib/cmake/Ceres/CeresConfig.cmake: set(Eigen3_DIR ceres-solver/1.14-r0/recipe-sysroot/usr/share/eigen3/cmake)
+# ceres-solver/1.14-r0/packages-split/ceres-solver-dev/usr/lib/cmake/Ceres/CeresConfig.cmake: list(APPEND EIGEN_INCLUDE_DIR_HINTS ceres-solver/1.14-r0/recipe-sysroot/usr/include/eigen3)
+# ceres-solver/1.14-r0/packages-split/ceres-solver-dev/usr/lib/cmake/Ceres/CeresConfig.cmake: set(glog_DIR ceres-solver/1.14-r0/recipe-sysroot/usr/lib/cmake/glog)
+SSTATE_SCAN_FILES += "*.cmake"
+
+PACKAGECONFIG ??= ""
+
+# suitesparse* recipes will be in meta-ros layer
+PACKAGECONFIG[suitesparse] = "-DSUITESPARSE=ON,-DSUITESPARSE=OFF,suitesparse-config suitesparse-amd suitesparse-camd suitesparse-colamd suitesparse-ccolamd suitesparse-cholmod suitesparse-metis suitesparse-spqr"
+PACKAGECONFIG[cxsparse] = "-DCXSPARSE=ON,-DCXSPARSE=OFF,suitesparse-cxsparse"
+PACKAGECONFIG[lapack] = "-DLAPACK=ON,-DLAPACK=OFF,lapack"
+
+# Only a static library and headers are created
+RDEPENDS:${PN}-dev = ""
+RRECOMMENDS:${PN}-dev = "${PN}-staticdev"
+RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
diff --git a/meta-openembedded/meta-oe/recipes-support/cpulimit/cpulimit_0.2.bb b/meta-openembedded/meta-oe/recipes-support/cpulimit/cpulimit_0.2.bb
index 58e4fd6..f88d3b6 100644
--- a/meta-openembedded/meta-oe/recipes-support/cpulimit/cpulimit_0.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/cpulimit/cpulimit_0.2.bb
@@ -1,4 +1,5 @@
SUMMARY = "cpulimit is a tool which limits the CPU usage of a process"
+DESCRIPTION = "cpulimit is a simple program that attempts to limit the CPU usage of a process (expressed in percentage, not in CPU time). This is useful to control batch jobs, when you don't want them to eat too much CPU. It does not act on the nice value or other priority stuff, but on the real CPU usage. Besides it is able to adapt itself to the overall system load, dynamically and quickly."
HOMEPAGE = "http://cpulimit.sourceforge.net"
LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86c1c0d961a437e529db93aa3bb32dc4"
diff --git a/meta-openembedded/meta-oe/recipes-support/crucible/crucible_2023.04.12.bb b/meta-openembedded/meta-oe/recipes-support/crucible/crucible_2023.04.12.bb
deleted file mode 100644
index 4830acf..0000000
--- a/meta-openembedded/meta-oe/recipes-support/crucible/crucible_2023.04.12.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Utility that provides userspace support for reading and writing to the i.MX fuses"
-LICENSE = "GPL-3.0-only"
-LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE;md5=a64ced9463b8c81d08335d41966e0592"
-
-GO_IMPORT = "github.com/usbarmory/crucible"
-SRC_URI = "git://${GO_IMPORT}.git;protocol=https;branch=master"
-
-GO_INSTALL = "\
- ${GO_IMPORT}/cmd/crucible \
- ${GO_IMPORT}/cmd/habtool \
-"
-SRCREV = "269c90b0067e469c20b11e7fc5f4681ad5f0af7e"
-
-# Workaround for network access issue during compile step.
-# This needs to be fixed in the recipes buildsystem so that
-# it can be accomplished during do_fetch task.
-do_compile[network] = "1"
-
-inherit go-mod
diff --git a/meta-openembedded/meta-oe/recipes-support/crucible/crucible_2023.11.02.bb b/meta-openembedded/meta-oe/recipes-support/crucible/crucible_2023.11.02.bb
new file mode 100644
index 0000000..339bb35
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/crucible/crucible_2023.11.02.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Utility that provides userspace support for reading and writing to the i.MX fuses"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE;md5=201414b6610203caed355323b1ab3116"
+
+GO_IMPORT = "github.com/usbarmory/crucible"
+SRC_URI = "git://${GO_IMPORT}.git;protocol=https;branch=master"
+
+GO_INSTALL = "\
+ ${GO_IMPORT}/cmd/crucible \
+ ${GO_IMPORT}/cmd/habtool \
+"
+SRCREV = "358b5e7adb7f101f870f2b42fe5371460a3cccb6"
+
+# Workaround for network access issue during compile step.
+# This needs to be fixed in the recipes buildsystem so that
+# it can be accomplished during do_fetch task.
+do_compile[network] = "1"
+
+inherit go-mod
diff --git a/meta-openembedded/meta-oe/recipes-support/edid-decode/edid-decode_git.bb b/meta-openembedded/meta-oe/recipes-support/edid-decode/edid-decode_git.bb
index c1f5121..48b52ee 100644
--- a/meta-openembedded/meta-oe/recipes-support/edid-decode/edid-decode_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/edid-decode/edid-decode_git.bb
@@ -7,7 +7,7 @@
LIC_FILES_CHKSUM = "file://LICENSE;md5=2ef696d66c156139232201f223c22592"
SRC_URI= "git://git.linuxtv.org/edid-decode.git;protocol=https;branch=master"
-SRCREV = "e052f5f9fdf74ca11aa1a8edfa62eff8d0aa3d0d"
+SRCREV = "5920bf2a756b2f748c49ff6a08b9f421026473c5"
PV = "0.0+git${SRCPV}"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.11.1.bb b/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.11.1.bb
deleted file mode 100644
index 063a63b..0000000
--- a/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.11.1.bb
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright (C) 2010-2012 O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license
-
-DESCRIPTION = "FreeRDP RDP client & server library"
-HOMEPAGE = "http://www.freerdp.com"
-DEPENDS = "openssl alsa-lib libusb1"
-SECTION = "net"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-inherit pkgconfig cmake gitpkgv
-
-PE = "1"
-PKGV = "${GITPKGVTAG}"
-
-SRCREV = "9d3d40bf3e429c0cd6609f686c0e73ed0eff0a07"
-SRC_URI = "git://github.com/FreeRDP/FreeRDP.git;branch=stable-2.0;protocol=https \
- file://winpr-makecert-Build-with-install-RPATH.patch \
- file://0001-Fix-const-qualifier-error.patch \
- "
-
-S = "${WORKDIR}/git"
-
-EXTRA_OECMAKE += " \
- -DWITH_ALSA=ON \
- -DWITH_FFMPEG=OFF \
- -DWITH_CUNIT=OFF \
- -DWITH_NEON=OFF \
- -DBUILD_STATIC_LIBS=OFF \
- -DCMAKE_POSITION_INDEPENDANT_CODE=ON \
- -DWITH_MANPAGES=OFF \
- -DPROXY_PLUGINDIR=${libdir}/freerdp/proxy/plugins \
-"
-
-PACKAGECONFIG ??= " \
- ${@bb.utils.filter('DISTRO_FEATURES', 'directfb pam pulseaudio wayland x11', d)}\
- gstreamer cups pcsc server \
-"
-
-X11_DEPS = "virtual/libx11 libxinerama libxext libxcursor libxv libxi libxrender libxfixes libxdamage libxrandr libxkbfile"
-PACKAGECONFIG[x11] = "-DWITH_X11=ON -DWITH_XINERAMA=ON -DWITH_XEXT=ON -DWITH_XCURSOR=ON -DWITH_XV=ON -DWITH_XI=ON -DWITH_XRENDER=ON -DWITH_XFIXES=ON -DWITH_XDAMAGE=ON -DWITH_XRANDR=ON -DWITH_XKBFILE=ON,-DWITH_X11=OFF,${X11_DEPS}"
-PACKAGECONFIG[wayland] = "-DWITH_WAYLAND=ON,-DWITH_WAYLAND=OFF,wayland wayland-native libxkbcommon"
-PACKAGECONFIG[directfb] = "-DWITH_DIRECTFB=ON,-DWITH_DIRECTFB=OFF,directfb"
-PACKAGECONFIG[pam] = "-DWITH_PAM=ON,-DWITH_PAM=OFF,libpam"
-PACKAGECONFIG[pcsc] = "-DWITH_PCSC=ON,-DWITH_PCSC=OFF,pcsc-lite"
-PACKAGECONFIG[pulseaudio] = "-DWITH_PULSEAUDIO=ON,-DWITH_PULSEAUDIO=OFF,pulseaudio"
-PACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER_1_0=ON,-DWITH_GSTREAMER_1_0=OFF,gstreamer1.0 gstreamer1.0-plugins-base"
-PACKAGECONFIG[cups] = "-DWITH_CUPS=ON,-DWITH_CUPS=OFF,cups"
-PACKAGECONFIG[server] = "-DWITH_SERVER=ON,-DWITH_SERVER=OFF"
-
-PACKAGES =+ "libfreerdp"
-
-LEAD_SONAME = "libfreerdp.so"
-FILES:libfreerdp = "${libdir}/lib*${SOLIBS}"
-
-PACKAGES_DYNAMIC += "^libfreerdp-plugin-.*"
-
-do_configure:append() {
- sed -i -e 's|${WORKDIR}||g' ${B}/buildflags.h
-}
-
-# we will need winpr-makecert to generate TLS certificates
-do_install:append () {
- install -d ${D}${bindir}
- install -m755 winpr/tools/makecert-cli/winpr-makecert ${D}${bindir}
- rm -rf ${D}${libdir}/cmake
- rm -rf ${D}${libdir}/freerdp
-}
-
-python populate_packages:prepend () {
- freerdp_root = d.expand('${libdir}/freerdp')
-
- do_split_packages(d, freerdp_root, r'^(audin_.*)\.so$',
- output_pattern='libfreerdp-plugin-%s',
- description='FreeRDP plugin %s',
- prepend=True, extra_depends='libfreerdp-plugin-audin')
-
- do_split_packages(d, freerdp_root, r'^(rdpsnd_.*)\.so$',
- output_pattern='libfreerdp-plugin-%s',
- description='FreeRDP plugin %s',
- prepend=True, extra_depends='libfreerdp-plugin-rdpsnd')
-
- do_split_packages(d, freerdp_root, r'^(tsmf_.*)\.so$',
- output_pattern='libfreerdp-plugin-%s',
- description='FreeRDP plugin %s',
- prepend=True, extra_depends='libfreerdp-plugin-tsmf')
-
- do_split_packages(d, freerdp_root, r'^([^-]*)\.so$',
- output_pattern='libfreerdp-plugin-%s',
- description='FreeRDP plugin %s',
- prepend=True, extra_depends='')
-}
diff --git a/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.11.2.bb b/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.11.2.bb
new file mode 100644
index 0000000..c8d996d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.11.2.bb
@@ -0,0 +1,92 @@
+# Copyright (C) 2010-2012 O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license
+
+DESCRIPTION = "FreeRDP RDP client & server library"
+HOMEPAGE = "http://www.freerdp.com"
+DEPENDS = "openssl alsa-lib libusb1"
+SECTION = "net"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+inherit pkgconfig cmake gitpkgv
+
+PE = "1"
+PKGV = "${GITPKGVTAG}"
+
+SRCREV = "a38c1be9eee39a9bc22b511fffe96e63fdf8ebe7"
+SRC_URI = "git://github.com/FreeRDP/FreeRDP.git;branch=stable-2.0;protocol=https \
+ file://winpr-makecert-Build-with-install-RPATH.patch \
+ file://0001-Fix-const-qualifier-error.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECMAKE += " \
+ -DWITH_ALSA=ON \
+ -DWITH_FFMPEG=OFF \
+ -DWITH_CUNIT=OFF \
+ -DWITH_NEON=OFF \
+ -DBUILD_STATIC_LIBS=OFF \
+ -DCMAKE_POSITION_INDEPENDANT_CODE=ON \
+ -DWITH_MANPAGES=OFF \
+ -DPROXY_PLUGINDIR=${libdir}/freerdp/proxy/plugins \
+"
+
+PACKAGECONFIG ??= " \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'directfb pam pulseaudio wayland x11', d)}\
+ gstreamer cups pcsc server \
+"
+
+X11_DEPS = "virtual/libx11 libxinerama libxext libxcursor libxv libxi libxrender libxfixes libxdamage libxrandr libxkbfile"
+PACKAGECONFIG[x11] = "-DWITH_X11=ON -DWITH_XINERAMA=ON -DWITH_XEXT=ON -DWITH_XCURSOR=ON -DWITH_XV=ON -DWITH_XI=ON -DWITH_XRENDER=ON -DWITH_XFIXES=ON -DWITH_XDAMAGE=ON -DWITH_XRANDR=ON -DWITH_XKBFILE=ON,-DWITH_X11=OFF,${X11_DEPS}"
+PACKAGECONFIG[wayland] = "-DWITH_WAYLAND=ON,-DWITH_WAYLAND=OFF,wayland wayland-native libxkbcommon"
+PACKAGECONFIG[directfb] = "-DWITH_DIRECTFB=ON,-DWITH_DIRECTFB=OFF,directfb"
+PACKAGECONFIG[pam] = "-DWITH_PAM=ON,-DWITH_PAM=OFF,libpam"
+PACKAGECONFIG[pcsc] = "-DWITH_PCSC=ON,-DWITH_PCSC=OFF,pcsc-lite"
+PACKAGECONFIG[pulseaudio] = "-DWITH_PULSEAUDIO=ON,-DWITH_PULSEAUDIO=OFF,pulseaudio"
+PACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER_1_0=ON,-DWITH_GSTREAMER_1_0=OFF,gstreamer1.0 gstreamer1.0-plugins-base"
+PACKAGECONFIG[cups] = "-DWITH_CUPS=ON,-DWITH_CUPS=OFF,cups"
+PACKAGECONFIG[server] = "-DWITH_SERVER=ON,-DWITH_SERVER=OFF"
+
+PACKAGES =+ "libfreerdp"
+
+LEAD_SONAME = "libfreerdp.so"
+FILES:libfreerdp = "${libdir}/lib*${SOLIBS}"
+
+PACKAGES_DYNAMIC += "^libfreerdp-plugin-.*"
+
+do_configure:append() {
+ sed -i -e 's|${WORKDIR}||g' ${B}/buildflags.h
+}
+
+# we will need winpr-makecert to generate TLS certificates
+do_install:append () {
+ install -d ${D}${bindir}
+ install -m755 winpr/tools/makecert-cli/winpr-makecert ${D}${bindir}
+ rm -rf ${D}${libdir}/cmake
+ rm -rf ${D}${libdir}/freerdp
+}
+
+python populate_packages:prepend () {
+ freerdp_root = d.expand('${libdir}/freerdp')
+
+ do_split_packages(d, freerdp_root, r'^(audin_.*)\.so$',
+ output_pattern='libfreerdp-plugin-%s',
+ description='FreeRDP plugin %s',
+ prepend=True, extra_depends='libfreerdp-plugin-audin')
+
+ do_split_packages(d, freerdp_root, r'^(rdpsnd_.*)\.so$',
+ output_pattern='libfreerdp-plugin-%s',
+ description='FreeRDP plugin %s',
+ prepend=True, extra_depends='libfreerdp-plugin-rdpsnd')
+
+ do_split_packages(d, freerdp_root, r'^(tsmf_.*)\.so$',
+ output_pattern='libfreerdp-plugin-%s',
+ description='FreeRDP plugin %s',
+ prepend=True, extra_depends='libfreerdp-plugin-tsmf')
+
+ do_split_packages(d, freerdp_root, r'^([^-]*)\.so$',
+ output_pattern='libfreerdp-plugin-%s',
+ description='FreeRDP plugin %s',
+ prepend=True, extra_depends='')
+}
diff --git a/meta-openembedded/meta-oe/recipes-support/function2/function2_4.2.3.bb b/meta-openembedded/meta-oe/recipes-support/function2/function2_4.2.3.bb
deleted file mode 100644
index 599c490..0000000
--- a/meta-openembedded/meta-oe/recipes-support/function2/function2_4.2.3.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Improved drop-in replacement for std::function"
-DESCRIPTION = "Provides improved implementations of std::function."
-HOMEPAGE = "https://naios.github.io/function2"
-LICENSE = "BSL-1.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
-SRCREV = "9e303865d14f1204f09379e37bbeb30c4375139a"
-PV .= "+git${SRCPV}"
-
-SRC_URI += "gitsm://github.com/Naios/function2;branch=master;protocol=https"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-inherit ptest
-
-# Installs some data to incorrect top-level /usr directory
-do_install:append() {
- mkdir -p ${D}/${datadir}/function2
- mv ${D}/${prefix}/Readme.md ${D}/${datadir}/function2/
- mv ${D}/${prefix}/LICENSE.txt ${D}/${datadir}/function2/
-}
diff --git a/meta-openembedded/meta-oe/recipes-support/function2/function2_4.2.4.bb b/meta-openembedded/meta-oe/recipes-support/function2/function2_4.2.4.bb
new file mode 100644
index 0000000..2748b84
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/function2/function2_4.2.4.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Improved drop-in replacement for std::function"
+DESCRIPTION = "Provides improved implementations of std::function."
+HOMEPAGE = "https://naios.github.io/function2"
+LICENSE = "BSL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
+SRCREV = "a354bd093d2b6e50c9325dbce84d20b4e77aabc6"
+PV .= "+git${SRCPV}"
+
+SRC_URI += "gitsm://github.com/Naios/function2;branch=master;protocol=https"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+inherit ptest
+
+# Installs some data to incorrect top-level /usr directory
+do_install:append() {
+ mkdir -p ${D}/${datadir}/function2
+ mv ${D}/${prefix}/Readme.md ${D}/${datadir}/function2/
+ mv ${D}/${prefix}/LICENSE.txt ${D}/${datadir}/function2/
+}
diff --git a/meta-openembedded/meta-oe/recipes-support/googlebenchmark/googlebenchmark_1.8.0.bb b/meta-openembedded/meta-oe/recipes-support/googlebenchmark/googlebenchmark_1.8.0.bb
deleted file mode 100644
index 209f51e..0000000
--- a/meta-openembedded/meta-oe/recipes-support/googlebenchmark/googlebenchmark_1.8.0.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-DESCRIPTION = "A microbenchmark support library"
-HOMEPAGE = "https://github.com/google/benchmark"
-SECTION = "libs"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-SRC_URI = "git://github.com/google/benchmark.git;protocol=https;branch=main"
-SRCREV = "2dd015dfef425c866d9a43f2c67d8b52d709acb6"
-
-S = "${WORKDIR}/git"
-
-EXTRA_OECMAKE = " \
- -DBUILD_SHARED_LIBS=yes \
- -DBENCHMARK_ENABLE_TESTING=no \
- -DCMAKE_BUILD_TYPE=Release \
-"
-
-inherit cmake
-
-FILES:${PN}-dev += "${libdir}/cmake"
diff --git a/meta-openembedded/meta-oe/recipes-support/googlebenchmark/googlebenchmark_1.8.3.bb b/meta-openembedded/meta-oe/recipes-support/googlebenchmark/googlebenchmark_1.8.3.bb
new file mode 100644
index 0000000..f945a30
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/googlebenchmark/googlebenchmark_1.8.3.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "A microbenchmark support library"
+HOMEPAGE = "https://github.com/google/benchmark"
+SECTION = "libs"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI = "git://github.com/google/benchmark.git;protocol=https;branch=main"
+SRCREV = "344117638c8ff7e239044fd0fa7085839fc03021"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECMAKE = " \
+ -DBUILD_SHARED_LIBS=yes \
+ -DBENCHMARK_ENABLE_TESTING=no \
+ -DCMAKE_BUILD_TYPE=Release \
+"
+
+inherit cmake
+
+FILES:${PN}-dev += "${libdir}/cmake"
diff --git a/meta-openembedded/meta-oe/recipes-support/hdf5/hdf5_1.14.2.bb b/meta-openembedded/meta-oe/recipes-support/hdf5/hdf5_1.14.2.bb
index 68b91c0..e716430 100644
--- a/meta-openembedded/meta-oe/recipes-support/hdf5/hdf5_1.14.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/hdf5/hdf5_1.14.2.bb
@@ -7,7 +7,7 @@
LICENSE = "HDF5"
LIC_FILES_CHKSUM = "file://COPYING;md5=9ba0f3d878ab6c2403c86e9b0362d998"
-inherit cmake siteinfo qemu multilib_header
+inherit cmake siteinfo qemu multilib_header multilib_script
DEPENDS += "qemu-native zlib"
@@ -40,6 +40,10 @@
do_unpack[postfuncs] += "gen_emu"
+MULTILIB_SCRIPTS += "${PN}:${bindir}/h5cc \
+ ${PN}:${bindir}/h5hlcc \
+"
+
do_install:append() {
# Used for generating config files on target
install -m 755 ${B}/bin/H5detect ${D}${bindir}
diff --git a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.370.bb b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.370.bb
deleted file mode 100644
index 56d4253..0000000
--- a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.370.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-DESCRIPTION = "Hardware identification and configuration data"
-HOMEPAGE = "https://github.com/vcrhonek/hwdata"
-SECTION = "System/Base"
-
-LICENSE = "GPL-2.0-or-later | XFree86-1.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1556547711e8246992b999edd9445a57"
-
-SRCREV = "21cb47beb1716545b25dfe8ae1b9e079c73b85d9"
-SRC_URI = "git://github.com/vcrhonek/${BPN}.git;branch=master;protocol=https"
-
-S = "${WORKDIR}/git"
-
-inherit allarch
-
-do_configure() {
- ${S}/configure --datadir=${datadir} --libdir=${libdir}
-}
-
-do_compile[noexec] = "1"
-
-do_install() {
- oe_runmake install DESTDIR=${D}
-}
-
-FILES:${PN} = "${libdir}/* \
- ${datadir}/* "
diff --git a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.376.bb b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.376.bb
new file mode 100644
index 0000000..1666d5e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.376.bb
@@ -0,0 +1,26 @@
+DESCRIPTION = "Hardware identification and configuration data"
+HOMEPAGE = "https://github.com/vcrhonek/hwdata"
+SECTION = "System/Base"
+
+LICENSE = "GPL-2.0-or-later | XFree86-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1556547711e8246992b999edd9445a57"
+
+SRCREV = "e27f08bda517100746000dacdd882b6a7e7ce19a"
+SRC_URI = "git://github.com/vcrhonek/${BPN}.git;branch=master;protocol=https"
+
+S = "${WORKDIR}/git"
+
+inherit allarch
+
+do_configure() {
+ ${S}/configure --datadir=${datadir} --libdir=${libdir}
+}
+
+do_compile[noexec] = "1"
+
+do_install() {
+ oe_runmake install DESTDIR=${D}
+}
+
+FILES:${PN} = "${libdir}/* \
+ ${datadir}/* "
diff --git a/meta-openembedded/meta-oe/recipes-support/idevicerestore/idevicerestore_git.bb b/meta-openembedded/meta-oe/recipes-support/idevicerestore/idevicerestore_git.bb
index 2a0a129..3dbd8db 100644
--- a/meta-openembedded/meta-oe/recipes-support/idevicerestore/idevicerestore_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/idevicerestore/idevicerestore_git.bb
@@ -10,7 +10,7 @@
PV = "1.0.1+git${SRCPV}"
-SRCREV = "163a1647dedb7ca4656c0f072e4733573f9f982b"
+SRCREV = "ecae6c6e8ca6b6bad080a1c73f10ffd0e67d75a7"
SRC_URI = "git://github.com/libimobiledevice/idevicerestore;protocol=https;branch=master"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.10.bb b/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.10.bb
new file mode 100644
index 0000000..28e40f6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.10.bb
@@ -0,0 +1,30 @@
+DESCRIPTION = "The goal of this project is to provide a tiny library that would \
+facilitate the common operations with sizes in bytes."
+HOMEPAGE = "https://github.com/rhinstaller/libbytesize"
+LICENSE = "LGPL-2.0-or-later"
+SECTION = "devel/lib"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c07cb499d259452f324bb90c3067d85c"
+
+S = "${WORKDIR}/git"
+B = "${S}"
+
+SRCREV = "6e83cc6f6dff4f126fc79284e0c3c1c50123380d"
+SRC_URI = "git://github.com/storaged-project/libbytesize;branch=main;protocol=https"
+
+inherit gettext autotools pkgconfig python3native
+
+DEPENDS += " \
+ libpcre2 \
+ gmp \
+ mpfr \
+ gettext-native \
+"
+
+FILES:${PN} += "${PYTHON_SITEPACKAGES_DIR}/bytesize"
+
+PACKAGECONFIG ??= "python3"
+PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3-core"
+
+EXTRA_OECONF = "--without-gtk-doc"
+EXTRA_OEMAKE = "py3libdir=${PYTHON_SITEPACKAGES_DIR}"
diff --git a/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.9.bb b/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.9.bb
deleted file mode 100644
index dfc7b42..0000000
--- a/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.9.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-DESCRIPTION = "The goal of this project is to provide a tiny library that would \
-facilitate the common operations with sizes in bytes."
-HOMEPAGE = "https://github.com/rhinstaller/libbytesize"
-LICENSE = "LGPL-2.0-or-later"
-SECTION = "devel/lib"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c07cb499d259452f324bb90c3067d85c"
-
-S = "${WORKDIR}/git"
-B = "${S}"
-
-SRCREV = "2fa27aa3acccc70b9f6c3bf2e569e3d33a381e83"
-SRC_URI = "git://github.com/rhinstaller/libbytesize;branch=master;protocol=https"
-
-inherit gettext autotools pkgconfig python3native
-
-DEPENDS += " \
- libpcre2 \
- gmp \
- mpfr \
- gettext-native \
-"
-
-FILES:${PN} += "${PYTHON_SITEPACKAGES_DIR}/bytesize"
-
-PACKAGECONFIG ??= "python3"
-PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3-core"
-
-EXTRA_OECONF = "--without-gtk-doc"
-EXTRA_OEMAKE = "py3libdir=${PYTHON_SITEPACKAGES_DIR}"
diff --git a/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.4.0.bb b/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.4.0.bb
index 28305c9..7204442 100644
--- a/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.4.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.4.0.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms."
HOMEPAGE = "http://eigen.tuxfamily.org/"
-LICENSE = "MPL-2.0 & Apache-2.0 & BSD-3-Clause & GPL-3.0-only & LGPL-2.1-only & MINPACK"
+LICENSE = "MPL-2.0 & Apache-2.0 & BSD-3-Clause & GPL-2.0-only & LGPL-2.1-only & MINPACK"
LIC_FILES_CHKSUM = "file://COPYING.MPL2;md5=815ca599c9df247a0c7f619bab123dad \
file://COPYING.BSD;md5=2dd0510ee95e59ca28834b875bc96596 \
file://COPYING.GPL;md5=d32239bcb673463ab874e80d47fae504 \
diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod-2.x/run-ptest b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod-2.x/run-ptest
index 9475f02..29ec0d1 100644
--- a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod-2.x/run-ptest
+++ b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod-2.x/run-ptest
@@ -1,6 +1,6 @@
#!/bin/sh
-testbins="gpiod-test gpio-tools-test gpiod-cxx-test"
+testbins="gpiod-test gpio-tools-test.bash gpiod-cxx-test"
ptestdir=$(dirname "$(readlink -f "$0")")
cd $ptestdir/tests
diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.inc b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.inc
index 0eda47b..dc1fb4f 100644
--- a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.inc
+++ b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.inc
@@ -33,7 +33,6 @@
FILES:libgpiodcxx = "${libdir}/libgpiodcxx.so.*"
RRECOMMENDS:${PN}-ptest += "coreutils"
-RDEPENDS:${PN}-ptest += "${@bb.utils.contains('PTEST_ENABLED', '1', 'bats', '', d)}"
do_install:append() {
rm -f ${D}${bindir}/gpiod-test
@@ -50,8 +49,6 @@
# Tools are always built so let's always install them for ptest even if
# we're not selecting libgpiod-tools.
- install -m 0755 ${S}/tools/gpio-tools-test ${D}${PTEST_PATH}/tests/
- install -m 0755 ${S}/tools/gpio-tools-test.bats ${D}${PTEST_PATH}/tests/
for tool in ${FILES:${PN}-tools}; do
install ${B}/tools/.libs/$(basename $tool) ${D}${PTEST_PATH}/tests/
done
diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.4.bb b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.4.bb
index b28aa8e..111a572 100644
--- a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.4.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.4.bb
@@ -30,9 +30,15 @@
kernel-module-gpio-mockup \
${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-unittest', '', d)} \
"
-RDEPENDS:${PN}-ptest += "python3-packaging"
+RDEPENDS:${PN}-ptest += " \
+ python3-packaging \
+ ${@bb.utils.contains('PTEST_ENABLED', '1', 'bats', '', d)} \
+"
do_install_ptest:append() {
+ install -m 0755 ${S}/tools/gpio-tools-test ${D}${PTEST_PATH}/tests/
+ install -m 0755 ${S}/tools/gpio-tools-test.bats ${D}${PTEST_PATH}/tests/
+
if ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'true', 'false', d)}; then
install -m 0755 ${S}/bindings/python/tests/gpiod_py_test.py ${D}${PTEST_PATH}/tests/
fi
diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_2.0.2.bb b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_2.0.2.bb
deleted file mode 100644
index 7533e0a..0000000
--- a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_2.0.2.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-require libgpiod.inc
-
-LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later & CC-BY-SA-4.0"
-LIC_FILES_CHKSUM = " \
- file://LICENSES/GPL-2.0-or-later.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://LICENSES/LGPL-2.1-or-later.txt;md5=4b54a1fd55a448865a0b32d41598759d \
- file://LICENSES/CC-BY-SA-4.0.txt;md5=fba3b94d88bfb9b81369b869a1e9a20f \
-"
-
-FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}-2.x:"
-
-SRC_URI[sha256sum] = "c3c923dc63b7b1b02639c9179c81e3d9febf0887bbaa59775990229cdbedb88b"
-
-# Enable all project features for ptest
-PACKAGECONFIG[tests] = "--enable-tests --enable-tools --enable-bindings-cxx --enable-gpioset-interactive,--disable-tests,kmod util-linux glib-2.0 catch2 libedit"
-PACKAGECONFIG[gpioset-interactive] = "--enable-gpioset-interactive,--disable-gpioset-interactive,libedit"
-
-PACKAGES =+ "${PN}-ptest-dev"
-FILES:${PN}-tools += "${bindir}/gpionotify"
-FILES:${PN}-ptest += "${libdir}/libgpiosim.so.*"
-FILES:${PN}-ptest-dev += "${includedir}/gpiosim.h"
-
-RRECOMMENDS:${PN}-ptest += "kernel-module-gpio-sim"
-
-do_install_ptest:append() {
- install -m 0644 ${S}/tests/gpiosim/gpiosim.h ${D}${includedir}/gpiosim.h
-}
diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_2.1.bb b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_2.1.bb
new file mode 100644
index 0000000..1e92d00
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_2.1.bb
@@ -0,0 +1,32 @@
+require libgpiod.inc
+
+LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later & CC-BY-SA-4.0"
+LIC_FILES_CHKSUM = " \
+ file://LICENSES/GPL-2.0-or-later.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LICENSES/LGPL-2.1-or-later.txt;md5=4b54a1fd55a448865a0b32d41598759d \
+ file://LICENSES/CC-BY-SA-4.0.txt;md5=fba3b94d88bfb9b81369b869a1e9a20f \
+"
+
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}-2.x:"
+
+SRC_URI[sha256sum] = "fa4024a080121c958502f9a46a5bda44bea85e7a4dd7fcb3dead463b6fc4261c"
+
+# Enable all project features for ptest
+PACKAGECONFIG[tests] = "--enable-tests --enable-tools --enable-bindings-cxx --enable-gpioset-interactive,--disable-tests,kmod util-linux glib-2.0 catch2 libedit"
+PACKAGECONFIG[gpioset-interactive] = "--enable-gpioset-interactive,--disable-gpioset-interactive,libedit"
+
+PACKAGES =+ "${PN}-ptest-dev"
+FILES:${PN}-tools += "${bindir}/gpionotify"
+FILES:${PN}-ptest += "${libdir}/libgpiosim.so.*"
+FILES:${PN}-ptest-dev += "${includedir}/gpiosim.h"
+
+RDEPENDS:${PN}-ptest += " \
+ bash \
+ ${@bb.utils.contains('PTEST_ENABLED', '1', 'shunit2', '', d)} \
+"
+RRECOMMENDS:${PN}-ptest += "kernel-module-gpio-sim"
+
+do_install_ptest:append() {
+ install -m 0755 ${S}/tools/gpio-tools-test.bash ${D}${PTEST_PATH}/tests/
+ install -m 0644 ${S}/tests/gpiosim/gpiosim.h ${D}${includedir}/gpiosim.h
+}
diff --git a/meta-openembedded/meta-oe/recipes-support/libosinfo/libosinfo_1.10.bb b/meta-openembedded/meta-oe/recipes-support/libosinfo/libosinfo_1.10.bb
deleted file mode 100644
index d724c52..0000000
--- a/meta-openembedded/meta-oe/recipes-support/libosinfo/libosinfo_1.10.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "API for managing information about operating systems, hypervisors and the (virtual) hardware devices."
-HOMEPAGE = "https://libosinfo.org"
-
-LICENSE = "LGPL-2.1-only & GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2b0e9926530c269f5ae95560370195af"
-LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
-
-SRC_URI = " \
- git://gitlab.com/libosinfo/libosinfo.git;branch=main;protocol=https \
- file://0001-meson.build-allow-crosscompiling-gir.patch \
-"
-
-SRCREV = "f503ff7a9e13963bcf396776bce0b209a819ba9b"
-
-S = "${WORKDIR}/git"
-
-inherit meson pkgconfig gtk-doc gobject-introspection vala
-
-DEPENDS = "glib-2.0 libsoup libxslt"
-
-GIR_MESON_OPTION = "enable-introspection"
-GIR_MESON_ENABLE_FLAG = 'enabled'
-GIR_MESON_DISABLE_FLAG = 'disabled'
-GTKDOC_MESON_OPTION = "enable-gtk-doc"
-
-EXTRA_OEMESON += " \
- -Dwith-pci-ids-path=${datadir}/pci.ids \
- -Dwith-usb-ids-path=${datadir}/usb.ids \
- ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Denable-vala=enabled', '-Denable-vala=disabled', d)} \
-"
-
-RDEPENDS:${PN} = "pciutils-ids usbids"
diff --git a/meta-openembedded/meta-oe/recipes-support/libosinfo/libosinfo_1.11.0.bb b/meta-openembedded/meta-oe/recipes-support/libosinfo/libosinfo_1.11.0.bb
new file mode 100644
index 0000000..ca6f9ba
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libosinfo/libosinfo_1.11.0.bb
@@ -0,0 +1,34 @@
+SUMMARY = "API for managing information about operating systems, hypervisors and the (virtual) hardware devices."
+HOMEPAGE = "https://libosinfo.org"
+
+LICENSE = "LGPL-2.1-only & GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2b0e9926530c269f5ae95560370195af"
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = " \
+ git://gitlab.com/libosinfo/libosinfo.git;branch=main;protocol=https \
+ file://0001-meson.build-allow-crosscompiling-gir.patch \
+"
+
+SRCREV = "ca9dd5b810dc04ea38048ae9be491654c8596ef9"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig gtk-doc gobject-introspection vala
+
+DEPENDS = "glib-2.0 libsoup libxslt"
+
+VALA_MESON_OPTION = 'enable-vala'
+VALA_MESON_ENABLE_FLAG = 'enabled'
+VALA_MESON_DISABLE_FLAG = 'disabled'
+GIR_MESON_OPTION = "enable-introspection"
+GIR_MESON_ENABLE_FLAG = 'enabled'
+GIR_MESON_DISABLE_FLAG = 'disabled'
+GTKDOC_MESON_OPTION = "enable-gtk-doc"
+
+EXTRA_OEMESON += " \
+ -Dwith-pci-ids-path=${datadir}/pci.ids \
+ -Dwith-usb-ids-path=${datadir}/usb.ids \
+"
+
+RDEPENDS:${PN} = "pciutils-ids usbids"
diff --git a/meta-openembedded/meta-oe/recipes-support/libraw/libraw_0.20.2.bb b/meta-openembedded/meta-oe/recipes-support/libraw/libraw_0.20.2.bb
deleted file mode 100644
index 1940864..0000000
--- a/meta-openembedded/meta-oe/recipes-support/libraw/libraw_0.20.2.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "raw image decoder"
-LICENSE = "LGPL-2.1-only | CDDL-1.0"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=74c9dffdc42805f9c0de2f97df6031fc"
-
-SRC_URI = "git://github.com/LibRaw/LibRaw.git;branch=master;protocol=https"
-SRCREV = "0209b6a2caec189e6d1a9b21c10e9e49f46e5a92"
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-DEPENDS = "jpeg jasper lcms"
diff --git a/meta-openembedded/meta-oe/recipes-support/libraw/libraw_0.21.1.bb b/meta-openembedded/meta-oe/recipes-support/libraw/libraw_0.21.1.bb
new file mode 100644
index 0000000..a3bbbe3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libraw/libraw_0.21.1.bb
@@ -0,0 +1,11 @@
+SUMMARY = "raw image decoder"
+LICENSE = "LGPL-2.1-only | CDDL-1.0"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=1501ae0aa3c8544e63f08d6f7bf88a6f"
+
+SRC_URI = "git://github.com/LibRaw/LibRaw.git;branch=master;protocol=https"
+SRCREV = "cccb97647fcee56801fa68231fa8a38aa8b52ef7"
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+DEPENDS = "jpeg jasper lcms"
diff --git a/meta-openembedded/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb b/meta-openembedded/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb
index 33e1b6f..07e2e29 100644
--- a/meta-openembedded/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb
@@ -14,13 +14,11 @@
SRC_URI[md5sum] = "4bf47483c06c9f07d1b10fbc74eddf11"
SRC_URI[sha256sum] = "f21accdadb1bb328ea3f8a13fc34d715baac6e2db66065898346322c725754d3"
-DEPENDS += "bison-native flex-native"
-
-RDEPENDS:${PN} += "wget"
+DEPENDS += "bison-native flex-native wget-native gawk-native"
inherit autotools-brokensep
-EXTRA_OECONF = "ac_cv_path_SH=/bin/sh ac_cv_path_WGET=${bindir}/wget ac_cv_path_AWK=${bindir}/awk"
+EXTRA_OECONF = "ac_cv_path_SH=/bin/sh"
do_install:append () {
install -d ${D}${sysconfdir}
@@ -34,3 +32,5 @@
FILES:${PN}-yang += "${datadir}/yang"
RRECOMMENDS:${PN} = "${BPN}-mibs"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_194.bb b/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_194.bb
deleted file mode 100644
index 9b5c554..0000000
--- a/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_194.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-SUMMARY = "mcelog daemon accounts memory and some other errors in various ways."
-DESCRIPTION = "mcelog is required by both 32bit x86 Linux kernels (since 2.6.30) \
-and 64bit Linux kernels (since early 2.6 kernel releases) to log machine checks \
-and should run on all Linux systems that need error handling."
-HOMEPAGE = "https://mcelog.org/"
-SECTION = "System Environment/Base"
-
-SRC_URI = "\
- git://git.kernel.org/pub/scm/utils/cpu/mce/mcelog.git;protocol=http;;branch=master \
- file://0001-client-Include-string.h-form-mem-function-prototypes.patch \
- file://run-ptest \
-"
-
-SRCREV = "8f33fdc47160edce09d75e1316b4d88129ca60a0"
-
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-S = "${WORKDIR}/git"
-
-inherit ptest
-
-COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux'
-
-EXTRA_OEMAKE += "CFLAGS='${CFLAGS}'"
-
-do_compile() {
- oe_runmake
-}
-
-do_install() {
- oe_runmake install DESTDIR=${D}
- install -d ${D}${sysconfdir}/cron.hourly
- install -m 0755 ${S}/mcelog.cron ${D}${sysconfdir}/cron.hourly/
- sed -i 's/bash/sh/' ${D}${sysconfdir}/cron.hourly/mcelog.cron
-}
-
-do_install_ptest() {
- install -d ${D}${PTEST_PATH}
- cp -r ${S}/tests ${S}/input ${D}${PTEST_PATH}
- sed -i 's#../../mcelog#mcelog#' ${D}${PTEST_PATH}/tests/test
-}
-
-RDEPENDS:${PN}-ptest += "make bash mce-inject"
diff --git a/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_196.bb b/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_196.bb
new file mode 100644
index 0000000..06aa30d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_196.bb
@@ -0,0 +1,44 @@
+SUMMARY = "mcelog daemon accounts memory and some other errors in various ways."
+DESCRIPTION = "mcelog is required by both 32bit x86 Linux kernels (since 2.6.30) \
+and 64bit Linux kernels (since early 2.6 kernel releases) to log machine checks \
+and should run on all Linux systems that need error handling."
+HOMEPAGE = "https://mcelog.org/"
+SECTION = "System Environment/Base"
+
+SRC_URI = "\
+ git://git.kernel.org/pub/scm/utils/cpu/mce/mcelog.git;protocol=http;;branch=master \
+ file://0001-client-Include-string.h-form-mem-function-prototypes.patch \
+ file://run-ptest \
+"
+
+SRCREV = "edfe78a0dc54a940f4916a9bd681eab7b3f746d1"
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+S = "${WORKDIR}/git"
+
+inherit ptest
+
+COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux'
+
+EXTRA_OEMAKE += "CFLAGS='${CFLAGS}'"
+
+do_compile() {
+ oe_runmake
+}
+
+do_install() {
+ oe_runmake install DESTDIR=${D}
+ install -d ${D}${sysconfdir}/cron.hourly
+ install -m 0755 ${S}/mcelog.cron ${D}${sysconfdir}/cron.hourly/
+ sed -i 's/bash/sh/' ${D}${sysconfdir}/cron.hourly/mcelog.cron
+}
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}
+ cp -r ${S}/tests ${S}/input ${D}${PTEST_PATH}
+ sed -i 's#../../mcelog#mcelog#' ${D}${PTEST_PATH}/tests/test
+}
+
+RDEPENDS:${PN}-ptest += "make bash mce-inject"
diff --git a/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.9.3.bb b/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.9.3.bb
index ae4b3b9..a7a9019 100644
--- a/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.9.3.bb
+++ b/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.9.3.bb
@@ -29,7 +29,7 @@
LICENSE = "GPL-2.0-only"
-SRC_URI = "git://github.com/opensvc/multipath-tools.git;protocol=http;branch=master \
+SRC_URI = "git://github.com/opensvc/multipath-tools.git;protocol=https;branch=master \
file://multipathd.oe \
file://multipath.conf.example \
file://0021-RH-fixup-udev-rules-for-redhat.patch \
diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/fix-build-with-protobuf-v22.patch b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/fix-build-with-protobuf-v22.patch
index 536060c..265d723 100644
--- a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/fix-build-with-protobuf-v22.patch
+++ b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/fix-build-with-protobuf-v22.patch
@@ -1,19 +1,60 @@
-From 5e4150826fea6f37276f348c65d94ce4847d1211 Mon Sep 17 00:00:00 2001
+From 75f7475fcfb35cbe4d8f5ccf5c4ac8bc78f2dc30 Mon Sep 17 00:00:00 2001
From: Kumataro <Kumataro@users.noreply.github.com>
-Date: Sat, 7 Oct 2023 10:11:25 +0900
-Subject: [PATCH] 3rdparty: supporting protobuf v22 and later
+Date: Thu, 19 Oct 2023 14:45:08 +0900
+Subject: [PATCH] Merge pull request #24372 from Kumataro:fix24369
-Upstream-Status: Submitted [https://github.com/opencv/opencv/pull/24372]
+Supporting protobuf v22 and later(with abseil-cpp/C++17) #24372
+
+fix https://github.com/opencv/opencv/issues/24369
+related https://github.com/opencv/opencv/issues/23791
+
+1. This patch supports external protobuf v22 and later, it required abseil-cpp and c++17.
+ Even if the built-in protobuf is upgraded to v22 or later,
+ the dependency on abseil-cpp and the requirement for C++17 will continue.
+2. Some test for caffe required patched protobuf, so this patch disable them.
+
+This patch is tested by following libraries.
+- Protobuf: /usr/local/lib/libprotobuf.so (4.24.4)
+- abseil-cpp: YES (20230125)
+
+See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request
+
+- [x] I agree to contribute to the project under Apache 2 License.
+- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
+- [x] The PR is proposed to the proper branch
+- [x] There is a reference to the original bug report and related work
+- [x] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
+ Patch to opencv_extra has the same branch name.
+- [x] The feature is well documented and sample code can be built with the project CMake
+
+Upstream-Status: Backport [https://github.com/opencv/opencv/commit/6e4280ea81b59c6dca45bb9801b758377beead55]
---
- cmake/OpenCVFindProtobuf.cmake | 37 ++++++++++++++++++++++++++++++++++
- modules/dnn/CMakeLists.txt | 9 +++++++++
- 2 files changed, 46 insertions(+)
+ cmake/OpenCVFindProtobuf.cmake | 35 +++++++++++++++++++++++++++-----
+ modules/dnn/CMakeLists.txt | 6 ++++++
+ modules/dnn/test/test_layers.cpp | 24 ++++++++++++++++++----
+ 3 files changed, 56 insertions(+), 9 deletions(-)
diff --git a/cmake/OpenCVFindProtobuf.cmake b/cmake/OpenCVFindProtobuf.cmake
-index 8835347d1d..9bd5c28db8 100644
+index 8835347d1d..5b1e17529f 100644
--- a/cmake/OpenCVFindProtobuf.cmake
+++ b/cmake/OpenCVFindProtobuf.cmake
-@@ -67,6 +67,38 @@ else()
+@@ -30,8 +30,14 @@ if(BUILD_PROTOBUF)
+ set(Protobuf_LIBRARIES "libprotobuf")
+ set(HAVE_PROTOBUF TRUE)
+ else()
++ # we still need this for command PROTOBUF_GENERATE_CPP.
++ set(protobuf_MODULE_COMPATIBLE ON)
++
+ unset(Protobuf_VERSION CACHE)
+- find_package(Protobuf QUIET)
++ find_package(Protobuf QUIET CONFIG)
++ if(NOT Protobuf_FOUND)
++ find_package(Protobuf QUIET)
++ endif()
+
+ # Backwards compatibility
+ # Define camel case versions of input variables
+@@ -67,6 +73,20 @@ else()
endif()
endif()
@@ -21,82 +62,49 @@
+# In Protocol Buffers v22.0 and later drops C++11 support and depends abseil-cpp.
+# Details: https://protobuf.dev/news/2022-08-03/
+# And if std::text_view is in abseil-cpp requests C++17 and later.
++
+if(HAVE_PROTOBUF)
-+ if("${Protobuf_VERSION}" MATCHES [[[0-9]+.([0-9]+).[0-9]+]])
-+ string(COMPARE GREATER_EQUAL "${CMAKE_MATCH_1}" "22" REQUEST_ABSL)
-+
-+ if(REQUEST_ABSL)
-+ string(COMPARE GREATER_EQUAL "${CMAKE_CXX_STANDARD}" "17" USED_AFTER_CXX17)
-+ if(NOT USED_AFTER_CXX17)
-+ message("CMAKE_CXX_STANDARD : ${CMAKE_CXX_STANDARD}")
-+ message("protobuf : ${Protobuf_VERSION}")
-+ message(FATAL_ERROR "protobuf(v22 and later) and abseil-cpp request CMAKE_CXX_STANDARD=17 and later.")
-+ endif()
-+
-+ ocv_check_modules(ABSL_STRINGS absl_strings)
-+ if(NOT ABSL_STRINGS_FOUND)
-+ message(FATAL_ERROR "protobuf(v22 and later) requests abseil-cpp(strings), but missing.")
-+ endif()
-+
-+ ocv_check_modules(ABSL_LOG absl_log)
-+ if(NOT ABSL_LOG_FOUND)
-+ message(FATAL_ERROR "protobuf(v22 and later) requests abseil-cpp(log), but missing.")
-+ endif()
-+
-+ endif()
-+ else()
-+ message(FATAL_ERROR "Protobuf version(${Protobuf_VERSION}) is unexpected to split.")
++ if(NOT (Protobuf_VERSION VERSION_LESS 22))
++ if((CMAKE_CXX_STANDARD EQUAL 98) OR (CMAKE_CXX_STANDARD LESS 17))
++ message(STATUS "CMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} is too old to support protobuf(${Protobuf_VERSION}) and/or abseil-cpp. Use C++17 or later. Turning HAVE_PROTOBUF off")
++ set(HAVE_PROTOBUF FALSE)
+ endif()
++ endif()
+endif()
+
if(HAVE_PROTOBUF AND PROTOBUF_UPDATE_FILES AND NOT COMMAND PROTOBUF_GENERATE_CPP)
message(FATAL_ERROR "Can't configure protobuf dependency (BUILD_PROTOBUF=${BUILD_PROTOBUF} PROTOBUF_UPDATE_FILES=${PROTOBUF_UPDATE_FILES})")
endif()
-@@ -89,3 +121,8 @@ if(HAVE_PROTOBUF)
- BUILD_PROTOBUF THEN "build (${Protobuf_VERSION})"
- ELSE "${__location} (${Protobuf_VERSION})")
- endif()
+@@ -74,15 +94,20 @@ endif()
+ if(HAVE_PROTOBUF)
+ list(APPEND CUSTOM_STATUS protobuf)
+ if(NOT BUILD_PROTOBUF)
++ unset( __location)
+ if(TARGET "${Protobuf_LIBRARIES}")
+ get_target_property(__location "${Protobuf_LIBRARIES}" IMPORTED_LOCATION_RELEASE)
+ if(NOT __location)
+ get_target_property(__location "${Protobuf_LIBRARIES}" IMPORTED_LOCATION)
+ endif()
+- elseif(Protobuf_LIBRARY)
+- set(__location "${Protobuf_LIBRARY}")
+- else()
+- set(__location "${Protobuf_LIBRARIES}")
++ endif()
+
-+if(HAVE_ABSL_STRINGS AND HAVE_ABSL_LOG)
-+ list(APPEND CUSTOM_STATUS absl)
-+ list(APPEND CUSTOM_STATUS_absl " abseil-cpp:" "YES (${ABSL_STRINGS_VERSION})" )
-+endif()
++ if(NOT __location)
++ if(Protobuf_LIBRARY)
++ set(__location "${Protobuf_LIBRARY}")
++ else()
++ set(__location "${Protobuf_LIBRARIES}")
++ endif()
+ endif()
+ endif()
+ list(APPEND CUSTOM_STATUS_protobuf " Protobuf:"
diff --git a/modules/dnn/CMakeLists.txt b/modules/dnn/CMakeLists.txt
-index 804b78ead2..d32007b37e 100644
+index 804b78ead2..9fcc460909 100644
--- a/modules/dnn/CMakeLists.txt
+++ b/modules/dnn/CMakeLists.txt
-@@ -149,6 +149,15 @@ if(NOT BUILD_PROTOBUF)
- list(APPEND include_dirs ${Protobuf_INCLUDE_DIRS})
- endif()
-
-+if(HAVE_ABSL_STRINGS)
-+ list(APPEND libs ${ABSL_STRINGS_LIBRARIES})
-+ list(APPEND include_dirs ${ABSL_STRTRINGS_INCLUDE_DIRS})
-+endif()
-+if(HAVE_ABSL_LOG)
-+ list(APPEND libs ${ABSL_LOG_LIBRARIES})
-+ list(APPEND include_dirs ${ABSL_LOG_INCLUDE_DIRS})
-+endif()
-+
- set(sources_options "")
-
- list(APPEND libs ${LAPACK_LIBRARIES})
-From 06a7669521d205f647d3e718322ccd153cdbbb77 Mon Sep 17 00:00:00 2001
-From: Kumataro <Kumataro@users.noreply.github.com>
-Date: Sun, 8 Oct 2023 09:39:35 +0900
-Subject: [PATCH] dnn: disable some tests for external protobuf
-
----
- modules/dnn/CMakeLists.txt | 5 +++++
- modules/dnn/src/caffe/caffe_io.cpp | 24 ++++++++++++++++++++++--
- modules/dnn/test/test_layers.cpp | 16 ++++++++++++++++
- 3 files changed, 43 insertions(+), 2 deletions(-)
-
-diff --git a/modules/dnn/CMakeLists.txt b/modules/dnn/CMakeLists.txt
-index d32007b37e..face38465f 100644
---- a/modules/dnn/CMakeLists.txt
-+++ b/modules/dnn/CMakeLists.txt
-@@ -254,6 +254,12 @@ ocv_create_module(${libs} ${dnn_runtime_libs})
+@@ -245,6 +245,12 @@ ocv_create_module(${libs} ${dnn_runtime_libs})
ocv_add_samples()
ocv_add_accuracy_tests(${dnn_runtime_libs})
@@ -109,215 +117,13 @@
set(perf_path "${CMAKE_CURRENT_LIST_DIR}/perf")
file(GLOB_RECURSE perf_srcs "${perf_path}/*.cpp")
file(GLOB_RECURSE perf_hdrs "${perf_path}/*.hpp" "${perf_path}/*.h")
-@@ -318,3 +322,4 @@ if(OPENCV_TEST_DNN_TFLITE)
- ocv_target_compile_definitions(opencv_perf_dnn PRIVATE "OPENCV_TEST_DNN_TFLITE=1")
- endif()
- endif()
-+
-diff --git a/modules/dnn/src/caffe/caffe_io.cpp b/modules/dnn/src/caffe/caffe_io.cpp
-index ebecf95eea..ebceca84cf 100644
---- a/modules/dnn/src/caffe/caffe_io.cpp
-+++ b/modules/dnn/src/caffe/caffe_io.cpp
-@@ -1130,7 +1130,17 @@ bool ReadProtoFromTextFile(const char* filename, Message* proto) {
- parser.AllowUnknownField(true);
- parser.SetRecursionLimit(1000);
- #endif
-- return parser.Parse(&input, proto);
-+ const bool ret = parser.Parse(&input, proto);
-+
-+#ifdef OPENCV_DNN_EXTERNAL_PROTOBUF
-+ if(!ret)
-+ {
-+ LOG(ERROR) << "Some data requires patched protobuf (available in OpenCV source tree only).";
-+ CV_Error_(Error::StsError,("Some data requires patched protobuf (available in OpenCV source tree only)."));
-+ }
-+#endif
-+
-+ return ret;
- }
-
- bool ReadProtoFromBinaryFile(const char* filename, Message* proto) {
-@@ -1148,7 +1158,17 @@ bool ReadProtoFromTextBuffer(const char* data, size_t len, Message* proto) {
- parser.AllowUnknownField(true);
- parser.SetRecursionLimit(1000);
- #endif
-- return parser.Parse(&input, proto);
-+ const bool ret = parser.Parse(&input, proto);
-+
-+#ifdef OPENCV_DNN_EXTERNAL_PROTOBUF
-+ if(!ret)
-+ {
-+ LOG(ERROR) << "Some data requires patched protobuf (available in OpenCV source tree only).";
-+ CV_Error_(Error::StsError,("Some data requires patched protobuf (available in OpenCV source tree only)."));
-+ }
-+#endif
-+
-+ return ret;
- }
-
-
diff --git a/modules/dnn/test/test_layers.cpp b/modules/dnn/test/test_layers.cpp
-index 763d94b99c..a07d442d76 100644
+index 763d94b99c..6cb6d54b3f 100644
--- a/modules/dnn/test/test_layers.cpp
+++ b/modules/dnn/test/test_layers.cpp
-@@ -754,7 +754,11 @@ TEST_F(Layer_RNN_Test, get_set_test)
- EXPECT_EQ(shape(outputs[1]), shape(nT, nS, nH));
- }
+@@ -756,11 +756,15 @@ TEST_F(Layer_RNN_Test, get_set_test)
-+#ifndef OPENCV_DNN_EXTERNAL_PROTOBUF
TEST_P(Test_Caffe_layers, Accum)
-+#else
-+TEST_P(Test_Caffe_layers, DISABLED_Accum) // requires patched protobuf (available in OpenCV source tree only)
-+#endif
- {
- if (backend == DNN_BACKEND_OPENCV && target != DNN_TARGET_CPU)
- applyTestTag(CV_TEST_TAG_DNN_SKIP_OPENCL, CV_TEST_TAG_DNN_SKIP_OPENCL_FP16);
-@@ -778,7 +782,11 @@ TEST_P(Test_Caffe_layers, ChannelNorm)
- testLayerUsingCaffeModels("channel_norm", false, false);
- }
-
-+#ifndef OPENCV_DNN_EXTERNAL_PROTOBUF
- TEST_P(Test_Caffe_layers, DataAugmentation)
-+#else
-+TEST_P(Test_Caffe_layers, DISABLED_DataAugmentation) // requires patched protobuf (available in OpenCV source tree only)
-+#endif
- {
- if (backend == DNN_BACKEND_OPENCV && target == DNN_TARGET_OPENCL_FP16)
- applyTestTag(CV_TEST_TAG_DNN_SKIP_OPENCL_FP16);
-@@ -787,7 +795,11 @@ TEST_P(Test_Caffe_layers, DataAugmentation)
- testLayerUsingCaffeModels("data_augmentation_8x6", true, false);
- }
-
-+#ifndef OPENCV_DNN_EXTERNAL_PROTOBUF
- TEST_P(Test_Caffe_layers, Resample)
-+#else
-+TEST_P(Test_Caffe_layers, DISABLED_Resample) // requires patched protobuf (available in OpenCV source tree only)
-+#endif
- {
- if (backend != DNN_BACKEND_OPENCV)
- applyTestTag(CV_TEST_TAG_DNN_SKIP_IE_NN_BUILDER, CV_TEST_TAG_DNN_SKIP_IE_NGRAPH);
-@@ -795,7 +807,11 @@ TEST_P(Test_Caffe_layers, Resample)
- testLayerUsingCaffeModels("nearest", false, false);
- }
-
-+#ifndef OPENCV_DNN_EXTERNAL_PROTOBUF
- TEST_P(Test_Caffe_layers, Correlation)
-+#else
-+TEST_P(Test_Caffe_layers, DISABLED_Correlation) // requires patched protobuf (available in OpenCV source tree only)
-+#endif
- {
- if (backend == DNN_BACKEND_OPENCV && target == DNN_TARGET_OPENCL_FP16)
- applyTestTag(CV_TEST_TAG_DNN_SKIP_IE_NGRAPH, CV_TEST_TAG_DNN_SKIP_IE_NN_BUILDER,
-From 2c33798f41942aefc203183d673ce4846f32dba4 Mon Sep 17 00:00:00 2001
-From: Kumataro <Kumataro@users.noreply.github.com>
-Date: Sun, 8 Oct 2023 13:28:40 +0900
-Subject: [PATCH] use GREATER instead of GREATER_EQUAL and remove new blank
- line at EOF
-
----
- cmake/OpenCVFindProtobuf.cmake | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/cmake/OpenCVFindProtobuf.cmake b/cmake/OpenCVFindProtobuf.cmake
-index 9bd5c28db8..ba147526d6 100644
---- a/cmake/OpenCVFindProtobuf.cmake
-+++ b/cmake/OpenCVFindProtobuf.cmake
-@@ -71,12 +71,14 @@ endif()
- # In Protocol Buffers v22.0 and later drops C++11 support and depends abseil-cpp.
- # Details: https://protobuf.dev/news/2022-08-03/
- # And if std::text_view is in abseil-cpp requests C++17 and later.
-+
- if(HAVE_PROTOBUF)
- if("${Protobuf_VERSION}" MATCHES [[[0-9]+.([0-9]+).[0-9]+]])
-- string(COMPARE GREATER_EQUAL "${CMAKE_MATCH_1}" "22" REQUEST_ABSL)
-+ string(COMPARE GREATER "${CMAKE_MATCH_1}" "21" REQUEST_ABSL) # >=22
-
- if(REQUEST_ABSL)
-- string(COMPARE GREATER_EQUAL "${CMAKE_CXX_STANDARD}" "17" USED_AFTER_CXX17)
-+ string(COMPARE GREATER "${CMAKE_CXX_STANDARD}" "16" USED_AFTER_CXX17) # >=17
-+
- if(NOT USED_AFTER_CXX17)
- message("CMAKE_CXX_STANDARD : ${CMAKE_CXX_STANDARD}")
- message("protobuf : ${Protobuf_VERSION}")
-From cd709eefbeedd116bf3495b42280323b932791ff Mon Sep 17 00:00:00 2001
-From: Kumataro <Kumataro@users.noreply.github.com>
-Date: Mon, 9 Oct 2023 21:51:04 +0900
-Subject: [PATCH] fix for review
-
----
- cmake/OpenCVFindProtobuf.cmake | 5 ----
- modules/dnn/src/caffe/caffe_io.cpp | 24 ++----------------
- modules/dnn/test/test_layers.cpp | 40 +++++++++++++++---------------
- 3 files changed, 22 insertions(+), 47 deletions(-)
-
-diff --git a/cmake/OpenCVFindProtobuf.cmake b/cmake/OpenCVFindProtobuf.cmake
-index ba147526d6..2faf1010bf 100644
---- a/cmake/OpenCVFindProtobuf.cmake
-+++ b/cmake/OpenCVFindProtobuf.cmake
-@@ -123,8 +123,3 @@ if(HAVE_PROTOBUF)
- BUILD_PROTOBUF THEN "build (${Protobuf_VERSION})"
- ELSE "${__location} (${Protobuf_VERSION})")
- endif()
--
--if(HAVE_ABSL_STRINGS AND HAVE_ABSL_LOG)
-- list(APPEND CUSTOM_STATUS absl)
-- list(APPEND CUSTOM_STATUS_absl " abseil-cpp:" "YES (${ABSL_STRINGS_VERSION})" )
--endif()
-diff --git a/modules/dnn/src/caffe/caffe_io.cpp b/modules/dnn/src/caffe/caffe_io.cpp
-index ebceca84cf..ebecf95eea 100644
---- a/modules/dnn/src/caffe/caffe_io.cpp
-+++ b/modules/dnn/src/caffe/caffe_io.cpp
-@@ -1130,17 +1130,7 @@ bool ReadProtoFromTextFile(const char* filename, Message* proto) {
- parser.AllowUnknownField(true);
- parser.SetRecursionLimit(1000);
- #endif
-- const bool ret = parser.Parse(&input, proto);
--
--#ifdef OPENCV_DNN_EXTERNAL_PROTOBUF
-- if(!ret)
-- {
-- LOG(ERROR) << "Some data requires patched protobuf (available in OpenCV source tree only).";
-- CV_Error_(Error::StsError,("Some data requires patched protobuf (available in OpenCV source tree only)."));
-- }
--#endif
--
-- return ret;
-+ return parser.Parse(&input, proto);
- }
-
- bool ReadProtoFromBinaryFile(const char* filename, Message* proto) {
-@@ -1158,17 +1148,7 @@ bool ReadProtoFromTextBuffer(const char* data, size_t len, Message* proto) {
- parser.AllowUnknownField(true);
- parser.SetRecursionLimit(1000);
- #endif
-- const bool ret = parser.Parse(&input, proto);
--
--#ifdef OPENCV_DNN_EXTERNAL_PROTOBUF
-- if(!ret)
-- {
-- LOG(ERROR) << "Some data requires patched protobuf (available in OpenCV source tree only).";
-- CV_Error_(Error::StsError,("Some data requires patched protobuf (available in OpenCV source tree only)."));
-- }
--#endif
--
-- return ret;
-+ return parser.Parse(&input, proto);
- }
-
-
-diff --git a/modules/dnn/test/test_layers.cpp b/modules/dnn/test/test_layers.cpp
-index a07d442d76..5c6fc541d7 100644
---- a/modules/dnn/test/test_layers.cpp
-+++ b/modules/dnn/test/test_layers.cpp
-@@ -754,17 +754,17 @@ TEST_F(Layer_RNN_Test, get_set_test)
- EXPECT_EQ(shape(outputs[1]), shape(nT, nS, nH));
- }
-
--#ifndef OPENCV_DNN_EXTERNAL_PROTOBUF
- TEST_P(Test_Caffe_layers, Accum)
--#else
--TEST_P(Test_Caffe_layers, DISABLED_Accum) // requires patched protobuf (available in OpenCV source tree only)
--#endif
{
+#ifdef OPENCV_DNN_EXTERNAL_PROTOBUF
+ throw SkipTestException("Requires patched protobuf");
@@ -331,15 +137,9 @@
}
TEST_P(Test_Caffe_layers, FlowWarp)
-@@ -782,42 +782,42 @@ TEST_P(Test_Caffe_layers, ChannelNorm)
- testLayerUsingCaffeModels("channel_norm", false, false);
- }
+@@ -780,27 +784,39 @@ TEST_P(Test_Caffe_layers, ChannelNorm)
--#ifndef OPENCV_DNN_EXTERNAL_PROTOBUF
TEST_P(Test_Caffe_layers, DataAugmentation)
--#else
--TEST_P(Test_Caffe_layers, DISABLED_DataAugmentation) // requires patched protobuf (available in OpenCV source tree only)
--#endif
{
+#ifdef OPENCV_DNN_EXTERNAL_PROTOBUF
+ throw SkipTestException("Requires patched protobuf");
@@ -352,11 +152,7 @@
+#endif
}
--#ifndef OPENCV_DNN_EXTERNAL_PROTOBUF
TEST_P(Test_Caffe_layers, Resample)
--#else
--TEST_P(Test_Caffe_layers, DISABLED_Resample) // requires patched protobuf (available in OpenCV source tree only)
--#endif
{
+#ifdef OPENCV_DNN_EXTERNAL_PROTOBUF
+ throw SkipTestException("Requires patched protobuf");
@@ -368,11 +164,7 @@
+#endif
}
--#ifndef OPENCV_DNN_EXTERNAL_PROTOBUF
TEST_P(Test_Caffe_layers, Correlation)
--#else
--TEST_P(Test_Caffe_layers, DISABLED_Correlation) // requires patched protobuf (available in OpenCV source tree only)
--#endif
{
+#ifdef OPENCV_DNN_EXTERNAL_PROTOBUF
+ throw SkipTestException("Requires patched protobuf");
@@ -381,12 +173,11 @@
applyTestTag(CV_TEST_TAG_DNN_SKIP_IE_NGRAPH, CV_TEST_TAG_DNN_SKIP_IE_NN_BUILDER,
CV_TEST_TAG_DNN_SKIP_OPENCL, CV_TEST_TAG_DNN_SKIP_OPENCL_FP16);
testLayerUsingCaffeModels("correlation", false, false, 0.0, 0.0, 2);
- }
+#endif
+ }
TEST_P(Test_Caffe_layers, Convolution2Inputs)
- {
-@@ -1657,12 +1657,11 @@ private:
+@@ -1641,12 +1657,11 @@ private:
int outWidth, outHeight, zoomFactor;
};
@@ -402,7 +193,7 @@
#if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_EQ(2021030000)
if (backend == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH && target == DNN_TARGET_MYRIAD)
applyTestTag(CV_TEST_TAG_DNN_SKIP_IE_MYRIAD, CV_TEST_TAG_DNN_SKIP_IE_NGRAPH); // exception
-@@ -1686,6 +1685,7 @@ TEST_P(Test_Caffe_layers, DISABLED_Interp) // requires patched protobuf (availa
+@@ -1670,6 +1685,7 @@ TEST_P(Test_Caffe_layers, DISABLED_Interp) // requires patched protobuf (availa
// Test an implemented layer.
testLayerUsingCaffeModels("layer_interp", false, false);
diff --git a/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-Fix-data-race-when-create-POSIX-thread.patch b/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-Fix-data-race-when-create-POSIX-thread.patch
new file mode 100644
index 0000000..1a7f4dc
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-Fix-data-race-when-create-POSIX-thread.patch
@@ -0,0 +1,33 @@
+From 03b68fc924b24e12c87512d790d37fc6ddc352ac Mon Sep 17 00:00:00 2001
+From: Dawid Drozd <drozddawid@gmail.com>
+Date: Sat, 11 Feb 2023 14:48:39 +0400
+Subject: [PATCH] Fix data race when create POSIX thread
+
+When creating thread using pthread_create() `_pData->thread` will be set.
+It could lead to data race as in runnableEntry() we refer to that variable.
+
+Instead use pthread_self().
+getName() is already under mutex.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Backport [https://github.com/pocoproject/poco/pull/3942/commits/9c8a79b994a367f626c5551e0f38c27d0d8431f1]
+---
+ Foundation/src/Thread_POSIX.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Foundation/src/Thread_POSIX.cpp b/Foundation/src/Thread_POSIX.cpp
+index ceab76e82..3e52cd31f 100644
+--- a/Foundation/src/Thread_POSIX.cpp
++++ b/Foundation/src/Thread_POSIX.cpp
+@@ -351,7 +351,7 @@ void* ThreadImpl::runnableEntry(void* pThread)
+ #endif
+
+ ThreadImpl* pThreadImpl = reinterpret_cast<ThreadImpl*>(pThread);
+- setThreadName(pThreadImpl->_pData->thread, reinterpret_cast<Thread*>(pThread)->getName());
++ setThreadName(pthread_self(), reinterpret_cast<Thread*>(pThread)->getName());
+ AutoPtr<ThreadData> pData = pThreadImpl->_pData;
+ try
+ {
+--
+2.42.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/poco/poco_1.12.4.bb b/meta-openembedded/meta-oe/recipes-support/poco/poco_1.12.4.bb
index 8505f66..12532e4 100644
--- a/meta-openembedded/meta-oe/recipes-support/poco/poco_1.12.4.bb
+++ b/meta-openembedded/meta-oe/recipes-support/poco/poco_1.12.4.bb
@@ -11,6 +11,7 @@
SRC_URI = "git://github.com/pocoproject/poco.git;branch=master;protocol=https \
file://0001-Use-std-atomic-int-instead-of-std-atomic-bool.patch \
file://0001-cppignore.lnx-Ignore-PKCS12-and-testLaunch-test.patch \
+ file://0001-Fix-data-race-when-create-POSIX-thread.patch \
file://run-ptest \
"
SRCREV = "1211613642269b7d53bea58b02de7fcd25ece3b9"
diff --git a/meta-openembedded/meta-oe/recipes-support/re2/re2/run-ptest b/meta-openembedded/meta-oe/recipes-support/re2/re2/run-ptest
new file mode 100644
index 0000000..8bd5fd1
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/re2/re2/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+ctest --force-new-ctest-process | sed -u 's/\*\*\*/ /g' | awk '/Test +#/{gsub(/Passed/,"PASS"); gsub(/Failed/,"FAIL"); gsub(/Skipped/,"SKIP"); print $6": "$4; fflush();}'
diff --git a/meta-openembedded/meta-oe/recipes-support/re2/re2_2023.03.01.bb b/meta-openembedded/meta-oe/recipes-support/re2/re2_2023.03.01.bb
index 78bf695..fe210d5 100644
--- a/meta-openembedded/meta-oe/recipes-support/re2/re2_2023.03.01.bb
+++ b/meta-openembedded/meta-oe/recipes-support/re2/re2_2023.03.01.bb
@@ -6,17 +6,27 @@
# tag 2023-03-01
SRCREV = "241e2e430836e80f93d704d1f06cd3e7fe3100f5"
-SRC_URI = "git://github.com/google/re2.git;branch=main;protocol=https"
+SRC_URI = "git://github.com/google/re2.git;branch=main;protocol=https \
+ ${@bb.utils.contains('PTEST_ENABLED', '1', 'file://run-ptest', '', d)} \
+ "
S = "${WORKDIR}/git"
-inherit cmake
+inherit cmake ptest
+RDEPENDS:${PN}-ptest += "cmake sed"
EXTRA_OECMAKE += " \
-DBUILD_SHARED_LIBS=ON \
- -DRE2_BUILD_TESTING=OFF \
+ ${@bb.utils.contains('PTEST_ENABLED', '1', '-DRE2_BUILD_TESTING=ON', '-DRE2_BUILD_TESTING=OFF', d)} \
"
+do_install_ptest () {
+ cp -r ${B}/*_test ${D}${PTEST_PATH}
+ cp -r ${B}/CTestTestfile.cmake ${D}${PTEST_PATH}
+ sed -i -e 's#${B}#${PTEST_PATH}#g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake`
+ sed -i -e 's#${S}#${PTEST_PATH}#g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake`
+}
+
# ignore .so in /usr/lib64
FILES:${PN} = "${libdir}"
INSANE_SKIP:${PN} += "dev-so"
diff --git a/meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.32.bb b/meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.32.bb
deleted file mode 100644
index 74c68a5..0000000
--- a/meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.32.bb
+++ /dev/null
@@ -1,50 +0,0 @@
-DESCRIPTION = "A feature rich Remote Desktop Application written in GTK+"
-HOMEPAGE = "https://remmina.org"
-SECTION = "Support"
-LICENSE = "GPL-2.0-only & OpenSSL"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=dab7215512044d49037272ce1ac4ea8f file://LICENSE.OpenSSL;md5=c1eb3cee0a4dea27503c531267a69769"
-
-DEPENDS = " \
- glib-2.0-native \
- openssl \
- freerdp \
- gtk+3 \
- gdk-pixbuf \
- atk \
- libgcrypt \
- libsodium \
- libssh \
- vte \
- json-glib \
- libsoup-3.0 \
- libvncserver \
- libsecret \
- libxkbfile \
-"
-
-DEPENDS:append:libc-musl = " libexecinfo"
-LDFLAGS:append:libc-musl = " -lexecinfo"
-
-SRCREV = "4804f68f23045a38c3a7be46810fce14bac2fc3c"
-SRC_URI = "git://gitlab.com/Remmina/Remmina;protocol=https;branch=master"
-S = "${WORKDIR}/git"
-
-inherit cmake features_check mime mime-xdg gtk-icon-cache pkgconfig
-REQUIRED_DISTRO_FEATURES = "x11"
-
-EXTRA_OECMAKE += "-DWITH_APPINDICATOR=OFF -DWITH_GETTEXT=OFF -DWITH_TRANSLATIONS=OFF -DHAVE_LIBAPPINDICATOR=OFF -DWITH_WEBKIT2GTK=OFF"
-
-PACKAGECONFIG[spice] = "-DWITH_SPICE=ON, -DWITH_SPICE=OFF, spice spice-protocol"
-# Switch on gtk support in avahi recipe if you want to enable avahi support
-PACKAGECONFIG[avahi] = "-DWITH_AVAHI=ON, -DWITH_AVAHI=OFF, avahi"
-
-do_configure:append() {
- sed -i -e 's|${WORKDIR}|<WORKDIR>|g' ${B}/generated/buildflags.h
-}
-
-RDEPENDS:${PN} = "bash"
-
-FILES:${PN}+= " \
- ${datadir}/metainfo \
- ${datadir}/mime \
-"
diff --git a/meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.33.bb b/meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.33.bb
new file mode 100644
index 0000000..590f508
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.33.bb
@@ -0,0 +1,50 @@
+DESCRIPTION = "A feature rich Remote Desktop Application written in GTK+"
+HOMEPAGE = "https://remmina.org"
+SECTION = "Support"
+LICENSE = "GPL-2.0-only & OpenSSL"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=dab7215512044d49037272ce1ac4ea8f file://LICENSE.OpenSSL;md5=c1eb3cee0a4dea27503c531267a69769"
+
+DEPENDS = " \
+ glib-2.0-native \
+ openssl \
+ freerdp \
+ gtk+3 \
+ gdk-pixbuf \
+ atk \
+ libgcrypt \
+ libsodium \
+ libssh \
+ vte \
+ json-glib \
+ libsoup-3.0 \
+ libvncserver \
+ libsecret \
+ libxkbfile \
+"
+
+DEPENDS:append:libc-musl = " libexecinfo"
+LDFLAGS:append:libc-musl = " -lexecinfo"
+
+SRCREV = "2c4e1479433e51418ecb6089f35182bfebc5b57e"
+SRC_URI = "git://gitlab.com/Remmina/Remmina;protocol=https;branch=master"
+S = "${WORKDIR}/git"
+
+inherit cmake features_check mime mime-xdg gtk-icon-cache pkgconfig
+REQUIRED_DISTRO_FEATURES = "x11"
+
+EXTRA_OECMAKE += "-DWITH_APPINDICATOR=OFF -DWITH_GETTEXT=OFF -DWITH_TRANSLATIONS=OFF -DHAVE_LIBAPPINDICATOR=OFF -DWITH_WEBKIT2GTK=OFF"
+
+PACKAGECONFIG[spice] = "-DWITH_SPICE=ON, -DWITH_SPICE=OFF, spice spice-protocol"
+# Switch on gtk support in avahi recipe if you want to enable avahi support
+PACKAGECONFIG[avahi] = "-DWITH_AVAHI=ON, -DWITH_AVAHI=OFF, avahi"
+
+do_configure:append() {
+ sed -i -e 's|${WORKDIR}|<WORKDIR>|g' ${B}/generated/buildflags.h
+}
+
+RDEPENDS:${PN} = "bash"
+
+FILES:${PN}+= " \
+ ${datadir}/metainfo \
+ ${datadir}/mime \
+"
diff --git a/meta-openembedded/meta-oe/recipes-support/reptyr/reptyr_0.10.0.bb b/meta-openembedded/meta-oe/recipes-support/reptyr/reptyr_0.10.0.bb
new file mode 100644
index 0000000..57b31a7
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/reptyr/reptyr_0.10.0.bb
@@ -0,0 +1,29 @@
+SUMMARY = "Reparent a running program to a new terminal"
+DESCRIPTION = "reptyr is a utility for taking an existing running program and \
+attaching it to a new terminal. Started a long-running process over ssh, but \
+have to leave and don't want to interrupt it? Just start a screen, use reptyr \
+to grab it, and then kill the ssh session and head on home."
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=25a0555028c71837623fa6dfa4cc45c0"
+
+SRC_URI = "git://github.com/nelhage/reptyr.git;protocol=https;branch=master"
+SRCREV = "1238097fc2cd15db058d2185cc4985daa87bcd41"
+
+S = "${WORKDIR}/git"
+
+inherit bash-completion github-releases manpages pkgconfig
+
+GITHUB_BASE_URI = "https://github.com/nelhage/${BPN}/releases/"
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[manpages] = ""
+
+EXTRA_OEMAKE = "'BINDIR=${bindir}' 'MANDIR=${mandir}' 'PKG_CONFIG=${STAGING_BINDIR_NATIVE}/pkg-config'"
+
+do_compile () {
+ oe_runmake
+}
+
+do_install () {
+ oe_runmake install 'DESTDIR=${D}'
+}
diff --git a/meta-openembedded/meta-oe/recipes-support/smarty/smarty_4.3.0.bb b/meta-openembedded/meta-oe/recipes-support/smarty/smarty_4.3.0.bb
deleted file mode 100644
index bc6fc0d..0000000
--- a/meta-openembedded/meta-oe/recipes-support/smarty/smarty_4.3.0.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-DESCRIPTION = "the compiling PHP template engine"
-SECTION = "console/network"
-HOMEPAGE = "https://www.smarty.net/"
-
-LICENSE = "GPL-3.0-only"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=2c0f216b2120ffc367e20f2b56df51b3"
-
-DEPENDS += "php"
-
-SRC_URI = "git://github.com/smarty-php/smarty.git;protocol=https;branch=master"
-
-SRCREV = "c02e9e135ea719b91f457a0072748ded0e852e7d"
-
-S = "${WORKDIR}/git"
-
-do_install() {
- install -d ${D}${datadir}/php/smarty3/libs/
- install -m 0644 ${S}/libs/*.php ${D}${datadir}/php/smarty3/libs/
-
- install -d ${D}${datadir}/php/smarty3/libs/plugins
- install -m 0644 ${S}/libs/plugins/*.php ${D}${datadir}/php/smarty3/libs/plugins/
-
- install -d ${D}${datadir}/php/smarty3/libs/sysplugins
- install -m 0644 ${S}/libs/sysplugins/*.php ${D}${datadir}/php/smarty3/libs/sysplugins/
-}
-FILES:${PN} = "${datadir}/php/smarty3/"
diff --git a/meta-openembedded/meta-oe/recipes-support/smarty/smarty_4.3.4.bb b/meta-openembedded/meta-oe/recipes-support/smarty/smarty_4.3.4.bb
new file mode 100644
index 0000000..960d066
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/smarty/smarty_4.3.4.bb
@@ -0,0 +1,26 @@
+DESCRIPTION = "the compiling PHP template engine"
+SECTION = "console/network"
+HOMEPAGE = "https://www.smarty.net/"
+
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2c0f216b2120ffc367e20f2b56df51b3"
+
+DEPENDS += "php"
+
+SRC_URI = "git://github.com/smarty-php/smarty.git;protocol=https;branch=support/4.3"
+
+SRCREV = "3931d8f54b8f7a4ffab538582d34d4397ba8daa5"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+ install -d ${D}${datadir}/php/smarty3/libs/
+ install -m 0644 ${S}/libs/*.php ${D}${datadir}/php/smarty3/libs/
+
+ install -d ${D}${datadir}/php/smarty3/libs/plugins
+ install -m 0644 ${S}/libs/plugins/*.php ${D}${datadir}/php/smarty3/libs/plugins/
+
+ install -d ${D}${datadir}/php/smarty3/libs/sysplugins
+ install -m 0644 ${S}/libs/sysplugins/*.php ${D}${datadir}/php/smarty3/libs/sysplugins/
+}
+FILES:${PN} = "${datadir}/php/smarty3/"
diff --git a/meta-openembedded/meta-oe/recipes-support/tio/tio_2.6.bb b/meta-openembedded/meta-oe/recipes-support/tio/tio_2.6.bb
deleted file mode 100644
index faef290..0000000
--- a/meta-openembedded/meta-oe/recipes-support/tio/tio_2.6.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "tio - a simple serial device I/O tool"
-DESCRIPTION = "tio is a simple serial device tool which features a \
- straightforward command-line and configuration file interface to easily \
- connect to serial TTY devices for basic I/O operations."
-
-LICENSE = "GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0e1a95b7892d3015ecd6d0016f601f2c"
-
-SRC_URI = "git://github.com/tio/tio;protocol=https;branch=master"
-SRCREV = "88ef473362c5a1ff0dcd389fd5b1d4d6bf202472"
-
-S = "${WORKDIR}/git"
-
-inherit meson pkgconfig
-
-DEPENDS += " libinih"
-RDEPENDS:${PN} += " libinih"
-
-FILES:${PN} += " /usr/share/bash-completion/completions/tio "
diff --git a/meta-openembedded/meta-oe/recipes-support/tio/tio_2.7.bb b/meta-openembedded/meta-oe/recipes-support/tio/tio_2.7.bb
new file mode 100644
index 0000000..59c772b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/tio/tio_2.7.bb
@@ -0,0 +1,19 @@
+SUMMARY = "tio - a simple serial device I/O tool"
+DESCRIPTION = "tio is a simple serial device tool which features a \
+ straightforward command-line and configuration file interface to easily \
+ connect to serial TTY devices for basic I/O operations."
+
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0e1a95b7892d3015ecd6d0016f601f2c"
+
+SRC_URI = "git://github.com/tio/tio;protocol=https;branch=master"
+SRCREV = "1c32555c2a4f26b60f94757656825fc6684d6892"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig
+
+DEPENDS += " libinih"
+RDEPENDS:${PN} += " libinih"
+
+FILES:${PN} += " /usr/share/bash-completion/completions/tio "
diff --git a/meta-openembedded/meta-oe/recipes-support/toscoterm/toscoterm_git.bb b/meta-openembedded/meta-oe/recipes-support/toscoterm/toscoterm_git.bb
deleted file mode 100644
index b9f2605..0000000
--- a/meta-openembedded/meta-oe/recipes-support/toscoterm/toscoterm_git.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "A very small and simple terminal emulator"
-SECTION = "x11/applications"
-DEPENDS = "vte9"
-
-LICENSE = "GPL-3.0-only"
-LIC_FILES_CHKSUM = "file://main.c;start_line=5;end_line=16;md5=9ae4bf20caf291afa94530026bd15229"
-
-# 0.2 version
-SRCREV = "8586d617aed19fc75f5ae1e07270752c1b2f9a30"
-SRC_URI = "git://github.com/OSSystems/toscoterm.git;branch=master;protocol=https"
-
-S = "${WORKDIR}/git"
-
-inherit features_check gitpkgv pkgconfig
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-do_compile() {
- oe_runmake \
- CC="${CC}" \
- CFLAGS="`pkg-config --cflags vte`${CFLAGS}" \
- LDFLAGS="`pkg-config --libs vte` ${LDFLAGS}"
-}
-
-do_install() {
- oe_runmake PREFIX="${prefix}" DESTDIR="${D}" install
-}
-
-RDEPENDS:${PN}:append:libc-glibc = " glibc-gconv-ibm437"
diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0001-vbox_fb-fix-kernel-v6.5-build.patch b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0001-vbox_fb-fix-kernel-v6.5-build.patch
deleted file mode 100644
index 01969d4..0000000
--- a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0001-vbox_fb-fix-kernel-v6.5-build.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 4cf34517b0c793405dca154cc70c9b5d1a566a8a Mon Sep 17 00:00:00 2001
-From: Bruce Ashfield <bruce.ashfield@gmail.com>
-Date: Fri, 29 Sep 2023 14:52:50 -0400
-Subject: [PATCH] vbox_fb: fix kernel v6.5 build
-
-When building against the 6.5 kernel (and kernel headers), the following
-build error is encountered:
-
- | vboxguestdrivers/7.0.10/vboxguestdrivers-7.0.10/vboxvideo/vbox_fb.c:194:24: error: 'drm_fb_helper_sys_fillrect' undeclared here (not in a function); did you mean 'drm_fb_helper_lastclose'?
- | 194 | .fb_fillrect = drm_fb_helper_sys_fillrect,
- | | ^~~~~~~~~~~~~~~~~~~~~~~~~~
- | | drm_fb_helper_lastclose
- | vboxguestdrivers/7.0.10/vboxguestdrivers-7.0.10/vboxvideo/vbox_fb.c:195:24: error: 'drm_fb_helper_sys_copyarea' undeclared here (not in a function); did you mean 'drm_fb_helper_set_par'?
- | 195 | .fb_copyarea = drm_fb_helper_sys_copyarea,
- | | ^~~~~~~~~~~~~~~~~~~~~~~~~~
- | | drm_fb_helper_set_par
- | vboxguestdrivers/7.0.10/vboxguestdrivers-7.0.10/vboxvideo/vbox_fb.c:196:25: error: 'drm_fb_helper_sys_imageblit' undeclared here (not in a function)
- | 196 | .fb_imageblit = drm_fb_helper_sys_imageblit,
- | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-We backport a patch from vbox-dev to fix the issue.
-
-Upstream-Status: Submitted [https://www.mail-archive.com/vbox-dev@virtualbox.org/msg10129.html]
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
----
- src/VBox/Additions/linux/drm/vbox_fb.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/VBox/Additions/linux/drm/vbox_fb.c b/src/VBox/Additions/linux/drm/vbox_fb.c
-index 2a8c79ab..d453533c 100644
---- a/src/VBox/Additions/linux/drm/vbox_fb.c
-+++ b/src/VBox/Additions/linux/drm/vbox_fb.c
-@@ -196,9 +196,13 @@ static struct fb_ops vboxfb_ops = {
- .owner = THIS_MODULE,
- .fb_check_var = drm_fb_helper_check_var,
- .fb_set_par = drm_fb_helper_set_par,
-+#if RTLNX_VER_MIN(6, 5, 0)
-+ FB_DEFAULT_SYS_OPS,
-+#else
- .fb_fillrect = drm_fb_helper_sys_fillrect,
- .fb_copyarea = drm_fb_helper_sys_copyarea,
- .fb_imageblit = drm_fb_helper_sys_imageblit,
-+#endif
- .fb_pan_display = drm_fb_helper_pan_display,
- .fb_blank = drm_fb_helper_blank,
- .fb_setcmap = drm_fb_helper_setcmap,
---
-2.34.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_7.0.10.bb b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_7.0.10.bb
deleted file mode 100644
index 8e90138..0000000
--- a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_7.0.10.bb
+++ /dev/null
@@ -1,92 +0,0 @@
-SUMMARY = "VirtualBox Linux Guest Drivers"
-SECTION = "core"
-LICENSE = "GPL-3.0-only"
-LIC_FILES_CHKSUM = "file://${WORKDIR}/${VBOX_NAME}/COPYING;md5=fff5fe1c81dd6dc3d522e7862e44881e"
-
-DEPENDS = "virtual/kernel"
-
-inherit module kernel-module-split
-
-COMPATIBLE_MACHINE = "(qemux86|qemux86-64)"
-
-VBOX_NAME = "VirtualBox-${PV}"
-
-SRC_URI = "http://download.virtualbox.org/virtualbox/${PV}/${VBOX_NAME}.tar.bz2 \
- file://Makefile.utils \
- file://0001-vbox_fb-fix-kernel-v6.5-build.patch \
-"
-
-SRC_URI[sha256sum] = "0b1e6d8b7f87d017c7fae37f80586acff04f799ffc1d51e995954d6415dee371"
-
-S ?= "${WORKDIR}/vbox_module"
-S:task-patch = "${WORKDIR}/${VBOX_NAME}"
-
-export VBOX_KBUILD_TARGET_ARCH="${ARCH}"
-export VBOX_KBUILD_TARGET_ARCH:x86-64="amd64"
-
-EXTRA_OEMAKE += "KERN_DIR='${WORKDIR}/${KERNEL_VERSION}/build' KBUILD_VERBOSE=1"
-
-# otherwise 5.2.22 builds just vboxguest
-MAKE_TARGETS = "all"
-
-addtask export_sources after do_patch before do_configure
-do_export_sources[depends] += "virtual/kernel:do_shared_workdir"
-
-do_export_sources() {
- mkdir -p "${S}"
- ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/export_modules.sh ${T}/vbox_modules.tar.gz
- tar -C "${S}" -xzf ${T}/vbox_modules.tar.gz
-
- # add a mount utility to use shared folder from VBox Addition Source Code
- mkdir -p "${S}/utils"
- install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c ${S}/utils
- install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/vbsfmount.c ${S}/utils
- install ${S}/../Makefile.utils ${S}/utils/Makefile
-
- # some kernel versions have issues with stdarg.h and compatibility with
- # the sysroot and libc-headers/uapi. If we include the file directly from
- # the kernel source (STAGING_KERNEL_DIR) we get conflicting types on many
- # structures, due to kernel .h files being found before libc .h files.
- # if we grab just this one file from the source, and put it into our
- # file structure, everything holds together
- mkdir -p ${S}/vboxsf/include/linux
- install ${STAGING_KERNEL_DIR}/include/linux/stdarg.h ${S}/vboxsf/include/linux
-}
-
-do_configure:prepend() {
- # vboxguestdrivers/5.2.6-r0/vbox_module/vboxguest/Makefile.include.header:99: *** The variable KERN_DIR must be a kernel build folder and end with /build without a trailing slash, or KERN_VER must be set. Stop.
- # vboxguestdrivers/5.2.6-r0/vbox_module/vboxguest/Makefile.include.header:108: *** The kernel build folder path must end in <version>/build, or the variable KERN_VER must be set. Stop.
- mkdir -p ${WORKDIR}/${KERNEL_VERSION}
- ln -snf ${STAGING_KERNEL_DIR} ${WORKDIR}/${KERNEL_VERSION}/build
-}
-
-# compile and install mount utility
-do_compile() {
- oe_runmake all
- oe_runmake 'LD=${CC}' 'EXTRA_CFLAGS=-I${STAGING_KERNEL_BUILDDIR}/include/' 'LDFLAGS=${LDFLAGS}' -C ${S}/utils
- if ! [ -e vboxguest.ko -a -e vboxsf.ko -a -e vboxvideo.ko ] ; then
- echo "ERROR: One of vbox*.ko modules wasn't built"
- exit 1
- fi
-}
-
-module_do_install() {
- MODULE_DIR=${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/misc
- install -d $MODULE_DIR
- install -m 644 vboxguest.ko $MODULE_DIR
- install -m 644 vboxsf.ko $MODULE_DIR
- install -m 644 vboxvideo.ko $MODULE_DIR
-}
-
-do_install:append() {
- install -d ${D}${base_sbindir}
- install -m 755 ${S}/utils/mount.vboxsf ${D}${base_sbindir}
-}
-
-PACKAGES += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo"
-RRECOMMENDS:${PN} += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo"
-
-FILES:${PN} = "${base_sbindir}"
-
-# autoload if installed
-KERNEL_MODULE_AUTOLOAD += "vboxguest vboxsf vboxvideo"
diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_7.0.12.bb b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_7.0.12.bb
new file mode 100644
index 0000000..6b493de
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_7.0.12.bb
@@ -0,0 +1,91 @@
+SUMMARY = "VirtualBox Linux Guest Drivers"
+SECTION = "core"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/${VBOX_NAME}/COPYING;md5=fff5fe1c81dd6dc3d522e7862e44881e"
+
+DEPENDS = "virtual/kernel"
+
+inherit module kernel-module-split
+
+COMPATIBLE_MACHINE = "(qemux86|qemux86-64)"
+
+VBOX_NAME = "VirtualBox-${PV}"
+
+SRC_URI = "http://download.virtualbox.org/virtualbox/${PV}/${VBOX_NAME}.tar.bz2 \
+ file://Makefile.utils \
+"
+
+SRC_URI[sha256sum] = "d76634c6ccf62503726a5aeae6c78a3462474c51a0ebe4942591ccc2d939890a"
+
+S ?= "${WORKDIR}/vbox_module"
+S:task-patch = "${WORKDIR}/${VBOX_NAME}"
+
+export VBOX_KBUILD_TARGET_ARCH="${ARCH}"
+export VBOX_KBUILD_TARGET_ARCH:x86-64="amd64"
+
+EXTRA_OEMAKE += "KERN_DIR='${WORKDIR}/${KERNEL_VERSION}/build' KBUILD_VERBOSE=1 CC='${CC} ${DEBUG_PREFIX_MAP} -fdebug-prefix-map=${STAGING_KERNEL_DIR}=${KERNEL_SRC_PATH} -fdebug-prefix-map=${STAGING_KERNEL_BUILDDIR}=${KERNEL_SRC_PATH}'"
+
+# otherwise 5.2.22 builds just vboxguest
+MAKE_TARGETS = "all"
+
+addtask export_sources after do_patch before do_configure
+do_export_sources[depends] += "virtual/kernel:do_shared_workdir"
+
+do_export_sources() {
+ mkdir -p "${S}"
+ ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/export_modules.sh ${T}/vbox_modules.tar.gz
+ tar -C "${S}" -xzf ${T}/vbox_modules.tar.gz
+
+ # add a mount utility to use shared folder from VBox Addition Source Code
+ mkdir -p "${S}/utils"
+ install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c ${S}/utils
+ install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/vbsfmount.c ${S}/utils
+ install ${S}/../Makefile.utils ${S}/utils/Makefile
+
+ # some kernel versions have issues with stdarg.h and compatibility with
+ # the sysroot and libc-headers/uapi. If we include the file directly from
+ # the kernel source (STAGING_KERNEL_DIR) we get conflicting types on many
+ # structures, due to kernel .h files being found before libc .h files.
+ # if we grab just this one file from the source, and put it into our
+ # file structure, everything holds together
+ mkdir -p ${S}/vboxsf/include/linux
+ install ${STAGING_KERNEL_DIR}/include/linux/stdarg.h ${S}/vboxsf/include/linux
+}
+
+do_configure:prepend() {
+ # vboxguestdrivers/5.2.6-r0/vbox_module/vboxguest/Makefile.include.header:99: *** The variable KERN_DIR must be a kernel build folder and end with /build without a trailing slash, or KERN_VER must be set. Stop.
+ # vboxguestdrivers/5.2.6-r0/vbox_module/vboxguest/Makefile.include.header:108: *** The kernel build folder path must end in <version>/build, or the variable KERN_VER must be set. Stop.
+ mkdir -p ${WORKDIR}/${KERNEL_VERSION}
+ ln -snf ${STAGING_KERNEL_DIR} ${WORKDIR}/${KERNEL_VERSION}/build
+}
+
+# compile and install mount utility
+do_compile() {
+ oe_runmake all
+ oe_runmake 'LD=${CC}' 'EXTRA_CFLAGS=-I${STAGING_KERNEL_BUILDDIR}/include/' 'LDFLAGS=${LDFLAGS}' -C ${S}/utils
+ if ! [ -e vboxguest.ko -a -e vboxsf.ko -a -e vboxvideo.ko ] ; then
+ echo "ERROR: One of vbox*.ko modules wasn't built"
+ exit 1
+ fi
+}
+
+module_do_install() {
+ MODULE_DIR=${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/misc
+ install -d $MODULE_DIR
+ install -m 644 vboxguest.ko $MODULE_DIR
+ install -m 644 vboxsf.ko $MODULE_DIR
+ install -m 644 vboxvideo.ko $MODULE_DIR
+}
+
+do_install:append() {
+ install -d ${D}${base_sbindir}
+ install -m 755 ${S}/utils/mount.vboxsf ${D}${base_sbindir}
+}
+
+PACKAGES += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo"
+RRECOMMENDS:${PN} += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo"
+
+FILES:${PN} = "${base_sbindir}"
+
+# autoload if installed
+KERNEL_MODULE_AUTOLOAD += "vboxguest vboxsf vboxvideo"
diff --git a/meta-openembedded/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.42.0.bb b/meta-openembedded/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.42.0.bb
deleted file mode 100644
index f682cd9..0000000
--- a/meta-openembedded/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.42.0.bb
+++ /dev/null
@@ -1,183 +0,0 @@
-SUMMARY = "WebKit web rendering engine for the GTK+ platform"
-HOMEPAGE = "https://www.webkitgtk.org/"
-BUGTRACKER = "https://bugs.webkit.org/"
-
-LICENSE = "BSD-2-Clause & LGPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \
- file://Source/WebCore/LICENSE-APPLE;md5=4646f90082c40bcf298c285f8bab0b12 \
- file://Source/WebCore/LICENSE-LGPL-2;md5=36357ffde2b64ae177b2494445b79d21 \
- file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 \
- "
-
-SRC_URI = "https://www.webkitgtk.org/releases/webkitgtk-${PV}.tar.xz \
- file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \
- file://reproducibility.patch \
- file://0d3344e17d258106617b0e6d783d073b188a2548.patch \
- file://no-musttail-arm.patch \
- "
-SRC_URI[sha256sum] = "828f95935861fae583fb8f2ae58cf64c63c178ae2b7c2d6f73070813ad64ed1b"
-
-inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen
-
-S = "${WORKDIR}/webkitgtk-${PV}"
-
-ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
-REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'opengl', '', d)}"
-
-CVE_PRODUCT = "webkitgtk webkitgtk\+"
-
-DEPENDS += " \
- ruby-native \
- gperf-native \
- unifdef-native \
- cairo \
- harfbuzz \
- jpeg \
- atk \
- libwebp \
- gtk+3 \
- libxslt \
- libtasn1 \
- libnotify \
- gstreamer1.0 \
- gstreamer1.0-plugins-base \
- glib-2.0-native \
- gettext-native \
- "
-
-PACKAGECONFIG_SOUP ?= "soup3"
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd wayland x11', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'webgl opengl', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'webgl gles2', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl-or-es', '', d)} \
- enchant \
- libsecret \
- ${PACKAGECONFIG_SOUP} \
- "
-
-PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND_TARGET=ON,-DENABLE_WAYLAND_TARGET=OFF,wayland libwpe wpebackend-fdo wayland-native"
-PACKAGECONFIG[angle] = "-DUSE_ANGLE_WEBGL=ON,-DUSE_ANGLE_WEBGL=OFF"
-PACKAGECONFIG[x11] = "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,virtual/libx11 libxcomposite libxdamage libxrender libxt"
-PACKAGECONFIG[geoclue] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geoclue"
-PACKAGECONFIG[enchant] = "-DENABLE_SPELLCHECK=ON,-DENABLE_SPELLCHECK=OFF,enchant2"
-PACKAGECONFIG[gles2] = "-DENABLE_GLES2=ON,-DENABLE_GLES2=OFF,virtual/libgles2"
-PACKAGECONFIG[jpegxl] = " -DUSE_JPEGXL=ON,-DUSE_JPEGXL=OFF,libjxl"
-PACKAGECONFIG[webgl] = "-DENABLE_WEBGL=ON,-DENABLE_WEBGL=OFF,virtual/egl"
-PACKAGECONFIG[opengl] = "-DENABLE_GRAPHICS_CONTEXT_GL=ON,-DENABLE_GRAPHICS_CONTEXT_GL=OFF,virtual/egl"
-PACKAGECONFIG[opengl-or-es] = "-DUSE_OPENGL_OR_ES=ON,-DUSE_OPENGL_OR_ES=OFF"
-PACKAGECONFIG[libsecret] = "-DUSE_LIBSECRET=ON,-DUSE_LIBSECRET=OFF,libsecret"
-PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen"
-PACKAGECONFIG[woff2] = "-DUSE_WOFF2=ON,-DUSE_WOFF2=OFF,woff2"
-PACKAGECONFIG[openjpeg] = "-DUSE_OPENJPEG=ON,-DUSE_OPENJPEG=OFF,openjpeg"
-PACKAGECONFIG[systemd] = "-DUSE_SYSTEMD=ON,-DUSE_SYSTEMD=off,systemd"
-PACKAGECONFIG[reduce-size] = "-DCMAKE_BUILD_TYPE=MinSizeRel,-DCMAKE_BUILD_TYPE=Release,,"
-PACKAGECONFIG[lcms] = "-DUSE_LCMS=ON,-DUSE_LCMS=OFF,lcms"
-PACKAGECONFIG[soup2] = "-DUSE_SOUP2=ON,-DUSE_SOUP2=OFF,libsoup-2.4,,,soup3"
-PACKAGECONFIG[soup3] = ",,libsoup,,,soup2"
-PACKAGECONFIG[journald] = "-DENABLE_JOURNALD_LOG=ON,-DENABLE_JOURNALD_LOG=OFF,systemd"
-PACKAGECONFIG[avif] = "-DUSE_AVIF_LOG=ON,-DUSE_AVIF=OFF,libavif"
-PACKAGECONFIG[media-recorder] = "-DENABLE_MEDIA_RECORDER=ON,-DENABLE_MEDIA_RECORDER=OFF,gstreamer1.0-plugins-bad"
-PACKAGECONFIG[gamepad] = "-DENABLE_GAMEPAD=ON,-DENABLE_GAMEPAD=OFF,libmanette"
-PACKAGECONFIG[webrtc] = "-DENABLE_WEB_RTC=ON,-DENABLE_WEB_RTC=OFF"
-PACKAGECONFIG[bubblewrap] = "-DENABLE_BUBBLEWRAP_SANDBOX=ON -DBWRAP_EXECUTABLE=${bindir}/bwrap -DDBUS_PROXY_EXECUTABLE=${bindir}/xdg-dbus-proxy,-DENABLE_BUBBLEWRAP_SANDBOX=OFF,,bubblewrap xdg-dbus-proxy"
-
-EXTRA_OECMAKE = " \
- -DPORT=GTK \
- ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \
- ${@bb.utils.contains('GIDOCGEN_ENABLED', 'True', '-DENABLE_DOCUMENTATION=ON', '-DENABLE_DOCUMENTATION=OFF', d)} \
- -DENABLE_MINIBROWSER=ON \
- "
-# Unless DEBUG_BUILD is enabled, pass -g1 to massively reduce the size of the
-# debug symbols (4.3GB to 700M at time of writing)
-DEBUG_FLAGS:append = "${@oe.utils.vartrue('DEBUG_BUILD', '', ' -g1', d)}"
-
-# Javascript JIT is not supported on ARC
-EXTRA_OECMAKE:append:arc = " -DENABLE_JIT=OFF "
-# By default 25-bit "medium" calls are used on ARC
-# which is not enough for binaries larger than 32 MiB
-CFLAGS:append:arc = " -mlong-calls"
-CXXFLAGS:append:arc = " -mlong-calls"
-
-# Needed for non-mesa graphics stacks when x11 is disabled
-CXXFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DEGL_NO_X11=1', d)}"
-
-# Javascript JIT is not supported on powerpc
-EXTRA_OECMAKE:append:powerpc = " -DENABLE_JIT=OFF "
-EXTRA_OECMAKE:append:powerpc64 = " -DENABLE_JIT=OFF "
-
-# ARM JIT code does not build on ARMv4/5/6 anymore
-EXTRA_OECMAKE:append:armv4 = " -DENABLE_JIT=OFF "
-EXTRA_OECMAKE:append:armv5 = " -DENABLE_JIT=OFF "
-EXTRA_OECMAKE:append:armv6 = " -DENABLE_JIT=OFF "
-
-# And for armv7* don't enable it for softfp, because after:
-# https://github.com/WebKit/WebKit/commit/a2ec4ef1997d6fafa6ffc607bffb54e76168a918
-# https://bugs.webkit.org/show_bug.cgi?id=242172
-# softfp armv7* fails because WEBASSEMBLY is left enabled by default and JIT gets
-# explicitly disabled causing:
-# http://errors.yoctoproject.org/Errors/Details/734587/
-# PR was sent upstream, but the end result is the same both JIT and WEBASSEMBLY disabled
-# https://github.com/WebKit/WebKit/pull/17447
-EXTRA_OECMAKE:append:armv7a = " -DENABLE_JIT=${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'ON', 'OFF', d)}"
-EXTRA_OECMAKE:append:armv7r = " -DENABLE_JIT=${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'ON', 'OFF', d)}"
-EXTRA_OECMAKE:append:armv7ve = " -DENABLE_JIT=${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'ON', 'OFF', d)}"
-
-EXTRA_OECMAKE:append:mipsarch = " -DUSE_LD_GOLD=OFF "
-EXTRA_OECMAKE:append:powerpc = " -DUSE_LD_GOLD=OFF "
-
-# JIT and gold linker does not work on RISCV
-EXTRA_OECMAKE:append:riscv32 = " -DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF"
-EXTRA_OECMAKE:append:riscv64 = " -DUSE_LD_GOLD=OFF"
-
-# JIT not supported on MIPS either
-EXTRA_OECMAKE:append:mipsarch = " -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON "
-
-# JIT not supported on X32
-# An attempt was made to upstream JIT support for x32 in
-# https://bugs.webkit.org/show_bug.cgi?id=100450, but this was closed as
-# unresolved due to limited X32 adoption.
-EXTRA_OECMAKE:append:x86-x32 = " -DENABLE_JIT=OFF "
-
-SECURITY_CFLAGS:remove:aarch64 = "-fpie"
-SECURITY_CFLAGS:append:aarch64 = " -fPIE"
-
-FILES:${PN} += "${libdir}/webkit2gtk-4.*/injected-bundle/libwebkit2gtkinjectedbundle.so"
-
-RRECOMMENDS:${PN} += "ca-certificates shared-mime-info"
-
-# http://errors.yoctoproject.org/Errors/Details/20370/
-ARM_INSTRUCTION_SET:armv4 = "arm"
-ARM_INSTRUCTION_SET:armv5 = "arm"
-ARM_INSTRUCTION_SET:armv6 = "arm"
-
-# https://bugzilla.yoctoproject.org/show_bug.cgi?id=9474
-# https://bugs.webkit.org/show_bug.cgi?id=159880
-# JSC JIT can build on ARMv7 with -marm, but doesn't work on runtime.
-# Upstream only tests regularly the JSC JIT on ARMv7 with Thumb2 (-mthumb).
-ARM_INSTRUCTION_SET:armv7a = "thumb"
-ARM_INSTRUCTION_SET:armv7r = "thumb"
-ARM_INSTRUCTION_SET:armv7ve = "thumb"
-
-# ANGLE requires SSE support as of webkit 2.40.x on 32 bit x86
-COMPATIBLE_HOST:x86 = "${@bb.utils.contains_any('TUNE_FEATURES', 'core2 corei7', '.*', 'null', d)}"
-
-# introspection inside qemu-arm hangs forever on musl/arm builds
-# therefore disable GI_DATA
-GI_DATA_ENABLED:libc-musl:armv7a = "False"
-GI_DATA_ENABLED:libc-musl:armv7ve = "False"
-
-do_install:append() {
- mv ${D}${bindir}/WebKitWebDriver ${D}${bindir}/WebKitWebDriver3
-}
-
-PACKAGE_PREPROCESS_FUNCS += "src_package_preprocess"
-src_package_preprocess () {
- # Trim build paths from comments in generated sources to ensure reproducibility
- sed -i -e "s,${WORKDIR},,g" \
- ${B}/JavaScriptCore/DerivedSources/*.h \
- ${B}/JavaScriptCore/DerivedSources/yarr/*.h \
- ${B}/JavaScriptCore/PrivateHeaders/JavaScriptCore/*.h \
- ${B}/WebCore/DerivedSources/*.cpp \
- ${B}/WebKitGTK/DerivedSources/webkit/*.cpp
-}
-
diff --git a/meta-openembedded/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.42.2.bb b/meta-openembedded/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.42.2.bb
new file mode 100644
index 0000000..ac75afb
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.42.2.bb
@@ -0,0 +1,183 @@
+SUMMARY = "WebKit web rendering engine for the GTK+ platform"
+HOMEPAGE = "https://www.webkitgtk.org/"
+BUGTRACKER = "https://bugs.webkit.org/"
+
+LICENSE = "BSD-2-Clause & LGPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \
+ file://Source/WebCore/LICENSE-APPLE;md5=4646f90082c40bcf298c285f8bab0b12 \
+ file://Source/WebCore/LICENSE-LGPL-2;md5=36357ffde2b64ae177b2494445b79d21 \
+ file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 \
+ "
+
+SRC_URI = "https://www.webkitgtk.org/releases/webkitgtk-${PV}.tar.xz \
+ file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \
+ file://reproducibility.patch \
+ file://0d3344e17d258106617b0e6d783d073b188a2548.patch \
+ file://no-musttail-arm.patch \
+ "
+SRC_URI[sha256sum] = "5720aa3e8627f1b9f63252187d4df0f8233ae71d697b1796ebfbe5ca750bd118"
+
+inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen
+
+S = "${WORKDIR}/webkitgtk-${PV}"
+
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'opengl', '', d)}"
+
+CVE_PRODUCT = "webkitgtk webkitgtk\+"
+
+DEPENDS += " \
+ ruby-native \
+ gperf-native \
+ unifdef-native \
+ cairo \
+ harfbuzz \
+ jpeg \
+ atk \
+ libwebp \
+ gtk+3 \
+ libxslt \
+ libtasn1 \
+ libnotify \
+ gstreamer1.0 \
+ gstreamer1.0-plugins-base \
+ glib-2.0-native \
+ gettext-native \
+ "
+
+PACKAGECONFIG_SOUP ?= "soup3"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd wayland x11', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'webgl opengl', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'webgl gles2', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl-or-es', '', d)} \
+ enchant \
+ libsecret \
+ ${PACKAGECONFIG_SOUP} \
+ "
+
+PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND_TARGET=ON,-DENABLE_WAYLAND_TARGET=OFF,wayland libwpe wpebackend-fdo wayland-native"
+PACKAGECONFIG[angle] = "-DUSE_ANGLE_WEBGL=ON,-DUSE_ANGLE_WEBGL=OFF"
+PACKAGECONFIG[x11] = "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,virtual/libx11 libxcomposite libxdamage libxrender libxt"
+PACKAGECONFIG[geoclue] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geoclue"
+PACKAGECONFIG[enchant] = "-DENABLE_SPELLCHECK=ON,-DENABLE_SPELLCHECK=OFF,enchant2"
+PACKAGECONFIG[gles2] = "-DENABLE_GLES2=ON,-DENABLE_GLES2=OFF,virtual/libgles2"
+PACKAGECONFIG[jpegxl] = " -DUSE_JPEGXL=ON,-DUSE_JPEGXL=OFF,libjxl"
+PACKAGECONFIG[webgl] = "-DENABLE_WEBGL=ON,-DENABLE_WEBGL=OFF,virtual/egl"
+PACKAGECONFIG[opengl] = "-DENABLE_GRAPHICS_CONTEXT_GL=ON,-DENABLE_GRAPHICS_CONTEXT_GL=OFF,virtual/egl"
+PACKAGECONFIG[opengl-or-es] = "-DUSE_OPENGL_OR_ES=ON,-DUSE_OPENGL_OR_ES=OFF"
+PACKAGECONFIG[libsecret] = "-DUSE_LIBSECRET=ON,-DUSE_LIBSECRET=OFF,libsecret"
+PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen"
+PACKAGECONFIG[woff2] = "-DUSE_WOFF2=ON,-DUSE_WOFF2=OFF,woff2"
+PACKAGECONFIG[openjpeg] = "-DUSE_OPENJPEG=ON,-DUSE_OPENJPEG=OFF,openjpeg"
+PACKAGECONFIG[systemd] = "-DUSE_SYSTEMD=ON,-DUSE_SYSTEMD=off,systemd"
+PACKAGECONFIG[reduce-size] = "-DCMAKE_BUILD_TYPE=MinSizeRel,-DCMAKE_BUILD_TYPE=Release,,"
+PACKAGECONFIG[lcms] = "-DUSE_LCMS=ON,-DUSE_LCMS=OFF,lcms"
+PACKAGECONFIG[soup2] = "-DUSE_SOUP2=ON,-DUSE_SOUP2=OFF,libsoup-2.4,,,soup3"
+PACKAGECONFIG[soup3] = ",,libsoup,,,soup2"
+PACKAGECONFIG[journald] = "-DENABLE_JOURNALD_LOG=ON,-DENABLE_JOURNALD_LOG=OFF,systemd"
+PACKAGECONFIG[avif] = "-DUSE_AVIF_LOG=ON,-DUSE_AVIF=OFF,libavif"
+PACKAGECONFIG[media-recorder] = "-DENABLE_MEDIA_RECORDER=ON,-DENABLE_MEDIA_RECORDER=OFF,gstreamer1.0-plugins-bad"
+PACKAGECONFIG[gamepad] = "-DENABLE_GAMEPAD=ON,-DENABLE_GAMEPAD=OFF,libmanette"
+PACKAGECONFIG[webrtc] = "-DENABLE_WEB_RTC=ON,-DENABLE_WEB_RTC=OFF"
+PACKAGECONFIG[bubblewrap] = "-DENABLE_BUBBLEWRAP_SANDBOX=ON -DBWRAP_EXECUTABLE=${bindir}/bwrap -DDBUS_PROXY_EXECUTABLE=${bindir}/xdg-dbus-proxy,-DENABLE_BUBBLEWRAP_SANDBOX=OFF,,bubblewrap xdg-dbus-proxy"
+
+EXTRA_OECMAKE = " \
+ -DPORT=GTK \
+ ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \
+ ${@bb.utils.contains('GIDOCGEN_ENABLED', 'True', '-DENABLE_DOCUMENTATION=ON', '-DENABLE_DOCUMENTATION=OFF', d)} \
+ -DENABLE_MINIBROWSER=ON \
+ "
+# Unless DEBUG_BUILD is enabled, pass -g1 to massively reduce the size of the
+# debug symbols (4.3GB to 700M at time of writing)
+DEBUG_FLAGS:append = "${@oe.utils.vartrue('DEBUG_BUILD', '', ' -g1', d)}"
+
+# Javascript JIT is not supported on ARC
+EXTRA_OECMAKE:append:arc = " -DENABLE_JIT=OFF "
+# By default 25-bit "medium" calls are used on ARC
+# which is not enough for binaries larger than 32 MiB
+CFLAGS:append:arc = " -mlong-calls"
+CXXFLAGS:append:arc = " -mlong-calls"
+
+# Needed for non-mesa graphics stacks when x11 is disabled
+CXXFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DEGL_NO_X11=1', d)}"
+
+# Javascript JIT is not supported on powerpc
+EXTRA_OECMAKE:append:powerpc = " -DENABLE_JIT=OFF "
+EXTRA_OECMAKE:append:powerpc64 = " -DENABLE_JIT=OFF "
+
+# ARM JIT code does not build on ARMv4/5/6 anymore
+EXTRA_OECMAKE:append:armv4 = " -DENABLE_JIT=OFF "
+EXTRA_OECMAKE:append:armv5 = " -DENABLE_JIT=OFF "
+EXTRA_OECMAKE:append:armv6 = " -DENABLE_JIT=OFF "
+
+# And for armv7* don't enable it for softfp, because after:
+# https://github.com/WebKit/WebKit/commit/a2ec4ef1997d6fafa6ffc607bffb54e76168a918
+# https://bugs.webkit.org/show_bug.cgi?id=242172
+# softfp armv7* fails because WEBASSEMBLY is left enabled by default and JIT gets
+# explicitly disabled causing:
+# http://errors.yoctoproject.org/Errors/Details/734587/
+# PR was sent upstream, but the end result is the same both JIT and WEBASSEMBLY disabled
+# https://github.com/WebKit/WebKit/pull/17447
+EXTRA_OECMAKE:append:armv7a = " -DENABLE_JIT=${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'ON', 'OFF', d)}"
+EXTRA_OECMAKE:append:armv7r = " -DENABLE_JIT=${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'ON', 'OFF', d)}"
+EXTRA_OECMAKE:append:armv7ve = " -DENABLE_JIT=${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'ON', 'OFF', d)}"
+
+EXTRA_OECMAKE:append:mipsarch = " -DUSE_LD_GOLD=OFF "
+EXTRA_OECMAKE:append:powerpc = " -DUSE_LD_GOLD=OFF "
+
+# JIT and gold linker does not work on RISCV
+EXTRA_OECMAKE:append:riscv32 = " -DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF"
+EXTRA_OECMAKE:append:riscv64 = " -DUSE_LD_GOLD=OFF"
+
+# JIT not supported on MIPS either
+EXTRA_OECMAKE:append:mipsarch = " -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON "
+
+# JIT not supported on X32
+# An attempt was made to upstream JIT support for x32 in
+# https://bugs.webkit.org/show_bug.cgi?id=100450, but this was closed as
+# unresolved due to limited X32 adoption.
+EXTRA_OECMAKE:append:x86-x32 = " -DENABLE_JIT=OFF "
+
+SECURITY_CFLAGS:remove:aarch64 = "-fpie"
+SECURITY_CFLAGS:append:aarch64 = " -fPIE"
+
+FILES:${PN} += "${libdir}/webkit2gtk-4.*/injected-bundle/libwebkit2gtkinjectedbundle.so"
+
+RRECOMMENDS:${PN} += "ca-certificates shared-mime-info"
+
+# http://errors.yoctoproject.org/Errors/Details/20370/
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
+ARM_INSTRUCTION_SET:armv6 = "arm"
+
+# https://bugzilla.yoctoproject.org/show_bug.cgi?id=9474
+# https://bugs.webkit.org/show_bug.cgi?id=159880
+# JSC JIT can build on ARMv7 with -marm, but doesn't work on runtime.
+# Upstream only tests regularly the JSC JIT on ARMv7 with Thumb2 (-mthumb).
+ARM_INSTRUCTION_SET:armv7a = "thumb"
+ARM_INSTRUCTION_SET:armv7r = "thumb"
+ARM_INSTRUCTION_SET:armv7ve = "thumb"
+
+# ANGLE requires SSE support as of webkit 2.40.x on 32 bit x86
+COMPATIBLE_HOST:x86 = "${@bb.utils.contains_any('TUNE_FEATURES', 'core2 corei7', '.*', 'null', d)}"
+
+# introspection inside qemu-arm hangs forever on musl/arm builds
+# therefore disable GI_DATA
+GI_DATA_ENABLED:libc-musl:armv7a = "False"
+GI_DATA_ENABLED:libc-musl:armv7ve = "False"
+
+do_install:append() {
+ mv ${D}${bindir}/WebKitWebDriver ${D}${bindir}/WebKitWebDriver3
+}
+
+PACKAGE_PREPROCESS_FUNCS += "src_package_preprocess"
+src_package_preprocess () {
+ # Trim build paths from comments in generated sources to ensure reproducibility
+ sed -i -e "s,${WORKDIR},,g" \
+ ${B}/JavaScriptCore/DerivedSources/*.h \
+ ${B}/JavaScriptCore/DerivedSources/yarr/*.h \
+ ${B}/JavaScriptCore/PrivateHeaders/JavaScriptCore/*.h \
+ ${B}/WebCore/DerivedSources/*.cpp \
+ ${B}/WebKitGTK/DerivedSources/webkit/*.cpp
+}
+
diff --git a/meta-openembedded/meta-oe/recipes-support/xdg-desktop-portal/xdg-desktop-portal_1.18.0.bb b/meta-openembedded/meta-oe/recipes-support/xdg-desktop-portal/xdg-desktop-portal_1.18.0.bb
deleted file mode 100644
index b9173a9..0000000
--- a/meta-openembedded/meta-oe/recipes-support/xdg-desktop-portal/xdg-desktop-portal_1.18.0.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-SUMMARY = "A portal frontend service for Flatpak and possibly other desktop containment frameworks."
-HOMEPAGE = "https://github.com/flatpak/xdg-desktop-portal"
-LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-REQUIRED_DISTRO_FEATURES = "polkit"
-
-DEPENDS = " \
- json-glib \
- glib-2.0 \
- flatpak \
- libportal \
- geoclue \
- pipewire \
- fuse3 \
- xmlto-native \
-"
-
-PORTAL_BACKENDS ?= " \
- ${@bb.utils.contains('DISTRO_FEATURES', 'gtk+3', 'xdg-desktop-portal-gtk', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'gtk4', 'xdg-desktop-portal-gtk', '', d)} \
-"
-
-RDEPENDS:${PN} = "bubblewrap rtkit ${PORTAL_BACKENDS}"
-
-inherit meson pkgconfig python3native features_check
-
-SRC_URI = " \
- git://github.com/flatpak/xdg-desktop-portal.git;protocol=https;branch=main \
- file://0001-meson.build-add-a-hack-for-crosscompile.patch \
-"
-
-S = "${WORKDIR}/git"
-SRCREV = "a4b27063222b16652e73b422e5448d75335199ef"
-
-FILES:${PN} += "${libdir}/systemd ${datadir}/dbus-1"
-
-EXTRA_OEMESON += " \
- --cross-file=${WORKDIR}/meson-${PN}.cross \
- -Dflatpak-interfaces-dir=${STAGING_DATADIR}/dbus-1/interfaces \
- -Ddbus-service-dir=${datadir}/dbus-1/services \
-"
-
-do_write_config:append() {
- cat >${WORKDIR}/meson-${PN}.cross <<EOF
-[binaries]
-bwrap = '${bindir}/bwrap'
-EOF
-}
diff --git a/meta-openembedded/meta-oe/recipes-support/xdg-desktop-portal/xdg-desktop-portal_1.18.1.bb b/meta-openembedded/meta-oe/recipes-support/xdg-desktop-portal/xdg-desktop-portal_1.18.1.bb
new file mode 100644
index 0000000..f8a07eb
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/xdg-desktop-portal/xdg-desktop-portal_1.18.1.bb
@@ -0,0 +1,48 @@
+SUMMARY = "A portal frontend service for Flatpak and possibly other desktop containment frameworks."
+HOMEPAGE = "https://github.com/flatpak/xdg-desktop-portal"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+REQUIRED_DISTRO_FEATURES = "polkit"
+
+DEPENDS = " \
+ json-glib \
+ glib-2.0 \
+ flatpak \
+ libportal \
+ geoclue \
+ pipewire \
+ fuse3 \
+ xmlto-native \
+"
+
+PORTAL_BACKENDS ?= " \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'gtk+3', 'xdg-desktop-portal-gtk', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'gtk4', 'xdg-desktop-portal-gtk', '', d)} \
+"
+
+RDEPENDS:${PN} = "bubblewrap rtkit ${PORTAL_BACKENDS}"
+
+inherit meson pkgconfig python3native features_check
+
+SRC_URI = " \
+ git://github.com/flatpak/xdg-desktop-portal.git;protocol=https;branch=main \
+ file://0001-meson.build-add-a-hack-for-crosscompile.patch \
+"
+
+S = "${WORKDIR}/git"
+SRCREV = "37a6f7c8b8e08b9861f05e172cd4e0d07a832c4d"
+
+FILES:${PN} += "${libdir}/systemd ${datadir}/dbus-1"
+
+EXTRA_OEMESON += " \
+ --cross-file=${WORKDIR}/meson-${PN}.cross \
+ -Ddbus-service-dir=${datadir}/dbus-1/services \
+"
+
+do_write_config:append() {
+ cat >${WORKDIR}/meson-${PN}.cross <<EOF
+[binaries]
+bwrap = '${bindir}/bwrap'
+EOF
+}
diff --git a/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/0001-xmldsigverify-Include-xmlsec-parser.h.patch b/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/0001-xmldsigverify-Include-xmlsec-parser.h.patch
deleted file mode 100644
index 4347e92..0000000
--- a/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/0001-xmldsigverify-Include-xmlsec-parser.h.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 30e1afe60820c18c89cd10e9dcb7208ad5676d1d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 19 Jan 2023 15:06:35 -0800
-Subject: [PATCH] xmldsigverify: Include xmlsec/parser.h
-
-this ensures that xmlSecParserSetDefaultOptions definition is made
-available
-
-Fixes
-| xmldsigverify.c:275:5: error: call to undeclared function 'xmlSecParserSetDefaultOptions'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
-| xmlSecParserSetDefaultOptions(XML_PARSE_NOENT | XML_PARSE_NOCDATA |
-| ^
-
-Upstream-Status: Submitted [https://github.com/lsh123/xmlsec/pull/463]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- examples/xmldsigverify.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/examples/xmldsigverify.c b/examples/xmldsigverify.c
-index ed538c70..ff68120e 100644
---- a/examples/xmldsigverify.c
-+++ b/examples/xmldsigverify.c
-@@ -25,6 +25,7 @@
- #include <xmlsec/xmldsig.h>
- #include <xmlsec/crypto.h>
-
-+#include <xmlsec/parser.h>
- /* #define XMLDSIGVERIFY_DEFAULT_TRUSTED_CERTS_FOLDER "/etc/httpd/conf/ssl.crt" */
- #define XMLDSIGVERIFY_DEFAULT_TRUSTED_CERTS_FOLDER "/var/www/cgi-bin/keys-certs.def"
- #define XMLDSIGVERIFY_KEY_AND_CERTS_FOLDER "/var/www/cgi-bin/keys-certs"
-@@ -36,7 +37,7 @@ int verify_request(xmlSecKeysMngrPtr mngr);
- int url_decode(char *buf, size_t size);
-
- int
--main(int , char **) {
-+main() {
- xmlSecKeysMngrPtr mngr;
- #ifndef XMLSEC_NO_XSLT
- xsltSecurityPrefsPtr xsltSecPrefs = NULL;
---
-2.39.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/run-ptest b/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/run-ptest
index a203c38..afd8c69 100755
--- a/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/run-ptest
+++ b/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/run-ptest
@@ -34,8 +34,8 @@
echo "---------------------------------------------------"
echo "Verifying a signature with keys manager..."
-./verify2 sign1-res.xml rsapub.pem
-./verify2 sign2-res.xml rsapub.pem
+./verify2 sign1-res.xml rsakey.pem
+./verify2 sign2-res.xml rsakey.pem
check_return verify-keys-manager
echo "---------------------------------------------------"
diff --git a/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1_1.2.37.bb b/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1_1.2.37.bb
deleted file mode 100644
index a3da770..0000000
--- a/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1_1.2.37.bb
+++ /dev/null
@@ -1,68 +0,0 @@
-SUMMARY = "XML Security Library is a C library based on LibXML2"
-DESCRIPTION = "\
- XML Security Library is a C library based on \
- LibXML2 and OpenSSL. The library was created with a goal to support major \
- XML security standards "XML Digital Signature" and "XML Encryption". \
- "
-HOMEPAGE = "http://www.aleksey.com/xmlsec/"
-DEPENDS = "libtool libxml2 libxslt zlib"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=352791d62092ea8104f085042de7f4d0"
-
-SECTION = "libs"
-
-SRC_URI = "http://www.aleksey.com/xmlsec/download/${BP}.tar.gz \
- file://fix-ltmain.sh.patch \
- file://change-finding-path-of-nss.patch \
- file://makefile-ptest.patch \
- file://xmlsec1-examples-allow-build-in-separate-dir.patch \
- file://0001-nss-nspr-fix-for-multilib.patch \
- file://run-ptest \
- file://ensure-search-path-non-host.patch \
- file://0001-xmldsigverify-Include-xmlsec-parser.h.patch \
- "
-
-SRC_URI[sha256sum] = "5f8dfbcb6d1e56bddd0b5ec2e00a3d0ca5342a9f57c24dffde5c796b2be2871c"
-
-inherit autotools-brokensep ptest pkgconfig
-
-#CFLAGS += "-I${STAGING_INCDIR}/nss3"
-#CPPFLAGS += "-I${STAGING_INCDIR}/nss3"
-
-PACKAGECONFIG ??= "gnutls libgcrypt nss openssl des"
-PACKAGECONFIG[gnutls] = ",,gnutls"
-PACKAGECONFIG[libgcrypt] = ",,libgcrypt"
-PACKAGECONFIG[nss] = "--with-nss=${STAGING_DIR_HOST} --with-nspr=${STAGING_DIR_HOST},--with-nss=no --with-nspr=no,nss nspr"
-PACKAGECONFIG[openssl] = ",,openssl"
-PACKAGECONFIG[des] = ",--disable-des,,"
-
-# these can be dynamically loaded with xmlSecCryptoDLLoadLibrary()
-FILES_SOLIBSDEV = "${libdir}/libxmlsec1.so"
-FILES:${PN} += "${libdir}/libxmlsec1-*.so"
-INSANE_SKIP:${PN} = "dev-so"
-
-FILES:${PN}-dev += "${libdir}/xmlsec1Conf.sh"
-FILES:${PN}-dbg += "${PTEST_PATH}/.debug/*"
-
-RDEPENDS:${PN}-ptest += "${PN}-dev"
-INSANE_SKIP:${PN}-ptest += "dev-deps"
-
-PTEST_EXTRA_ARGS = "top_srcdir=${S} top_builddir=${B}"
-
-do_compile_ptest () {
- oe_runmake -C ${S}/examples ${PTEST_EXTRA_ARGS} all
-}
-
-do_install:append() {
- for i in ${bindir}/xmlsec1-config ${libdir}/xmlsec1Conf.sh \
- ${libdir}/pkgconfig/xmlsec1-openssl.pc; do
- sed -i -e "s@${RECIPE_SYSROOT}@@g" ${D}$i
- done
-}
-
-do_install_ptest () {
- oe_runmake -C ${S}/examples DESTDIR=${D}${PTEST_PATH} ${PTEST_EXTRA_ARGS} install-ptest
-}
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1_1.3.2.bb b/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1_1.3.2.bb
new file mode 100644
index 0000000..ff5b6fa
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1_1.3.2.bb
@@ -0,0 +1,67 @@
+SUMMARY = "XML Security Library is a C library based on LibXML2"
+DESCRIPTION = "\
+ XML Security Library is a C library based on \
+ LibXML2 and OpenSSL. The library was created with a goal to support major \
+ XML security standards "XML Digital Signature" and "XML Encryption". \
+ "
+HOMEPAGE = "http://www.aleksey.com/xmlsec/"
+DEPENDS = "libtool libxml2 libxslt zlib"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=352791d62092ea8104f085042de7f4d0"
+
+SECTION = "libs"
+
+SRC_URI = "http://www.aleksey.com/xmlsec/download/${BP}.tar.gz \
+ file://fix-ltmain.sh.patch \
+ file://change-finding-path-of-nss.patch \
+ file://makefile-ptest.patch \
+ file://xmlsec1-examples-allow-build-in-separate-dir.patch \
+ file://0001-nss-nspr-fix-for-multilib.patch \
+ file://run-ptest \
+ file://ensure-search-path-non-host.patch \
+ "
+
+SRC_URI[sha256sum] = "4003c56b3d356d21b1db7775318540fad6bfedaf5f117e8f7c010811219be3cf"
+
+inherit autotools-brokensep ptest pkgconfig
+
+#CFLAGS += "-I${STAGING_INCDIR}/nss3"
+#CPPFLAGS += "-I${STAGING_INCDIR}/nss3"
+
+PACKAGECONFIG ??= "gnutls libgcrypt nss openssl des"
+PACKAGECONFIG[gnutls] = ",,gnutls"
+PACKAGECONFIG[libgcrypt] = ",,libgcrypt"
+PACKAGECONFIG[nss] = "--with-nss=${STAGING_DIR_HOST} --with-nspr=${STAGING_DIR_HOST},--with-nss=no --with-nspr=no,nss nspr"
+PACKAGECONFIG[openssl] = ",,openssl"
+PACKAGECONFIG[des] = ",--disable-des,,"
+
+# these can be dynamically loaded with xmlSecCryptoDLLoadLibrary()
+FILES_SOLIBSDEV = "${libdir}/libxmlsec1.so"
+FILES:${PN} += "${libdir}/libxmlsec1-*.so"
+INSANE_SKIP:${PN} = "dev-so"
+
+FILES:${PN}-dev += "${libdir}/xmlsec1Conf.sh"
+FILES:${PN}-dbg += "${PTEST_PATH}/.debug/*"
+
+RDEPENDS:${PN}-ptest += "${PN}-dev"
+INSANE_SKIP:${PN}-ptest += "dev-deps"
+
+PTEST_EXTRA_ARGS = "top_srcdir=${S} top_builddir=${B}"
+
+do_compile_ptest () {
+ oe_runmake -C ${S}/examples ${PTEST_EXTRA_ARGS} all
+}
+
+do_install:append() {
+ for i in ${bindir}/xmlsec1-config ${libdir}/xmlsec1Conf.sh \
+ ${libdir}/pkgconfig/xmlsec1-openssl.pc; do
+ sed -i -e "s@${RECIPE_SYSROOT}@@g" ${D}$i
+ done
+}
+
+do_install_ptest () {
+ oe_runmake -C ${S}/examples DESTDIR=${D}${PTEST_PATH} ${PTEST_EXTRA_ARGS} install-ptest
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.3.1.bb b/meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.3.1.bb
deleted file mode 100644
index 2961e44..0000000
--- a/meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.3.1.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-DESCRIPTION = "A file format designed for highly efficient deltas while maintaining good compression"
-
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=daf6e68539f564601a5a5869c31e5242"
-
-SRC_URI = "git://github.com/zchunk/zchunk.git;protocol=https;branch=main"
-
-SRCREV = "b462b1587f7d3aa782689430e83e96c737748f33"
-S = "${WORKDIR}/git"
-
-DEPENDS = "zstd"
-DEPENDS:append:libc-musl = " argp-standalone"
-
-inherit meson pkgconfig lib_package
-
-PACKAGECONFIG ??= "openssl zckdl"
-
-# zckdl gets packaged into zchunk-bin
-PACKAGECONFIG[zckdl] = "-Dwith-curl=enabled,-Dwith-curl=disabled,curl"
-# Use OpenSSL primitives for SHA
-PACKAGECONFIG[openssl] = "-Dwith-openssl=enabled,-Dwith-openssl=disabled,openssl"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.3.2.bb b/meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.3.2.bb
new file mode 100644
index 0000000..27ebd63
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.3.2.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "A file format designed for highly efficient deltas while maintaining good compression"
+
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=daf6e68539f564601a5a5869c31e5242"
+
+SRC_URI = "git://github.com/zchunk/zchunk.git;protocol=https;branch=main"
+
+SRCREV = "bdd6d6fc150d53d89658bebbfa73a7bfd9a89cb4"
+S = "${WORKDIR}/git"
+
+DEPENDS = "zstd"
+DEPENDS:append:libc-musl = " argp-standalone"
+
+inherit meson pkgconfig lib_package
+
+PACKAGECONFIG ??= "openssl zckdl"
+
+# zckdl gets packaged into zchunk-bin
+PACKAGECONFIG[zckdl] = "-Dwith-curl=enabled,-Dwith-curl=disabled,curl"
+# Use OpenSSL primitives for SHA
+PACKAGECONFIG[openssl] = "-Dwith-openssl=enabled,-Dwith-openssl=disabled,openssl"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.13.10.bb b/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.13.10.bb
new file mode 100644
index 0000000..8512a0f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.13.10.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "A modern, C++-native, header-only, test framework for unit-tests, \
+TDD and BDD - using C++11, C++14, C++17 and later."
+HOMEPAGE = "https://github.com/catchorg/Catch2"
+LICENSE = "BSL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
+
+SRC_URI = "git://github.com/catchorg/Catch2.git;branch=v2.x;protocol=https"
+SRCREV = "182c910b4b63ff587a3440e08f84f70497e49a81"
+
+S = "${WORKDIR}/git"
+
+inherit cmake python3native
+
+do_install:append() {
+ rm ${D}${datadir}/Catch2/lldbinit
+ rm ${D}${datadir}/Catch2/gdbinit
+ rmdir ${D}${datadir}/Catch2/
+}
+# Header-only library
+RDEPENDS:${PN}-dev = ""
+RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
diff --git a/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.13.7.bb b/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.13.7.bb
deleted file mode 100644
index 1dd082f..0000000
--- a/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.13.7.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-DESCRIPTION = "A modern, C++-native, header-only, test framework for unit-tests, \
-TDD and BDD - using C++11, C++14, C++17 and later."
-HOMEPAGE = "https://github.com/catchorg/Catch2"
-LICENSE = "BSL-1.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
-
-SRC_URI = "git://github.com/catchorg/Catch2.git;branch=v2.x;protocol=https"
-SRCREV = "c4e3767e265808590986d5db6ca1b5532a7f3d13"
-
-S = "${WORKDIR}/git"
-
-inherit cmake python3native
-
-do_install:append() {
- rm ${D}${datadir}/Catch2/lldbinit
- rm ${D}${datadir}/Catch2/gdbinit
- rmdir ${D}${datadir}/Catch2/
-}
-# Header-only library
-RDEPENDS:${PN}-dev = ""
-RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
diff --git a/meta-openembedded/meta-oe/recipes-test/shunit2/shunit2_2.1.8.bb b/meta-openembedded/meta-oe/recipes-test/shunit2/shunit2_2.1.8.bb
new file mode 100644
index 0000000..683600f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-test/shunit2/shunit2_2.1.8.bb
@@ -0,0 +1,13 @@
+SUMMARY = "shUnit2 is a xUnit based unit test framework for Bourne based shell scripts"
+HOMEPAGE = "https://github.com/kward/shunit2"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
+
+SRC_URI = " git://github.com/kward/shunit2.git;branch=master;protocol=https"
+SRCREV = "080159b303537888c5d41910b4d47a5002638e30"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+ install -D -m 0755 ${S}/shunit2 ${D}${bindir}/shunit2
+}
diff --git a/meta-openembedded/meta-perl/conf/include/ptest-packagelists-meta-perl.inc b/meta-openembedded/meta-perl/conf/include/ptest-packagelists-meta-perl.inc
index e27981d..bb6796f 100644
--- a/meta-openembedded/meta-perl/conf/include/ptest-packagelists-meta-perl.inc
+++ b/meta-openembedded/meta-perl/conf/include/ptest-packagelists-meta-perl.inc
@@ -17,6 +17,7 @@
libstrictures-perl \
libterm-readkey-perl \
libtest-nowarnings-perl \
+ libtext-diff-perl \
"
PTESTS_SLOW_META_PERL = "\
diff --git a/meta-openembedded/meta-perl/recipes-core/packagegroups/packagegroup-meta-perl.bb b/meta-openembedded/meta-perl/recipes-core/packagegroups/packagegroup-meta-perl.bb
index 187424b..2672ab5 100644
--- a/meta-openembedded/meta-perl/recipes-core/packagegroups/packagegroup-meta-perl.bb
+++ b/meta-openembedded/meta-perl/recipes-core/packagegroups/packagegroup-meta-perl.bb
@@ -79,7 +79,6 @@
libtest-nowarnings-perl \
libtest-warn-perl \
libunicode-linebreak-perl \
- po4a \
"
RDEPENDS:packagegroup-meta-perl-extended = "\
diff --git a/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.57.bb b/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.57.bb
deleted file mode 100644
index dea5f7a..0000000
--- a/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.57.bb
+++ /dev/null
@@ -1,50 +0,0 @@
-DESCRIPTION = "CGI.pm is a stable, complete and mature solution for processing and preparing \
-HTTP requests and responses. Major features including processing form \
-submissions, file uploads, reading and writing cookies, query string generation \
-and manipulation, and processing and preparing HTTP headers."
-HOMEPAGE = "http://search.cpan.org/~leejo/CGI-4.28/lib/CGI.pod"
-SECTION = "libs"
-LICENSE = "Artistic-2.0 | GPL-2.0-only"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=415fc49abed2728f9480cd32c8d67beb"
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/L/LE/LEEJO/CGI-${PV}.tar.gz"
-
-SRC_URI[sha256sum] = "4e6ca634fe0d5621bb55b0fce5c1d08e6f643c65eecdfffbb4b344fd51b963ac"
-
-S = "${WORKDIR}/CGI-${PV}"
-
-inherit cpan ptest-perl
-
-RDEPENDS:${PN} += "\
- libhtml-parser-perl \
- perl-module-base \
- perl-module-deprecate \
- perl-module-if \
-"
-
-do_install:prepend() {
- # requires "-T" (taint) command line option
- rm -rf ${B}/t/push.t
- rm -rf ${B}/t/utf8.t
- # tests building of docs
- rm -rf ${B}/t/compiles_pod.t
-}
-
-RDEPENDS:${PN}-ptest += " \
- libtest-deep-perl \
- libtest-warn-perl \
- perl-module-bytes \
- perl-module-file-find \
- perl-module-filehandle \
- perl-module-findbin \
- perl-module-lib \
- perl-module-perlio \
- perl-module-perlio-scalar \
- perl-module-test-more \
- perl-module-utf8 \
-"
-
-RPROVIDES:${PN} += "perl-module-cgi"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.60.bb b/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.60.bb
new file mode 100644
index 0000000..7e330c3
--- /dev/null
+++ b/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.60.bb
@@ -0,0 +1,50 @@
+DESCRIPTION = "CGI.pm is a stable, complete and mature solution for processing and preparing \
+HTTP requests and responses. Major features including processing form \
+submissions, file uploads, reading and writing cookies, query string generation \
+and manipulation, and processing and preparing HTTP headers."
+HOMEPAGE = "http://search.cpan.org/~leejo/CGI-4.28/lib/CGI.pod"
+SECTION = "libs"
+LICENSE = "Artistic-2.0 | GPL-2.0-only"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=415fc49abed2728f9480cd32c8d67beb"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/L/LE/LEEJO/CGI-${PV}.tar.gz"
+
+SRC_URI[sha256sum] = "c2f6330bcc7cacda0c905f57ca0d31da1b19a2e4e5babede648c49b13803ee11"
+
+S = "${WORKDIR}/CGI-${PV}"
+
+inherit cpan ptest-perl
+
+RDEPENDS:${PN} += "\
+ libhtml-parser-perl \
+ perl-module-base \
+ perl-module-deprecate \
+ perl-module-if \
+"
+
+do_install:prepend() {
+ # requires "-T" (taint) command line option
+ rm -rf ${B}/t/push.t
+ rm -rf ${B}/t/utf8.t
+ # tests building of docs
+ rm -rf ${B}/t/compiles_pod.t
+}
+
+RDEPENDS:${PN}-ptest += " \
+ libtest-deep-perl \
+ libtest-warn-perl \
+ perl-module-bytes \
+ perl-module-file-find \
+ perl-module-filehandle \
+ perl-module-findbin \
+ perl-module-lib \
+ perl-module-perlio \
+ perl-module-perlio-scalar \
+ perl-module-test-more \
+ perl-module-utf8 \
+"
+
+RPROVIDES:${PN} += "perl-module-cgi"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libconfig-tiny/libconfig-tiny-perl_2.29.bb b/meta-openembedded/meta-perl/recipes-perl/libconfig-tiny/libconfig-tiny-perl_2.29.bb
deleted file mode 100644
index 92d9bac..0000000
--- a/meta-openembedded/meta-perl/recipes-perl/libconfig-tiny/libconfig-tiny-perl_2.29.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Perl module for read/write .ini style files"
-DESCRIPTION = "Config::Tiny is a Perl class to read and write .ini \
-configuration files with as little code as possible, reducing load time and \
-memory overhead."
-
-HOMEPAGE = "https://search.cpan.org/dist/Config-Tiny"
-SECTION = "libraries"
-
-LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=ab27c3cedbdb0eb6e656a8722476191a"
-
-RDEPENDS:${PN} += "perl"
-
-S = "${WORKDIR}/Config-Tiny-${PV}"
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/R/RS/RSAVAGE/Config-Tiny-${PV}.tgz"
-
-SRC_URI[sha256sum] = "3de79b0ea03a8d6a93e9d9128fe845fb556222b14699a4f6f0d5ca057ae3333b"
-
-inherit cpan
diff --git a/meta-openembedded/meta-perl/recipes-perl/libconfig-tiny/libconfig-tiny-perl_2.30.bb b/meta-openembedded/meta-perl/recipes-perl/libconfig-tiny/libconfig-tiny-perl_2.30.bb
new file mode 100644
index 0000000..ccdc1e0
--- /dev/null
+++ b/meta-openembedded/meta-perl/recipes-perl/libconfig-tiny/libconfig-tiny-perl_2.30.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Perl module for read/write .ini style files"
+DESCRIPTION = "Config::Tiny is a Perl class to read and write .ini \
+configuration files with as little code as possible, reducing load time and \
+memory overhead."
+
+HOMEPAGE = "https://search.cpan.org/dist/Config-Tiny"
+SECTION = "libraries"
+
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ab27c3cedbdb0eb6e656a8722476191a"
+
+RDEPENDS:${PN} += "perl"
+
+S = "${WORKDIR}/Config-Tiny-${PV}"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/R/RS/RSAVAGE/Config-Tiny-${PV}.tgz"
+
+SRC_URI[sha256sum] = "b2f7345619b3b8e636dd39ea010731c9dc2bfb8f022bcbd86ae6ad17866e110d"
+
+inherit cpan
diff --git a/meta-openembedded/meta-perl/recipes-perl/libconfig/libconfig-autoconf-perl_0.319.bb b/meta-openembedded/meta-perl/recipes-perl/libconfig/libconfig-autoconf-perl_0.319.bb
index 5db0bb4..5c3701f 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libconfig/libconfig-autoconf-perl_0.319.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libconfig/libconfig-autoconf-perl_0.319.bb
@@ -38,4 +38,4 @@
inherit cpan ptest-perl
-BBCLASSEXTEND = "native nativesdk"
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.72.bb b/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.72.bb
deleted file mode 100644
index 975034a..0000000
--- a/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.72.bb
+++ /dev/null
@@ -1,55 +0,0 @@
-SUMMARY = "A Perl DBI driver for SQLite"
-DESCRIPTION = "DBD::SQLite is a Perl DBI driver for SQLite, that includes the entire \
-thing in the distribution. So in order to get a fast transaction capable \
-RDBMS working for your perl project you simply have to install this \
-module, and nothing else. \
-"
-HOMEPAGE = "https://metacpan.org/release/DBD-SQLite"
-
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1726e2117494ba3e13e1c3d93f795360"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/I/IS/ISHIGAKI/DBD-SQLite-${PV}.tar.gz \
- file://sqlite-perl-test.pl \
-"
-
-SRC_URI[sha256sum] = "5ca41e61eb52b52bd862a3088b912a75fe70910ac789b9a9983e0a449e94f551"
-
-UPSTREAM_CHECK_REGEX = "DBD\-SQLite\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
-
-S = "${WORKDIR}/DBD-SQLite-${PV}"
-
-DEPENDS += "libdbi-perl-native"
-
-inherit cpan ptest-perl
-
-RDEPENDS:${PN} += "libdbi-perl \
- sqlite3 \
- perl-module-constant \
- perl-module-locale \
- perl-module-tie-hash \
-"
-
-do_install:append() {
- if [ ${PERL_DBM_TEST} = "1" ]; then
- install -m 755 -D ${WORKDIR}/sqlite-perl-test.pl ${D}/${bindir}/sqlite-perl-test.pl
- fi
-}
-
-do_install_ptest() {
- cp -r ${B}/MANIFEST ${D}${PTEST_PATH}
- chown -R root:root ${D}${PTEST_PATH}
-}
-
-RDEPENDS:${PN}-ptest += " \
- libtest-nowarnings-perl \
- perl-module-lib \
- perl-module-encode \
- perl-module-file-spec \
- perl-module-file-spec-functions \
- perl-module-findbin \
- perl-module-test-more \
- "
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.74.bb b/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.74.bb
new file mode 100644
index 0000000..7e38da8
--- /dev/null
+++ b/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.74.bb
@@ -0,0 +1,55 @@
+SUMMARY = "A Perl DBI driver for SQLite"
+DESCRIPTION = "DBD::SQLite is a Perl DBI driver for SQLite, that includes the entire \
+thing in the distribution. So in order to get a fast transaction capable \
+RDBMS working for your perl project you simply have to install this \
+module, and nothing else. \
+"
+HOMEPAGE = "https://metacpan.org/release/DBD-SQLite"
+
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1726e2117494ba3e13e1c3d93f795360"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/I/IS/ISHIGAKI/DBD-SQLite-${PV}.tar.gz \
+ file://sqlite-perl-test.pl \
+"
+
+SRC_URI[sha256sum] = "8994997d84b9feb4547795f78746c661fb72e3cb6a25dbdd789b731f5688a4dd"
+
+UPSTREAM_CHECK_REGEX = "DBD\-SQLite\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
+
+S = "${WORKDIR}/DBD-SQLite-${PV}"
+
+DEPENDS += "libdbi-perl-native"
+
+inherit cpan ptest-perl
+
+RDEPENDS:${PN} += "libdbi-perl \
+ sqlite3 \
+ perl-module-constant \
+ perl-module-locale \
+ perl-module-tie-hash \
+"
+
+do_install:append() {
+ if [ ${PERL_DBM_TEST} = "1" ]; then
+ install -m 755 -D ${WORKDIR}/sqlite-perl-test.pl ${D}/${bindir}/sqlite-perl-test.pl
+ fi
+}
+
+do_install_ptest() {
+ cp -r ${B}/MANIFEST ${D}${PTEST_PATH}
+ chown -R root:root ${D}${PTEST_PATH}
+}
+
+RDEPENDS:${PN}-ptest += " \
+ libtest-nowarnings-perl \
+ perl-module-lib \
+ perl-module-encode \
+ perl-module-file-spec \
+ perl-module-file-spec-functions \
+ perl-module-findbin \
+ perl-module-test-more \
+ "
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.19.bb b/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.19.bb
deleted file mode 100644
index fd47543..0000000
--- a/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.19.bb
+++ /dev/null
@@ -1,108 +0,0 @@
-# NOTE:
-# You should use perl-module-encode rather than this package
-# unless you specifically need a version newer than what is
-# provided by perl.
-
-SUMMARY = "Encode - character encodings"
-DESCRIPTION = "The \"Encode\" module provides the interfaces between \
-Perl's strings and the rest of the system. Perl strings are sequences \
-of characters."
-
-HOMEPAGE = "https://metacpan.org/release/Encode"
-SECTION = "lib"
-LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
-LIC_FILES_CHKSUM = "file://META.json;beginline=8;endline=10;md5=b12e3be1e17a7e99ca4f429ff32c28b5"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/D/DA/DANKOGAI/Encode-${PV}.tar.gz"
-SRC_URI[sha256sum] = "9163f848eef69e4d4cc8838397f0861fd9ea7ede001117dbd9694f8d95052ef5"
-
-UPSTREAM_CHECK_REGEX = "Encode\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
-
-S = "${WORKDIR}/Encode-${PV}"
-
-#EXTRA_CPANFLAGS:append = "PERL=../recipe-sysroot-native/usr/bin/perl-native/perl"
-inherit cpan ptest-perl
-do_install:prepend() {
- # Requires "-T" (taint) option on command line
- rm -rf ${B}/t/taint.t
- # Circular dependency of perl-module-open on perl-module-encode
- # and we cannot load perl-module-encode because we are providing
- # an alternative
- rm -rf ${B}/t/use-Encode-Alias.t
-}
-
-do_install:append() {
- sed -i -e "s|${STAGING_BINDIR_NATIVE}/perl-native||g" ${S}/*/*.exh ${S}/*.exh
-}
-
-do_install_ptest() {
- mkdir ${D}${PTEST_PATH}/bin
- cp -r ${B}/bin/piconv ${D}${PTEST_PATH}/bin
- cp -r ${B}/blib ${D}${PTEST_PATH}
- chown -R root:root ${D}${PTEST_PATH}
-}
-
-# file /usr/bin/enc2xs from install of perl-misc-5.24.1-r0.i586 conflicts with file from package libencode-perl-2.94-r0.i586
-# file /usr/bin/encguess from install of perl-misc-5.24.1-r0.i586 conflicts with file from package libencode-perl-2.94-r0.i586
-# file /usr/bin/piconv from install of perl-misc-5.24.1-r0.i586 conflicts with file from package libencode-perl-2.94-r0.i586
-RCONFLICTS:${PN} = "perl-misc perl-module-encode"
-
-RDEPENDS:${PN} += " \
- perl-module-bytes \
- perl-module-constant \
- perl-module-parent \
- perl-module-storable \
- perl-module-xsloader \
- "
-
-RPROVIDES:${PN} += " \
- libencode-alias-perl \
- libencode-byte-perl \
- libencode-cjkconstants-perl \
- libencode-cn-perl \
- libencode-cn-hz-perl \
- libencode-config-perl \
- libencode-ebcdic-perl \
- libencode-encoder-perl \
- libencode-encoding-perl \
- libencode-gsm0338-perl \
- libencode-guess-perl \
- libencode-jp-perl \
- libencode-jp-h2z-perl \
- libencode-jp-jis7-perl \
- libencode-kr-perl \
- libencode-kr-2022_kr-perl \
- libencode-mime-header-perl \
- libencode-mime-name-perl \
- libencode-symbol-perl \
- libencode-tw-perl \
- libencode-unicode-perl \
- libencode-unicode-utf7-perl \
- libencoding-perl \
- libencode-internal-perl \
- libencode-mime-header-iso_2022_jp-perl \
- libencode-utf8-perl \
- libencode-utf_ebcdic-perl \
- "
-
-RDEPENDS:${PN}-ptest += " \
- perl-module-blib \
- perl-module-charnames \
- perl-module-file-compare \
- perl-module-file-copy \
- perl-module-filehandle \
- perl-module-findbin \
- perl-module-integer \
- perl-module-io-select \
- perl-module-ipc-open3 \
- perl-module-mime-base64 \
- perl-module-perlio \
- perl-module-perlio-encoding \
- perl-module-perlio-scalar \
- perl-module-test-more \
- perl-module-tie-scalar \
- perl-module-unicore \
- perl-module-utf8 \
- "
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.20.bb b/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.20.bb
new file mode 100644
index 0000000..6a08342
--- /dev/null
+++ b/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.20.bb
@@ -0,0 +1,108 @@
+# NOTE:
+# You should use perl-module-encode rather than this package
+# unless you specifically need a version newer than what is
+# provided by perl.
+
+SUMMARY = "Encode - character encodings"
+DESCRIPTION = "The \"Encode\" module provides the interfaces between \
+Perl's strings and the rest of the system. Perl strings are sequences \
+of characters."
+
+HOMEPAGE = "https://metacpan.org/release/Encode"
+SECTION = "lib"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
+LIC_FILES_CHKSUM = "file://META.json;beginline=8;endline=10;md5=b12e3be1e17a7e99ca4f429ff32c28b5"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/D/DA/DANKOGAI/Encode-${PV}.tar.gz"
+SRC_URI[sha256sum] = "ced8fc06c54c05f227bfd9db38c1ed48a5a295db89f497d42b335afbf1f73517"
+
+UPSTREAM_CHECK_REGEX = "Encode\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
+
+S = "${WORKDIR}/Encode-${PV}"
+
+#EXTRA_CPANFLAGS:append = "PERL=../recipe-sysroot-native/usr/bin/perl-native/perl"
+inherit cpan ptest-perl
+do_install:prepend() {
+ # Requires "-T" (taint) option on command line
+ rm -rf ${B}/t/taint.t
+ # Circular dependency of perl-module-open on perl-module-encode
+ # and we cannot load perl-module-encode because we are providing
+ # an alternative
+ rm -rf ${B}/t/use-Encode-Alias.t
+}
+
+do_install:append() {
+ sed -i -e "s|${STAGING_BINDIR_NATIVE}/perl-native||g" ${S}/*/*.exh ${S}/*.exh
+}
+
+do_install_ptest() {
+ mkdir ${D}${PTEST_PATH}/bin
+ cp -r ${B}/bin/piconv ${D}${PTEST_PATH}/bin
+ cp -r ${B}/blib ${D}${PTEST_PATH}
+ chown -R root:root ${D}${PTEST_PATH}
+}
+
+# file /usr/bin/enc2xs from install of perl-misc-5.24.1-r0.i586 conflicts with file from package libencode-perl-2.94-r0.i586
+# file /usr/bin/encguess from install of perl-misc-5.24.1-r0.i586 conflicts with file from package libencode-perl-2.94-r0.i586
+# file /usr/bin/piconv from install of perl-misc-5.24.1-r0.i586 conflicts with file from package libencode-perl-2.94-r0.i586
+RCONFLICTS:${PN} = "perl-misc perl-module-encode"
+
+RDEPENDS:${PN} += " \
+ perl-module-bytes \
+ perl-module-constant \
+ perl-module-parent \
+ perl-module-storable \
+ perl-module-xsloader \
+ "
+
+RPROVIDES:${PN} += " \
+ libencode-alias-perl \
+ libencode-byte-perl \
+ libencode-cjkconstants-perl \
+ libencode-cn-perl \
+ libencode-cn-hz-perl \
+ libencode-config-perl \
+ libencode-ebcdic-perl \
+ libencode-encoder-perl \
+ libencode-encoding-perl \
+ libencode-gsm0338-perl \
+ libencode-guess-perl \
+ libencode-jp-perl \
+ libencode-jp-h2z-perl \
+ libencode-jp-jis7-perl \
+ libencode-kr-perl \
+ libencode-kr-2022_kr-perl \
+ libencode-mime-header-perl \
+ libencode-mime-name-perl \
+ libencode-symbol-perl \
+ libencode-tw-perl \
+ libencode-unicode-perl \
+ libencode-unicode-utf7-perl \
+ libencoding-perl \
+ libencode-internal-perl \
+ libencode-mime-header-iso_2022_jp-perl \
+ libencode-utf8-perl \
+ libencode-utf_ebcdic-perl \
+ "
+
+RDEPENDS:${PN}-ptest += " \
+ perl-module-blib \
+ perl-module-charnames \
+ perl-module-file-compare \
+ perl-module-file-copy \
+ perl-module-filehandle \
+ perl-module-findbin \
+ perl-module-integer \
+ perl-module-io-select \
+ perl-module-ipc-open3 \
+ perl-module-mime-base64 \
+ perl-module-perlio \
+ perl-module-perlio-encoding \
+ perl-module-perlio-scalar \
+ perl-module-test-more \
+ perl-module-tie-scalar \
+ perl-module-unicore \
+ perl-module-utf8 \
+ "
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-cppguess-perl_0.26.bb b/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-cppguess-perl_0.26.bb
deleted file mode 100644
index 04a29fd..0000000
--- a/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-cppguess-perl_0.26.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "ExtUtils::CppGuess - guess C++ compiler and flags"
-DESCRIPTION = "ExtUtils::CppGuess attempts to guess the system's C++ \
-compiler that is compatible with the C compiler that your perl was built \
-with. \
-It can generate the necessary options to the Module::Build constructor or \
-to ExtUtils::MakeMaker's WriteMakefile function."
-SECTION = "libs"
-
-HOMEPAGE = "http://search.cpan.org/~smueller/ExtUtils-CppGuess/"
-
-LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
-LIC_FILES_CHKSUM = "file://README;beginline=81;endline=84;md5=84c0390b90ea8c6702ce659b67bed699"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/E/ET/ETJ/ExtUtils-CppGuess-${PV}.tar.gz"
-SRC_URI[sha256sum] = "c8b362b860172a4076acee00438f52b86464f2c500702cfcf7527811ff9a683e"
-
-S = "${WORKDIR}/ExtUtils-CppGuess-${PV}"
-
-inherit cpan
-
-do_install () {
- cpan_do_install
-}
-
-RDEPENDS:${PN} = " libcapture-tiny-perl \
- perl-module-scalar-util \
- perl-module-io-file \
- perl-module-extutils-makemaker \
- perl-module-file-spec \
- perl-module-exporter \
- perl-module-carp \
- perl-module-file-temp \
- perl-module-lib \
-"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-cppguess-perl_0.27.bb b/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-cppguess-perl_0.27.bb
new file mode 100644
index 0000000..45b7726
--- /dev/null
+++ b/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-cppguess-perl_0.27.bb
@@ -0,0 +1,36 @@
+SUMMARY = "ExtUtils::CppGuess - guess C++ compiler and flags"
+DESCRIPTION = "ExtUtils::CppGuess attempts to guess the system's C++ \
+compiler that is compatible with the C compiler that your perl was built \
+with. \
+It can generate the necessary options to the Module::Build constructor or \
+to ExtUtils::MakeMaker's WriteMakefile function."
+SECTION = "libs"
+
+HOMEPAGE = "http://search.cpan.org/~smueller/ExtUtils-CppGuess/"
+
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
+LIC_FILES_CHKSUM = "file://README;beginline=81;endline=84;md5=84c0390b90ea8c6702ce659b67bed699"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/E/ET/ETJ/ExtUtils-CppGuess-${PV}.tar.gz"
+SRC_URI[sha256sum] = "b2c7b581901054a32dfcea12536fda8626457ed0bfbc02600bd354bde7e2a9b4"
+
+S = "${WORKDIR}/ExtUtils-CppGuess-${PV}"
+
+inherit cpan
+
+do_install () {
+ cpan_do_install
+}
+
+RDEPENDS:${PN} = " libcapture-tiny-perl \
+ perl-module-scalar-util \
+ perl-module-io-file \
+ perl-module-extutils-makemaker \
+ perl-module-file-spec \
+ perl-module-exporter \
+ perl-module-carp \
+ perl-module-file-temp \
+ perl-module-lib \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.083.bb b/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.083.bb
deleted file mode 100644
index 4d793a4..0000000
--- a/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.083.bb
+++ /dev/null
@@ -1,56 +0,0 @@
-SUMMARY = "Perl library for transparent SSL"
-DESCRIPTION = "This module is a true drop-in replacement for IO::Socket::INET that \
-uses SSL to encrypt data before it is transferred to a remote server \
-or client. IO::Socket::SSL supports all the extra features that one \
-needs to write a full-featured SSL client or server application: \
-multiple SSL contexts, cipher selection, certificate verification, and \
-SSL version selection. As an extra bonus, it works perfectly with \
-mod_perl."
-HOMEPAGE = "http://search.cpan.org/dist/IO-Socket-SSL/"
-SECTION = "libs"
-
-LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
-LIC_FILES_CHKSUM = "file://META.yml;beginline=12;endline=12;md5=963ce28228347875ace682de56eef8e8"
-
-RDEPENDS:${PN} += "\
- libmozilla-ca-perl \
- libnet-ssleay-perl \
- perl-module-autoloader \
- perl-module-io-socket \
- perl-module-scalar-util \
-"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/S/SU/SULLR/IO-Socket-SSL-${PV}.tar.gz"
-SRC_URI[sha256sum] = "904ef28765440a97d8a9a0df597f8c3d7f3cb0a053d1b082c10bed03bc802069"
-
-S = "${WORKDIR}/IO-Socket-SSL-${PV}"
-
-inherit cpan ptest-perl
-
-do_install:append () {
- mkdir -p ${D}${docdir}/${PN}/
- cp ${S}/BUGS ${D}${docdir}/${PN}/
- cp ${S}/Changes ${D}${docdir}/${PN}/
- cp ${S}/README ${D}${docdir}/${PN}/
- cp -pRP ${S}/docs ${D}${docdir}/${PN}/
- cp -pRP ${S}/t/certs ${D}${docdir}/${PN}/
- cp -pRP ${S}/example ${D}${docdir}/${PN}/
-}
-
-RDEPENDS:${PN}-ptest += "\
- libnet-idn-encode \
- liburi-perl \
- perl-module-file-glob \
- perl-module-findbin \
- perl-module-io-socket-inet \
- perl-module-io-socket-ip \
- perl-module-perlio \
- perl-module-perlio-scalar \
- perl-module-test-more \
-"
-
-do_install_ptest:append () {
- cp -r ${B}/t/certs ${D}${PTEST_PATH}
-}
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.084.bb b/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.084.bb
new file mode 100644
index 0000000..c4fcc5e
--- /dev/null
+++ b/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.084.bb
@@ -0,0 +1,54 @@
+SUMMARY = "Perl library for transparent SSL"
+DESCRIPTION = "This module is a true drop-in replacement for IO::Socket::INET that \
+uses SSL to encrypt data before it is transferred to a remote server \
+or client. IO::Socket::SSL supports all the extra features that one \
+needs to write a full-featured SSL client or server application: \
+multiple SSL contexts, cipher selection, certificate verification, and \
+SSL version selection. As an extra bonus, it works perfectly with \
+mod_perl."
+HOMEPAGE = "http://search.cpan.org/dist/IO-Socket-SSL/"
+SECTION = "libs"
+
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
+LIC_FILES_CHKSUM = "file://META.yml;beginline=12;endline=12;md5=963ce28228347875ace682de56eef8e8"
+
+RDEPENDS:${PN} += "\
+ libmozilla-ca-perl \
+ libnet-ssleay-perl \
+ perl-module-autoloader \
+ perl-module-io-socket \
+ perl-module-scalar-util \
+"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/S/SU/SULLR/IO-Socket-SSL-${PV}.tar.gz"
+SRC_URI[sha256sum] = "a60d1e04e192363155329560498abd3412c3044295dae092d27fb6e445c71ce1"
+
+S = "${WORKDIR}/IO-Socket-SSL-${PV}"
+
+inherit cpan ptest-perl
+
+do_install:append () {
+ mkdir -p ${D}${docdir}/${PN}/
+ cp ${S}/BUGS ${D}${docdir}/${PN}/
+ cp ${S}/Changes ${D}${docdir}/${PN}/
+ cp ${S}/README ${D}${docdir}/${PN}/
+ cp -pRP ${S}/docs ${D}${docdir}/${PN}/
+ cp -pRP ${S}/t/certs ${D}${docdir}/${PN}/
+ cp -pRP ${S}/example ${D}${docdir}/${PN}/
+}
+
+RDEPENDS:${PN}-ptest += "\
+ libnet-idn-encode \
+ liburi-perl \
+ perl-module-file-glob \
+ perl-module-findbin \
+ perl-module-io-socket-inet \
+ perl-module-io-socket-ip \
+ perl-module-perlio \
+ perl-module-perlio-scalar \
+ perl-module-test-more \
+"
+
+do_install_ptest:append () {
+ cp -r ${B}/t/certs ${D}${PTEST_PATH}
+}
diff --git a/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-tiny-perl_0.046.bb b/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-tiny-perl_0.046.bb
deleted file mode 100644
index 1e23d87..0000000
--- a/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-tiny-perl_0.046.bb
+++ /dev/null
@@ -1,65 +0,0 @@
-SUMMARY = "Module::Build::Tiny - A tiny replacement for Module::Build"
-DESCRIPTION = "Many Perl distributions use a Build.PL file instead of a \
-Makefile.PL file to drive distribution configuration, build, test and \
-installation. Traditionally, Build.PL uses Module::Build as the underlying \
-build system. This module provides a simple, lightweight, drop-in replacement. \
-Whereas Module::Build has over 6,700 lines of code; this module has less than \
-120, yet supports the features needed by most distributions."
-SECTION = "libs"
-
-HOMEPAGE = "http://search.cpan.org/~leont/Module-Build-Tiny/"
-
-LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=147a7b891d1584d3d33e478b1f2327c5"
-
-DEPENDS = "libextutils-config-perl-native libextutils-helpers-perl-native libextutils-installpaths-perl-native"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/Module-Build-Tiny-${PV}.tar.gz"
-SRC_URI[sha256sum] = "be193027e2debb4c9926434aaf1aa46c9fc7bf4db83dcc347eb6e359ee878289"
-
-S = "${WORKDIR}/Module-Build-Tiny-${PV}"
-
-inherit cpan_build ptest-perl
-
-RDEPENDS:${PN} += " \
- libextutils-config-perl \
- libextutils-helpers-perl \
- libextutils-installpaths-perl \
- perl-module-carp \
- perl-module-cpan \
- perl-module-data-dumper \
- perl-module-encode-encoding \
- perl-module-exporter \
- perl-module-extutils-cbuilder \
- perl-module-extutils-cbuilder-base \
- perl-module-extutils-install \
- perl-module-extutils-makemaker \
- perl-module-extutils-parsexs \
- perl-module-file-path \
- perl-module-file-spec \
- perl-module-file-temp \
- perl-module-getopt-long \
- perl-module-io-handle \
- perl-module-ipc-cmd \
- perl-module-json-pp \
- perl-module-load \
- perl-module-metadata \
- perl-module-parse-cpan-meta \
- perl-module-perl-ostype \
- perl-module-pod-man \
- perl-module-tap-harness-env \
- perl-module-test-more \
- perl-module-text-parsewords \
- perl-module-xsloader \
-"
-
-RDEPENDS:${PN}-ptest += " \
- packagegroup-core-buildessential \
- perl-dev \
- perl-module-blib \
- perl-module-ipc-open2 \
-"
-
-INSANE_SKIP:${PN}-ptest += "dev-deps"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-tiny-perl_0.047.bb b/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-tiny-perl_0.047.bb
new file mode 100644
index 0000000..db765b8
--- /dev/null
+++ b/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-tiny-perl_0.047.bb
@@ -0,0 +1,65 @@
+SUMMARY = "Module::Build::Tiny - A tiny replacement for Module::Build"
+DESCRIPTION = "Many Perl distributions use a Build.PL file instead of a \
+Makefile.PL file to drive distribution configuration, build, test and \
+installation. Traditionally, Build.PL uses Module::Build as the underlying \
+build system. This module provides a simple, lightweight, drop-in replacement. \
+Whereas Module::Build has over 6,700 lines of code; this module has less than \
+120, yet supports the features needed by most distributions."
+SECTION = "libs"
+
+HOMEPAGE = "http://search.cpan.org/~leont/Module-Build-Tiny/"
+
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2b9e8b5e2bd19fcc97ac84b78a271a64"
+
+DEPENDS = "libextutils-config-perl-native libextutils-helpers-perl-native libextutils-installpaths-perl-native"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/Module-Build-Tiny-${PV}.tar.gz"
+SRC_URI[sha256sum] = "71260e9421b93c33dd1b3e7d0cf15f759c0ca7c753fa840279ec3be70f8f8c9d"
+
+S = "${WORKDIR}/Module-Build-Tiny-${PV}"
+
+inherit cpan_build ptest-perl
+
+RDEPENDS:${PN} += " \
+ libextutils-config-perl \
+ libextutils-helpers-perl \
+ libextutils-installpaths-perl \
+ perl-module-carp \
+ perl-module-cpan \
+ perl-module-data-dumper \
+ perl-module-encode-encoding \
+ perl-module-exporter \
+ perl-module-extutils-cbuilder \
+ perl-module-extutils-cbuilder-base \
+ perl-module-extutils-install \
+ perl-module-extutils-makemaker \
+ perl-module-extutils-parsexs \
+ perl-module-file-path \
+ perl-module-file-spec \
+ perl-module-file-temp \
+ perl-module-getopt-long \
+ perl-module-io-handle \
+ perl-module-ipc-cmd \
+ perl-module-json-pp \
+ perl-module-load \
+ perl-module-metadata \
+ perl-module-parse-cpan-meta \
+ perl-module-perl-ostype \
+ perl-module-pod-man \
+ perl-module-tap-harness-env \
+ perl-module-test-more \
+ perl-module-text-parsewords \
+ perl-module-xsloader \
+"
+
+RDEPENDS:${PN}-ptest += " \
+ packagegroup-core-buildessential \
+ perl-dev \
+ perl-module-blib \
+ perl-module-ipc-open2 \
+"
+
+INSANE_SKIP:${PN}-ptest += "dev-deps"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.40.bb b/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.40.bb
index 6561613..e30125a 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.40.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.40.bb
@@ -62,4 +62,3 @@
d.getVar('TCLIBC'))
}
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-idn-encode/Net-IDN-Encode-2.500-use_uvchr_to_utf8_flags_instead_of_uvuni_to_utf8_flags.patch b/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-idn-encode/Net-IDN-Encode-2.500-use_uvchr_to_utf8_flags_instead_of_uvuni_to_utf8_flags.patch
new file mode 100644
index 0000000..f0e9010
--- /dev/null
+++ b/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-idn-encode/Net-IDN-Encode-2.500-use_uvchr_to_utf8_flags_instead_of_uvuni_to_utf8_flags.patch
@@ -0,0 +1,36 @@
+Subject: [PATCH] use uvchr_to_utf8_flags instead of uvuni_to_utf8_flags (which is removed in perl 5.38.0)
+
+https://perldoc.perl.org/5.36.0/perlintern#uvuni_to_utf8_flags
+Signed-off-by: Shin Kojima <shin@kojima.org>
+Upstream-Status: Submitted [https://github.com/cfaerber/Net-IDN-Encode/pull/11]
+---
+ lib/Net/IDN/Punycode.xs | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/lib/Net/IDN/Punycode.xs b/lib/Net/IDN/Punycode.xs
+index 211ef9c..36530dd 100644
+--- a/lib/Net/IDN/Punycode.xs
++++ b/lib/Net/IDN/Punycode.xs
+@@ -24,6 +24,10 @@
+ #define utf8_to_uvchr_buf(in_p,in_e,u8) utf8_to_uvchr(in_p,u8);
+ #endif
+
++#ifndef uvchr_to_utf8_flags
++#define uvchr_to_utf8_flags(d, uv, flags) uvuni_to_utf8_flags(d, uv, flags);
++#endif
++
+ static char enc_digit[BASE] = {
+ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
+ 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
+@@ -253,7 +257,7 @@ decode_punycode(input)
+ if(skip_p < re_p) /* move succeeding chars */
+ Move(skip_p, skip_p + u8, re_p - skip_p, char);
+ re_p += u8;
+- uvuni_to_utf8_flags((U8*)skip_p, n, UNICODE_ALLOW_ANY);
++ uvchr_to_utf8_flags((U8*)skip_p, n, UNICODE_ALLOW_ANY);
+ }
+
+ if(!first) SvUTF8_on(RETVAL); /* UTF-8 chars have been inserted */
+--
+2.41.0
+
diff --git a/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-idn-encode_2.500.bb b/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-idn-encode_2.500.bb
index ce3b75b..7f33fd2 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-idn-encode_2.500.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-idn-encode_2.500.bb
@@ -7,7 +7,9 @@
LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
LIC_FILES_CHKSUM = "file://LICENSE;md5=8ea5704cf65ca4ec6e9e167fb94f14dd"
-SRC_URI = "${CPAN_MIRROR}/authors/id/C/CF/CFAERBER/Net-IDN-Encode-${PV}.tar.gz"
+SRC_URI = "${CPAN_MIRROR}/authors/id/C/CF/CFAERBER/Net-IDN-Encode-${PV}.tar.gz \
+ file://Net-IDN-Encode-2.500-use_uvchr_to_utf8_flags_instead_of_uvuni_to_utf8_flags.patch \
+"
SRC_URI[sha256sum] = "55453633e3ff24ce325b34bc2c8157b9859962a31ab5cf28bf7ccc1c9b3a3eaa"
S = "${WORKDIR}/Net-IDN-Encode-${PV}"
@@ -20,4 +22,4 @@
BBCLASSEXTEND = "native"
-RDEPENDS:${PN} += "perl-module-unicode-normalize"
+RDEPENDS:${PN} += "perl-module-unicode-normalize perl-module-encode-encoding"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ldap-perl_0.68.bb b/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ldap-perl_0.68.bb
index dcc5ea8..a77381d 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ldap-perl_0.68.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ldap-perl_0.68.bb
@@ -41,5 +41,3 @@
perl-module-perlio \
perl-module-test-more \
"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libstatgrab/libunix-statgrab_0.112.bb b/meta-openembedded/meta-perl/recipes-perl/libstatgrab/libunix-statgrab_0.112.bb
index c568ade..cf290d9 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libstatgrab/libunix-statgrab_0.112.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libstatgrab/libunix-statgrab_0.112.bb
@@ -37,4 +37,3 @@
inherit cpan pkgconfig ptest-perl
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-harness-perl_3.47.bb b/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-harness-perl_3.47.bb
deleted file mode 100644
index 836c966..0000000
--- a/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-harness-perl_3.47.bb
+++ /dev/null
@@ -1,119 +0,0 @@
-# NOTE:
-# You should use perl-module-test-harness instead of this package,
-# unless you specifically need a newer version than what is provided
-# by perl in oe-core.
-
-SUMMARY = "Test::Harness - Run Perl standard test scripts with statistics"
-DESCRIPTION = "Although, for historical reasons, the Test::Harness \
-distribution takes its name from this module it now exists only to provide \
-TAP::Harness with an interface that is somewhat backwards compatible \
-with Test::Harness 2.xx. If you're writing new code consider using \
-TAP::Harness directly instead. \
-\
-Emulation is provided for runtests and execute_tests but the \
-pluggable 'Straps' interface that previous versions of Test::Harness \
-supported is not reproduced here. Straps is now available as a stand \
-alone module: Test::Harness::Straps. \
-\
-See TAP::Parser, TAP::Harness for the main documentation for this \
-distribution."
-
-SECTION = "libs"
-
-HOMEPAGE = "http://testanything.org"
-
-LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
-LIC_FILES_CHKSUM = "file://README;beginline=29;endline=30;md5=d41d8cd98f00b204e9800998ecf8427e"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/Test-Harness-${PV}.tar.gz"
-SRC_URI[sha256sum] = "bb31cd4aa90ad4e15f32b08476fb5123b4f19ed0cd28a3291242e8858bf986b5"
-
-UPSTREAM_CHECK_REGEX = "Test\-Harness\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
-
-S = "${WORKDIR}/Test-Harness-${PV}"
-
-inherit cpan ptest-perl
-
-RDEPENDS:${PN} += "\
- perl-module-benchmark \
-"
-
-RPROVIDES:${PN} += "libapp-prove-perl \
- libapp-prove-state-perl \
- libapp-prove-state-result-perl \
- libapp-prove-state-result-test-perl \
- libtap-base-perl \
- libtap-formatter-base-perl \
- libtap-formatter-color-perl \
- libtap-formatter-console-perl \
- libtap-formatter-console-parallelsession-perl \
- libtap-formatter-console-session-perl \
- libtap-formatter-file-perl \
- libtap-formatter-file-session-perl \
- libtap-formatter-session-perl \
- libtap-harness-perl \
- libtap-harness-env-perl \
- libtap-object-perl \
- libtap-parser-perl \
- libtap-parser-aggregator-perl \
- libtap-parser-grammar-perl \
- libtap-parser-iterator-perl \
- libtap-parser-iterator-array-perl \
- libtap-parser-iterator-process-perl \
- libtap-parser-iterator-stream-perl \
- libtap-parser-iteratorfactory-perl \
- libtap-parser-multiplexer-perl \
- libtap-parser-result-perl \
- libtap-parsser-result-bailout-perl \
- libtap-parser-result-comment-perl \
- libtap-parser-result-plan-perl \
- libtap-parser-result-pragma-perl \
- libtap-parser-result-test-perl \
- libtap-parser-result-unknown-perl \
- libtap-parser-result-version-perl \
- libtap-parser-result-yaml-perl \
- libtap-parser-resultfactory-perl \
- libtap-parser-scheduler-perl \
- libtap-parser-scheduler-job-perl \
- libtap-parser-scheduler-spinner-perl \
- libtap-parser-source-perl \
- libtap-parser-sourcehandler-perl \
- libtap-parser-sourcehandler-executable-perl \
- libtap-parser-sourcehandler-file-perl \
- libtap-parser-sourcehandler-handle-perl \
- libtap-parser-sourcehandler-perl-perl \
- libtap-parser-sourcehandler-rawtap-perl \
- libtap-parser-yamlish-reader-perl \
- libtap-parser-yamlish-writer-perl \
- "
-
-do_install:prepend() {
- # these tests are inappropriate on target
- rm -rf ${B}/t/000-load.t
- rm -rf ${B}/t/state.t
- # these tests require "-T" (taint) option on command line
- rm -rf ${B}/t/aggregator.t
- rm -rf ${B}/t/bailout.t
- rm -rf ${B}/t/base.t
- rm -rf ${B}/t/callbacks.t
- rm -rf ${B}/t/errors.t
- rm -rf ${B}/t/nested.t
- rm -rf ${B}/t/object.t
- rm -rf ${B}/t/premature-bailout.t
- rm -rf ${B}/t/results.t
- rm -rf ${B}/t/streams.t
- rm -rf ${B}/t/yamlish-output.t
- rm -rf ${B}/t/compat/version.t
-}
-
-do_install:append() {
- install -d ${D}/usr/local/bin
- # do not clobber perl-misc /usr/bin/prove
- install -m 0755 ${B}/bin/prove ${D}/usr/local/bin/
- rm -rf ${D}${bindir}/prove
- rm -rf ${D}${bindir}
-}
-
-FILES:${PN} += "/usr/local/bin/prove"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-harness-perl_3.48.bb b/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-harness-perl_3.48.bb
new file mode 100644
index 0000000..b14fc95
--- /dev/null
+++ b/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-harness-perl_3.48.bb
@@ -0,0 +1,119 @@
+# NOTE:
+# You should use perl-module-test-harness instead of this package,
+# unless you specifically need a newer version than what is provided
+# by perl in oe-core.
+
+SUMMARY = "Test::Harness - Run Perl standard test scripts with statistics"
+DESCRIPTION = "Although, for historical reasons, the Test::Harness \
+distribution takes its name from this module it now exists only to provide \
+TAP::Harness with an interface that is somewhat backwards compatible \
+with Test::Harness 2.xx. If you're writing new code consider using \
+TAP::Harness directly instead. \
+\
+Emulation is provided for runtests and execute_tests but the \
+pluggable 'Straps' interface that previous versions of Test::Harness \
+supported is not reproduced here. Straps is now available as a stand \
+alone module: Test::Harness::Straps. \
+\
+See TAP::Parser, TAP::Harness for the main documentation for this \
+distribution."
+
+SECTION = "libs"
+
+HOMEPAGE = "http://testanything.org"
+
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
+LIC_FILES_CHKSUM = "file://README;beginline=29;endline=30;md5=d41d8cd98f00b204e9800998ecf8427e"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/Test-Harness-${PV}.tar.gz"
+SRC_URI[sha256sum] = "e73ff89c81c1a53f6baeef6816841b89d3384403ad97422a7da9d1eeb20ef9c5"
+
+UPSTREAM_CHECK_REGEX = "Test\-Harness\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
+
+S = "${WORKDIR}/Test-Harness-${PV}"
+
+inherit cpan ptest-perl
+
+RDEPENDS:${PN} += "\
+ perl-module-benchmark \
+"
+
+RPROVIDES:${PN} += "libapp-prove-perl \
+ libapp-prove-state-perl \
+ libapp-prove-state-result-perl \
+ libapp-prove-state-result-test-perl \
+ libtap-base-perl \
+ libtap-formatter-base-perl \
+ libtap-formatter-color-perl \
+ libtap-formatter-console-perl \
+ libtap-formatter-console-parallelsession-perl \
+ libtap-formatter-console-session-perl \
+ libtap-formatter-file-perl \
+ libtap-formatter-file-session-perl \
+ libtap-formatter-session-perl \
+ libtap-harness-perl \
+ libtap-harness-env-perl \
+ libtap-object-perl \
+ libtap-parser-perl \
+ libtap-parser-aggregator-perl \
+ libtap-parser-grammar-perl \
+ libtap-parser-iterator-perl \
+ libtap-parser-iterator-array-perl \
+ libtap-parser-iterator-process-perl \
+ libtap-parser-iterator-stream-perl \
+ libtap-parser-iteratorfactory-perl \
+ libtap-parser-multiplexer-perl \
+ libtap-parser-result-perl \
+ libtap-parsser-result-bailout-perl \
+ libtap-parser-result-comment-perl \
+ libtap-parser-result-plan-perl \
+ libtap-parser-result-pragma-perl \
+ libtap-parser-result-test-perl \
+ libtap-parser-result-unknown-perl \
+ libtap-parser-result-version-perl \
+ libtap-parser-result-yaml-perl \
+ libtap-parser-resultfactory-perl \
+ libtap-parser-scheduler-perl \
+ libtap-parser-scheduler-job-perl \
+ libtap-parser-scheduler-spinner-perl \
+ libtap-parser-source-perl \
+ libtap-parser-sourcehandler-perl \
+ libtap-parser-sourcehandler-executable-perl \
+ libtap-parser-sourcehandler-file-perl \
+ libtap-parser-sourcehandler-handle-perl \
+ libtap-parser-sourcehandler-perl-perl \
+ libtap-parser-sourcehandler-rawtap-perl \
+ libtap-parser-yamlish-reader-perl \
+ libtap-parser-yamlish-writer-perl \
+ "
+
+do_install:prepend() {
+ # these tests are inappropriate on target
+ rm -rf ${B}/t/000-load.t
+ rm -rf ${B}/t/state.t
+ # these tests require "-T" (taint) option on command line
+ rm -rf ${B}/t/aggregator.t
+ rm -rf ${B}/t/bailout.t
+ rm -rf ${B}/t/base.t
+ rm -rf ${B}/t/callbacks.t
+ rm -rf ${B}/t/errors.t
+ rm -rf ${B}/t/nested.t
+ rm -rf ${B}/t/object.t
+ rm -rf ${B}/t/premature-bailout.t
+ rm -rf ${B}/t/results.t
+ rm -rf ${B}/t/streams.t
+ rm -rf ${B}/t/yamlish-output.t
+ rm -rf ${B}/t/compat/version.t
+}
+
+do_install:append() {
+ install -d ${D}/usr/local/bin
+ # do not clobber perl-misc /usr/bin/prove
+ install -m 0755 ${B}/bin/prove ${D}/usr/local/bin/
+ rm -rf ${D}${bindir}/prove
+ rm -rf ${D}${bindir}
+}
+
+FILES:${PN} += "/usr/local/bin/prove"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libtext/libtext-diff-perl/run-ptest b/meta-openembedded/meta-perl/recipes-perl/libtext/libtext-diff-perl/run-ptest
new file mode 100644
index 0000000..c65b6cf
--- /dev/null
+++ b/meta-openembedded/meta-perl/recipes-perl/libtext/libtext-diff-perl/run-ptest
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+for case in `find t -type f -name '*.t'`; do
+ perl $case >$case.output 2>&1
+ ret=$?
+ cat $case.output
+ if [ $ret -ne 0 ]; then
+ echo "FAIL: ${case%.t}"
+ elif grep -i 'SKIP' $case.output; then
+ echo "SKIP: ${case%.t}"
+ else
+ echo "PASS: ${case%.t}"
+ fi
+
+ rm -f $case.output
+done
+
+
+
diff --git a/meta-openembedded/meta-perl/recipes-perl/libtext/libtext-diff-perl_1.41.bb b/meta-openembedded/meta-perl/recipes-perl/libtext/libtext-diff-perl_1.41.bb
index afdf63e..9dfadde 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libtext/libtext-diff-perl_1.41.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libtext/libtext-diff-perl_1.41.bb
@@ -11,17 +11,24 @@
LICENSE = "Artistic-1.0 | GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://LICENSE;md5=385c55653886acac3821999a3ccd17b3"
-SRC_URI = "${CPAN_MIRROR}/authors/id/O/OV/OVID/Text-Diff-${PV}.tar.gz"
+SRC_URI = "${CPAN_MIRROR}/authors/id/O/OV/OVID/Text-Diff-${PV}.tar.gz \
+ file://run-ptest \
+ "
SRC_URI[md5sum] = "30d56e6dd5551ca16b8e16cc7299dc21"
SRC_URI[sha256sum] = "a67f50a48e313c1680cc662109ce5f913ea71454db355d0cf4db87ac89d2d2fa"
S = "${WORKDIR}/Text-Diff-${PV}"
-inherit cpan
+inherit cpan ptest
+RDEPENDS:${PN}-ptest += "perl-module-test perl-module-test-more"
RDEPENDS:${PN} = " libalgorithm-diff-perl \
perl-module-extutils-makemaker \
perl-module-exporter \
"
+do_install_ptest () {
+ cp -r ${B}/t ${D}${PTEST_PATH}
+}
+
BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/po4a/po4a_0.49.bb b/meta-openembedded/meta-perl/recipes-perl/po4a/po4a_0.49.bb
deleted file mode 100644
index 679ea0f..0000000
--- a/meta-openembedded/meta-perl/recipes-perl/po4a/po4a_0.49.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "PO for anything"
-DESCRIPTION = "The po4a (PO for anything) project goal is to ease translations \
-(and more interestingly, the maintenance of translations) using gettext tools \
-on areas where they were not expected like documentation."
-HOMEPAGE = "https://po4a.alioth.debian.org"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a96fc9b4cc36d80659e694ea109f0325"
-
-SRC_URI = "git://github.com/mquinson/po4a.git;protocol=https;branch=master"
-
-# v0.49
-SRCREV = "79ed87a577a543538fe39c7b60079981f5997072"
-
-S = "${WORKDIR}/git"
-
-DEPENDS = " \
- libmodule-build-perl-native \
- libtext-wrapi18n-perl \
- libterm-readkey-perl \
- liblocale-gettext-perl \
- libunicode-linebreak-perl \
-"
-
-RRECOMMENDS:${PN} = " \
- libtext-wrapi18n-perl \
- libterm-readkey-perl \
- liblocale-gettext-perl \
- libunicode-linebreak-perl \
-"
-
-inherit cpan_build
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/conf/include/ptest-packagelists-meta-python.inc b/meta-openembedded/meta-python/conf/include/ptest-packagelists-meta-python.inc
index c4a752a..3272d98 100644
--- a/meta-openembedded/meta-python/conf/include/ptest-packagelists-meta-python.inc
+++ b/meta-openembedded/meta-python/conf/include/ptest-packagelists-meta-python.inc
@@ -29,10 +29,13 @@
python3-prettytable \
python3-pylint \
python3-ptyprocess \
+ python3-py-cpuinfo \
python3-pyasn1-modules \
python3-pyroute2 \
python3-pyserial \
+ python3-pytest-mock \
python3-pytoml \
+ python3-rapidjson \
python3-requests-file \
python3-requests-toolbelt \
python3-semver \
@@ -70,9 +73,7 @@
python3-parse \
python3-pillow \
python3-pint \
- python3-py-cpuinfo \
python3-pytest-lazy-fixture \
- python3-pytest-mock \
python3-pyzmq \
python3-scrypt \
python3-service-identity \
diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python3-thrift_0.16.0.bb b/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python3-thrift_0.16.0.bb
index 9bb3053..63065e0 100644
--- a/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python3-thrift_0.16.0.bb
+++ b/meta-openembedded/meta-python/recipes-connectivity/python-thrift/python3-thrift_0.16.0.bb
@@ -17,4 +17,4 @@
python3-threading \
"
-BBCLASSEXTEND = "native nativesdk"
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python-jsonref/files/migrate-to-pdm-backend.patch b/meta-openembedded/meta-python/recipes-devtools/python-jsonref/files/migrate-to-pdm-backend.patch
new file mode 100644
index 0000000..805d9ed
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python-jsonref/files/migrate-to-pdm-backend.patch
@@ -0,0 +1,27 @@
+From 1b594cf12e5a69aa25f49f532c1201a6b39e280d Mon Sep 17 00:00:00 2001
+From: Leon Anavi <leon.anavi@konsulko.com>
+Date: Tue, 7 Nov 2023 10:43:32 +0000
+Subject: [PATCH] Migrate to pdm-backend
+
+Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
+---
+ pyproject.toml | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/pyproject.toml b/pyproject.toml
+index f549376..c608213 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -36,7 +36,5 @@ includes = [
+ profile = "black"
+
+ [build-system]
+-requires = [
+- "pdm-pep517>=1.0.0",
+-]
+-build-backend = "pdm.pep517.api"
++requires = ["pdm-backend"]
++build-backend = "pdm.backend"
+--
+2.39.2
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python-jsonref/python3-jsonref_1.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python-jsonref/python3-jsonref_1.0.1.bb
deleted file mode 100644
index 5b842a4..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python-jsonref/python3-jsonref_1.0.1.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "jsonref is a library for automatic dereferencing of JSON Reference objects for Python"
-HOMEPAGE = "https://github.com/gazpachoking/jsonref"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a34264f25338d41744dca1abfe4eb18f"
-
-SRC_URI[sha256sum] = "51d3e18b83ca7170ff51286a0e1a6719d8b7fcc7abdb16b189395a8536996b97"
-
-inherit pypi setuptools3
-
-BBCLASSEXTEND = "native nativesdk"
-
-RDEPENDS:${PN} += " \
- ${PYTHON_PN}-core \
- ${PYTHON_PN}-json \
- ${PYTHON_PN}-netclient \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python-jsonref/python3-jsonref_1.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python-jsonref/python3-jsonref_1.1.0.bb
new file mode 100644
index 0000000..fae1da2
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python-jsonref/python3-jsonref_1.1.0.bb
@@ -0,0 +1,23 @@
+SUMMARY = "jsonref is a library for automatic dereferencing of JSON Reference objects for Python"
+HOMEPAGE = "https://github.com/gazpachoking/jsonref"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4ac1cccee5d43e11fc4eddcf445be64a"
+
+SRC_URI[sha256sum] = "32fe8e1d85af0fdefbebce950af85590b22b60f9e95443176adbde4e1ecea552"
+
+SRC_URI += "file://migrate-to-pdm-backend.patch"
+
+inherit pypi python_setuptools_build_meta
+
+BBCLASSEXTEND = "native nativesdk"
+
+DEPENDS += " \
+ ${PYTHON_PN}-pdm-native \
+ ${PYTHON_PN}-pdm-backend-native \
+"
+
+RDEPENDS:${PN} += " \
+ ${PYTHON_PN}-core \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-netclient \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiodns_3.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiodns_3.0.0.bb
deleted file mode 100644
index 64599d4..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiodns_3.0.0.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Simple DNS resolver for asyncio"
-DESCRIPTION = "aiodns provides a simple way for doing asynchronous DNS resolutions using pycares."
-HOMEPAGE = "https://github.com/saghul/aiodns"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a565d8b5d06b9620968a135a2657b093"
-
-SRC_URI[md5sum] = "181e11935c78965de2b2b7b0e5efba8d"
-SRC_URI[sha256sum] = "946bdfabe743fceeeb093c8a010f5d1645f708a241be849e17edfb0e49e08cd6"
-
-PYPI_PACKAGE = "aiodns"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += " \
- ${PYTHON_PN}-asyncio \
- ${PYTHON_PN}-pycares \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiodns_3.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiodns_3.1.1.bb
new file mode 100644
index 0000000..5c685d7
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiodns_3.1.1.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Simple DNS resolver for asyncio"
+DESCRIPTION = "aiodns provides a simple way for doing asynchronous DNS resolutions using pycares."
+HOMEPAGE = "https://github.com/saghul/aiodns"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a565d8b5d06b9620968a135a2657b093"
+
+SRC_URI[sha256sum] = "1073eac48185f7a4150cad7f96a5192d6911f12b4fb894de80a088508c9b3a99"
+
+PYPI_PACKAGE = "aiodns"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} += " \
+ ${PYTHON_PN}-asyncio \
+ ${PYTHON_PN}-pycares \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp-jinja2_1.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp-jinja2_1.5.1.bb
index 68cbb26..4c4ed3f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp-jinja2_1.5.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp-jinja2_1.5.1.bb
@@ -11,5 +11,3 @@
${PYTHON_PN}-jinja2 \
${PYTHON_PN}-aiohttp \
"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp_3.8.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp_3.8.5.bb
deleted file mode 100644
index d04279e..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp_3.8.5.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "Async http client/server framework"
-DESCRIPTION = "Asynchronous HTTP client/server framework for asyncio and Python"
-HOMEPAGE = "https://github.com/aio-libs/aiohttp"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=748073912af33aa59430d3702aa32d41"
-
-SRC_URI[sha256sum] = "b9552ec52cc147dbf1944ac7ac98af7602e51ea2dcd076ed194ca3c0d1c7d0bc"
-
-PYPI_PACKAGE = "aiohttp"
-inherit python_setuptools_build_meta pypi
-
-RDEPENDS:${PN} = "\
- ${PYTHON_PN}-async-timeout \
- ${PYTHON_PN}-attrs \
- ${PYTHON_PN}-chardet \
- ${PYTHON_PN}-html \
- ${PYTHON_PN}-idna-ssl \
- ${PYTHON_PN}-json \
- ${PYTHON_PN}-misc \
- ${PYTHON_PN}-multidict \
- ${PYTHON_PN}-netserver \
- ${PYTHON_PN}-typing-extensions \
- ${PYTHON_PN}-yarl \
- ${PYTHON_PN}-cchardet \
- ${PYTHON_PN}-charset-normalizer \
- ${PYTHON_PN}-aiosignal \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp_3.9.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp_3.9.0.bb
new file mode 100644
index 0000000..d71f3df
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp_3.9.0.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Async http client/server framework"
+DESCRIPTION = "Asynchronous HTTP client/server framework for asyncio and Python"
+HOMEPAGE = "https://github.com/aio-libs/aiohttp"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=748073912af33aa59430d3702aa32d41"
+
+SRC_URI[sha256sum] = "09f23292d29135025e19e8ff4f0a68df078fe4ee013bca0105b2e803989de92d"
+
+PYPI_PACKAGE = "aiohttp"
+inherit python_setuptools_build_meta pypi
+
+RDEPENDS:${PN} = "\
+ ${PYTHON_PN}-async-timeout \
+ ${PYTHON_PN}-attrs \
+ ${PYTHON_PN}-chardet \
+ ${PYTHON_PN}-html \
+ ${PYTHON_PN}-idna-ssl \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-misc \
+ ${PYTHON_PN}-multidict \
+ ${PYTHON_PN}-netserver \
+ ${PYTHON_PN}-typing-extensions \
+ ${PYTHON_PN}-yarl \
+ ${PYTHON_PN}-cchardet \
+ ${PYTHON_PN}-charset-normalizer \
+ ${PYTHON_PN}-aiosignal \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.12.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.12.0.bb
deleted file mode 100644
index 78b888e..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.12.0.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-DESCRIPTION = "A database migration tool for SQLAlchemy"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e3023b042cb6002cb398344b51c67093"
-
-inherit pypi setuptools3
-
-SRC_URI[sha256sum] = "8e7645c32e4f200675e69f0745415335eb59a3663f5feb487abfa0b30c45888b"
-
-PYPI_PACKAGE = "alembic"
-
-RDEPENDS:${PN} += "\
- ${PYTHON_PN}-dateutil \
- ${PYTHON_PN}-editor \
- ${PYTHON_PN}-mako \
- ${PYTHON_PN}-sqlalchemy \
- ${PYTHON_PN}-misc \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.12.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.12.1.bb
new file mode 100644
index 0000000..107546d
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.12.1.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "A database migration tool for SQLAlchemy"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e3023b042cb6002cb398344b51c67093"
+
+inherit pypi setuptools3
+
+SRC_URI[sha256sum] = "bca5877e9678b454706347bc10b97cb7d67f300320fa5c3a94423e8266e2823f"
+
+PYPI_PACKAGE = "alembic"
+
+RDEPENDS:${PN} += "\
+ ${PYTHON_PN}-dateutil \
+ ${PYTHON_PN}-editor \
+ ${PYTHON_PN}-mako \
+ ${PYTHON_PN}-sqlalchemy \
+ ${PYTHON_PN}-misc \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-aniso8601_9.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-aniso8601_9.0.1.bb
new file mode 100644
index 0000000..3d99e48
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-aniso8601_9.0.1.bb
@@ -0,0 +1,8 @@
+DESCRIPTION = "A library for parsing ISO 8601 strings."
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=6d91d56f51a54389d95526eefe039b1c"
+
+SRC_URI[sha256sum] = "72e3117667eedf66951bb2d93f4296a56b94b078a8a95905a052611fb3f1b973"
+
+inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-argcomplete_3.1.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-argcomplete_3.1.2.bb
deleted file mode 100644
index fb66f3d..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-argcomplete_3.1.2.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Argcomplete provides easy, extensible command line tab completion of arguments for your Python script."
-HOMEPAGE = "https://github.com/kislyuk/argcomplete"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=2ee41112a44fe7014dce33e26468ba93"
-
-SRC_URI[sha256sum] = "d5d1e5efd41435260b8f85673b74ea2e883affcbec9f4230c582689e8e78251b"
-
-PYPI_PACKAGE = "argcomplete"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += "\
- ${PYTHON_PN}-core \
- ${PYTHON_PN}-io \
-"
-
-BBCLASSEXTEND = "native nativesdk"
-
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-argcomplete_3.1.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-argcomplete_3.1.6.bb
new file mode 100644
index 0000000..28dd9f9
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-argcomplete_3.1.6.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Argcomplete provides easy, extensible command line tab completion of arguments for your Python script."
+HOMEPAGE = "https://github.com/kislyuk/argcomplete"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=2ee41112a44fe7014dce33e26468ba93"
+
+SRC_URI[sha256sum] = "3b1f07d133332547a53c79437527c00be48cca3807b1d4ca5cab1b26313386a6"
+
+PYPI_PACKAGE = "argcomplete"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} += "\
+ ${PYTHON_PN}-core \
+ ${PYTHON_PN}-io \
+"
+
+BBCLASSEXTEND = "native nativesdk"
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-argh_0.29.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-argh_0.29.4.bb
deleted file mode 100644
index f67ac9d..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-argh_0.29.4.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "An unobtrusive argparse wrapper with natural syntax"
-DESCRIPTION = "Building a command-line interface? Found yourself uttering \
-'argh!' while struggling with the API of argparse? Don't like the complexity \
-but need the power? \
-\
-Everything should be made as simple as possible, but no simpler. \
-\
-—Albert Einstein (probably) \
-\
-Argh is a smart wrapper for argparse. Argparse is a very powerful \
-tool; Argh just makes it easy to use."
-
-LICENSE = "LGPL-3.0-or-later"
-LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=3000208d539ec061b899bce1d9ce9404 \
- file://README.rst;beginline=261;endline=275;md5=a8bf3475df7e0d575a53d04c83d5e090"
-
-SRC_URI[sha256sum] = "695c0ae4534270cae2697841b4a56f434a990694a00264ea10ebbbcdc02c13f7"
-
-inherit pypi python_flit_core
-
-RDEPENDS:${PN} += " \
- python3-argcomplete \
- python3-logging \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-argh_0.30.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-argh_0.30.4.bb
new file mode 100644
index 0000000..82cfa3b
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-argh_0.30.4.bb
@@ -0,0 +1,27 @@
+SUMMARY = "An unobtrusive argparse wrapper with natural syntax"
+DESCRIPTION = "Building a command-line interface? Found yourself uttering \
+'argh!' while struggling with the API of argparse? Don't like the complexity \
+but need the power? \
+\
+Everything should be made as simple as possible, but no simpler. \
+\
+—Albert Einstein (probably) \
+\
+Argh is a smart wrapper for argparse. Argparse is a very powerful \
+tool; Argh just makes it easy to use."
+
+LICENSE = "LGPL-3.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=3000208d539ec061b899bce1d9ce9404 \
+ file://README.rst;beginline=261;endline=275;md5=39ec83a704aed9f33618c5d04e478a08 \
+ "
+
+SRC_URI[sha256sum] = "9fca8e69c4dad4f8d2a7bdfbdd80b0754462b53510a03e1b5cf2b43a87e6e960"
+
+inherit pypi python_flit_core
+
+RDEPENDS:${PN} += " \
+ python3-argcomplete \
+ python3-logging \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-arrow_1.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-arrow_1.3.0.bb
new file mode 100644
index 0000000..ec49d04
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-arrow_1.3.0.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Better dates and times for Python"
+HOMEPAGE = "https://github.com/crsmithdev/arrow"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=14a2e29a9d542fb9052d75344d67619d"
+
+SRC_URI[sha256sum] = "d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85"
+
+inherit setuptools3 pypi
+
+RDEPENDS:${PN} += " \
+ ${PYTHON_PN}-dateutil \
+ "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_3.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_3.0.0.bb
deleted file mode 100644
index 2f80187..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_3.0.0.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "An abstract syntax tree for Python with inference support."
-HOMEPAGE = "https://pypi.python.org/pypi/astroid"
-SECTION = "devel/python"
-LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a70cf540abf41acb644ac3b621b2fad1"
-
-SRC_URI[sha256sum] = "1defdbca052635dd29657ea674edfc45e4b5be9cd53630c5b084fcfed94344a8"
-
-inherit pypi python_setuptools_build_meta
-
-DEPENDS += "\
- ${PYTHON_PN}-pytest-runner-native \
- ${PYTHON_PN}-wheel-native \
-"
-
-PACKAGES =+ "${PN}-tests"
-
-FILES:${PN}-tests += " \
- ${PYTHON_SITEPACKAGES_DIR}/astroid/test* \
- ${PYTHON_SITEPACKAGES_DIR}/astroid/__pycache__/test* \
-"
-
-RDEPENDS:${PN}:class-target += "\
- ${PYTHON_PN}-distutils \
- ${PYTHON_PN}-lazy-object-proxy \
- ${PYTHON_PN}-logging \
- ${PYTHON_PN}-six \
- ${PYTHON_PN}-wrapt \
- ${PYTHON_PN}-setuptools \
- ${PYTHON_PN}-typing-extensions \
-"
-
-RDEPENDS:${PN}-tests:class-target += "\
- ${PYTHON_PN}-unittest \
- ${PYTHON_PN}-xml \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_3.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_3.0.1.bb
new file mode 100644
index 0000000..db3ef43
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_3.0.1.bb
@@ -0,0 +1,38 @@
+SUMMARY = "An abstract syntax tree for Python with inference support."
+HOMEPAGE = "https://pypi.python.org/pypi/astroid"
+SECTION = "devel/python"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a70cf540abf41acb644ac3b621b2fad1"
+
+SRC_URI[sha256sum] = "86b0bb7d7da0be1a7c4aedb7974e391b32d4ed89e33de6ed6902b4b15c97577e"
+
+inherit pypi python_setuptools_build_meta
+
+DEPENDS += "\
+ ${PYTHON_PN}-pytest-runner-native \
+ ${PYTHON_PN}-wheel-native \
+"
+
+PACKAGES =+ "${PN}-tests"
+
+FILES:${PN}-tests += " \
+ ${PYTHON_SITEPACKAGES_DIR}/astroid/test* \
+ ${PYTHON_SITEPACKAGES_DIR}/astroid/__pycache__/test* \
+"
+
+RDEPENDS:${PN}:class-target += "\
+ ${PYTHON_PN}-distutils \
+ ${PYTHON_PN}-lazy-object-proxy \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-six \
+ ${PYTHON_PN}-wrapt \
+ ${PYTHON_PN}-setuptools \
+ ${PYTHON_PN}-typing-extensions \
+"
+
+RDEPENDS:${PN}-tests:class-target += "\
+ ${PYTHON_PN}-unittest \
+ ${PYTHON_PN}-xml \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-asttokens_2.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-asttokens_2.4.0.bb
deleted file mode 100644
index 3942122..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-asttokens_2.4.0.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "The asttokens module annotates Python abstract syntax trees (ASTs)"
-HOMEPAGE = "https://github.com/gristlabs/asttokens"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
-
-PYPI_PACKAGE = "asttokens"
-
-inherit pypi python_setuptools_build_meta
-
-SRC_URI[sha256sum] = "2e0171b991b2c959acc6c49318049236844a5da1d65ba2672c4880c1c894834e"
-
-DEPENDS += "python3-setuptools-scm-native"
-
-RDEPENDS:${PN} += " \
- ${PYTHON_PN}-six \
-"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-asttokens_2.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-asttokens_2.4.1.bb
new file mode 100644
index 0000000..5cc4291
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-asttokens_2.4.1.bb
@@ -0,0 +1,18 @@
+SUMMARY = "The asttokens module annotates Python abstract syntax trees (ASTs)"
+HOMEPAGE = "https://github.com/gristlabs/asttokens"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
+
+PYPI_PACKAGE = "asttokens"
+
+inherit pypi python_setuptools_build_meta
+
+SRC_URI[sha256sum] = "b03869718ba9a6eb027e134bfdf69f38a236d681c83c160d510768af11254ba0"
+
+DEPENDS += "python3-setuptools-scm-native"
+
+RDEPENDS:${PN} += " \
+ ${PYTHON_PN}-six \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-autobahn_23.6.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-autobahn_23.6.2.bb
index 54c8f23..42a8e0e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-autobahn_23.6.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-autobahn_23.6.2.bb
@@ -19,5 +19,3 @@
${PYTHON_PN}-txaio \
${PYTHON_PN}-six \
"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_23.11.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_23.11.0.bb
new file mode 100644
index 0000000..67b78c9
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_23.11.0.bb
@@ -0,0 +1,11 @@
+DESCRIPTION = "One version package to rule them all, One version package to find them, One version package to bring them all, and in the darkness bind them."
+HOMEPAGE = "https://pypi.org/project/awesomeversion/"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENCE.md;md5=92622b5a8e216099be741d78328bae5d"
+
+SRC_URI[sha256sum] = "9146329196f0f045887de6c195730750f8f7a9302d1c149378db73ab5dc468f0"
+
+RDEPENDS:${PN} += "python3-profile python3-logging"
+
+inherit pypi python_poetry_core
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_23.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_23.8.0.bb
deleted file mode 100644
index 6fd1364..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_23.8.0.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-DESCRIPTION = "One version package to rule them all, One version package to find them, One version package to bring them all, and in the darkness bind them."
-HOMEPAGE = "https://pypi.org/project/awesomeversion/"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENCE.md;md5=92622b5a8e216099be741d78328bae5d"
-
-SRC_URI[sha256sum] = "d788b2917a716adb912ba1c31b831aedd4c37858fcfe080105dc8da30c2e21c3"
-
-RDEPENDS:${PN} += "python3-profile python3-logging"
-
-inherit pypi python_poetry_core
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.7.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.7.5.bb
index bccdf28..ede7f92 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.7.5.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-bandit_1.7.5.bb
@@ -17,5 +17,3 @@
python3-six \
python3-stevedore \
"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.8.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.8.1.bb
deleted file mode 100644
index cb94df5..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.8.1.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "A high-level Python efficient arrays of booleans -- C extension"
-HOMEPAGE = "https://github.com/ilanschnell/bitarray"
-LICENSE = "PSF-2.0"
-LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=2ad702cdcd49e8d2ac01d7e7d0810d2d"
-
-SRC_URI[sha256sum] = "e68ceef35a88625d16169550768fcc8d3894913e363c24ecbf6b8c07eb02c8f3"
-
-inherit setuptools3 pypi
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.8.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.8.3.bb
new file mode 100644
index 0000000..acacdab
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.8.3.bb
@@ -0,0 +1,11 @@
+SUMMARY = "efficient arrays of booleans -- C extension"
+DESCRIPTION = "A high-level Python efficient arrays of booleans -- C extension"
+HOMEPAGE = "https://github.com/ilanschnell/bitarray"
+LICENSE = "PSF-2.0"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=2ad702cdcd49e8d2ac01d7e7d0810d2d"
+
+SRC_URI[sha256sum] = "e15587b2bdf18d32eb3ba25f5f5a51bedd0dc06b3112a4c53dab5e7753bc6588"
+
+inherit setuptools3 pypi
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstruct_8.17.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstruct_8.17.0.bb
deleted file mode 100644
index d1d30cd..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstruct_8.17.0.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-DESCRIPTION = "This module performs conversions between Python values and C bit field structs represented as Python byte strings."
-HOMEPAGE = "https://github.com/eerimoq/bitstruct"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d9aa4ec07de78abae21c490c9ffe61bd"
-
-SRC_URI[sha256sum] = "eb94b40e4218a23aa8f90406b836a9e6ed83e48b8d112ce3f96408463bd1b874"
-
-PYPI_PACKAGE = "bitstruct"
-
-inherit pypi setuptools3
-
-CLEANBROKEN = "1"
-
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstruct_8.19.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstruct_8.19.0.bb
new file mode 100644
index 0000000..6401322
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstruct_8.19.0.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "This module performs conversions between Python values and C bit field structs represented as Python byte strings."
+HOMEPAGE = "https://github.com/eerimoq/bitstruct"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d9aa4ec07de78abae21c490c9ffe61bd"
+
+SRC_URI[sha256sum] = "d75ba9dded85c17e885a209a00eb8e248ee40762149f2f2a79360ca857467dac"
+
+PYPI_PACKAGE = "bitstruct"
+
+inherit pypi setuptools3
+
+CLEANBROKEN = "1"
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-blinker_1.6.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-blinker_1.6.2.bb
deleted file mode 100644
index b0728e6..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-blinker_1.6.2.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION = "Fast, simple object-to-object and broadcast signaling."
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=42cd19c88fc13d1307a4efd64ee90e4e"
-
-SRC_URI[sha256sum] = "4afd3de66ef3a9f8067559fb7a1cbe555c17dcbe15971b05d1b625c3e7abe213"
-
-inherit pypi python_setuptools_build_meta ptest
-
-SRC_URI += "file://run-ptest"
-
-RDEPENDS:${PN} += "\
- ${PYTHON_PN}-asyncio \
-"
-
-RDEPENDS:${PN}-ptest += " \
- ${PYTHON_PN}-pytest \
-"
-
-do_install_ptest() {
- install -d ${D}${PTEST_PATH}/tests
- cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
-}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-blinker_1.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-blinker_1.7.0.bb
new file mode 100644
index 0000000..f1d8b4f
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-blinker_1.7.0.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "Fast, simple object-to-object and broadcast signaling."
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=42cd19c88fc13d1307a4efd64ee90e4e"
+
+SRC_URI[sha256sum] = "e6820ff6fa4e4d1d8e2747c2283749c3f547e4fee112b98555cdcdae32996182"
+
+inherit pypi python_setuptools_build_meta ptest
+
+SRC_URI += "file://run-ptest"
+
+RDEPENDS:${PN} += "\
+ ${PYTHON_PN}-asyncio \
+"
+
+RDEPENDS:${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_5.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_5.3.1.bb
deleted file mode 100644
index 739e5a8..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_5.3.1.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "Extensible memoizing collections and decorators"
-HOMEPAGE = "https://github.com/tkem/cachetools"
-DESCRIPTION = "This module provides various memoizing \
-collections and decorators, including variants of the \
-Python 3 Standard Library @lru_cache function decorator."
-SECTION = "devel/python"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1ec55353c80c662e4255f8889a0ca558"
-
-inherit pypi python_setuptools_build_meta ptest
-
-SRC_URI += " \
- file://run-ptest \
-"
-
-RDEPENDS:${PN} += " \
- ${PYTHON_PN}-math \
-"
-
-RDEPENDS:${PN}-ptest += " \
- ${PYTHON_PN}-pytest \
-"
-
-do_install_ptest() {
- install -d ${D}${PTEST_PATH}/tests
- cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
-}
-
-SRC_URI[sha256sum] = "dce83f2d9b4e1f732a8cd44af8e8fab2dbe46201467fc98b3ef8f269092bf62b"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_5.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_5.3.2.bb
new file mode 100644
index 0000000..5946c26
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_5.3.2.bb
@@ -0,0 +1,32 @@
+SUMMARY = "Extensible memoizing collections and decorators"
+HOMEPAGE = "https://github.com/tkem/cachetools"
+DESCRIPTION = "This module provides various memoizing \
+collections and decorators, including variants of the \
+Python 3 Standard Library @lru_cache function decorator."
+SECTION = "devel/python"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1ec55353c80c662e4255f8889a0ca558"
+
+inherit pypi python_setuptools_build_meta ptest
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS:${PN} += " \
+ ${PYTHON_PN}-math \
+"
+
+RDEPENDS:${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
+
+SRC_URI[sha256sum] = "086ee420196f7b2ab9ca2db2520aca326318b68fe5ba8bc4d49cca91add450f2"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-can_4.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-can_4.2.2.bb
index f3cfd17..9ca926d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-can_4.2.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-can_4.2.2.bb
@@ -27,5 +27,3 @@
python3-typing-extensions \
python3-wrapt \
"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cantools_39.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cantools_39.2.0.bb
deleted file mode 100644
index a87aff1..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cantools_39.2.0.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION = "CAN BUS tools in Python 3."
-HOMEPAGE = "https://github.com/eerimoq/cantools"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d9aa4ec07de78abae21c490c9ffe61bd"
-
-SRC_URI[sha256sum] = "24045c5575217bb5331543e6a55cee822c37ad811dc4a08c75aa2eee3c6d529c"
-
-PYPI_PACKAGE = "cantools"
-
-inherit pypi python_poetry_core
-
-RDEPENDS:${PN} += "\
- ${PYTHON_PN}-can \
- ${PYTHON_PN}-bitstruct \
- ${PYTHON_PN}-core \
- ${PYTHON_PN}-textparser \
- ${PYTHON_PN}-typing-extensions \
- ${PYTHON_PN}-diskcache \
- ${PYTHON_PN}-asyncio \
-"
-
-CLEANBROKEN = "1"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cantools_39.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cantools_39.3.0.bb
new file mode 100644
index 0000000..0b590d2
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cantools_39.3.0.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "CAN BUS tools in Python 3."
+HOMEPAGE = "https://github.com/eerimoq/cantools"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d9aa4ec07de78abae21c490c9ffe61bd"
+
+SRC_URI[sha256sum] = "2c3d081922591bc1611c9f1ff52d6c8af1d03314f8c724cc114d856cc555cc28"
+
+PYPI_PACKAGE = "cantools"
+
+inherit pypi python_poetry_core
+
+RDEPENDS:${PN} += "\
+ ${PYTHON_PN}-can \
+ ${PYTHON_PN}-bitstruct \
+ ${PYTHON_PN}-core \
+ ${PYTHON_PN}-textparser \
+ ${PYTHON_PN}-typing-extensions \
+ ${PYTHON_PN}-diskcache \
+ ${PYTHON_PN}-asyncio \
+"
+
+CLEANBROKEN = "1"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cbor2_5.4.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cbor2_5.4.6.bb
deleted file mode 100644
index 19d6cbf..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cbor2_5.4.6.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-DESCRIPTION = "An implementation of RFC 7049 - Concise Binary Object Representation (CBOR)."
-DEPENDS +="${PYTHON_PN}-setuptools-scm-native"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-SRC_URI[sha256sum] = "b893500db0fe033e570c3adc956af6eefc57e280026bd2d86fd53da9f1e594d7"
-
-inherit pypi python_setuptools_build_meta ptest
-
-DEPENDS += "python3-setuptools-scm-native"
-
-SRC_URI += " \
- file://run-ptest \
-"
-
-RDEPENDS:${PN}-ptest += " \
- ${PYTHON_PN}-pytest \
- ${PYTHON_PN}-unixadmin \
-"
-
-do_install_ptest() {
- install -d ${D}${PTEST_PATH}/tests
- cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
-}
-
-RDEPENDS:${PN} += " \
- ${PYTHON_PN}-datetime \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cbor2_5.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cbor2_5.5.1.bb
new file mode 100644
index 0000000..c8cfaa8
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cbor2_5.5.1.bb
@@ -0,0 +1,32 @@
+DESCRIPTION = "An implementation of RFC 7049 - Concise Binary Object Representation (CBOR)."
+DEPENDS +="${PYTHON_PN}-setuptools-scm-native"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+SRC_URI[sha256sum] = "f9e192f461a9f8f6082df28c035b006d153904213dc8640bed8a72d72bbc9475"
+
+inherit pypi python_setuptools_build_meta ptest
+
+DEPENDS += "python3-setuptools-scm-native"
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS:${PN}-ptest += " \
+ ${PYTHON_PN}-hypothesis \
+ ${PYTHON_PN}-pytest \
+ ${PYTHON_PN}-unixadmin \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
+
+RDEPENDS:${PN} += " \
+ ${PYTHON_PN}-datetime \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-charset-normalizer_3.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-charset-normalizer_3.2.0.bb
deleted file mode 100644
index 0c2810c..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-charset-normalizer_3.2.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
-HOMEPAGE = "https://github.com/ousret/charset_normalizer"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0974a390827087287db39928f7c524b5"
-
-SRC_URI[sha256sum] = "3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += " \
- ${PYTHON_PN}-core \
- ${PYTHON_PN}-logging \
- ${PYTHON_PN}-codecs \
- ${PYTHON_PN}-json \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-charset-normalizer_3.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-charset-normalizer_3.3.2.bb
new file mode 100644
index 0000000..666cb5d
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-charset-normalizer_3.3.2.bb
@@ -0,0 +1,15 @@
+SUMMARY = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
+HOMEPAGE = "https://github.com/ousret/charset_normalizer"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0974a390827087287db39928f7c524b5"
+
+SRC_URI[sha256sum] = "f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} += " \
+ ${PYTHON_PN}-core \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-codecs \
+ ${PYTHON_PN}-json \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cmake_3.27.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cmake_3.27.5.bb
deleted file mode 100644
index ad58c6d..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cmake_3.27.5.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "CMake is an open-source, cross-platform family of tools designed to build, test and package software"
-LICENSE = "BSD-3-Clause & Apache-2.0"
-LIC_FILES_CHKSUM = " \
- file://LICENSE_BSD_3;md5=9134cb61aebbdd79dd826ccb9ae6afcd \
- file://LICENSE_Apache_20;md5=19cbd64715b51267a47bf3750cc6a8a5 \
-"
-
-DEPENDS = "ninja-native cmake-native python3-scikit-build-native"
-
-PYPI_PACKAGE = "cmake"
-PYPI_ARCHIVE_NAME_PREFIX = "pypi-"
-
-inherit pypi python_setuptools_build_meta
-SRC_URI[sha256sum] = "101d4e56154658c974e9425acd31f0fedde3ce68b47263fd14f789b028f8a13a"
-
-SRC_URI += " \
- file://CMakeLists.txt \
- file://run-cmake-from-path.patch \
-"
-
-addtask do_patchbuild after do_patch before do_configure
-
-do_patchbuild () {
- rm -f ${S}/CMakeLists.txt
- cp ${WORKDIR}/CMakeLists.txt ${S}/
-}
-
-do_install:append () {
- rm -rf ${D}${bindir}
-}
-
-RDEPENDS:${PN} = " \
- cmake \
- python3-scikit-build \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cmake_3.27.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cmake_3.27.7.bb
new file mode 100644
index 0000000..b613fd3
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cmake_3.27.7.bb
@@ -0,0 +1,37 @@
+SUMMARY = "CMake is an open-source, cross-platform family of tools designed to build, test and package software"
+LICENSE = "BSD-3-Clause & Apache-2.0"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE_BSD_3;md5=9134cb61aebbdd79dd826ccb9ae6afcd \
+ file://LICENSE_Apache_20;md5=19cbd64715b51267a47bf3750cc6a8a5 \
+"
+
+DEPENDS = "ninja-native cmake-native python3-scikit-build-native"
+
+PYPI_PACKAGE = "cmake"
+PYPI_ARCHIVE_NAME_PREFIX = "pypi-"
+
+inherit pypi python_setuptools_build_meta
+SRC_URI[sha256sum] = "9f4a7c7be2a25de5901f045618f41b833ea6c0f647115201d38e4fdf7e2815bc"
+
+SRC_URI += " \
+ file://CMakeLists.txt \
+ file://run-cmake-from-path.patch \
+"
+
+addtask do_patchbuild after do_patch before do_configure
+
+do_patchbuild () {
+ rm -f ${S}/CMakeLists.txt
+ cp ${WORKDIR}/CMakeLists.txt ${S}/
+}
+
+do_install:append () {
+ rm -rf ${D}${bindir}
+}
+
+RDEPENDS:${PN} = " \
+ cmake \
+ python3-scikit-build \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-colorclass_2.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-colorclass_2.2.2.bb
new file mode 100644
index 0000000..00c2c4e
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-colorclass_2.2.2.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Colorful worry-free console applications for Linux, Mac OS X, and Windows."
+HOMEPAGE = "https://github.com/matthewdeanmartin/colorclass"
+LICENSE = "MIT"
+SECTION = "devel/python"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1b2a533055839e54558a727657c1c73e"
+
+inherit pypi setuptools3
+
+SRC_URI[sha256sum] = "6d4fe287766166a98ca7bc6f6312daf04a0481b1eda43e7173484051c0ab4366"
+
+PYPI_PACKAGE="colorclass"
+
+RDEPENDS:${PN} += "\
+ ${PYTHON_PN}-ctypes \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-covdefaults_2.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-covdefaults_2.3.0.bb
index b7709aa..a0ef2af 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-covdefaults_2.3.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-covdefaults_2.3.0.bb
@@ -27,5 +27,3 @@
install -d ${D}${PTEST_PATH}
cp -rf ${S}/tests ${D}${PTEST_PATH}
}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.3.1.bb
deleted file mode 100644
index 636b737..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.3.1.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Code coverage measurement for Python"
-HOMEPAGE = "https://coverage.readthedocs.io"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ee41112a44fe7014dce33e26468ba93"
-
-SRC_URI[sha256sum] = "6cb7fe1581deb67b782c153136541e20901aa312ceedaf1467dcb35255787952"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += " \
- python3-crypt \
- python3-io \
- python3-json \
- python3-multiprocessing \
- python3-pprint \
- python3-shell \
- python3-sqlite3 \
- python3-tomllib \
- python3-xml \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.3.2.bb
new file mode 100644
index 0000000..12496b0
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.3.2.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Code coverage measurement for Python"
+HOMEPAGE = "https://coverage.readthedocs.io"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ee41112a44fe7014dce33e26468ba93"
+
+SRC_URI[sha256sum] = "be32ad29341b0170e795ca590e1c07e81fc061cb5b10c74ce7203491484404ef"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} += " \
+ python3-crypt \
+ python3-io \
+ python3-json \
+ python3-multiprocessing \
+ python3-pprint \
+ python3-shell \
+ python3-sqlite3 \
+ python3-tomllib \
+ python3-xml \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-croniter_1.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-croniter_1.4.1.bb
deleted file mode 100644
index e9f84eb..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-croniter_1.4.1.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-DESCRIPTION = "croniter provides iteration for datetime object with cron like format"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b8ee59850b882cbf623188489ea748e2"
-
-PYPI_PACKAGE = "croniter"
-
-SRC_URI[sha256sum] = "1a6df60eacec3b7a0aa52a8f2ef251ae3dd2a7c7c8b9874e73e791636d55a361"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += " python3-dateutil python3-natsort"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-croniter_2.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-croniter_2.0.1.bb
new file mode 100644
index 0000000..7f418b0
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-croniter_2.0.1.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "croniter provides iteration for datetime object with cron like format"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b8ee59850b882cbf623188489ea748e2"
+
+PYPI_PACKAGE = "croniter"
+
+SRC_URI[sha256sum] = "d199b2ec3ea5e82988d1f72022433c5f9302b3b3ea9e6bfd6a1518f6ea5e700a"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} += " python3-dateutil python3-natsort"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dateparser_1.1.8.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-dateparser_1.1.8.bb
deleted file mode 100644
index 8b890fb..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-dateparser_1.1.8.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-DESCRIPTION = "Provides modules to easily parse localized dates in almost any string formats commonly found on web pages"
-HOMEPAGE = "https://github.com/scrapinghub/dateparser"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3d3ed25571191e7aa3f55d0a6efe0051"
-
-SRC_URI[sha256sum] = "86b8b7517efcc558f085a142cdb7620f0921543fcabdb538c8a4c4001d8178e3"
-
-PYPI_PACKAGE = "dateparser"
-
-inherit pypi setuptools3
-
-CLEANBROKEN = "1"
-
-RDEPENDS:${PN} += " \
- python3-dateutil \
- python3-logging \
- python3-pytz \
- python3-regex \
- python3-ruamel-yaml \
- python3-tzlocal \
-"
-
-# Ommitted python3-convertdate, python3-jdatetime python3-umalqurra
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dateparser_1.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-dateparser_1.2.0.bb
new file mode 100644
index 0000000..a08564b
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-dateparser_1.2.0.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "Provides modules to easily parse localized dates in almost any string formats commonly found on web pages"
+HOMEPAGE = "https://github.com/scrapinghub/dateparser"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3d3ed25571191e7aa3f55d0a6efe0051"
+
+SRC_URI[sha256sum] = "7975b43a4222283e0ae15be7b4999d08c9a70e2d378ac87385b1ccf2cffbbb30"
+
+PYPI_PACKAGE = "dateparser"
+
+inherit pypi setuptools3
+
+CLEANBROKEN = "1"
+
+RDEPENDS:${PN} += " \
+ python3-dateutil \
+ python3-logging \
+ python3-pytz \
+ python3-regex \
+ python3-ruamel-yaml \
+ python3-tzlocal \
+"
+
+# Ommitted python3-convertdate, python3-jdatetime python3-umalqurra
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-fast_1.85.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-fast_1.85.0.bb
deleted file mode 100644
index 6e1b599..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-fast_1.85.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "A faster version of dbus-next originally from the great DBus next library."
-HOMEPAGE = "https://github.com/bluetooth-devices/dbus-fast"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=729e372b5ea0168438e4fd4a00a04947"
-
-SRC_URI[sha256sum] = "af346e87e34fa52c7ae82d117303cbfe089cd5391b5a1cc0e51f67066ef426f5"
-
-PYPI_PACKAGE = "dbus_fast"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += " \
- python3-core (>=3.7) \
- python3-async-timeout \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-fast_2.14.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-fast_2.14.0.bb
new file mode 100644
index 0000000..5ce05c3
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-fast_2.14.0.bb
@@ -0,0 +1,15 @@
+SUMMARY = "A faster version of dbus-next originally from the great DBus next library."
+HOMEPAGE = "https://github.com/bluetooth-devices/dbus-fast"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=729e372b5ea0168438e4fd4a00a04947"
+
+SRC_URI[sha256sum] = "91a88fea66b4e69ce73ac4c1ac04952c4fbd5e9b902400649013778a177129ea"
+
+PYPI_PACKAGE = "dbus_fast"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} += " \
+ python3-core (>=3.7) \
+ python3-async-timeout \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dill_0.3.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-dill_0.3.7.bb
index b6b7881..673964f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-dill_0.3.7.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-dill_0.3.7.bb
@@ -15,3 +15,5 @@
${PYTHON_PN}-profile \
${PYTHON_PN}-core \
"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_4.2.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_4.2.3.bb
deleted file mode 100644
index 4e31927..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_4.2.3.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require python-django.inc
-inherit setuptools3
-
-SRC_URI[sha256sum] = "45a747e1c5b3d6df1b141b1481e193b033fd1fdbda3ff52677dc81afdaacbaed"
-
-RDEPENDS:${PN} += "\
- ${PYTHON_PN}-sqlparse \
- ${PYTHON_PN}-asgiref \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_4.2.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_4.2.7.bb
new file mode 100644
index 0000000..100db9b
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_4.2.7.bb
@@ -0,0 +1,9 @@
+require python-django.inc
+inherit setuptools3
+
+SRC_URI[sha256sum] = "8e0f1c2c2786b5c0e39fe1afce24c926040fad47c8ea8ad30aaf1188df29fc41"
+
+RDEPENDS:${PN} += "\
+ ${PYTHON_PN}-sqlparse \
+ ${PYTHON_PN}-asgiref \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-email-validator_1.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-email-validator_1.3.1.bb
deleted file mode 100644
index 2350c4d..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-email-validator_1.3.1.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "A robust email address syntax and deliverability validation library."
-SECTION = "devel/python"
-LICENSE = "CC0-1.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=65d3616852dbf7b1a6d4b53b00626032"
-
-SRC_URI[sha256sum] = "d178c5c6fa6c6824e9b04f199cf23e79ac15756786573c190d2ad13089411ad2"
-
-PYPI_PACKAGE = "email_validator"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += "python3-dnspython python3-idna"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-email-validator_2.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-email-validator_2.1.0.bb
new file mode 100644
index 0000000..7daf548
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-email-validator_2.1.0.bb
@@ -0,0 +1,12 @@
+SUMMARY = "A robust email address syntax and deliverability validation library."
+SECTION = "devel/python"
+LICENSE = "CC0-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=65d3616852dbf7b1a6d4b53b00626032"
+
+SRC_URI[sha256sum] = "5f511cca8856bb03251d6292ba59e7f98978aae13fa5823ddd8bf885c56a6260"
+
+PYPI_PACKAGE = "email_validator"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} += "python3-dnspython python3-idna"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.7.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.7.1.bb
deleted file mode 100644
index 0ef6426..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.7.1.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Engine.IO server"
-HOMEPAGE = "https://github.com/miguelgrinberg/python-engineio/"
-SECTION = "devel/python"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=42d0a9e728978f0eeb759c3be91536b8"
-
-inherit pypi python_setuptools_build_meta
-
-PYPI_PACKAGE = "python-engineio"
-
-RDEPENDS:${PN} += " \
- python3-netclient \
- python3-json \
- python3-logging \
- python3-compression \
- python3-asyncio \
-"
-
-SRC_URI[sha256sum] = "a8422e345cd9a21451303380b160742ff02197975b1c3a02cef115febe2b1b20"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.8.0.bb
new file mode 100644
index 0000000..1cc79f1
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.8.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Engine.IO server"
+HOMEPAGE = "https://github.com/miguelgrinberg/python-engineio/"
+SECTION = "devel/python"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=42d0a9e728978f0eeb759c3be91536b8"
+
+inherit pypi python_setuptools_build_meta
+
+PYPI_PACKAGE = "python-engineio"
+
+RDEPENDS:${PN} += " \
+ python3-netclient \
+ python3-json \
+ python3-logging \
+ python3-compression \
+ python3-asyncio \
+"
+
+SRC_URI[sha256sum] = "2a32585d8fecd0118264fe0c39788670456ca9aa466d7c026d995cfff68af164"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-abi_3.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-abi_3.0.1.bb
deleted file mode 100644
index 3d8a67b..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-abi_3.0.1.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Python utilities for working with Ethereum ABI definitions, especially encoding and decoding."
-HOMEPAGE = "https://github.com/ethereum/eth-abi"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=bf9691ead96f1163622689e47ce3f366"
-
-SRC_URI[sha256sum] = "c3872e3ac1e9ef3f8c6599aaca4ee536d536eefca63a6892ab937f0560edb656"
-
-PYPI_PACKAGE = "eth_abi"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += " \
- python3-eth-typing \
- python3-eth-utils \
- python3-parsimonious \
- python3-setuptools \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-abi_4.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-abi_4.2.1.bb
new file mode 100644
index 0000000..c01860a
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-abi_4.2.1.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Python utilities for working with Ethereum ABI definitions, especially encoding and decoding."
+HOMEPAGE = "https://github.com/ethereum/eth-abi"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=731f4de9c79bfeba6d8d55f83d0d2423"
+
+SRC_URI[sha256sum] = "60d88788d53725794cdb07c0f0bb0df2a31a6e1ad19644313fe6117ac24eeeb0"
+
+PYPI_PACKAGE = "eth_abi"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} += " \
+ python3-eth-typing \
+ python3-eth-utils \
+ python3-parsimonious \
+ python3-setuptools \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-account_0.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-account_0.10.0.bb
new file mode 100644
index 0000000..1854e3b
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-account_0.10.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Assign Ethereum transactions and messages with local private keys."
+HOMEPAGE = "https://github.com/ethereum/eth-account"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=16ffc86adf4293d4cfb204e77d62cfe6"
+
+SRC_URI[sha256sum] = "474a2fccf7286230cf66502565f03b536921d7e1fdfceba198e42160e5ac4bc1"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} += " \
+ python3-bitarray \
+ python3-cytoolz \
+ python3-eth-abi \
+ python3-eth-keyfile \
+ python3-eth-rlp \
+ python3-hexbytes \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-account_0.9.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-account_0.9.0.bb
deleted file mode 100644
index e33b767..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-account_0.9.0.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Assign Ethereum transactions and messages with local private keys."
-HOMEPAGE = "https://github.com/ethereum/eth-account"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=16ffc86adf4293d4cfb204e77d62cfe6"
-
-SRC_URI[sha256sum] = "5f66ecb7bc52569924dfaf4a9add501b1c2a4901eec74e3c0598cd26d0971777"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += " \
- python3-bitarray \
- python3-cytoolz \
- python3-eth-abi \
- python3-eth-keyfile \
- python3-eth-rlp \
- python3-hexbytes \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-typing_3.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-typing_3.4.0.bb
deleted file mode 100644
index a1594fb..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-typing_3.4.0.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "Common type annotations for ethereum python packages."
-HOMEPAGE = "https://github.com/ethereum/eth-typing"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3d7bdfe69b1ffbde073ca6e96f5c53f7"
-
-SRC_URI[sha256sum] = "7f49610469811ee97ac43eaf6baa294778ce74042d41e61ecf22e5ebe385590f"
-
-inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-typing_3.5.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-typing_3.5.2.bb
new file mode 100644
index 0000000..c8044b3
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-typing_3.5.2.bb
@@ -0,0 +1,9 @@
+SUMMARY = "Common type annotations for ethereum python packages."
+HOMEPAGE = "https://github.com/ethereum/eth-typing"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3d7bdfe69b1ffbde073ca6e96f5c53f7"
+
+SRC_URI[sha256sum] = "22bf051ddfaa35ff827c30090de167e5c5b8cc6d343f7f35c9b1c7553f6ab64d"
+
+inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-utils_2.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-utils_2.2.1.bb
deleted file mode 100644
index bace620..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-utils_2.2.1.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "Common utility functions for codebases which interact with ethereum."
-HOMEPAGE = "https://github.com/ethereum/eth-utils"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=6749008d847c14b9718949c2e24d5c0a"
-
-SRC_URI[sha256sum] = "f79a95f86dd991344697c763db40271dbe43fbbcd5776f49b0c4fb7b645ee1c4"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += " \
- python3-eth-hash \
- python3-eth-typing \
- python3-setuptools \
- python3-toolz \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-utils_2.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-utils_2.3.1.bb
new file mode 100644
index 0000000..1f64183
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-utils_2.3.1.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Common utility functions for codebases which interact with ethereum."
+HOMEPAGE = "https://github.com/ethereum/eth-utils"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=6749008d847c14b9718949c2e24d5c0a"
+
+SRC_URI[sha256sum] = "56a969b0536d4969dcb27e580521de35abf2dbed8b1bf072b5c80770c4324e27"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} += " \
+ python3-eth-hash \
+ python3-eth-typing \
+ python3-setuptools \
+ python3-toolz \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-executing_1.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-executing_1.2.0.bb
deleted file mode 100644
index 89f935c..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-executing_1.2.0.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "Get the currently executing AST node of a frame, and other information"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a3d6c15f7859ae235a78f2758e5a48cf"
-
-DEPENDS = "python3-setuptools-scm-native"
-
-inherit pypi python_setuptools_build_meta
-
-SRC_URI[sha256sum] = "19da64c18d2d851112f09c287f8d3dbbdf725ab0e569077efb6cdcbd3497c107"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-executing_2.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-executing_2.0.1.bb
new file mode 100644
index 0000000..3ee1e66
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-executing_2.0.1.bb
@@ -0,0 +1,9 @@
+SUMMARY = "Get the currently executing AST node of a frame, and other information"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a3d6c15f7859ae235a78f2758e5a48cf"
+
+DEPENDS = "python3-setuptools-scm-native"
+
+inherit pypi python_setuptools_build_meta
+
+SRC_URI[sha256sum] = "35afe2ce3affba8ee97f2d69927fa823b08b472b7b994e36a52a964b93d16147"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-file-magic_0.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-file-magic_0.4.1.bb
new file mode 100644
index 0000000..837edf7
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-file-magic_0.4.1.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Python front end for libmagic"
+DESCRIPTION = "This library is a Python ctypes interface to libmagic."
+HOMEPAGE = "https://darwinsys.com/file/"
+LICENSE = "BSD-2-Clause"
+SECTION = "devel/python"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0e949c0b3fb4fd86232f00c6ee0bdef3"
+
+SRC_URI[sha256sum] = "a91d1483117f7ed48cd0238ad9be36b04824d57e9c38ea7523113989e81b9c53"
+
+PYPI_PACKAGE="file-magic"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} += " \
+ file \
+ ${PYTHON_PN}-core \
+ ${PYTHON_PN}-ctypes \
+ ${PYTHON_PN}-threading \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-filelock_3.12.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-filelock_3.12.4.bb
deleted file mode 100644
index 49a9d95..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-filelock_3.12.4.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-# SPDX-License-Identifier: MIT
-# Copyright (C) 2023 iris-GmbH infrared & intelligent sensors
-
-SUMMARY = "A single module, which implements a platform independent file lock in Python, which provides a simple way of inter-process communication"
-HOMEPAGE = "https://py-filelock.readthedocs.io/"
-LICENSE = "Unlicense"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=911690f51af322440237a253d695d19f"
-
-SRC_URI[sha256sum] = "2e6f249f1f3654291606e046b09f1fd5eac39b360664c27f5aad072012f8bcbd"
-
-BBCLASSEXTEND = "native nativesdk"
-inherit pypi python_hatchling
-
-DEPENDS += "\
- ${PYTHON_PN}-hatch-vcs-native \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-filelock_3.13.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-filelock_3.13.1.bb
new file mode 100644
index 0000000..444c484
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-filelock_3.13.1.bb
@@ -0,0 +1,16 @@
+# SPDX-License-Identifier: MIT
+# Copyright (C) 2023 iris-GmbH infrared & intelligent sensors
+
+SUMMARY = "A single module, which implements a platform independent file lock in Python, which provides a simple way of inter-process communication"
+HOMEPAGE = "https://py-filelock.readthedocs.io/"
+LICENSE = "Unlicense"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=911690f51af322440237a253d695d19f"
+
+SRC_URI[sha256sum] = "521f5f56c50f8426f5e03ad3b281b490a87ef15bc6c526f168290f0c7148d44e"
+
+BBCLASSEXTEND = "native nativesdk"
+inherit pypi python_hatchling
+
+DEPENDS += "\
+ ${PYTHON_PN}-hatch-vcs-native \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-babel_3.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-babel_3.1.0.bb
deleted file mode 100644
index 610c40f..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-babel_3.1.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-DESCRIPTION = "i18n and l10n support for Flask based on babel and pytz"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=51917f3e8e858f5ae295a7d0e2eb3cc9"
-
-SRC_URI[sha256sum] = "be015772c5d7f046f3b99c508dcf618636eb93d21b713b356db79f3e79f69f39"
-
-PYPI_PACKAGE = "flask_babel"
-
-inherit pypi python_poetry_core
-
-RDEPENDS:${PN} += "\
- ${PYTHON_PN}-speaklater \
- ${PYTHON_PN}-babel \
- ${PYTHON_PN}-flask \
- "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-babel_4.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-babel_4.0.0.bb
new file mode 100644
index 0000000..4d8aee5
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-babel_4.0.0.bb
@@ -0,0 +1,15 @@
+DESCRIPTION = "i18n and l10n support for Flask based on babel and pytz"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=51917f3e8e858f5ae295a7d0e2eb3cc9"
+
+SRC_URI[sha256sum] = "dbeab4027a3f4a87678a11686496e98e1492eb793cbdd77ab50f4e9a2602a593"
+
+PYPI_PACKAGE = "flask_babel"
+
+inherit pypi python_poetry_core
+
+RDEPENDS:${PN} += "\
+ ${PYTHON_PN}-speaklater \
+ ${PYTHON_PN}-babel \
+ ${PYTHON_PN}-flask \
+ "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-jwt-extended_4.5.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-jwt-extended_4.5.2.bb
deleted file mode 100644
index f55d771..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-jwt-extended_4.5.2.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "Extended JWT integration with Flask"
-HOMEPAGE = "https://github.com/vimalloc/flask-jwt-extended"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=9166295d7c482b9440bbb2b5c0fa43ac"
-
-inherit pypi setuptools3
-
-PYPI_PACKAGE = "Flask-JWT-Extended"
-
-SRC_URI[sha256sum] = "ba56245ba43b71c8ae936784b867625dce8b9956faeedec2953222e57942fb0b"
-
-RDEPENDS:${PN} += "\
- python3-werkzeug \
- python3-flask \
- python3-pyjwt \
- "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-jwt-extended_4.5.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-jwt-extended_4.5.3.bb
new file mode 100644
index 0000000..d5438f1
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-jwt-extended_4.5.3.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Extended JWT integration with Flask"
+HOMEPAGE = "https://github.com/vimalloc/flask-jwt-extended"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=9166295d7c482b9440bbb2b5c0fa43ac"
+
+inherit pypi setuptools3
+
+PYPI_PACKAGE = "Flask-JWT-Extended"
+
+SRC_URI[sha256sum] = "061ef3d25ed5743babe4964ab38f36d870e6d2fd8a126bab5d77ddef8a01932b"
+
+RDEPENDS:${PN} += "\
+ python3-werkzeug \
+ python3-flask \
+ python3-pyjwt \
+ "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-login_0.6.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-login_0.6.2.bb
deleted file mode 100644
index 97d7bce..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-login_0.6.2.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "User session management for Flask"
-DESCRIPTION = "Flask-Login provides user session management for Flask. \
-It handles the common tasks of logging in, logging out, and remembering \
-your users’ sessions over extended periods of time."
-HOMEPAGE = " https://github.com/maxcountryman/flask-login"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8aa87a1cd9fa41d969ad32cfdac2c596"
-
-SRC_URI[sha256sum] = "c0a7baa9fdc448cdd3dd6f0939df72eec5177b2f7abe6cb82fc934d29caac9c3"
-
-PYPI_PACKAGE = "Flask-Login"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN}:class-target = "${PYTHON_PN}-flask"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-login_0.6.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-login_0.6.3.bb
new file mode 100644
index 0000000..458ba46
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-login_0.6.3.bb
@@ -0,0 +1,15 @@
+SUMMARY = "User session management for Flask"
+DESCRIPTION = "Flask-Login provides user session management for Flask. \
+It handles the common tasks of logging in, logging out, and remembering \
+your users’ sessions over extended periods of time."
+HOMEPAGE = " https://github.com/maxcountryman/flask-login"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8aa87a1cd9fa41d969ad32cfdac2c596"
+
+SRC_URI[sha256sum] = "5e23d14a607ef12806c699590b89d0f0e0d67baeec599d75947bf9c147330333"
+
+PYPI_PACKAGE = "Flask-Login"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN}:class-target = "${PYTHON_PN}-flask"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-restx_1.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-restx_1.2.0.bb
new file mode 100644
index 0000000..573c2db
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-restx_1.2.0.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "Fully featured framework for fast, easy and documented API development with Flask"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c96dd911c6d9e32868b6bc667a38a3e2"
+
+SRC_URI[sha256sum] = "9a5338b108c57fbed1d24d5d53fe98442b2be7ffa2ff3291305af7a613ce6fc0"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} += " \
+ python3-aniso8601 \
+ python3-jsonschema \
+ python3-pytz \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-gcovr_6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-gcovr_6.0.bb
index 21c3668..bfb0aaf 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-gcovr_6.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-gcovr_6.0.bb
@@ -4,7 +4,7 @@
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=6542fc4ce5904ffb741ef56f8fe33452"
-SRC_URI = "git://github.com/gcovr/gcovr.git;branch=master;protocol=https"
+SRC_URI = "git://github.com/gcovr/gcovr.git;branch=main;protocol=https"
SRCREV = "1221ef62ff0de15bbeaf79e68e08a65d62c73ff4"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-geojson_3.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-geojson_3.0.1.bb
deleted file mode 100644
index 671fe4f..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-geojson_3.0.1.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "Python bindings and utilities for GeoJSON"
-HOMEPAGE = "https://pypi.org/project/geojson/"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=f77f2ed49768c8d4c79ba874c0f94d8a"
-
-SRC_URI[sha256sum] = "ff3d75acab60b1e66504a11f7ea12c104bad32ff3c410a807788663b966dee4a"
-
-inherit pypi setuptools3 ptest
-
-SRC_URI += " \
- file://run-ptest \
-"
-
-RDEPENDS:${PN}-ptest += " \
- ${PYTHON_PN}-pytest \
-"
-
-do_install_ptest() {
- install -d ${D}${PTEST_PATH}/tests
- cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
-}
-
-RDEPENDS:${PN} += "python3-simplejson python3-math"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-geojson_3.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-geojson_3.1.0.bb
new file mode 100644
index 0000000..79ad228
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-geojson_3.1.0.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Python bindings and utilities for GeoJSON"
+HOMEPAGE = "https://pypi.org/project/geojson/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=f77f2ed49768c8d4c79ba874c0f94d8a"
+
+SRC_URI[sha256sum] = "58a7fa40727ea058efc28b0e9ff0099eadf6d0965e04690830208d3ef571adac"
+
+inherit pypi setuptools3 ptest
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS:${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
+
+RDEPENDS:${PN} += "python3-simplejson python3-math"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-geomet_1.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-geomet_1.0.0.bb
deleted file mode 100644
index 84356cf..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-geomet_1.0.0.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "Convert GeoJSON to WKT/WKB (Well-Known Text/Binary), and vice versa."
-DESCRIPTION = "Convert GeoJSON to WKT/WKB (Well-Known Text/Binary), and vice versa."
-HOMEPAGE = "https://github.com/geomet/geomet"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314"
-SRCNAME = "geomet"
-
-SRC_URI[sha256sum] = "cb52411978ee01ff104ab48f108d7333b14423ae7a15a65fee25b7d29bda2e1b"
-
-S = "${WORKDIR}/git"
-SRC_URI = "git://github.com/geomet/geomet.git;protocol=https;branch=master"
-SRCREV = "7fff4438510c30e592db858b2d519eddb5837a6c"
-
-inherit setuptools3
-PIP_INSTALL_PACKAGE = "geomet"
-
-RDEPENDS:${PN} += "\
- ${PYTHON_PN}-click \
- ${PYTHON_PN}-core \
- ${PYTHON_PN}-io \
- ${PYTHON_PN}-json \
- ${PYTHON_PN}-logging \
- ${PYTHON_PN}-six \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-geomet_1.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-geomet_1.1.0.bb
new file mode 100644
index 0000000..72b2bbc
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-geomet_1.1.0.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Convert GeoJSON to WKT/WKB (Well-Known Text/Binary), and vice versa."
+DESCRIPTION = "Convert GeoJSON to WKT/WKB (Well-Known Text/Binary), and vice versa."
+HOMEPAGE = "https://github.com/geomet/geomet"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314"
+SRCNAME = "geomet"
+
+SRC_URI[sha256sum] = "cb52411978ee01ff104ab48f108d7333b14423ae7a15a65fee25b7d29bda2e1b"
+
+S = "${WORKDIR}/git"
+SRC_URI = "git://github.com/geomet/geomet.git;protocol=https;branch=master"
+SRCREV = "6ac73c312b52aca328db2e61d90c5e363b62639f"
+
+inherit setuptools3
+PIP_INSTALL_PACKAGE = "geomet"
+
+RDEPENDS:${PN} += "\
+ ${PYTHON_PN}-click \
+ ${PYTHON_PN}-core \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-six \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-git-pw_2.5.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-git-pw_2.5.0.bb
new file mode 100644
index 0000000..d060a92
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-git-pw_2.5.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "A tool for integrating Git with Patchwork"
+HOMEPAGE = "https://github.com/getpatchwork/git-pw"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=26e1a171d943c64f00c51f90c256b9d4"
+
+SRC_URI[sha256sum] = "c60169f9566bd6710f9c0985a005a0c326460b739d3f2b5c5c71e85211584590"
+
+inherit pypi python_setuptools_build_meta
+
+DEPENDS += " \
+ python3-pbr-native \
+"
+
+RDEPENDS:${PN} += " \
+ python3-arrow \
+ python3-click \
+ python3-pyyaml \
+ python3-requests \
+ python3-tabulate \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_2.12.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_2.12.0.bb
deleted file mode 100644
index 28c6a79..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_2.12.0.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-DESCRIPTION = "Google API client core library"
-HOMEPAGE = "https://github.com/googleapis/python-api-core"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-inherit pypi setuptools3
-
-SRC_URI[sha256sum] = "c22e01b1e3c4dcd90998494879612c38d0a3411d1f7b679eb89e2abe3ce1f553"
-
-RDEPENDS:${PN} += "\
- ${PYTHON_PN}-asyncio \
- ${PYTHON_PN}-datetime \
- ${PYTHON_PN}-logging \
- ${PYTHON_PN}-math \
-"
-
-RDEPENDS:${PN} += "\
- ${PYTHON_PN}-googleapis-common-protos \
- ${PYTHON_PN}-google-auth \
- ${PYTHON_PN}-grpcio \
- ${PYTHON_PN}-protobuf \
- ${PYTHON_PN}-pytz \
- ${PYTHON_PN}-requests \
- ${PYTHON_PN}-six \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_2.14.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_2.14.0.bb
new file mode 100644
index 0000000..b620e55
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_2.14.0.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "Google API client core library"
+HOMEPAGE = "https://github.com/googleapis/python-api-core"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+inherit pypi setuptools3
+
+SRC_URI[sha256sum] = "5368a4502b793d9bbf812a5912e13e4e69f9bd87f6efb508460c43f5bbd1ce41"
+
+RDEPENDS:${PN} += "\
+ ${PYTHON_PN}-asyncio \
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-math \
+"
+
+RDEPENDS:${PN} += "\
+ ${PYTHON_PN}-googleapis-common-protos \
+ ${PYTHON_PN}-google-auth \
+ ${PYTHON_PN}-grpcio \
+ ${PYTHON_PN}-protobuf \
+ ${PYTHON_PN}-pytz \
+ ${PYTHON_PN}-requests \
+ ${PYTHON_PN}-six \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.101.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.101.0.bb
deleted file mode 100644
index 495a374..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.101.0.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "The Google API Client for Python is a client library for accessing the Plus, \
-Moderator, and many other Google APIs."
-HOMEPAGE = "https://github.com/googleapis/google-api-python-client"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-
-SRC_URI[sha256sum] = "e9620a809251174818e1fce16604006f10a9c2ac0d3d94a139cdddcd4dbea2d8"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += "\
- ${PYTHON_PN}-logging \
- ${PYTHON_PN}-six \
- ${PYTHON_PN}-json \
- ${PYTHON_PN}-core \
- ${PYTHON_PN}-netclient \
- ${PYTHON_PN}-httplib2 \
- ${PYTHON_PN}-uritemplate \
- ${PYTHON_PN}-google-api-core \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.108.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.108.0.bb
new file mode 100644
index 0000000..f8ccc9a
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.108.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "The Google API Client for Python is a client library for accessing the Plus, \
+Moderator, and many other Google APIs."
+HOMEPAGE = "https://github.com/googleapis/google-api-python-client"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
+
+SRC_URI[sha256sum] = "6396efca83185fb205c0abdbc1c2ee57b40475578c6af37f6d0e30a639aade99"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} += "\
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-six \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-core \
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-httplib2 \
+ ${PYTHON_PN}-uritemplate \
+ ${PYTHON_PN}-google-api-core \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.23.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.23.1.bb
deleted file mode 100644
index a3228be..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.23.1.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-DESCRIPTION = "Google Authentication Library"
-HOMEPAGE = "https://github.com/googleapis/google-auth-library-python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-
-inherit pypi setuptools3
-
-SRC_URI[sha256sum] = "d38bdf4fa1e7c5a35e574861bce55784fd08afadb4e48f99f284f1e487ce702d"
-
-RDEPENDS:${PN} += "\
- ${PYTHON_PN}-asyncio \
- ${PYTHON_PN}-datetime \
- ${PYTHON_PN}-io \
- ${PYTHON_PN}-json \
- ${PYTHON_PN}-logging \
- ${PYTHON_PN}-netclient \
- ${PYTHON_PN}-numbers \
-"
-
-RDEPENDS:${PN} += "\
- ${PYTHON_PN}-aiohttp \
- ${PYTHON_PN}-cachetools \
- ${PYTHON_PN}-pyasn1-modules \
- ${PYTHON_PN}-rsa \
- ${PYTHON_PN}-six \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.23.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.23.4.bb
new file mode 100644
index 0000000..c7bf285
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.23.4.bb
@@ -0,0 +1,26 @@
+DESCRIPTION = "Google Authentication Library"
+HOMEPAGE = "https://github.com/googleapis/google-auth-library-python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
+
+inherit pypi setuptools3
+
+SRC_URI[sha256sum] = "79905d6b1652187def79d491d6e23d0cbb3a21d3c7ba0dbaa9c8a01906b13ff3"
+
+RDEPENDS:${PN} += "\
+ ${PYTHON_PN}-asyncio \
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-numbers \
+"
+
+RDEPENDS:${PN} += "\
+ ${PYTHON_PN}-aiohttp \
+ ${PYTHON_PN}-cachetools \
+ ${PYTHON_PN}-pyasn1-modules \
+ ${PYTHON_PN}-rsa \
+ ${PYTHON_PN}-six \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.60.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.60.0.bb
deleted file mode 100644
index 5c9ba5f..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.60.0.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-DESCRIPTION = "Common protobufs used in Google APIs"
-HOMEPAGE = "https://github.com/googleapis/python-api-common-protos"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-inherit pypi setuptools3
-
-SRC_URI[sha256sum] = "e73ebb404098db405ba95d1e1ae0aa91c3e15a71da031a2eeb6b2e23e7bc3708"
-
-RDEPENDS:${PN} += "\
- ${PYTHON_PN}-grpcio \
- ${PYTHON_PN}-protobuf \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.61.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.61.0.bb
new file mode 100644
index 0000000..171bc67
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.61.0.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "Common protobufs used in Google APIs"
+HOMEPAGE = "https://github.com/googleapis/python-api-common-protos"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+inherit pypi setuptools3
+
+SRC_URI[sha256sum] = "8a64866a97f6304a7179873a465d6eee97b7a24ec6cfd78e0f575e96b821240b"
+
+RDEPENDS:${PN} += "\
+ ${PYTHON_PN}-grpcio \
+ ${PYTHON_PN}-protobuf \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-gpiod_2.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-gpiod_2.0.1.bb
deleted file mode 100644
index ea8c185..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-gpiod_2.0.1.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "Python bindings for libgpiod."
-
-LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later & CC-BY-SA-4.0"
-# The actual license files live in the upstream libgpiod from which the pypi
-# package is spun out.
-LIC_FILES_CHKSUM = "file://setup.py;beginline=57;endline=57;md5=120334ed83ec0cb248605e775bd13b87"
-
-SRC_URI += "file://run-ptest"
-
-SRC_URI[sha256sum] = "d5c0f9502e97e7359b9dd601e29f15d668983ce50f5c13323f3302845f790fa6"
-
-inherit setuptools3 ptest pypi
-
-PYPI_PACKAGE = "libgpiod"
-
-DEPENDS += "libgpiod"
-RDEPENDS:${PN} += " \
- libgpiod (>= 2.0) \
- python3-datetime \
- python3-profile \
-"
-RDEPENDS:${PN}-ptest += " \
- libgpiod-ptest \
- python3-setuptools \
-"
-
-export GPIOD_WITH_TESTS = "${@bb.utils.contains("PTEST_ENABLED", "1", "1", "0", d)}"
-
-do_install_ptest() {
- install -d ${D}${PTEST_PATH}/gpiod-test/gpiosim
- install -d ${D}${PTEST_PATH}/gpiod-test/procname
- install -m 0644 ${S}/tests/*.py ${D}${PTEST_PATH}/gpiod-test/
- install -m 0644 ${B}/build/lib*/tests/gpiosim/_ext* ${D}${PTEST_PATH}/gpiod-test/gpiosim
- install -m 0644 ${S}/tests/gpiosim/*.py ${D}${PTEST_PATH}/gpiod-test/gpiosim
- install -m 0644 ${B}/build/lib*/tests/procname/_ext* ${D}${PTEST_PATH}/gpiod-test/procname
- install -m 0644 ${S}/tests/procname/*.py ${D}${PTEST_PATH}/gpiod-test/procname
-}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-gpiod_2.1.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-gpiod_2.1.3.bb
new file mode 100644
index 0000000..0dbb38d
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-gpiod_2.1.3.bb
@@ -0,0 +1,45 @@
+SUMMARY = "Python bindings for libgpiod."
+
+LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later & CC-BY-SA-4.0"
+# The actual license files live in the upstream libgpiod from which the pypi
+# package is spun out.
+LIC_FILES_CHKSUM = "file://setup.py;beginline=237;endline=237;md5=f5ddb56912b7f20bf94aa4d1bdcd3533"
+
+SRC_URI += "file://run-ptest"
+
+SRC_URI[sha256sum] = "a33193d6cab79d252329f71666a35a3668e04f1f82bf9b93ee2c9ae852398b20"
+
+inherit setuptools3-base python_pep517 ptest pypi
+
+DEPENDS += " \
+ libgpiod \
+ python3-setuptools-native \
+"
+RDEPENDS:${PN} += " \
+ libgpiod (>= 2.1) \
+ python3-datetime \
+ python3-profile \
+"
+RDEPENDS:${PN}-ptest += " \
+ libgpiod-ptest \
+ python3-setuptools \
+"
+
+export LINK_SYSTEM_LIBGPIOD = "1"
+
+do_compile_ptest() {
+ setup_target_config
+ nativepython3 build_tests.py
+}
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/gpiod-test/gpiosim
+ install -d ${D}${PTEST_PATH}/gpiod-test/procname
+ install -m 0644 ${S}/tests/*.py ${D}${PTEST_PATH}/gpiod-test/
+ install -m 0644 ${B}/tests/gpiosim/_ext* ${D}${PTEST_PATH}/gpiod-test/gpiosim
+ install -m 0644 ${S}/tests/gpiosim/*.py ${D}${PTEST_PATH}/gpiod-test/gpiosim
+ install -m 0644 ${B}/tests/procname/_ext* ${D}${PTEST_PATH}/gpiod-test/procname
+ install -m 0644 ${S}/tests/procname/*.py ${D}${PTEST_PATH}/gpiod-test/procname
+}
+
+INSANE_SKIP:${PN}-ptest += "buildpaths"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet/0001-cleanup-Drop-using-register-storage-class-keyword-ev.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet/0001-cleanup-Drop-using-register-storage-class-keyword-ev.patch
deleted file mode 100644
index 2a6ddd4..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet/0001-cleanup-Drop-using-register-storage-class-keyword-ev.patch
+++ /dev/null
@@ -1,247 +0,0 @@
-From 74d8c5ecdc677a7a412c7f782fe8488a5d987333 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 5 Feb 2023 19:05:45 -0800
-Subject: [PATCH] cleanup: Drop using 'register' storage class keyword everywhere
-
-This has been dropped in c++17 and newer
-
-Upstream-Status: Submitted [https://github.com/python-greenlet/greenlet/pull/347]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/greenlet/platform/switch_alpha_unix.h | 4 ++--
- src/greenlet/platform/switch_arm32_gcc.h | 2 +-
- src/greenlet/platform/switch_arm32_ios.h | 2 +-
- src/greenlet/platform/switch_csky_gcc.h | 2 +-
- src/greenlet/platform/switch_mips_unix.h | 4 ++--
- src/greenlet/platform/switch_ppc64_aix.h | 4 ++--
- src/greenlet/platform/switch_ppc64_linux.h | 4 ++--
- src/greenlet/platform/switch_ppc_aix.h | 4 ++--
- src/greenlet/platform/switch_ppc_linux.h | 4 ++--
- src/greenlet/platform/switch_ppc_macosx.h | 4 ++--
- src/greenlet/platform/switch_ppc_unix.h | 4 ++--
- src/greenlet/platform/switch_s390_unix.h | 4 ++--
- src/greenlet/platform/switch_sparc_sun_gcc.h | 4 ++--
- src/greenlet/platform/switch_x32_unix.h | 4 ++--
- src/greenlet/platform/switch_x86_unix.h | 2 +-
- 15 files changed, 26 insertions(+), 26 deletions(-)
-
-diff --git a/src/greenlet/platform/switch_alpha_unix.h b/src/greenlet/platform/switch_alpha_unix.h
-index 216619f..7e07abf 100644
---- a/src/greenlet/platform/switch_alpha_unix.h
-+++ b/src/greenlet/platform/switch_alpha_unix.h
-@@ -9,8 +9,8 @@
- static int
- slp_switch(void)
- {
-- register int ret;
-- register long *stackref, stsizediff;
-+ int ret;
-+ long *stackref, stsizediff;
- __asm__ volatile ("" : : : REGS_TO_SAVE);
- __asm__ volatile ("mov $30, %0" : "=r" (stackref) : );
- {
-diff --git a/src/greenlet/platform/switch_arm32_gcc.h b/src/greenlet/platform/switch_arm32_gcc.h
-index 035d6b9..655003a 100644
---- a/src/greenlet/platform/switch_arm32_gcc.h
-+++ b/src/greenlet/platform/switch_arm32_gcc.h
-@@ -56,7 +56,7 @@ __attribute__((optimize("no-omit-frame-pointer")))
- slp_switch(void)
- {
- void *fp;
-- register int *stackref, stsizediff;
-+ int *stackref, stsizediff;
- int result;
- __asm__ volatile ("" : : : REGS_TO_SAVE);
- __asm__ volatile ("mov r0," REG_FP "\n\tstr r0,%0" : "=m" (fp) : : "r0");
-diff --git a/src/greenlet/platform/switch_arm32_ios.h b/src/greenlet/platform/switch_arm32_ios.h
-index e993707..9e640e1 100644
---- a/src/greenlet/platform/switch_arm32_ios.h
-+++ b/src/greenlet/platform/switch_arm32_ios.h
-@@ -38,7 +38,7 @@ __attribute__((optimize("no-omit-frame-pointer")))
- slp_switch(void)
- {
- void *fp;
-- register int *stackref, stsizediff, result;
-+ int *stackref, stsizediff, result;
- __asm__ volatile ("" : : : REGS_TO_SAVE);
- __asm__ volatile ("str " REG_FP ",%0" : "=m" (fp));
- __asm__ ("mov %0," REG_SP : "=r" (stackref));
-diff --git a/src/greenlet/platform/switch_csky_gcc.h b/src/greenlet/platform/switch_csky_gcc.h
-index 7486b94..ac469d3 100644
---- a/src/greenlet/platform/switch_csky_gcc.h
-+++ b/src/greenlet/platform/switch_csky_gcc.h
-@@ -23,7 +23,7 @@ __attribute__((optimize("no-omit-frame-pointer")))
- #endif
- slp_switch(void)
- {
-- register int *stackref, stsizediff;
-+ int *stackref, stsizediff;
- int result;
-
- __asm__ volatile ("" : : : REGS_TO_SAVE);
-diff --git a/src/greenlet/platform/switch_mips_unix.h b/src/greenlet/platform/switch_mips_unix.h
-index 1916b26..b9003e9 100644
---- a/src/greenlet/platform/switch_mips_unix.h
-+++ b/src/greenlet/platform/switch_mips_unix.h
-@@ -19,8 +19,8 @@
- static int
- slp_switch(void)
- {
-- register int err;
-- register int *stackref, stsizediff;
-+ int err;
-+ int *stackref, stsizediff;
- #ifdef __mips64
- uint64_t gpsave;
- #endif
-diff --git a/src/greenlet/platform/switch_ppc64_aix.h b/src/greenlet/platform/switch_ppc64_aix.h
-index e07b8de..e7e0b87 100644
---- a/src/greenlet/platform/switch_ppc64_aix.h
-+++ b/src/greenlet/platform/switch_ppc64_aix.h
-@@ -74,8 +74,8 @@
- static int
- slp_switch(void)
- {
-- register int err;
-- register long *stackref, stsizediff;
-+ int err;
-+ long *stackref, stsizediff;
- void * toc;
- void * r30;
- __asm__ volatile ("" : : : REGS_TO_SAVE);
-diff --git a/src/greenlet/platform/switch_ppc64_linux.h b/src/greenlet/platform/switch_ppc64_linux.h
-index 88e6847..3c324d0 100644
---- a/src/greenlet/platform/switch_ppc64_linux.h
-+++ b/src/greenlet/platform/switch_ppc64_linux.h
-@@ -76,8 +76,8 @@
- static int
- slp_switch(void)
- {
-- register int err;
-- register long *stackref, stsizediff;
-+ int err;
-+ long *stackref, stsizediff;
- void * toc;
- void * r30;
- __asm__ volatile ("" : : : REGS_TO_SAVE);
-diff --git a/src/greenlet/platform/switch_ppc_aix.h b/src/greenlet/platform/switch_ppc_aix.h
-index c7d476f..6d93c13 100644
---- a/src/greenlet/platform/switch_ppc_aix.h
-+++ b/src/greenlet/platform/switch_ppc_aix.h
-@@ -53,8 +53,8 @@
- static int
- slp_switch(void)
- {
-- register int err;
-- register int *stackref, stsizediff;
-+ int err;
-+ int *stackref, stsizediff;
- __asm__ volatile ("" : : : REGS_TO_SAVE);
- __asm__ ("mr %0, 1" : "=r" (stackref) : );
- {
-diff --git a/src/greenlet/platform/switch_ppc_linux.h b/src/greenlet/platform/switch_ppc_linux.h
-index 0a71255..e83ad70 100644
---- a/src/greenlet/platform/switch_ppc_linux.h
-+++ b/src/greenlet/platform/switch_ppc_linux.h
-@@ -49,8 +49,8 @@
- static int
- slp_switch(void)
- {
-- register int err;
-- register int *stackref, stsizediff;
-+ int err;
-+ int *stackref, stsizediff;
- __asm__ volatile ("" : : : REGS_TO_SAVE);
- __asm__ ("mr %0, 1" : "=r" (stackref) : );
- {
-diff --git a/src/greenlet/platform/switch_ppc_macosx.h b/src/greenlet/platform/switch_ppc_macosx.h
-index 56e573f..d6e5a03 100644
---- a/src/greenlet/platform/switch_ppc_macosx.h
-+++ b/src/greenlet/platform/switch_ppc_macosx.h
-@@ -46,8 +46,8 @@
- static int
- slp_switch(void)
- {
-- register int err;
-- register int *stackref, stsizediff;
-+ int err;
-+ int *stackref, stsizediff;
- __asm__ volatile ("" : : : REGS_TO_SAVE);
- __asm__ ("; asm block 2\n\tmr %0, r1" : "=g" (stackref) : );
- {
-diff --git a/src/greenlet/platform/switch_ppc_unix.h b/src/greenlet/platform/switch_ppc_unix.h
-index 2b3d307..ca590a5 100644
---- a/src/greenlet/platform/switch_ppc_unix.h
-+++ b/src/greenlet/platform/switch_ppc_unix.h
-@@ -47,8 +47,8 @@
- static int
- slp_switch(void)
- {
-- register int err;
-- register int *stackref, stsizediff;
-+ int err;
-+ int *stackref, stsizediff;
- __asm__ volatile ("" : : : REGS_TO_SAVE);
- __asm__ ("mr %0, 1" : "=g" (stackref) : );
- {
-diff --git a/src/greenlet/platform/switch_s390_unix.h b/src/greenlet/platform/switch_s390_unix.h
-index 6641854..9199367 100644
---- a/src/greenlet/platform/switch_s390_unix.h
-+++ b/src/greenlet/platform/switch_s390_unix.h
-@@ -36,8 +36,8 @@
- static int
- slp_switch(void)
- {
-- register int ret;
-- register long *stackref, stsizediff;
-+ int ret;
-+ long *stackref, stsizediff;
- __asm__ volatile ("" : : : REGS_TO_SAVE);
- #ifdef __s390x__
- __asm__ volatile ("lgr %0, 15" : "=r" (stackref) : );
-diff --git a/src/greenlet/platform/switch_sparc_sun_gcc.h b/src/greenlet/platform/switch_sparc_sun_gcc.h
-index 652b57f..96990c3 100644
---- a/src/greenlet/platform/switch_sparc_sun_gcc.h
-+++ b/src/greenlet/platform/switch_sparc_sun_gcc.h
-@@ -51,8 +51,8 @@
- static int
- slp_switch(void)
- {
-- register int err;
-- register int *stackref, stsizediff;
-+ int err;
-+ int *stackref, stsizediff;
-
- /* Put current stack pointer into stackref.
- * Register spilling is done in save/restore.
-diff --git a/src/greenlet/platform/switch_x32_unix.h b/src/greenlet/platform/switch_x32_unix.h
-index cb14ec1..893369c 100644
---- a/src/greenlet/platform/switch_x32_unix.h
-+++ b/src/greenlet/platform/switch_x32_unix.h
-@@ -22,8 +22,8 @@ slp_switch(void)
- void* ebx;
- unsigned int csr;
- unsigned short cw;
-- register int err;
-- register int *stackref, stsizediff;
-+ int err;
-+ int *stackref, stsizediff;
- __asm__ volatile ("" : : : REGS_TO_SAVE);
- __asm__ volatile ("fstcw %0" : "=m" (cw));
- __asm__ volatile ("stmxcsr %0" : "=m" (csr));
-diff --git a/src/greenlet/platform/switch_x86_unix.h b/src/greenlet/platform/switch_x86_unix.h
-index 3a95186..493fa6b 100644
---- a/src/greenlet/platform/switch_x86_unix.h
-+++ b/src/greenlet/platform/switch_x86_unix.h
-@@ -51,7 +51,7 @@ slp_switch(void)
- #endif
- void *ebp, *ebx;
- unsigned short cw;
-- register int *stackref, stsizediff;
-+ int *stackref, stsizediff;
- __asm__ volatile ("" : : : "esi", "edi");
- __asm__ volatile ("fstcw %0" : "=m" (cw));
- __asm__ volatile ("movl %%ebp, %0" : "=m" (ebp));
---
-2.39.1
-
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_2.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_2.0.2.bb
deleted file mode 100644
index a2e036a..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_2.0.2.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "Python lightweight in-process concurrent programming"
-HOMEPAGE = "https://greenlet.readthedocs.io/en/latest/"
-LICENSE = "MIT & PSF-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e95668d68e4329085c7ab3535e6a7aee \
- file://LICENSE.PSF;md5=c106931d9429eda0492617f037b8f69a"
-
-SRC_URI += "file://0001-cleanup-Drop-using-register-storage-class-keyword-ev.patch"
-SRC_URI[sha256sum] = "e7c8dc13af7db097bed64a051d2dd49e9f0af495c26995c00a9ee842690d34c0"
-
-inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_3.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_3.0.1.bb
new file mode 100644
index 0000000..523c2b6
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_3.0.1.bb
@@ -0,0 +1,9 @@
+SUMMARY = "Python lightweight in-process concurrent programming"
+HOMEPAGE = "https://greenlet.readthedocs.io/en/latest/"
+LICENSE = "MIT & PSF-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e95668d68e4329085c7ab3535e6a7aee \
+ file://LICENSE.PSF;md5=c106931d9429eda0492617f037b8f69a"
+
+SRC_URI[sha256sum] = "816bd9488a94cba78d93e1abb58000e8266fa9cc2aa9ccdd6eb0696acb24005b"
+
+inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.10.0.bb
new file mode 100644
index 0000000..e772106
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.10.0.bb
@@ -0,0 +1,39 @@
+SUMMARY = "Provides both a high- and low-level interface to the HDF5 library from Python."
+HOMEPAGE = "https://www.h5py.org/"
+SECTION = "devel/python"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=113251d71fb0384712c719b567261c5c"
+
+SRC_URI[sha256sum] = "d93adc48ceeb33347eb24a634fb787efc7ae4644e6ea4ba733d099605045c049"
+
+SRC_URI += "file://0001-setup_build.py-avoid-absolute-path.patch"
+
+inherit pkgconfig pypi setuptools3
+
+BBCLASSEXTEND = "native"
+
+DEPENDS = "python3-pkgconfig-native \
+ python3-cython-native \
+ python3-numpy-native \
+ python3-six-native \
+ hdf5-native \
+ python3 \
+ hdf5 \
+ "
+
+PACKAGESPLITFUNCS =+ "fix_cythonized_sources"
+
+fix_cythonized_sources() {
+ for f in `grep -l -r -e '\/* Generated by Cython.*/$' ${PKGD}${TARGET_DBGSRC_DIR}`; do
+ if [ -e $f ]; then
+ sed -i -e 's#${RECIPE_SYSROOT_NATIVE}##g' $f
+ fi
+ done
+}
+
+RDEPENDS:${PN} = "python3-numpy \
+ python3-six \
+ python3-json \
+ "
+
+export HDF5_VERSION="1.14.0"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.9.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.9.0.bb
deleted file mode 100644
index 834bb03..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.9.0.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-SUMMARY = "Provides both a high- and low-level interface to the HDF5 library from Python."
-HOMEPAGE = "https://www.h5py.org/"
-SECTION = "devel/python"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=113251d71fb0384712c719b567261c5c"
-
-SRC_URI[sha256sum] = "e604db6521c1e367c6bd7fad239c847f53cc46646f2d2651372d05ae5e95f817"
-
-SRC_URI += "file://0001-setup_build.py-avoid-absolute-path.patch"
-
-inherit pkgconfig pypi setuptools3
-
-BBCLASSEXTEND = "native"
-
-DEPENDS = "python3-pkgconfig-native \
- python3-cython-native \
- python3-numpy-native \
- python3-six-native \
- hdf5-native \
- python3 \
- hdf5 \
- "
-
-PACKAGESPLITFUNCS =+ "fix_cythonized_sources"
-
-fix_cythonized_sources() {
- for f in `grep -l -r -e '\/* Generated by Cython.*/$' ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}`; do
- if [ -e $f ]; then
- sed -i -e 's#${RECIPE_SYSROOT_NATIVE}##g' $f
- fi
- done
-}
-
-RDEPENDS:${PN} = "python3-numpy \
- python3-six \
- python3-json \
- "
-
-export HDF5_VERSION="1.14.0"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-hexbytes_0.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-hexbytes_0.3.1.bb
deleted file mode 100644
index 19b5813..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-hexbytes_0.3.1.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "Python bytes subclass that decodes hex, with a readable console output."
-HOMEPAGE = "https://github.com/ethereum/hexbytes"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=287820ad3553117aa2f92bf84c219324"
-
-SRC_URI[sha256sum] = "a3fe35c6831ee8fafd048c4c086b986075fc14fd46258fa24ecb8d65745f9a9d"
-
-inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-hexbytes_1.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-hexbytes_1.0.0.bb
new file mode 100644
index 0000000..951998b
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-hexbytes_1.0.0.bb
@@ -0,0 +1,9 @@
+SUMMARY = "Python bytes subclass that decodes hex, with a readable console output."
+HOMEPAGE = "https://github.com/ethereum/hexbytes"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=16ffc86adf4293d4cfb204e77d62cfe6"
+
+SRC_URI[sha256sum] = "18e6e3279a13878b93fb85da77822dc506b7048065a588e74141c2468a65ad8c"
+
+inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.4.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.4.5.bb
deleted file mode 100644
index dbddd6c..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.4.5.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "a little task queue for python"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5cac039fcc82f01141cc170b48f315d4"
-
-PYPI_PACKAGE = "huey"
-
-SRC_URI[sha256sum] = "760cf150deff1fa34b852da37701a5a750d1148f03ea07aa2b3764dc6060b4c3"
-
-RDEPENDS:${PN} += " \
- python3-datetime \
- python3-logging \
- python3-multiprocessing \
- python3-json \
-"
-
-inherit pypi setuptools3
-
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.5.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.5.0.bb
new file mode 100644
index 0000000..c6e5606
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.5.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "a little task queue for python"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5cac039fcc82f01141cc170b48f315d4"
+
+PYPI_PACKAGE = "huey"
+
+SRC_URI[sha256sum] = "2ffb52fb5c46a1b0d53c79d59df3622312b27e2ab68d81a580985a8ea4ca3480"
+
+RDEPENDS:${PN} += " \
+ python3-datetime \
+ python3-logging \
+ python3-multiprocessing \
+ python3-json \
+"
+
+inherit pypi setuptools3
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-icu_2.11.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-icu_2.11.bb
deleted file mode 100644
index c66455c..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-icu_2.11.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "Python extension wrapping the ICU C++ API"
-HOMEPAGE = "https://gitlab.pyicu.org/main/pyicu"
-BUGTRACKER = "https://gitlab.pyicu.org/main/pyicu/-/issues"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0724597863f1581ab01429e0423e779f"
-
-DEPENDS += "icu"
-
-PYPI_PACKAGE = "PyICU"
-SRC_URI[sha256sum] = "3ab531264cfe9132b3d2ac5d708da9a4649d25f6e6813730ac88cf040a08a844"
-
-SRC_URI += "file://0001-Fix-host-contamination-of-include-files.patch"
-
-inherit pkgconfig pypi python_setuptools_build_meta
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-icu_2.12.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-icu_2.12.bb
new file mode 100644
index 0000000..6394db4
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-icu_2.12.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Python extension wrapping the ICU C++ API"
+HOMEPAGE = "https://gitlab.pyicu.org/main/pyicu"
+BUGTRACKER = "https://gitlab.pyicu.org/main/pyicu/-/issues"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0724597863f1581ab01429e0423e779f"
+
+DEPENDS += "icu"
+
+PYPI_PACKAGE = "PyICU"
+SRC_URI[sha256sum] = "bd7ab5efa93ad692e6daa29cd249364e521218329221726a113ca3cb281c8611"
+
+SRC_URI += "file://0001-Fix-host-contamination-of-include-files.patch"
+
+inherit pkgconfig pypi python_setuptools_build_meta
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.31.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.31.3.bb
deleted file mode 100644
index 709822d..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.31.3.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "Python library that provides an easy interface to read and \
-write a wide range of image data, including animated images, video, \
-volumetric data, and scientific formats."
-SECTION = "devel/python"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=24cb9a367a9e641b459a01c4d15256ba"
-
-SRC_URI[sha256sum] = "74c6a832d81b7ad5a8a80976dea58ee033d3e2b99a54990cbd789b4cb0b31461"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} = "python3-numpy python3-pillow"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.33.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.33.0.bb
new file mode 100644
index 0000000..f627575
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.33.0.bb
@@ -0,0 +1,12 @@
+SUMMARY = "Python library that provides an easy interface to read and \
+write a wide range of image data, including animated images, video, \
+volumetric data, and scientific formats."
+SECTION = "devel/python"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=24cb9a367a9e641b459a01c4d15256ba"
+
+SRC_URI[sha256sum] = "39999d05eb500089e60be467dd7d618f56e142229b44c3961c2b420eeb538d7e"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} = "python3-numpy python3-pillow"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-imgtool_1.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-imgtool_1.10.0.bb
deleted file mode 100644
index 5282bcc..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-imgtool_1.10.0.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "MCUboot's image signing and key management tool"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://imgtool/main.py;beginline=3;endline=18;md5=9965f09ae52c04886a1f04e13ccdce57"
-
-SRC_URI[sha256sum] = "03b34e75934ac3d96e7c42b6bcaf11ceaf4f453f7c6f26c17d726bd183104b40"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} = "python3-cbor2 python3-click python3-cryptography python3-intelhex"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-imgtool_2.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-imgtool_2.0.0.bb
new file mode 100644
index 0000000..a25e6a6
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-imgtool_2.0.0.bb
@@ -0,0 +1,12 @@
+SUMMARY = "MCUboot's image signing and key management tool"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://imgtool/main.py;beginline=3;endline=18;md5=0645fb61e2f961a110302fbfdb227446"
+
+SRC_URI[sha256sum] = "7a541255e69eec1f12aa38dce1f1d4fe20d8212677c68a9b6ec634ca91a06612"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} = "python3-cbor2 python3-click python3-cryptography python3-intelhex"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-inflate64_1.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-inflate64_1.0.0.bb
new file mode 100644
index 0000000..d3b5574
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-inflate64_1.0.0.bb
@@ -0,0 +1,16 @@
+SUMMARY = "deflate64 compression/decompression library"
+HOMEPAGE = "https://codeberg.org/miurahr/inflate64"
+LICENSE = "LGPL-2.1-or-later"
+SECTION = "devel/python"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+inherit setuptools3 pypi
+
+SRC_URI[sha256sum] = "3278827b803cf006a1df251f3e13374c7d26db779e5a33329cc11789b804bc2d"
+
+PYPI_PACKAGE = "inflate64"
+
+RDEPENDS:${PN} += "\
+ ${PYTHON_PN}-core \
+ ${PYTHON_PN}-importlib-metadata \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.15.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.15.0.bb
deleted file mode 100644
index f06e501..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.15.0.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-SUMMARY = "IPython: Productive Interactive Computing"
-HOMEPAGE = "https://ipython.org"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://COPYING.rst;md5=59b20262b8663cdd094005bddf47af5f"
-
-PYPI_PACKAGE = "ipython"
-
-SRC_URI[sha256sum] = "2baeb5be6949eeebf532150f81746f8333e2ccce02de1c7eedde3f23ed5e9f1e"
-
-RDEPENDS:${PN} = "\
- ${PYTHON_PN}-setuptools \
- ${PYTHON_PN}-jedi \
- ${PYTHON_PN}-decorator \
- ${PYTHON_PN}-pickleshare \
- ${PYTHON_PN}-traitlets \
- ${PYTHON_PN}-prompt-toolkit \
- ${PYTHON_PN}-pygments \
- ${PYTHON_PN}-backcall \
- ${PYTHON_PN}-pydoc \
- ${PYTHON_PN}-debugger \
- ${PYTHON_PN}-pexpect \
- ${PYTHON_PN}-unixadmin \
- ${PYTHON_PN}-misc \
- ${PYTHON_PN}-sqlite3 \
- ${PYTHON_PN}-stack-data \
-"
-
-inherit setuptools3 pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.17.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.17.2.bb
new file mode 100644
index 0000000..134a358
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.17.2.bb
@@ -0,0 +1,28 @@
+SUMMARY = "IPython: Productive Interactive Computing"
+HOMEPAGE = "https://ipython.org"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING.rst;md5=59b20262b8663cdd094005bddf47af5f"
+
+PYPI_PACKAGE = "ipython"
+
+SRC_URI[sha256sum] = "126bb57e1895594bb0d91ea3090bbd39384f6fe87c3d57fd558d0670f50339bb"
+
+RDEPENDS:${PN} = "\
+ ${PYTHON_PN}-setuptools \
+ ${PYTHON_PN}-jedi \
+ ${PYTHON_PN}-decorator \
+ ${PYTHON_PN}-pickleshare \
+ ${PYTHON_PN}-traitlets \
+ ${PYTHON_PN}-prompt-toolkit \
+ ${PYTHON_PN}-pygments \
+ ${PYTHON_PN}-backcall \
+ ${PYTHON_PN}-pydoc \
+ ${PYTHON_PN}-debugger \
+ ${PYTHON_PN}-pexpect \
+ ${PYTHON_PN}-unixadmin \
+ ${PYTHON_PN}-misc \
+ ${PYTHON_PN}-sqlite3 \
+ ${PYTHON_PN}-stack-data \
+"
+
+inherit setuptools3 pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-jedi_0.19.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-jedi_0.19.0.bb
deleted file mode 100644
index 58e8cc1..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-jedi_0.19.0.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "An autocompletion tool for Python that can be used for text editors."
-HOMEPAGE = "https://github.com/davidhalter/jedi"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5ed06eebfcb244cd66ebf6cef9c23ab4"
-
-PYPI_PACKAGE = "jedi"
-
-SRC_URI[sha256sum] = "bcf9894f1753969cbac8022a8c2eaee06bfa3724e4192470aaffe7eb6272b0c4"
-
-RDEPENDS:${PN} = " \
- ${PYTHON_PN}-parso \
- ${PYTHON_PN}-core \
- ${PYTHON_PN}-compression \
- ${PYTHON_PN}-pydoc \
- ${PYTHON_PN}-compile \
- ${PYTHON_PN}-json \
-"
-
-inherit setuptools3 pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-jedi_0.19.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-jedi_0.19.1.bb
new file mode 100644
index 0000000..f335625
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-jedi_0.19.1.bb
@@ -0,0 +1,19 @@
+SUMMARY = "An autocompletion tool for Python that can be used for text editors."
+HOMEPAGE = "https://github.com/davidhalter/jedi"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5ed06eebfcb244cd66ebf6cef9c23ab4"
+
+PYPI_PACKAGE = "jedi"
+
+SRC_URI[sha256sum] = "cf0496f3651bc65d7174ac1b7d043eff454892c708a87d1b683e57b569927ffd"
+
+RDEPENDS:${PN} = " \
+ ${PYTHON_PN}-parso \
+ ${PYTHON_PN}-core \
+ ${PYTHON_PN}-compression \
+ ${PYTHON_PN}-pydoc \
+ ${PYTHON_PN}-compile \
+ ${PYTHON_PN}-json \
+"
+
+inherit setuptools3 pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-jsbeautifier_1.14.11.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-jsbeautifier_1.14.11.bb
new file mode 100644
index 0000000..7b43877
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-jsbeautifier_1.14.11.bb
@@ -0,0 +1,19 @@
+SUMMARY = "JavaScript unobfuscator and beautifier."
+HOMEPAGE = "https://beautifier.io/"
+LICENSE = "MIT"
+SECTION = "devel/python"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489"
+
+inherit pypi setuptools3
+
+SRC_URI[sha256sum] = "6b632581ea60dd1c133cd25a48ad187b4b91f526623c4b0fb5443ef805250505"
+
+PYPI_PACKAGE="jsbeautifier"
+
+RDEPENDS:${PN} += "\
+ ${PYTHON_PN}-core \
+ ${PYTHON_PN}-stringold \
+ ${PYTHON_PN}-shell \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-kivy/0001-add-support-for-glesv2.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-kivy/0001-add-support-for-glesv2.patch
index 0abc6c5..e38b31d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-kivy/0001-add-support-for-glesv2.patch
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-kivy/0001-add-support-for-glesv2.patch
@@ -1,8 +1,19 @@
+From 98224fec48d6e0f32b28d81220bf1ee1637ce045 Mon Sep 17 00:00:00 2001
+From: William Huang <whuang8933@gmail.com>
+Date: Thu, 2 Sep 2021 07:25:07 -0400
+Subject: [PATCH] recipes-devtools: python: add support for Kivy
+
Upstream-Status: Pending
+---
+ setup.py | 16 +++++++++++++---
+ 1 file changed, 13 insertions(+), 3 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 35e34afdd..0ba3aca72 100644
--- a/setup.py
+++ b/setup.py
-@@ -695,7 +695,18 @@ def determine_gl_flags():
+@@ -730,7 +730,18 @@ def determine_gl_flags():
c_options['use_x11'] = True
c_options['use_egl'] = True
else:
@@ -22,7 +33,7 @@
return flags, base_flags
-@@ -723,14 +734,13 @@ def determine_sdl2():
+@@ -774,14 +785,13 @@ def determine_sdl2():
sdl_inc = join(include, 'SDL2')
if isdir(sdl_inc):
sdl2_paths.append(sdl_inc)
@@ -36,5 +47,5 @@
- ['/usr/local/lib/'])
+ [''])
- if sdl2_flags:
- flags = merge(flags, sdl2_flags)
+ if kivy_sdl2_path:
+ # If we have a custom path, we need to add the rpath to the linker
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-kivy_2.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-kivy_2.1.0.bb
deleted file mode 100644
index b02c55a..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-kivy_2.1.0.bb
+++ /dev/null
@@ -1,76 +0,0 @@
-SUMMARY = "Open source Python library for rapid development of applications \
- that make use of innovative user interfaces, such as multi-touch apps."
-HOMEPAGE = "https://kivy.org/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=22e7b4dd8140eec57fd7edfd9fa23dfc"
-
-inherit setuptools3 pkgconfig features_check
-PIP_INSTALL_PACKAGE = "Kivy"
-
-SRC_URI = "\
- git://github.com/kivy/kivy.git;protocol=https;branch=master \
-"
-
-# Kivy's setup files only look for GLES libraries for Android, iOS, RPi,
-# and mali-based OS's. We need to patch the setup file to tell Kivy setup
-# that our machine has GLES libaries installed as well
-# Also, if using SDL2 as backend, SDL2 needs to be configured wth gles
-SRC_URI += " \
- file://0001-add-support-for-glesv2.patch \
-"
-SRCREV = "960b95dc666753f59eff1b449124490fbec10184"
-
-S = "${WORKDIR}/git"
-
-PACKAGES += "${PN}-examples"
-FILES:${PN}-examples = "/usr/share/kivy-examples"
-
-USE_WAYLAND = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '1', '0', d)}"
-export USE_WAYLAND
-
-# if using Wayland, let's use pure Wayland (and not XWayland)
-# so do not build using X11 flag when we detect Wayland
-USE_X11 = " \
- ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '0', \
- bb.utils.contains('DISTRO_FEATURES', 'x11', '1', \
- '0', d), d)}"
-export USE_X11
-
-# Use OpenGL ES 2.0 library
-KIVY_GRAPHICS = "gles"
-export KIVY_GRAPHICS
-
-KIVY_CROSS_SYSROOT="${RECIPE_SYSROOT}"
-export KIVY_CROSS_SYSROOT
-
-REQUIRED_DISTRO_FEATURES += "opengl gobject-introspection-data"
-
-ANY_OF_DISTRO_FEATURES = "x11 wayland"
-
-DEPENDS += " \
- gstreamer1.0 \
- gstreamer1.0-python \
- libsdl2 \
- libsdl2-ttf \
- libsdl2-image \
- libsdl2-mixer \
- pango \
- python3 \
- python3-cython-native \
-"
-
-RDEPENDS:${PN} = " \
- gstreamer1.0 \
- gstreamer1.0-python \
- libsdl2 \
- libsdl2-ttf \
- libsdl2-image \
- libsdl2-mixer \
- pango \
- python3 \
- python3-docutils \
- python3-fcntl \
- python3-image \
- python3-pillow \
- python3-pygments \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-kivy_2.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-kivy_2.2.1.bb
new file mode 100644
index 0000000..a72ee14
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-kivy_2.2.1.bb
@@ -0,0 +1,73 @@
+SUMMARY = "Open source Python library for rapid development of applications \
+ that make use of innovative user interfaces, such as multi-touch apps."
+HOMEPAGE = "https://kivy.org/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ed5cd0f2cfda42852c332e3b88c85fea"
+
+inherit setuptools3 pkgconfig features_check
+PIP_INSTALL_PACKAGE = "Kivy"
+
+# Kivy's setup files only look for GLES libraries for Android, iOS, RPi,
+# and mali-based OS's. We need to patch the setup file to tell Kivy setup
+# that our machine has GLES libaries installed as well
+# Also, if using SDL2 as backend, SDL2 needs to be configured with gles
+SRC_URI = "git://github.com/kivy/kivy.git;protocol=https;branch=stable \
+ file://0001-add-support-for-glesv2.patch \
+ "
+
+SRCREV = "344768bfefd2e8f5302cc9dfb8ca41991ce6f7e7"
+
+S = "${WORKDIR}/git"
+
+PACKAGES += "${PN}-examples"
+FILES:${PN}-examples = "/usr/share/kivy-examples"
+
+USE_WAYLAND = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '1', '0', d)}"
+export USE_WAYLAND
+
+# if using Wayland, let's use pure Wayland (and not XWayland)
+# so do not build using X11 flag when we detect Wayland
+USE_X11 = " \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '0', \
+ bb.utils.contains('DISTRO_FEATURES', 'x11', '1', \
+ '0', d), d)}"
+export USE_X11
+
+# Use OpenGL ES 2.0 library
+KIVY_GRAPHICS = "gles"
+export KIVY_GRAPHICS
+
+KIVY_CROSS_SYSROOT="${RECIPE_SYSROOT}"
+export KIVY_CROSS_SYSROOT
+
+REQUIRED_DISTRO_FEATURES += "opengl gobject-introspection-data"
+
+ANY_OF_DISTRO_FEATURES = "x11 wayland"
+
+DEPENDS += " \
+ gstreamer1.0 \
+ gstreamer1.0-python \
+ libsdl2 \
+ libsdl2-ttf \
+ libsdl2-image \
+ libsdl2-mixer \
+ pango \
+ python3 \
+ python3-cython-native \
+"
+
+RDEPENDS:${PN} = " \
+ gstreamer1.0 \
+ gstreamer1.0-python \
+ libsdl2 \
+ libsdl2-ttf \
+ libsdl2-image \
+ libsdl2-mixer \
+ pango \
+ python3 \
+ python3-docutils \
+ python3-fcntl \
+ python3-image \
+ python3-pillow \
+ python3-pygments \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-linux-procfs_0.7.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-linux-procfs_0.7.1.bb
deleted file mode 100644
index d51eecf..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-linux-procfs_0.7.1.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-DESCRIPTION = "Python classes to extract information from the Linux kernel /proc files."
-HOMEPAGE = "https://git.kernel.org/pub/scm/libs/python/python-linux-procfs/python-linux-procfs.git/"
-SECTION = "devel/python"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
-
-SRC_URI = "git://git.kernel.org/pub/scm/libs/python/python-linux-procfs/python-linux-procfs.git;branch=main"
-SRCREV = "7f43598387e44e2da93ead2e075b7232429e4cc4"
-
-S = "${WORKDIR}/git"
-
-inherit setuptools3
-
-RDEPENDS:${PN} += "python3-six"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-linux-procfs_0.7.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-linux-procfs_0.7.3.bb
new file mode 100644
index 0000000..8c53d38
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-linux-procfs_0.7.3.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "Python classes to extract information from the Linux kernel /proc files."
+HOMEPAGE = "https://git.kernel.org/pub/scm/libs/python/python-linux-procfs/python-linux-procfs.git/"
+SECTION = "devel/python"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6a6855782848d572347212f667a2d637"
+
+SRC_URI = "git://git.kernel.org/pub/scm/libs/python/python-linux-procfs/python-linux-procfs.git;branch=main"
+SRCREV = "59ecd1ba018141a02ffe59c16a9346991dfd0d48"
+
+S = "${WORKDIR}/git"
+
+inherit setuptools3
+
+RDEPENDS:${PN} += "python3-six"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-lru-dict_1.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-lru-dict_1.2.0.bb
deleted file mode 100644
index 7a3a172..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-lru-dict_1.2.0.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "A fixed size dict like container which evicts Least Recently Used (LRU) items once size limit is exceeded."
-HOMEPAGE = "https://github.com/amitdev/lru-dict"
-SECTION = "devel/python"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=9d10a486ee04034fdef5162fd791f153"
-
-SRC_URI[sha256sum] = "13c56782f19d68ddf4d8db0170041192859616514c706b126d0df2ec72a11bd7"
-
-inherit pypi setuptools3
-
-SRC_URI += "${PYPI_SRC_URI}"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-lru-dict_1.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-lru-dict_1.3.0.bb
new file mode 100644
index 0000000..e9535fa
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-lru-dict_1.3.0.bb
@@ -0,0 +1,11 @@
+SUMMARY = "A fixed size dict like container which evicts Least Recently Used (LRU) items once size limit is exceeded."
+HOMEPAGE = "https://github.com/amitdev/lru-dict"
+SECTION = "devel/python"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=9d10a486ee04034fdef5162fd791f153"
+
+SRC_URI[sha256sum] = "54fd1966d6bd1fcde781596cb86068214edeebff1db13a2cea11079e3fd07b6b"
+
+inherit pypi setuptools3
+
+SRC_URI += "${PYPI_SRC_URI}"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.39.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.39.0.bb
deleted file mode 100644
index d47ec2b..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.39.0.bb
+++ /dev/null
@@ -1,52 +0,0 @@
-SUMMARY = "A Python crypto and SSL toolkit"
-HOMEPAGE = "https://gitlab.com/m2crypto/m2crypto"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENCE;md5=b0e1f0b7d0ce8a62c18b1287b991800e"
-
-FILESEXTRAPATHS:prepend := "${THISDIR}/python-m2crypto:"
-
-SRC_URI += "file://0001-setup.py-link-in-sysroot-not-in-host-directories.patch \
- file://cross-compile-platform.patch \
- file://avoid-host-contamination.patch \
- file://0001-setup.py-address-openssl-3.x-build-issue.patch \
- "
-SRC_URI[sha256sum] = "24c0f471358b8b19ad4c8aa9da12e868030b65c1fdb3279d006df60c9501338a"
-
-PYPI_PACKAGE = "M2Crypto"
-inherit pypi siteinfo setuptools3
-
-DEPENDS += "openssl swig-native"
-RDEPENDS:${PN} += "\
- ${PYTHON_PN}-datetime \
- ${PYTHON_PN}-distutils \
- ${PYTHON_PN}-logging \
- ${PYTHON_PN}-netclient \
- ${PYTHON_PN}-netserver \
- ${PYTHON_PN}-numbers \
- ${PYTHON_PN}-smtpd \
- ${PYTHON_PN}-xmlrpc \
-"
-
-DISTUTILS_BUILD_ARGS += "build_ext --openssl=${STAGING_EXECPREFIXDIR} -I${STAGING_INCDIR}"
-DISTUTILS_INSTALL_ARGS += "build_ext --openssl=${STAGING_EXECPREFIXDIR}"
-
-SWIG_FEATURES ?= "-D__${HOST_ARCH}__ ${@['-D__ILP32__','-D__LP64__'][d.getVar('SITEINFO_BITS') != '32']} -DOPENSSL_NO_FILENAMES"
-
-SWIG_FEATURES:append:riscv64 = " -D__SIZEOF_POINTER__=${SITEINFO_BITS}/8 -D__riscv_xlen=${SITEINFO_BITS}"
-SWIG_FEATURES:append:riscv32 = " -D__SIZEOF_POINTER__=${SITEINFO_BITS}/8 -D__riscv_xlen=${SITEINFO_BITS}"
-SWIG_FEATURES:append:mipsarch = " -D_MIPS_SZPTR=${SITEINFO_BITS}"
-SWIG_FEATURES:append:powerpc64le = " -D__powerpc64__"
-SWIG_FEATURES:append:x86 = " -D__i386__"
-SWIG_FEATURES:append:x32 = " -D__ILP32__"
-
-export SWIG_FEATURES
-
-export STAGING_DIR
-
-do_install:append() {
- rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/M2Crypto/SSL/__pycache__/*.cpython-*.pyc
- rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/M2Crypto/__pycache__/*.cpython-*.pyc
-}
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.40.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.40.1.bb
new file mode 100644
index 0000000..a55ded3
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.40.1.bb
@@ -0,0 +1,52 @@
+SUMMARY = "A Python crypto and SSL toolkit"
+HOMEPAGE = "https://gitlab.com/m2crypto/m2crypto"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=b0e1f0b7d0ce8a62c18b1287b991800e"
+
+FILESEXTRAPATHS:prepend := "${THISDIR}/python-m2crypto:"
+
+SRC_URI += "file://0001-setup.py-link-in-sysroot-not-in-host-directories.patch \
+ file://cross-compile-platform.patch \
+ file://avoid-host-contamination.patch \
+ file://0001-setup.py-address-openssl-3.x-build-issue.patch \
+ "
+SRC_URI[sha256sum] = "bbfd113ec55708c05816252a4f09e4237df4f3bbfc8171cbbc33057d257bbb30"
+
+PYPI_PACKAGE = "M2Crypto"
+inherit pypi siteinfo setuptools3
+
+DEPENDS += "openssl swig-native"
+RDEPENDS:${PN} += "\
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-distutils \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-netserver \
+ ${PYTHON_PN}-numbers \
+ ${PYTHON_PN}-smtpd \
+ ${PYTHON_PN}-xmlrpc \
+"
+
+DISTUTILS_BUILD_ARGS += "build_ext --openssl=${STAGING_EXECPREFIXDIR} -I${STAGING_INCDIR}"
+DISTUTILS_INSTALL_ARGS += "build_ext --openssl=${STAGING_EXECPREFIXDIR}"
+
+SWIG_FEATURES ?= "-D__${HOST_ARCH}__ ${@['-D__ILP32__','-D__LP64__'][d.getVar('SITEINFO_BITS') != '32']} -DOPENSSL_NO_FILENAMES"
+
+SWIG_FEATURES:append:riscv64 = " -D__SIZEOF_POINTER__=${SITEINFO_BITS}/8 -D__riscv_xlen=${SITEINFO_BITS}"
+SWIG_FEATURES:append:riscv32 = " -D__SIZEOF_POINTER__=${SITEINFO_BITS}/8 -D__riscv_xlen=${SITEINFO_BITS}"
+SWIG_FEATURES:append:mipsarch = " -D_MIPS_SZPTR=${SITEINFO_BITS}"
+SWIG_FEATURES:append:powerpc64le = " -D__powerpc64__"
+SWIG_FEATURES:append:x86 = " -D__i386__"
+SWIG_FEATURES:append:x32 = " -D__ILP32__"
+
+export SWIG_FEATURES
+
+export STAGING_DIR
+
+do_install:append() {
+ rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/M2Crypto/SSL/__pycache__/*.cpython-*.pyc
+ rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/M2Crypto/__pycache__/*.cpython-*.pyc
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-mccabe_0.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-mccabe_0.7.0.bb
index a2c72fc..265b28a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-mccabe_0.7.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-mccabe_0.7.0.bb
@@ -9,3 +9,5 @@
inherit pypi setuptools3
DEPENDS += "${PYTHON_PN}-pytest-runner-native"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-meson-python_0.13.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-meson-python_0.13.1.bb
deleted file mode 100644
index 6b9ff24..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-meson-python_0.13.1.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Meson Python build backend (PEP 517)"
-HOMEPAGE = "https://github.com/mesonbuild/meson-python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d580b27e67cc0892a5b005b0be114b60"
-
-DEPENDS = " \
- meson-native ninja-native patchelf-native \
- python3-pyproject-metadata-native \
-"
-
-PYPI_PACKAGE = "meson_python"
-
-inherit pypi python_mesonpy
-SRC_URI[sha256sum] = "63b3170001425c42fa4cfedadb9051cbd28925ff8eed7c40d36ba0099e3c7618"
-
-DEPENDS:remove:class-native = "python3-meson-python-native"
-
-RDEPENDS:${PN} = " \
- meson ninja patchelf \
- python3-pyproject-metadata \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-meson-python_0.15.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-meson-python_0.15.0.bb
new file mode 100644
index 0000000..c4b01a3
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-meson-python_0.15.0.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Meson Python build backend (PEP 517)"
+HOMEPAGE = "https://github.com/mesonbuild/meson-python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d580b27e67cc0892a5b005b0be114b60"
+
+DEPENDS = " \
+ meson-native ninja-native patchelf-native \
+ python3-pyproject-metadata-native \
+"
+
+PYPI_PACKAGE = "meson_python"
+
+inherit pypi python_mesonpy
+SRC_URI[sha256sum] = "fddb73eecd49e89c1c41c87937cd89c2d0b65a1c63ba28238681d4bd9484d26f"
+
+DEPENDS:remove:class-native = "python3-meson-python-native"
+
+RDEPENDS:${PN} = " \
+ meson ninja patchelf \
+ python3-pyproject-metadata \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_1.0.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_1.0.6.bb
deleted file mode 100644
index 3cddcb9..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_1.0.6.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "MessagePack (de)serializer"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=cd9523181d9d4fbf7ffca52eaa2a5751"
-
-inherit pypi setuptools3 ptest
-
-SRC_URI[sha256sum] = "25d3746da40f3c8c59c3b1d001e49fd2aa17904438f980d9a391370366df001e"
-
-RDEPENDS:${PN}:class-target += "\
- ${PYTHON_PN}-io \
-"
-
-BBCLASSEXTEND = "native nativesdk"
-
-SRC_URI += " \
- file://run-ptest \
-"
-
-RDEPENDS:${PN}-ptest += " \
- ${PYTHON_PN}-pytest \
-"
-
-do_install_ptest() {
- install -d ${D}${PTEST_PATH}/test
- cp -rf ${S}/test/* ${D}${PTEST_PATH}/test/
-}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_1.0.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_1.0.7.bb
new file mode 100644
index 0000000..79943b5
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_1.0.7.bb
@@ -0,0 +1,26 @@
+SUMMARY = "MessagePack (de)serializer"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=cd9523181d9d4fbf7ffca52eaa2a5751"
+
+inherit pypi setuptools3 ptest
+
+SRC_URI[sha256sum] = "572efc93db7a4d27e404501975ca6d2d9775705c2d922390d878fcf768d92c87"
+
+RDEPENDS:${PN}:class-target += "\
+ ${PYTHON_PN}-io \
+"
+
+BBCLASSEXTEND = "native nativesdk"
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS:${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/test
+ cp -rf ${S}/test/* ${D}${PTEST_PATH}/test/
+}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-multivolumefile_0.2.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-multivolumefile_0.2.3.bb
new file mode 100644
index 0000000..c821131
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-multivolumefile_0.2.3.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Multi volume file wrapper library"
+HOMEPAGE = "https://codeberg.org/miurahr/multivolume"
+LICENSE = "LGPL-2.1-or-later"
+SECTION = "devel/python"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI[sha256sum] = "a0648d0aafbc96e59198d5c17e9acad7eb531abea51035d08ce8060dcad709d6"
+
+inherit python_setuptools_build_meta pypi
+
+DEPENDS += " \
+ ${PYTHON_PN}-setuptools-scm-native \
+ ${PYTHON_PN}-toml-native \
+ ${PYTHON_PN}-wheel-native \
+"
+
+RDEPENDS:${PN} += "\
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-core \
+ ${PYTHON_PN}-mmap \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_1.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_1.5.1.bb
deleted file mode 100644
index 50ad9ef..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_1.5.1.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Optional static typing for Python 3 and 2 (PEP 484)"
-HOMEPAGE = "https://github.com/python/mypy"
-LICENSE = "MIT & Python-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=6ba8ec528da02073b7e1f4124c0f836f"
-
-inherit pypi python_setuptools_build_meta
-
-SRC_URI[sha256sum] = "b031b9601f1060bf1281feab89697324726ba0c0bae9d7cd7ab4b690940f0b92"
-
-BBCLASSEXTEND = "native"
-
-DEPENDS += " \
- python3-mypy-extensions-native \
- python3-types-psutil-native \
- python3-types-setuptools-native \
- python3-typing-extensions-native \
-"
-
-RDEPENDS:${PN} += " \
- python3-modules \
- python3-mypy-extensions \
- python3-typing-extensions \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_1.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_1.7.0.bb
new file mode 100644
index 0000000..432cefc
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_1.7.0.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Optional static typing for Python 3 and 2 (PEP 484)"
+HOMEPAGE = "https://github.com/python/mypy"
+LICENSE = "MIT & Python-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8d62fd8f8648cb018e52857347e340b9"
+
+inherit pypi python_setuptools_build_meta
+
+SRC_URI[sha256sum] = "1e280b5697202efa698372d2f39e9a6713a0395a756b1c6bd48995f8d72690dc"
+
+BBCLASSEXTEND = "native"
+
+DEPENDS += " \
+ python3-mypy-extensions-native \
+ python3-types-psutil-native \
+ python3-types-setuptools-native \
+ python3-typing-extensions-native \
+"
+
+RDEPENDS:${PN} += " \
+ python3-modules \
+ python3-mypy-extensions \
+ python3-typing-extensions \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-nacl_1.5.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-nacl_1.5.0.bb
deleted file mode 100644
index 7d52927..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-nacl_1.5.0.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "Python binding to the Networking and Cryptography (NaCl) library"
-HOMEPAGE = "https://github.com/pyca/pynacl"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8cc789b082b3d97e1ccc5261f8594d3f"
-
-PYPI_PACKAGE = "PyNaCl"
-
-inherit pypi setuptools3
-
-SRC_URI[sha256sum] = "8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba"
-
-DEPENDS += "\
- libsodium \
- python3-cffi-native \
- python3-pip-native \
-"
-
-RDEPENDS:${PN}:class-target += " \
- python3-cffi \
- python3-pycparser \
-"
-
-export SODIUM_INSTALL = "system"
-
-BBCLASSEXTEND = "native"
\ No newline at end of file
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ninja-syntax_1.7.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ninja-syntax_1.7.2.bb
index ec77473..2f94f7a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ninja-syntax_1.7.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ninja-syntax_1.7.2.bb
@@ -9,4 +9,6 @@
PYPI_PACKAGE = "ninja_syntax"
UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/ninja_syntax/"
-UPSTREAM_CHECK_REGEX = "/ninja_syntax/(?P<pver>(\d+[\.\-_]*)+)"
\ No newline at end of file
+UPSTREAM_CHECK_REGEX = "/ninja_syntax/(?P<pver>(\d+[\.\-_]*)+)"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-objectpath_0.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-objectpath_0.6.1.bb
new file mode 100644
index 0000000..6e82dc1
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-objectpath_0.6.1.bb
@@ -0,0 +1,9 @@
+DESCRIPTION = "The agile NoSQL query language for semi-structured data"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=a53cbc7cb75660694e138ba973c148df"
+
+DEPENDS += "dtc-native"
+
+SRC_URI[sha256sum] = "461263136c79292e42431fbb85cdcaac4c6a256f6b1aa5b3ae9316e4965ad819"
+
+inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-olefile_0.46.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-olefile_0.46.bb
new file mode 100644
index 0000000..e29f30f
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-olefile_0.46.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Python package to parse, read and write Microsoft OLE2 files"
+HOMEPAGE = "https://github.com/decalage2/olefile"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e21a06208415d5eb2001555d37851362"
+
+SRC_URI[sha256sum] = "133b031eaf8fd2c9399b78b8bc5b8fcbe4c31e85295749bb17a87cba8f3c3964"
+
+inherit pypi setuptools3
+
+PYPI_PACKAGE = "olefile"
+PYPI_PACKAGE_EXT = "zip"
+
+RDEPENDS:${PN} += "\
+ ${PYTHON_PN}-core \
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-logging \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-oletools_0.60.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-oletools_0.60.1.bb
new file mode 100644
index 0000000..fbb7955
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-oletools_0.60.1.bb
@@ -0,0 +1,11 @@
+SUMMARY = "Python tools to analyze security characteristics of MS Office and OLE files"
+HOMEPAGE = "https://github.com/decalage2/olefile"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=d7dd4b0d1f7153322a546e89b5a0a632"
+
+SRC_URI[sha256sum] = "67a796da4c4b8e2feb9a6b2495bef8798a3323a75512de4e5669d9dc9d1fae31"
+
+inherit pypi setuptools3
+
+PYPI_PACKAGE = "oletools"
+PYPI_PACKAGE_EXT = "zip"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_2.0.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_2.0.3.bb
index 87a173c..5e69fea 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_2.0.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_2.0.3.bb
@@ -19,7 +19,7 @@
PACKAGESPLITFUNCS =+ "fix_cythonized_sources"
fix_cythonized_sources() {
- for f in `grep -l -r -e '\/* Generated by Cython.*/$' ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}`; do
+ for f in `grep -l -r -e '\/* Generated by Cython.*/$' ${PKGD}${TARGET_DBGSRC_DIR}`; do
if [ -e $f ]; then
sed -i -e 's#${RECIPE_SYSROOT_NATIVE}##g' $f
fi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-paramiko_3.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-paramiko_3.2.0.bb
deleted file mode 100644
index 5420a9e..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-paramiko_3.2.0.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-DESCRIPTION = "The leading native Python SSHv2 protocol library."
-HOMEPAGE = "https://github.com/paramiko/paramiko/"
-LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=fd0120fc2e9f841c73ac707a30389af5"
-
-SRC_URI[sha256sum] = "93cdce625a8a1dc12204439d45033f3261bdb2c201648cfcdc06f9fd0f94ec29"
-
-PYPI_PACKAGE = "paramiko"
-
-inherit pypi setuptools3
-
-CLEANBROKEN = "1"
-
-RDEPENDS:${PN} += " \
- python3-bcrypt \
- python3-cryptography \
- python3-logging \
- python3-pynacl \
- python3-unixadmin \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-paramiko_3.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-paramiko_3.3.1.bb
new file mode 100644
index 0000000..da87e51
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-paramiko_3.3.1.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "The leading native Python SSHv2 protocol library."
+HOMEPAGE = "https://github.com/paramiko/paramiko/"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fd0120fc2e9f841c73ac707a30389af5"
+
+SRC_URI[sha256sum] = "6a3777a961ac86dbef375c5f5b8d50014a1a96d0fd7f054a43bc880134b0ff77"
+
+PYPI_PACKAGE = "paramiko"
+
+inherit pypi setuptools3
+
+CLEANBROKEN = "1"
+
+RDEPENDS:${PN} += " \
+ python3-bcrypt \
+ python3-cryptography \
+ python3-logging \
+ python3-pynacl \
+ python3-unixadmin \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pastedeploy_3.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pastedeploy_3.0.1.bb
deleted file mode 100644
index cb10dd9..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pastedeploy_3.0.1.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Load, configure, and compose WSGI applications and servers"
-HOMEPAGE = "https://pylonsproject.org/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://license.txt;md5=1798f29d55080c60365e6283cb49779c"
-
-inherit pypi
-PYPI_PACKAGE = "PasteDeploy"
-
-SRC_URI[sha256sum] = "5f4b4d5fddd39b8947ea727161e366bf55b90efc60a4d1dd7976b9031d0b4e5f"
-
-S = "${WORKDIR}/PasteDeploy-${PV}"
-
-inherit setuptools3
-
-# Uncomment this line to enable all the optional features.
-#PACKAGECONFIG ?= "paste docs"
-PACKAGECONFIG[paste] = ",,,python3-paste"
-PACKAGECONFIG[docs] = ",,,python3-sphinx python3-pylons-sphinx-themes"
-
-DEPENDS= "python3 python3-setuptools-scm-native python3-pytest-runner-native"
-RDEPENDS:${PN} += "python3-core python3-misc python3-netclient python3-pkgutil python3-setuptools python3-threading python3-core"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pastedeploy_3.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pastedeploy_3.1.0.bb
new file mode 100644
index 0000000..27f32bf
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pastedeploy_3.1.0.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Load, configure, and compose WSGI applications and servers"
+HOMEPAGE = "https://pylonsproject.org/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://license.txt;md5=1798f29d55080c60365e6283cb49779c"
+
+inherit pypi
+PYPI_PACKAGE = "PasteDeploy"
+
+SRC_URI[sha256sum] = "9ddbaf152f8095438a9fe81f82c78a6714b92ae8e066bed418b6a7ff6a095a95"
+
+S = "${WORKDIR}/PasteDeploy-${PV}"
+
+inherit setuptools3
+
+# Uncomment this line to enable all the optional features.
+#PACKAGECONFIG ?= "paste docs"
+PACKAGECONFIG[paste] = ",,,python3-paste"
+PACKAGECONFIG[docs] = ",,,python3-sphinx python3-pylons-sphinx-themes"
+
+DEPENDS= "python3 python3-setuptools-scm-native python3-pytest-runner-native"
+RDEPENDS:${PN} += "python3-core python3-misc python3-netclient python3-pkgutil python3-setuptools python3-threading python3-core"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pcodedmp_1.2.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pcodedmp_1.2.6.bb
new file mode 100644
index 0000000..185597d
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pcodedmp_1.2.6.bb
@@ -0,0 +1,12 @@
+SUMMARY = "A VBA p-code disassembler"
+HOMEPAGE = "https://github.com/bontchev/pcodedmp"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=84dcc94da3adb52b53ae4fa38fe49e5d"
+
+SRC_URI[sha256sum] = "025f8c809a126f45a082ffa820893e6a8d990d9d7ddb68694b5a9f0a6dbcd955"
+
+inherit pypi setuptools3
+
+PYPI_PACKAGE="pcodedmp"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pdm-backend_2.1.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pdm-backend_2.1.7.bb
new file mode 100644
index 0000000..679ecb0
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pdm-backend_2.1.7.bb
@@ -0,0 +1,13 @@
+SUMMARY = "The build backend used by PDM that supports latest packaging standards"
+HOMEPAGE = "https://github.com/pdm-project/pdm-backend"
+LICENSE = "MIT"
+SECTION = "devel/python"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4a564297b3c5b629a528b92fd8ff61ea"
+
+SRC_URI[sha256sum] = "d3b50ab6374557c1edc348135e0da5decef228ddf8c973a58e40f437cf3595ba"
+
+inherit pypi python_setuptools_build_meta
+
+PYPI_PACKAGE= "pdm_backend"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pdm_2.10.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pdm_2.10.3.bb
new file mode 100644
index 0000000..54da389
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pdm_2.10.3.bb
@@ -0,0 +1,15 @@
+SUMMARY = "A modern Python package and dependency manager supporting the latest PEP standards"
+HOMEPAGE = "https://pdm-project.org/latest/"
+LICENSE = "MIT"
+SECTION = "devel/python"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2eb31a2cc1a758c34b499f287dd04ef2"
+
+SRC_URI[sha256sum] = "46dafc8a4fe268c46479876e52c6967f7a9aa385e1e574e64248670a37b358ff"
+
+inherit pypi python_setuptools_build_meta
+
+DEPENDS += " \
+ ${PYTHON_PN}-pdm-backend-native \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_10.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_10.0.1.bb
deleted file mode 100644
index 055b41b..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_10.0.1.bb
+++ /dev/null
@@ -1,65 +0,0 @@
-SUMMARY = "Python Imaging Library (Fork). Pillow is the friendly PIL fork by Alex \
-Clark and Contributors. PIL is the Python Imaging Library by Fredrik Lundh and \
-Contributors."
-HOMEPAGE = "https://pillow.readthedocs.io"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b22dc6b663b9175820e5e03337c7596b"
-
-SRC_URI = "git://github.com/python-pillow/Pillow.git;branch=10.0.x;protocol=https \
- file://0001-support-cross-compiling.patch \
- file://0001-explicitly-set-compile-options.patch \
- file://run-ptest \
- "
-SRCREV ?= "82541b6dec8452cb612067fcebba1c5a1a2bfdc8"
-
-inherit setuptools3 ptest
-
-PIP_INSTALL_PACKAGE = "Pillow"
-PIP_INSTALL_DIST_PATH = "${S}/dist"
-
-DEPENDS += " \
- zlib \
- jpeg \
- tiff \
- freetype \
- lcms \
- openjpeg \
-"
-
-RDEPENDS:${PN} += " \
- ${PYTHON_PN}-misc \
- ${PYTHON_PN}-logging \
- ${PYTHON_PN}-numbers \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxcb', '', d)} \
-"
-
-RDEPENDS:${PN}-ptest += " \
- bash \
- ghostscript \
- jpeg-tools \
- libwebp \
- ${PYTHON_PN}-core \
- ${PYTHON_PN}-distutils \
- ${PYTHON_PN}-image \
- ${PYTHON_PN}-mmap \
- ${PYTHON_PN}-pytest \
- ${PYTHON_PN}-pytest-timeout \
- ${PYTHON_PN}-resource \
- ${PYTHON_PN}-unixadmin\
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'tk', '', d)} \
-"
-
-CVE_PRODUCT = "pillow"
-
-S = "${WORKDIR}/git"
-
-RPROVIDES:${PN} += "python3-imaging"
-
-do_install_ptest() {
- install -d ${D}${PTEST_PATH}/Tests
- cp -rf ${S}/Tests ${D}${PTEST_PATH}/
-}
-
-BBCLASSEXTEND = "native"
-
-SRCREV = "e34d346f10c0b1c814661e662a3e0c1ef084cf1c"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_10.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_10.1.0.bb
new file mode 100644
index 0000000..322c90e
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_10.1.0.bb
@@ -0,0 +1,65 @@
+SUMMARY = "Python Imaging Library (Fork). Pillow is the friendly PIL fork by Alex \
+Clark and Contributors. PIL is the Python Imaging Library by Fredrik Lundh and \
+Contributors."
+HOMEPAGE = "https://pillow.readthedocs.io"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b22dc6b663b9175820e5e03337c7596b"
+
+SRC_URI = "git://github.com/python-pillow/Pillow.git;branch=10.0.x;protocol=https \
+ file://0001-support-cross-compiling.patch \
+ file://0001-explicitly-set-compile-options.patch \
+ file://run-ptest \
+ "
+SRCREV ?= "da59ad000d1405eaecd557175e29083a87d19f7c"
+
+inherit setuptools3 ptest
+
+PIP_INSTALL_PACKAGE = "Pillow"
+PIP_INSTALL_DIST_PATH = "${S}/dist"
+
+DEPENDS += " \
+ zlib \
+ jpeg \
+ tiff \
+ freetype \
+ lcms \
+ openjpeg \
+"
+
+RDEPENDS:${PN} += " \
+ ${PYTHON_PN}-misc \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-numbers \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxcb', '', d)} \
+"
+
+RDEPENDS:${PN}-ptest += " \
+ bash \
+ ghostscript \
+ jpeg-tools \
+ libwebp \
+ ${PYTHON_PN}-core \
+ ${PYTHON_PN}-distutils \
+ ${PYTHON_PN}-image \
+ ${PYTHON_PN}-mmap \
+ ${PYTHON_PN}-pytest \
+ ${PYTHON_PN}-pytest-timeout \
+ ${PYTHON_PN}-resource \
+ ${PYTHON_PN}-unixadmin\
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'tk', '', d)} \
+"
+
+CVE_PRODUCT = "pillow"
+
+S = "${WORKDIR}/git"
+
+RPROVIDES:${PN} += "python3-imaging"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/Tests
+ cp -rf ${S}/Tests ${D}${PTEST_PATH}/
+}
+
+BBCLASSEXTEND = "native"
+
+SRCREV = "e34d346f10c0b1c814661e662a3e0c1ef084cf1c"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_3.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_3.10.0.bb
deleted file mode 100644
index 264b06d..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_3.10.0.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "A small Python module for determining appropriate platform-specific dirs"
-HOMEPAGE = "https://github.com/platformdirs/platformdirs"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=ea4f5a41454746a9ed111e3d8723d17a"
-
-SRC_URI += " \
- file://run-ptest \
-"
-
-SRC_URI[sha256sum] = "b45696dab2d7cc691a3226759c0d3b00c47c8b6e293d96f6436f733303f77f6d"
-
-inherit pypi python_hatchling ptest
-
-DEPENDS += " \
- ${PYTHON_PN}-hatch-vcs-native \
-"
-
-RDEPENDS:${PN}-ptest += " \
- ${PYTHON_PN}-appdirs \
- ${PYTHON_PN}-covdefaults \
- ${PYTHON_PN}-pytest \
- ${PYTHON_PN}-pytest-mock \
- ${PYTHON_PN}-pytest-cov \
-"
-
-do_install_ptest() {
- install -d ${D}${PTEST_PATH}
- cp -rf ${S}/tests ${D}${PTEST_PATH}/
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_4.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_4.0.0.bb
new file mode 100644
index 0000000..5a33be4
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_4.0.0.bb
@@ -0,0 +1,31 @@
+SUMMARY = "A small Python module for determining appropriate platform-specific dirs"
+HOMEPAGE = "https://github.com/platformdirs/platformdirs"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ea4f5a41454746a9ed111e3d8723d17a"
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+SRC_URI[sha256sum] = "cb633b2bcf10c51af60beb0ab06d2f1d69064b43abf4c185ca6b28865f3f9731"
+
+inherit pypi python_hatchling ptest
+
+DEPENDS += " \
+ ${PYTHON_PN}-hatch-vcs-native \
+"
+
+RDEPENDS:${PN}-ptest += " \
+ ${PYTHON_PN}-appdirs \
+ ${PYTHON_PN}-covdefaults \
+ ${PYTHON_PN}-pytest \
+ ${PYTHON_PN}-pytest-mock \
+ ${PYTHON_PN}-pytest-cov \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}
+ cp -rf ${S}/tests ${D}${PTEST_PATH}/
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-polyline_1.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-polyline_1.4.0.bb
deleted file mode 100644
index 486e70c..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-polyline_1.4.0.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "A Python implementation of Google's Encoded Polyline Algorithm Format"
-HOMEPAGE = "https://pypi.org/project/polyline/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0fbd13500cabd06dd751ba6b2be304c6"
-
-SRC_URI[md5sum] = "b97c57378605c4a856c437569f95a0cb"
-SRC_URI[sha256sum] = "7c7f89d09a09c7b6161bdbfb4fd304b186fc7a2060fa4f31cb3f61c646a5c074"
-
-inherit pypi setuptools3 ptest
-
-RDEPENDS:${PN} += "python3-six"
-
-BBCLASSEXTEND = "native nativesdk"
-
-SRC_URI += " \
- file://run-ptest \
-"
-
-RDEPENDS:${PN}-ptest += " \
- ${PYTHON_PN}-pytest \
-"
-
-do_install_ptest() {
- install -d ${D}${PTEST_PATH}/test
- cp -rf ${S}/test/* ${D}${PTEST_PATH}/test/
-}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-polyline_2.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-polyline_2.0.1.bb
new file mode 100644
index 0000000..2eae0ca
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-polyline_2.0.1.bb
@@ -0,0 +1,25 @@
+SUMMARY = "A Python implementation of Google's Encoded Polyline Algorithm Format"
+HOMEPAGE = "https://github.com/frederickjansen/polyline"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1fb8d1dc685695195bb3c1e48adfef48"
+
+SRC_URI[sha256sum] = "74cb5cea098dddf09d1a5a1f17af9184d371cbf3e9723de0194e530ec39ca1f6"
+
+inherit pypi python_setuptools_build_meta ptest
+
+RDEPENDS:${PN} += "python3-six"
+
+BBCLASSEXTEND = "native nativesdk"
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS:${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/test
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/test/
+}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-process-tests_2.1.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-process-tests_2.1.2.bb
deleted file mode 100644
index eb01504..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-process-tests_2.1.2.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright (C) 2021 Khem Raj <raj.khem@gmail.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-SUMMARY = "Tools for testing processes."
-HOMEPAGE = "https://github.com/ionelmc/python-process-tests"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=37031056aff37e4b3310872a9a3d0b1e"
-
-SRC_URI[sha256sum] = "a3747ad947bdfc93e5c986bdb17a6d718f3f26e8577a0807a00962f29e26deba"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += "python3-core"
-
-BBCLASSEXTEND = "native nativesdk"
-
-RDEPENDS:${PN} += " \
- python3-io \
- python3-logging \
- python3-unittest \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-process-tests_3.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-process-tests_3.0.0.bb
new file mode 100644
index 0000000..a16497b
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-process-tests_3.0.0.bb
@@ -0,0 +1,21 @@
+# Copyright (C) 2021 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "Tools for testing processes."
+HOMEPAGE = "https://github.com/ionelmc/python-process-tests"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=aea36d49429f53e06868d87cd9d62349"
+
+SRC_URI[sha256sum] = "e5d57dea7161251e91cadb84bf3ecc85275fb121fd478e579f800777b1d424bd"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} += "python3-core"
+
+BBCLASSEXTEND = "native nativesdk"
+
+RDEPENDS:${PN} += " \
+ python3-io \
+ python3-logging \
+ python3-unittest \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_3.0.36.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_3.0.36.bb
deleted file mode 100644
index a529931..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_3.0.36.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "Library for building powerful interactive command lines in Python"
-HOMEPAGE = "https://python-prompt-toolkit.readthedocs.io/"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b2cde7da89f0c1f3e49bf968d00d554f"
-
-SRC_URI[sha256sum] = "3e163f254bef5a03b146397d7c1963bd3e2812f0964bb9a24e6ec761fd28db63"
-
-inherit pypi setuptools3
-
-PYPI_PACKAGE = "prompt_toolkit"
-
-RDEPENDS:${PN} += " \
- ${PYTHON_PN}-core \
- ${PYTHON_PN}-six \
- ${PYTHON_PN}-terminal \
- ${PYTHON_PN}-threading \
- ${PYTHON_PN}-wcwidth \
- ${PYTHON_PN}-datetime \
- ${PYTHON_PN}-shell \
- ${PYTHON_PN}-image \
- ${PYTHON_PN}-asyncio \
- ${PYTHON_PN}-xml \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_3.0.41.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_3.0.41.bb
new file mode 100644
index 0000000..aa19116
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-prompt-toolkit_3.0.41.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Library for building powerful interactive command lines in Python"
+HOMEPAGE = "https://python-prompt-toolkit.readthedocs.io/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b2cde7da89f0c1f3e49bf968d00d554f"
+
+SRC_URI[sha256sum] = "941367d97fc815548822aa26c2a269fdc4eb21e9ec05fc5d447cf09bad5d75f0"
+
+inherit pypi setuptools3
+
+PYPI_PACKAGE = "prompt_toolkit"
+
+RDEPENDS:${PN} += " \
+ ${PYTHON_PN}-core \
+ ${PYTHON_PN}-six \
+ ${PYTHON_PN}-terminal \
+ ${PYTHON_PN}-threading \
+ ${PYTHON_PN}-wcwidth \
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-shell \
+ ${PYTHON_PN}-image \
+ ${PYTHON_PN}-asyncio \
+ ${PYTHON_PN}-xml \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.24.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.24.3.bb
deleted file mode 100644
index b78ae6a..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.24.3.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-DESCRIPTION = "Protocol Buffers"
-HOMEPAGE = "https://developers.google.com/protocol-buffers/"
-SECTION = "devel/python"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=53dbfa56f61b90215a9f8f0d527c043d"
-
-inherit pypi setuptools3
-SRC_URI += "file://0001-message.c-Cast-uintptr_t-types-to-upb_MessageDef.patch"
-SRC_URI[sha256sum] = "12e9ad2ec079b833176d2921be2cb24281fa591f0b119b208b788adc48c2561d"
-
-# http://errors.yoctoproject.org/Errors/Details/184715/
-# Can't find required file: ../src/google/protobuf/descriptor.proto
-CLEANBROKEN = "1"
-
-UPSTREAM_CHECK_REGEX = "protobuf/(?P<pver>\d+(\.\d+)+)/"
-
-DEPENDS += "protobuf"
-
-RDEPENDS:${PN} += " \
- ${PYTHON_PN}-datetime \
- ${PYTHON_PN}-json \
- ${PYTHON_PN}-logging \
- ${PYTHON_PN}-netclient \
- ${PYTHON_PN}-numbers \
- ${PYTHON_PN}-pkgutil \
- ${PYTHON_PN}-six \
- ${PYTHON_PN}-unittest \
-"
-
-# For usage in other recipies when compiling protobuf files (e.g. by grpcio-tools)
-BBCLASSEXTEND = "native nativesdk"
-
-DISTUTILS_BUILD_ARGS += "--cpp_implementation"
-DISTUTILS_INSTALL_ARGS += "--cpp_implementation"
-
-do_compile:prepend:class-native () {
- export KOKORO_BUILD_NUMBER="1"
-}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.24.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.24.4.bb
new file mode 100644
index 0000000..4b530c3
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.24.4.bb
@@ -0,0 +1,39 @@
+DESCRIPTION = "Protocol Buffers"
+HOMEPAGE = "https://developers.google.com/protocol-buffers/"
+SECTION = "devel/python"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=53dbfa56f61b90215a9f8f0d527c043d"
+
+inherit pypi setuptools3
+SRC_URI += "file://0001-message.c-Cast-uintptr_t-types-to-upb_MessageDef.patch"
+SRC_URI[sha256sum] = "5a70731910cd9104762161719c3d883c960151eea077134458503723b60e3667"
+
+# http://errors.yoctoproject.org/Errors/Details/184715/
+# Can't find required file: ../src/google/protobuf/descriptor.proto
+CLEANBROKEN = "1"
+
+UPSTREAM_CHECK_REGEX = "protobuf/(?P<pver>\d+(\.\d+)+)/"
+
+DEPENDS += "protobuf"
+
+RDEPENDS:${PN} += " \
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-numbers \
+ ${PYTHON_PN}-pkgutil \
+ ${PYTHON_PN}-six \
+ ${PYTHON_PN}-unittest \
+"
+
+# For usage in other recipies when compiling protobuf files (e.g. by grpcio-tools)
+BBCLASSEXTEND = "native nativesdk"
+
+DISTUTILS_BUILD_ARGS += "--cpp_implementation"
+DISTUTILS_INSTALL_ARGS += "--cpp_implementation"
+
+do_compile:prepend:class-native () {
+ export KOKORO_BUILD_NUMBER="1"
+}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-py-cpuinfo/0001-test_cli.py-disable.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-py-cpuinfo/0001-test_cli.py-disable.patch
new file mode 100644
index 0000000..e4165d2
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-py-cpuinfo/0001-test_cli.py-disable.patch
@@ -0,0 +1,32 @@
+From 620cb80b0bb5ec58fe15592f033487a4e1cd3859 Mon Sep 17 00:00:00 2001
+From: Trevor Gamblin <tgamblin@baylibre.com>
+Date: Thu, 12 Oct 2023 16:46:53 -0400
+Subject: [PATCH] test_cli.py: disable
+
+These tests fail if .../site-packages/cpuinfo/cpuinfo.py isn't
+executable, but setting it so during do_install doesn't seem to work.
+Disable them for now so that the ptests work with the remaining ~150
+successes.
+
+Upstream-Status: Inappropriate [OE-Specific]
+
+Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
+---
+ tests/test_cli.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tests/test_cli.py b/tests/test_cli.py
+index a6b1985..43c4334 100644
+--- a/tests/test_cli.py
++++ b/tests/test_cli.py
+@@ -6,6 +6,7 @@ import helpers
+
+
+
++@unittest.skip("Disable while permissions issues are figured out")
+ class TestCLI(unittest.TestCase):
+ def setUp(self):
+ helpers.backup_data_source(cpuinfo)
+--
+2.41.0
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-py-cpuinfo_9.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-py-cpuinfo_9.0.0.bb
index 5fbac03..84172c0 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-py-cpuinfo_9.0.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-py-cpuinfo_9.0.0.bb
@@ -11,8 +11,16 @@
inherit ptest pypi setuptools3
SRC_URI += "file://run-ptest \
+ file://0001-test_cli.py-disable.patch \
"
+do_install:append() {
+ # Make sure we use /usr/bin/env python3
+ for PYTHSCRIPT in `grep -rIl '^#!.*python' ${D}`; do
+ sed -i -e '1s|^#!.*|#!/usr/bin/env ${PYTHON_PN}|' $PYTHSCRIPT
+ done
+}
+
do_install_ptest() {
install -d ${D}${PTEST_PATH}/tests
cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-py7zr_0.20.8.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-py7zr_0.20.8.bb
new file mode 100644
index 0000000..f9e6820
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-py7zr_0.20.8.bb
@@ -0,0 +1,29 @@
+SUMMARY = "Pure Python 7-zip library"
+HOMEPAGE = "https://py7zr.readthedocs.io/en/latest/"
+LICENSE = "LGPL-2.1-or-later"
+SECTION = "devel/python"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI[sha256sum] = "2a6b0db0441e63a2dd74cbd18f5d9ae7e08dc0e54685aa486361d0db6a0b4f78"
+
+inherit pypi python_setuptools_build_meta
+
+DEPENDS += " \
+ ${PYTHON_PN}-setuptools-scm-native \
+ ${PYTHON_PN}-toml-native \
+ ${PYTHON_PN}-wheel-native \
+"
+
+RDEPENDS:${PN} += "\
+ ${PYTHON_PN}-pycryptodomex \
+ ${PYTHON_PN}-multivolumefile \
+ ${PYTHON_PN}-pybcj \
+ ${PYTHON_PN}-inflate64 \
+ ${PYTHON_PN}-pyppmd \
+ ${PYTHON_PN}-pyzstd \
+ ${PYTHON_PN}-brotli \
+ ${PYTHON_PN}-multiprocessing \
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-core \
+ ${PYTHON_PN}-threading \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyaudio_0.2.13.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyaudio_0.2.13.bb
deleted file mode 100644
index 1f0b5cf..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyaudio_0.2.13.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "PyAudio provides Python bindings for PortAudio, the cross-platform audio I/O library"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7c3152b432b96d6dc4a1cb35397da9ec"
-
-PYPI_PACKAGE = "PyAudio"
-
-SRC_URI[md5sum] = "41199ffd2abbdaf1ce6b88cf8af48cc5"
-SRC_URI[sha256sum] = "26bccc81e4243d1c0ff5487e6b481de6329fcd65c79365c267cef38f363a2b56"
-
-inherit pypi setuptools3
-
-SRC_URI += "file://0001-Remove-absolute-paths-into-build-machine-system-dirs.patch"
-
-DEPENDS += "portaudio-v19"
-
-RDEPENDS:${PN} += "portaudio-v19"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyaudio_0.2.14.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyaudio_0.2.14.bb
new file mode 100644
index 0000000..1599ea8
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyaudio_0.2.14.bb
@@ -0,0 +1,16 @@
+SUMMARY = "PyAudio provides Python bindings for PortAudio, the cross-platform audio I/O library"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7c3152b432b96d6dc4a1cb35397da9ec"
+
+PYPI_PACKAGE = "PyAudio"
+
+SRC_URI[sha256sum] = "78dfff3879b4994d1f4fc6485646a57755c6ee3c19647a491f790a0895bd2f87"
+
+inherit pypi setuptools3
+
+SRC_URI += "file://0001-Remove-absolute-paths-into-build-machine-system-dirs.patch"
+
+DEPENDS += "portaudio-v19"
+
+RDEPENDS:${PN} += "portaudio-v19"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pybcj_1.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pybcj_1.0.2.bb
new file mode 100644
index 0000000..34ffb97
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pybcj_1.0.2.bb
@@ -0,0 +1,24 @@
+SUMMARY = "bcj filter library"
+HOMEPAGE = "https://codeberg.org/miurahr/pybcj"
+LICENSE = "LGPL-2.1-or-later"
+SECTION = "devel/python"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI[sha256sum] = "c7f5bef7f47723c53420e377bc64d2553843bee8bcac5f0ad076ab1524780018"
+
+inherit pypi python_setuptools_build_meta pypi
+
+#PROVIDES = "python3-pybcj"
+
+DEPENDS += " \
+ ${PYTHON_PN}-setuptools-scm-native \
+ ${PYTHON_PN}-toml-native \
+ ${PYTHON_PN}-wheel-native \
+"
+
+RDEPENDS:${PN} += "\
+ ${PYTHON_PN}-email \
+ ${PYTHON_PN}-importlib-metadata \
+ ${PYTHON_PN}-core \
+ ${PYTHON_PN}-compression \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycares_4.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycares_4.3.0.bb
deleted file mode 100644
index f522391..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycares_4.3.0.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Python interface for c-ares"
-DESCRIPTION = "\
-pycares is a Python module which provides an interface to c-ares. c-ares is \
-a C library that performs DNS requests and name resolutions asynchronously."
-HOMEPAGE = "https://github.com/saghul/pycares"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b1538fcaea82ebf2313ed648b96c69b1"
-
-SRC_URI[sha256sum] = "c542696f6dac978e9d99192384745a65f80a7d9450501151e4a7563e06010d45"
-
-PYPI_PACKAGE = "pycares"
-
-inherit pypi setuptools3
-
-DEPENDS += "${PYTHON_PN}-cffi-native"
-
-RDEPENDS:${PN} += " \
- ${PYTHON_PN}-cffi \
- ${PYTHON_PN}-idna \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycares_4.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycares_4.4.0.bb
new file mode 100644
index 0000000..5e5f0c9
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycares_4.4.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Python interface for c-ares"
+DESCRIPTION = "\
+pycares is a Python module which provides an interface to c-ares. c-ares is \
+a C library that performs DNS requests and name resolutions asynchronously."
+HOMEPAGE = "https://github.com/saghul/pycares"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b1538fcaea82ebf2313ed648b96c69b1"
+
+SRC_URI[sha256sum] = "f47579d508f2f56eddd16ce72045782ad3b1b3b678098699e2b6a1b30733e1c2"
+
+PYPI_PACKAGE = "pycares"
+
+inherit pypi setuptools3
+
+DEPENDS += "${PYTHON_PN}-cffi-native"
+
+RDEPENDS:${PN} += " \
+ ${PYTHON_PN}-cffi \
+ ${PYTHON_PN}-idna \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.11.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.11.0.bb
deleted file mode 100644
index 9a8d107..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.11.0.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "Python style guide checker (formly called pep8)"
-HOMEPAGE = "https://pypi.org/project/pycodestyle"
-LICENSE = "MIT"
-SECTION = "devel/python"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a8546d0e77f416fb05a26acd89c8b3bd"
-
-SRC_URI[sha256sum] = "259bcc17857d8a8b3b4a2327324b79e5f020a13c16074670f9c8c8f872ea76d0"
-
-inherit pypi setuptools3
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.11.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.11.1.bb
new file mode 100644
index 0000000..a282afb
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.11.1.bb
@@ -0,0 +1,11 @@
+SUMMARY = "Python style guide checker (formly called pep8)"
+HOMEPAGE = "https://pypi.org/project/pycodestyle"
+LICENSE = "MIT"
+SECTION = "devel/python"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a8546d0e77f416fb05a26acd89c8b3bd"
+
+SRC_URI[sha256sum] = "41ba0e7afc9752dfb53ced5489e89f8186be00e599e712660695b7a75ff2663f"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic_2.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic_2.4.1.bb
deleted file mode 100644
index 6d06650..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic_2.4.1.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Data validation and settings management using Python type hinting"
-HOMEPAGE = "https://github.com/samuelcolvin/pydantic"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=09280955509d1c4ca14bae02f21d49a6"
-
-inherit pypi python_hatchling
-
-SRC_URI[sha256sum] = "b172505886028e4356868d617d2d1a776d7af1625d1313450fd51bdd19d9d61f"
-
-DEPENDS += "python3-hatch-fancy-pypi-readme-native"
-
-RDEPENDS:${PN} += "\
- python3-core \
- python3-datetime \
- python3-image \
- python3-io \
- python3-json \
- python3-logging \
- python3-netclient \
- python3-numbers \
- python3-profile \
- python3-typing-extensions \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic_2.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic_2.5.1.bb
new file mode 100644
index 0000000..609411f
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic_2.5.1.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Data validation and settings management using Python type hinting"
+HOMEPAGE = "https://github.com/samuelcolvin/pydantic"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=09280955509d1c4ca14bae02f21d49a6"
+
+inherit pypi python_hatchling
+
+SRC_URI[sha256sum] = "0b8be5413c06aadfbe56f6dc1d45c9ed25fd43264414c571135c97dd77c2bedb"
+
+DEPENDS += "python3-hatch-fancy-pypi-readme-native"
+
+RDEPENDS:${PN} += "\
+ python3-core \
+ python3-datetime \
+ python3-image \
+ python3-io \
+ python3-json \
+ python3-logging \
+ python3-netclient \
+ python3-numbers \
+ python3-profile \
+ python3-typing-extensions \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyhamcrest_2.0.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyhamcrest_2.0.4.bb
deleted file mode 100644
index 4ee8453..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyhamcrest_2.0.4.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Hamcrest framework for matcher objects"
-HOMEPAGE = "https://github.com/hamcrest/PyHamcrest"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=79391bf1501c898472d043f36e960612"
-
-SRC_URI[sha256sum] = "b5d9ce6b977696286cf232ce2adf8969b4d0b045975b0936ac9005e84e67e9c1"
-
-inherit pypi python_setuptools_build_meta
-
-DEPENDS += "${PYTHON_PN}-hatch-vcs-native"
-
-UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/PyHamcrest/"
-UPSTREAM_CHECK_REGEX = "/PyHamcrest/(?P<pver>(\d+[\.\-_]*)+)"
-
-RDEPENDS:${PN} += " \
- ${PYTHON_PN}-six \
- ${PYTHON_PN}-numbers \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyhamcrest_2.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyhamcrest_2.1.0.bb
new file mode 100644
index 0000000..bfa4e0a
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyhamcrest_2.1.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Hamcrest framework for matcher objects"
+HOMEPAGE = "https://github.com/hamcrest/PyHamcrest"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=79391bf1501c898472d043f36e960612"
+
+SRC_URI[sha256sum] = "c6acbec0923d0cb7e72c22af1926f3e7c97b8e8d69fc7498eabacaf7c975bd9c"
+
+inherit pypi python_setuptools_build_meta
+
+DEPENDS += "${PYTHON_PN}-hatch-vcs-native"
+
+UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/PyHamcrest/"
+UPSTREAM_CHECK_REGEX = "/PyHamcrest/(?P<pver>(\d+[\.\-_]*)+)"
+
+RDEPENDS:${PN} += " \
+ ${PYTHON_PN}-six \
+ ${PYTHON_PN}-numbers \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_2.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_2.7.0.bb
deleted file mode 100644
index 3aa9b47..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_2.7.0.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "JSON Web Token implementation in Python"
-DESCRIPTION = "A Python implementation of JSON Web Token draft 32.\
- Original implementation was written by https://github.com/progrium"
-HOMEPAGE = "http://github.com/jpadilla/pyjwt"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e4b56d2c9973d8cf54655555be06e551"
-
-SRC_URI[sha256sum] = "bd6ca4a3c4285c1a2d4349e5a035fdf8fb94e04ccd0fcbe6ba289dae9cc3e074"
-
-PYPI_PACKAGE = "PyJWT"
-inherit pypi setuptools3
-
-RDEPENDS:${PN} = " \
- python3-json \
- python3-cryptography \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_2.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_2.8.0.bb
new file mode 100644
index 0000000..92a8f44
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_2.8.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "JSON Web Token implementation in Python"
+DESCRIPTION = "A Python implementation of JSON Web Token draft 32.\
+ Original implementation was written by https://github.com/progrium"
+HOMEPAGE = "http://github.com/jpadilla/pyjwt"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e4b56d2c9973d8cf54655555be06e551"
+
+SRC_URI[sha256sum] = "57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de"
+
+PYPI_PACKAGE = "PyJWT"
+inherit pypi setuptools3
+
+RDEPENDS:${PN} = " \
+ python3-json \
+ python3-cryptography \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_3.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_3.0.0.bb
deleted file mode 100644
index 413e659..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_3.0.0.bb
+++ /dev/null
@@ -1,50 +0,0 @@
-SUMMARY="Pylint is a Python source code analyzer"
-HOMEPAGE= "http://www.pylint.org/"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c107cf754550e65755c42985a5d4e9c9"
-
-SRC_URI += " \
- git://github.com/pylint-dev/pylint;branch=main;protocol=https \
- file://run-ptest \
- "
-SRCREV ?= "4a7ad5ea9f1c5a98ccf736578a00554be0da6dc7"
-
-inherit python_setuptools_build_meta ptest
-
-RDEPENDS:${PN} += "${PYTHON_PN}-astroid \
- ${PYTHON_PN}-dill \
- ${PYTHON_PN}-isort \
- ${PYTHON_PN}-mccabe \
- ${PYTHON_PN}-numbers \
- ${PYTHON_PN}-platformdirs \
- ${PYTHON_PN}-shell \
- ${PYTHON_PN}-json \
- ${PYTHON_PN}-pkgutil \
- ${PYTHON_PN}-difflib \
- ${PYTHON_PN}-netserver \
- ${PYTHON_PN}-tomlkit \
- "
-
-RDEPENDS:${PN}-ptest += " \
- ${PYTHON_PN}-core \
- ${PYTHON_PN}-git \
- ${PYTHON_PN}-py \
- ${PYTHON_PN}-pytest \
- ${PYTHON_PN}-pytest-benchmark \
- ${PYTHON_PN}-pytest-runner \
- ${PYTHON_PN}-pytest-timeout \
- ${PYTHON_PN}-pytest-xdist \
- ${PYTHON_PN}-requests \
- ${PYTHON_PN}-statistics \
- ${PYTHON_PN}-tomllib \
- ${PYTHON_PN}-typing-extensions \
- "
-
-S = "${WORKDIR}/git"
-
-do_install_ptest() {
- install -d ${D}${PTEST_PATH}/tests
- cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
- install -Dm 0644 ${S}/tests/.pylint_primer_tests/.gitkeep ${D}${PTEST_PATH}/tests/.pylint_primer_tests/.gitkeep
- sed -i 's#/usr/bin/python$#/usr/bin/python3#g' ${D}${PTEST_PATH}/tests/data/ascript
-}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_3.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_3.0.2.bb
new file mode 100644
index 0000000..8af74b7
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_3.0.2.bb
@@ -0,0 +1,51 @@
+SUMMARY="Pylint is a Python source code analyzer"
+HOMEPAGE= "http://www.pylint.org/"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c107cf754550e65755c42985a5d4e9c9"
+
+SRC_URI += "git://github.com/pylint-dev/pylint;branch=maintenance/3.0.x;protocol=https \
+ file://run-ptest \
+ "
+SRCREV = "efee9618894795cc8847727108522aa79431ee25"
+
+inherit python_setuptools_build_meta ptest
+
+RDEPENDS:${PN} += "${PYTHON_PN}-astroid \
+ ${PYTHON_PN}-dill \
+ ${PYTHON_PN}-isort \
+ ${PYTHON_PN}-mccabe \
+ ${PYTHON_PN}-numbers \
+ ${PYTHON_PN}-platformdirs \
+ ${PYTHON_PN}-shell \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-pkgutil \
+ ${PYTHON_PN}-difflib \
+ ${PYTHON_PN}-netserver \
+ ${PYTHON_PN}-tomlkit \
+ "
+
+RDEPENDS:${PN}-ptest += " \
+ ${PYTHON_PN}-core \
+ ${PYTHON_PN}-git \
+ ${PYTHON_PN}-py \
+ ${PYTHON_PN}-pytest \
+ ${PYTHON_PN}-pytest-benchmark \
+ ${PYTHON_PN}-pytest-runner \
+ ${PYTHON_PN}-pytest-timeout \
+ ${PYTHON_PN}-pytest-xdist \
+ ${PYTHON_PN}-requests \
+ ${PYTHON_PN}-statistics \
+ ${PYTHON_PN}-tomllib \
+ ${PYTHON_PN}-typing-extensions \
+ "
+
+S = "${WORKDIR}/git"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+ install -Dm 0644 ${S}/tests/.pylint_primer_tests/.gitkeep ${D}${PTEST_PATH}/tests/.pylint_primer_tests/.gitkeep
+ sed -i 's#/usr/bin/python$#/usr/bin/python3#g' ${D}${PTEST_PATH}/tests/data/ascript
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymemcache_4.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymemcache_4.0.0.bb
new file mode 100644
index 0000000..2a09e96
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymemcache_4.0.0.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "A comprehensive, fast, pure Python memcached client"
+HOMEPAGE = "https://github.com/pinterest/pymemcache"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+PYPI_PACKAGE = "pymemcache"
+
+SRC_URI[sha256sum] = "27bf9bd1bbc1e20f83633208620d56de50f14185055e49504f4f5e94e94aff94"
+
+inherit pypi setuptools3
+
+DEPENDS += " \
+ ${PYTHON_PN}-setuptools-scm-native \
+ ${PYTHON_PN}-six-native \
+"
+
+RDEPENDS:${PN} += "\
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-core \
+ ${PYTHON_PN}-logging \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymetno_0.11.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymetno_0.11.0.bb
deleted file mode 100644
index d66c4c2..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymetno_0.11.0.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Python library to talk to the met.no api"
-HOMEPAGE = "https://github.com/Danielhiversen/pyMetno"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5d503272f52c35147ec960cb56a03bf4"
-
-SRC_URI = "git://github.com/Danielhiversen/pyMetno.git;protocol=https;branch=master"
-SRCREV = "d7a6161c7765bff19a276b29a6a689a59b03a63c"
-S = "${WORKDIR}/git"
-
-inherit setuptools3
-
-PIP_INSTALL_PACKAGE = "PyMetno"
-
-RDEPENDS:${PN} = "\
- ${PYTHON_PN}-aiohttp (>=3.6.1) \
- ${PYTHON_PN}-async-timeout (>=3.0.1) \
- ${PYTHON_PN}-pytz (>=2019.3) \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymetno_0.12.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymetno_0.12.0.bb
new file mode 100644
index 0000000..ae68687
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymetno_0.12.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Python library to talk to the met.no api"
+HOMEPAGE = "https://github.com/Danielhiversen/pyMetno"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5d503272f52c35147ec960cb56a03bf4"
+
+SRC_URI = "git://github.com/Danielhiversen/pyMetno.git;protocol=https;branch=master"
+SRCREV = "50f427aad264a4793abb94a3c8cbf987fadcd4ae"
+S = "${WORKDIR}/git"
+
+inherit setuptools3
+
+PIP_INSTALL_PACKAGE = "PyMetno"
+
+RDEPENDS:${PN} = "\
+ ${PYTHON_PN}-aiohttp (>=3.6.1) \
+ ${PYTHON_PN}-async-timeout (>=3.0.1) \
+ ${PYTHON_PN}-pytz (>=2019.3) \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.176.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.176.bb
deleted file mode 100644
index 56f34d4..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.176.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-DESCRIPTION = "Python API for MISP"
-HOMEPAGE = "https://github.com/MISP/PyMISP"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a3639cf5780f71b125d3e9d1dc127c20"
-
-SRC_URI = "git://github.com/MISP/PyMISP.git;protocol=https;branch=main"
-SRCREV = "249cf20f3516100cea0adb0396635e2c13d7695d"
-S = "${WORKDIR}/git"
-
-inherit python_poetry_core
-
-PIP_INSTALL_PACKAGE = "pymisp"
-
-RDEPENDS:${PN} += " \
- ${PYTHON_PN}-dateutil \
- ${PYTHON_PN}-json \
- ${PYTHON_PN}-jsonschema \
- ${PYTHON_PN}-requests \
- ${PYTHON_PN}-six \
- ${PYTHON_PN}-deprecated \
- ${PYTHON_PN}-wrapt \
-"
-
-# Fixes: python3-pymisp requires /bin/bash, but no
-# providers found in RDEPENDS:python3-pymisp? [file-rdep]
-RDEPENDS:${PN} += "bash"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.178.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.178.bb
new file mode 100644
index 0000000..e969dbe
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.178.bb
@@ -0,0 +1,26 @@
+DESCRIPTION = "Python API for MISP"
+HOMEPAGE = "https://github.com/MISP/PyMISP"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a3639cf5780f71b125d3e9d1dc127c20"
+
+SRC_URI = "git://github.com/MISP/PyMISP.git;protocol=https;branch=main"
+SRCREV = "3a3096664109639322bff7285956ef7cc376a260"
+S = "${WORKDIR}/git"
+
+inherit python_poetry_core
+
+PIP_INSTALL_PACKAGE = "pymisp"
+
+RDEPENDS:${PN} += " \
+ ${PYTHON_PN}-dateutil \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-jsonschema \
+ ${PYTHON_PN}-requests \
+ ${PYTHON_PN}-six \
+ ${PYTHON_PN}-deprecated \
+ ${PYTHON_PN}-wrapt \
+"
+
+# Fixes: python3-pymisp requires /bin/bash, but no
+# providers found in RDEPENDS:python3-pymisp? [file-rdep]
+RDEPENDS:${PN} += "bash"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_4.5.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_4.5.0.bb
deleted file mode 100644
index 9ae3eef..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_4.5.0.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "Python driver for MongoDB <http://www.mongodb.org>"
-DESCRIPTION = "\
-The PyMongo distribution contains tools for interacting with MongoDB \
-database from Python. The bson package is an implementation of the BSON \
-format for Python. The pymongo package is a native Python driver for \
-MongoDB. The gridfs package is a gridfs implementation on top of pymongo."
-HOMEPAGE = "http://github.com/mongodb/mongo-python-driver"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-
-SRC_URI[sha256sum] = "681f252e43b3ef054ca9161635f81b730f4d8cadd28b3f2b2004f5a72f853982"
-
-inherit pypi setuptools3
-
-PACKAGES =+ "${PYTHON_PN}-bson"
-
-FILES:${PYTHON_PN}-bson = "${PYTHON_SITEPACKAGES_DIR}/bson/*"
-
-RDEPENDS:${PYTHON_PN}-bson += " \
- ${PYTHON_PN}-datetime \
- ${PYTHON_PN}-json \
- ${PYTHON_PN}-netclient \
- ${PYTHON_PN}-numbers \
- ${PYTHON_PN}-threading \
-"
-
-RDEPENDS:${PN} += " \
- ${PYTHON_PN}-bson \
- ${PYTHON_PN}-pprint \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_4.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_4.6.0.bb
new file mode 100644
index 0000000..18e29a1
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_4.6.0.bb
@@ -0,0 +1,30 @@
+SUMMARY = "Python driver for MongoDB <http://www.mongodb.org>"
+DESCRIPTION = "\
+The PyMongo distribution contains tools for interacting with MongoDB \
+database from Python. The bson package is an implementation of the BSON \
+format for Python. The pymongo package is a native Python driver for \
+MongoDB. The gridfs package is a gridfs implementation on top of pymongo."
+HOMEPAGE = "http://github.com/mongodb/mongo-python-driver"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
+
+SRC_URI[sha256sum] = "fb1c56d891f9e34303c451998ef62ba52659648bb0d75b03c5e4ac223a3342c2"
+
+inherit pypi setuptools3
+
+PACKAGES =+ "${PYTHON_PN}-bson"
+
+FILES:${PYTHON_PN}-bson = "${PYTHON_SITEPACKAGES_DIR}/bson/*"
+
+RDEPENDS:${PYTHON_PN}-bson += " \
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-numbers \
+ ${PYTHON_PN}-threading \
+"
+
+RDEPENDS:${PN} += " \
+ ${PYTHON_PN}-bson \
+ ${PYTHON_PN}-pprint \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pynacl_1.5.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pynacl_1.5.0.bb
index 6e53461..0747c67 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pynacl_1.5.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pynacl_1.5.0.bb
@@ -15,12 +15,6 @@
libsodium \
"
-RDEPENDS:${PN} = "\
- ${PYTHON_PN}-six \
- ${PYTHON_PN}-cffi \
- libsodium \
-"
-
do_compile:prepend() {
export SODIUM_INSTALL=system
}
@@ -28,3 +22,15 @@
do_install:prepend() {
export SODIUM_INSTALL=system
}
+
+RDEPENDS:${PN} = "\
+ ${PYTHON_PN}-six \
+ ${PYTHON_PN}-cffi \
+ libsodium \
+"
+
+RPROVIDES:${PN} = "python3-nacl"
+
+# in meta-virtualization layer
+#
+RCONFLICTS:${PN} = "python3-nacl"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_2.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_2.6.1.bb
deleted file mode 100644
index c63e75c..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_2.6.1.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "A toolkit to write, run and analyze benchmarks"
-DESCRIPTION = " \
-The Python pyperf module is a toolkit to write, run and analyze benchmarks. \
-Features: \
- * Simple API to run reliable benchmarks \
- * Automatically calibrate a benchmark for a time budget. \
- * Spawn multiple worker processes. \
- * Compute the mean and standard deviation. \
- * Detect if a benchmark result seems unstable. \
- * JSON format to store benchmark results. \
- * Support multiple units: seconds, bytes and integer. \
-"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=78bc2e6e87c8c61272937b879e6dc2f8"
-
-SRC_URI[sha256sum] = "171aea69b8efde61210e512166d8764e7765a9c7678b768052174b01f349f247"
-
-DEPENDS += "${PYTHON_PN}-six-native"
-
-PYPI_PACKAGE = "pyperf"
-inherit pypi python_setuptools_build_meta
-
-RDEPENDS:${PN} += "${PYTHON_PN}-misc ${PYTHON_PN}-statistics"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_2.6.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_2.6.2.bb
new file mode 100644
index 0000000..3f284f2
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_2.6.2.bb
@@ -0,0 +1,23 @@
+SUMMARY = "A toolkit to write, run and analyze benchmarks"
+DESCRIPTION = " \
+The Python pyperf module is a toolkit to write, run and analyze benchmarks. \
+Features: \
+ * Simple API to run reliable benchmarks \
+ * Automatically calibrate a benchmark for a time budget. \
+ * Spawn multiple worker processes. \
+ * Compute the mean and standard deviation. \
+ * Detect if a benchmark result seems unstable. \
+ * JSON format to store benchmark results. \
+ * Support multiple units: seconds, bytes and integer. \
+"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=78bc2e6e87c8c61272937b879e6dc2f8"
+
+SRC_URI[sha256sum] = "64d8fadce6a74f478f29832c1eaa2a04856655ebff17292d5237fc8317c3a3c5"
+
+DEPENDS += "${PYTHON_PN}-six-native"
+
+PYPI_PACKAGE = "pyperf"
+inherit pypi python_setuptools_build_meta
+
+RDEPENDS:${PN} += "${PYTHON_PN}-misc ${PYTHON_PN}-statistics"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyppmd_1.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyppmd_1.1.0.bb
new file mode 100644
index 0000000..053c9ad
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyppmd_1.1.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "PPMd compression/decompression library"
+HOMEPAGE = "https://pyppmd.readthedocs.io/en/latest/"
+LICENSE = "LGPL-2.1-or-later"
+SECTION = "devel/python"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4fbd65380cdd255951079008b364516c"
+
+inherit pypi python_setuptools_build_meta
+
+SRC_URI[sha256sum] = "1d38ce2e4b7eb84b53bc8a52380b94f66ba6c39328b8800b30c2b5bf31693973"
+
+DEPENDS += " \
+ ${PYTHON_PN}-setuptools-scm-native \
+ ${PYTHON_PN}-toml-native \
+ ${PYTHON_PN}-wheel-native \
+"
+
+RDEPENDS:${PN} += "\
+ ${PYTHON_PN}-email \
+ ${PYTHON_PN}-importlib-metadata \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pystemd_0.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pystemd_0.10.0.bb
deleted file mode 100644
index da22a43..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pystemd_0.10.0.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Python bindings for interacting with systemd over DBus"
-LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=4fbd65380cdd255951079008b364516c"
-
-SRC_URI[sha256sum] = "d74a814bfda01085db1a8ad90be3cb27daf23a51ab6b03e7e29ec811fa2ae859"
-
-DEPENDS = "systemd python3-cython-native"
-RDEPENDS:${PN} += "python3-xml python3-pprint"
-REQUIRED_DISTRO_FEATURES = "systemd"
-
-inherit pypi setuptools3 features_check pkgconfig
-
-do_configure:prepend() {
- rm -rf ${S}/pystemd/*.c
-}
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pystemd_0.13.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pystemd_0.13.2.bb
new file mode 100644
index 0000000..d31f451
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pystemd_0.13.2.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Python bindings for interacting with systemd over DBus"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI[sha256sum] = "4dcfa4b13a55685c49d3d17c10631eca18c33770f66316f8ef2337b8951cc144"
+
+DEPENDS = "systemd python3-cython-native"
+RDEPENDS:${PN} += "\
+ ${PYTHON_PN}-xml \
+ ${PYTHON_PN}-lxml \
+ ${PYTHON_PN}-pprint \
+ ${PYTHON_PN}-core \
+ ${PYTHON_PN}-shell \
+ ${PYTHON_PN}-io \
+"
+REQUIRED_DISTRO_FEATURES = "systemd"
+
+inherit pypi setuptools3 features_check pkgconfig
+
+do_configure:prepend() {
+ rm -rf ${S}/pystemd/*.c
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.21.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.21.1.bb
deleted file mode 100644
index c96c0e0..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.21.1.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-DESCRIPTION = "pytest-asyncio is an Apache2 licensed library, written in Python, for testing asyncio code with pytest"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=136e4f49dbf29942c572a3a8f6e88a77"
-
-SRC_URI[sha256sum] = "40a7eae6dded22c7b604986855ea48400ab15b069ae38116e8c01238e9eeb64d"
-
-inherit pypi python_setuptools_build_meta
-
-DEPENDS += "python3-setuptools-scm-native"
-
-RDEPENDS:${PN} += " \
- python3-pytest \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.22.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.22.0.bb
new file mode 100644
index 0000000..8fa77ac
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.22.0.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "pytest-asyncio is an Apache2 licensed library, written in Python, for testing asyncio code with pytest"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=136e4f49dbf29942c572a3a8f6e88a77"
+
+SRC_URI[sha256sum] = "01da1bf94ff0b969cc8d760104f7c1011903d0d658bdaef0bbae769660a7fbc4"
+
+inherit pypi python_setuptools_build_meta
+
+DEPENDS += "python3-setuptools-scm-native"
+
+RDEPENDS:${PN} += " \
+ python3-pytest \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-mock/0001-test_pytest_mock-skip-args-introspection-tests.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-mock/0001-test_pytest_mock-skip-args-introspection-tests.patch
new file mode 100644
index 0000000..f024e79
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-mock/0001-test_pytest_mock-skip-args-introspection-tests.patch
@@ -0,0 +1,38 @@
+From e184fb950ad3b52c5c16438d39fe4d516c784e30 Mon Sep 17 00:00:00 2001
+From: Trevor Gamblin <tgamblin@baylibre.com>
+Date: Thu, 12 Oct 2023 17:32:40 -0400
+Subject: [PATCH] test_pytest_mock: skip args introspection tests
+
+Disable these two tests for now so that python3-pytest-mock can have
+successful ptest runs.
+
+Upstream-Status: Inappropriate [OE-Specific]
+
+Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
+---
+ tests/test_pytest_mock.py | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/tests/test_pytest_mock.py b/tests/test_pytest_mock.py
+index 3d53241..157b6c3 100644
+--- a/tests/test_pytest_mock.py
++++ b/tests/test_pytest_mock.py
+@@ -581,6 +581,7 @@ def test_assert_called_wrapper(mocker: MockerFixture) -> None:
+ stub.assert_called()
+
+
++@pytest.mark.skip("Async not correctly detected, skip for now")
+ @pytest.mark.usefixtures("needs_assert_rewrite")
+ def test_assert_called_args_with_introspection(mocker: MockerFixture) -> None:
+ stub = mocker.stub()
+@@ -597,6 +598,7 @@ def test_assert_called_args_with_introspection(mocker: MockerFixture) -> None:
+ stub.assert_called_once_with(*wrong_args)
+
+
++@pytest.mark.skip("Async not correctly detected, skip for now")
+ @pytest.mark.usefixtures("needs_assert_rewrite")
+ def test_assert_called_kwargs_with_introspection(mocker: MockerFixture) -> None:
+ stub = mocker.stub()
+--
+2.41.0
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-mock_3.11.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-mock_3.11.1.bb
deleted file mode 100644
index 69d7456..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-mock_3.11.1.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "Thin-wrapper around the mock package for easier use with pytest"
-HOMEPAGE = "https://github.com/pytest-dev/pytest-mock/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = " \
- file://LICENSE;md5=b2ddb1e69238461b7e4ef2a84d874109 \
-"
-
-SRC_URI = " \
- git://github.com/pytest-dev/pytest-mock;branch=main;protocol=https \
- file://run-ptest \
-"
-
-SRCREV ?= "d3e73f2e93f7b93eba0a36e17e43bafd969da4fe"
-
-SRC_URI[sha256sum] = "fbbdb085ef7c252a326fd8cdcac0aa3b1333d8811f131bdcc701002e1be7ed4f"
-
-inherit setuptools3 ptest
-
-DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
-
-RDEPENDS:${PN} += " \
- python3-asyncio \
- python3-pytest \
- python3-unittest \
-"
-
-S = "${WORKDIR}/git"
-
-do_install_ptest() {
- install -d ${D}${PTEST_PATH}/tests
- cp -rf ${S}/tests ${D}${PTEST_PATH}/
-}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-mock_3.12.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-mock_3.12.0.bb
new file mode 100644
index 0000000..ac6f8e8
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-mock_3.12.0.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Thin-wrapper around the mock package for easier use with pytest"
+HOMEPAGE = "https://github.com/pytest-dev/pytest-mock/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE;md5=b2ddb1e69238461b7e4ef2a84d874109 \
+"
+
+SRC_URI = " \
+ git://github.com/pytest-dev/pytest-mock;branch=main;protocol=https \
+ file://run-ptest \
+ file://0001-test_pytest_mock-skip-args-introspection-tests.patch \
+"
+
+SRCREV = "69adc6f76c1a7baf4e7a728da9eec38741d5783e"
+
+SRC_URI[sha256sum] = "fbbdb085ef7c252a326fd8cdcac0aa3b1333d8811f131bdcc701002e1be7ed4f"
+
+inherit setuptools3 ptest
+
+DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
+
+RDEPENDS:${PN} += " \
+ python3-asyncio \
+ python3-pytest \
+ python3-pytest-asyncio \
+ python3-unittest \
+"
+
+S = "${WORKDIR}/git"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests ${D}${PTEST_PATH}/
+}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-timeout_2.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-timeout_2.1.0.bb
deleted file mode 100644
index c4faec6..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-timeout_2.1.0.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "py.test plugin to abort hanging tests"
-HOMEPAGE = "https://github.com/pytest-dev/pytest-timeout/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d8048cd156eda3df2e7f111b0ae9ceff"
-
-PYPI_PACKAGE = "pytest-timeout"
-
-SRC_URI[sha256sum] = "c07ca07404c612f8abbe22294b23c368e2e5104b521c1790195561f37e1ac3d9"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} = "${PYTHON_PN}-pytest"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-timeout_2.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-timeout_2.2.0.bb
new file mode 100644
index 0000000..da8bc5d
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-timeout_2.2.0.bb
@@ -0,0 +1,12 @@
+SUMMARY = "py.test plugin to abort hanging tests"
+HOMEPAGE = "https://github.com/pytest-dev/pytest-timeout/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d8048cd156eda3df2e7f111b0ae9ceff"
+
+PYPI_PACKAGE = "pytest-timeout"
+
+SRC_URI[sha256sum] = "3b0b95dabf3cb50bac9ef5ca912fa0cfc286526af17afc806824df20c2f72c90"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} = "${PYTHON_PN}-pytest"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-xdist_3.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-xdist_3.3.1.bb
deleted file mode 100644
index 6001977..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-xdist_3.3.1.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "pytest xdist plugin for distributed testing and loop-on-failing modes"
-HOMEPAGE = "https://github.com/pytest-dev/pytest-xdist"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=772fcdaca14b378878d05c7d857e6c3e"
-
-SRC_URI[sha256sum] = "d5ee0520eb1b7bcca50a60a518ab7a7707992812c578198f8b44fdfac78e8c93"
-
-inherit pypi python_setuptools_build_meta
-
-DEPENDS += "python3-setuptools-scm-native"
-
-# Note that the dependency on pytest-forked is scheduled to be dropped in 3.0
-RDEPENDS:${PN} += " \
- python3-execnet \
- python3-pytest \
- python3-pytest-forked \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-xdist_3.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-xdist_3.4.0.bb
new file mode 100644
index 0000000..c3b84c7
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-xdist_3.4.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "pytest xdist plugin for distributed testing and loop-on-failing modes"
+HOMEPAGE = "https://github.com/pytest-dev/pytest-xdist"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=772fcdaca14b378878d05c7d857e6c3e"
+
+SRC_URI[sha256sum] = "3a94a931dd9e268e0b871a877d09fe2efb6175c2c23d60d56a6001359002b832"
+
+inherit pypi python_setuptools_build_meta
+
+DEPENDS += "python3-setuptools-scm-native"
+
+# Note that the dependency on pytest-forked is scheduled to be dropped in 3.0
+RDEPENDS:${PN} += " \
+ python3-execnet \
+ python3-pytest \
+ python3-pytest-forked \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-python-vlc_3.0.18122.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-python-vlc_3.0.18122.bb
deleted file mode 100644
index e67e792..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-python-vlc_3.0.18122.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "This module provides ctypes-based bindings for the native libvlc API of the VLC video player."
-HOMEPAGE = "wiki.videolan.org/PythonBinding"
-LICENSE = "LGPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-SRC_URI[sha256sum] = "1039bde287853b4b7b61ba22d83761832434f78506da762dfb060291bf32897d"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += " \
- python3-ctypes \
- python3-logging \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-python-vlc_3.0.20123.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-python-vlc_3.0.20123.bb
new file mode 100644
index 0000000..960da14
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-python-vlc_3.0.20123.bb
@@ -0,0 +1,13 @@
+SUMMARY = "This module provides ctypes-based bindings for the native libvlc API of the VLC video player."
+HOMEPAGE = "wiki.videolan.org/PythonBinding"
+LICENSE = "LGPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI[sha256sum] = "244fbb9e392a0326841fca926d6d12a2a36c546982191f493f148fa19e66b1d4"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} += " \
+ python3-ctypes \
+ python3-logging \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyudev_0.24.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyudev_0.24.1.bb
index 98817f9..6fcf346 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyudev_0.24.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyudev_0.24.1.bb
@@ -20,5 +20,3 @@
${PYTHON_PN}-fcntl \
libudev \
"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-rapidjson_1.11.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-rapidjson_1.11.bb
deleted file mode 100644
index 3ea5594..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-rapidjson_1.11.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-SUMMARY = "Python wrapper around rapidjson"
-HOMEPAGE = "https://github.com/python-rapidjson/python-rapidjson"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=4daf3929156304df67003c33274a98bd"
-
-SRC_URI = "git://github.com/python-rapidjson/python-rapidjson.git;protocol=https;branch=master"
-SRCREV = "e1b41f64df1705770b7b70d7221a4812909c1d0f"
-
-S = "${WORKDIR}/git"
-
-# Inheriting ptest provides functionality for packaging and installing runtime tests for this recipe
-inherit setuptools3 ptest
-
-SETUPTOOLS_BUILD_ARGS += " --rj-include-dir=${RECIPE_SYSROOT}${includedir}"
-
-# run-ptest is a shell script that starts the test suite
-SRC_URI += " \
- file://run-ptest \
-"
-
-DEPENDS += " \
- rapidjson \
-"
-
-# Adding required python package for the ptest (pytest and pytest->automake report translation)
-RDEPENDS:${PN}-ptest += " \
- ${PYTHON_PN}-pytest \
- ${PYTHON_PN}-unittest-automake-output \
-"
-
-RDEPENDS:${PN} += " \
- ${PYTHON_PN}-core \
-"
-
-# Installing the test suite on the target
-do_install_ptest() {
- install -d ${D}${PTEST_PATH}/tests
- cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
-}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-rapidjson_1.13.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-rapidjson_1.13.bb
new file mode 100644
index 0000000..1623f72
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-rapidjson_1.13.bb
@@ -0,0 +1,41 @@
+SUMMARY = "Python wrapper around rapidjson"
+HOMEPAGE = "https://github.com/python-rapidjson/python-rapidjson"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4daf3929156304df67003c33274a98bd"
+
+SRC_URI = "git://github.com/python-rapidjson/python-rapidjson.git;protocol=https;branch=master"
+SRCREV = "a87053d9b97750afddb504da05bd1cd9f4b94654"
+
+S = "${WORKDIR}/git"
+
+# Inheriting ptest provides functionality for packaging and installing runtime tests for this recipe
+inherit setuptools3 ptest
+
+SETUPTOOLS_BUILD_ARGS += " --rj-include-dir=${RECIPE_SYSROOT}${includedir}"
+
+# run-ptest is a shell script that starts the test suite
+SRC_URI += " \
+ file://run-ptest \
+"
+
+DEPENDS += " \
+ rapidjson \
+"
+
+# Adding required python package for the ptest (pytest and pytest->automake report translation)
+RDEPENDS:${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+ ${PYTHON_PN}-unittest-automake-output \
+ ${PYTHON_PN}-pytz \
+"
+
+RDEPENDS:${PN} += " \
+ ${PYTHON_PN}-core \
+"
+
+# Installing the test suite on the target
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-rarfile_4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-rarfile_4.1.bb
new file mode 100644
index 0000000..ece92ee
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-rarfile_4.1.bb
@@ -0,0 +1,23 @@
+SUMMARY = "RAR archive reader for Python"
+HOMEPAGE = "https://github.com/markokr/rarfile"
+LICENSE = "ISC"
+SECTION = "devel/python"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2f31e224cbf0c29cb6c55f2bae0e165f"
+
+inherit setuptools3
+
+SRC_URI[sha256sum] = "db60b3b5bc1c4bdeb941427d50b606d51df677353385255583847639473eda48"
+
+inherit pypi
+
+PYPI_PACKAGE="rarfile"
+
+RDEPENDS:${PN} += "\
+ p7zip \
+ ${PYTHON_PN}-core \
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-crypt \
+ ${PYTHON_PN}-io \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2023.10.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2023.10.3.bb
new file mode 100644
index 0000000..c26d55f
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2023.10.3.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Alternative regular expression module, to replace re."
+HOMEPAGE = "https://bitbucket.org/mrabarnett/mrab-regex/src"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7b5751ddd6b643203c31ff873051d069"
+
+inherit pypi setuptools3
+
+SRC_URI[sha256sum] = "3fef4f844d2290ee0ba57addcec17eec9e3df73f10a2748485dfd6a3a188cc0f"
+
+RDEPENDS:${PN} += " \
+ python3-stringold \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2023.8.8.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2023.8.8.bb
deleted file mode 100644
index 1676bab..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2023.8.8.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "Alternative regular expression module, to replace re."
-HOMEPAGE = "https://bitbucket.org/mrabarnett/mrab-regex/src"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7b5751ddd6b643203c31ff873051d069"
-
-inherit pypi setuptools3
-
-SRC_URI[sha256sum] = "fcbdc5f2b0f1cd0f6a56cdb46fe41d2cce1e644e3b68832f3eeebc5fb0f7712e"
-
-RDEPENDS:${PN} += " \
- python3-stringold \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework-seriallibrary_0.4.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework-seriallibrary_0.4.3.bb
index 4ad5c36..4c0bd7e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework-seriallibrary_0.4.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework-seriallibrary_0.4.3.bb
@@ -13,5 +13,3 @@
${PYTHON_PN}-pyserial \
${PYTHON_PN}-robotframework \
"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-schedule_1.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-schedule_1.2.0.bb
deleted file mode 100644
index 98b7690..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-schedule_1.2.0.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "Job scheduling for humans"
-HOMEPAGE = "https://github.com/dbader/schedule"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=6400f153491d45ea3459761627ca24b2"
-
-SRC_URI[sha256sum] = "b4ad697aafba7184c9eb6a1e2ebc41f781547242acde8ceae9a0a25b04c0922d"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += "${PYTHON_PN}-datetime ${PYTHON_PN}-logging ${PYTHON_PN}-math"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-schedule_1.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-schedule_1.2.1.bb
new file mode 100644
index 0000000..de32681
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-schedule_1.2.1.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Job scheduling for humans"
+HOMEPAGE = "https://github.com/dbader/schedule"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=6400f153491d45ea3459761627ca24b2"
+
+SRC_URI[sha256sum] = "843bc0538b99c93f02b8b50e3e39886c06f2d003b24f48e1aa4cadfa3f341279"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} += "${PYTHON_PN}-datetime ${PYTHON_PN}-logging ${PYTHON_PN}-math"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-screeninfo_0.8.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-screeninfo_0.8.1.bb
new file mode 100644
index 0000000..0fb3f3a
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-screeninfo_0.8.1.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "Fetch location and size of physical screens."
+HOMEPAGE = "https://github.com/rr-/screeninfo"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=a23813181e06852d377bc25ae5563a97"
+
+PYPI_PACKAGE = "screeninfo"
+
+SRC_URI[sha256sum] = "9983076bcc7e34402a1a9e4d7dabf3729411fd2abb3f3b4be7eba73519cd2ed1"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} += "\
+ ${PYTHON_PN}-core \
+ ${PYTHON_PN}-profile \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-semver_3.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-semver_3.0.1.bb
deleted file mode 100644
index 2d85d78..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-semver_3.0.1.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-DESCRIPTION = "Python module for Semantic Versioning"
-HOMEPAGE = "https://github.com/python-semver/python-semver"
-BUGTRACKER = "https://github.com/python-semver/python-semver"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=d9da679db3bdce30a1b4328d5c474f98"
-
-SRC_URI[md5sum] = "b7502c12ce325ffffeab694fed52f6f5"
-SRC_URI[sha256sum] = "9ec78c5447883c67b97f98c3b6212796708191d22e4ad30f4570f840171cbce1"
-
-inherit pypi python_setuptools_build_meta ptest
-
-BBCLASSEXTEND = "native nativesdk"
-
-SRC_URI += " \
- file://run-ptest \
-"
-
-DEPENDS += " python3-setuptools-scm-native"
-
-RDEPENDS:${PN}-ptest += " \
- ${PYTHON_PN}-pytest \
-"
-
-do_install_ptest() {
- cp -rf ${S}/tests ${D}${PTEST_PATH}/
-}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-semver_3.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-semver_3.0.2.bb
new file mode 100644
index 0000000..f90ea0c
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-semver_3.0.2.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "Python module for Semantic Versioning"
+HOMEPAGE = "https://github.com/python-semver/python-semver"
+BUGTRACKER = "https://github.com/python-semver/python-semver"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=d9da679db3bdce30a1b4328d5c474f98"
+
+SRC_URI[sha256sum] = "6253adb39c70f6e51afed2fa7152bcd414c411286088fb4b9effb133885ab4cc"
+
+inherit pypi python_setuptools_build_meta ptest
+
+BBCLASSEXTEND = "native nativesdk"
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+DEPENDS += " python3-setuptools-scm-native"
+
+RDEPENDS:${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ cp -rf ${S}/tests ${D}${PTEST_PATH}/
+}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.26.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.26.0.bb
deleted file mode 100644
index 697f102..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.26.0.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "The new Python SDK for Sentry.io"
-DESCRIPTION = "This is the next line of the Python SDK \
-for Sentry, intended to replace the raven package on PyPI."
-HOMEPAGE = "https://github.com/getsentry/sentry-python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=7fcb29c83dd48cb7b112d0dd81111a89"
-
-RDEPENDS:${PN} += "\
- ${PYTHON_PN}-urllib3 \
- ${PYTHON_PN}-core \
- ${PYTHON_PN}-json \
- ${PYTHON_PN}-logging \
- ${PYTHON_PN}-threading \
- ${PYTHON_PN}-compression \
- ${PYTHON_PN}-datetime \
-"
-
-SRC_URI[sha256sum] = "760e4fb6d01c994110507133e08ecd4bdf4d75ee4be77f296a3579796cf73134"
-
-PYPI_PACKAGE = "sentry-sdk"
-
-inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.35.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.35.0.bb
new file mode 100644
index 0000000..b2bc875
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.35.0.bb
@@ -0,0 +1,22 @@
+SUMMARY = "The new Python SDK for Sentry.io"
+DESCRIPTION = "This is the next line of the Python SDK \
+for Sentry, intended to replace the raven package on PyPI."
+HOMEPAGE = "https://github.com/getsentry/sentry-python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=03dc788d9a9486be5e6a1d99c2c1ce3a"
+
+RDEPENDS:${PN} += "\
+ ${PYTHON_PN}-urllib3 \
+ ${PYTHON_PN}-core \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-threading \
+ ${PYTHON_PN}-compression \
+ ${PYTHON_PN}-datetime \
+"
+
+SRC_URI[sha256sum] = "04e392db9a0d59bd49a51b9e3a92410ac5867556820465057c2ef89a38e953e9"
+
+PYPI_PACKAGE = "sentry-sdk"
+
+inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-shellingham_1.5.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-shellingham_1.5.3.bb
deleted file mode 100644
index aff5f24..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-shellingham_1.5.3.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "Tool to Detect Surrounding Shell"
-SECTION = "devel/python"
-LICENSE = "ISC"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=78e1c0248051c32a38a7f820c30bd7a5"
-
-SRC_URI[sha256sum] = "cb4a6fec583535bc6da17b647dd2330cf7ef30239e05d547d99ae3705fd0f7f8"
-
-inherit pypi setuptools3
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-shellingham_1.5.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-shellingham_1.5.4.bb
new file mode 100644
index 0000000..e519e8e
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-shellingham_1.5.4.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Tool to Detect Surrounding Shell"
+SECTION = "devel/python"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=78e1c0248051c32a38a7f820c30bd7a5"
+
+SRC_URI[sha256sum] = "8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.19.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.19.1.bb
deleted file mode 100644
index 1fb31a3..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.19.1.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Simple, fast, extensible JSON encoder/decoder for Python"
-HOMEPAGE = "http://cheeseshop.python.org/pypi/simplejson"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c6338d7abd321c0b50a2a547e441c52e"
-
-SRC_URI[sha256sum] = "6277f60848a7d8319d27d2be767a7546bc965535b28070e310b3a9af90604a4c"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += "\
- ${PYTHON_PN}-io \
- ${PYTHON_PN}-netserver \
- ${PYTHON_PN}-numbers \
-"
-
-PACKAGES =+ "${PN}-tests"
-RDEPENDS:${PN}-tests = "${PN} ${PYTHON_PN}-unittest"
-FILES:${PN}-tests+= " \
- ${PYTHON_SITEPACKAGES_DIR}/simplejson/tests \
- ${PYTHON_SITEPACKAGES_DIR}/simplejson/tool.py* \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.19.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.19.2.bb
new file mode 100644
index 0000000..91f6b35
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.19.2.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Simple, fast, extensible JSON encoder/decoder for Python"
+HOMEPAGE = "http://cheeseshop.python.org/pypi/simplejson"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c6338d7abd321c0b50a2a547e441c52e"
+
+SRC_URI[sha256sum] = "9eb442a2442ce417801c912df68e1f6ccfcd41577ae7274953ab3ad24ef7d82c"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} += "\
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-netserver \
+ ${PYTHON_PN}-numbers \
+"
+
+PACKAGES =+ "${PN}-tests"
+RDEPENDS:${PN}-tests = "${PN} ${PYTHON_PN}-unittest"
+FILES:${PN}-tests+= " \
+ ${PYTHON_SITEPACKAGES_DIR}/simplejson/tests \
+ ${PYTHON_SITEPACKAGES_DIR}/simplejson/tool.py* \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-snappy_0.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-snappy_0.6.1.bb
index 8a30f7c..bd0979d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-snappy_0.6.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-snappy_0.6.1.bb
@@ -11,5 +11,3 @@
PYPI_PACKAGE = "python-snappy"
RDEPENDS:${PN} += "snappy"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.10.0.bb
new file mode 100644
index 0000000..68168bb
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.10.0.bb
@@ -0,0 +1,28 @@
+SUMMARY = "Socket.IO server"
+HOMEPAGE = "https://github.com/miguelgrinberg/python-socketio/"
+SECTION = "devel/python"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=42d0a9e728978f0eeb759c3be91536b8"
+
+inherit pypi python_setuptools_build_meta
+
+PYPI_PACKAGE = "python-socketio"
+
+SRC_URI[sha256sum] = "01c616946fa9f67ed5cc3d1568e1c4940acfc64aeeb9ff621a53e80cabeb748a"
+
+PACKAGECONFIG ?= "asyncio_client client"
+PACKAGECONFIG[asyncio_client] = ",,,${PYTHON_PN}-aiohttp ${PYTHON_PN}-websockets"
+PACKAGECONFIG[client] = ",,,${PYTHON_PN}-requests ${PYTHON_PN}-websocket-client"
+
+RDEPENDS:${PN} += "\
+ ${PYTHON_PN}-engineio \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-math \
+ ${PYTHON_PN}-pickle \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-threading \
+ ${PYTHON_PN}-six \
+ ${PYTHON_PN}-attrs \
+ ${PYTHON_PN}-bidict \
+ "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.9.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.9.0.bb
deleted file mode 100644
index 9064ee4..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.9.0.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-SUMMARY = "Socket.IO server"
-HOMEPAGE = "https://github.com/miguelgrinberg/python-socketio/"
-SECTION = "devel/python"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=42d0a9e728978f0eeb759c3be91536b8"
-
-inherit pypi python_setuptools_build_meta
-
-PYPI_PACKAGE = "python-socketio"
-
-SRC_URI[sha256sum] = "dc42735f65534187f381fde291ebf620216a4960001370f32de940229b2e7f8f"
-
-PACKAGECONFIG ?= "asyncio_client client"
-PACKAGECONFIG[asyncio_client] = ",,,${PYTHON_PN}-aiohttp ${PYTHON_PN}-websockets"
-PACKAGECONFIG[client] = ",,,${PYTHON_PN}-requests ${PYTHON_PN}-websocket-client"
-
-RDEPENDS:${PN} += "\
- ${PYTHON_PN}-engineio \
- ${PYTHON_PN}-logging \
- ${PYTHON_PN}-math \
- ${PYTHON_PN}-pickle \
- ${PYTHON_PN}-json \
- ${PYTHON_PN}-threading \
- ${PYTHON_PN}-six \
- ${PYTHON_PN}-attrs \
- ${PYTHON_PN}-bidict \
- "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_2.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_2.5.bb
index 585613d..42c07fb 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_2.5.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_2.5.bb
@@ -12,10 +12,6 @@
file://run-ptest \
"
-RDEPENDS:${PN} += "\
- ${PYTHON_PN}-beautifulsoup4 \
-"
-
RDEPENDS:${PN}-ptest += " \
${PYTHON_PN}-pytest \
${PYTHON_PN}-beautifulsoup4 \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.21.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.21.bb
deleted file mode 100644
index 92db504..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.21.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-DESCRIPTION = "Python SQL toolkit and Object Relational Mapper that gives \
-application developers the full power and flexibility of SQL"
-HOMEPAGE = "http://www.sqlalchemy.org/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b707d50badb798e1d897f2c8f649382d"
-
-SRC_URI[sha256sum] = "05b971ab1ac2994a14c56b35eaaa91f86ba080e9ad481b20d99d77f381bb6258"
-
-PYPI_PACKAGE = "SQLAlchemy"
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += " \
- python3-asyncio \
- python3-compression \
- python3-json \
- python3-logging \
- python3-netclient \
- python3-numbers \
- python3-pickle \
- python3-profile \
- python3-threading \
- python3-typing-extensions \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.23.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.23.bb
new file mode 100644
index 0000000..ce216b0
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.23.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "Python SQL toolkit and Object Relational Mapper that gives \
+application developers the full power and flexibility of SQL"
+HOMEPAGE = "http://www.sqlalchemy.org/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b707d50badb798e1d897f2c8f649382d"
+
+SRC_URI[sha256sum] = "c1bda93cbbe4aa2aa0aa8655c5aeda505cd219ff3e8da91d1d329e143e4aff69"
+
+PYPI_PACKAGE = "SQLAlchemy"
+inherit pypi setuptools3
+
+RDEPENDS:${PN} += " \
+ python3-asyncio \
+ python3-compression \
+ python3-json \
+ python3-logging \
+ python3-netclient \
+ python3-numbers \
+ python3-pickle \
+ python3-profile \
+ python3-threading \
+ python3-typing-extensions \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-stack-data_0.6.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-stack-data_0.6.2.bb
deleted file mode 100644
index 21e4b77..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-stack-data_0.6.2.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Extract data from python stack frames and tracebacks for informative displays"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a3d6c15f7859ae235a78f2758e5a48cf"
-
-DEPENDS = "python3-setuptools-scm-native"
-
-PYPI_PACKAGE = "stack_data"
-
-inherit pypi python_setuptools_build_meta
-
-SRC_URI[sha256sum] = "32d2dd0376772d01b6cb9fc996f3c8b57a357089dec328ed4b6553d037eaf815"
-
-RDEPENDS:${PN} = " \
- python3-asttokens \
- python3-executing \
- python3-html \
- python3-logging \
- python3-pure-eval \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-stack-data_0.6.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-stack-data_0.6.3.bb
new file mode 100644
index 0000000..55ddff3
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-stack-data_0.6.3.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Extract data from python stack frames and tracebacks for informative displays"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a3d6c15f7859ae235a78f2758e5a48cf"
+
+DEPENDS = "python3-setuptools-scm-native"
+
+PYPI_PACKAGE = "stack_data"
+
+inherit pypi python_setuptools_build_meta
+
+SRC_URI[sha256sum] = "836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9"
+
+RDEPENDS:${PN} = " \
+ python3-asttokens \
+ python3-executing \
+ python3-html \
+ python3-logging \
+ python3-pure-eval \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-texttable_1.6.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-texttable_1.6.7.bb
deleted file mode 100644
index e802498..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-texttable_1.6.7.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "module for creating simple ASCII tables"
-HOMEPAGE = "https://github.com/foutaise/texttable/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=7a97cdac2d9679ffdcfef3dc036d24f6"
-
-inherit pypi setuptools3
-
-SRC_URI[sha256sum] = "290348fb67f7746931bcdfd55ac7584ecd4e5b0846ab164333f0794b121760f2"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-texttable_1.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-texttable_1.7.0.bb
new file mode 100644
index 0000000..56448f7
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-texttable_1.7.0.bb
@@ -0,0 +1,10 @@
+SUMMARY = "module for creating simple ASCII tables"
+HOMEPAGE = "https://github.com/foutaise/texttable/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7a97cdac2d9679ffdcfef3dc036d24f6"
+
+inherit pypi setuptools3
+
+SRC_URI[sha256sum] = "2d2068fb55115807d3ac77a4ca68fa48803e84ebb0ee2340f858107a36522638"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tomlkit_0.12.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-tomlkit_0.12.1.bb
deleted file mode 100644
index e86a3c7..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-tomlkit_0.12.1.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "Style preserving TOML library"
-HOMEPAGE = "https://pypi.org/project/tomlkit/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=31aac0dbc1babd278d5386dadb7f8e82"
-
-SRC_URI[sha256sum] = "38e1ff8edb991273ec9f6181244a6a391ac30e9f5098e7535640ea6be97a7c86"
-
-inherit pypi python_poetry_core ptest
-
-SRC_URI += " \
- file://run-ptest \
-"
-
-RDEPENDS:${PN} += " \
- python3-datetime \
- python3-profile \
- python3-stringold \
-"
-
-RDEPENDS:${PN}-ptest += " \
- ${PYTHON_PN}-poetry-core \
- ${PYTHON_PN}-pytest \
- ${PYTHON_PN}-pyyaml \
-"
-
-do_install_ptest() {
- install -d ${D}${PTEST_PATH}/tests
- cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
-}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tomlkit_0.12.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-tomlkit_0.12.3.bb
new file mode 100644
index 0000000..89acd77
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-tomlkit_0.12.3.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Style preserving TOML library"
+HOMEPAGE = "https://pypi.org/project/tomlkit/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=31aac0dbc1babd278d5386dadb7f8e82"
+
+SRC_URI[sha256sum] = "75baf5012d06501f07bee5bf8e801b9f343e7aac5a92581f20f80ce632e6b5a4"
+
+inherit pypi python_poetry_core ptest
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS:${PN} += " \
+ python3-datetime \
+ python3-profile \
+ python3-stringold \
+"
+
+RDEPENDS:${PN}-ptest += " \
+ ${PYTHON_PN}-poetry-core \
+ ${PYTHON_PN}-pytest \
+ ${PYTHON_PN}-pyyaml \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_6.3.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_6.3.3.bb
new file mode 100644
index 0000000..c587422
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_6.3.3.bb
@@ -0,0 +1,39 @@
+SUMMARY = "Tornado is an open source version of the scalable, non-blocking web server and tools that power FriendFeed."
+DESCRIPTION = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed. \
+By using non-blocking network I/O, Tornado can scale to tens of thousands of open connections, making it ideal for long \
+polling, WebSockets, and other applications that require a long-lived connection to each user."
+HOMEPAGE = "http://www.tornadoweb.org/en/stable/"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI[sha256sum] = "e7d8db41c0181c80d76c982aacc442c0783a2c54d6400fe028954201a2e032fe"
+
+inherit pypi setuptools3
+
+# Requires _compression which is currently located in misc
+RDEPENDS:${PN} += " \
+ python3-asyncio \
+ python3-certifi \
+ python3-compression \
+ python3-ctypes \
+ python3-email \
+ python3-html \
+ python3-json \
+ python3-misc \
+ python3-multiprocessing \
+ python3-numbers \
+ python3-pkgutil \
+ python3-pycurl \
+ python3-threading \
+ python3-unittest \
+"
+
+RDEPENDS:${PN}-test += "python3-unittest"
+
+PACKAGES =+ "\
+ ${PN}-test \
+"
+
+FILES:${PN}-test = " \
+ ${libdir}/${PYTHON_DIR}/site-packages/*/test \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_6.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_6.3.bb
deleted file mode 100644
index af5009b..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_6.3.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-SUMMARY = "Tornado is an open source version of the scalable, non-blocking web server and tools that power FriendFeed."
-DESCRIPTION = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed. \
-By using non-blocking network I/O, Tornado can scale to tens of thousands of open connections, making it ideal for long \
-polling, WebSockets, and other applications that require a long-lived connection to each user."
-HOMEPAGE = "http://www.tornadoweb.org/en/stable/"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-SRC_URI[sha256sum] = "d68f3192936ff2c4add04dc21a436a43b4408d466746b78bb2b9d0a53a18683f"
-
-inherit pypi setuptools3
-
-# Requires _compression which is currently located in misc
-RDEPENDS:${PN} += " \
- python3-asyncio \
- python3-certifi \
- python3-compression \
- python3-ctypes \
- python3-email \
- python3-html \
- python3-json \
- python3-misc \
- python3-multiprocessing \
- python3-numbers \
- python3-pkgutil \
- python3-pycurl \
- python3-threading \
- python3-unittest \
-"
-
-RDEPENDS:${PN}-test += "python3-unittest"
-
-PACKAGES =+ "\
- ${PN}-test \
-"
-
-FILES:${PN}-test = " \
- ${libdir}/${PYTHON_DIR}/site-packages/*/test \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.10.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.10.1.bb
deleted file mode 100644
index 7df1d66..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.10.1.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Traitlets Python config system"
-HOMEPAGE = "http://ipython.org"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=13bed0ee6f46a6f6dbf1f9f9572f250a"
-
-SRC_URI[sha256sum] = "db9c4aa58139c3ba850101913915c042bdba86f7c8a0dda1c6f7f92c5da8e542"
-
-inherit pypi python_hatchling
-
-RDEPENDS:${PN} = "\
- ${PYTHON_PN}-ipython-genutils \
- ${PYTHON_PN}-decorator \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.13.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.13.0.bb
new file mode 100644
index 0000000..c16c1ef
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.13.0.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Traitlets Python config system"
+HOMEPAGE = "http://ipython.org"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=13bed0ee6f46a6f6dbf1f9f9572f250a"
+
+SRC_URI[sha256sum] = "9b232b9430c8f57288c1024b34a8f0251ddcc47268927367a0dd3eeaca40deb5"
+
+inherit pypi python_hatchling
+
+RDEPENDS:${PN} = "\
+ ${PYTHON_PN}-ipython-genutils \
+ ${PYTHON_PN}-decorator \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-trustme_0.9.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-trustme_0.9.0.bb
deleted file mode 100644
index 6622f62..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-trustme_0.9.0.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-DESCRIPTION = "A utility provides a fake certificate authority (CA)"
-HOMEPAGE = "https://pypi.org/project/trustme"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d5a7af1a4b73e57431e25d15a2da745a"
-
-SRC_URI[md5sum] = "0e4d698e5aecaf8306cf440bf3dcbbe0"
-SRC_URI[sha256sum] = "5e07b23d70ceed64f3bb36ae4b9abc52354c16c98d45ab037bee2b5fbffe586c"
-
-inherit pypi setuptools3 ptest
-
-SRC_URI += " \
- file://run-ptest \
-"
-
-RDEPENDS:${PN} += " \
- python3-cryptography \
- python3-datetime \
- python3-idna \
- python3-io \
-"
-
-RDEPENDS:${PN}-ptest += " \
- ${PYTHON_PN}-pytest \
- ${PYTHON_PN}-service-identity \
- ${PYTHON_PN}-pyasn1-modules \
-"
-
-do_install_ptest() {
- install -d ${D}${PTEST_PATH}/tests
- cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
- cp -rf ${S}/setup.py ${D}${PTEST_PATH}
-}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-trustme_1.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-trustme_1.1.0.bb
new file mode 100644
index 0000000..e925712
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-trustme_1.1.0.bb
@@ -0,0 +1,32 @@
+DESCRIPTION = "A utility provides a fake certificate authority (CA)"
+HOMEPAGE = "https://pypi.org/project/trustme"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d5a7af1a4b73e57431e25d15a2da745a"
+
+SRC_URI[sha256sum] = "5375ad7fb427074bec956592e0d4ee2a4cf4da68934e1ba4bcf4217126bc45e6"
+
+inherit pypi setuptools3 ptest
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS:${PN} += " \
+ python3-cryptography \
+ python3-datetime \
+ python3-idna \
+ python3-io \
+"
+
+RDEPENDS:${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+ ${PYTHON_PN}-service-identity \
+ ${PYTHON_PN}-pyasn1-modules \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+ cp -rf ${S}/setup.py ${D}${PTEST_PATH}
+}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-txaio_23.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-txaio_23.1.1.bb
index 7559acc..3b05624 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-txaio_23.1.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-txaio_23.1.1.bb
@@ -10,5 +10,3 @@
RDEPENDS:${PN} += " \
${PYTHON_PN}-twisted \
"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-types-psutil_5.9.5.16.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-types-psutil_5.9.5.16.bb
deleted file mode 100644
index 02245be..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-types-psutil_5.9.5.16.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "Typing stubs for psutil"
-HOMEPAGE = "https://github.com/python/typeshed"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=6;endline=6;md5=ef4dc1e740f5c928f1608a4a9c7b578e"
-
-inherit pypi setuptools3
-
-SRC_URI[sha256sum] = "4e9b219efb625d3d04f6bf106934f87cab49aa41a94b0a3b3089403f47a79228"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-types-psutil_5.9.5.17.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-types-psutil_5.9.5.17.bb
new file mode 100644
index 0000000..055cecd
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-types-psutil_5.9.5.17.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Typing stubs for psutil"
+HOMEPAGE = "https://github.com/python/typeshed"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=6;endline=6;md5=ef4dc1e740f5c928f1608a4a9c7b578e"
+
+inherit pypi setuptools3
+
+SRC_URI[sha256sum] = "f7d8769812d72a4b513d7ec9eb5580fe2f6013fc270394a603cb6534811f3e4d"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-types-setuptools_68.2.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-types-setuptools_68.2.0.0.bb
deleted file mode 100644
index ed0b1b2..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-types-setuptools_68.2.0.0.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "Typing stubs for setuptools"
-HOMEPAGE = "https://github.com/python/typeshed"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=6;endline=6;md5=ef4dc1e740f5c928f1608a4a9c7b578e"
-
-inherit pypi setuptools3
-
-SRC_URI[sha256sum] = "a4216f1e2ef29d089877b3af3ab2acf489eb869ccaf905125c69d2dc3932fd85"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-types-setuptools_68.2.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-types-setuptools_68.2.0.1.bb
new file mode 100644
index 0000000..1061213
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-types-setuptools_68.2.0.1.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Typing stubs for setuptools"
+HOMEPAGE = "https://github.com/python/typeshed"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=6;endline=6;md5=ef4dc1e740f5c928f1608a4a9c7b578e"
+
+inherit pypi setuptools3
+
+SRC_URI[sha256sum] = "8f31e8201e7969789e0eb23463b53ebe5f67d92417df4b648a6ea3c357ca4f51"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tzlocal_5.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-tzlocal_5.0.1.bb
deleted file mode 100644
index 9673c5d..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-tzlocal_5.0.1.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Library to return tzinfo with the local timezone information"
-HOMEPAGE = "https://pypi.org/project/tzlocal/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=57e0bd61643d81d05683cdce65b11d10"
-
-SRC_URI[sha256sum] = "46eb99ad4bdb71f3f72b7d24f4267753e240944ecfc16f25d2719ba89827a803"
-
-inherit pypi python_setuptools_build_meta
-
-RDEPENDS:${PN} += " \
- python3-datetime \
- python3-logging \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tzlocal_5.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-tzlocal_5.2.bb
new file mode 100644
index 0000000..866a7a7
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-tzlocal_5.2.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Library to return tzinfo with the local timezone information"
+HOMEPAGE = "https://pypi.org/project/tzlocal/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=57e0bd61643d81d05683cdce65b11d10"
+
+SRC_URI[sha256sum] = "8d399205578f1a9342816409cc1e46a93ebd5755e39ea2d85334bea911bf0e6e"
+
+inherit pypi python_setuptools_build_meta
+
+RDEPENDS:${PN} += " \
+ python3-datetime \
+ python3-logging \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-unoconv_0.9.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-unoconv_0.9.0.bb
new file mode 100644
index 0000000..3c944b4
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-unoconv_0.9.0.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Universal Office Converter - Office document conversion"
+HOMEPAGE = "https://github.com/unoconv/unoconv"
+LICENSE = "GPL-2.0-only"
+SECTION = "devel/python"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+SRC_URI[sha256sum] = "308ebfd98e67d898834876348b27caf41470cd853fbe2681cc7dacd8fd5e6031"
+
+inherit pypi setuptools3
+
+PYPI_PACKAGE="unoconv"
+
+RDEPENDS:${PN} += "\
+ ${PYTHON_PN}-distutils \
+ ${PYTHON_PN}-core \
+ ${PYTHON_PN}-shell \
+"
+
+do_install:append() {
+ sed -i -e 's:^#!/usr/bin/env python$:#!/usr/bin/env python3:' ${D}/usr/bin/unoconv
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-virtualenv_20.24.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-virtualenv_20.24.5.bb
deleted file mode 100644
index d05c7f4..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-virtualenv_20.24.5.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-# SPDX-License-Identifier: MIT
-# Copyright (C) 2023 iris-GmbH infrared & intelligent sensors
-
-SUMMARY = "A tool for creating isolated virtual python environments."
-HOMEPAGE = "https://github.com/pypa/virtualenv"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0ce089158cf60a8ab6abb452b6405538"
-
-SRC_URI[sha256sum] = "e8361967f6da6fbdf1426483bfe9fca8287c242ac0bc30429905721cefbff752"
-
-BBCLASSEXTEND = "native nativesdk"
-inherit pypi python_hatchling
-
-DEPENDS += "\
- ${PYTHON_PN}-hatch-vcs-native \
-"
-
-RDEPENDS:${PN} += " \
- ${PYTHON_PN}-distlib \
- ${PYTHON_PN}-filelock \
- ${PYTHON_PN}-platformdirs \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-virtualenv_20.24.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-virtualenv_20.24.6.bb
new file mode 100644
index 0000000..aa11534
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-virtualenv_20.24.6.bb
@@ -0,0 +1,22 @@
+# SPDX-License-Identifier: MIT
+# Copyright (C) 2023 iris-GmbH infrared & intelligent sensors
+
+SUMMARY = "A tool for creating isolated virtual python environments."
+HOMEPAGE = "https://github.com/pypa/virtualenv"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0ce089158cf60a8ab6abb452b6405538"
+
+SRC_URI[sha256sum] = "02ece4f56fbf939dbbc33c0715159951d6bf14aaf5457b092e4548e1382455af"
+
+BBCLASSEXTEND = "native nativesdk"
+inherit pypi python_hatchling
+
+DEPENDS += "\
+ ${PYTHON_PN}-hatch-vcs-native \
+"
+
+RDEPENDS:${PN} += " \
+ ${PYTHON_PN}-distlib \
+ ${PYTHON_PN}-filelock \
+ ${PYTHON_PN}-platformdirs \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-wand_0.6.13.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-wand_0.6.13.bb
new file mode 100644
index 0000000..85e05ad
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-wand_0.6.13.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Ctypes-based simple MagickWand API binding for Python"
+HOMEPAGE = "https://docs.wand-py.org/"
+LICENSE = "MIT"
+SECTION = "devel/python"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0bf19e5c00d047fee994ae332db3aab6"
+
+SRC_URI[sha256sum] = "f5013484eaf7a20eb22d1821aaefe60b50cc329722372b5f8565d46d4aaafcca"
+
+inherit pypi setuptools3
+
+PYPI_PACKAGE="Wand"
+
+FILES:${PN}-doc += "${datadir}/README.rst"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.10.0.bb
deleted file mode 100644
index cba7ffe..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.10.0.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "A Python library for interacting with Ethereum."
-HOMEPAGE = "https://github.com/ethereum/web3.py"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=373fede350846fdffd23648fba504635"
-
-SRC_URI[sha256sum] = "ea89f8a6ee74b74c3ff21954eafe00ec914365adb904c6c374f559bc46d4a61c"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += " \
- python3-aiohttp \
- python3-distutils \
- python3-eth-account \
- python3-idna \
- python3-jsonschema \
- python3-google-api-core \
- python3-lru-dict \
- python3-requests \
- python3-setuptools \
- python3-websockets \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.11.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.11.3.bb
new file mode 100644
index 0000000..2c7aca9
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.11.3.bb
@@ -0,0 +1,22 @@
+SUMMARY = "A Python library for interacting with Ethereum."
+HOMEPAGE = "https://github.com/ethereum/web3.py"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=373fede350846fdffd23648fba504635"
+
+SRC_URI[sha256sum] = "f9bec9d2339bf649fe25293435a5c897a4b035aa96d6c33670ed467acf59dbe7"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} += " \
+ python3-aiohttp \
+ python3-distutils \
+ python3-eth-account \
+ python3-idna \
+ python3-jsonschema \
+ python3-google-api-core \
+ python3-lru-dict \
+ python3-requests \
+ python3-setuptools \
+ python3-websockets \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_1.6.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_1.6.3.bb
deleted file mode 100644
index 8104d37..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_1.6.3.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "websocket client for python"
-DESCRIPTION = "\
-websocket-client module is WebSocket client for python. \
-This provide the low level APIs for WebSocket. All APIs \
-are the synchronous functions."
-HOMEPAGE = "https://github.com/websocket-client/websocket-client"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=6eae3bb7247ccb2c3a087ea8de759c01"
-
-SRC_URI[sha256sum] = "3aad25d31284266bcfcfd1fd8a743f63282305a364b8d0948a43bd606acc652f"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} = "\
- ${PYTHON_PN}-six \
- ${PYTHON_PN}-logging \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_1.6.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_1.6.4.bb
new file mode 100644
index 0000000..961cdb9
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_1.6.4.bb
@@ -0,0 +1,17 @@
+SUMMARY = "websocket client for python"
+DESCRIPTION = "\
+websocket-client module is WebSocket client for python. \
+This provide the low level APIs for WebSocket. All APIs \
+are the synchronous functions."
+HOMEPAGE = "https://github.com/websocket-client/websocket-client"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=6eae3bb7247ccb2c3a087ea8de759c01"
+
+SRC_URI[sha256sum] = "b3324019b3c28572086c4a319f91d1dcd44e6e11cd340232978c684a7650d0df"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} = "\
+ ${PYTHON_PN}-six \
+ ${PYTHON_PN}-logging \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_11.0.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_11.0.3.bb
deleted file mode 100644
index e6971c8..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_11.0.3.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "An implementation of the WebSocket Protocol (RFC 6455)"
-HOMEPAGE = "https://github.com/aaugustin/websockets"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=51924a6af4495b8cfaee1b1da869b6f4"
-
-inherit pypi setuptools3
-
-SRC_URI[sha256sum] = "88fc51d9a26b10fc331be344f1781224a375b78488fc343620184e95a4b27016"
-
-BBCLASSEXTEND = "native nativesdk"
-
-RDEPENDS:${PN} = " \
- python3-asyncio \
- python3-profile \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_12.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_12.0.bb
new file mode 100644
index 0000000..f89c3b6
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_12.0.bb
@@ -0,0 +1,16 @@
+SUMMARY = "An implementation of the WebSocket Protocol (RFC 6455)"
+HOMEPAGE = "https://github.com/aaugustin/websockets"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=51924a6af4495b8cfaee1b1da869b6f4"
+
+inherit pypi setuptools3
+
+SRC_URI[sha256sum] = "81df9cbcbb6c260de1e007e58c011bfebe2dafc8435107b0537f393dd38c8b1b"
+
+BBCLASSEXTEND = "native nativesdk"
+
+RDEPENDS:${PN} = " \
+ python3-asyncio \
+ python3-profile \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.15.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.15.0.bb
deleted file mode 100644
index e35e1f7..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.15.0.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "A Python module for decorators, wrappers and monkey patching."
-HOMEPAGE = "http://wrapt.readthedocs.org/"
-LICENSE = "BSD-2-Clause"
-SECTION = "devel/python"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=dc34cbad60bc961452eb7ade801d25f7"
-
-SRC_URI[sha256sum] = "d06730c6aed78cee4126234cf2d071e01b44b915e725a6cb439a879ec9754a3a"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN}:class-target += "\
- ${PYTHON_PN}-stringold \
- ${PYTHON_PN}-threading \
-"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.16.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.16.0.bb
new file mode 100644
index 0000000..f99b552
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.16.0.bb
@@ -0,0 +1,16 @@
+SUMMARY = "A Python module for decorators, wrappers and monkey patching."
+HOMEPAGE = "http://wrapt.readthedocs.org/"
+LICENSE = "BSD-2-Clause"
+SECTION = "devel/python"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=dc34cbad60bc961452eb7ade801d25f7"
+
+SRC_URI[sha256sum] = "5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN}:class-target += "\
+ ${PYTHON_PN}-stringold \
+ ${PYTHON_PN}-threading \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-xlsxwriter_3.1.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-xlsxwriter_3.1.3.bb
deleted file mode 100644
index 6952d53..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-xlsxwriter_3.1.3.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Python 2 and 3 compatibility library"
-HOMEPAGE = "https://xlsxwriter.readthedocs.io"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=12d9fac1f0049be71ab5aa4a78da02b0"
-
-inherit pypi setuptools3
-
-PYPI_PACKAGE = "XlsxWriter"
-
-RDEPENDS:${PN} += " \
- python3-crypt \
- python3-datetime \
- python3-compression \
- python3-numbers \
- python3-io \
-"
-
-SRC_URI[sha256sum] = "696c16458d50712a3a5f902676c045ddb4c1bd1b54595f501e582d549abdbdb9"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-xlsxwriter_3.1.9.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-xlsxwriter_3.1.9.bb
new file mode 100644
index 0000000..ee7dab3
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-xlsxwriter_3.1.9.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Python 2 and 3 compatibility library"
+HOMEPAGE = "https://xlsxwriter.readthedocs.io"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=12d9fac1f0049be71ab5aa4a78da02b0"
+
+inherit pypi setuptools3
+
+PYPI_PACKAGE = "XlsxWriter"
+
+RDEPENDS:${PN} += " \
+ python3-crypt \
+ python3-datetime \
+ python3-compression \
+ python3-numbers \
+ python3-io \
+"
+
+SRC_URI[sha256sum] = "de810bf328c6a4550f4ffd6b0b34972aeb7ffcf40f3d285a0413734f9b63a929"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-xstatic-font-awesome_4.7.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-xstatic-font-awesome_4.7.0.0.bb
deleted file mode 100644
index ccd1cd7..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-xstatic-font-awesome_4.7.0.0.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-DESCRIPTION = "Font Awesome icons packaged for setuptools (easy_install) / pip."
-HOMEPAGE = "https://pypi.python.org/pypi/XStatic-Font-Awesome"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=313d021898694cd2b0ea6508bdfe51a2"
-
-PYPI_PACKAGE = "XStatic-Font-Awesome"
-
-SRC_URI[md5sum] = "141a0e9a7e21e82f922573a00ae0c166"
-SRC_URI[sha256sum] = "e01fb480caaa7c7963dcb3328a4700e631bef6070db0e8b685816d220e685f6c"
-
-DEPENDS += " \
- ${PYTHON_PN}-xstatic \
- ${PYTHON_PN}-pip \
-"
-
-inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-xstatic-font-awesome_6.2.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-xstatic-font-awesome_6.2.1.1.bb
new file mode 100644
index 0000000..254d9d0
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-xstatic-font-awesome_6.2.1.1.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "Font Awesome icons packaged for setuptools (easy_install) / pip."
+HOMEPAGE = "https://pypi.python.org/pypi/XStatic-Font-Awesome"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=f1a2fe131dcb2fc6243c26cf05ecdb36"
+
+PYPI_PACKAGE = "XStatic-Font-Awesome"
+
+SRC_URI[sha256sum] = "f075871096128638f2e1539020d8227754c3d885dd68e7ee6de9a01235076828"
+
+DEPENDS += " \
+ ${PYTHON_PN}-xstatic \
+ ${PYTHON_PN}-pip \
+"
+
+inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_3.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_3.3.0.bb
deleted file mode 100644
index e3aec97..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_3.3.0.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "xxhash is a Python binding for the xxHash library by Yann Collet."
-SECTION = "devel/python"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3a9dab7f159514231249aa3e108ab26b"
-
-DEPENDS += "python3-setuptools-scm-native"
-
-SRC_URI[sha256sum] = "c3f9e322b1ebeebd44e3d9d2d9b124e0c550c1ef41bd552afdcdd719516ee41a"
-
-SRC_URI += " \
- file://run-ptest \
-"
-
-inherit pypi python_setuptools_build_meta ptest
-
-RDEPENDS:${PN}-ptest += " \
- ${PYTHON_PN}-pytest \
-"
-
-do_install_ptest() {
- install -d ${D}${PTEST_PATH}/tests
- cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
-}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_3.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_3.4.1.bb
new file mode 100644
index 0000000..4050d12
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_3.4.1.bb
@@ -0,0 +1,23 @@
+SUMMARY = "xxhash is a Python binding for the xxHash library by Yann Collet."
+SECTION = "devel/python"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3a9dab7f159514231249aa3e108ab26b"
+
+DEPENDS += "python3-setuptools-scm-native"
+
+SRC_URI[sha256sum] = "0379d6cf1ff987cd421609a264ce025e74f346e3e145dd106c0cc2e3ec3f99a9"
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+inherit pypi python_setuptools_build_meta ptest
+
+RDEPENDS:${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.112.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.112.0.bb
deleted file mode 100644
index 6ff4fff..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.112.0.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)"
-HOMEPAGE = "https://github.com/jstasiak/python-zeroconf"
-LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=6;endline=6;md5=6517bdc8f2416f27ab725d4702f7aac3"
-
-SRC_URI[sha256sum] = "f2457ed290c70dbca686b411f2351c3ff9f367afaae668d75cf378e9a439b8aa"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += " \
- ${PYTHON_PN}-ifaddr \
- ${PYTHON_PN}-asyncio \
- ${PYTHON_PN}-async-timeout \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.127.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.127.0.bb
new file mode 100644
index 0000000..45df13e
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.127.0.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)"
+HOMEPAGE = "https://github.com/jstasiak/python-zeroconf"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=6;endline=6;md5=6517bdc8f2416f27ab725d4702f7aac3"
+
+SRC_URI[sha256sum] = "1ec001989666be7f76630d6bb8b07fb3928d655fa79a1484674a776778c9a1b3"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} += " \
+ ${PYTHON_PN}-ifaddr \
+ ${PYTHON_PN}-asyncio \
+ ${PYTHON_PN}-async-timeout \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-zopeevent_5.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-zopeevent_5.0.bb
new file mode 100644
index 0000000..4d914c6
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-zopeevent_5.0.bb
@@ -0,0 +1,10 @@
+DESCRIPTION = "The zope.event package provides a simple event system"
+
+LICENSE = "ZPL-2.1"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=72092419572155ddc2d4fb7631c63dd3"
+
+SRC_URI[sha256sum] = "bac440d8d9891b4068e2b5a2c5e2c9765a9df762944bda6955f96bb9b91e67cd"
+
+PYPI_PACKAGE = "zope.event"
+
+inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_6.0.bb
deleted file mode 100644
index 264898a..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_6.0.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Interface definitions for Zope products"
-LICENSE = "ZPL-2.1"
-LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e54fd776274c1b7423ec128974bd9d46"
-
-PYPI_PACKAGE = "zope.interface"
-
-inherit pypi setuptools3
-SRC_URI[sha256sum] = "aab584725afd10c710b8f1e6e208dbee2d0ad009f57d674cb9d1b3964037275d"
-
-PACKAGES =. "${PN}-test "
-
-RPROVIDES:${PN} += "zope-interfaces"
-
-RDEPENDS:${PN}:class-target += "${PYTHON_PN}-datetime"
-RDEPENDS:${PN}-test += "python3-unittest python3-doctest"
-
-FILES:${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/*.egg/*/*/.debug"
-FILES:${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/zope/interface/*.c"
-FILES:${PN}-doc += "${PYTHON_SITEPACKAGES_DIR}/zope/interface/*.txt"
-FILES:${PN}-test += " \
- ${PYTHON_SITEPACKAGES_DIR}/zope/interface/tests \
- ${PYTHON_SITEPACKAGES_DIR}/zope/interface/common/tests \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_6.1.bb
new file mode 100644
index 0000000..07e329a
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_6.1.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Interface definitions for Zope products"
+LICENSE = "ZPL-2.1"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e54fd776274c1b7423ec128974bd9d46"
+
+PYPI_PACKAGE = "zope.interface"
+
+inherit pypi setuptools3
+SRC_URI[sha256sum] = "2fdc7ccbd6eb6b7df5353012fbed6c3c5d04ceaca0038f75e601060e95345309"
+
+PACKAGES =. "${PN}-test "
+
+RPROVIDES:${PN} += "zope-interfaces"
+
+RDEPENDS:${PN}:class-target += "${PYTHON_PN}-datetime"
+RDEPENDS:${PN}-test += "python3-unittest python3-doctest"
+
+FILES:${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/*.egg/*/*/.debug"
+FILES:${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/zope/interface/*.c"
+FILES:${PN}-doc += "${PYTHON_SITEPACKAGES_DIR}/zope/interface/*.txt"
+FILES:${PN}-test += " \
+ ${PYTHON_SITEPACKAGES_DIR}/zope/interface/tests \
+ ${PYTHON_SITEPACKAGES_DIR}/zope/interface/common/tests \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python3-piccata/python3-piccata_2.0.3.bb b/meta-openembedded/meta-python/recipes-devtools/python3-piccata/python3-piccata_2.0.3.bb
index b725893..fadcc32 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python3-piccata/python3-piccata_2.0.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python3-piccata/python3-piccata_2.0.3.bb
@@ -4,7 +4,7 @@
LIC_FILES_CHKSUM = "file://LICENSE;md5=e664eb75e2791c2e505e6e1c274e6d4f"
SRCREV = "218d310e3d840715b1c8e67cefd5b6d71a2d7a1a"
-SRC_URI = "git://github.com/NordicSemiconductor/piccata.git;protocol=http;branch=master"
+SRC_URI = "git://github.com/NordicSemiconductor/piccata.git;protocol=https;branch=master"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python3-reedsolo/python3-reedsolo_1.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python3-reedsolo/python3-reedsolo_1.7.0.bb
deleted file mode 100644
index b6c4092..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python3-reedsolo/python3-reedsolo_1.7.0.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "Pure-Python Reed Solomon encoder/decoder"
-HOMEPAGE = "https://github.com/tomerfiliba/reedsolomon"
-LICENSE = "MIT-0 | Unlicense"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=ffde61aeb8917e70e0257e0a4b6d103c"
-
-SRC_URI[sha256sum] = "c1359f02742751afe0f1c0de9f0772cc113835aa2855d2db420ea24393c87732"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += "python3-core"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python3-reedsolo/python3-reedsolo_2.0.13.bb b/meta-openembedded/meta-python/recipes-devtools/python3-reedsolo/python3-reedsolo_2.0.13.bb
new file mode 100644
index 0000000..bb5b973
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python3-reedsolo/python3-reedsolo_2.0.13.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Pure-Python Reed Solomon encoder/decoder"
+HOMEPAGE = "https://github.com/tomerfiliba/reedsolomon"
+LICENSE = "MIT-0 | Unlicense"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ffde61aeb8917e70e0257e0a4b6d103c"
+
+SRC_URI[sha256sum] = "71b4121c6860a55899435c552051a19d5f023c50358be4b1c0fa0c6e2f4ac717"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} += "python3-core"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python3-wxgtk4/python3-wxgtk4/0001-pypubsub-Replace-deprecated-inspect.getargspec.patch b/meta-openembedded/meta-python/recipes-devtools/python3-wxgtk4/python3-wxgtk4/0001-pypubsub-Replace-deprecated-inspect.getargspec.patch
deleted file mode 100644
index 9bec4c5..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python3-wxgtk4/python3-wxgtk4/0001-pypubsub-Replace-deprecated-inspect.getargspec.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-Upstream-Status: Backport [https://github.com/wxWidgets/Phoenix/commit/9986a0d5]
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
-From 9986a0d5c24b5d45ddf571d60351f68765a8a9be Mon Sep 17 00:00:00 2001
-From: Scott Talbert <swt@techie.net>
-Date: Mon, 8 Aug 2022 22:35:58 -0400
-Subject: [PATCH] pypubsub: Replace deprecated inspect.getargspec
-
-inspect.getargspec was removed in Python 3.11. This is a backport of:
-https://github.com/schollii/pypubsub/commit/089c7a73f85c76a3aa22e4b10c71db1bf65a8637
----
- wx/lib/pubsub/core/callables.py | 23 +++++++++++++++--------
- 1 file changed, 15 insertions(+), 8 deletions(-)
-
-diff --git a/wx/lib/pubsub/core/callables.py b/wx/lib/pubsub/core/callables.py
-index 65eb1ebe..7e798c54 100644
---- a/wx/lib/pubsub/core/callables.py
-+++ b/wx/lib/pubsub/core/callables.py
-@@ -12,7 +12,7 @@ CallArgsInfo regarding its autoTopicArgName data member.
-
- """
-
--from inspect import getargspec, ismethod, isfunction
-+from inspect import ismethod, isfunction, signature, Parameter
-
- from .. import py2and3
-
-@@ -133,19 +133,26 @@ class CallArgsInfo:
- self.autoTopicArgName = None."""
-
- #args, firstArgIdx, defaultVals, acceptsAllKwargs
-- (allParams, varParamName, varOptParamName, defaultVals) = getargspec(func)
-- if defaultVals is None:
-- defaultVals = []
-- else:
-- defaultVals = list(defaultVals)
-+ allParams = []
-+ defaultVals = []
-+ varParamName = None
-+ varOptParamName = None
-+ for argName, param in signature(func).parameters.items():
-+ if param.default != Parameter.empty:
-+ defaultVals.append(param.default)
-+ if param.kind == Parameter.VAR_POSITIONAL:
-+ varParamName = argName
-+ elif param.kind == Parameter.VAR_KEYWORD:
-+ varOptParamName = argName
-+ else:
-+ allParams.append(argName)
-
- self.acceptsAllKwargs = (varOptParamName is not None)
- self.acceptsAllUnnamedArgs = (varParamName is not None)
--
- self.allParams = allParams
-- del self.allParams[0:firstArgIdx] # does nothing if firstArgIdx == 0
-
- self.numRequired = len(self.allParams) - len(defaultVals)
-+ assert len(self.allParams) >= len(defaultVals)
- assert self.numRequired >= 0
-
- # if listener wants topic, remove that arg from args/defaultVals
---
-2.34.1
-
diff --git a/meta-openembedded/meta-python/recipes-devtools/python3-wxgtk4/python3-wxgtk4_4.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python3-wxgtk4/python3-wxgtk4_4.2.0.bb
deleted file mode 100644
index bf87b0a..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python3-wxgtk4/python3-wxgtk4_4.2.0.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-DESCRIPTION = "Python3 interface to the wxWidgets Cross-platform C++ GUI toolkit."
-HOMEPAGE = "http://www.wxpython.org"
-
-LICENSE = "LGPL-2.0-only & WXwindows"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=bdabf9e11191e2b9d3b6aef5f338ec00"
-
-DEPENDS = "python3-attrdict3-native python3-six-native wxwidgets-native \
- wxwidgets \
- "
-
-PYPI_PACKAGE = "wxPython"
-
-SRC_URI += "file://add-back-option-build-base.patch \
- file://wxgtk-fixup-build-scripts.patch \
- file://not-overwrite-cflags-cxxflags.patch \
- file://0001-pypubsub-Replace-deprecated-inspect.getargspec.patch \
- file://0001-sip-Conditionally-use-GetAssertStackTrace-under-USE_.patch \
- "
-SRC_URI[sha256sum] = "663cebc4509d7e5d113518865fe274f77f95434c5d57bc386ed58d65ceed86c7"
-
-S = "${WORKDIR}/wxPython-${PV}"
-
-inherit pypi setuptools3 pkgconfig features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-export WX_CONFIG = "'${RECIPE_SYSROOT_NATIVE}${bindir}/wx-config --prefix=${STAGING_EXECPREFIXDIR} --baselib=${baselib}'"
-
-RDEPENDS:${PN} = "\
- python3-difflib \
- python3-image \
- python3-numpy \
- python3-pillow \
- python3-pip \
- python3-pprint \
- python3-pycairo \
- python3-six \
- python3-xml \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python3-wxgtk4/python3-wxgtk4_4.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python3-wxgtk4/python3-wxgtk4_4.2.1.bb
new file mode 100644
index 0000000..fb011cb
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python3-wxgtk4/python3-wxgtk4_4.2.1.bb
@@ -0,0 +1,38 @@
+DESCRIPTION = "Python3 interface to the wxWidgets Cross-platform C++ GUI toolkit."
+HOMEPAGE = "http://www.wxpython.org"
+
+LICENSE = "LGPL-2.0-only & WXwindows"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=bdabf9e11191e2b9d3b6aef5f338ec00"
+
+DEPENDS = "python3-attrdict3-native python3-six-native wxwidgets-native \
+ wxwidgets \
+ "
+
+PYPI_PACKAGE = "wxPython"
+
+SRC_URI += "file://add-back-option-build-base.patch \
+ file://wxgtk-fixup-build-scripts.patch \
+ file://not-overwrite-cflags-cxxflags.patch \
+ file://0001-sip-Conditionally-use-GetAssertStackTrace-under-USE_.patch \
+ "
+SRC_URI[sha256sum] = "e48de211a6606bf072ec3fa778771d6b746c00b7f4b970eb58728ddf56d13d5c"
+
+S = "${WORKDIR}/wxPython-${PV}"
+
+inherit pypi setuptools3 pkgconfig features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+export WX_CONFIG = "'${RECIPE_SYSROOT_NATIVE}${bindir}/wx-config --prefix=${STAGING_EXECPREFIXDIR} --baselib=${baselib}'"
+
+RDEPENDS:${PN} = "\
+ python3-difflib \
+ python3-image \
+ python3-numpy \
+ python3-pillow \
+ python3-pip \
+ python3-pprint \
+ python3-pycairo \
+ python3-six \
+ python3-xml \
+"
diff --git a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0004-fix-new.roots-object-is-not-iterable.patch b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0004-fix-new.roots-object-is-not-iterable.patch
deleted file mode 100644
index 526a3b1..0000000
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0004-fix-new.roots-object-is-not-iterable.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 3bb8d08bdec2f79bb13c0a44b81718d26e5bdabc Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Mon, 8 May 2017 16:30:20 +0800
-Subject: [PATCH 04/11] fix new.roots object is not iterable
-
-Upstream-Status: Pending
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- blivet/blivet.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/blivet/blivet.py b/blivet/blivet.py
-index ea08837..91c92b2 100644
---- a/blivet/blivet.py
-+++ b/blivet/blivet.py
-@@ -1206,7 +1206,7 @@ class Blivet(object):
- p = partition.disk.format.parted_disk.getPartitionByPath(partition.path)
- partition.parted_partition = p
-
-- for root in new.roots:
-+ for root in new.roots or []:
- root.swaps = [new.devicetree.get_device_by_id(d.id, hidden=True) for d in root.swaps]
- root.swaps = [s for s in root.swaps if s]
-
---
-2.7.4
-
diff --git a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_3.4.3.bb b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_3.4.3.bb
deleted file mode 100644
index bd57604..0000000
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_3.4.3.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-DESCRIPTION = "A python module for system storage configuration"
-HOMEPAGE = "http://fedoraproject.org/wiki/blivet"
-LICENSE = "LGPL-2.0-or-later"
-SECTION = "devel/python"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI += "\
- file://0002-run_program-support-timeout.patch \
- file://0003-support-infinit-timeout.patch \
- file://0004-fix-new.roots-object-is-not-iterable.patch \
- file://0005-fix-incorrect-timeout-while-system-time-changed.patch \
- file://0006-tweak-btrfs-packages.patch \
- file://0007-invoking-mount-with-infinite-timeout.patch \
- file://0008-use-oe-variable-to-replace-hardcoded-dir.patch \
- file://0009-invoking-fsck-with-infinite-timeout.patch \
- file://0010-invoking-mkfs-with-infinite-timeout.patch \
- file://0011-invoking-dd-with-infinite-timeout.patch \
-"
-SRC_URI[sha256sum] = "1b05b77f3ee35d82c7a577a168c9ba0204d3e9a87eb1975e5f9af47700eeff48"
-
-inherit pypi features_check systemd setuptools3_legacy
-
-REQUIRED_DISTRO_FEATURES = "systemd"
-
-RDEPENDS:${PN} += "python3-pykickstart python3-pyudev \
- parted python3-pyparted multipath-tools \
- lsof cryptsetup libblockdev \
- libbytesize \
-"
-
-FILES:${PN} += " \
- ${datadir}/dbus-1/system-services \
-"
-
-SYSTEMD_AUTO_ENABLE = "disable"
-SYSTEMD_SERVICE:${PN} = "blivet.service"
diff --git a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_3.8.2.bb b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_3.8.2.bb
new file mode 100644
index 0000000..52b3aa7
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_3.8.2.bb
@@ -0,0 +1,36 @@
+DESCRIPTION = "A python module for system storage configuration"
+HOMEPAGE = "http://fedoraproject.org/wiki/blivet"
+LICENSE = "LGPL-2.0-or-later"
+SECTION = "devel/python"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI += "\
+ file://0002-run_program-support-timeout.patch \
+ file://0003-support-infinit-timeout.patch \
+ file://0005-fix-incorrect-timeout-while-system-time-changed.patch \
+ file://0006-tweak-btrfs-packages.patch \
+ file://0007-invoking-mount-with-infinite-timeout.patch \
+ file://0008-use-oe-variable-to-replace-hardcoded-dir.patch \
+ file://0009-invoking-fsck-with-infinite-timeout.patch \
+ file://0010-invoking-mkfs-with-infinite-timeout.patch \
+ file://0011-invoking-dd-with-infinite-timeout.patch \
+"
+SRC_URI[sha256sum] = "88d1500c76c4660aec7da9e9aa54f7f574546571b52c07a67e1417883c2cb25b"
+
+inherit pypi features_check systemd setuptools3_legacy
+
+REQUIRED_DISTRO_FEATURES = "systemd"
+
+RDEPENDS:${PN} += "python3-pykickstart python3-pyudev \
+ parted python3-pyparted multipath-tools \
+ lsof cryptsetup libblockdev \
+ libbytesize \
+"
+
+FILES:${PN} += " \
+ ${datadir}/dbus-1/system-services \
+"
+
+SYSTEMD_AUTO_ENABLE = "disable"
+SYSTEMD_SERVICE:${PN} = "blivet.service"
diff --git a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui/0001-Use-setuptools-instead-of-distutils-in-setup.py.patch b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui/0001-Use-setuptools-instead-of-distutils-in-setup.py.patch
deleted file mode 100644
index c88912b..0000000
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui/0001-Use-setuptools-instead-of-distutils-in-setup.py.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 54014061be2fed20d6c35aba9719ea70a9fea9ea Mon Sep 17 00:00:00 2001
-From: Vojtech Trefny <vtrefny@redhat.com>
-Date: Wed, 1 Sep 2021 08:59:19 +0200
-Subject: [PATCH] Use setuptools instead of distutils in setup.py
-
-The distutils module is deprecated and will be removed in Python
-3.12.
-
-Upstream-Status: Backport [https://github.com/kraj/blivet-gui/commit/54014061be2fed20d6c35aba9719ea70a9fea9ea]
----
- setup.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/setup.py b/setup.py
-index aa8ef57..77849a1 100644
---- a/setup.py
-+++ b/setup.py
-@@ -1,7 +1,7 @@
- from __future__ import print_function
-
--from distutils.core import setup
--from distutils.command.sdist import sdist
-+from setuptools import setup
-+from setuptools.command.sdist import sdist
- import glob
- import sys
-
---
-2.35.1
-
diff --git a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui/0002-Use-symbolic-list-add-and-edit-icons.patch b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui/0002-Use-symbolic-list-add-and-edit-icons.patch
deleted file mode 100644
index 3a95859..0000000
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui/0002-Use-symbolic-list-add-and-edit-icons.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-Upstream-Status: Backport [https://github.com/storaged-project/blivet-gui/commit/eb8ec968]
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
-From eb8ec968d1ee8b4b710568b1eb8536296f90751e Mon Sep 17 00:00:00 2001
-From: Adam Williamson <awilliam@redhat.com>
-Date: Thu, 17 Feb 2022 11:16:22 -0800
-Subject: [PATCH] Use symbolic list-add and edit- icons (Adwaita dropped old
- ones)
-
-adwaita-icon-theme 42 no longer includes the non-symbolic icons
-for these names. The choices are to switch to symbolic ones or
-carry the non-symbolic ones downstream.
-
-Signed-off-by: Adam Williamson <awilliam@redhat.com>
----
- blivetgui/list_actions.py | 8 ++++----
- blivetgui/processing_window.py | 6 +++---
- 2 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/blivetgui/list_actions.py b/blivetgui/list_actions.py
-index b7c1f9c..5388feb 100644
---- a/blivetgui/list_actions.py
-+++ b/blivetgui/list_actions.py
-@@ -48,10 +48,10 @@ def __init__(self, blivet_gui):
- self.blivet_gui = blivet_gui
-
- icon_theme = Gtk.IconTheme.get_default() # pylint: disable=no-value-for-parameter
-- icon_add = Gtk.IconTheme.load_icon(icon_theme, "list-add", 16, 0)
-- icon_delete = Gtk.IconTheme.load_icon(icon_theme, "edit-delete", 16, 0)
-- icon_edit = Gtk.IconTheme.load_icon(icon_theme, "edit-select-all", 16, 0)
-- icon_misc = Gtk.IconTheme.load_icon(icon_theme, "edit-paste", 16, 0)
-+ icon_add = Gtk.IconTheme.load_icon(icon_theme, "list-add-symbolic", 16, 0)
-+ icon_delete = Gtk.IconTheme.load_icon(icon_theme, "edit-delete-symbolic", 16, 0)
-+ icon_edit = Gtk.IconTheme.load_icon(icon_theme, "edit-select-all-symbolic", 16, 0)
-+ icon_misc = Gtk.IconTheme.load_icon(icon_theme, "edit-paste-symbolic", 16, 0)
-
- self.action_icons = {"add": icon_add, "delete": icon_delete, "edit": icon_edit,
- "misc": icon_misc}
-diff --git a/blivetgui/processing_window.py b/blivetgui/processing_window.py
-index c400f90..a020ae8 100644
---- a/blivetgui/processing_window.py
-+++ b/blivetgui/processing_window.py
-@@ -93,9 +93,9 @@ def add_action_view(self):
- """
-
- icon_theme = Gtk.IconTheme.get_default() # pylint: disable=no-value-for-parameter
-- icon_add = Gtk.IconTheme.load_icon(icon_theme, "list-add", 16, 0)
-- icon_delete = Gtk.IconTheme.load_icon(icon_theme, "edit-delete", 16, 0)
-- icon_edit = Gtk.IconTheme.load_icon(icon_theme, "edit-select-all", 16, 0)
-+ icon_add = Gtk.IconTheme.load_icon(icon_theme, "list-add-symbolic", 16, 0)
-+ icon_delete = Gtk.IconTheme.load_icon(icon_theme, "edit-delete-symbolic", 16, 0)
-+ icon_edit = Gtk.IconTheme.load_icon(icon_theme, "edit-select-all-symbolic", 16, 0)
-
- actions_list = Gtk.ListStore(GdkPixbuf.Pixbuf, str, GdkPixbuf.Pixbuf)
-
diff --git a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.3.0.bb b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.3.0.bb
deleted file mode 100644
index 42bcf46..0000000
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.3.0.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-DESCRIPTION = "GUI tool for storage configuration using blivet library"
-HOMEPAGE = "https://github.com/rhinstaller/blivet-gui"
-LICENSE = "GPL-2.0-or-later"
-SECTION = "devel/python"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-S = "${WORKDIR}/git"
-B = "${S}"
-
-SRCREV = "42512ee48494cee71febf04078d9774f0146a085"
-SRC_URI = "git://github.com/storaged-project/blivet-gui.git;branch=main;protocol=https \
- file://0001-Use-setuptools-instead-of-distutils-in-setup.py.patch \
- file://0002-Use-symbolic-list-add-and-edit-icons.patch \
- "
-
-inherit features_check
-REQUIRED_DISTRO_FEATURES = "x11 systemd gobject-introspection-data"
-
-inherit setuptools3_legacy python3native
-
-PIP_INSTALL_PACKAGE = "blivet_gui"
-
-RDEPENDS:${PN} = "python3-pygobject python3 \
- python3-blivet gtk+3 \
- python3-pid libreport \
-"
-
-FILES:${PN} += " \
- ${datadir}/* \
- "
diff --git a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.4.2.bb b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.4.2.bb
new file mode 100644
index 0000000..b6e04e0
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.4.2.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "GUI tool for storage configuration using blivet library"
+HOMEPAGE = "https://github.com/rhinstaller/blivet-gui"
+LICENSE = "GPL-2.0-or-later"
+SECTION = "devel/python"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "git://github.com/storaged-project/blivet-gui.git;branch=main;protocol=https"
+SRCREV = "9b6a83a7aef546ddacafcc656984c9bbed67a8ec"
+
+S = "${WORKDIR}/git"
+
+inherit features_check setuptools3
+REQUIRED_DISTRO_FEATURES = "x11 systemd gobject-introspection-data"
+
+PIP_INSTALL_PACKAGE = "blivet_gui"
+
+RDEPENDS:${PN} = "python3-pygobject python3 \
+ python3-blivet gtk+3 \
+ python3-pid libreport \
+"
+
+FILES:${PN} += "${datadir}/*"
diff --git a/meta-openembedded/meta-python/recipes-extended/python-pyephem/python3-pyephem_4.1.4.bb b/meta-openembedded/meta-python/recipes-extended/python-pyephem/python3-pyephem_4.1.4.bb
deleted file mode 100644
index 8850b79..0000000
--- a/meta-openembedded/meta-python/recipes-extended/python-pyephem/python3-pyephem_4.1.4.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "PyEphem astronomical calculations"
-HOMEPAGE = "http://rhodesmill.org/pyephem/"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=9c930b395b435b00bb13ec83b0c99f40"
-
-SRC_URI[sha256sum] = "73a59f0d2162d1624535c3c3b75f956556bdbb2055eaf554a7bef147d3f9c760"
-
-PYPI_PACKAGE = "ephem"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += "\
- ${PYTHON_PN}-datetime \
- ${PYTHON_PN}-math \
- "
diff --git a/meta-openembedded/meta-python/recipes-extended/python-pyephem/python3-pyephem_4.1.5.bb b/meta-openembedded/meta-python/recipes-extended/python-pyephem/python3-pyephem_4.1.5.bb
new file mode 100644
index 0000000..0478d0d
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-extended/python-pyephem/python3-pyephem_4.1.5.bb
@@ -0,0 +1,16 @@
+SUMMARY = "PyEphem astronomical calculations"
+HOMEPAGE = "http://rhodesmill.org/pyephem/"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=9c930b395b435b00bb13ec83b0c99f40"
+
+SRC_URI[sha256sum] = "0c64a8aa401574c75942045b9af70d1656e14c5366151c0cbb400cbeedc2362a"
+
+PYPI_PACKAGE = "ephem"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} += "\
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-math \
+ "
diff --git a/meta-openembedded/meta-python/recipes-extended/python-rich/python3-rich_13.5.3.bb b/meta-openembedded/meta-python/recipes-extended/python-rich/python3-rich_13.5.3.bb
deleted file mode 100644
index 2c385fc..0000000
--- a/meta-openembedded/meta-python/recipes-extended/python-rich/python3-rich_13.5.3.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "Rich is a Python library for rich text and beautiful formatting in the terminal"
-DESCRIPTION = "The Rich API makes it easy to add color and style to terminal output. \
-Rich can also render pretty tables, progress bars, markdown, syntax highlighted source code, \
-tracebacks, and more."
-HOMEPAGE="https://github.com/Textualize/rich"
-SECTION = "devel/python"
-LICENSE = "MIT"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b5f0b94fbc94f5ad9ae4efcf8a778303"
-
-SRC_URI[sha256sum] = "87b43e0543149efa1253f485cd845bb7ee54df16c9617b8a893650ab84b4acb6"
-
-inherit pypi python_poetry_core
-
-RDEPENDS:${PN} = "${PYTHON_PN}-pygments"
diff --git a/meta-openembedded/meta-python/recipes-extended/python-rich/python3-rich_13.7.0.bb b/meta-openembedded/meta-python/recipes-extended/python-rich/python3-rich_13.7.0.bb
new file mode 100644
index 0000000..5a1d5dd
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-extended/python-rich/python3-rich_13.7.0.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Rich is a Python library for rich text and beautiful formatting in the terminal"
+DESCRIPTION = "The Rich API makes it easy to add color and style to terminal output. \
+Rich can also render pretty tables, progress bars, markdown, syntax highlighted source code, \
+tracebacks, and more."
+HOMEPAGE="https://github.com/Textualize/rich"
+SECTION = "devel/python"
+LICENSE = "MIT"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b5f0b94fbc94f5ad9ae4efcf8a778303"
+
+SRC_URI[sha256sum] = "5cb5123b5cf9ee70584244246816e9114227e0b98ad9176eede6ad54bf5403fa"
+
+inherit pypi python_poetry_core
+
+RDEPENDS:${PN} = "${PYTHON_PN}-pygments"
diff --git a/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_1.6.2.bb b/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_1.6.2.bb
index 01e4719..f607de7 100644
--- a/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_1.6.2.bb
+++ b/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_1.6.2.bb
@@ -49,5 +49,3 @@
ALTERNATIVE_TARGET[mof_compiler] = "${bindir}/mof_compiler"
ALTERNATIVE_PRIORITY = "60"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-extended/tuna/tuna_0.19.bb b/meta-openembedded/meta-python/recipes-extended/tuna/tuna_0.19.bb
new file mode 100644
index 0000000..ea0f157
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-extended/tuna/tuna_0.19.bb
@@ -0,0 +1,24 @@
+SUMMARY = "cui/gui tool for tuning of running processes"
+HOMEPAGE = "https://rt.wiki.kernel.org/index.php/Tuna"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
+
+SRC_URI = "git://git.kernel.org/pub/scm/utils/tuna/tuna.git;branch=main"
+
+SRCREV = "b972b8ce386c29bcbcd45029a617db3db9e5b6ca"
+
+S = "${WORKDIR}/git"
+
+RDEPENDS:${PN} += " \
+ python3-io \
+ python3-linux-procfs \
+ python3-logging \
+ python3-six \
+ "
+
+inherit setuptools3
+
+do_install:append() {
+ install -m 0755 -d ${D}${bindir}
+ install -m 0755 ${S}/tuna-cmd.py ${D}${bindir}/tuna
+}
diff --git a/meta-openembedded/meta-python/recipes-extended/tuna/tuna_git.bb b/meta-openembedded/meta-python/recipes-extended/tuna/tuna_git.bb
deleted file mode 100644
index a493412..0000000
--- a/meta-openembedded/meta-python/recipes-extended/tuna/tuna_git.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "cui/gui tool for tuning of running processes"
-HOMEPAGE = "https://rt.wiki.kernel.org/index.php/Tuna"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
-
-SRC_URI = "git://git.kernel.org/pub/scm/utils/tuna/tuna.git;branch=main"
-
-SRCREV = "0681906e75e1c8166126bbfc2f3055e7507bfcb5"
-
-S = "${WORKDIR}/git"
-
-RDEPENDS:${PN} += " \
- python3-io \
- python3-linux-procfs \
- python3-logging \
- python3-six \
- "
-
-inherit setuptools3
-
-do_install:append() {
- install -m 0755 -d ${D}${bindir}
- install -m 0755 ${S}/tuna-cmd.py ${D}${bindir}/tuna
-}
diff --git a/meta-openembedded/meta-python/recipes-networking/python/python3-ldap_3.4.3.bb b/meta-openembedded/meta-python/recipes-networking/python/python3-ldap_3.4.3.bb
deleted file mode 100644
index 0bf1ff1..0000000
--- a/meta-openembedded/meta-python/recipes-networking/python/python3-ldap_3.4.3.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "Provides a wrapper in Python to LDAP"
-DESCRIPTION = "This module provides access to the LDAP \
-(Lightweight Directory Access Protocol) through Python operations \
-instead of C API. The module mainly acts as a wrapper for the \
-OpenLDAP 2.x libraries. Errors will appear as exceptions."
-HOMEPAGE = "http://www.python-ldap.org/"
-LICENSE = "PSF-2.0"
-LIC_FILES_CHKSUM = "file://LICENCE;md5=36ce9d726d0321b73c1521704d07db1b"
-
-DEPENDS = "python3 openldap cyrus-sasl"
-
-PYPI_PACKAGE = "python-ldap"
-
-inherit pypi setuptools3
-
-SRC_URI[sha256sum] = "ab26c519a0ef2a443a2a10391fa3c5cb52d7871323399db949ebfaa9f25ee2a0"
-
-do_configure:prepend() {
- sed -i -e 's:^library_dirs =.*::' \
- -e 's:^include_dirs =.*:include_dirs = =/usr/include/sasl/:' \
- -e 's/= ldap_r/= ldap/g' ${S}/setup.cfg
-}
-
-RDEPENDS:${PN} = " \
- python3-pprint \
- python3-pyasn1 \
- python3-pyasn1-modules \
- python3-threading \
- python3-unittest \
-"
diff --git a/meta-openembedded/meta-python/recipes-networking/python/python3-ldap_3.4.4.bb b/meta-openembedded/meta-python/recipes-networking/python/python3-ldap_3.4.4.bb
new file mode 100644
index 0000000..6caf5f3
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-networking/python/python3-ldap_3.4.4.bb
@@ -0,0 +1,30 @@
+SUMMARY = "Provides a wrapper in Python to LDAP"
+DESCRIPTION = "This module provides access to the LDAP \
+(Lightweight Directory Access Protocol) through Python operations \
+instead of C API. The module mainly acts as a wrapper for the \
+OpenLDAP 2.x libraries. Errors will appear as exceptions."
+HOMEPAGE = "http://www.python-ldap.org/"
+LICENSE = "PSF-2.0"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=36ce9d726d0321b73c1521704d07db1b"
+
+DEPENDS = "python3 openldap cyrus-sasl"
+
+PYPI_PACKAGE = "python-ldap"
+
+inherit pypi setuptools3
+
+SRC_URI[sha256sum] = "7edb0accec4e037797705f3a05cbf36a9fde50d08c8f67f2aef99a2628fab828"
+
+do_configure:prepend() {
+ sed -i -e 's:^library_dirs =.*::' \
+ -e 's:^include_dirs =.*:include_dirs = =/usr/include/sasl/:' \
+ -e 's/= ldap_r/= ldap/g' ${S}/setup.cfg
+}
+
+RDEPENDS:${PN} = " \
+ python3-pprint \
+ python3-pyasn1 \
+ python3-pyasn1-modules \
+ python3-threading \
+ python3-unittest \
+"
diff --git a/meta-openembedded/meta-webserver/README.md b/meta-openembedded/meta-webserver/README.md
index d23f6cc..d1b7438 100644
--- a/meta-openembedded/meta-webserver/README.md
+++ b/meta-openembedded/meta-webserver/README.md
@@ -26,10 +26,10 @@
Layout
------
-recipes-httpd/ Web servers
-recipes-php/ PHP applications
-recipes-support/ Miscellaneous support recipes
-recipes-webadmin/ Standalone web administration interfaces
+* recipes-httpd/ Web servers
+* recipes-php/ PHP applications
+* recipes-support/ Miscellaneous support recipes
+* recipes-webadmin/ Standalone web administration interfaces
Notes
diff --git a/meta-openembedded/meta-webserver/files/static-group-meta-webserver b/meta-openembedded/meta-webserver/files/static-group-meta-webserver
new file mode 100644
index 0000000..811980c
--- /dev/null
+++ b/meta-openembedded/meta-webserver/files/static-group-meta-webserver
@@ -0,0 +1 @@
+netdata:x:691
diff --git a/meta-openembedded/meta-webserver/files/static-passwd-meta-webserver b/meta-openembedded/meta-webserver/files/static-passwd-meta-webserver
index 028cf8d..231d458 100644
--- a/meta-openembedded/meta-webserver/files/static-passwd-meta-webserver
+++ b/meta-openembedded/meta-webserver/files/static-passwd-meta-webserver
@@ -1,2 +1,2 @@
www:x:690:nogroup::/:/bin/nologin
-netdata:x:691:nogroup::/:/bin/nologin
\ No newline at end of file
+netdata:x:691:691::/:/bin/nologin
diff --git a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.57.bb b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.57.bb
index 00f8aaa..bbc1c6c 100644
--- a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.57.bb
+++ b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.57.bb
@@ -36,7 +36,7 @@
DEPENDS = "openssl expat pcre apr apr-util apache2-native "
-CVE_PRODUCT = "http_server"
+CVE_PRODUCT = "apache:http_server"
SSTATE_SCAN_FILES += "apxs config_vars.mk config.nice"
diff --git a/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_3.2.0.bb b/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_3.2.0.bb
deleted file mode 100644
index fe6fc5b..0000000
--- a/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_3.2.0.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-SUMMARY = "Debugging and profiling extension for PHP"
-LICENSE = "Xdebug"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=92d94a330d34ee6edc2638450736f119"
-
-DEPENDS = "php re2c-native"
-
-SRC_URI = "http://xdebug.org/files/xdebug-${PV}.tgz"
-
-SRC_URI[sha256sum] = "7769b20eecdadf5fbe9f582512c10b394fb575b6f7a8c3a3a82db6883e0032b7"
-
-UPSTREAM_CHECK_REGEX = "xdebug-(?P<pver>\d+(\.\d+)+)\.tgz"
-
-inherit autotools
-
-EXTRA_OECONF += "--enable-xdebug -with-php-config=${STAGING_BINDIR_CROSS}/php-config"
-
-do_configure() {
- cd ${S}
- ${STAGING_BINDIR_CROSS}/phpize
- cd ${B}
-
- # Running autoreconf as autotools_do_configure would do here
- # breaks the libtool configuration resulting in a failure later
- # in do_compile. It's possible this may be fixable, however the
- # easiest course of action for the moment is to avoid doing that.
- oe_runconf
-}
-
-do_install() {
- oe_runmake install INSTALL_ROOT=${D}
-}
-
-FILES:${PN} += "${libdir}/php*/extensions/*/*.so"
-FILES:${PN}-dbg += "${libdir}/php*/extensions/*/.debug"
diff --git a/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_3.2.2.bb b/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_3.2.2.bb
new file mode 100644
index 0000000..8ad588d
--- /dev/null
+++ b/meta-openembedded/meta-webserver/recipes-php/xdebug/xdebug_3.2.2.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Debugging and profiling extension for PHP"
+LICENSE = "Xdebug"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=92d94a330d34ee6edc2638450736f119"
+
+DEPENDS = "php re2c-native"
+
+SRC_URI = "http://xdebug.org/files/xdebug-${PV}.tgz"
+
+SRC_URI[sha256sum] = "f48777371f90cbb315ea4ea082a1ede6765bcfb35d7d6356ab8f71fd6dfcc157"
+
+UPSTREAM_CHECK_REGEX = "xdebug-(?P<pver>\d+(\.\d+)+)\.tgz"
+
+inherit autotools
+
+EXTRA_OECONF += "--enable-xdebug -with-php-config=${STAGING_BINDIR_CROSS}/php-config"
+
+do_configure() {
+ cd ${S}
+ ${STAGING_BINDIR_CROSS}/phpize
+ cd ${B}
+
+ # Running autoreconf as autotools_do_configure would do here
+ # breaks the libtool configuration resulting in a failure later
+ # in do_compile. It's possible this may be fixable, however the
+ # easiest course of action for the moment is to avoid doing that.
+ oe_runconf
+}
+
+do_install() {
+ oe_runmake install INSTALL_ROOT=${D}
+}
+
+FILES:${PN} += "${libdir}/php*/extensions/*/*.so"
+FILES:${PN}-dbg += "${libdir}/php*/extensions/*/.debug"
diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/cockpit/cockpit_298.bb b/meta-openembedded/meta-webserver/recipes-webadmin/cockpit/cockpit_298.bb
deleted file mode 100644
index 2623024..0000000
--- a/meta-openembedded/meta-webserver/recipes-webadmin/cockpit/cockpit_298.bb
+++ /dev/null
@@ -1,202 +0,0 @@
-SUMMARY = "Admin interface for Linux machines"
-DESCRIPTION = "Cockpit makes it easy to administer your GNU/Linux servers via a web browser"
-
-LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-SRC_URI += " \
- https://github.com/cockpit-project/cockpit/releases/download/${PV}/cockpit-${PV}.tar.xz \
- file://0001-Warn-not-error-if-xsltproc-is-not-found.patch \
- file://cockpit.pam \
- "
-SRC_URI[sha256sum] = "c7da91824f7a72c82c1a3aaff1a57dbe0ce1e29e05e95d92b5118a324a3f4b39"
-
-inherit gettext pkgconfig autotools systemd features_check
-
-DEPENDS += "glib-2.0-native intltool-native gnutls virtual/gettext json-glib krb5 libpam systemd"
-
-COMPATIBLE_HOST:libc-musl = "null"
-
-RDEPENDS:${PN} += "glib-networking"
-
-REQUIRED_DISTRO_FEATURES = "systemd pam"
-
-COCKPIT_USER_GROUP ?= "root"
-COCKPIT_WS_USER_GROUP ?= "${COCKPIT_USER_GROUP}"
-
-EXTRA_AUTORECONF = "-I tools"
-EXTRA_OECONF = " \
- --with-cockpit-user=${COCKPIT_USER_GROUP} \
- --with-cockpit-group=${COCKPIT_USER_GROUP} \
- --with-admin-group=${COCKPIT_USER_GROUP} \
- --with-cockpit-ws-instance-user=${COCKPIT_WS_USER_GROUP} \
- --with-cockpit-ws-instance-group=${COCKPIT_WS_USER_GROUP} \
- --disable-doc \
- --with-systemdunitdir=${systemd_system_unitdir} \
-"
-
-PACKAGECONFIG ??= " \
- ${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)} \
-"
-
-PACKAGECONFIG[pcp] = "--enable-pcp,--disable-pcp,pcp"
-PACKAGECONFIG[dashboard] = "--enable-ssh,--disable-ssh,libssh"
-PACKAGECONFIG[storaged] = ",,,udisks2"
-PACKAGECONFIG[polkit] = "--enable-polkit,--disable-polkit,polkit"
-
-PACKAGES =+ " \
- ${PN}-pcp \
- ${PN}-realmd \
- ${PN}-tuned \
- ${PN}-shell \
- ${PN}-systemd \
- ${PN}-users \
- ${PN}-kdump \
- ${PN}-sosreport \
- ${PN}-storaged \
- ${PN}-networkmanager \
- ${PN}-machines \
- ${PN}-selinux \
- ${PN}-playground \
- ${PN}-docker \
- ${PN}-dashboard \
- ${PN}-packagekit \
- ${PN}-apps \
- ${PN}-bridge \
- ${PN}-ws \
- ${PN}-desktop \
-"
-SYSTEMD_PACKAGES = "${PN}-ws"
-
-FILES:${PN}-pcp = " \
- ${libexecdir}/cockpit-pcp \
- ${datadir}/cockpit/pcp \
- ${localstatedir}/lib/pcp/config/pmlogconf/tools/cockpit \
-"
-FILES:${PN}-realmd = "${datadir}/cockpit/realmd"
-FILES:${PN}-tuned = "${datadir}/cockpit/tuned"
-FILES:${PN}-shell = "${datadir}/cockpit/shell"
-FILES:${PN}-systemd = "${datadir}/cockpit/systemd"
-FILES:${PN}-users = "${datadir}/cockpit/users"
-FILES:${PN}-kdump = " \
- ${datadir}/cockpit/kdump \
- ${datadir}/metainfo/org.cockpit-project.cockpit-kdump.metainfo.xml \
-"
-FILES:${PN}-sosreport = " \
- ${datadir}/cockpit/sosreport \
- ${datadir}/metainfo/org.cockpit-project.cockpit-sosreport.metainfo.xml \
- ${datadir}/pixmaps/cockpit-sosreport.png \
-"
-FILES:${PN}-storaged = " \
- ${datadir}/cockpit/storaged \
- ${datadir}/metainfo/org.cockpit-project.cockpit-storaged.metainfo.xml \
-"
-
-FILES:${PN}-networkmanager = " \
- ${datadir}/cockpit/networkmanager \
- ${datadir}/metainfo/org.cockpit-project.cockpit-networkmanager.metainfo.xml \
-"
-RDEPENDS:${PN}-networkmanager = "networkmanager"
-
-FILES:${PN}-machines = " \
- ${datadir}/cockpit/machines \
- ${datadir}/metainfo/org.cockpit-project.cockpit-machines.metainfo.xml \
-"
-FILES:${PN}-selinux = " \
- ${datadir}/cockpit/selinux \
- ${datadir}/metainfo/org.cockpit-project.cockpit-selinux.metainfo.xml \
-"
-FILES:${PN}-playground = "${datadir}/cockpit/playground"
-FILES:${PN}-docker = " \
- ${datadir}/cockpit/docker \
- ${datadir}/metainfo/org.cockpit-project.cockpit-docker.metainfo.xml \
-"
-FILES:${PN}-dashboard = "${datadir}/cockpit/dashboard"
-ALLOW_EMPTY:${PN}-dashboard = "1"
-
-FILES:${PN}-packagekit = "${datadir}/cockpit/packagekit"
-FILES:${PN}-apps = "${datadir}/cockpit/apps"
-
-FILES:${PN}-bridge = " \
- ${bindir}/cockpit-bridge \
- ${libexec}/cockpit-askpass \
-"
-RDEPENDS:${PN}-bridge = ""
-
-FILES:${PN}-desktop = "${libexecdir}/cockpit-desktop"
-RDEPENDS:${PN}-desktop += "bash"
-
-FILES:${PN}-ws = " \
- ${sysconfdir}/cockpit/ws-certs.d \
- ${sysconfdir}/pam.d/cockpit \
- ${sysconfdir}/issue.d/cockpit.issue \
- ${sysconfdir}/motd.d/cockpit \
- ${datadir}/cockpit/motd/update-motd \
- ${datadir}/cockpit/motd/inactive.motd \
- ${systemd_system_unitdir}/cockpit.service \
- ${systemd_system_unitdir}/cockpit-motd.service \
- ${systemd_system_unitdir}/cockpit.socket \
- ${systemd_system_unitdir}/cockpit-session.socket \
- ${systemd_system_unitdir}/cockpit-session@.service \
- ${systemd_system_unitdir}/cockpit-wsinstance-http.socket \
- ${systemd_system_unitdir}/cockpit-wsinstance-http.service \
- ${systemd_system_unitdir}/cockpit-wsinstance-http-redirect.socket \
- ${systemd_system_unitdir}/cockpit-wsinstance-http-redirect.service \
- ${systemd_system_unitdir}/cockpit-wsinstance-https-factory.socket \
- ${systemd_system_unitdir}/cockpit-wsinstance-https-factory@.service \
- ${systemd_system_unitdir}/cockpit-wsinstance-https@.socket \
- ${systemd_system_unitdir}/cockpit-wsinstance-https@.service \
- ${systemd_system_unitdir}/system-cockpithttps.slice \
- ${libdir}/tmpfiles.d/cockpit-tempfiles.conf \
- ${sbindir}/remotectl \
- ${libdir}/security/pam_ssh_add.so \
- ${libdir}/security/pam_cockpit_cert.so \
- ${libexecdir}/cockpit-ws \
- ${libexecdir}/cockpit-wsinstance-factory \
- ${libexecdir}/cockpit-tls \
- ${libexecdir}/cockpit-session \
- ${localstatedir}/lib/cockpit \
- ${datadir}/cockpit/static \
- ${datadir}/cockpit/branding \
-"
-CONFFILES:${PN}-ws += " \
- ${sysconfdir}/issue.d/cockpit.issue \
- ${sysconfdir}/motd.d/cockpit \
-"
-RDEPENDS:${PN}-ws += "openssl-bin"
-SYSTEMD_SERVICE:${PN}-ws = "cockpit.socket"
-
-FILES:${PN} += " \
- ${datadir}/cockpit/base1 \
- ${sysconfdir}/cockpit/machines.d \
- ${datadir}/polkit-1/actions/org.cockpit-project.cockpit-bridge.policy \
- ${datadir}/cockpit/ssh \
- ${libexecdir}/cockpit-ssh \
- ${datadir}/cockpit \
- ${datadir}/metainfo/cockpit.appdata.xml \
- ${datadir}/pixmaps/cockpit.png \
- ${nonarch_libdir}/tmpfiles.d \
- ${nonarch_libdir}/firewalld \
-"
-RDEPENDS:${PN} += "${PN}-bridge"
-# Needs bash for /usr/libexec/cockpit-certificate-helper
-RDEPENDS:${PN} += "bash"
-
-do_install:append() {
- pkgdatadir=${datadir}/cockpit
-
- chmod 4750 ${D}${libexecdir}/cockpit-session
-
- install -d "${D}${sysconfdir}/pam.d"
- install -p -m 0644 ${WORKDIR}/cockpit.pam ${D}${sysconfdir}/pam.d/cockpit
-
- # provided by firewalld
- rm -rf ${D}${libdir}/firewalld
-
- if ! ${@bb.utils.contains('PACKAGECONFIG', 'storaged', 'true', 'false', d)}; then
- for filename in ${FILES:${PN}-storaged}
- do
- rm -rf ${D}$filename
- done
- fi
-}
diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/cockpit/cockpit_304.bb b/meta-openembedded/meta-webserver/recipes-webadmin/cockpit/cockpit_304.bb
new file mode 100644
index 0000000..ab05fd3
--- /dev/null
+++ b/meta-openembedded/meta-webserver/recipes-webadmin/cockpit/cockpit_304.bb
@@ -0,0 +1,207 @@
+SUMMARY = "Admin interface for Linux machines"
+DESCRIPTION = "Cockpit makes it easy to administer your GNU/Linux servers via a web browser"
+
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI += " \
+ https://github.com/cockpit-project/cockpit/releases/download/${PV}/cockpit-${PV}.tar.xz \
+ file://0001-Warn-not-error-if-xsltproc-is-not-found.patch \
+ file://cockpit.pam \
+ "
+SRC_URI[sha256sum] = "a87d090c930e2058bb3e970ca7f2bafe678687966b5c0b8b42a802977e391ce9"
+
+inherit gettext pkgconfig autotools systemd features_check
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'old-bridge', '', 'python3targetconfig', d)}
+
+DEPENDS += "glib-2.0-native intltool-native gnutls virtual/gettext json-glib krb5 libpam systemd"
+DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'old-bridge', '', 'python3-pip-native', d)}"
+
+COMPATIBLE_HOST:libc-musl = "null"
+
+RDEPENDS:${PN} += "glib-networking"
+
+REQUIRED_DISTRO_FEATURES = "systemd pam"
+
+COCKPIT_USER_GROUP ?= "root"
+COCKPIT_WS_USER_GROUP ?= "${COCKPIT_USER_GROUP}"
+
+EXTRA_AUTORECONF = "-I tools"
+EXTRA_OECONF = " \
+ --with-cockpit-user=${COCKPIT_USER_GROUP} \
+ --with-cockpit-group=${COCKPIT_USER_GROUP} \
+ --with-admin-group=${COCKPIT_USER_GROUP} \
+ --with-cockpit-ws-instance-user=${COCKPIT_WS_USER_GROUP} \
+ --with-cockpit-ws-instance-group=${COCKPIT_WS_USER_GROUP} \
+ --disable-doc \
+ --with-systemdunitdir=${systemd_system_unitdir} \
+"
+
+PACKAGECONFIG ??= " \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)} \
+ old-bridge \
+"
+
+PACKAGECONFIG[pcp] = "--enable-pcp,--disable-pcp,pcp"
+PACKAGECONFIG[dashboard] = "--enable-ssh,--disable-ssh,libssh"
+PACKAGECONFIG[storaged] = ",,,udisks2"
+PACKAGECONFIG[polkit] = "--enable-polkit,--disable-polkit,polkit"
+PACKAGECONFIG[old-bridge] = "--enable-old-bridge"
+
+PACKAGES =+ " \
+ ${PN}-pcp \
+ ${PN}-realmd \
+ ${PN}-tuned \
+ ${PN}-shell \
+ ${PN}-systemd \
+ ${PN}-users \
+ ${PN}-kdump \
+ ${PN}-sosreport \
+ ${PN}-storaged \
+ ${PN}-networkmanager \
+ ${PN}-machines \
+ ${PN}-selinux \
+ ${PN}-playground \
+ ${PN}-docker \
+ ${PN}-dashboard \
+ ${PN}-packagekit \
+ ${PN}-apps \
+ ${PN}-bridge \
+ ${PN}-ws \
+ ${PN}-desktop \
+"
+SYSTEMD_PACKAGES = "${PN}-ws"
+
+FILES:${PN}-pcp = " \
+ ${libexecdir}/cockpit-pcp \
+ ${datadir}/cockpit/pcp \
+ ${localstatedir}/lib/pcp/config/pmlogconf/tools/cockpit \
+"
+FILES:${PN}-realmd = "${datadir}/cockpit/realmd"
+FILES:${PN}-tuned = "${datadir}/cockpit/tuned"
+FILES:${PN}-shell = "${datadir}/cockpit/shell"
+FILES:${PN}-systemd = "${datadir}/cockpit/systemd"
+FILES:${PN}-users = "${datadir}/cockpit/users"
+FILES:${PN}-kdump = " \
+ ${datadir}/cockpit/kdump \
+ ${datadir}/metainfo/org.cockpit-project.cockpit-kdump.metainfo.xml \
+"
+FILES:${PN}-sosreport = " \
+ ${datadir}/cockpit/sosreport \
+ ${datadir}/metainfo/org.cockpit-project.cockpit-sosreport.metainfo.xml \
+ ${datadir}/pixmaps/cockpit-sosreport.png \
+"
+FILES:${PN}-storaged = " \
+ ${datadir}/cockpit/storaged \
+ ${datadir}/metainfo/org.cockpit-project.cockpit-storaged.metainfo.xml \
+"
+
+FILES:${PN}-networkmanager = " \
+ ${datadir}/cockpit/networkmanager \
+ ${datadir}/metainfo/org.cockpit-project.cockpit-networkmanager.metainfo.xml \
+"
+RDEPENDS:${PN}-networkmanager = "networkmanager"
+
+FILES:${PN}-machines = " \
+ ${datadir}/cockpit/machines \
+ ${datadir}/metainfo/org.cockpit-project.cockpit-machines.metainfo.xml \
+"
+FILES:${PN}-selinux = " \
+ ${datadir}/cockpit/selinux \
+ ${datadir}/metainfo/org.cockpit-project.cockpit-selinux.metainfo.xml \
+"
+FILES:${PN}-playground = "${datadir}/cockpit/playground"
+FILES:${PN}-docker = " \
+ ${datadir}/cockpit/docker \
+ ${datadir}/metainfo/org.cockpit-project.cockpit-docker.metainfo.xml \
+"
+FILES:${PN}-dashboard = "${datadir}/cockpit/dashboard"
+ALLOW_EMPTY:${PN}-dashboard = "1"
+
+FILES:${PN}-packagekit = "${datadir}/cockpit/packagekit"
+FILES:${PN}-apps = "${datadir}/cockpit/apps"
+
+FILES:${PN}-bridge = " \
+ ${bindir}/cockpit-bridge \
+ ${libexecdir}/cockpit-askpass \
+ ${PYTHON_SITEPACKAGES_DIR} \
+"
+RDEPENDS:${PN}-bridge = "${@bb.utils.contains('PACKAGECONFIG', 'old-bridge', '', 'python3', d)}"
+
+FILES:${PN}-desktop = "${libexecdir}/cockpit-desktop"
+RDEPENDS:${PN}-desktop += "bash"
+
+FILES:${PN}-ws = " \
+ ${sysconfdir}/cockpit/ws-certs.d \
+ ${sysconfdir}/pam.d/cockpit \
+ ${sysconfdir}/issue.d/cockpit.issue \
+ ${sysconfdir}/motd.d/cockpit \
+ ${datadir}/cockpit/motd/update-motd \
+ ${datadir}/cockpit/motd/inactive.motd \
+ ${systemd_system_unitdir}/cockpit.service \
+ ${systemd_system_unitdir}/cockpit-motd.service \
+ ${systemd_system_unitdir}/cockpit.socket \
+ ${systemd_system_unitdir}/cockpit-session.socket \
+ ${systemd_system_unitdir}/cockpit-session@.service \
+ ${systemd_system_unitdir}/cockpit-wsinstance-http.socket \
+ ${systemd_system_unitdir}/cockpit-wsinstance-http.service \
+ ${systemd_system_unitdir}/cockpit-wsinstance-http-redirect.socket \
+ ${systemd_system_unitdir}/cockpit-wsinstance-http-redirect.service \
+ ${systemd_system_unitdir}/cockpit-wsinstance-https-factory.socket \
+ ${systemd_system_unitdir}/cockpit-wsinstance-https-factory@.service \
+ ${systemd_system_unitdir}/cockpit-wsinstance-https@.socket \
+ ${systemd_system_unitdir}/cockpit-wsinstance-https@.service \
+ ${systemd_system_unitdir}/system-cockpithttps.slice \
+ ${libdir}/tmpfiles.d/cockpit-tempfiles.conf \
+ ${sbindir}/remotectl \
+ ${libdir}/security/pam_ssh_add.so \
+ ${libdir}/security/pam_cockpit_cert.so \
+ ${libexecdir}/cockpit-ws \
+ ${libexecdir}/cockpit-wsinstance-factory \
+ ${libexecdir}/cockpit-tls \
+ ${libexecdir}/cockpit-session \
+ ${localstatedir}/lib/cockpit \
+ ${datadir}/cockpit/static \
+ ${datadir}/cockpit/branding \
+"
+CONFFILES:${PN}-ws += " \
+ ${sysconfdir}/issue.d/cockpit.issue \
+ ${sysconfdir}/motd.d/cockpit \
+"
+RDEPENDS:${PN}-ws += "openssl-bin"
+SYSTEMD_SERVICE:${PN}-ws = "cockpit.socket"
+
+FILES:${PN} += " \
+ ${datadir}/cockpit/base1 \
+ ${sysconfdir}/cockpit/machines.d \
+ ${datadir}/polkit-1/actions/org.cockpit-project.cockpit-bridge.policy \
+ ${datadir}/cockpit/ssh \
+ ${libexecdir}/cockpit-ssh \
+ ${datadir}/cockpit \
+ ${datadir}/metainfo/cockpit.appdata.xml \
+ ${datadir}/pixmaps/cockpit.png \
+ ${nonarch_libdir}/tmpfiles.d \
+ ${nonarch_libdir}/firewalld \
+"
+RDEPENDS:${PN} += "${PN}-bridge"
+# Needs bash for /usr/libexec/cockpit-certificate-helper
+RDEPENDS:${PN} += "bash"
+
+do_install:append() {
+ pkgdatadir=${datadir}/cockpit
+
+ chmod 4750 ${D}${libexecdir}/cockpit-session
+
+ install -d "${D}${sysconfdir}/pam.d"
+ install -p -m 0644 ${WORKDIR}/cockpit.pam ${D}${sysconfdir}/pam.d/cockpit
+
+ # provided by firewalld
+ rm -rf ${D}${libdir}/firewalld
+
+ if ! ${@bb.utils.contains('PACKAGECONFIG', 'storaged', 'true', 'false', d)}; then
+ for filename in ${FILES:${PN}-storaged}
+ do
+ rm -rf ${D}$filename
+ done
+ fi
+}
diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/netdata.service b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/netdata.service
index ca13f72..f4911f3 100644
--- a/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/netdata.service
+++ b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/netdata.service
@@ -7,7 +7,7 @@
[Service]
Type=simple
ExecStartPre=/bin/mkdir -p /var/log/netdata
-ExecStartPre=/bin/chown -R netdata.netdata /var/log/netdata
+ExecStartPre=/bin/chown -R netdata:netdata /var/log/netdata
ExecStart=/usr/sbin/netdata -D -u netdata
diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_1.36.1.bb b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_1.36.1.bb
deleted file mode 100644
index 52d99e7..0000000
--- a/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_1.36.1.bb
+++ /dev/null
@@ -1,82 +0,0 @@
-SUMMARY = "Real-time performance monitoring"
-DESCRIPTION = "Netdata is high-fidelity infrastructure monitoring and troubleshooting. \
- Open-source, free, preconfigured, opinionated, and always real-time."
-HOMEPAGE = "https://github.com/netdata/netdata/"
-LICENSE = "GPL-3.0-only"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=fc9b848046ef54b5eaee6071947abd24"
-
-DEPENDS += "libuv util-linux zlib"
-
-SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BPN}-v${PV}.tar.gz \
-"
-SRC_URI[sha256sum] = "f4a1233112b55e07e2862ffda0416255f0aa4c8e2b16929b76fa7ad6b69fd931"
-
-# default netdata.conf for netdata configuration
-SRC_URI += "file://netdata.conf"
-
-# file for providing systemd service support
-SRC_URI += "file://netdata.service"
-
-UPSTREAM_CHECK_URI = "https://github.com/netdata/netdata/releases"
-
-S = "${WORKDIR}/${BPN}-v${PV}"
-
-# Stop sending anonymous statistics to Google Analytics
-NETDATA_ANONYMOUS ??= "enabled"
-
-inherit pkgconfig autotools-brokensep useradd systemd
-
-LIBS:toolchain-clang:x86 = "-latomic"
-LIBS:riscv64 = "-latomic"
-LIBS:riscv32 = "-latomic"
-LIBS:mips = "-latomic"
-export LIBS
-
-#systemd
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE:${PN} = "netdata.service"
-SYSTEMD_AUTO_ENABLE:${PN} = "enable"
-
-#User specific
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM:${PN} = "--system --no-create-home --home-dir ${localstatedir}/run/netdata --user-group netdata"
-
-PACKAGECONFIG ??= "https"
-PACKAGECONFIG[cloud] = "--enable-cloud, --disable-cloud, json-c"
-PACKAGECONFIG[compression] = "--enable-compression, --disable-compression, lz4"
-PACKAGECONFIG[https] = "--enable-https, --disable-https, openssl"
-
-# ebpf doesn't compile (or detect) the cross compilation well
-EXTRA_OECONF += "--disable-ebpf"
-
-do_install:append() {
- #set S UID for plugins
- chmod 4755 ${D}${libexecdir}/netdata/plugins.d/apps.plugin
-
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- # Install systemd unit files
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/netdata.service ${D}${systemd_unitdir}/system
- sed -i -e 's,@@datadir,${datadir_native},g' ${D}${systemd_unitdir}/system/netdata.service
- fi
-
- # Install default netdata.conf
- install -d ${D}${sysconfdir}/netdata
- install -m 0644 ${WORKDIR}/netdata.conf ${D}${sysconfdir}/netdata/
- sed -i -e 's,@@sysconfdir,${sysconfdir},g' ${D}${sysconfdir}/netdata/netdata.conf
- sed -i -e 's,@@libdir,${libexecdir},g' ${D}${sysconfdir}/netdata/netdata.conf
- sed -i -e 's,@@datadir,${datadir},g' ${D}${sysconfdir}/netdata/netdata.conf
-
- if [ "${NETDATA_ANONYMOUS}" = "enabled" ]; then
- touch ${D}${sysconfdir}/netdata/.opt-out-from-anonymous-statistics
- fi
-
- install --group netdata --owner netdata --directory ${D}${localstatedir}/cache/netdata
- install --group netdata --owner netdata --directory ${D}${localstatedir}/lib/netdata
-
- chown -R netdata:netdata ${D}${datadir}/netdata/web
-}
-
-FILES:${PN} += "${localstatedir}/cache/netdata/ ${localstatedir}/lib/netdata/"
-
-RDEPENDS:${PN} = "bash zlib"
diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_1.43.2.bb b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_1.43.2.bb
new file mode 100644
index 0000000..c56da37
--- /dev/null
+++ b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_1.43.2.bb
@@ -0,0 +1,83 @@
+SUMMARY = "Real-time performance monitoring"
+DESCRIPTION = "Netdata is high-fidelity infrastructure monitoring and troubleshooting. \
+ Open-source, free, preconfigured, opinionated, and always real-time."
+HOMEPAGE = "https://github.com/netdata/netdata/"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fc9b848046ef54b5eaee6071947abd24"
+
+DEPENDS += "libuv util-linux zlib libyaml json-c"
+
+SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BPN}-v${PV}.tar.gz \
+"
+SRC_URI[sha256sum] = "d4a7ea2717ac7c8f04865f18e13aeaa0a36784156059f1b5ced75a44f74afc4d"
+
+# default netdata.conf for netdata configuration
+SRC_URI += "file://netdata.conf"
+
+# file for providing systemd service support
+SRC_URI += "file://netdata.service"
+
+UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/tags"
+UPSTREAM_CHECK_REGEX = "${BPN}/releases/tag/v(?P<pver>\d+(?:\.\d+)*)"
+
+S = "${WORKDIR}/${BPN}-v${PV}"
+
+# Stop sending anonymous statistics to Google Analytics
+NETDATA_ANONYMOUS ??= "enabled"
+
+inherit pkgconfig autotools-brokensep useradd systemd
+
+LIBS:toolchain-clang:x86 = "-latomic"
+LIBS:riscv64 = "-latomic"
+LIBS:riscv32 = "-latomic"
+LIBS:mips = "-latomic"
+export LIBS
+
+#systemd
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE:${PN} = "netdata.service"
+SYSTEMD_AUTO_ENABLE:${PN} = "enable"
+
+#User specific
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM:${PN} = "--system --no-create-home --home-dir ${localstatedir}/run/netdata --user-group netdata"
+
+PACKAGECONFIG ??= "openssl"
+PACKAGECONFIG[cloud] = "--enable-cloud, --disable-cloud,"
+PACKAGECONFIG[lz4] = "--enable-lz4, --disable-lz4, lz4"
+PACKAGECONFIG[openssl] = "--enable-openssl, --disable-openssl, openssl"
+
+# ebpf doesn't compile (or detect) the cross compilation well
+EXTRA_OECONF += "--disable-ebpf"
+
+do_install:append() {
+ #set S UID for plugins
+ chmod 4755 ${D}${libexecdir}/netdata/plugins.d/apps.plugin
+
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ # Install systemd unit files
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/netdata.service ${D}${systemd_unitdir}/system
+ sed -i -e 's,@@datadir,${datadir_native},g' ${D}${systemd_unitdir}/system/netdata.service
+ fi
+
+ # Install default netdata.conf
+ install -d ${D}${sysconfdir}/netdata
+ install -m 0644 ${WORKDIR}/netdata.conf ${D}${sysconfdir}/netdata/
+ sed -i -e 's,@@sysconfdir,${sysconfdir},g' ${D}${sysconfdir}/netdata/netdata.conf
+ sed -i -e 's,@@libdir,${libexecdir},g' ${D}${sysconfdir}/netdata/netdata.conf
+ sed -i -e 's,@@datadir,${datadir},g' ${D}${sysconfdir}/netdata/netdata.conf
+
+ if [ "${NETDATA_ANONYMOUS}" = "enabled" ]; then
+ touch ${D}${sysconfdir}/netdata/.opt-out-from-anonymous-statistics
+ fi
+
+ install --group netdata --owner netdata --directory ${D}${localstatedir}/cache/netdata
+ install --group netdata --owner netdata --directory ${D}${localstatedir}/lib/netdata
+
+ chown -R netdata:netdata ${D}${datadir}/netdata/web
+}
+
+FILES:${PN} += "${localstatedir}/cache/netdata/ ${localstatedir}/lib/netdata/"
+
+RDEPENDS:${PN} = "bash zlib"
diff --git a/meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_4.16.3.bb b/meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_4.16.3.bb
deleted file mode 100644
index 249c8e1..0000000
--- a/meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_4.16.3.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "Catfish is a handy file searching tool for linux and unix"
-SECTION = "x11/application"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4"
-
-inherit xfce-app python_setuptools_build_meta gtk-icon-cache mime-xdg features_check
-
-REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
-
-DEPENDS += "python3-distutils-extra-native"
-
-SRC_URI[sha256sum] = "e9a99a62d10981391508dd43f3cbfa2d50a69bd6b7d1eeef7d30ba4c673dcfda"
-
-FILES:${PN} += "${datadir}/metainfo"
-
-RDEPENDS:${PN} += "python3-pygobject python3-dbus"
-
-do_install:append() {
- #
- # Until catfish upstream figures out a way to overcome this buildpath issue, we need to do such adjustments here.
- #
- sed -i -e 's#${RECIPE_SYSROOT_NATIVE}##g' ${D}${datadir}/applications/org.xfce.Catfish.desktop
- sed -i -e 's#${RECIPE_SYSROOT_NATIVE}##g' ${D}${PYTHON_SITEPACKAGES_DIR}/catfish_lib/catfishconfig.py
- rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/catfish_lib/__pycache__/catfishconfig.*.pyc
-}
diff --git a/meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_4.18.0.bb b/meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_4.18.0.bb
new file mode 100644
index 0000000..6b93928
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_4.18.0.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Catfish is a handy file searching tool for linux and unix"
+SECTION = "x11/application"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4"
+
+inherit xfce-app python_setuptools_build_meta gtk-icon-cache mime-xdg features_check
+
+REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
+
+DEPENDS += "python3-distutils-extra-native"
+
+SRC_URI[sha256sum] = "fdae9b73cc754a50716bb04b958aa31dbd7e94047068b7207f2ae313a7d58b99"
+
+FILES:${PN} += "${datadir}/metainfo"
+
+RDEPENDS:${PN} += "python3-pygobject python3-dbus"
+
+do_install:append() {
+ #
+ # Until catfish upstream figures out a way to overcome this buildpath issue, we need to do such adjustments here.
+ #
+ sed -i -e 's#${RECIPE_SYSROOT_NATIVE}##g' ${D}${datadir}/applications/org.xfce.Catfish.desktop
+ sed -i -e 's#${RECIPE_SYSROOT_NATIVE}##g' ${D}${PYTHON_SITEPACKAGES_DIR}/catfish_lib/catfishconfig.py
+ rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/catfish_lib/__pycache__/catfishconfig.*.pyc
+}
diff --git a/meta-openembedded/meta-xfce/recipes-apps/gigolo/gigolo_0.5.2.bb b/meta-openembedded/meta-xfce/recipes-apps/gigolo/gigolo_0.5.2.bb
deleted file mode 100644
index 6b845ea..0000000
--- a/meta-openembedded/meta-xfce/recipes-apps/gigolo/gigolo_0.5.2.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "Gigolo is a frontend to easily manage connections to remote filesystems using GIO/GVfs"
-SECTION = "x11/application"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-DEPENDS = "gtk+3 intltool-native xfce4-dev-tools-native"
-
-inherit xfce-app
-
-SRC_URI[sha256sum] = "e34a1aa0755f9f6c234c7d24b23a6cecd6ef50741d79da3bb6f698a2281dbbc3"
diff --git a/meta-openembedded/meta-xfce/recipes-apps/gigolo/gigolo_0.5.3.bb b/meta-openembedded/meta-xfce/recipes-apps/gigolo/gigolo_0.5.3.bb
new file mode 100644
index 0000000..4692f18
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-apps/gigolo/gigolo_0.5.3.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Gigolo is a frontend to easily manage connections to remote filesystems using GIO/GVfs"
+SECTION = "x11/application"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "gtk+3 intltool-native xfce4-dev-tools-native"
+
+inherit xfce-app
+
+SRC_URI[sha256sum] = "d25984f65744665e2433335249f9547a38cead45440027af0c397ebf254d2fd0"
diff --git a/meta-openembedded/meta-xfce/recipes-apps/menulibre/menulibre_2.2.3.bb b/meta-openembedded/meta-xfce/recipes-apps/menulibre/menulibre_2.2.3.bb
deleted file mode 100644
index 609caf3..0000000
--- a/meta-openembedded/meta-xfce/recipes-apps/menulibre/menulibre_2.2.3.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-DESCRIPTION = "An advanced menu editor"
-HOMEPAGE = "https://bluesabre.org/menulibre/"
-SECTION = "x11/graphics"
-LICENSE = "GPL-3.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-DEPENDS = " \
- python3-distutils-extra-native \
- intltool-native \
-"
-
-inherit setuptools3_legacy gtk-icon-cache features_check
-REQUIRED_DISTRO_FEATURES = "x11 gobject-introspection-data"
-
-SRC_URI = "git://github.com/bluesabre/menulibre.git;protocol=https;branch=master"
-SRCREV = "86ee9ad7568128fe9555e54799933b2d3762331a"
-S = "${WORKDIR}/git"
-
-do_compile[noexec] = "1"
-
-do_install:append() {
- sed -i 's:${D}::g' ${D}${datadir}/applications/menulibre.desktop
- sed -i 's:share/share:share:g' ${D}${PYTHON_SITEPACKAGES_DIR}/menulibre_lib/menulibreconfig.py
-}
-
-FILES:${PN} += " \
- ${datadir}/applications \
- ${datadir}/metainfo \
- ${datadir}/icons \
-"
-
-RDEPENDS:${PN} += " \
- gtk+3 \
- gtksourceview3 \
- python3-pygobject \
- gnome-menus \
- python3-unixadmin \
- python3-psutil \
-"
diff --git a/meta-openembedded/meta-xfce/recipes-apps/menulibre/menulibre_2.3.2.bb b/meta-openembedded/meta-xfce/recipes-apps/menulibre/menulibre_2.3.2.bb
new file mode 100644
index 0000000..7491b50
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-apps/menulibre/menulibre_2.3.2.bb
@@ -0,0 +1,39 @@
+DESCRIPTION = "An advanced menu editor"
+HOMEPAGE = "https://bluesabre.org/menulibre/"
+SECTION = "x11/graphics"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+DEPENDS = " \
+ python3-distutils-extra-native \
+ intltool-native \
+"
+
+inherit setuptools3_legacy gtk-icon-cache features_check
+REQUIRED_DISTRO_FEATURES = "x11 gobject-introspection-data"
+
+SRC_URI = "git://github.com/bluesabre/menulibre.git;protocol=https;branch=master"
+SRCREV = "94bef4060714fa65c7246c25b87410b52a149f94"
+S = "${WORKDIR}/git"
+
+do_compile[noexec] = "1"
+
+do_install:append() {
+ sed -i 's:${D}::g' ${D}${datadir}/applications/menulibre.desktop
+ sed -i 's:share/share:share:g' ${D}${PYTHON_SITEPACKAGES_DIR}/menulibre_lib/menulibreconfig.py
+}
+
+FILES:${PN} += " \
+ ${datadir}/applications \
+ ${datadir}/metainfo \
+ ${datadir}/icons \
+"
+
+RDEPENDS:${PN} += " \
+ gtk+3 \
+ gtksourceview3 \
+ python3-pygobject \
+ gnome-menus \
+ python3-unixadmin \
+ python3-psutil \
+"
diff --git a/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.5.9.bb b/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.5.9.bb
deleted file mode 100644
index 1be015b..0000000
--- a/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.5.9.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "A simple text editor for Xfce"
-SECTION = "x11/application"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-DEPENDS = "gtk+3 gtksourceview4 xfconf xfce4-dev-tools-native"
-
-inherit xfce-app gsettings mime-xdg
-
-SRC_URI[sha256sum] = "f108a8c167ec5727266ab67666f10dbd60e972d56ea03944302fdabb2167f473"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[spell] = "--enable-plugin-gspell,--disable-plugin-gspell,gspell"
-
-FILES:${PN} += " \
- ${datadir}/glib-2.0/schemas \
- ${datadir}/metainfo \
- ${datadir}/polkit-1 \
-"
diff --git a/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.6.1.bb b/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.6.1.bb
new file mode 100644
index 0000000..dc75a4b
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.6.1.bb
@@ -0,0 +1,19 @@
+SUMMARY = "A simple text editor for Xfce"
+SECTION = "x11/application"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "gtk+3 gtksourceview4 xfconf xfce4-dev-tools-native"
+
+inherit xfce-app gsettings mime-xdg
+
+SRC_URI[sha256sum] = "560c5436c7bc7de33fbf3e9f6cc545280772ad898dfb73257d86533880ffff36"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[spell] = "--enable-plugin-gspell,--disable-plugin-gspell,gspell"
+
+FILES:${PN} += " \
+ ${datadir}/glib-2.0/schemas \
+ ${datadir}/metainfo \
+ ${datadir}/polkit-1 \
+"
diff --git a/meta-openembedded/meta-xfce/recipes-apps/orage/orage_4.16.0.bb b/meta-openembedded/meta-xfce/recipes-apps/orage/orage_4.16.0.bb
deleted file mode 100644
index d10cdaa..0000000
--- a/meta-openembedded/meta-xfce/recipes-apps/orage/orage_4.16.0.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Xfce Calender"
-SECTION = "x11/application"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "gtk+ xfce4-panel libical popt"
-
-inherit xfce-app mime-xdg
-
-SRC_URI[sha256sum] = "26111a3b6a2007c82f1e0a1e0591b774a0b132f3a7f1cde53d9be661b2f11700"
-
-PACKAGECONFIG ??= "notify"
-PACKAGECONFIG[notify] = "--enable-libnotify,--disable-libnotify,libnotify"
-
-PACKAGES =+ "xfce4-orageclock-plugin"
-FILES:${PN} += " \
- ${datadir}/dbus-1 \
- ${datadir}/metainfo \
-"
-FILES:xfce4-orageclock-plugin = "${libdir}/xfce4/panel/plugins/*.so ${datadir}/xfce4/panel/plugins"
-FILES:${PN}-dev += "${libdir}/xfce4/panel/plugins/*.la"
diff --git a/meta-openembedded/meta-xfce/recipes-apps/orage/orage_4.18.0.bb b/meta-openembedded/meta-xfce/recipes-apps/orage/orage_4.18.0.bb
new file mode 100644
index 0000000..83a6588
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-apps/orage/orage_4.18.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Xfce Calender"
+SECTION = "x11/application"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+DEPENDS = "gtk+ xfce4-panel libical popt"
+
+inherit xfce-app mime-xdg
+
+SRC_URI[sha256sum] = "6313b49b26cfa39fc5e99468f3fbcfe0fa1c0f3f74273f03674f1a7d6141a3ec"
+
+PACKAGECONFIG ??= "notify"
+PACKAGECONFIG[notify] = "--enable-libnotify,--disable-libnotify,libnotify"
+
+PACKAGES =+ "xfce4-orageclock-plugin"
+FILES:${PN} += " \
+ ${datadir}/dbus-1 \
+ ${datadir}/metainfo \
+"
+FILES:xfce4-orageclock-plugin = "${libdir}/xfce4/panel/plugins/*.so ${datadir}/xfce4/panel/plugins"
+FILES:${PN}-dev += "${libdir}/xfce4/panel/plugins/*.la"
diff --git a/meta-openembedded/meta-xfce/recipes-apps/xarchiver/xarchiver_0.5.4.21.bb b/meta-openembedded/meta-xfce/recipes-apps/xarchiver/xarchiver_0.5.4.21.bb
new file mode 100644
index 0000000..abb5c14
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-apps/xarchiver/xarchiver_0.5.4.21.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Lightweight, desktop independent GTK+ archive manager"
+HOMEPAGE = "http://xarchiver.sourceforge.net"
+SECTION = "x11"
+
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "gtk+3 glib-2.0 xfce4-dev-tools-native intltool-native"
+
+SRC_URI = "git://github.com/ib/xarchiver.git;branch=master;protocol=https"
+SRCREV = "55f923ebc623bcc8f53368543847350a23688189"
+
+S = "${WORKDIR}/git"
+
+inherit gettext pkgconfig autotools gtk-icon-cache features_check mime-xdg
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+# install tap files for thunar-archive-plugin in ${libdir}/thunar-archive-plugin
+EXTRA_OECONF += "--libexecdir=${libdir}"
+
+EXTRA_OECONF += " \
+ --enable-maintainer-mode \
+ --disable-doc \
+"
+
+do_configure:prepend() {
+ touch ${S}/NEWS ${S}/AUTHORS
+}
+
+FILES:${PN} += "${libdir}/thunar-archive-plugin"
+
+RRECOMMENDS:${PN} = "lzop zip tar bzip2 unzip xz p7zip"
diff --git a/meta-openembedded/meta-xfce/recipes-apps/xarchiver/xarchiver_git.bb b/meta-openembedded/meta-xfce/recipes-apps/xarchiver/xarchiver_git.bb
deleted file mode 100644
index ea7e800..0000000
--- a/meta-openembedded/meta-xfce/recipes-apps/xarchiver/xarchiver_git.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "Lightweight, desktop independent GTK+ archive manager"
-HOMEPAGE = "http://xarchiver.sourceforge.net"
-SECTION = "x11"
-
-LICENSE = "GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-DEPENDS = "gtk+3 glib-2.0 xfce4-dev-tools-native intltool-native"
-
-SRC_URI = "git://github.com/ib/xarchiver.git;branch=master;protocol=https"
-SRCREV = "2f6c91e756678f0723305d8636e8e393c1eef32c"
-PV = "0.5.4.17"
-S = "${WORKDIR}/git"
-
-inherit gettext pkgconfig autotools gtk-icon-cache features_check mime-xdg
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-# install tap files for thunar-archive-plugin in ${libdir}/thunar-archive-plugin
-EXTRA_OECONF += "--libexecdir=${libdir}"
-
-EXTRA_OECONF += " \
- --enable-maintainer-mode \
- --disable-doc \
-"
-
-do_configure:prepend() {
- touch ${S}/NEWS ${S}/AUTHORS
-}
-
-FILES:${PN} += "${libdir}/thunar-archive-plugin"
-
-RRECOMMENDS:${PN} = "lzop zip tar bzip2 unzip xz p7zip"
diff --git a/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles/not-create-link-to-locale.patch b/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles/not-create-link-to-locale.patch
deleted file mode 100644
index b5421f6..0000000
--- a/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles/not-create-link-to-locale.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-It is useless to create a link to $(PREFIX)/share/locale that there is no
-reference to $(PREFIX)/share/$(APPNAME)/locale in source code.
-
-Upstream-Status: Submitted [https://bugzilla.xfce.org/show_bug.cgi?id=16693]
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
- Makefile.in.in | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/Makefile.in.in b/Makefile.in.in
-index c0ce866..c2f26fe 100644
---- a/Makefile.in.in
-+++ b/Makefile.in.in
-@@ -70,7 +70,6 @@ install: all xfce4-panel-profiles.1
- install data/metainfo/*.xml $(DESTDIR)/$(PREFIX)/share/metainfo
-
- cp -rf locale $(DESTDIR)/$(PREFIX)/share
-- ln -sf $(PREFIX)/share/locale $(DESTDIR)/$(PREFIX)/share/$(APPNAME)/locale
-
- install -d $(DESTDIR)/$(MANDIR)/man1
- install xfce4-panel-profiles.1 $(DESTDIR)/$(MANDIR)/man1
diff --git a/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.0.13.bb b/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.0.13.bb
deleted file mode 100644
index feb9121..0000000
--- a/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.0.13.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "Backup, restore, import, and export panel layouts"
-SECTION = "x11/application"
-LICENSE = "GPL-3.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-inherit python3native gettext gtk-icon-cache features_check
-
-REQUIRED_DISTRO_FEATURES = "x11 gobject-introspection-data"
-
-DEPENDS += "intltool-native"
-
-SRC_URI = "http://archive.xfce.org/src/apps/${BPN}/1.0/${BP}.tar.bz2 \
- file://not-create-link-to-locale.patch \
- "
-SRC_URI[sha256sum] = "bc387c13f94109422dc72b0fcb919b0dc11619ba589d03e492252b0d2513b170"
-
-do_configure() {
- # special configure - no autotools...
- ./configure --prefix=${prefix}
-}
-
-do_install() {
- oe_runmake 'DESTDIR=${D}' install
- sed -i 's:${PYTHON}:python3:g' ${D}${bindir}/xfce4-panel-profiles
-}
-
-FILES:${PN} += "${datadir}/metainfo"
-
-RDEPENDS:${PN} += "python3-pygobject python3-pexpect"
diff --git a/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.0.14.bb b/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.0.14.bb
new file mode 100644
index 0000000..38f6eb6
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-apps/xfce4-panel-profiles/xfce4-panel-profiles_1.0.14.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Backup, restore, import, and export panel layouts"
+SECTION = "x11/application"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+inherit python3native gettext gtk-icon-cache features_check
+
+REQUIRED_DISTRO_FEATURES = "x11 gobject-introspection-data"
+
+DEPENDS += "intltool-native"
+
+SRC_URI = "http://archive.xfce.org/src/apps/${BPN}/1.0/${BP}.tar.bz2"
+SRC_URI[sha256sum] = "6d08354e8c44d4b0370150809c1ed601d09c8b488b68986477260609a78be3f9"
+
+do_configure() {
+ # special configure - no autotools...
+ ./configure --prefix=${prefix}
+}
+
+do_install() {
+ oe_runmake 'DESTDIR=${D}' install
+ sed -i 's:${PYTHON}:python3:g' ${D}${bindir}/xfce4-panel-profiles
+}
+
+FILES:${PN} += "${datadir}/metainfo"
+
+RDEPENDS:${PN} += "python3-pygobject python3-pexpect"
diff --git a/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.10.3.bb b/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.10.3.bb
deleted file mode 100644
index 10427da..0000000
--- a/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.10.3.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Application to take screenshots"
-HOMEPAGE = "https://docs.xfce.org/apps/xfce4-screenshooter/start"
-SECTION = "x11/application"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "xfce4-panel libxfce4util libxfce4ui gdk-pixbuf gtk+3 glib-2.0 libsoup-2.4 exo libxfixes xext virtual/libx11 libxml-parser-perl-native"
-
-inherit xfce-app perlnative
-
-SRC_URI[sha256sum] = "a454159847becfeca274a5b58c0e5817d4a260a29345a37bbc3b4ff46f8f3818"
-
-do_compile:prepend() {
- mkdir -p lib
- mkdir -p src panel-plugin
-}
-
-FILES:${PN} += " \
- ${datadir}/metainfo \
- ${datadir}/xfce4/panel/plugins \
- ${libdir}/xfce4/panel/plugins \
-"
diff --git a/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.10.4.bb b/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.10.4.bb
new file mode 100644
index 0000000..7c2ecd3
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.10.4.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Application to take screenshots"
+HOMEPAGE = "https://docs.xfce.org/apps/xfce4-screenshooter/start"
+SECTION = "x11/application"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+DEPENDS = "xfce4-panel libxfce4util libxfce4ui gdk-pixbuf gtk+3 glib-2.0 libsoup-2.4 exo libxfixes xext virtual/libx11 libxml-parser-perl-native"
+
+inherit xfce-app perlnative
+
+SRC_URI[sha256sum] = "a2f199687e54e16a936d5636d660d42b6b9a5d548cdd0f04bd69213554806494"
+
+do_compile:prepend() {
+ mkdir -p lib
+ mkdir -p src panel-plugin
+}
+
+FILES:${PN} += " \
+ ${datadir}/metainfo \
+ ${datadir}/xfce4/panel/plugins \
+ ${libdir}/xfce4/panel/plugins \
+"
diff --git a/meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.5.5.bb b/meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.5.5.bb
deleted file mode 100644
index 802d6af..0000000
--- a/meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.5.5.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "Easy to use task manager"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-inherit xfce-app
-
-DEPENDS += "gtk+3 cairo libwnck libxfce4ui libxmu xfce4-dev-tools-native"
-
-SRC_URI[sha256sum] = "f64f01ba241a0b8bbf2ed3274e5decc2313c9f8b0e4d160db3ba69b331558ae5"
diff --git a/meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.5.6.bb b/meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.5.6.bb
new file mode 100644
index 0000000..4eddc9f
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.5.6.bb
@@ -0,0 +1,9 @@
+SUMMARY = "Easy to use task manager"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+inherit xfce-app
+
+DEPENDS += "gtk+3 cairo libwnck libxfce4ui libxmu xfce4-dev-tools-native"
+
+SRC_URI[sha256sum] = "20979000761a41faed4f7f63f27bd18bb36fb27db4f7ecc8784a460701fb4abb"
diff --git a/meta-openembedded/meta-xfce/recipes-multimedia/parole/parole_4.16.0.bb b/meta-openembedded/meta-xfce/recipes-multimedia/parole/parole_4.16.0.bb
deleted file mode 100644
index 04aabe0..0000000
--- a/meta-openembedded/meta-xfce/recipes-multimedia/parole/parole_4.16.0.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-DESCRIPTION = "Parole is a modern simple media player based on the GStreamer framework"
-HOMEPAGE = "https://docs.xfce.org/apps/parole/start"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-inherit xfce-app gtk-doc mime mime-xdg
-
-DEPENDS += " \
- dbus-glib \
- xfce4-dev-tools-native \
- libxfce4util \
- libxfce4ui \
- xfconf \
- \
- gstreamer1.0-plugins-base \
- taglib \
-"
-
-SRC_URI[sha256sum] = "0d305ad8ccd3974d6b632f74325b1b8a39304c905c6b405b70f52c4cfd55a7e7"
-
-RDEPENDS:${PN} += "gstreamer1.0-plugins-good"
-
-EXTRA_OECONF = "--disable-gtk-doc DATADIRNAME=share"
-
-PACKAGECONFIG ??= "notify"
-PACKAGECONFIG[clutter] = "--enable-clutter, --disable-clutter, clutter"
-PACKAGECONFIG[notify] = "--enable-notify-plugin, --disable-notify-plugin, libnotify"
-
-FILES:${PN} += " \
- ${datadir}/metainfo \
- ${libdir}/parole-0/*.so \
-"
diff --git a/meta-openembedded/meta-xfce/recipes-multimedia/parole/parole_4.18.0.bb b/meta-openembedded/meta-xfce/recipes-multimedia/parole/parole_4.18.0.bb
new file mode 100644
index 0000000..e2c7a01
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-multimedia/parole/parole_4.18.0.bb
@@ -0,0 +1,32 @@
+DESCRIPTION = "Parole is a modern simple media player based on the GStreamer framework"
+HOMEPAGE = "https://docs.xfce.org/apps/parole/start"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+inherit xfce-app gtk-doc mime mime-xdg
+
+DEPENDS += " \
+ dbus-glib \
+ xfce4-dev-tools-native \
+ libxfce4util \
+ libxfce4ui \
+ xfconf \
+ \
+ gstreamer1.0-plugins-base \
+ taglib \
+"
+
+SRC_URI[sha256sum] = "bbe52fbc4d3abe30f6c79fc7ac57bd9de9cf74ce1a79b508a1d7de83dc4f3771"
+
+RDEPENDS:${PN} += "gstreamer1.0-plugins-good"
+
+EXTRA_OECONF = "--disable-gtk-doc DATADIRNAME=share"
+
+PACKAGECONFIG ??= "notify"
+PACKAGECONFIG[clutter] = "--enable-clutter, --disable-clutter, clutter"
+PACKAGECONFIG[notify] = "--enable-notify-plugin, --disable-notify-plugin, libnotify"
+
+FILES:${PN} += " \
+ ${datadir}/metainfo \
+ ${libdir}/parole-0/*.so \
+"
diff --git a/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.2.bb b/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.2.bb
deleted file mode 100644
index 4a7ed93..0000000
--- a/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.2.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Simple client plugin for Music Player Daemon"
-HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-mpc-plugin"
-SECTION = "x11/application"
-LICENSE = "0BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3604d987e6dfdfc672c754d08953b0e0"
-
-inherit xfce-panel-plugin
-
-DEPENDS += "libmpd"
-
-# While this item does not require it, it depends on mpd which does
-LICENSE_FLAGS = "commercial"
-
-# for now we recommend our own mpd-server
-RRECOMMENDS:${PN} = "mpd"
-
-SRC_URI[md5sum] = "26a1e8658df2b51967dc2250e23f467d"
-SRC_URI[sha256sum] = "eefe78b7b6b95312b3a52814b7f632dc92970c1b3e9535de616315749bf67760"
diff --git a/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.3.bb b/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.3.bb
new file mode 100644
index 0000000..cd868c2
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.3.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Simple client plugin for Music Player Daemon"
+HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-mpc-plugin"
+SECTION = "x11/application"
+LICENSE = "0BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3604d987e6dfdfc672c754d08953b0e0"
+
+inherit xfce-panel-plugin
+
+DEPENDS += "libmpd"
+
+# While this item does not require it, it depends on mpd which does
+LICENSE_FLAGS = "commercial"
+
+# for now we recommend our own mpd-server
+RRECOMMENDS:${PN} = "mpd"
+
+SRC_URI[sha256sum] = "0467fb4d1acd982d3c3e0b89cb41019946850524ff19ed0f658a8d56c7b7664d"
diff --git a/meta-openembedded/meta-xfce/recipes-multimedia/xfmpc/xfmpc_0.3.0.bb b/meta-openembedded/meta-xfce/recipes-multimedia/xfmpc/xfmpc_0.3.0.bb
deleted file mode 100644
index b8521ba..0000000
--- a/meta-openembedded/meta-xfce/recipes-multimedia/xfmpc/xfmpc_0.3.0.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "Music Player Daemon (MPD) client written in GTK+"
-HOMEPAGE = "https://goodies.xfce.org/projects/applications/xfmpc"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-DEPENDS = "libxfce4util libxfce4ui libmpd vala-native"
-
-# While this item does not require it, it depends on mpd which does
-LICENSE_FLAGS = "commercial"
-
-# for now we recommend our own mpd-server
-RRECOMMENDS:${PN} = "mpd"
-
-inherit xfce-app
-
-SRC_URI[md5sum] = "e6ff8563f159d1e727d656fb88964998"
-SRC_URI[sha256sum] = "c76e2a88dc3e1d345da7a5c68fa39981494c2b40033748efcac54411c9e65689"
diff --git a/meta-openembedded/meta-xfce/recipes-multimedia/xfmpc/xfmpc_0.3.1.bb b/meta-openembedded/meta-xfce/recipes-multimedia/xfmpc/xfmpc_0.3.1.bb
new file mode 100644
index 0000000..1e02bbe
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-multimedia/xfmpc/xfmpc_0.3.1.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Music Player Daemon (MPD) client written in GTK+"
+HOMEPAGE = "https://goodies.xfce.org/projects/applications/xfmpc"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+DEPENDS = "libxfce4util libxfce4ui libmpd vala-native"
+
+# While this item does not require it, it depends on mpd which does
+LICENSE_FLAGS = "commercial"
+
+# for now we recommend our own mpd-server
+RRECOMMENDS:${PN} = "mpd"
+
+inherit xfce-app
+
+SRC_URI[sha256sum] = "4867d5dd100fa42ab39ebde6c784ec21ee31717f1adb3f4da070dafb3848d96d"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.1.4.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.1.4.bb
deleted file mode 100644
index 0f8489b..0000000
--- a/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.1.4.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-SUMMARY = "A battery monitor panel plugin for Xfce4, compatible with APM and ACP"
-HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-battery-plugin"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-inherit xfce-panel-plugin
-
-SRC_URI[sha256sum] = "107df2a837156c010e1eab5430bab90c77f0a3dc699b5937678c8a9c5e64c222"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.1.5.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.1.5.bb
new file mode 100644
index 0000000..ce119bb
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.1.5.bb
@@ -0,0 +1,8 @@
+SUMMARY = "A battery monitor panel plugin for Xfce4, compatible with APM and ACP"
+HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-battery-plugin"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+inherit xfce-panel-plugin
+
+SRC_URI[sha256sum] = "752233bfb320ee1e26104a656cbb868299f562733063e2b9a18f0966585ce213"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/calculator/xfce4-calculator-plugin_0.7.1.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/calculator/xfce4-calculator-plugin_0.7.1.bb
deleted file mode 100644
index 8fd2bd0..0000000
--- a/meta-openembedded/meta-xfce/recipes-panel-plugins/calculator/xfce4-calculator-plugin_0.7.1.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-SUMMARY = "A calculator plugin for the Xfce panel"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-calculator-plugin"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=909430f63fddd63f120ba29e8979f65c"
-
-inherit xfce-panel-plugin gtk-icon-cache
-
-SRC_URI[sha256sum] = "e4016a03c3ef4ebddd97e4135f5e304f80677033c98e19644b9989ec6f5ada81"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/calculator/xfce4-calculator-plugin_0.7.2.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/calculator/xfce4-calculator-plugin_0.7.2.bb
new file mode 100644
index 0000000..0c46493
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/calculator/xfce4-calculator-plugin_0.7.2.bb
@@ -0,0 +1,8 @@
+SUMMARY = "A calculator plugin for the Xfce panel"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-calculator-plugin"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=909430f63fddd63f120ba29e8979f65c"
+
+inherit xfce-panel-plugin gtk-icon-cache
+
+SRC_URI[sha256sum] = "d1f622bea41a90c1686bf9f13c488ab28e995e2762b84712dea9027e0c94028b"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/cpugraph/xfce4-cpugraph-plugin_1.2.7.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/cpugraph/xfce4-cpugraph-plugin_1.2.7.bb
deleted file mode 100644
index e23188d..0000000
--- a/meta-openembedded/meta-xfce/recipes-panel-plugins/cpugraph/xfce4-cpugraph-plugin_1.2.7.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-SUMMARY = "Panel plugin with graphical representation of the cpu frequency"
-HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-cpugraph-plugin"
-LICENSE = "GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://COPYING;md5=415654f59d8fa70fe4eac2c3f86c8f5e"
-
-inherit xfce-panel-plugin
-
-SRC_URI[sha256sum] = "68a651e278ed7186964e455b69b15da77f8d56257e5c3d6adf783b3ee9337405"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/cpugraph/xfce4-cpugraph-plugin_1.2.8.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/cpugraph/xfce4-cpugraph-plugin_1.2.8.bb
new file mode 100644
index 0000000..8e58175
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/cpugraph/xfce4-cpugraph-plugin_1.2.8.bb
@@ -0,0 +1,8 @@
+SUMMARY = "Panel plugin with graphical representation of the cpu frequency"
+HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-cpugraph-plugin"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=415654f59d8fa70fe4eac2c3f86c8f5e"
+
+inherit xfce-panel-plugin
+
+SRC_URI[sha256sum] = "bfb438ce21f37d57241b2596d72aa4bf47587cd5a8833fc30a9599616f75d4bf"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_0.8.1.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_0.8.1.bb
deleted file mode 100644
index c029ac1..0000000
--- a/meta-openembedded/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_0.8.1.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-SUMMARY = "Panel plugin displaying date and time and a calendar when left-clicked"
-HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-datetime-plugin"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-inherit xfce-panel-plugin
-
-SRC_URI[sha256sum] = "e9f6f15be29ceb5c45718006b46dbd19b89981617d0768b2ef942b5a70af2540"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_0.8.3.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_0.8.3.bb
new file mode 100644
index 0000000..f292a6d
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_0.8.3.bb
@@ -0,0 +1,8 @@
+SUMMARY = "Panel plugin displaying date and time and a calendar when left-clicked"
+HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-datetime-plugin"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+inherit xfce-panel-plugin
+
+SRC_URI[sha256sum] = "6b2eeb79fb586868737426cbd2a4cd43c7f8c58507d8a2f578e0150187cc00b0"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/fsguard/xfce4-fsguard-plugin_1.1.2.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/fsguard/xfce4-fsguard-plugin_1.1.2.bb
deleted file mode 100644
index 5585a4f..0000000
--- a/meta-openembedded/meta-xfce/recipes-panel-plugins/fsguard/xfce4-fsguard-plugin_1.1.2.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-DESCRIPTION = "The FSGuard panel plugin checks free space on a chosen mount point frequently and displays a message when a limit is reached"
-HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-fsguard-plugin"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3434d79d62df09abf5f78bb76d6cd21b"
-
-inherit xfce-panel-plugin
-
-SRC_URI[sha256sum] = "67d8e6a219a7117c59693adbc59c39a6eba31e3f18a5499189ef4ef28b554105"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/fsguard/xfce4-fsguard-plugin_1.1.3.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/fsguard/xfce4-fsguard-plugin_1.1.3.bb
new file mode 100644
index 0000000..380d2e1
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/fsguard/xfce4-fsguard-plugin_1.1.3.bb
@@ -0,0 +1,8 @@
+DESCRIPTION = "The FSGuard panel plugin checks free space on a chosen mount point frequently and displays a message when a limit is reached"
+HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-fsguard-plugin"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3434d79d62df09abf5f78bb76d6cd21b"
+
+inherit xfce-panel-plugin
+
+SRC_URI[sha256sum] = "84ef8bb4752292d64c0ef101badf7b14448790bfa0a85de644dbfa22986ec258"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/genmon/xfce4-genmon-plugin_4.1.1.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/genmon/xfce4-genmon-plugin_4.1.1.bb
deleted file mode 100644
index d792bc0..0000000
--- a/meta-openembedded/meta-xfce/recipes-panel-plugins/genmon/xfce4-genmon-plugin_4.1.1.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-DESCRIPTION = "This plugin cyclically spawns the indicated script/program, captures its output (stdout) and displays the resulting string into the panel."
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-genmon-plugin"
-LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=68ad62c64cc6c620126241fd429e68fe"
-
-inherit xfce-panel-plugin
-
-SRC_URI[sha256sum] = "b2119fd0ff19fa293b97ec97b0de8e241799e08b86218515167c568bd9b50135"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/genmon/xfce4-genmon-plugin_4.2.0.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/genmon/xfce4-genmon-plugin_4.2.0.bb
new file mode 100644
index 0000000..31ad5e7
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/genmon/xfce4-genmon-plugin_4.2.0.bb
@@ -0,0 +1,8 @@
+DESCRIPTION = "This plugin cyclically spawns the indicated script/program, captures its output (stdout) and displays the resulting string into the panel."
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-genmon-plugin"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4b54a1fd55a448865a0b32d41598759d"
+
+inherit xfce-panel-plugin
+
+SRC_URI[sha256sum] = "948d08ee5f2140847f109b531bc1d4cc6268496913ea7600d3c5ad89025a0362"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/mailwatch/xfce4-mailwatch-plugin_1.3.0.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/mailwatch/xfce4-mailwatch-plugin_1.3.0.bb
deleted file mode 100644
index a5c98ef..0000000
--- a/meta-openembedded/meta-xfce/recipes-panel-plugins/mailwatch/xfce4-mailwatch-plugin_1.3.0.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Multi-protocol, multi-mailbox mail watcher for the Xfce4 panel"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-mailwatch-plugin"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-inherit xfce-panel-plugin
-
-DEPENDS += "gnutls"
-
-SRC_URI[sha256sum] = "20f91ebefd2880b27f421f773115b3740f67de2bf60feace3841bfd1a09cbe2e"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/mailwatch/xfce4-mailwatch-plugin_1.3.1.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/mailwatch/xfce4-mailwatch-plugin_1.3.1.bb
new file mode 100644
index 0000000..6ea2607
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/mailwatch/xfce4-mailwatch-plugin_1.3.1.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Multi-protocol, multi-mailbox mail watcher for the Xfce4 panel"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-mailwatch-plugin"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+inherit xfce-panel-plugin
+
+DEPENDS += "gnutls"
+
+SRC_URI[sha256sum] = "054964e9fe4ca668486400991ce1ea01d07aac7ba235f4b14d4a8f7d9800046a"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.4.0.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.4.0.bb
deleted file mode 100644
index 834f5cf..0000000
--- a/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.4.0.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "Panel plugin displaying current load of the network interfaces"
-HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-netload-plugin"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=35a7203c41b86d15546dddc05995f97f"
-
-inherit xfce-panel-plugin
-
-SRC_URI = "http://archive.xfce.org/src/panel-plugins/${BPN}/${@'${PV}'[0:3]}/${BPN}-${PV}.tar.bz2"
-SRC_URI[sha256sum] = "6c76260e101790754dd93255ec979accd97d21a21da85d8edcd6c7b01ddcd70c"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.4.1.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.4.1.bb
new file mode 100644
index 0000000..c30f17a
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.4.1.bb
@@ -0,0 +1,9 @@
+SUMMARY = "Panel plugin displaying current load of the network interfaces"
+HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-netload-plugin"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2b6065ae7d3696cdad6869dd8627a9fe"
+
+inherit xfce-panel-plugin
+
+SRC_URI = "http://archive.xfce.org/src/panel-plugins/${BPN}/${@'${PV}'[0:3]}/${BPN}-${PV}.tar.bz2"
+SRC_URI[sha256sum] = "9fac3a3ad52e18584bfb127cd1721d56de1004b9fdd140915fded89704ccb44e"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/notes/xfce4-notes-plugin_1.10.0.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/notes/xfce4-notes-plugin_1.10.0.bb
new file mode 100644
index 0000000..8c9768b
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/notes/xfce4-notes-plugin_1.10.0.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Notes plugin for the Xfce Panel"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-notes-plugin"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+inherit xfce-panel-plugin
+
+DEPENDS += "gtk+3 libxfce4ui xfce4-panel xfconf"
+
+SRC_URI[sha256sum] = "2ee4406042edd352a91e166c83b60d13220ef04dce3fa6b9e0eb13636d636929"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/notes/xfce4-notes-plugin_1.9.0.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/notes/xfce4-notes-plugin_1.9.0.bb
deleted file mode 100644
index dc0fc2c..0000000
--- a/meta-openembedded/meta-xfce/recipes-panel-plugins/notes/xfce4-notes-plugin_1.9.0.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "Notes plugin for the Xfce Panel"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-notes-plugin"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-inherit xfce-panel-plugin
-
-DEPENDS += "gtk+3 libxfce4ui xfce4-panel xfconf"
-
-SRC_URI[sha256sum] = "13f909c948b639f96de64cf793eb74cb1779589201d3933eff214ee8f35ab088"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/places/xfce4-places-plugin_1.8.1.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/places/xfce4-places-plugin_1.8.1.bb
deleted file mode 100644
index e8e1330..0000000
--- a/meta-openembedded/meta-xfce/recipes-panel-plugins/places/xfce4-places-plugin_1.8.1.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Menu for quick access to folders, documents and removable media"
-DESCRIPTION = "Panel plugin displaying menu with quick access to folders, documents and removable media"
-HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-places-plugin"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b6952d9a47fc2ad0f315510e1290455f"
-
-inherit xfce-panel-plugin
-
-SRC_URI[md5sum] = "bde92cbd08f129d517524784e5060816"
-SRC_URI[sha256sum] = "f211219f03c9260f624370e18c79e4176c9d35a8247158e77e5d811327610ab2"
-
-PACKAGECONFIG ??= "notify"
-PACKAGECONFIG[notify] = "--enable-notifications,--disable-notifications,libnotify"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/places/xfce4-places-plugin_1.8.3.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/places/xfce4-places-plugin_1.8.3.bb
new file mode 100644
index 0000000..6400e0d
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/places/xfce4-places-plugin_1.8.3.bb
@@ -0,0 +1,12 @@
+SUMMARY = "Menu for quick access to folders, documents and removable media"
+DESCRIPTION = "Panel plugin displaying menu with quick access to folders, documents and removable media"
+HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-places-plugin"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b6952d9a47fc2ad0f315510e1290455f"
+
+inherit xfce-panel-plugin
+
+SRC_URI[sha256sum] = "f11d0e6d03f22ab02c2e6b507d365b5a918532e8819e50647ee1860eca60c743"
+
+PACKAGECONFIG ??= "notify"
+PACKAGECONFIG[notify] = "--enable-notifications,--disable-notifications,libnotify"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.4.3.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.4.3.bb
deleted file mode 100644
index 5168efe..0000000
--- a/meta-openembedded/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.4.3.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Pulseaudio mixer for the xfce panel"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f5eac6bb0d6ec0dc655e417781d4015f"
-
-inherit xfce-panel-plugin features_check
-
-REQUIRED_DISTRO_FEATURES = "pulseaudio x11"
-
-DEPENDS += "dbus-glib pulseaudio"
-
-SRC_URI[md5sum] = "3d86032acb9364d47e0a144350c63e1a"
-SRC_URI[sha256sum] = "5a518237e2137341d8ca6584938950525e20c28a0177e30ecaea3ba8e7a2615b"
-
-PACKAGECONFIG ??= "libnotify"
-PACKAGECONFIG[libnotify] = "--enable-libnotify,--disable-libnotify,libnotify"
-
-RRECOMMENDS:${PN} = "pavucontrol"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.4.8.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.4.8.bb
new file mode 100644
index 0000000..c01b496
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.4.8.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Pulseaudio mixer for the xfce panel"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f5eac6bb0d6ec0dc655e417781d4015f"
+
+inherit xfce-panel-plugin features_check
+
+REQUIRED_DISTRO_FEATURES = "pulseaudio x11"
+
+DEPENDS += "dbus-glib pulseaudio"
+
+SRC_URI[sha256sum] = "bd742b207c39c221e91c57c9c9be2839eb802d1b1ee01a02b7427cd02d3f0348"
+
+PACKAGECONFIG ??= "libnotify"
+PACKAGECONFIG[libnotify] = "--enable-libnotify,--disable-libnotify,libnotify"
+
+RRECOMMENDS:${PN} = "pavucontrol"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin/convert-gulong.patch b/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin/convert-gulong.patch
new file mode 100644
index 0000000..30897ca
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin/convert-gulong.patch
@@ -0,0 +1,39 @@
+Fix build on 32bit architectures
+
+It fails with errors like
+| ../../xfce4-systemload-plugin-1.3.2/panel-plugin/network.cc:126:13: error: no matching function for call to 'read_netload_libgtop'
+| 126 | if (read_netload_libgtop (&bytes[1]) != 0)
+| | ^~~~~~~~~~~~~~~~~~~~
+| ../../xfce4-systemload-plugin-1.3.2/panel-plugin/network.cc:42:1: note: candidate function not viable: no known conversion from 'guint64 *' (aka 'unsigned long long *') to 'gulong *' (aka 'unsigne
+d long *') for 1st argument
+| 42 | read_netload_libgtop (gulong *bytes)
+| | ^ ~~~~~~~~~~~~~
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/panel-plugin/network.cc
++++ b/panel-plugin/network.cc
+@@ -114,6 +114,7 @@ read_netload_proc (gulong *bytes)
+ gint
+ read_netload (gulong *net, gulong *NTotal)
+ {
++ gulong tbytes[2];
+ static guint64 bytes[2];
+ static gint64 time[2];
+
+@@ -122,10 +123,12 @@ read_netload (gulong *net, gulong *NTota
+
+ time[1] = g_get_monotonic_time ();
+
+- if (read_netload_proc (&bytes[1]) != 0)
+- if (read_netload_libgtop (&bytes[1]) != 0)
++ if (read_netload_proc (&tbytes[1]) != 0)
++ if (read_netload_libgtop (&tbytes[1]) != 0)
+ return -1;
+
++ bytes[0] = tbytes[0];
++ bytes[1] = tbytes[1];
+ if (time[0] != 0 && G_LIKELY (time[1] > time[0]) && G_LIKELY (bytes[1] >= bytes[0]))
+ {
+ guint64 diff_bits = 8 * (bytes[1] - bytes[0]);
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.3.1.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.3.1.bb
deleted file mode 100644
index 151ce38..0000000
--- a/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.3.1.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-DESCRIPTION = "Panel plugin displaying current CPU load, the memory in use, the swap space and the system uptime"
-HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-systemload-plugin"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=9acb172a93ff6c43cce2aff790a8aef8"
-
-inherit xfce-panel-plugin
-
-PACKAGECONFIG ?= "network power"
-PACKAGECONFIG[power] = ",,upower"
-PACKAGECONFIG[network] = ",,libgtop"
-
-SRC_URI[sha256sum] = "56d1007801d52d7c2b5a13bb54745f6d7f06fda28b49ce936145633068817652"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.3.2.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.3.2.bb
new file mode 100644
index 0000000..e7a3e99
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.3.2.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "Panel plugin displaying current CPU load, the memory in use, the swap space and the system uptime"
+HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-systemload-plugin"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9acb172a93ff6c43cce2aff790a8aef8"
+
+inherit xfce-panel-plugin
+
+PACKAGECONFIG ?= "network power"
+PACKAGECONFIG[power] = ",,upower"
+PACKAGECONFIG[network] = ",,libgtop"
+
+SRC_URI += "file://convert-gulong.patch"
+SRC_URI[sha256sum] = "bb303fc3020e053ad1fa0b8fcbf0d7681c5563bb8f649357d6a95a577802b072"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/time-out/xfce4-time-out-plugin_1.1.2.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/time-out/xfce4-time-out-plugin_1.1.2.bb
deleted file mode 100644
index 5b7f624..0000000
--- a/meta-openembedded/meta-xfce/recipes-panel-plugins/time-out/xfce4-time-out-plugin_1.1.2.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "This plugin makes it possible to take periodical breaks"
-HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-time-out-plugin"
-SECTION = "x11/application"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-inherit xfce-panel-plugin
-
-SRC_URI[sha256sum] = "3dd8eba694ff3ba5c25bd7f5cd70dc22175fb2c0a759213f05ab8f0e629d82d4"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/time-out/xfce4-time-out-plugin_1.1.3.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/time-out/xfce4-time-out-plugin_1.1.3.bb
new file mode 100644
index 0000000..9fa287a
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/time-out/xfce4-time-out-plugin_1.1.3.bb
@@ -0,0 +1,9 @@
+SUMMARY = "This plugin makes it possible to take periodical breaks"
+HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-time-out-plugin"
+SECTION = "x11/application"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+inherit xfce-panel-plugin
+
+SRC_URI[sha256sum] = "5a1ca36361e95ec718bbd887ea5be6a270ab458d1c2d672186721522a7228ee8"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/timer/xfce4-timer-plugin_1.7.1.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/timer/xfce4-timer-plugin_1.7.1.bb
deleted file mode 100644
index 1231e08..0000000
--- a/meta-openembedded/meta-xfce/recipes-panel-plugins/timer/xfce4-timer-plugin_1.7.1.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "XFCE panel plugin to generate alarm messages"
-DESCRIPTION = "This is a simple plugin that lets the user run an alarm at a specified time or at the end of a specified countdown period"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-timer-plugin"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ae39271267fd63eb7619432ff24e7ff1"
-
-inherit xfce-panel-plugin
-
-SRC_URI[md5sum] = "e0df5b6be30993719d084fc4f78a6218"
-SRC_URI[sha256sum] = "4b52d2911b1949e945971be6533155ee6ba99c77078eac7fd43b0f2aeca824e3"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/timer/xfce4-timer-plugin_1.7.2.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/timer/xfce4-timer-plugin_1.7.2.bb
new file mode 100644
index 0000000..33b6043
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/timer/xfce4-timer-plugin_1.7.2.bb
@@ -0,0 +1,9 @@
+SUMMARY = "XFCE panel plugin to generate alarm messages"
+DESCRIPTION = "This is a simple plugin that lets the user run an alarm at a specified time or at the end of a specified countdown period"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-timer-plugin"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f1c52159bdaebd029cb11927cbe709e4"
+
+inherit xfce-panel-plugin
+
+SRC_URI[sha256sum] = "feb3b8c2d39505e816683540a3226bd7bda870ccbcb4c7d0f6abfeeff5c58b7d"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/verve/xfce4-verve-plugin_2.0.1.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/verve/xfce4-verve-plugin_2.0.1.bb
deleted file mode 100644
index eefe332..0000000
--- a/meta-openembedded/meta-xfce/recipes-panel-plugins/verve/xfce4-verve-plugin_2.0.1.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "Verve panel plugin is a comfortable command line plugin for the Xfce panel"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-verve-plugin"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-inherit xfce-panel-plugin
-
-SRC_URI[sha256sum] = "ebda5e5eb62d6e42afdc6f121d2f1cbd4d9d3c2b16a5e3ed8192b1b224b8f825"
-DEPENDS += "libpcre"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/verve/xfce4-verve-plugin_2.0.3.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/verve/xfce4-verve-plugin_2.0.3.bb
new file mode 100644
index 0000000..9dcaae8
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/verve/xfce4-verve-plugin_2.0.3.bb
@@ -0,0 +1,9 @@
+SUMMARY = "Verve panel plugin is a comfortable command line plugin for the Xfce panel"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-verve-plugin"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+inherit xfce-panel-plugin
+
+SRC_URI[sha256sum] = "e1bf121f1bf9cf2a199bf5c0f3aa802f503df9bea50724741e7a92fe6d9fe09e"
+DEPENDS += "libpcre"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.11.0.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.11.0.bb
deleted file mode 100644
index ede98e9..0000000
--- a/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.11.0.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "Panel plugin to display current temperature and weather condition"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-weather-plugin"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-inherit xfce-panel-plugin
-
-DEPENDS += "libsoup-2.4 dbus-glib upower"
-
-SRC_URI[sha256sum] = "e3242ea951d51bc0fded1d02a4f1f662bec16a1fb10c855f71bda6541a1153fc"
-
-FILES:${PN} += "${datadir}/xfce4/weather"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.11.1.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.11.1.bb
new file mode 100644
index 0000000..858bd54
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/weather/xfce4-weather-plugin_0.11.1.bb
@@ -0,0 +1,12 @@
+SUMMARY = "Panel plugin to display current temperature and weather condition"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-weather-plugin"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+inherit xfce-panel-plugin
+
+DEPENDS += "libsoup-2.4 dbus-glib upower"
+
+SRC_URI[sha256sum] = "a45146f9a0dcdc95d191c09c64ad279ae289cf8f811c4433e08e31a656845239"
+
+FILES:${PN} += "${datadir}/xfce4/weather"
diff --git a/meta-openembedded/meta-xfce/recipes-thunar-plugins/archive/thunar-archive-plugin_0.5.1.bb b/meta-openembedded/meta-xfce/recipes-thunar-plugins/archive/thunar-archive-plugin_0.5.1.bb
deleted file mode 100644
index 044a39a..0000000
--- a/meta-openembedded/meta-xfce/recipes-thunar-plugins/archive/thunar-archive-plugin_0.5.1.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-DESCRIPTION = "Thunar Archive Plugin allows you to create and extract archive files using file context menus in Thunar"
-HOMEPAGE = "http://goodies.xfce.org/projects/thunar-plugins/thunar-archive-plugin"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4cf66a4984120007c9881cc871cf49db"
-
-inherit thunar-plugin
-
-SRC_URI[sha256sum] = "a81b3ab1d3cd77c7b3d6db15b37a3c12d65b06e373edc3c21083f02d605d8bed"
-
-# install tap files in ${libdir}/thunar-archive-plugin
-EXTRA_OECONF += "--libexecdir=${libdir}"
diff --git a/meta-openembedded/meta-xfce/recipes-thunar-plugins/archive/thunar-archive-plugin_0.5.2.bb b/meta-openembedded/meta-xfce/recipes-thunar-plugins/archive/thunar-archive-plugin_0.5.2.bb
new file mode 100644
index 0000000..91b3efa
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-thunar-plugins/archive/thunar-archive-plugin_0.5.2.bb
@@ -0,0 +1,11 @@
+DESCRIPTION = "Thunar Archive Plugin allows you to create and extract archive files using file context menus in Thunar"
+HOMEPAGE = "http://goodies.xfce.org/projects/thunar-plugins/thunar-archive-plugin"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4cf66a4984120007c9881cc871cf49db"
+
+inherit thunar-plugin
+
+SRC_URI[sha256sum] = "6379f877bcfc0ea85db9f43723b6fb317893050c712bd03c2ae3232fb9d5ade3"
+
+# install tap files in ${libdir}/thunar-archive-plugin
+EXTRA_OECONF += "--libexecdir=${libdir}"
diff --git a/meta-openembedded/meta-xfce/recipes-thunar-plugins/shares/files/0001-build-Bump-GLib-minimum-required-to-2.26.patch b/meta-openembedded/meta-xfce/recipes-thunar-plugins/shares/files/0001-build-Bump-GLib-minimum-required-to-2.26.patch
deleted file mode 100644
index 1cd2457..0000000
--- a/meta-openembedded/meta-xfce/recipes-thunar-plugins/shares/files/0001-build-Bump-GLib-minimum-required-to-2.26.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-Upstream-Status: Backport [https://gitlab.xfce.org/thunar-plugins/thunar-shares-plugin/-/commit/e4bce21a]
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
-From e4bce21a1bd744ccfde84de4669ac30aa1d72135 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ga=C3=ABl=20Bonithon?= <gael@xfce.org>
-Date: Fri, 2 Dec 2022 20:18:46 +0100
-Subject: [PATCH] build: Bump GLib minimum required to 2.26
-
-This is the minimum required to build since xfce4-dev-tools >= 4.17.1
-set GLIB_VERSION_MAX_ALLOWED to the GLib version found in
-configure.ac.in.
-
-MR: !3
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index a458785..bc6d24c 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -61,7 +61,7 @@ dnl -------------------------------------------------------
- dnl Packages checks
- dnl -------------------------------------------------------
- XDT_CHECK_PACKAGE([GTK], [gtk+-3.0], [3.22.0])
--XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [2.18.0])
-+XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [2.26.0])
- XDT_CHECK_PACKAGE([THUNARX], [thunarx-3], [1.0.1])
-
- dnl -------------------------------------------------------
---
-2.34.1
-
diff --git a/meta-openembedded/meta-xfce/recipes-thunar-plugins/shares/thunar-shares-plugin_0.3.1.bb b/meta-openembedded/meta-xfce/recipes-thunar-plugins/shares/thunar-shares-plugin_0.3.1.bb
deleted file mode 100644
index d981fe1..0000000
--- a/meta-openembedded/meta-xfce/recipes-thunar-plugins/shares/thunar-shares-plugin_0.3.1.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Quickly share a folder using Samba from Thunar"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-inherit thunar-plugin features_check
-
-ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
-REQUIRED_DISTRO_FEATURES = "pam"
-
-SRC_URI += "file://0001-build-Bump-GLib-minimum-required-to-2.26.patch"
-SRC_URI[sha256sum] = "dc1d8c7caa727e76d033d4653dc0742613f57a1711d0050900659c90a84452a0"
-
-RDEPENDS:${PN} += "samba-server"
diff --git a/meta-openembedded/meta-xfce/recipes-thunar-plugins/shares/thunar-shares-plugin_0.3.2.bb b/meta-openembedded/meta-xfce/recipes-thunar-plugins/shares/thunar-shares-plugin_0.3.2.bb
new file mode 100644
index 0000000..065e892
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-thunar-plugins/shares/thunar-shares-plugin_0.3.2.bb
@@ -0,0 +1,12 @@
+SUMMARY = "Quickly share a folder using Samba from Thunar"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+inherit thunar-plugin features_check
+
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+REQUIRED_DISTRO_FEATURES = "pam"
+
+SRC_URI[sha256sum] = "1009d5e6c91534fa49a69090c53c54ab9da2e0428d08d8e687528f63a4ac3f07"
+
+RDEPENDS:${PN} += "samba-server"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_4.18.0.bb b/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_4.18.0.bb
deleted file mode 100644
index b339b18..0000000
--- a/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_4.18.0.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-DESCRIPTION = "Application library for the Xfce desktop environment"
-SECTION = "x11"
-LICENSE = "GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "gtk+3 libxfce4ui liburi-perl-native cairo"
-
-inherit xfce perlnative gtk-doc features_check mime-xdg
-
-# xfce4 depends on libwnck3, gtk+3 and libepoxy need to be built with x11 PACKAGECONFIG.
-# cairo would at least needed to be built with xlib.
-ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
-
-# SRC_URI must follow inherited one
-SRC_URI += " \
- file://exo-no-tests-0.8.patch \
-"
-
-SRC_URI[sha256sum] = "4f2c61d045a888cdb64297fd0ae20cc23da9b97ffb82562ed12806ed21da7d55"
-
-# Note: python bindings did not work in oe-dev and are about to be moved to
-# pyxfce see http://comments.gmane.org/gmane.comp.desktop.xfce.devel.version4/19560
-FILES:${PN} += " \
- ${datadir}/xfce4/ \
- ${libdir}/xfce4/exo* \
-"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_4.19.0.bb b/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_4.19.0.bb
new file mode 100644
index 0000000..4804424
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_4.19.0.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "Application library for the Xfce desktop environment"
+SECTION = "x11"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+DEPENDS = "gtk+3 libxfce4ui liburi-perl-native cairo"
+
+inherit xfce perlnative gtk-doc features_check mime-xdg
+
+# xfce4 depends on libwnck3, gtk+3 and libepoxy need to be built with x11 PACKAGECONFIG.
+# cairo would at least needed to be built with xlib.
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+
+# SRC_URI must follow inherited one
+SRC_URI += " \
+ file://exo-no-tests-0.8.patch \
+"
+
+SRC_URI[sha256sum] = "a0124108c197efcc576a6deeface381416dc7137b6a7e7dfa3060fad62509fb7"
+
+# Note: python bindings did not work in oe-dev and are about to be moved to
+# pyxfce see http://comments.gmane.org/gmane.comp.desktop.xfce.devel.version4/19560
+FILES:${PN} += " \
+ ${datadir}/xfce4/ \
+ ${libdir}/xfce4/exo* \
+"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_4.18.1.bb b/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_4.18.1.bb
deleted file mode 100644
index c139bfd..0000000
--- a/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_4.18.1.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION = "Xfce Menu Library"
-SECTION = "x11/libs"
-LICENSE = "LGPL-2.0-only & GFDL-1.1-no-invariants-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=04a01abcbdabffae1ca26335a293276b"
-DEPENDS = "xfce4-dev-tools-native libxfce4ui intltool-native"
-
-inherit xfce gtk-doc gobject-introspection features_check
-
-# xfce4 depends on libwnck3, gtk+3 and libepoxy need to be built with x11 PACKAGECONFIG.
-# cairo would at least needed to be built with xlib.
-ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
-
-SRC_URI += "file://0001-xfce-applications.menu-don-t-bloat-settings-menu-by-.patch"
-SRC_URI[sha256sum] = "fe7a932a6dac95eb1438f3fbfd53096756ff2e1cb179d10d0fb796cefbb4c20b"
-
-EXTRA_OECONF = "--disable-gtk-doc"
-
-do_compile:prepend() {
- export GIR_EXTRA_LIBS_PATH="${B}/garcon/.libs"
-}
-
-FILES:${PN} += "${datadir}/desktop-directories"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_4.19.0.bb b/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_4.19.0.bb
new file mode 100644
index 0000000..321f645
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_4.19.0.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "Xfce Menu Library"
+SECTION = "x11/libs"
+LICENSE = "LGPL-2.0-only & GFDL-1.1-no-invariants-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=04a01abcbdabffae1ca26335a293276b"
+DEPENDS = "xfce4-dev-tools-native libxfce4ui intltool-native"
+
+inherit xfce gtk-doc gobject-introspection features_check
+
+# xfce4 depends on libwnck3, gtk+3 and libepoxy need to be built with x11 PACKAGECONFIG.
+# cairo would at least needed to be built with xlib.
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+
+SRC_URI += "file://0001-xfce-applications.menu-don-t-bloat-settings-menu-by-.patch"
+SRC_URI[sha256sum] = "e692f0d02294984c6b787e810a187c753a16f06ca87c68c0bb3de364ea3f6b0c"
+
+EXTRA_OECONF = "--disable-gtk-doc"
+
+do_compile:prepend() {
+ export GIR_EXTRA_LIBS_PATH="${B}/garcon/.libs"
+}
+
+FILES:${PN} += "${datadir}/desktop-directories"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.18.3.bb b/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.18.3.bb
deleted file mode 100644
index 417858c..0000000
--- a/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.18.3.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "Xfce4 Widget library and X Window System interaction"
-SECTION = "x11/libs"
-LICENSE = "LGPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4cf66a4984120007c9881cc871cf49db"
-DEPENDS = "intltool-native perl-native gtk+3 libxfce4util xfce4-dev-tools xfconf"
-
-inherit xfce gtk-doc gobject-introspection features_check
-
-# xfce4 depends on libwnck3. gtk+3 and libepoxy need to be built with x11 PACKAGECONFIG.
-# cairo would at least needed to be built with xlib.
-ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
-
-# TODO: Check if 0001-... can go
-SRC_URI += "file://0001-libxfce4kbd-private-xfce4-keyboard-shortcuts.xml-fix.patch"
-SRC_URI[sha256sum] = "afa3a46eeed3ab612d2f7e1308edaf5819f6c33ccc16c13080efabd58f010abd"
-
-EXTRA_OECONF += "--with-vendor-info=${DISTRO}"
-EXTRA_OECONF += "--disable-vala"
-
-PACKAGECONFIG ??= " \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl','x11', "", d)} \
-"
-PACKAGECONFIG[gladeui2] = "--enable-gladeui2,--disable-gladeui2,glade"
-PACKAGECONFIG[x11] = "--enable-startup-notification,--disable-startup-notification,libepoxy libice libsm startup-notification"
-
-
-PACKAGES += "${PN}-glade"
-FILES:${PN}-glade = " \
- ${libdir}/glade \
- ${datadir}/glade \
-"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.19.3.bb b/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.19.3.bb
new file mode 100644
index 0000000..e53d01d
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.19.3.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Xfce4 Widget library and X Window System interaction"
+SECTION = "x11/libs"
+LICENSE = "LGPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4cf66a4984120007c9881cc871cf49db"
+DEPENDS = "intltool-native perl-native gtk+3 libxfce4util xfce4-dev-tools xfconf"
+
+inherit xfce gtk-doc gobject-introspection features_check
+
+# xfce4 depends on libwnck3. gtk+3 and libepoxy need to be built with x11 PACKAGECONFIG.
+# cairo would at least needed to be built with xlib.
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+
+# TODO: Check if 0001-... can go
+SRC_URI += "file://0001-libxfce4kbd-private-xfce4-keyboard-shortcuts.xml-fix.patch"
+SRC_URI[sha256sum] = "16815eef494ba9bac9c854e95c205c0bc5568c8022c31604348f9edadb02f227"
+
+EXTRA_OECONF += "--with-vendor-info=${DISTRO}"
+EXTRA_OECONF += "--disable-vala"
+
+PACKAGECONFIG ??= " \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl','x11', "", d)} \
+"
+PACKAGECONFIG[gladeui2] = "--enable-gladeui2,--disable-gladeui2,glade"
+PACKAGECONFIG[x11] = "--enable-startup-notification,--disable-startup-notification,libepoxy libice libsm startup-notification"
+
+
+PACKAGES += "${PN}-glade"
+FILES:${PN}-glade = " \
+ ${libdir}/glade \
+ ${datadir}/glade \
+"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.18.1.bb b/meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.18.1.bb
deleted file mode 100644
index 683f6c3..0000000
--- a/meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.18.1.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "Basic utility library for Xfce4"
-SECTION = "x11/libs"
-LICENSE = "LGPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4cf66a4984120007c9881cc871cf49db"
-DEPENDS = "intltool-native xfce4-dev-tools-native glib-2.0"
-
-inherit xfce gtk-doc gobject-introspection vala
-
-SRC_URI[sha256sum] = "8a52063a5adc66252238cad9ee6997909b59983ed21c77eb83c5e67829d1b01f"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.19.2.bb b/meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.19.2.bb
new file mode 100644
index 0000000..b54501c
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.19.2.bb
@@ -0,0 +1,9 @@
+SUMMARY = "Basic utility library for Xfce4"
+SECTION = "x11/libs"
+LICENSE = "LGPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4cf66a4984120007c9881cc871cf49db"
+DEPENDS = "intltool-native xfce4-dev-tools-native glib-2.0"
+
+inherit xfce gtk-doc gobject-introspection vala
+
+SRC_URI[sha256sum] = "d4c7eb021d1c9408190bcfb92c7ce26f51e994674ac3c3b8a119270c1e900ac4"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_4.18.4.bb b/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_4.18.4.bb
deleted file mode 100644
index 921dba0..0000000
--- a/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_4.18.4.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "File manager for the Xfce Desktop Environment"
-SECTION = "x11"
-LICENSE = "GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "libxml-parser-perl-native exo gdk-pixbuf libxfce4ui libnotify xfce4-panel udev"
-
-inherit xfce gobject-introspection features_check mime-xdg perlnative
-
-# xfce4 depends on libwnck3, gtk+3 and libepoxy need to be built with x11 PACKAGECONFIG.
-# cairo would at least needed to be built with xlib.
-ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
-
-SRC_URI[sha256sum] = "c4463ce2fb1d628adce70a828e8b4de5fa0802236894d2c40f749471619bedcc"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
-PACKAGECONFIG[pcre] = "--enable-pcre2,--disable-pcre2,libpcre2"
-PACKAGECONFIG[x11] = ",,libsm startup-notification"
-
-FILES:${PN} += " \
- ${libdir}/thunarx-3/* \
- ${libdir}/xfce4/panel/plugins/* \
- ${libdir}/Thunar/[Tt]hunar* \
- ${systemd_user_unitdir} \
- ${datadir}/dbus-1 \
- ${datadir}/metainfo \
- ${datadir}/polkit-1 \
- ${datadir}/Thunar \
- ${datadir}/xfce4/panel/plugins/* \
-"
-
-RRECOMMENDS:${PN} = " \
- gvfs \
- gvfsd-trash \
- ${@bb.utils.contains('DISTRO_FEATURES', 'dbus', 'tumbler', '', d)} \
-"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_4.19.0.bb b/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_4.19.0.bb
new file mode 100644
index 0000000..02e4ef9
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_4.19.0.bb
@@ -0,0 +1,35 @@
+SUMMARY = "File manager for the Xfce Desktop Environment"
+SECTION = "x11"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+DEPENDS = "libxml-parser-perl-native exo gdk-pixbuf libxfce4ui libnotify xfce4-panel udev"
+
+inherit xfce gobject-introspection features_check mime-xdg perlnative
+
+# xfce4 depends on libwnck3, gtk+3 and libepoxy need to be built with x11 PACKAGECONFIG.
+# cairo would at least needed to be built with xlib.
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+
+SRC_URI[sha256sum] = "684f1422c4d92b00db477ecaa2a0ed38ce688e2a567e5d70b7cf66fc6dd6fd18"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
+PACKAGECONFIG[pcre] = "--enable-pcre2,--disable-pcre2,libpcre2"
+PACKAGECONFIG[x11] = ",,libsm startup-notification"
+
+FILES:${PN} += " \
+ ${libdir}/thunarx-3/* \
+ ${libdir}/xfce4/panel/plugins/* \
+ ${libdir}/Thunar/[Tt]hunar* \
+ ${systemd_user_unitdir} \
+ ${datadir}/dbus-1 \
+ ${datadir}/metainfo \
+ ${datadir}/polkit-1 \
+ ${datadir}/Thunar \
+ ${datadir}/xfce4/panel/plugins/* \
+"
+
+RRECOMMENDS:${PN} = " \
+ gvfs \
+ gvfsd-trash \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'dbus', 'tumbler', '', d)} \
+"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.18.0.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.18.0.bb
deleted file mode 100644
index 06dc0a2..0000000
--- a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.18.0.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-DESCRIPTION = "Xfce4 Application Finder"
-SECTION = "x11"
-LICENSE = "GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "glib-2.0 gtk+3 libxfce4util libxfce4ui garcon xfconf"
-
-inherit xfce features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI[sha256sum] = "962a98d7b327d2073ed4cd0f78bce7945ed51b97d52fd60196e8b02ef819c18c"
-
-FILES:${PN} += "${datadir}/metainfo"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.19.1.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.19.1.bb
new file mode 100644
index 0000000..0fea41c
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.19.1.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "Xfce4 Application Finder"
+SECTION = "x11"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+DEPENDS = "glib-2.0 gtk+3 libxfce4util libxfce4ui garcon xfconf"
+
+inherit xfce features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[sha256sum] = "d8bd2a1dd9d193eb25e8e5e68b1beae3578a46d1c5eeee30bec7dabbf4330648"
+
+FILES:${PN} += "${datadir}/metainfo"