summaryrefslogtreecommitdiff
path: root/poky/meta/recipes-multimedia
diff options
context:
space:
mode:
authorAndrew Geissler <geissonator@yahoo.com>2023-01-13 17:55:19 +0300
committerAndrew Geissler <geissonator@yahoo.com>2023-01-13 21:05:42 +0300
commit517393d903089f921915530ffa689a7a1d113420 (patch)
tree8bac829cbf7fe13f7f1a4d937e1997d923755ed6 /poky/meta/recipes-multimedia
parent98ccb1903bfb490dc6075e694664d8f1edef74dd (diff)
downloadopenbmc-517393d903089f921915530ffa689a7a1d113420.tar.xz
subtree updates Jan-13-2023
meta-openembedded: d04444509a..cd13881611: Alex Kiernan (10): mdns: Upgrade 1310.140.1 -> 1790.40.31 mdns: Set MDNS_VERSIONSTR_NODTS mdns: Upgrade 1790.40.31 -> 1790.60.25 ostree: Upgrade 2022.5 -> 2022.7 ostree: Use systemd_system_unitdir for systemd units ostree: Switch to fuse3 which is supported in ostree now ostree: Fix comments for configuration/ptest ostree: Handle musl's ERANGE mapping usbguard: Remove pegtl from DEPENDS usbguard: Upgrade 1.1.1 -> 1.1.2 Alex Stewart (2): gvfs: stylize DEPENDS gvfs: obviate the ssh-client requirement for gvfs Alexander Kanavin (5): frr: add a patch to correctly check presence of python from pkg-config lirc: correctly use PYTHONPATH libportal: move to oe-core packagegroup-meta-python: drop python3-strict-rfc3339 nftables: fix builds with latest setuptools Alexander Stein (1): dool: Add patch to fix rebuild Archana Polampalli (1): Nodejs - Upgrade to 16.18.1 Bartosz Golaszewski (3): python3-kmod: new package python3-watchdogdev: new package packagegroup-meta-python: add missing packages Bruce Ashfield (1): zfs: update to 2.1.7 Changqing Li (5): linuxptp: fix do_compile error keyutils: fix ptest failed since "+++ Can't Determine Endianness" graphviz: Do not build tcl support for native redis: 6.2.7 -> 6.2.8 redis: 7.0.5 -> 7.0.7 Chen Pei (2): suitesparse:fix git branch in SRC_URI botan: upgrade 2.19.2 -> 2.19.3 Chen Qi (4): xfce4-verve-plugin: fix do_configure faiure about missing libpcre networkmanager: fix dhcpcd PACKAGECONFIG networkmanager: install config files into correct place networkmanager: fix /etc/resolv.conf handling Christian Eggers (1): boost-url: remove recipe Clément Péron (3): navigation: bump proj to 9.1.0 library proj: add a packageconfig to build as a static library proj: avoid leaking host path in libproj Devendra Tewari (1): android-tools: Use echo instead of bbnote Dmitry Baryshkov (1): nss: fix cross-compilation error Erwann Roussy (3): python3-schedutils: add recipe python3-linux-procfs: add recipe tuna: add recipe Fabio Estevam (2): remmina: Update to 1.4.28 crucible: Upgrade to 2022.12.06 Geoff Parker (1): python3-yappi: upgrade 1.3.6 -> 1.4.0, python 3.11 compatible Gerbrand De Laender (1): python3-aioserial: new package Gianfranco Costamagna (2): vbxguestdrivers: upgrade 7.0.2 -> 7.0.4 boinc-client: Update boinc from 7.18.1 to 7.20.4 Gianluigi Spagnuolo (1): libbpf: add native and nativesdk BBCLASSEXTEND Hains van den Bosch (2): python3-twisted: Add python3-asyncio to RDEPENDS python3-twisted: Add python3-typing-extensions to RDEPENDS He Zhe (1): protobuf: upgrade 3.21.5 -> 3.21.10 Jose Quaresma (1): lshw: bump to 42fef565 Kai Kang (31): freeradius: fix multilib systemd service start failure wxwidgets: 3.1.5 -> 3.2.1 python3-attrdict3: add recipe with version 2.0.2 python3-wxgtk4: 4.1.1 -> 4.2.0 xfce4-settings: 4.16.3 -> 4.16.5 python3-m2crypto: fix CVE-2020-25657 and buildpaths qa issue fixup! wxwidgets: 3.1.5 -> 3.2.1 postfix: fix multilib conflict of sample-main.cf python3-wxgtk4: replace deprecated inspect.getargspec libxfce4ui: 4.16.1 -> 4.18.0 thunar-volman: 4.16.0 -> 4.18.0 xfce4-cpufreq-plugin: 1.2.7 -> 1.2.8 xfce4-wavelan-plugin: 0.6.2 -> 0.6.3 xfce4-cpugraph-plugin: 1.2.6 -> 1.2.7 xfce4-sensors-plugin: 1.4.3 -> 1.4.4 thunar-shares-plugin: Bump GLib minimum required to 2.26 xfce4-dev-tools: 4.16.0 -> 4.18.0 libxfce4util: 4.16.0 -> 4.18.0 exo: 4.16.4 -> 4.18.0 garcon: 4.16.1 -> 4.18.0 xfce4-panel: 4.16.3 -> 4.18.0 thunar: 4.16.9 -> 4.18.0 tumbler: 4.16.0 -> 4.18.0 xfconf: 4.16.0 -> 4.18.0 xfce4-appfinder: 4.16.1 -> 4.18.0 xfce4-settings: 4.16.5 -> 4.18.0 xfce4-power-manager: 4.16.0 -> 4.18.0 xfce4-session: 4.16.0 -> 4.18.0 xfwm4: 4.16.1 -> 4.18.0 xfdesktop: 4.16.0 -> 4.18.0 xorg-lib: set XORG_EXT for recipes Khem Raj (91): gnome-text-editor: Add missing libpcre build time depenedency ettercap: Add missing dependency on libpcre xcb-util-cursor: Update to 0.1.4 lldpd: Use github release assets for SRC_URI aufs-util: Fix build with large file support enabled systems volume-key: Inherit python3targetconfig proj: Enable apps when building native variant python3-pyproj: Export PROJ_DIR satyr: Inherit python3targetconfig rest: Re-add 0.8.1 gfbgraph: Use rest 0.8.1 audit: Inherit python3targetconfig opensaf: Check for _FILE_OFFSET_BITS instead of __TIMESIZE flite: Add missing deps on alsa-lib and chrpath python3-pystemd: Regenerate .c sources using newer cython libreport: Inherit python3targetconfig uw-imap: Disable parallelism gnome-calendar: Upgrade to 43.1 gnome-photos: Upgrade to 43.0 libgweather: Remove 40.0 waf-samba.bbclass: point PYTHON_CONFIG to target python3-config amtk: Add missing dep on python3-pygments-native fontforge: Inherit python3targetconfig tepl: Add missing dep on python3-pygments-native alsa-oss: Remove recipe opencv: Check for commercial_ffmpeg as well to enable ffmpeg opencv: Fix build with ffmpeg 5.1+ fwts: Upgrade to 22.11.00 minio: Disable on mips sip: Add recipe for 6.7.5 imapfilter: Upgrade to 2.7.6 perfetto: Do not pass TUNE_CCARGS to native/host compiler stressapptest: Upgrade to latest tip mariadb: Upgrade to 10.11.1 surf: Depend on gcr3 fatcat: Enable 64bit off_t stressapptest: Fix build with largefile support and musl nspr: Upgrade to 4.35 cryptsetup: Upgrade to 2.6.0 libyui,libyui-ncurses: Upgrade to 4.2.3 inotify-tools: Fix build on musl and lfs64 sdbus-c++-libsystemd: Upgrade to 250.9 systemd release xfsprogs: Upgrade to 6.0.0 drbd,drbd-utils: Upgrade to 9.2.1 and drbd-utils to 9.22.0 libtraceevent: Add recipe libtracefs: Add recipe trace-cmd: Remove use of off64_t and lseek64 xfsdump: Add -D_LARGEFILE64_SOURCE on musl xfstests: Add -D_LARGEFILE64_SOURCE on musl mariadb: Alias lseek64/open64/ftruncate64 on musl systems gperftools: Define off64_t on musl android-tools: Define lseek64 = lseek on musl php: Add -D_LARGEFILE64_SOURCE to cflags spice-gtk: Use libucontext for coroutines on musl wxwidgets: Fix build with musl wxwidgets: Fix locale on musl wxwidgets: Set HAVE_LARGEFILE_SUPPORT python3-wxgtk4: Do not use GetAssertStackTrace with USE_STACKWALKER disabled f2fs-tools: Upgrade to 1.15.0 trace-cmd: Pass ldflags to compiler parole: Define DATADIRNAME abseil-cpp: Replace off64_t with off_t vsftpd_3.0.5.bb: Define _LARGEFILE64_SOURCE on musl mozjs-102: Disable mozilla stackwalk on musl fatresize: Fix build when 64bit time_t is enabled boinc-client: Fix build when using 64bit time_t python3-grpcio: Define -D_LARGEFILE64_SOURCE only for musl gnome-online-accounts: Fix build race seen on musl systems imagemagick: Do not set ac_cv_sys_file_offset_bits spdlog: Do not use LFS64 functions with musl mongodb: Do not use off64_t on musl dracut: Do not undefine _FILE_OFFSET_BITS libcamera: Diable 64bit time_t on glibc targets v4l-utils: Diable 64bit time_t on glibc targets opensaf: Fix the check for __fsblkcnt64_t size libcereal,poco: Link with -latomic on ppc32 as well sshpass: Use SPDX identified string for GPLv2 nftables: Upgrade to 1.0.6 mycroft: Check for pulseaudio in distro features trace-cmd: Build libs before building rest open-vm-tools: Fix build with 64-bit time_t libtraceevent: Move plugins into package of its own trace-cmd: Upgrade to 3.1.5 luajit: Update to latest on v2.1 branch concurrencykit: Update to 0.7.0 concurrencykit: Set correct PLAT value for riscv32 concurrencykit: Fix build on riscv32 and riscv64 sysbench: Enable only on architectures supporting LuaJIT packagegroup-meta-oe: Ensure sysbench is included in limited arches hwloc: Update to 2.9.0 fluentbit: Link with libatomic on ppc32 Lei Maohui (1): polkit: Fix multilib builds Leon Anavi (9): python3-watchdog: Upgrade 2.2.0 -> 2.2.1 python3-zeroconf: Upgrade 0.39.4 -> 0.47.1 python3-croniter: Upgrade 1.3.7 -> 1.3.8 python3-coverage: Upgrade 7.0.1 -> 7.0.3 python3-prompt-toolkit: Upgrade 3.0.31 -> 3.0.36 python3-simplejson: Upgrade 3.18.0 -> 3.18.1 python3-termcolor: Upgrade 2.1.1 -> 2.2.0 python3-cantools: Upgrade 37.2.0 -> 38.0.0 python3-marshmallow: Upgrade 3.18.0 -> 3.19.0 Livin Sunny (1): libwebsockets: add ipv6 in PACKAGECONFIG Markus Volk (88): blueman: add RDEPEND on python3-fcntl hwdata: add patch to use sysroot prefix for pkgdatadir pipewire: upgrade 0.3.59 -> 0.3.60 spirv-cross: upgrade; fix build blueman: upgrade 2.34 -> 2.35 pipewire: upgrade 0.3.60 -> 0.3.61 iwd: upgrade 1.30 -> 2.0 libgdata: use gcr3 libgweather: update 4.0.0 -> 4.2.0 gnome-online-accounts: use gcr3 geary: build with gcr3 gnome-keyring: use gcr3 evolution-data-server: update 3.44.2 -> 3.46.1 gnome-settings-daemon: update 42.1 -> 43.0 libnma: update 1.8.38 -> 1.10.4 geocode-glib: build with libsoup-3.0 gjs: update 1.72.2 -> 1.75.1 gnome-shell: update 42.0 -> 43.1 mutter: update 42.0 -> 43.1 polkit: add recipe for v122 mozjs: update 98 -> 102 appstream-glib: update 0.7.18 -> 0.8.2 gthumb: build with libsoup-3 amtk: update 5.3.1 -> 5.6.1 gedit: update 42.2 -> 43.2 evolution-data-server: remove libgdata dependency tepl: update 6.0.0 -> 6.2.0 perfetto: pass TUNE_CCARGS to use machine tune gnome-photos: update dependencies thunar-archive-plugin: update 0.4.0 -> 0.5.0 libadwaita: remove deprecated sassc-native dependency gnome-shell: remove deprecated sassc-native dependency spice-gtk: add missing license information pipewire: update 0.3.61 -> 0.3.62 gdm: update 42.0 -> 43.0 gnome-session: update 42.0 -> 43-0 geoclue: update to latest commit to allow to build with libsoup-3.0 gvfs: fix polkit homedir editorconfig: add recipe tracker: update 3.4.1 -> 3.4.2 gvfs: fix dependencies gnome-calculator: update 42.2 -> 43.0.1 tracker-miners: update 3.4.1 -> 3.4.2 gnome-photos: add missing runtime dependency on tracker-miners gtksourceview5: update 5.4.2 -> 5.6.1 remmina: build with libsoup-3.0 ostree: replace libsoup-2.4 by curl gnome-text-editor: update 42.2 -> 43.1 gtk4: remove recipe libxmlb: allow to build native pipewire: update 0.3.62 -> 0.3.63 gnome-shell-extensions: update SRC_URI and remove sassc-native dep grilo: update 0.3.14 -> 0.3.15 libstemmer: move recipe to meta-oe xdg-desktop-portal: add recipe bubblewrap: import recipe from meta-security gnome-software: add recipe basu: import recipe from meta-wayland xdg-desktop-portal-wlr: add recipe appstream: add recipe flatpak: add recipe flatpak-xdg-utils: add recipe flatpak: add runtime dependency on flatpak-xdg-utils wireplumber: update 0.4.12 -> 0.4.13 wireplumber: build with dbus support by default xdg-desktop-portal-gnome: add recipe libcloudproviders: add recipe evince: update 42.3 -> 43.1 libportal: build libportal-gtk4 and vala support nautilus: update 42.2 -> 43.1 gnome-desktop: update 42.0 -> 43 file-roller: update 3.42.0 -> 43.0 wireplumber: dont start systemd system service by default gnome-bluetooth: update 42.4 -> 42.5 gnome-flashback: update 3.44.0 -> 3.46.0 libwnck3: update 40.1 -> 43.0 gnome-panel: update 3.44.0 -> 3.47.1 gnome-terminal: update 3.42.2 -> 3.46.7 dconf-editor: update 3.38.3 -> 43.0 gnome-shell: add missing RDEPENDS gnome-control-center: update 42.0 -> 43.2 gnome-shell: add runtime dependency on adwaita-icon-theme xdg-desktop-portal-gtk: add recipe thunar: add tumbler to RRECOMMENDS gnome:terminal add missing inherit meson gnome-disk-utility: update 42.0 -> 43.0 eog: add recipe libdecor: import recipe Martin Jansa (3): nss: fix SRC_URI geoclue: fix polkit files only with modem-gps PACKAGECONFIG layer.conf: update LAYERSERIES_COMPAT for mickledore Mathieu Dubois-Briand (2): nss: Add missing CVE product nss: Whitelist CVEs related to libnssdbm Matthias Klein (1): paho-mqtt-c: upgrade 1.3.11 -> 1.3.12 Max Krummenacher (1): opencv: follow changed name license_flags_accepted Mingli Yu (25): gnome-calculator: add opengl to REQUIRED_DISTRO_FEATURES waylandpp: add opengl to REQUIRED_DISTRO_FEATURES libnma: add opengl to REQUIRED_DISTRO_FEATURES network-manager-applet: add opengl to REQUIRED_DISTRO_FEATURES gssdp: check opengl is enabled or not gtksourceview5: add opengl to REQUIRED_DISTRO_FEATURES gnome-font-viewer: add opengl to REQUIRED_DISTRO_FEATURES libxfce4ui: check opengl DISTRO_FEATURES gnome-desktop: add opengl to REQUIRED_DISTRO_FEATURES ibus: add opengl related check nautilus: add opengl to REQUIRED_DISTRO_FEATURES gnome-bluetooth: add opengl to REQUIRED_DISTRO_FEATURES evince: add opengl to REQUIRED_DISTRO_FEATURES gnome-calendar: add opengl to REQUIRED_DISTRO_FEATURES xf86-video-amdgpu: add opengl to REQUIRED_DISTRO_FEATURES spice-gtk: add opengl to REQUIRED_DISTRO_FEATURES grail: add opengl to REQUIRED_DISTRO_FEATURES frame: add opengl to REQUIRED_DISTRO_FEATURES geis: add opengl to REQUIRED_DISTRO_FEATURES evolution-data-server: add opengl to REQUIRED_DISTRO_FEATURES libgweather4: add opengl to REQUIRED_DISTRO_FEATURES geary: add opengl to REQUIRED_DISTRO_FEATURES file-roller: add opengl to REQUIRED_DISTRO_FEATURES gnome-photos: add opengl to REQUIRED_DISTRO_FEATURES xdg-desktop-portal-wlr: add opengl to REQUIRED_DISTRO_FEATURES Naveen Saini (3): opencl-headers: add native and nativesdk tcsh: add native nativesdk BBCLASSEXTEND tbb: upgrade 2021.5.0 -> 2021.7.0 Omkar Patil (1): ntfs-3g-ntfsprogs: Upgrade 2022.5.17 to 2022.10.3 Ovidiu Panait (1): multipath-tools: upgrade 0.8.4 -> 0.9.3 Peter Bergin (1): sysbench: Upgrade 0.4.12 -> 1.0.20 Peter Kjellerstedt (4): chrony: Make it possible to enable editline support again chrony: Remove the libcap and nss PACKAGECONFIGs Revert "lldpd: Use github release assets for SRC_URI" lldpd: Correct the checksum for the tar ball to match 1.0.16 Preeti Sachan (1): fluidsynth: update SRC_URI to remove non-existing 2.2.x branch Roger Knecht (1): python3-rapidjson: add recipe Sakib Sajal (1): minio: fix license information Samuli Piippo (1): protobuf: stage protoc binary to sysroot Tim Orling (4): libio-pty-perl: upgrade 1.16 -> 1.17; enable ptest libmozilla-ca-perl: add recipe for 20221114 libio-socket-ssl-perl: upgrade 2.075 -> 2.076 libtest-warnings-perl: move to oe-core Tomasz Żyjewski (2): python3-binwalk: add recipe for version 2.3.3 python3-uefi-firmware: add recipe for version 1.9 Wang Mingyu (190): byacc: upgrade 20220128 -> 20221106 libforms: upgrade 1.2.4 -> 1.2.5pre1 libnftnl: upgrade 1.2.3 -> 1.2.4 mpich: upgrade 4.0.2 -> 4.0.3 python3-u-msgpack-python: upgrade 2.7.1 -> 2.7.2 python3-aiosignal: upgrade 1.2.0 -> 1.3.1 python3-eth-hash: upgrade 0.5.0 -> 0.5.1 python3-frozenlist: upgrade 1.3.1 -> 1.3.3 python3-google-auth: upgrade 2.14.0 -> 2.14.1 python3-greenlet: upgrade 2.0.0 -> 2.0.1 python3-imageio: upgrade 2.22.3 -> 2.22.4 python3-pycocotools: upgrade 2.0.5 -> 2.0.6 babl: upgrade 0.1.96 -> 0.1.98 ctags: upgrade 5.9.20221106.0 -> 5.9.20221113.0 gegl: upgrade 0.4.38 -> 0.4.40 freerdp: upgrade 2.8.1 -> 2.9.0 glibmm-2.68: upgrade 2.72.1 -> 2.74.0 googlebenchmark: upgrade 1.7.0 -> 1.7.1 gnome-backgrounds: upgrade 42.0 -> 43 nano: upgrade 6.4 -> 7.0 networkmanager-openvpn: upgrade 1.10.0 -> 1.10.2 python3-django: upgrade 4.1 -> 4.1.3 python3-flask-migrate: upgrade 3.1.0 -> 4.0.0 python3-eth-utils: upgrade 2.0.0 -> 2.1.0 python3-eventlet: upgrade 0.33.1 -> 0.33.2 python3-googleapis-common-protos: upgrade 1.56.4 -> 1.57.0 python3-google-api-python-client: upgrade 2.65.0 -> 2.66.0 python3-pymongo: upgrade 4.3.2 -> 4.3.3 lldpd: upgrade 1.0.15 -> 1.0.16 audit: upgrade 3.0.8 -> 3.0.9 ccid: upgrade 1.5.0 -> 1.5.1 colord: upgrade 1.4.5 -> 1.4.6 ctags: upgrade 5.9.20221113.0 -> 5.9.20221120.0 flatbuffers: upgrade 22.10.26 -> 22.11.23 libglvnd: upgrade 1.5.0 -> 1.6.0 gensio: upgrade 2.5.2 -> 2.6.1 mg: upgrade 20220614 -> 20221112 nbdkit: upgrade 1.33.2 -> 1.33.3 xfstests: upgrade 2022.10.30 -> 2022.11.06 pcsc-lite: upgrade 1.9.8 -> 1.9.9 python3-matplotlib-inline: upgrade 0.1.2 -> 0.1.6 python3-astroid: upgrade 2.12.12 -> 2.12.13 python3-asyncinotify: upgrade 2.0.5 -> 2.0.8 python3-charset-normalizer: upgrade 3.0.0 -> 3.0.1 python3-dateparser: upgrade 1.1.0 -> 1.1.4 python3-can: upgrade 4.0.0 -> 4.1.0 python3-flask-socketio: upgrade 5.3.1 -> 5.3.2 python3-ipython: upgrade 8.2.0 -> 8.6.0 python3-langtable: upgrade 0.0.60 -> 0.0.61 python3-jedi: upgrade 0.18.1 -> 0.18.2 python3-grpcio-tools: upgrade 1.50.0 -> 1.51.0 python3-grpcio: upgrade 1.50.0 -> 1.51.0 python3-networkx: upgrade 2.8.7 -> 2.8.8 python3-pyatspi: upgrade 2.38.2 -> 2.46.0 python3-pandas: upgrade 1.5.1 -> 1.5.2 python3-pybind11-json: upgrade 0.2.11 -> 0.2.13 python3-pychromecast: upgrade 12.1.4 -> 13.0.1 python3-pycodestyle: upgrade 2.9.1 -> 2.10.0 xterm: upgrade 373 -> 377 smarty: upgrade 4.2.1 -> 4.3.0 spdlog: upgrade 1.10.0 -> 1.11.0 python3-pyperf: upgrade 2.4.1 -> 2.5.0 python3-pyflakes: upgrade 2.5.0 -> 3.0.1 python3-pymisp: upgrade 2.4.157 -> 2.4.165.1 capnproto: upgrade 0.10.2 -> 0.10.3 libass: upgrade 0.16.0 -> 0.17.0 ctags: upgrade 5.9.20221120.0 -> 5.9.20221127.0 libio-socket-ssl-perl: upgrade 2.076 -> 2.077 python3-grpcio-tools: upgrade 1.51.0 -> 1.51.1 python3-asyncinotify: upgrade 2.0.8 -> 3.0.1 python3-grpcio: upgrade 1.51.0 -> 1.51.1 opensc: upgrade 0.22.0 -> 0.23.0 python3-ipython: upgrade 8.6.0 -> 8.7.0 ply: upgrade 2.2.0 -> 2.3.0 python3-apt: upgrade 2.3.0 -> 2.5.0 poppler: upgrade 22.11.0 -> 22.12.0 python3-asttokens: upgrade 2.1.0 -> 2.2.0 python3-cbor2: upgrade 5.4.3 -> 5.4.5 python3-geomet: upgrade 0.3.0 -> 1.0.0 python3-google-api-core: upgrade 2.10.2 -> 2.11.0 python3-google-api-python-client: upgrade 2.66.0 -> 2.68.0 python3-path: upgrade 16.5.0 -> 16.6.0 python3-google-auth: upgrade 2.14.1 -> 2.15.0 zabbix: upgrade 6.2.4 -> 6.2.5 xmlsec1: upgrade 1.2.36 -> 1.2.37 smcroute: upgrade 2.5.5 -> 2.5.6 python3-protobuf: upgrade 4.21.9 -> 4.21.10 python3-traitlets: upgrade 5.5.0 -> 5.6.0 python3-twine: upgrade 4.0.1 -> 4.0.2 python3-web3: upgrade 5.31.1 -> 5.31.2 python3-ujson: upgrade 5.5.0 -> 5.6.0 ctags: upgrade 5.9.20221127.0 -> 5.9.20221204.0 dnsmasq: upgrade 2.87 -> 2.88 flatbuffers: upgrade 22.11.23 -> 22.12.06 nbdkit: upgrade 1.33.3 -> 1.33.4 hwdata: upgrade 0.364 -> 0.365 evolution-data-server: update 3.46.1 -> 3.46.2 xfstests: upgrade 2022.11.06 -> 2022.11.27 python3-protobuf: upgrade 4.21.10 -> 4.21.11 python3-traitlets: upgrade 5.6.0 -> 5.7.0 python3-redis: upgrade 4.3.5 -> 4.4.0 python3-web3: upgrade 5.31.2 -> 5.31.3 python3-asttokens: upgrade 2.2.0 -> 2.2.1 python3-cbor2: upgrade 5.4.5 -> 5.4.6 python3-google-api-python-client: upgrade 2.68.0 -> 2.69.0 python3-gmpy2: upgrade 2.1.2 -> 2.1.3 python3-multidict: upgrade 6.0.2 -> 6.0.3 python3-watchdog: upgrade 2.1.9 -> 2.2.0 python3-pychromecast: upgrade 13.0.1 -> 13.0.2 python3-pymisp: upgrade 2.4.165.1 -> 2.4.166 python3-pytest-xdist: upgrade 3.0.2 -> 3.1.0 python3-yarl: upgrade 1.8.1 -> 1.8.2 zabbix: upgrade 6.2.5 -> 6.2.6 python3-yamlloader: upgrade 1.1.0 -> 1.2.2 tio: upgrade 2.3 -> 2.4 ctags: upgrade 5.9.20221204.0 -> 6.0.20221218.0 dash: upgrade 0.5.11.5 -> 0.5.12 nanopb: upgrade 0.4.6.4 -> 0.4.7 libio-socket-ssl-perl: upgrade 2.077 -> 2.078 libfile-slurper-perl: upgrade 0.013 -> 0.014 protobuf: upgrade 3.21.10 -> 3.21.12 python3-alembic: upgrade 1.8.1 -> 1.9.0 nano: upgrade 7.0 -> 7.1 python3-gmpy2: upgrade 2.1.3 -> 2.1.5 python3-eth-account: upgrade 0.7.0 -> 0.8.0 python3-google-api-python-client: upgrade 2.69.0 -> 2.70.0 python3-protobuf: upgrade 4.21.11 -> 4.21.12 python3-pycares: upgrade 4.2.2 -> 4.3.0 python3-pycurl: upgrade 7.45.1 -> 7.45.2 python3-pychromecast: upgrade 13.0.2 -> 13.0.4 python3-pyproj: upgrade 3.4.0 -> 3.4.1 python3-pydicti: upgrade 1.1.6 -> 1.2.0 python3-sentry-sdk: upgrade 1.11.1 -> 1.12.0 python3-traitlets: upgrade 5.7.0 -> 5.7.1 tio: upgrade 2.4 -> 2.5 python3-sqlalchemy: upgrade 1.4.44 -> 1.4.45 xfsdump: upgrade 3.1.11 -> 3.1.12 python3-isort: upgrade 5.10.1 -> 5.11.3 xfstests: upgrade 2022.11.27 -> 2022.12.11 ctags: upgrade 6.0.20221218.0 -> 6.0.20221225.0 gst-editing-services: upgrade 1.20.4 -> 1.20.5 logcheck: upgrade 1.3.24 -> 1.4.0 memtester: upgrade 4.5.1 -> 4.6.0 libmime-types-perl: upgrade 2.22 -> 2.23 metacity: upgrade 3.46.0 -> 3.46.1 python3-alembic: upgrade 1.9.0 -> 1.9.1 xfstests: upgrade 2022.12.11 -> 2022.12.18 python3-cytoolz: upgrade 0.12.0 -> 0.12.1 python3-asgiref: upgrade 3.5.2 -> 3.6.0 python3-autobahn: upgrade 22.7.1 -> 22.12.1 python3-coverage: upgrade 6.5.0 -> 7.0.1 python3-bitarray: upgrade 2.6.0 -> 2.6.1 python3-imageio: upgrade 2.22.4 -> 2.23.0 python3-isort: upgrade 5.11.3 -> 5.11.4 python3-multidict: upgrade 6.0.3 -> 6.0.4 python3-traitlets: upgrade 5.7.1 -> 5.8.0 python3-pymisp: upgrade 2.4.166 -> 2.4.167 python3-sentry-sdk: upgrade 1.12.0 -> 1.12.1 python3-supervisor: upgrade 4.2.4 -> 4.2.5 wolfssl: upgrade 5.5.3 -> 5.5.4 remmina: upgrade 1.4.28 -> 1.4.29 ser2net: upgrade 4.3.10 -> 4.3.11 tesseract: upgrade 5.2.0 -> 5.3.0 network-manager-applet: upgrade 1.26.0 -> 1.30.0 byacc: upgrade 20221106 -> 20221229 ctags: upgrade 6.0.20221225.0 -> 6.0.20230101.0 flashrom: upgrade 1.2 -> 1.2.1 fontforge: upgrade 20220308 -> 20230101 hunspell: upgrade 1.7.1 -> 1.7.2 libmime-types-perl: upgrade 2.23 -> 2.24 libnet-dns-perl: upgrade 1.35 -> 1.36 tepl: upgrade 6.2.0 -> 6.4.0 tcpdump: upgrade 4.99.1 -> 4.99.2 traceroute: upgrade 2.1.0 -> 2.1.1 openwsman: upgrade 2.7.1 -> 2.7.2 pcsc-tools: upgrade 1.6.0 -> 1.6.1 poppler: upgrade 22.12.0 -> 23.01.0 rsnapshot: upgrade 1.4.4 -> 1.4.5 tree: upgrade 2.0.4 -> 2.1.0 python3-bidict: upgrade 0.22.0 -> 0.22.1 python3-bitarray: upgrade 2.6.1 -> 2.6.2 python3-dateparser: upgrade 1.1.4 -> 1.1.5 python3-lz4: upgrade 4.0.2 -> 4.3.2 python3-mock: upgrade 4.0.3 -> 5.0.0 python3-pillow: upgrade 9.3.0 -> 9.4.0 python3-pydantic: upgrade 1.10.2 -> 1.10.4 python3-pyephem: upgrade 4.1.3 -> 4.1.4 python3-xlsxwriter: upgrade 3.0.3 -> 3.0.5 python3-xxhash: upgrade 3.1.0 -> 3.2.0 dnf-plugins/rpm.py: Fix grammar when RPM_PREFER_ELF_ARCH doesn't exit. Xiangyu Chen (1): lldpd: add ptest for lldpd package Yi Zhao (13): libpwquality: set correct pam plugin directory ostree: add runtime dependency bubblewrap for PACKAGECONFIG[selinux] ostree: fix selinux policy rebuild error on first deployment frr: upgrade 8.3.1 -> 8.4.1 open-vm-tools: upgrade 12.1.0 -> 12.1.5 libtdb: upgrade 1.4.3 -> 1.4.7 libldb: upgrade 2.3.4 -> 2.6.1 libtalloc: upgrade 2.3.3 -> 2.3.4 libtevent: upgrade 0.10.2 -> 0.13.0 samba upgrade 4.14.14 -> 4.17.4 krb5: upgrade 1.17.2 -> 1.20.1 grubby: update to latest git rev grubby: drop version 8.40 Zheng Qiu (1): python3-inotify: add ptest persianpros (1): samba: Remove samba related PYTHONHASHSEED patches and use export function zhengrq.fnst@fujitsu.com (15): python3-pymodbus: upgrade 3.0.0 -> 3.0.2 python3-pywbemtools: upgrade 1.0.1 -> 1.1.0 python3-stevedore: upgrade 4.1.0 -> 4.1.1 ser2net: upgrade 4.3.9 -> 4.3.10 yelp-tools: upgrade 42.0 -> 42.1 python3-python-vlc: upgrade 3.0.16120 -> 3.0.18121 python3-sqlalchemy: upgrade 1.4.43 -> 1.4.44 python3-zopeinterface: upgrade 5.5.1 -> 5.5.2 python3-simplejson: upgrade 3.17.6 -> 3.18.0 python3-pywbemtools: upgrade 1.0.1 -> 1.1.1 python3-redis: upgrade 4.3.4 -> 4.3.5 python3-texttable: upgrade 1.6.4 -> 1.6.7 python3-sentry-sdk: upgrade 1.9.10 -> 1.11.1 python3-twitter: upgrade 4.10.1 -> 4.12.1 python3-termcolor: upgrade 2.1.0 -> 2.1.1 meta-security: 2aa48e6f4e..f991b20f56: Alex Kiernan (1): bubblewrap: Update 0.6.2 -> 0.7.0 Armin Kuster (2): python3-privacyidea: update to 2.7.4 chipsec: update to 1.9.1 Michael Haener (1): tpm2-tools: update to 5.3 meta-arm: d5f132b199..5c42f084f7: Adam Johnston (1): arm/trusted-services: Fix 'no such file' when building libts Adrian Herrera (2): atp: decouple m5readfile from m5ops atp: move m5readfile to meta-gem5 Adrián Herrera Arcila (5): atp: fix failing test_readme gem5: support for EXTRAS atp: separate recipe for gem5 models atp: fix machine overrides in recipes ci: add meta-atp to check-layers David Bagonyi (1): meta-arm-toolchain: Drop calls to datastore finalize Diego Sueiro (2): arm/classes: Introduce apply_local_src_patches bbclass arm/trusted-firmware-m: Fix local source patches application Emekcan (1): arm/fvp: Upgrade Corstone1000 FVP Emekcan Aras (6): arm-bsp/documentation: corstone1000: update the user guide arm/optee: Move optee-3.18 patches arm/optee: support optee 3.19 arm-bsp/optee-os: Adds 3.19 bbappend arm-bsp/optee-os: N1SDP support for optee-os 3.19 arm/qemuarm-secureboot: pin optee-os version Jon Mason (5): arm-bsp/trusted-services: rename bbappends with git version arm/trusted-services: limit the ts compatible machines arm-bsp/trusted-services: add n1sdp support arm/trusted-firmware-m: update to 1.6.1 CI: define DEFAULT_TAG and CPU_REQUEST Khem Raj (1): gn: Replace lfs64 functions with original counterparts Mohamed Omar Asaker (5): arm-bsp/trusted-services: corstone1000: Use the stateless platform service calls arm-bsp/trusted-firmware-m: Bump TFM to v1.7 arm-bsp/trusted-firmware-m: corstone1000: TFM 1.7 arm-bsp/musca_b1: Edit the platform name arm-bsp/trusted-firmware-m: Remove TF-M 1.6 recipe Peter Hoyes (3): arm/fvp: Backport shlex.join from Python 3.8 arm/fvpboot: Disable timing annotation by default arm/classes: Ensure patch files are sorted in apply_local_src_patches Robbie Cao (1): arm/fvp-base-r-aem: upgrade to version 11.20.15 Ross Burton (17): CI: revert a meta-clang change which breaks pixman (thus, xserver) CI: add variables needed for k8s runners CI: add tags to all jobs CI: no need to install telnet CI: fix builds with clang CI: use the .setup fragment in machine-coverage arm/fvp-base-a-aem: upgrade to 11.20.15 arm-bsp/edk2-firmware: allow clang builds on juno ci/get-binary-toolchains: rewrite, slightly arm-bsp/documentation: update fvp-base documentation to use runfvp CI: use qemuarm64 for pending-updates report job meta-atp: remove meta-gem5: remove arm/fvp-envelope: name the FVP tarballs for checksums arm/fvp-envelope: update HOMEPAGE arm/fvp-base-a-aem: add support for aarch64 binaries CI: don't pin fvp-base jobs to x86-64 poky: 44bb88cc86..0ce159991d: Alejandro Hernandez Samaniego (6): baremetal-image: Avoid overriding qemu variables from IMAGE_CLASSES rust: Enable building rust from stable, beta and nightly channels rust: Enable baremetal targets baremetal-helloworld: Enable x86 and x86-64 ports baremetal-helloworld: Move from skeleton to recipes-extended matching what rust-hello-world is doing oe-selftest: Add baremetal toolchain test Alex Kiernan (20): rust: Install target.json for target rustc rust: update 1.65.0 -> 1.66.0 oeqa/runtime/rust: Add basic compile/run test libstd-rs: Merge .inc into .bb libstd-rs: Move source directory to library/test rust-llvm: Merge .inc into .bb rust-llvm: Update LLVM_VERSION to match embedded version packagegroup-rust-sdk-target: Add Rust SDK target packagegroup packagegroup-core-sdk: Add SDK toolchain language selection support rust: Merge .inc into .bb rust: Move musl-x86 fix for `__stack_chk_fail_local` to rust-source cargo: Merge .inc into .bb cargo: Extend DEBUG_PREFIX_MAP to cover vendor cargo: Include crossbeam-utils patch cargo: Drop exclude from world packagegroup-rust-sdk-target: Add cargo oeqa/runtime/rust: Add cargo test classes: image: Set empty weak default IMAGE_LINGUAS default-distrovars: Include "c" in IMAGE_LINGUAS for glibc rust: Merge all rustc-source patches into rust-source.inc Alex Stewart (2): lsof: add update-alternatives logic opkg: upgrade to version 0.6.1 Alexander Kanavin (155): elfutils: update 0.187 -> 0.188 rsync: update 3.2.5 -> 3.2.7 swig: update 4.0.2 -> 4.1.0 tcl: update 8.6.11 -> 8.6.12 quota: update 4.06 -> 4.09 shadow: update 4.12.3 -> 4.13 texinfo: update 6.8 -> 7.0 libhandy: update 1.6.3 -> 1.8.0 xf86-input-mouse: update 1.9.3 -> 1.9.4 flac: update 1.4.0 -> 1.4.2 icu: update 71.1 -> 72-1 libgpg-error: update 1.45 -> 1.46 popt: update 1.18 -> 1.19 vte: update 0.68.0 -> 0.70.1 webkitgtk: update 2.36.7 -> 2.38.2 man-db: update 2.10.2 -> 2.11.1 gawk: update 5.1.1 -> 5.2.1 unfs: update 0.9.22 -> 0.10.0 qemu-helper: depend on unfs3 and pseudo directly runqemu: do not hardcode the ip address of the nfs server when using tap selftest/runqemu: reenable the nfs rootfs test glibc-tests: correctly pull in the actual tests when installing -ptest package python3: fix tests on x86 (32 bit) ptest-packagelists.inc: do not run valgrind ptests on 32 bit x86 python3: use the standard shell version of python3-config python3targetconfig.bbclass: use PYTHONPATH to point to the target config bitbake: fetch2/wget.py: correctly match versioned directories devtool/upgrade: correctly handle recipes where S is a subdir of upstream tree python3-numpy: fix upstream version check python3-poetry-core: update 1.3.2 -> 1.4.0 tcl: update 8.6.12 -> 8.6.13 libnewt: update 0.52.21 -> 0.52.23 libxdmcp: update 1.1.3 -> 1.1.4 libxpm: update 3.5.13 -> 3.5.14 libxrandr: update 1.5.2 -> 1.5.3 bluez: update 5.65 -> 5.66 libxcrypt: update PV to match SRCREV python3-dbusmock: update 0.28.4 -> 0.28.6 ruby: merge .inc into .bb ruby: update 3.1.2 -> 3.1.3 ghostscript: update 9.56.1 -> 10.0.0 tzdata: update 2022d -> 2022g systemtap: upgrade 4.7 -> 4.8 gnupg: upgrade 2.3.7 -> 2.3.8 ptest-packagelists.inc: correctly assign fast and slow tests ovmf: update edk2-stable202208 -> edk2-stable202211 llvm: update 15.0.4 -> 15.0.6 tcmode-default.inc: set LLVMVERSION to a major version wildcard cmake: update 3.24.2 -> 3.25.1 python3-native: further tweak to sysconfig.py to find python includes correctly libslirp: add recipe to continue slirp support in qemu qemu: update 7.1.0 -> 7.2.0 systemd: update 251.8 -> 252.4 dpkg: update 1.21.9 -> 1.21.13 python3-installer: update 0.5.1 -> 0.6.0 python3: update 3.11.0 -> 3.11.1 weston: update 11.0.0 -> 11.0.1 xhost: update 1.0.8 -> 1.0.9 xinit: update 1.4.1 -> 1.4.2 xkbcomp: update 1.4.5 -> 1.4.6 xprop: update 1.2.5 -> 1.2.6 xset: update 1.2.4 -> 1.2.5 xvinfo: update 1.1.4 -> 1.1.5 xf86-video-vesa: update 2.5.0 -> 2.6.0 libice: update 1.0.10 -> 1.1.1 libxcomposite: update 0.4.5 -> 0.4.6 libxdamage: update 1.1.5 -> 1.1.6 libxres: update 1.2.1 -> 1.2.2 libxscrnsaver: update 1.2.3 -> 1.2.4 libxv: update 1.0.11 -> 1.0.12 jquery: upgrade 3.6.1 -> 3.6.2 libmodule-build-perl: update 0.4231 -> 0.4232 python3-chardet: upgrade 5.0.0 -> 5.1.0 libarchive: upgrade 3.6.1 -> 3.6.2 stress-ng: upgrade 0.15.00 -> 0.15.01 vulkan: upgrade 1.3.231.1 -> 1.3.236.0 Revert "python3-native: further tweak to sysconfig.py to find python includes correctly" conf/machine/include: add x86-64-v3 tunes (AVX, AVX2, BMI1, BMI2, F16C, FMA, LZCNT, MOVBE, XSAVE) go: update 1.19.3 -> 1.19.4 vulkan-samples: update to latest revision boost-build-native: update 1.80.0 -> 1.81.0 qemu: disable sporadically failing test-io-channel-command devtool: process local files only for the main branch libportal: add from meta-openembedded/meta-gnome libportal: convert from gtk-doc to gi-docgen epiphany: update 42.4 -> 43.0 qemux86-64: build for x86-64-v3 (2013 Haswell and later) rather than Core 2 from 2006 valgrind: disable tests that started failing after switching to x86-64-v3 target glib-2.0: upgrade 2.74.3 -> 2.74.4 jquery: upgrade 3.6.2 -> 3.6.3 nasm: update 2.15.05 -> 2.16.01 ffmpeg: use nasm patched-in debug-prefix-map option to restore reproducibility gtk+3: update 3.24.35 -> 3.24.36 libva-utils: update 2.16.0 -> 2.17.0 xcb-util: update 0.4.0 -> 0.4.1 gnupg: update 2.3.8 -> 2.4.0 libksba: update 1.6.2 -> 1.6.3 python3-pycryptodomex: upgrade 3.15.0 -> 3.16.0 piglit: upgrade to latest revision python3-setuptools-scm: upgrade 7.0.5 -> 7.1.0 python3-attrs: upgrade 22.1.0 -> 22.2.0 webkitgtk: upgrade 2.38.2 -> 2.38.3 linux-firmware: upgrade 20221109 -> 20221214 harfbuzz: upgrade 5.3.1 -> 6.0.0 python3-pytz: upgrade 2022.6 -> 2022.7 strace: upgrade 6.0 -> 6.1 python3-pycryptodome: upgrade 3.15.0 -> 3.16.0 meson: upgrade 0.64.0 -> 1.0.0 xwayland: upgrade 22.1.5 -> 22.1.7 python3-pyrsistent: upgrade 0.19.2 -> 0.19.3 file: upgrade 5.43 -> 5.44 python3-subunit: upgrade 1.4.1 -> 1.4.2 python3-zipp: upgrade 3.10.0 -> 3.11.0 python3-cryptography: upgrade 38.0.3 -> 38.0.4 logrotate: upgrade 3.20.1 -> 3.21.0 python3-importlib-metadata: upgrade 5.0.0 -> 5.2.0 python3-numpy: upgrade 1.23.4 -> 1.24.1 xserver-xorg: upgrade 21.1.4 -> 21.1.6 puzzles: upgrade to latest revision vte: upgrade 0.70.1 -> 0.70.2 libpsl: upgrade 0.21.1 -> 0.21.2 libtest-fatal-perl: upgrade 0.016 -> 0.017 python3-urllib3: upgrade 1.26.12 -> 1.26.13 python3-cryptography-vectors: upgrade 38.0.3 -> 38.0.4 python3-setuptools: upgrade 65.5.1 -> 65.6.3 libsdl2: upgrade 2.26.0 -> 2.26.1 python3-gitdb: upgrade 4.0.9 -> 4.0.10 diffoscope: upgrade 224 -> 230 python3-mako: upgrade 1.2.3 -> 1.2.4 python3-sphinx: upgrade 5.3.0 -> 6.0.0 libsolv: upgrade 0.7.22 -> 0.7.23 ruby: upgrade 3.1.3 -> 3.2.0 python3-lxml: upgrade 4.9.1 -> 4.9.2 python3-git: upgrade 3.1.29 -> 3.1.30 curl: upgrade 7.86.0 -> 7.87.0 kmscube: upgrade to latest revision gobject-introspection: upgrade 1.72.0 -> 1.74.0 python3-dtschema: upgrade 2022.11 -> 2022.12 bash: upgrade 5.2.9 -> 5.2.15 kexec-tools: upgrade 2.0.25 -> 2.0.26 python3-jsonschema: upgrade 4.17.0 -> 4.17.3 python3-pycairo: upgrade 1.21.0 -> 1.23.0 nghttp2: upgrade 1.50.0 -> 1.51.0 python3-certifi: upgrade 2022.9.24 -> 2022.12.7 python3-hypothesis: upgrade 6.57.1 -> 6.61.0 libsndfile1: upgrade 1.1.0 -> 1.2.0 repo: upgrade 2.29.9 -> 2.31 libpcap: upgrade 1.10.1 -> 1.10.2 python3-jsonschema: depend on rfc3339-validator in all cases python3-strict-rfc3339: remove the recipe elfutils: do not error out on deprecated declarations gcr3: limit version check to 3.x versions without odd-even rule ncurses: restore version check as it's now again working due to release of 6.4 tiff: update 4.4.0 -> 4.5.0 qemu: fix recent reproducibility issues Alexey Smirnov (1): classes: make TOOLCHAIN more permissive for kernel Anton Antonov (1): rust: Do not use default compiler flags defined in CC crate Antonin Godard (2): busybox: always start do_compile with orig config files busybox: rm temporary files if do_compile was interrupted Atanas Bunchev (1): qemu.rst: slirp port forwarding details Bruce Ashfield (30): linux-yocto-dev: bump to v6.0+ linux-yocto/5.19: update to v5.19.16 linux-yocto/5.15: update to v5.15.74 linux-yocto/5.19: update to v5.19.17 linux-yocto/5.15: update to v5.15.76 linux-yocto/5.19: cfg: intel and vesa updates kern-tools: integrate ZFS speedup patch linux-yocto-dev: bump to v6.1 kernel-devsrc: fix for v6.1+ lttng-modules: fix build for v6.1+ linux-yocto/5.19: security.cfg: remove configs which have been dropped linux-yocto/5.15: update to v5.15.78 linux-yocto/5.19: fix CONFIG_CRYPTO_CCM mismatch warnings linux-yocto/5.15: fix CONFIG_CRYPTO_CCM mismatch warnings linux-yocto/5.19: fix elfutils run-backtrace-native-core ptest failure linux-libc-headers: add 6.x fetch location linux-libc-headers: bump to 6.1 linux-yocto/5.19: fix perf build with clang linux-yocto/5.15: ltp and squashfs fixes linux-yocto: introduce v6.1 reference kernel recipes linux-yocto/5.15: fix perf build with clang linux-yocto/5.15: libbpf: Fix build warning on ref_ctr_off linux-yocto/5.15: update to v5.15.84 linux-yocto/6.1: update to v6.1.1 linux-yocto/5.15: powerpc: Fix reschedule bug in KUAP-unlocked user copy linux-yocto/5.19: powerpc: Fix reschedule bug in KUAP-unlocked user copy linux-yocto/6.1: update to v6.1.3 linux-yocto/6.1: cfg: remove CONFIG_ARM_CRYPTO yocto-bsps/5.15: update to v5.15.78 linux-yocto/5.15: update to v5.15.80 Carlos Alberto Lopez Perez (3): xwayland: libxshmfence is needed when dri3 is enabled recipes: Enable nativesdk for gperf, unifdef, gi-docgen and its dependencies mesa-gl: gallium is required when enabling x11 Changqing Li (2): base.bbclass: Fix way to check ccache path sqlite3: upgrade 3.40.0 -> 3.40.1 Charlie Johnston (1): opkg: ensure opkg uses private gpg.conf when applying keys. Chee Yang Lee (1): migration-guides: add release-notes for 4.1.1 Chen Qi (10): kernel.bbclass: make KERNEL_DEBUG_TIMESTAMPS work at rebuild resolvconf: make it work dhcpcd: fix to work with systemd bitbake: command.py: cleanup bb.cache.parse_recipe psplash: consider the situation of psplash not exist for systemd bc: extend to nativesdk rm_work: adjust dependency to make do_rm_work_all depend on do_rm_work selftest: allow '-R' and '-r' be used together dhcpcd: backport two patches to fix runtime error libseccomp: fix typo in DESCRIPTION Christian Eggers (1): boost: add url lib David Bagonyi (1): u-boot: Fix u-boot signing when building with multiple u-boot configs Dmitry Baryshkov (2): linux-firmware: upgrade 20221012 -> 20221109 linux-firmware: add new fw file to ${PN}-qcom-adreno-a530 Enguerrand de Ribaucourt (1): bitbake-layers: fix a typo Enrico Jörns (1): sstatesig: emit more helpful error message when not finding sstate manifest Enrico Scholz (1): sstate: show progress bar again Fabre Sébastien (1): u-boot: Add /boot in SYSROOT_DIRS Frank de Brabander (4): bitbake: README: Improve explanation about running the testsuite bitbake: bin/utils: Ensure locale en_US.UTF-8 is available on the system bitbake: process: log odd unlink events with bitbake.sock bitbake: README: add required python version for bitbake Harald Seiler (1): opkg: Set correct info_dir and status_file in opkg.conf Jagadeesh Krishnanjanappa (1): qemuboot.bbclass: make sure runqemu boots bundled initramfs kernel image Jan Kircher (1): toolchain-scripts: compatibility with unbound variable protection Javier Tia (1): poky.conf: Add Fedora 36 as supported distro Joe Slater (2): python3: Fix CVE-2022-37460 libarchive: fix CVE-2022-36227 Jose Quaresma (2): Revert "gstreamer1.0: disable flaky gstbin:test_watch_for_state_change test" gstreamer1.0: Fix race conditions in gstbin tests Joshua Watt (4): qemu-helper-native: Correctly pass program name as argv[0] bitbake: cooker: Use event to terminate parser threads bitbake: cooker: Start sync thread a little earlier bitbake: bitbake: Convert to argparse Kai Kang (4): xorg-lib-common.inc: set default value of XORG_EXT libx11-compose-data: 1.6.8 -> 1.8.3 libx11: 1.8.1 -> 1.8.3 libsm: 1.2.3 > 1.2.4 Kasper Revsbech (1): bitbake: fetch2/wget: handle username/password in uri Khem Raj (47): rsync: Delete pedantic errors re-ordering patch pseudo: Disable LFS on 32bit arches libxkbcommon: Extend to build native package iso-codes: Extend to build native packages xkeyboard-config: Extend to build native package bluez5: enable position independent executables flag rpcsvc-proto: Use autoconf knob to enable largefile support gptfdisk: Enable largefile support functions libpcre2: Upgrade to 10.42 erofs-utils: Convert from off64_t to off_t pseudo: Remove 64bit time_t flags unfs3: Define off64_t in terms of off_t on musl acpid: Fix largefile enabled build efivar: Replace off64_t with off_t ltp: Fix largefile support acl: Enable largefile support by default libpciaccess: Do not use 64bit functions for largefile support mdadm: Use _FILE_OFFSET_BITS to use largefile support btrfs-tools: Do not use 64bit functions for largefile support e2fsprogs: Do not use 64bit functions for largefile support libbsd: Fix build with largefile support gpgme: Fix with with largefile support virglrenderer: Replace lseek64 with lseek nfs-utils: Replace statfs64 with statfs alsa-utils: Replace off64_t with off_t lttng-tools: Fix build with largefile support strace: Add knob to enable largefile support numactl: Enable largefile support qemu: Fix build with largefile support systemd: Fix 252 release build on musl rust: Do not use open64 on musl in getrandom crate rust,libstd-rs: Fix build with latest musl rust-llvm: Fix build on latest musl cargo: Do not use open64 on musl anymore llvm: Do not use lseek64 strace: Replace off64_t with off_t in sync_file_range.c test vulkan-samples: Do not use LFS64 APIs in spdlog pulseaudio: Do not use 64bit time_t flags musl: Update to latest on tip of trunk rust: Fix build with 64bit time_t stress-ng: Do not enforce gold linker time64.inc: Add GLIBC_64BIT_TIME_FLAGS on ppc/x86 as well time64: Remove leading whitespace from GLIBC_64BIT_TIME_FLAGS mpg123: Enable largefile support site/powerpc32-linux: Do not cache statvfs64 across glibc and musl tiff: Add packageconfig knob for webp site/common-musl: Set ac_cv_sys_file_offset_bits default to 64 Lee Chee Yang (1): migration-guides: add release-notes for 4.0.6 Luca Boccassi (2): systemd: refresh patch to remove fuzz introduced by rebase on v252 systemd: ship pcrphase/measure tools and units in systemd-extra-utils Luis (1): rm_work.bbclass: use HOSTTOOLS 'rm' binary exclusively Marek Vasut (5): bitbake: fetch2/git: Prevent git fetcher from fetching gitlab repository metadata package_rpm: Fix Linux 6.1.0 perf 1.0 version mistranslation systemd: Make importd depend on glib-2.0 again bitbake: bitbake-user-manual: Document override :append, :prepend, :remove order bitbake: fetch2/git: Clarify the meaning of namespace Markus Volk (12): ell: upgrade 0.53 -> 0.54 libsdl2: update 2.24.2 -> 2.26.0 graphene: import from meta-oe gtk4: import recipe from meta-gnome gcr: rename gcr -> gcr3 gcr: add recipe for gcr-4, needed to build with gtk4 epiphany: use gcr3 gtk4: add tracker-miners runtime dependency python3-dbusmock: allow to build native gtk4: update 4.8.2 -> 4.8.3 gcr3: update 3.40.0 -> 3.41.1 librsvg: enable vapi build Marta Rybczynska (2): efibootmgr: update compilation with musl cve-update-db-native: avoid incomplete updates Martin Jansa (4): libxml2: upgrade test data from 20080827 to 20130923 nativesdk-rpm: export RPM_ETCCONFIGDIR and MAGIC in environment like RPM_CONFIGDIR nativesdk-rpm: don't create wrappers for WRAPPER_TOOLS tune-x86-64-v3.inc: set QEMU_EXTRAOPTIONS like other tune-* files Mathieu Dubois-Briand (1): dbus: Add missing CVE product name Michael Halstead (1): uninative: Upgrade to 3.8.1 to include libgcc Michael Opdenacker (34): manuals: add missing references to classes manuals: fix paragraphs with the "inherit" word ref-manual/classes.rst: remove reference to sip.bbclass manuals: simplify .gitignore files manuals: split dev-manual/common-tasks.rst dev-manual/sbom.rst: minor corrections bitbake: bitbake-user-manual: update references to Yocto Project manual bitbake.conf: remove SERIAL_CONSOLE variable bitbake: bitbake-user-manual: add reference to bitbake git repository ref-manual: add references to variables only documented in the BitBake manual manuals: add reference to yocto-docs git repository to page footer manuals: add missing references to variables manuals: add missing SPDX license header to source files manuals: fix double colons ref-manual/resources.rst: fix formating ref-manual: update references to release notes manual: improve documentation about using external toolchains ref-manual/images.rst: fix unnumbered list manuals: define proper numbered lists manuals: final removal of SERIAL_CONSOLE variable ref-manual/resources.rst: improve description of mailing lists ref-manual/system-requirements.rst: update buildtools instructions manuals: create references to buildtools documentation/poky.yaml.in: update minimum python version to 3.8 manuals: prepare 4.2 migration notes bitbake: bitbake-user-manual: double colon fix bitbake: bitbake-user-manual: remove "OEBasic" signature generator migration-guides: fix 4.2 migration note issues toaster-manual: fix description of introduction video ref-manual/classes.rst: remove .bbclass from section titles manuals: simplify references to classes migration-1.6.rst: fix redundant reference ref-manual/system-requirements.rst: recommend buildtools for not supported distros .gitignore: ignore files generated by Toaster Mikko Rapeli (5): qemurunner.py: support setting slirp host IP address runqemu: limit slirp host port forwarding to localhost 127.0.0.1 qemurunner.py: use IP address from command line dev-manual/runtime-testing.rst: fix oeqa runtime test path runqemu: add QB_SETUP_CMD and QB_CLEANUP_CMD Mingli Yu (8): tcl: correct the header location in tcl.pc python3: make tkinter available when enabled sudo: add selinux and audit PACKAGECONFIG iproute2: add selinux PACKAGECONFIG util-linux: add selinux PACKAGECONFIG cronie: add selinux PACKAGECONFIG psmisc: add selinux PACKAGECONFIG gcr: add opengl to REQUIRED_DISTRO_FEATURES Narpat Mali (2): ffmpeg: fix for CVE-2022-3964 ffmpeg: fix for CVE-2022-3965 Ola x Nilsson (4): kbd: Don't build tests glibc: Add ppoll fortify symbol for 64 bit time_t insane: Add QA check for 32 bit time and file offset functions time64.conf: Include to enable 64 bit time flags Ovidiu Panait (1): kernel.bbclass: remove empty module directories to prevent QA issues Patrick Williams (1): kernel-fitimage: reduce dependency to the cpio Pavel Zhukov (1): oeqa/rpm.py: Increase timeout and add debug output Peter Kjellerstedt (1): recipes, classes: Avoid adding extra whitespace to PACKAGESPLITFUNCS Peter Marko (2): externalsrc: fix lookup for .gitmodules oeqa/selftest/externalsrc: add test for srctree_hash_files Petr Kubizňák (1): harfbuzz: remove bindir only if it exists Petr Vorel (1): iputils: update to 20221126 Polampalli, Archana (1): libpam: fix CVE-2022-28321 Qiu, Zheng (3): valgrind: remove most hidden tests for arm64 tiff: Security fix for CVE-2022-3970 vim: upgrade 9.0.0820 -> 9.0.0947 Quentin Schulz (4): cairo: update patch for CVE-2019-6461 with upstream solution cairo: fix CVE patches assigned wrong CVE number docs: kernel-dev: faq: update tip on how to not include kernel in image docs: migration-guides: migration-4.0: specify variable name change for kernel inclusion in image recipe Randy MacLeod (1): valgrind: skip the boost_thread test on arm Ranjitsinh Rathod (1): curl: Correct LICENSE from MIT-open-group to curl Ravula Adhitya Siddartha (2): linux-yocto/5.15: update genericx86* machines to v5.15.78 linux-yocto/5.19: update genericx86* machines to v5.19.17 Richard Purdie (97): bitbake: cache/cookerdata: Move recipe parsing functions from cache to databuilder bitbake: cache: Drop broken/unused code bitbake: cache: Drop unused function bitbake: server: Ensure cooker profiling works bitbake: worker/runqueue: Reduce initial data transfer in workerdata bitbake: cache: Drop support for not saving the cache file bitbake: runqueue: Add further debug for sstate reuse issues bitbake: runqueue: Fix race issues around hash equivalence and sstate reuse bitbake: data/siggen: Switch to use frozensets and optimize bitbake: data_smart: Add debugging for overrides stability issue bitbake: utils: Allow to_boolean to support int values base: Drop do_package base definition bitbake: data: Drop obsolete pydoc/path code bitbake: BBHandler: Remove pointless global variable declarations bitbake: runqueue: Improve error message for missing multiconfig bitbake: data_smart: Small cache reuse optimization bitbake.conf: Simplify CACHE setting oeqa/selftest/tinfoil: Add test for separate config_data with recipe_parse_file() qemu: Ensure libpng dependency is deterministic bitbake: data: Tweak code layout bitbake: cache/siggen: Simplify passing basehash data into the cache bitbake: siggen/cache: Optionally allow adding siggen hash data to the bitbake cache bitbake: parse: Add support for addpylib conf file directive and BB_GLOBAL_PYMODULES bitbake: cookerdata: Ensure layers use LAYERSERIES_COMPAT fairly base: Switch to use addpylib directive and BB_GLOBAL_PYMODULES devtool/friends: Use LAYERSERIES_CORENAMES when generating LAYERSERIES_COMPAT entries scripts/checklayer: Update to match bitbake changes yocto-check-layer: Allow OE-Core to be tested bitbake: main: Add timestamp to server retry messages bitbake: main/server: Add lockfile debugging upon server retry poky/poky-tiny: Drop largefile mentions lib/sstatesig: Drop OEBasic siggen bitbake: siggen: Drop non-multiconfig aware siggen support bitbake: build/siggen/runqueue: Drop do_setscene references bitbake: bitbake: Bump minimum python version requirement to 3.8 sanity: Update minimum python version to 3.8 bitbake: main/process: Add extra sockname debugging Revert "kernel-fitimage: reduce dependency to the cpio" bitbake: siggen: Directly store datacaches reference bitbake: bitbake: siggen/runqueue: Switch to using RECIPE_SIGGEN_INFO feature for signature dumping bitbake: siggen: Add dummy dataCaches from task context/datastore bitbake: build/siggen: Rework stamps functions bitbake: siggen: Clarify which fn is meant bitbake: ast/data/codeparser: Add dependencies from python module functions bitbake: codeparser/data: Add vardepsexclude support to module dependency code bitbake.conf: Add module function vardepsexclude entries time64: Rename to a .inc file to match the others bitbake: command: Add ping command bitbake: cache: Allow compression of the data in SiggenRecipeInfo bitbake: siggen: Minor code improvement bitbake: server/process: Add bitbake.sock race handling oeqa/concurrencytest: Add number of failures to summary output python3-poetry-core: Fix determinism issue breaking reproducibility bitbake: cache/siggen: Fix cache issues with signature handling bitbake: event: builtins fix for 'd' deletion bitbake: cooker: Ensure cache is cleared for partial resets bitbake: tinfoil: Ensure CommandExit is handled bitbake: cache: Drop reciever side counting for SiggenRecipeInfo bitbake: knotty: Avoid looping with tracebacks bitbake: event: Add enable/disable heartbeat code bitbake: cooker/cookerdata: Rework the way the datastores are reset bitbake: server/process: Improve exception and idle function logging bitbake: command: Tweak finishAsyncCommand ordering to avoid races bitbake: cooker: Ensure commands clean up any parser processes bitbake: server/process: Improve idle loop exit code bitbake: event: Always use threadlock bitbake: server/process: Add locking around idle functions accesses bitbake: server/process: Run idle commands in a separate idle thread bitbake: knotty: Ping the server/cooker periodically bitbake: cookerdata: Fix cache/reparsing issue bitbake: cookerdata: Fix previous commit to use a string, not a generator bitbake: command: Ensure that failure cases call finishAsyncComand layer.conf: Update to use mickledore as the layer series name layer.conf: Mark master as compatible with mickledore bitbake: lib/bb: Update thread/process locks to use a timeout package: Move fixup_perms function to bb function library package: Move get_conffiles/files_from_filevars functions to lib package: Move pkgdata handling functions to oe.packagedata package: Move emit_pkgdata to packagedata.py package: Move package functions to function library package: Drop unused function and obsolete comment package: Move mapping_rename_hook to packagedata function library python3-cython: Use PACKAGESPLITFUNCS instead of PACKAGEBUILDPKGD package: Drop support for PACKAGEBUILDPKGD function customisation recipes/classes: Drop prepend/append usage with PACKAGESPLITFUNCS bitbake: cooker: Rework the parsing results submission bitbake: cooker: Clean up inotify idle handler uninative-tarball: Add libgcc patchelf: Add fix submitted upstream for uninative segfaults bitbake: cooker/command: Drop async command handler indirection via cooker bitbake: process/cooker/command: Fix currentAsyncCommand locking/races uninative: Ensure uninative is enabled in all cases for BuildStarted event qemux86-64: Reduce tuning to core2-64 bitbake: tinfoil: Don't wait for events indefinitely bitbake: knotty: Improve shutdown handling bitbake: cooker: Fix exit handling issues bitbake: server/process: Move heartbeat to idle thread Robert Andersson (1): go-crosssdk: avoid host contamination by GOCACHE Ross Burton (28): build-appliance-image: Update to master head revision lib/buildstats: fix parsing of trees with reduced_proc_pressure directories combo-layer: remove unused import combo-layer: dont use bb.utils.rename combo-layer: add sync-revs command libxml2: upgrade 2.9.14 -> 2.10.3 libxml2: add more testing python3-packaging: upgrade to 22.0 python3-hatchling: remove python3-tomli DEPENDS python3-cryptography: remove python3-tomli RDEPENDS meson: drop redundant is_debianlike() patch meson: always use meson subcommands libepoxy: remove upstreamed patch gtk+3: upgrade 3.24.34 -> 3.24.35 gtk+3: port to Meson meson: no need to rebuild on install at-spi2-core: clean up x11 enabling at-spi2-core: disable API docs if x11 is disabled gtk+3: fix reproducible builds lsof: upgrade 4.96.4 -> 4.96.5 pango: upgrade 1.50.11 -> 1.50.12 python3-hatch-vcs: upgrade 0.2.0 -> 0.3.0 python3-hatchling: upgrade 1.11.1 -> 1.12.1 python3-pathspec: upgrade 0.10.1 -> 0.10.3 rm_work: handle non-existant stamps directory oeqa/selftest/debuginfod: improve testcase elfutils: disable deprecation errors in all builds, not just native curl: don't enable debug builds Ryan Eatmon (1): go: Update reproducibility patch to fix panic errors Sandeep Gundlupet Raju (3): libdrm: Remove libdrm-kms package kernel-fitimage: Adjust order of dtb/dtbo files kernel-fitimage: Allow user to select dtb when multiple dtb exists Saul Wold (1): at: Change when files are copied Sergei Zhmylev (1): oeqa/qemurunner: implement vmdk images support Tim Orling (7): python3-hypothesis: upgrade 6.56.4 -> 6.57.1 at-spi2-core: upgrade 2.44.1 -> 2.46.0 mirrors.bbclass: update CPAN_MIRROR libtry-tiny-perl: add recipe for 0.31 libtest-fatal-perl: add recipe for 0.016 libtest-warnings-perl: move from meta-perl liburi-perl: upgrade 5.08 -> 5.17 Trevor Woerner (1): local.conf.sample: update bbclass locations Vincent Davis Jr (1): mesa: enable glvnd support Wang Mingyu (49): btrfs-tools: upgrade 6.0 -> 6.0.1 libpipeline: upgrade 1.5.6 -> 1.5.7 btrfs-tools: upgrade 6.0.1 -> 6.0.2 bind: upgrade 9.18.8 -> 9.18.9 ccache: upgrade 4.7.2 -> 4.7.4 dropbear: upgrade 2022.82 -> 2022.83 libinput: upgrade 1.21.0 -> 1.22.0 libxft: upgrade 2.3.6 -> 2.3.7 mpfr: upgrade 4.1.0 -> 4.1.1 glib-2.0: upgrade 2.74.1 -> 2.74.3 libxcrypt-compat: upgrade 4.4.30 -> 4.4.33 patchelf: upgrade 0.16.1 -> 0.17.0 pciutils: upgrade 3.8.0 -> 3.9.0 shaderc: upgrade 2022.3 -> 2022.4 sqlite3: upgrade 3.39.4 -> 3.40.0 stress-ng: upgrade 0.14.06 -> 0.15.00 swig: upgrade 4.1.0 -> 4.1.1 texinfo: upgrade 7.0 -> 7.0.1 usbutils: upgrade 014 -> 015 xz: upgrade 5.2.7 -> 5.2.9 wayland-protocols: upgrade 1.28 -> 1.31 gnu-config: upgrade to latest revision libfontenc: upgrade 1.1.6 -> 1.1.7 libpcre2: upgrade 10.40 -> 10.41 libpng: upgrade 1.6.38 -> 1.6.39 libxau: upgrade 1.0.10 -> 1.0.11 libxkbfile: upgrade 1.1.1 -> 1.1.2 libxshmfence: upgrade 1.3.1 -> 1.3.2 xrandr: upgrade 1.5.1 -> 1.5.2 boost: upgrade 1.80.0 -> 1.81.0 ell: upgrade 0.54 -> 0.55 git: upgrade 2.38.1 -> 2.39.0 help2man: upgrade 1.49.2 -> 1.49.3 iproute2: upgrade 6.0.0 -> 6.1.0 libmpc: upgrade 1.2.1 -> 1.3.1 makedepend: upgrade 1.0.7 -> 1.0.8 psmisc: upgrade 23.5 -> 23.6 xz: upgrade 5.2.9 -> 5.4.0 gstreamer1.0: upgrade 1.20.4 -> 1.20.5 bind: upgrade 9.18.9 -> 9.18.10 btrfs-tools: upgrade 6.0.2 -> 6.1 librepo: upgrade 1.14.5 -> 1.15.1 libsdl2: upgrade 2.26.1 -> 2.26.2 libva-utils: upgrade 2.17.0 -> 2.17.1 libxkbcommon: upgrade 1.4.1 -> 1.5.0 mpfr: upgrade 4.1.1 -> 4.2.0 dpkg: upgrade 1.21.13 -> 1.21.17 rxvt-unicode: upgrade 9.30 -> 9.31 virglrenderer: upgrade 0.10.3 -> 0.10.4 Xiangyu Chen (3): grub: backport patches to fix CVE-2022-28736 openssh: remove RRECOMMENDS to rng-tools for sshd package grub2: backport patch to fix CVE-2022-2601 CVE-2022-3775 Yoann Congal (2): bitbake: Group and reorder options in bitbake help bitbake: main: Move --buildfile help at the end of "Execution" group leimaohui (1): libpng: Enable NEON for aarch64 to enensure consistency with arm32. pgowda (1): binutils: Add patch to fix CVE-2022-4285 张忠山 (1): bitbake: data_smart: Use regex consistently for override matching meta-raspberrypi: 93dadf336c..896566aa92: Carlos Alberto Lopez Perez (1): weston: disablepackageconfig options that fail to build with userland drivers Khem Raj (2): lirc: Drop upstreamed patch linux-raspberrypi.inc: Weakly assign COMPATIBLE_MACHINE Martin Jansa (2): bluez5: update patches to apply on 5.66 version layer.conf: update LAYERSERIES_COMPAT for mickledore Vincent Davis Jr (5): rpidistro-vlc,rpidistro-ffmpeg: update COMPATIBLE_HOST regex rpidistro-vlc: upgrade 3.0.12 -> 3.0.17 rpi-default-providers: add libav and libpostproc rpidistro-ffmpeg: upgrade 4.3.2 -> 4.3.4 rpidistro-ffmpeg: remove --enable-v4l2-request flag Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: Ied8537beedde0f83790e6e3595057db45f408107
Diffstat (limited to 'poky/meta/recipes-multimedia')
-rw-r--r--poky/meta/recipes-multimedia/alsa/alsa-utils/0001-aplay-axfer-Replace-off64_t-with-off_t.patch272
-rw-r--r--poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.8.bb4
-rw-r--r--poky/meta/recipes-multimedia/ffmpeg/ffmpeg/0001-avcodec-rpzaenc-stop-accessing-out-of-bounds-frame.patch89
-rw-r--r--poky/meta/recipes-multimedia/ffmpeg/ffmpeg/0001-avcodec-smcenc-stop-accessing-out-of-bounds-frame.patch108
-rw-r--r--poky/meta/recipes-multimedia/ffmpeg/ffmpeg_5.1.2.bb7
-rw-r--r--poky/meta/recipes-multimedia/flac/flac_1.4.2.bb (renamed from poky/meta/recipes-multimedia/flac/flac_1.4.0.bb)8
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.20.5.bb (renamed from poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.20.4.bb)2
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.5.bb (renamed from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.4.bb)2
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.5.bb (renamed from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.4.bb)2
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.5.bb (renamed from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.4.bb)2
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.5.bb (renamed from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.4.bb)2
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.5.bb (renamed from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.4.bb)2
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-license.inc2
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc4
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.20.5.bb (renamed from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.20.4.bb)2
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.20.5.bb (renamed from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.20.4.bb)2
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.20.5.bb (renamed from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.20.4.bb)2
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.5.bb (renamed from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.4.bb)2
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0005-bin-Fix-race-conditions-in-tests.patch300
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-remove-gstbin-test_watch_for_state_change-test.patch107
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.20.5.bb (renamed from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.20.4.bb)4
-rw-r--r--poky/meta/recipes-multimedia/libpng/libpng_1.6.39.bb (renamed from poky/meta/recipes-multimedia/libpng/libpng_1.6.38.bb)6
-rw-r--r--poky/meta/recipes-multimedia/libsndfile/libsndfile1_1.2.0.bb (renamed from poky/meta/recipes-multimedia/libsndfile/libsndfile1_1.1.0.bb)2
-rw-r--r--poky/meta/recipes-multimedia/libtiff/files/0001-Revised-handling-of-TIFFTAG_INKNAMES-and-related-TIF.patch266
-rw-r--r--poky/meta/recipes-multimedia/libtiff/files/0001-fix-the-FPE-in-tiffcrop-415-427-and-428.patch184
-rw-r--r--poky/meta/recipes-multimedia/libtiff/files/0001-tiffcrop-S-option-Make-decision-simpler.patch36
-rw-r--r--poky/meta/recipes-multimedia/libtiff/files/0001-tiffcrop-disable-incompatibility-of-Z-X-Y-z-options-.patch59
-rw-r--r--poky/meta/recipes-multimedia/libtiff/files/0001-tiffcrop-subroutines-require-a-larger-buffer-fixes-2.patch653
-rw-r--r--poky/meta/recipes-multimedia/libtiff/files/CVE-2022-2953.patch86
-rw-r--r--poky/meta/recipes-multimedia/libtiff/files/CVE-2022-34526.patch32
-rw-r--r--poky/meta/recipes-multimedia/libtiff/tiff_4.5.0.bb (renamed from poky/meta/recipes-multimedia/libtiff/tiff_4.4.0.bb)15
-rw-r--r--poky/meta/recipes-multimedia/mpg123/mpg123_1.31.1.bb2
32 files changed, 806 insertions, 1460 deletions
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils/0001-aplay-axfer-Replace-off64_t-with-off_t.patch b/poky/meta/recipes-multimedia/alsa/alsa-utils/0001-aplay-axfer-Replace-off64_t-with-off_t.patch
new file mode 100644
index 0000000000..356c5964ae
--- /dev/null
+++ b/poky/meta/recipes-multimedia/alsa/alsa-utils/0001-aplay-axfer-Replace-off64_t-with-off_t.patch
@@ -0,0 +1,272 @@
+From 03553ccc6284a437576349b5a3c2ed0d7d4265e1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 15 Dec 2022 14:04:10 -0800
+Subject: [PATCH] aplay,axfer: Replace off64_t with off_t
+
+Also replace lseek64 with lseek.
+
+_FILE_OFFSET_BITS=64 is passed to needed platforms since configure uses
+AC_SYS_LARGEFILE macro. Therefore off_t is already 64-bit and lseek is
+same as lseek64.
+
+Additionally this fixes buils with latest musl where these lfs64
+functions are moved out from _GNU_SOURCE and under _LARGEFILE64_SOURCE
+macro alone. This makes the builds fail on 32-bit platforms even though
+default off_t on musl is 64-bit always.
+
+Upstream-Status: Submitted [https://github.com/alsa-project/alsa-utils/pull/183]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ aplay/aplay.c | 44 ++++++++++++++++++-------------------
+ axfer/container-voc.c | 2 +-
+ axfer/container.c | 6 ++---
+ axfer/container.h | 2 +-
+ axfer/test/container-test.c | 4 ++--
+ axfer/test/mapper-test.c | 2 +-
+ 6 files changed, 30 insertions(+), 30 deletions(-)
+
+diff --git a/aplay/aplay.c b/aplay/aplay.c
+index 6ce7191..bd93be3 100644
+--- a/aplay/aplay.c
++++ b/aplay/aplay.c
+@@ -141,7 +141,7 @@ static long term_c_lflag = -1;
+ static int dump_hw_params = 0;
+
+ static int fd = -1;
+-static off64_t pbrec_count = LLONG_MAX, fdcount;
++static off_t pbrec_count = LLONG_MAX, fdcount;
+ static int vocmajor, vocminor;
+
+ static char *pidfile_name = NULL;
+@@ -2356,7 +2356,7 @@ static void voc_play(int fd, int ofs, char *name)
+ u_char *data, *buf;
+ char was_extended = 0, output = 0;
+ u_short *sp, repeat = 0;
+- off64_t filepos = 0;
++ off_t filepos = 0;
+
+ #define COUNT(x) nextblock -= x; in_buffer -= x; data += x
+ #define COUNT1(x) in_buffer -= x; data += x
+@@ -2490,7 +2490,7 @@ static void voc_play(int fd, int ofs, char *name)
+ d_printf("Repeat loop %d times\n", repeat);
+ #endif
+ if (filepos >= 0) { /* if < 0, one seek fails, why test another */
+- if ((filepos = lseek64(fd, 0, 1)) < 0) {
++ if ((filepos = lseek(fd, 0, 1)) < 0) {
+ error(_("can't play loops; %s isn't seekable\n"), name);
+ repeat = 0;
+ } else {
+@@ -2512,7 +2512,7 @@ static void voc_play(int fd, int ofs, char *name)
+ else
+ d_printf("Neverending loop\n");
+ #endif
+- lseek64(fd, filepos, 0);
++ lseek(fd, filepos, 0);
+ in_buffer = 0; /* clear the buffer */
+ goto Fill_the_buffer;
+ }
+@@ -2578,9 +2578,9 @@ static void init_raw_data(void)
+ }
+
+ /* calculate the data count to read from/to dsp */
+-static off64_t calc_count(void)
++static off_t calc_count(void)
+ {
+- off64_t count;
++ off_t count;
+
+ if (timelimit == 0)
+ if (sampleslimit == 0)
+@@ -2589,7 +2589,7 @@ static off64_t calc_count(void)
+ count = snd_pcm_format_size(hwparams.format, sampleslimit * hwparams.channels);
+ else {
+ count = snd_pcm_format_size(hwparams.format, hwparams.rate * hwparams.channels);
+- count *= (off64_t)timelimit;
++ count *= (off_t)timelimit;
+ }
+ return count < pbrec_count ? count : pbrec_count;
+ }
+@@ -2750,7 +2750,7 @@ static void begin_au(int fd, size_t cnt)
+ /* closing .VOC */
+ static void end_voc(int fd)
+ {
+- off64_t length_seek;
++ off_t length_seek;
+ VocBlockType bt;
+ size_t cnt;
+ char dummy = 0; /* Write a Terminator */
+@@ -2770,15 +2770,15 @@ static void end_voc(int fd)
+ bt.datalen = (u_char) (cnt & 0xFF);
+ bt.datalen_m = (u_char) ((cnt & 0xFF00) >> 8);
+ bt.datalen_h = (u_char) ((cnt & 0xFF0000) >> 16);
+- if (lseek64(fd, length_seek, SEEK_SET) == length_seek)
++ if (lseek(fd, length_seek, SEEK_SET) == length_seek)
+ xwrite(fd, &bt, sizeof(VocBlockType));
+ }
+
+ static void end_wave(int fd)
+ { /* only close output */
+ WaveChunkHeader cd;
+- off64_t length_seek;
+- off64_t filelen;
++ off_t length_seek;
++ off_t filelen;
+ u_int rifflen;
+
+ length_seek = sizeof(WaveHeader) +
+@@ -2788,20 +2788,20 @@ static void end_wave(int fd)
+ cd.length = fdcount > 0x7fffffff ? LE_INT(0x7fffffff) : LE_INT(fdcount);
+ filelen = fdcount + 2*sizeof(WaveChunkHeader) + sizeof(WaveFmtBody) + 4;
+ rifflen = filelen > 0x7fffffff ? LE_INT(0x7fffffff) : LE_INT(filelen);
+- if (lseek64(fd, 4, SEEK_SET) == 4)
++ if (lseek(fd, 4, SEEK_SET) == 4)
+ xwrite(fd, &rifflen, 4);
+- if (lseek64(fd, length_seek, SEEK_SET) == length_seek)
++ if (lseek(fd, length_seek, SEEK_SET) == length_seek)
+ xwrite(fd, &cd, sizeof(WaveChunkHeader));
+ }
+
+ static void end_au(int fd)
+ { /* only close output */
+ AuHeader ah;
+- off64_t length_seek;
++ off_t length_seek;
+
+ length_seek = (char *)&ah.data_size - (char *)&ah;
+ ah.data_size = fdcount > 0xffffffff ? 0xffffffff : BE_INT(fdcount);
+- if (lseek64(fd, length_seek, SEEK_SET) == length_seek)
++ if (lseek(fd, length_seek, SEEK_SET) == length_seek)
+ xwrite(fd, &ah.data_size, sizeof(ah.data_size));
+ }
+
+@@ -2828,11 +2828,11 @@ static void header(int rtype, char *name)
+
+ /* playing raw data */
+
+-static void playback_go(int fd, size_t loaded, off64_t count, int rtype, char *name)
++static void playback_go(int fd, size_t loaded, off_t count, int rtype, char *name)
+ {
+ int l, r;
+- off64_t written = 0;
+- off64_t c;
++ off_t written = 0;
++ off_t c;
+
+ header(rtype, name);
+ set_params();
+@@ -3202,7 +3202,7 @@ static void capture(char *orig_name)
+ int filecount=0; /* number of files written */
+ char *name = orig_name; /* current filename */
+ char namebuf[PATH_MAX+2];
+- off64_t count, rest; /* number of bytes to capture */
++ off_t count, rest; /* number of bytes to capture */
+ struct stat statbuf;
+
+ /* get number of bytes to capture */
+@@ -3273,7 +3273,7 @@ static void capture(char *orig_name)
+ /* capture */
+ fdcount = 0;
+ while (rest > 0 && recycle_capture_file == 0 && !in_aborting) {
+- size_t c = (rest <= (off64_t)chunk_bytes) ?
++ size_t c = (rest <= (off_t)chunk_bytes) ?
+ (size_t)rest : chunk_bytes;
+ size_t f = c * 8 / bits_per_frame;
+ size_t read = pcm_read(audiobuf, f);
+@@ -3314,7 +3314,7 @@ static void capture(char *orig_name)
+ } while ((file_type == FORMAT_RAW && !timelimit && !sampleslimit) || count > 0);
+ }
+
+-static void playbackv_go(int* fds, unsigned int channels, size_t loaded, off64_t count, int rtype, char **names)
++static void playbackv_go(int* fds, unsigned int channels, size_t loaded, off_t count, int rtype, char **names)
+ {
+ int r;
+ size_t vsize;
+@@ -3368,7 +3368,7 @@ static void playbackv_go(int* fds, unsigned int channels, size_t loaded, off64_t
+ }
+ }
+
+-static void capturev_go(int* fds, unsigned int channels, off64_t count, int rtype, char **names)
++static void capturev_go(int* fds, unsigned int channels, off_t count, int rtype, char **names)
+ {
+ size_t c;
+ ssize_t r;
+diff --git a/axfer/container-voc.c b/axfer/container-voc.c
+index ec0cfff..5941003 100644
+--- a/axfer/container-voc.c
++++ b/axfer/container-voc.c
+@@ -775,7 +775,7 @@ static int write_block_terminator(struct container_context *cntr)
+ static int write_data_size(struct container_context *cntr, uint64_t byte_count)
+ {
+ struct builder_state *state = cntr->private_data;
+- off64_t offset;
++ off_t offset;
+ uint8_t size_field[3];
+ int err;
+
+diff --git a/axfer/container.c b/axfer/container.c
+index 8c88d5c..379b72f 100644
+--- a/axfer/container.c
++++ b/axfer/container.c
+@@ -113,11 +113,11 @@ enum container_format container_format_from_path(const char *path)
+ return CONTAINER_FORMAT_RAW;
+ }
+
+-int container_seek_offset(struct container_context *cntr, off64_t offset)
++int container_seek_offset(struct container_context *cntr, off_t offset)
+ {
+- off64_t pos;
++ off_t pos;
+
+- pos = lseek64(cntr->fd, offset, SEEK_SET);
++ pos = lseek(cntr->fd, offset, SEEK_SET);
+ if (pos < 0)
+ return -errno;
+ if (pos != offset)
+diff --git a/axfer/container.h b/axfer/container.h
+index 71017a6..f6ce689 100644
+--- a/axfer/container.h
++++ b/axfer/container.h
+@@ -107,7 +107,7 @@ int container_recursive_read(struct container_context *cntr, void *buf,
+ unsigned int byte_count);
+ int container_recursive_write(struct container_context *cntr, void *buf,
+ unsigned int byte_count);
+-int container_seek_offset(struct container_context *cntr, off64_t offset);
++int container_seek_offset(struct container_context *cntr, off_t offset);
+
+ extern const struct container_parser container_parser_riff_wave;
+ extern const struct container_builder container_builder_riff_wave;
+diff --git a/axfer/test/container-test.c b/axfer/test/container-test.c
+index e5b62dd..45b6c6a 100644
+--- a/axfer/test/container-test.c
++++ b/axfer/test/container-test.c
+@@ -153,7 +153,7 @@ static int callback(struct test_generator *gen, snd_pcm_access_t access,
+
+ for (i = 0; i < ARRAY_SIZE(entries); ++i) {
+ int fd;
+- off64_t pos;
++ off_t pos;
+
+ frames_per_second = entries[i];
+
+@@ -172,7 +172,7 @@ static int callback(struct test_generator *gen, snd_pcm_access_t access,
+ frames_per_second, frame_buffer, frame_count,
+ trial->verbose);
+
+- pos = lseek64(fd, 0, SEEK_SET);
++ pos = lseek(fd, 0, SEEK_SET);
+ if (pos < 0) {
+ err = -errno;
+ break;
+diff --git a/axfer/test/mapper-test.c b/axfer/test/mapper-test.c
+index 477871d..6a389e9 100644
+--- a/axfer/test/mapper-test.c
++++ b/axfer/test/mapper-test.c
+@@ -257,7 +257,7 @@ static int test_mapper(struct mapper_trial *trial, snd_pcm_access_t access,
+ goto end;
+
+ for (i = 0; i < cntr_count; ++i) {
+- off64_t pos = lseek64(cntr_fds[i], 0, SEEK_SET);
++ off_t pos = lseek(cntr_fds[i], 0, SEEK_SET);
+ if (pos != 0) {
+ err = -EIO;
+ goto end;
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.8.bb b/poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.8.bb
index b355deacc8..46d39b0de8 100644
--- a/poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.8.bb
+++ b/poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.8.bb
@@ -24,7 +24,9 @@ PACKAGECONFIG[udev] = "--with-udev-rules-dir=`pkg-config --variable=udevdir udev
PACKAGECONFIG[manpages] = "--enable-xmlto, --disable-xmlto, xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
# alsa-utils specified in SRC_URI due to alsa-utils-scripts recipe
-SRC_URI = "https://www.alsa-project.org/files/pub/utils/alsa-utils-${PV}.tar.bz2"
+SRC_URI = "https://www.alsa-project.org/files/pub/utils/alsa-utils-${PV}.tar.bz2 \
+ file://0001-aplay-axfer-Replace-off64_t-with-off_t.patch \
+ "
SRC_URI[sha256sum] = "e140fa604c351f36bd72167c8860c69d81b964ae6ab53992d6434dde38e9333c"
# On build machines with python-docutils (not python3-docutils !!) installed
diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/0001-avcodec-rpzaenc-stop-accessing-out-of-bounds-frame.patch b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/0001-avcodec-rpzaenc-stop-accessing-out-of-bounds-frame.patch
new file mode 100644
index 0000000000..2775a81cc8
--- /dev/null
+++ b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/0001-avcodec-rpzaenc-stop-accessing-out-of-bounds-frame.patch
@@ -0,0 +1,89 @@
+From 92f9b28ed84a77138105475beba16c146bdaf984 Mon Sep 17 00:00:00 2001
+From: Paul B Mahol <onemda@gmail.com>
+Date: Sat, 12 Nov 2022 16:12:00 +0100
+Subject: [PATCH] avcodec/rpzaenc: stop accessing out of bounds frame
+
+Upstream-Status: Backport [https://github.com/FFmpeg/FFmpeg/commit/92f9b28ed84a77138105475beba16c146bdaf984]
+
+Signed-off-by: <narpat.mali@windriver.com>
+
+---
+ libavcodec/rpzaenc.c | 22 +++++++++++++++-------
+ 1 file changed, 15 insertions(+), 7 deletions(-)
+
+diff --git a/libavcodec/rpzaenc.c b/libavcodec/rpzaenc.c
+index d710eb4f82..4ced9523e2 100644
+--- a/libavcodec/rpzaenc.c
++++ b/libavcodec/rpzaenc.c
+@@ -205,7 +205,7 @@ static void get_max_component_diff(const BlockInfo *bi, const uint16_t *block_pt
+
+ // loop thru and compare pixels
+ for (y = 0; y < bi->block_height; y++) {
+- for (x = 0; x < bi->block_width; x++){
++ for (x = 0; x < bi->block_width; x++) {
+ // TODO: optimize
+ min_r = FFMIN(R(block_ptr[x]), min_r);
+ min_g = FFMIN(G(block_ptr[x]), min_g);
+@@ -278,7 +278,7 @@ static int leastsquares(const uint16_t *block_ptr, const BlockInfo *bi,
+ return -1;
+
+ for (i = 0; i < bi->block_height; i++) {
+- for (j = 0; j < bi->block_width; j++){
++ for (j = 0; j < bi->block_width; j++) {
+ x = GET_CHAN(block_ptr[j], xchannel);
+ y = GET_CHAN(block_ptr[j], ychannel);
+ sumx += x;
+@@ -325,7 +325,7 @@ static int calc_lsq_max_fit_error(const uint16_t *block_ptr, const BlockInfo *bi
+ int max_err = 0;
+
+ for (i = 0; i < bi->block_height; i++) {
+- for (j = 0; j < bi->block_width; j++){
++ for (j = 0; j < bi->block_width; j++) {
+ int x_inc, lin_y, lin_x;
+ x = GET_CHAN(block_ptr[j], xchannel);
+ y = GET_CHAN(block_ptr[j], ychannel);
+@@ -420,7 +420,9 @@ static void update_block_in_prev_frame(const uint16_t *src_pixels,
+ uint16_t *dest_pixels,
+ const BlockInfo *bi, int block_counter)
+ {
+- for (int y = 0; y < 4; y++) {
++ const int y_size = FFMIN(4, bi->image_height - bi->row * 4);
++
++ for (int y = 0; y < y_size; y++) {
+ memcpy(dest_pixels, src_pixels, 8);
+ dest_pixels += bi->rowstride;
+ src_pixels += bi->rowstride;
+@@ -730,14 +732,15 @@ post_skip :
+
+ if (err > s->sixteen_color_thresh) { // DO SIXTEEN COLOR BLOCK
+ uint16_t *row_ptr;
+- int rgb555;
++ int y_size, rgb555;
+
+ block_offset = get_block_info(&bi, block_counter);
+
+ row_ptr = &src_pixels[block_offset];
++ y_size = FFMIN(4, bi.image_height - bi.row * 4);
+
+- for (int y = 0; y < 4; y++) {
+- for (int x = 0; x < 4; x++){
++ for (int y = 0; y < y_size; y++) {
++ for (int x = 0; x < 4; x++) {
+ rgb555 = row_ptr[x] & ~0x8000;
+
+ put_bits(&s->pb, 16, rgb555);
+@@ -745,6 +748,11 @@ post_skip :
+ row_ptr += bi.rowstride;
+ }
+
++ for (int y = y_size; y < 4; y++) {
++ for (int x = 0; x < 4; x++)
++ put_bits(&s->pb, 16, 0);
++ }
++
+ block_counter++;
+ } else { // FOUR COLOR BLOCK
+ block_counter += encode_four_color_block(min_color, max_color,
+--
+2.34.1
+
diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/0001-avcodec-smcenc-stop-accessing-out-of-bounds-frame.patch b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/0001-avcodec-smcenc-stop-accessing-out-of-bounds-frame.patch
new file mode 100644
index 0000000000..923fc6a9c1
--- /dev/null
+++ b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/0001-avcodec-smcenc-stop-accessing-out-of-bounds-frame.patch
@@ -0,0 +1,108 @@
+From 13c13109759090b7f7182480d075e13b36ed8edd Mon Sep 17 00:00:00 2001
+From: Paul B Mahol <onemda@gmail.com>
+Date: Sat, 12 Nov 2022 15:19:21 +0100
+Subject: [PATCH] avcodec/smcenc: stop accessing out of bounds frame
+
+Upstream-Status: Backport [https://github.com/FFmpeg/FFmpeg/commit/13c13109759090b7f7182480d075e13b36ed8edd]
+
+Signed-off-by: <narpat.mali@windriver.com>
+
+---
+ libavcodec/smcenc.c | 18 ++++++++++++++----
+ 1 file changed, 14 insertions(+), 4 deletions(-)
+
+diff --git a/libavcodec/smcenc.c b/libavcodec/smcenc.c
+index f3d26a4e8d..33549b8ab4 100644
+--- a/libavcodec/smcenc.c
++++ b/libavcodec/smcenc.c
+@@ -61,6 +61,7 @@ typedef struct SMCContext {
+ { \
+ row_ptr += stride * 4; \
+ pixel_ptr = row_ptr; \
++ cur_y += 4; \
+ } \
+ } \
+ }
+@@ -117,6 +118,7 @@ static void smc_encode_stream(SMCContext *s, const AVFrame *frame,
+ const uint8_t *prev_pixels = (const uint8_t *)s->prev_frame->data[0];
+ uint8_t *distinct_values = s->distinct_values;
+ const uint8_t *pixel_ptr, *row_ptr;
++ const int height = frame->height;
+ const int width = frame->width;
+ uint8_t block_values[16];
+ int block_counter = 0;
+@@ -125,13 +127,14 @@ static void smc_encode_stream(SMCContext *s, const AVFrame *frame,
+ int color_octet_index = 0;
+ int color_table_index; /* indexes to color pair, quad, or octet tables */
+ int total_blocks;
++ int cur_y = 0;
+
+ memset(s->color_pairs, 0, sizeof(s->color_pairs));
+ memset(s->color_quads, 0, sizeof(s->color_quads));
+ memset(s->color_octets, 0, sizeof(s->color_octets));
+
+ /* Number of 4x4 blocks in frame. */
+- total_blocks = ((frame->width + 3) / 4) * ((frame->height + 3) / 4);
++ total_blocks = ((width + 3) / 4) * ((height + 3) / 4);
+
+ pixel_ptr = row_ptr = src_pixels;
+
+@@ -145,11 +148,13 @@ static void smc_encode_stream(SMCContext *s, const AVFrame *frame,
+ int cache_index;
+ int distinct = 0;
+ int blocks = 0;
++ int frame_y = cur_y;
+
+ while (prev_pixels && s->key_frame == 0 && block_counter + inter_skip_blocks < total_blocks) {
++ const int y_size = FFMIN(4, height - cur_y);
+ int compare = 0;
+
+- for (int y = 0; y < 4; y++) {
++ for (int y = 0; y < y_size; y++) {
+ const ptrdiff_t offset = pixel_ptr - src_pixels;
+ const uint8_t *prev_pixel_ptr = prev_pixels + offset;
+
+@@ -170,8 +175,10 @@ static void smc_encode_stream(SMCContext *s, const AVFrame *frame,
+
+ pixel_ptr = xpixel_ptr;
+ row_ptr = xrow_ptr;
++ cur_y = frame_y;
+
+ while (block_counter > 0 && block_counter + intra_skip_blocks < total_blocks) {
++ const int y_size = FFMIN(4, height - cur_y);
+ const ptrdiff_t offset = pixel_ptr - src_pixels;
+ const int sy = offset / stride;
+ const int sx = offset % stride;
+@@ -180,7 +187,7 @@ static void smc_encode_stream(SMCContext *s, const AVFrame *frame,
+ const uint8_t *old_pixel_ptr = src_pixels + nx + ny * stride;
+ int compare = 0;
+
+- for (int y = 0; y < 4; y++) {
++ for (int y = 0; y < y_size; y++) {
+ compare |= memcmp(old_pixel_ptr + y * stride, pixel_ptr + y * stride, 4);
+ if (compare)
+ break;
+@@ -197,9 +204,11 @@ static void smc_encode_stream(SMCContext *s, const AVFrame *frame,
+
+ pixel_ptr = xpixel_ptr;
+ row_ptr = xrow_ptr;
++ cur_y = frame_y;
+
+ while (block_counter + coded_blocks < total_blocks && coded_blocks < 256) {
+- for (int y = 0; y < 4; y++)
++ const int y_size = FFMIN(4, height - cur_y);
++ for (int y = 0; y < y_size; y++)
+ memcpy(block_values + y * 4, pixel_ptr + y * stride, 4);
+
+ qsort(block_values, 16, sizeof(block_values[0]), smc_cmp_values);
+@@ -224,6 +233,7 @@ static void smc_encode_stream(SMCContext *s, const AVFrame *frame,
+
+ pixel_ptr = xpixel_ptr;
+ row_ptr = xrow_ptr;
++ cur_y = frame_y;
+
+ blocks = coded_blocks;
+ distinct = coded_distinct;
+--
+2.34.1
+
diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_5.1.2.bb b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_5.1.2.bb
index a0c98d4ae0..0f67c9e949 100644
--- a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_5.1.2.bb
+++ b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_5.1.2.bb
@@ -22,7 +22,11 @@ LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://COPYING.LGPLv2.1;md5=bd7a443320af8c812e4c18d1b79df004 \
file://COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02"
-SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz"
+SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz \
+ file://0001-avcodec-rpzaenc-stop-accessing-out-of-bounds-frame.patch \
+ file://0001-avcodec-smcenc-stop-accessing-out-of-bounds-frame.patch \
+ "
+
SRC_URI[sha256sum] = "619e706d662c8420859832ddc259cd4d4096a48a2ce1eefd052db9e440eef3dc"
# Build fails when thumb is enabled: https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717
@@ -138,6 +142,7 @@ EXTRA_OEMAKE = "V=1"
do_configure() {
${S}/configure ${EXTRA_OECONF}
+ sed -i -e "s,^X86ASMFLAGS=.*,& --debug-prefix-map=${S}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} --debug-prefix-map=${B}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR},g" ${B}/ffbuild/config.mak
}
# patch out build host paths for reproducibility
diff --git a/poky/meta/recipes-multimedia/flac/flac_1.4.0.bb b/poky/meta/recipes-multimedia/flac/flac_1.4.2.bb
index 360396380d..d3ece3f3cf 100644
--- a/poky/meta/recipes-multimedia/flac/flac_1.4.0.bb
+++ b/poky/meta/recipes-multimedia/flac/flac_1.4.2.bb
@@ -9,29 +9,25 @@ LIC_FILES_CHKSUM = "file://COPYING.FDL;md5=ad1419ecc56e060eccf8184a87c4285f \
file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://src/flac/main.c;beginline=1;endline=18;md5=893456854ce6bf14a1a7ea77266eebab \
file://COPYING.LGPL;md5=fbc093901857fcd118f065f900982c24 \
- file://src/plugin_common/all.h;beginline=1;endline=18;md5=73c74192ce89ee6238d15a171e00c971 \
file://COPYING.Xiph;md5=3d6da238b5b57a0965d6730291119f65 \
- file://include/FLAC/all.h;beginline=65;endline=70;md5=64474f2b22e9e77b28d8b8b25c983a48"
+ file://include/FLAC/all.h;beginline=65;endline=70;md5=39aaf5e03c7364363884c8b8ddda8eea"
SRC_URI = "http://downloads.xiph.org/releases/flac/${BP}.tar.xz"
-SRC_URI[sha256sum] = "af41c0733c93c237c3e52f64dd87e3b0d9af38259f1c7d11e8cbf583c48c2506"
+SRC_URI[sha256sum] = "e322d58a1f48d23d9dd38f432672865f6f79e73a6f9cc5a5f57fcaa83eb5a8e4"
CVE_PRODUCT = "libflac flac"
inherit autotools gettext
EXTRA_OECONF = "--disable-oggtest \
- --disable-xmms-plugin \
--without-libiconv-prefix \
ac_cv_prog_NASM="" \
"
PACKAGECONFIG ??= " \
${@bb.utils.filter("TUNE_FEATURES", "altivec vsx", d)} \
- ${@bb.utils.contains_any("TUNE_FEATURES", "core2 corei7", "sse", "", d)} \
ogg \
"
-PACKAGECONFIG[sse] = "--enable-sse,--disable-sse"
PACKAGECONFIG[altivec] = "--enable-altivec,--disable-altivec"
PACKAGECONFIG[vsx] = "--enable-vsx,--disable-vsx"
PACKAGECONFIG[avx] = "--enable-avx,--disable-avx"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.20.4.bb b/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.20.5.bb
index 09b6e5a497..9db31c18e4 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.20.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.20.5.bb
@@ -12,7 +12,7 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-devtools/gst-devtools-${PV}
file://0001-connect-has-a-different-signature-on-musl.patch \
"
-SRC_URI[sha256sum] = "82a293600273f4dd3eed567aae510ca0c7d629c3807788b00e6cdbd1d2459a84"
+SRC_URI[sha256sum] = "5684436121b8bae07fd00b74395f95e44b5f26323dce4fa045fa665676807bba"
DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base"
RRECOMMENDS:${PN} = "git"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.5.bb
index e23cf2e337..e5925c6510 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.5.bb
@@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770 \
"
SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz"
-SRC_URI[sha256sum] = "04ccbdd58fb31dd94098da599209834a0e7661638c5703381dd0a862c56fc532"
+SRC_URI[sha256sum] = "b152e3cc49d014899f53c39d8a6224a44e1399b4cf76aa5f9a903fdf9793c3cc"
S = "${WORKDIR}/gst-libav-${PV}"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.5.bb
index 4d63db89a7..ec5efcd408 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.5.bb
@@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
SRC_URI = "https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-${PV}.tar.xz"
-SRC_URI[sha256sum] = "70ddd485e2dcab79070164d61ad2ff3a63e15a1d7abf9075d86eb77762b0edfd"
+SRC_URI[sha256sum] = "bcccbc02548cdc123fd49944dd44a4f1adc5d107e36f010d320eb526e2107806"
S = "${WORKDIR}/gst-omx-${PV}"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.5.bb
index 0eac1322a3..2f1793d1ce 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.5.bb
@@ -10,7 +10,7 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad
file://0002-avoid-including-sys-poll.h-directly.patch \
file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \
"
-SRC_URI[sha256sum] = "a1a3f53b3604d9a04fdd0bf9a1a616c3d2dab5320489e9ecee1178e81e33a16a"
+SRC_URI[sha256sum] = "f431214b0754d7037adcde93c3195106196588973e5b32dcb24938805f866363"
S = "${WORKDIR}/gst-plugins-bad-${PV}"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.5.bb
index a0f238a59d..c37b542c57 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.5.bb
@@ -11,7 +11,7 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-ba
file://0003-viv-fb-Make-sure-config.h-is-included.patch \
file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \
"
-SRC_URI[sha256sum] = "8d181b7abe4caf23ee9f9ec5b4d3e232640452464e39495bfffb6d776fc97225"
+SRC_URI[sha256sum] = "11f911ef65f3095d7cf698a1ad1fc5242ac3ad6c9270465fb5c9e7f4f9c19b35"
S = "${WORKDIR}/gst-plugins-base-${PV}"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.5.bb
index f690735989..f7ade89ef8 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.5.bb
@@ -8,7 +8,7 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-go
file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \
"
-SRC_URI[sha256sum] = "b16130fbe632fa8547c2147a0ef575b0140fb521065c5cb121c72ddbd23b64da"
+SRC_URI[sha256sum] = "e83ab4d12ca24959489bbb0ec4fac9b90e32f741d49cda357cb554b2cb8b97f9"
S = "${WORKDIR}/gst-plugins-good-${PV}"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-license.inc b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-license.inc
index 6638f13540..8b1c001111 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-license.inc
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-license.inc
@@ -1,7 +1,7 @@
# This .inc file contains functionality for automatically setting
# the the license of all plugins according to the GSTREAMER_GPL.
-PACKAGESPLITFUNCS:append = " set_gstreamer_license "
+PACKAGESPLITFUNCS += "set_gstreamer_license"
python set_gstreamer_license () {
import oe.utils
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
index afc7be40c8..d77aeed8a2 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
@@ -9,8 +9,8 @@
# Dynamically generate packages for all enabled plugins
PACKAGES_DYNAMIC = "^${PN}-.* ^libgst.*"
-PACKAGESPLITFUNCS:prepend = " split_gstreamer10_packages "
-PACKAGESPLITFUNCS:append = " set_gstreamer10_metapkg_rdepends "
+PACKAGESPLITFUNCS =+ "split_gstreamer10_packages"
+PACKAGESPLITFUNCS += "set_gstreamer10_metapkg_rdepends"
python split_gstreamer10_packages () {
gst_libdir = d.expand('${libdir}/gstreamer-1.0')
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.20.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.20.5.bb
index 94b8c8e2cf..f765e626c9 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.20.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.20.5.bb
@@ -14,7 +14,7 @@ LICENSE_FLAGS = "commercial"
SRC_URI = " \
https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${PV}.tar.xz \
"
-SRC_URI[sha256sum] = "5c9ec6bab96517e438b3f9bae0ceb84d3436f3da9bbe180cf4d28e32a7251b59"
+SRC_URI[sha256sum] = "af67d8ba7cab230f64d0594352112c2c443e2aa36a87c35f9f98a43d11430b87"
S = "${WORKDIR}/gst-plugins-ugly-${PV}"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.20.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.20.5.bb
index b514989864..05e9ace276 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.20.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.20.5.bb
@@ -8,7 +8,7 @@ LICENSE = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740"
SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "5eb4136d03e2a495f4499c8b2e6d9d3e7b5e73c5a8b8acf9213d57bc6a7bd3c1"
+SRC_URI[sha256sum] = "27487652318659cfd7dc42784b713c78d29cc7a7df4fb397134c8c125f65e3b2"
DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
RDEPENDS:${PN} += "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.20.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.20.5.bb
index 4137b4993b..c9cf42903d 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.20.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.20.5.bb
@@ -10,7 +10,7 @@ PNREAL = "gst-rtsp-server"
SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "88d9ef634e59aeb8cc183ad5ae444557c5a88dd49d833b9072bc6e1fae6a3d7d"
+SRC_URI[sha256sum] = "ba398a7ddd559cce56ef4b91f448d174e0dccad98a493563d2d59c41a2ef39c5"
S = "${WORKDIR}/${PNREAL}-${PV}"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.5.bb
index 81ec23d26e..716f50ebe1 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.5.bb
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "ab12596144c05506e9782374c5d2cdfb3069fca89908d6de360d947bb77fd06a"
+SRC_URI[sha256sum] = "510c6fb4ff3f676d7946ce1800e04ccf5aabe5a586d4e164d1961808fab8c94b"
S = "${WORKDIR}/${REALPN}-${PV}"
DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0005-bin-Fix-race-conditions-in-tests.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0005-bin-Fix-race-conditions-in-tests.patch
new file mode 100644
index 0000000000..f1fac2df57
--- /dev/null
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0005-bin-Fix-race-conditions-in-tests.patch
@@ -0,0 +1,300 @@
+From e1e2d8d58c1e09e065849cdb1f6466c0537a7c51 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
+Date: Tue, 21 Jun 2022 11:51:35 +0300
+Subject: [PATCH] bin: Fix race conditions in tests
+
+The latency messages are non-deterministic and can arrive before/after
+async-done or during state-changes as they are posted by e.g. sinks from
+their streaming thread but bins are finishing asynchronous state changes
+from a secondary helper thread.
+
+To solve this, expect latency messages at any time and assert that we
+receive one at some point during the test.
+
+Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2643>
+
+Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2643]
+Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
+---
+ .../gstreamer/tests/check/gst/gstbin.c | 132 ++++++++++++------
+ 1 file changed, 92 insertions(+), 40 deletions(-)
+
+diff --git a/subprojects/gstreamer/tests/check/gst/gstbin.c b/subprojects/gstreamer/tests/check/gst/gstbin.c
+index e366d5fe20f..88ff44db0c3 100644
+--- a/subprojects/gstreamer/tests/check/gst/gstbin.c
++++ b/subprojects/gstreamer/tests/check/gst/gstbin.c
+@@ -27,50 +27,95 @@
+ #include <gst/base/gstbasesrc.h>
+
+ static void
+-pop_async_done (GstBus * bus)
++pop_async_done (GstBus * bus, gboolean * had_latency)
+ {
+ GstMessage *message;
++ GstMessageType types = GST_MESSAGE_ASYNC_DONE;
++
++ if (!*had_latency)
++ types |= GST_MESSAGE_LATENCY;
+
+ GST_DEBUG ("popping async-done message");
+- message = gst_bus_poll (bus, GST_MESSAGE_ASYNC_DONE, -1);
+
+- fail_unless (message && GST_MESSAGE_TYPE (message)
+- == GST_MESSAGE_ASYNC_DONE, "did not get GST_MESSAGE_ASYNC_DONE");
++ do {
++ message = gst_bus_poll (bus, types, -1);
+
+- gst_message_unref (message);
+- GST_DEBUG ("popped message");
++ fail_unless (message);
++ GST_DEBUG ("popped message %s",
++ gst_message_type_get_name (GST_MESSAGE_TYPE (message)));
++
++ if (GST_MESSAGE_TYPE (message) == GST_MESSAGE_LATENCY) {
++ fail_unless (*had_latency == FALSE);
++ *had_latency = TRUE;
++ gst_clear_message (&message);
++ types &= ~GST_MESSAGE_LATENCY;
++ continue;
++ }
++
++ fail_unless (GST_MESSAGE_TYPE (message)
++ == GST_MESSAGE_ASYNC_DONE, "did not get GST_MESSAGE_ASYNC_DONE");
++
++ gst_clear_message (&message);
++ break;
++ } while (TRUE);
+ }
+
+ static void
+-pop_latency (GstBus * bus)
++pop_latency (GstBus * bus, gboolean * had_latency)
+ {
+ GstMessage *message;
+
+- GST_DEBUG ("popping async-done message");
++ if (*had_latency)
++ return;
++
++ GST_DEBUG ("popping latency message");
+ message = gst_bus_poll (bus, GST_MESSAGE_LATENCY, -1);
+
+- fail_unless (message && GST_MESSAGE_TYPE (message)
++ fail_unless (message);
++ fail_unless (GST_MESSAGE_TYPE (message)
+ == GST_MESSAGE_LATENCY, "did not get GST_MESSAGE_LATENCY");
+
+- gst_message_unref (message);
+- GST_DEBUG ("popped message");
++ GST_DEBUG ("popped message %s",
++ gst_message_type_get_name (GST_MESSAGE_TYPE (message)));
++ gst_clear_message (&message);
++
++ *had_latency = TRUE;
+ }
+
+ static void
+-pop_state_changed (GstBus * bus, int count)
++pop_state_changed (GstBus * bus, int count, gboolean * had_latency)
+ {
+ GstMessage *message;
+-
++ GstMessageType types = GST_MESSAGE_STATE_CHANGED;
+ int i;
+
++ if (!*had_latency)
++ types |= GST_MESSAGE_LATENCY;
++
+ GST_DEBUG ("popping %d messages", count);
+ for (i = 0; i < count; ++i) {
+- message = gst_bus_poll (bus, GST_MESSAGE_STATE_CHANGED, -1);
+-
+- fail_unless (message && GST_MESSAGE_TYPE (message)
+- == GST_MESSAGE_STATE_CHANGED, "did not get GST_MESSAGE_STATE_CHANGED");
+-
+- gst_message_unref (message);
++ do {
++ message = gst_bus_poll (bus, types, -1);
++
++ fail_unless (message);
++ GST_DEBUG ("popped message %s",
++ gst_message_type_get_name (GST_MESSAGE_TYPE (message)));
++
++ if (GST_MESSAGE_TYPE (message) == GST_MESSAGE_LATENCY) {
++ fail_unless (*had_latency == FALSE);
++ *had_latency = TRUE;
++ gst_clear_message (&message);
++ types &= ~GST_MESSAGE_LATENCY;
++ continue;
++ }
++
++ fail_unless (GST_MESSAGE_TYPE (message)
++ == GST_MESSAGE_STATE_CHANGED,
++ "did not get GST_MESSAGE_STATE_CHANGED");
++
++ gst_message_unref (message);
++ break;
++ } while (TRUE);
+ }
+ GST_DEBUG ("popped %d messages", count);
+ }
+@@ -538,6 +583,7 @@ GST_START_TEST (test_message_state_changed_children)
+ GstBus *bus;
+ GstStateChangeReturn ret;
+ GstState current, pending;
++ gboolean had_latency = FALSE;
+
+ pipeline = GST_PIPELINE (gst_pipeline_new (NULL));
+ fail_unless (pipeline != NULL, "Could not create pipeline");
+@@ -576,7 +622,7 @@ GST_START_TEST (test_message_state_changed_children)
+ ASSERT_OBJECT_REFCOUNT (sink, "sink", 2);
+ ASSERT_OBJECT_REFCOUNT (pipeline, "pipeline", 2);
+
+- pop_state_changed (bus, 3);
++ pop_state_changed (bus, 3, &had_latency);
+ fail_if (gst_bus_have_pending (bus), "unexpected pending messages");
+
+ ASSERT_OBJECT_REFCOUNT (bus, "bus", 2);
+@@ -619,9 +665,9 @@ GST_START_TEST (test_message_state_changed_children)
+ * its state_change message */
+ ASSERT_OBJECT_REFCOUNT_BETWEEN (pipeline, "pipeline", 3, 4);
+
+- pop_state_changed (bus, 3);
+- pop_async_done (bus);
+- pop_latency (bus);
++ pop_state_changed (bus, 3, &had_latency);
++ pop_async_done (bus, &had_latency);
++ pop_latency (bus, &had_latency);
+ fail_if ((gst_bus_pop (bus)) != NULL);
+
+ ASSERT_OBJECT_REFCOUNT_BETWEEN (bus, "bus", 2, 3);
+@@ -648,7 +694,7 @@ GST_START_TEST (test_message_state_changed_children)
+ ASSERT_OBJECT_REFCOUNT_BETWEEN (sink, "sink", 2, 4);
+ ASSERT_OBJECT_REFCOUNT (pipeline, "pipeline", 3);
+
+- pop_state_changed (bus, 3);
++ pop_state_changed (bus, 3, &had_latency);
+ fail_if ((gst_bus_pop (bus)) != NULL);
+
+ ASSERT_OBJECT_REFCOUNT (bus, "bus", 2);
+@@ -669,7 +715,7 @@ GST_START_TEST (test_message_state_changed_children)
+ ASSERT_OBJECT_REFCOUNT_BETWEEN (sink, "sink", 3, 4);
+ ASSERT_OBJECT_REFCOUNT (pipeline, "pipeline", 3);
+
+- pop_state_changed (bus, 6);
++ pop_state_changed (bus, 6, &had_latency);
+ fail_if ((gst_bus_pop (bus)) != NULL);
+
+ ASSERT_OBJECT_REFCOUNT (src, "src", 1);
+@@ -696,6 +742,7 @@ GST_START_TEST (test_watch_for_state_change)
+ GstElement *src, *sink, *bin;
+ GstBus *bus;
+ GstStateChangeReturn ret;
++ gboolean had_latency = FALSE;
+
+ bin = gst_element_factory_make ("bin", NULL);
+ fail_unless (bin != NULL, "Could not create bin");
+@@ -722,9 +769,9 @@ GST_START_TEST (test_watch_for_state_change)
+ GST_CLOCK_TIME_NONE);
+ fail_unless (ret == GST_STATE_CHANGE_SUCCESS);
+
+- pop_state_changed (bus, 6);
+- pop_async_done (bus);
+- pop_latency (bus);
++ pop_state_changed (bus, 6, &had_latency);
++ pop_async_done (bus, &had_latency);
++ pop_latency (bus, &had_latency);
+
+ fail_unless (gst_bus_have_pending (bus) == FALSE,
+ "Unexpected messages on bus");
+@@ -732,16 +779,17 @@ GST_START_TEST (test_watch_for_state_change)
+ ret = gst_element_set_state (GST_ELEMENT (bin), GST_STATE_PLAYING);
+ fail_unless (ret == GST_STATE_CHANGE_SUCCESS);
+
+- pop_state_changed (bus, 3);
++ pop_state_changed (bus, 3, &had_latency);
+
++ had_latency = FALSE;
+ /* this one might return either SUCCESS or ASYNC, likely SUCCESS */
+ ret = gst_element_set_state (GST_ELEMENT (bin), GST_STATE_PAUSED);
+ gst_element_get_state (GST_ELEMENT (bin), NULL, NULL, GST_CLOCK_TIME_NONE);
+
+- pop_state_changed (bus, 3);
++ pop_state_changed (bus, 3, &had_latency);
+ if (ret == GST_STATE_CHANGE_ASYNC) {
+- pop_async_done (bus);
+- pop_latency (bus);
++ pop_async_done (bus, &had_latency);
++ pop_latency (bus, &had_latency);
+ }
+
+ fail_unless (gst_bus_have_pending (bus) == FALSE,
+@@ -898,6 +946,7 @@ GST_START_TEST (test_children_state_change_order_flagged_sink)
+ GstStateChangeReturn ret;
+ GstState current, pending;
+ GstBus *bus;
++ gboolean had_latency = FALSE;
+
+ pipeline = gst_pipeline_new (NULL);
+ fail_unless (pipeline != NULL, "Could not create pipeline");
+@@ -951,10 +1000,11 @@ GST_START_TEST (test_children_state_change_order_flagged_sink)
+ ASSERT_STATE_CHANGE_MSG (bus, sink, GST_STATE_READY, GST_STATE_PAUSED, 107);
+ #else
+
+- pop_state_changed (bus, 2); /* pop remaining ready => paused messages off the bus */
++ pop_state_changed (bus, 2, &had_latency); /* pop remaining ready => paused messages off the bus */
+ ASSERT_STATE_CHANGE_MSG (bus, pipeline, GST_STATE_READY, GST_STATE_PAUSED,
+ 108);
+- pop_async_done (bus);
++ pop_async_done (bus, &had_latency);
++ pop_latency (bus, &had_latency);
+ #endif
+ /* PAUSED => PLAYING */
+ GST_DEBUG ("popping PAUSED -> PLAYING messages");
+@@ -972,8 +1022,8 @@ GST_START_TEST (test_children_state_change_order_flagged_sink)
+ fail_if (ret != GST_STATE_CHANGE_SUCCESS, "State change to READY failed");
+
+ /* TODO: do we need to check downwards state change order as well? */
+- pop_state_changed (bus, 4); /* pop playing => paused messages off the bus */
+- pop_state_changed (bus, 4); /* pop paused => ready messages off the bus */
++ pop_state_changed (bus, 4, &had_latency); /* pop playing => paused messages off the bus */
++ pop_state_changed (bus, 4, &had_latency); /* pop paused => ready messages off the bus */
+
+ while (GST_OBJECT_REFCOUNT_VALUE (pipeline) > 1)
+ THREAD_SWITCH ();
+@@ -1002,6 +1052,7 @@ GST_START_TEST (test_children_state_change_order_semi_sink)
+ GstStateChangeReturn ret;
+ GstState current, pending;
+ GstBus *bus;
++ gboolean had_latency = FALSE;
+
+ /* (2) Now again, but check other code path where we don't have
+ * a proper sink correctly flagged as such, but a 'semi-sink' */
+@@ -1056,10 +1107,11 @@ GST_START_TEST (test_children_state_change_order_semi_sink)
+ ASSERT_STATE_CHANGE_MSG (bus, src, GST_STATE_READY, GST_STATE_PAUSED, 206);
+ ASSERT_STATE_CHANGE_MSG (bus, sink, GST_STATE_READY, GST_STATE_PAUSED, 207);
+ #else
+- pop_state_changed (bus, 2); /* pop remaining ready => paused messages off the bus */
++ pop_state_changed (bus, 2, &had_latency); /* pop remaining ready => paused messages off the bus */
+ ASSERT_STATE_CHANGE_MSG (bus, pipeline, GST_STATE_READY, GST_STATE_PAUSED,
+ 208);
+- pop_async_done (bus);
++ pop_async_done (bus, &had_latency);
++ pop_latency (bus, &had_latency);
+
+ /* PAUSED => PLAYING */
+ GST_DEBUG ("popping PAUSED -> PLAYING messages");
+@@ -1076,8 +1128,8 @@ GST_START_TEST (test_children_state_change_order_semi_sink)
+ fail_if (ret != GST_STATE_CHANGE_SUCCESS, "State change to READY failed");
+
+ /* TODO: do we need to check downwards state change order as well? */
+- pop_state_changed (bus, 4); /* pop playing => paused messages off the bus */
+- pop_state_changed (bus, 4); /* pop paused => ready messages off the bus */
++ pop_state_changed (bus, 4, &had_latency); /* pop playing => paused messages off the bus */
++ pop_state_changed (bus, 4, &had_latency); /* pop paused => ready messages off the bus */
+
+ GST_DEBUG ("waiting for pipeline to reach refcount 1");
+ while (GST_OBJECT_REFCOUNT_VALUE (pipeline) > 1)
+--
+GitLab
+
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-remove-gstbin-test_watch_for_state_change-test.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-remove-gstbin-test_watch_for_state_change-test.patch
deleted file mode 100644
index f51df6d20b..0000000000
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-remove-gstbin-test_watch_for_state_change-test.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-From b935abba3d8fa3ea1ce384c08e650afd8c20b78a Mon Sep 17 00:00:00 2001
-From: Claudius Heine <ch@denx.de>
-Date: Wed, 2 Feb 2022 13:47:02 +0100
-Subject: [PATCH] tests: remove gstbin:test_watch_for_state_change testcase
-
-This testcase seems to be flaky, and upstream marked it as such:
-https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/778
-
-This patch removes the testcase to avoid it interfering with out ptest.
-
-Signed-off-by: Claudius Heine <ch@denx.de>
-
-Upstream-Status: Inappropriate [needs proper upstream fix]
----
- tests/check/gst/gstbin.c | 69 -------------------
- 1 file changed, 69 deletions(-)
-
-diff --git a/tests/check/gst/gstbin.c b/tests/check/gst/gstbin.c
-index e366d5fe20..ac29d81474 100644
---- a/tests/check/gst/gstbin.c
-+++ b/tests/check/gst/gstbin.c
-@@ -691,74 +691,6 @@ GST_START_TEST (test_message_state_changed_children)
-
- GST_END_TEST;
-
--GST_START_TEST (test_watch_for_state_change)
--{
-- GstElement *src, *sink, *bin;
-- GstBus *bus;
-- GstStateChangeReturn ret;
--
-- bin = gst_element_factory_make ("bin", NULL);
-- fail_unless (bin != NULL, "Could not create bin");
--
-- bus = g_object_new (gst_bus_get_type (), NULL);
-- gst_object_ref_sink (bus);
-- gst_element_set_bus (GST_ELEMENT_CAST (bin), bus);
--
-- src = gst_element_factory_make ("fakesrc", NULL);
-- fail_if (src == NULL, "Could not create fakesrc");
-- sink = gst_element_factory_make ("fakesink", NULL);
-- fail_if (sink == NULL, "Could not create fakesink");
--
-- gst_bin_add (GST_BIN (bin), sink);
-- gst_bin_add (GST_BIN (bin), src);
--
-- fail_unless (gst_element_link (src, sink), "could not link src and sink");
--
-- /* change state, spawning two times three messages */
-- ret = gst_element_set_state (GST_ELEMENT (bin), GST_STATE_PAUSED);
-- fail_unless (ret == GST_STATE_CHANGE_ASYNC);
-- ret =
-- gst_element_get_state (GST_ELEMENT (bin), NULL, NULL,
-- GST_CLOCK_TIME_NONE);
-- fail_unless (ret == GST_STATE_CHANGE_SUCCESS);
--
-- pop_state_changed (bus, 6);
-- pop_async_done (bus);
-- pop_latency (bus);
--
-- fail_unless (gst_bus_have_pending (bus) == FALSE,
-- "Unexpected messages on bus");
--
-- ret = gst_element_set_state (GST_ELEMENT (bin), GST_STATE_PLAYING);
-- fail_unless (ret == GST_STATE_CHANGE_SUCCESS);
--
-- pop_state_changed (bus, 3);
--
-- /* this one might return either SUCCESS or ASYNC, likely SUCCESS */
-- ret = gst_element_set_state (GST_ELEMENT (bin), GST_STATE_PAUSED);
-- gst_element_get_state (GST_ELEMENT (bin), NULL, NULL, GST_CLOCK_TIME_NONE);
--
-- pop_state_changed (bus, 3);
-- if (ret == GST_STATE_CHANGE_ASYNC) {
-- pop_async_done (bus);
-- pop_latency (bus);
-- }
--
-- fail_unless (gst_bus_have_pending (bus) == FALSE,
-- "Unexpected messages on bus");
--
-- gst_bus_set_flushing (bus, TRUE);
--
-- ret = gst_element_set_state (GST_ELEMENT (bin), GST_STATE_NULL);
-- fail_unless (ret == GST_STATE_CHANGE_SUCCESS);
--
-- /* clean up */
-- gst_object_unref (bus);
-- gst_object_unref (bin);
--}
--
--GST_END_TEST;
--
- GST_START_TEST (test_state_change_error_message)
- {
- GstElement *src, *sink, *bin;
-@@ -1956,7 +1888,6 @@ gst_bin_suite (void)
- tcase_add_test (tc_chain, test_message_state_changed);
- tcase_add_test (tc_chain, test_message_state_changed_child);
- tcase_add_test (tc_chain, test_message_state_changed_children);
-- tcase_add_test (tc_chain, test_watch_for_state_change);
- tcase_add_test (tc_chain, test_state_change_error_message);
- tcase_add_test (tc_chain, test_add_linked);
- tcase_add_test (tc_chain, test_add_self);
---
-2.33.1
-
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.20.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.20.5.bb
index d0ba2919ee..ce9c1c116f 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.20.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.20.5.bb
@@ -21,9 +21,9 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.x
file://0002-tests-add-support-for-install-the-tests.patch;striplevel=3 \
file://0003-tests-use-a-dictionaries-for-environment.patch;striplevel=3 \
file://0004-tests-add-helper-script-to-run-the-installed_tests.patch;striplevel=3 \
- file://0005-tests-remove-gstbin-test_watch_for_state_change-test.patch \
+ file://0005-bin-Fix-race-conditions-in-tests.patch;striplevel=3 \
"
-SRC_URI[sha256sum] = "67c1edf8c3c339cda5dde85f4f7b953bb9607c2d13ae970e2491c5c4c055ef5f"
+SRC_URI[sha256sum] = "5a19083faaf361d21fc391124f78ba6d609be55845a82fa8f658230e5fa03dff"
PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
check \
diff --git a/poky/meta/recipes-multimedia/libpng/libpng_1.6.38.bb b/poky/meta/recipes-multimedia/libpng/libpng_1.6.39.bb
index dc627203ef..a6c229f5cf 100644
--- a/poky/meta/recipes-multimedia/libpng/libpng_1.6.38.bb
+++ b/poky/meta/recipes-multimedia/libpng/libpng_1.6.39.bb
@@ -11,7 +11,7 @@ DEPENDS = "zlib"
LIBV = "16"
SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}${LIBV}/${BP}.tar.xz"
-SRC_URI[sha256sum] = "b3683e8b8111ebf6f1ac004ebb6b0c975cd310ec469d98364388e9cedbfa68be"
+SRC_URI[sha256sum] = "1f4696ce70b4ee5f85f1e1623dc1229b210029fa4b7aee573df3e2ba7b036937"
MIRRORS += "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}${LIBV}/ ${SOURCEFORGE_MIRROR}/${BPN}/${BPN}${LIBV}/older-releases/"
@@ -22,7 +22,9 @@ BINCONFIG = "${bindir}/libpng-config ${bindir}/libpng16-config"
inherit autotools binconfig-disabled pkgconfig
# Work around missing symbols
-EXTRA_OECONF:append:class-target = " ${@bb.utils.contains("TUNE_FEATURES", "neon", "--enable-arm-neon=on", "--enable-arm-neon=off", d)}"
+ARMNEON = "${@bb.utils.contains("TUNE_FEATURES", "neon", "--enable-arm-neon=on", "--enable-arm-neon=off", d)}"
+ARMNEON:aarch64 = "--enable-hardware-optimizations=on"
+EXTRA_OECONF += "${ARMNEON}"
PACKAGES =+ "${PN}-tools"
diff --git a/poky/meta/recipes-multimedia/libsndfile/libsndfile1_1.1.0.bb b/poky/meta/recipes-multimedia/libsndfile/libsndfile1_1.2.0.bb
index 1f1a40160d..b8001f4618 100644
--- a/poky/meta/recipes-multimedia/libsndfile/libsndfile1_1.1.0.bb
+++ b/poky/meta/recipes-multimedia/libsndfile/libsndfile1_1.2.0.bb
@@ -13,7 +13,7 @@ SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/libsndfile-${PV}.tar.xz \
"
GITHUB_BASE_URI = "https://github.com/libsndfile/libsndfile/releases/"
-SRC_URI[sha256sum] = "0f98e101c0f7c850a71225fb5feaf33b106227b3d331333ddc9bacee190bcf41"
+SRC_URI[sha256sum] = "0e30e7072f83dc84863e2e55f299175c7e04a5902ae79cfb99d4249ee8f6d60a"
LIC_FILES_CHKSUM = "file://COPYING;md5=e77fe93202736b47c07035910f47974a"
diff --git a/poky/meta/recipes-multimedia/libtiff/files/0001-Revised-handling-of-TIFFTAG_INKNAMES-and-related-TIF.patch b/poky/meta/recipes-multimedia/libtiff/files/0001-Revised-handling-of-TIFFTAG_INKNAMES-and-related-TIF.patch
deleted file mode 100644
index ce72c86120..0000000000
--- a/poky/meta/recipes-multimedia/libtiff/files/0001-Revised-handling-of-TIFFTAG_INKNAMES-and-related-TIF.patch
+++ /dev/null
@@ -1,266 +0,0 @@
-CVE: CVE-2022-3599
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@arm.com>
-
-From f00484b9519df933723deb38fff943dc291a793d Mon Sep 17 00:00:00 2001
-From: Su_Laus <sulau@freenet.de>
-Date: Tue, 30 Aug 2022 16:56:48 +0200
-Subject: [PATCH] Revised handling of TIFFTAG_INKNAMES and related
- TIFFTAG_NUMBEROFINKS value
-
-In order to solve the buffer overflow issues related to TIFFTAG_INKNAMES and related TIFFTAG_NUMBEROFINKS value, a revised handling of those tags within LibTiff is proposed:
-
-Behaviour for writing:
- `NumberOfInks` MUST fit to the number of inks in the `InkNames` string.
- `NumberOfInks` is automatically set when `InkNames` is set.
- If `NumberOfInks` is different to the number of inks within `InkNames` string, that will be corrected and a warning is issued.
- If `NumberOfInks` is not equal to samplesperpixel only a warning will be issued.
-
-Behaviour for reading:
- When reading `InkNames` from a TIFF file, the `NumberOfInks` will be set automatically to the number of inks in `InkNames` string.
- If `NumberOfInks` is different to the number of inks within `InkNames` string, that will be corrected and a warning is issued.
- If `NumberOfInks` is not equal to samplesperpixel only a warning will be issued.
-
-This allows the safe use of the NumberOfInks value to read out the InkNames without buffer overflow
-
-This MR will close the following issues: #149, #150, #152, #168 (to be checked), #250, #269, #398 and #456.
-
-It also fixes the old bug at http://bugzilla.maptools.org/show_bug.cgi?id=2599, for which the limitation of `NumberOfInks = SPP` was introduced, which is in my opinion not necessary and does not solve the general issue.
----
- libtiff/tif_dir.c | 119 ++++++++++++++++++++++++-----------------
- libtiff/tif_dir.h | 2 +
- libtiff/tif_dirinfo.c | 2 +-
- libtiff/tif_dirwrite.c | 5 ++
- libtiff/tif_print.c | 4 ++
- 5 files changed, 82 insertions(+), 50 deletions(-)
-
-diff --git a/libtiff/tif_dir.c b/libtiff/tif_dir.c
-index 793e8a79..816f7756 100644
---- a/libtiff/tif_dir.c
-+++ b/libtiff/tif_dir.c
-@@ -136,32 +136,30 @@ setExtraSamples(TIFF* tif, va_list ap, uint32_t* v)
- }
-
- /*
-- * Confirm we have "samplesperpixel" ink names separated by \0. Returns
-+ * Count ink names separated by \0. Returns
- * zero if the ink names are not as expected.
- */
--static uint32_t
--checkInkNamesString(TIFF* tif, uint32_t slen, const char* s)
-+static uint16_t
-+countInkNamesString(TIFF *tif, uint32_t slen, const char *s)
- {
-- TIFFDirectory* td = &tif->tif_dir;
-- uint16_t i = td->td_samplesperpixel;
-+ uint16_t i = 0;
-+ const char *ep = s + slen;
-+ const char *cp = s;
-
- if (slen > 0) {
-- const char* ep = s+slen;
-- const char* cp = s;
-- for (; i > 0; i--) {
-+ do {
- for (; cp < ep && *cp != '\0'; cp++) {}
- if (cp >= ep)
- goto bad;
- cp++; /* skip \0 */
-- }
-- return ((uint32_t)(cp - s));
-+ i++;
-+ } while (cp < ep);
-+ return (i);
- }
- bad:
- TIFFErrorExt(tif->tif_clientdata, "TIFFSetField",
-- "%s: Invalid InkNames value; expecting %"PRIu16" names, found %"PRIu16,
-- tif->tif_name,
-- td->td_samplesperpixel,
-- (uint16_t)(td->td_samplesperpixel-i));
-+ "%s: Invalid InkNames value; no NUL at given buffer end location %"PRIu32", after %"PRIu16" ink",
-+ tif->tif_name, slen, i);
- return (0);
- }
-
-@@ -478,13 +476,61 @@ _TIFFVSetField(TIFF* tif, uint32_t tag, va_list ap)
- _TIFFsetFloatArray(&td->td_refblackwhite, va_arg(ap, float*), 6);
- break;
- case TIFFTAG_INKNAMES:
-- v = (uint16_t) va_arg(ap, uint16_vap);
-- s = va_arg(ap, char*);
-- v = checkInkNamesString(tif, v, s);
-- status = v > 0;
-- if( v > 0 ) {
-- _TIFFsetNString(&td->td_inknames, s, v);
-- td->td_inknameslen = v;
-+ {
-+ v = (uint16_t) va_arg(ap, uint16_vap);
-+ s = va_arg(ap, char*);
-+ uint16_t ninksinstring;
-+ ninksinstring = countInkNamesString(tif, v, s);
-+ status = ninksinstring > 0;
-+ if(ninksinstring > 0 ) {
-+ _TIFFsetNString(&td->td_inknames, s, v);
-+ td->td_inknameslen = v;
-+ /* Set NumberOfInks to the value ninksinstring */
-+ if (TIFFFieldSet(tif, FIELD_NUMBEROFINKS))
-+ {
-+ if (td->td_numberofinks != ninksinstring) {
-+ TIFFErrorExt(tif->tif_clientdata, module,
-+ "Warning %s; Tag %s:\n Value %"PRIu16" of NumberOfInks is different from the number of inks %"PRIu16".\n -> NumberOfInks value adapted to %"PRIu16"",
-+ tif->tif_name, fip->field_name, td->td_numberofinks, ninksinstring, ninksinstring);
-+ td->td_numberofinks = ninksinstring;
-+ }
-+ } else {
-+ td->td_numberofinks = ninksinstring;
-+ TIFFSetFieldBit(tif, FIELD_NUMBEROFINKS);
-+ }
-+ if (TIFFFieldSet(tif, FIELD_SAMPLESPERPIXEL))
-+ {
-+ if (td->td_numberofinks != td->td_samplesperpixel) {
-+ TIFFErrorExt(tif->tif_clientdata, module,
-+ "Warning %s; Tag %s:\n Value %"PRIu16" of NumberOfInks is different from the SamplesPerPixel value %"PRIu16"",
-+ tif->tif_name, fip->field_name, td->td_numberofinks, td->td_samplesperpixel);
-+ }
-+ }
-+ }
-+ }
-+ break;
-+ case TIFFTAG_NUMBEROFINKS:
-+ v = (uint16_t)va_arg(ap, uint16_vap);
-+ /* If InkNames already set also NumberOfInks is set accordingly and should be equal */
-+ if (TIFFFieldSet(tif, FIELD_INKNAMES))
-+ {
-+ if (v != td->td_numberofinks) {
-+ TIFFErrorExt(tif->tif_clientdata, module,
-+ "Error %s; Tag %s:\n It is not possible to set the value %"PRIu32" for NumberOfInks\n which is different from the number of inks in the InkNames tag (%"PRIu16")",
-+ tif->tif_name, fip->field_name, v, td->td_numberofinks);
-+ /* Do not set / overwrite number of inks already set by InkNames case accordingly. */
-+ status = 0;
-+ }
-+ } else {
-+ td->td_numberofinks = (uint16_t)v;
-+ if (TIFFFieldSet(tif, FIELD_SAMPLESPERPIXEL))
-+ {
-+ if (td->td_numberofinks != td->td_samplesperpixel) {
-+ TIFFErrorExt(tif->tif_clientdata, module,
-+ "Warning %s; Tag %s:\n Value %"PRIu32" of NumberOfInks is different from the SamplesPerPixel value %"PRIu16"",
-+ tif->tif_name, fip->field_name, v, td->td_samplesperpixel);
-+ }
-+ }
- }
- break;
- case TIFFTAG_PERSAMPLE:
-@@ -986,34 +1032,6 @@ _TIFFVGetField(TIFF* tif, uint32_t tag, va_list ap)
- if (fip->field_bit == FIELD_CUSTOM) {
- standard_tag = 0;
- }
--
-- if( standard_tag == TIFFTAG_NUMBEROFINKS )
-- {
-- int i;
-- for (i = 0; i < td->td_customValueCount; i++) {
-- uint16_t val;
-- TIFFTagValue *tv = td->td_customValues + i;
-- if (tv->info->field_tag != standard_tag)
-- continue;
-- if( tv->value == NULL )
-- return 0;
-- val = *(uint16_t *)tv->value;
-- /* Truncate to SamplesPerPixel, since the */
-- /* setting code for INKNAMES assume that there are SamplesPerPixel */
-- /* inknames. */
-- /* Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2599 */
-- if( val > td->td_samplesperpixel )
-- {
-- TIFFWarningExt(tif->tif_clientdata,"_TIFFVGetField",
-- "Truncating NumberOfInks from %u to %"PRIu16,
-- val, td->td_samplesperpixel);
-- val = td->td_samplesperpixel;
-- }
-- *va_arg(ap, uint16_t*) = val;
-- return 1;
-- }
-- return 0;
-- }
-
- switch (standard_tag) {
- case TIFFTAG_SUBFILETYPE:
-@@ -1195,6 +1213,9 @@ _TIFFVGetField(TIFF* tif, uint32_t tag, va_list ap)
- case TIFFTAG_INKNAMES:
- *va_arg(ap, const char**) = td->td_inknames;
- break;
-+ case TIFFTAG_NUMBEROFINKS:
-+ *va_arg(ap, uint16_t *) = td->td_numberofinks;
-+ break;
- default:
- {
- int i;
-diff --git a/libtiff/tif_dir.h b/libtiff/tif_dir.h
-index 09065648..0c251c9e 100644
---- a/libtiff/tif_dir.h
-+++ b/libtiff/tif_dir.h
-@@ -117,6 +117,7 @@ typedef struct {
- /* CMYK parameters */
- int td_inknameslen;
- char* td_inknames;
-+ uint16_t td_numberofinks; /* number of inks in InkNames string */
-
- int td_customValueCount;
- TIFFTagValue *td_customValues;
-@@ -174,6 +175,7 @@ typedef struct {
- #define FIELD_TRANSFERFUNCTION 44
- #define FIELD_INKNAMES 46
- #define FIELD_SUBIFD 49
-+#define FIELD_NUMBEROFINKS 50
- /* FIELD_CUSTOM (see tiffio.h) 65 */
- /* end of support for well-known tags; codec-private tags follow */
- #define FIELD_CODEC 66 /* base of codec-private tags */
-diff --git a/libtiff/tif_dirinfo.c b/libtiff/tif_dirinfo.c
-index 3371cb5c..3b4bcd33 100644
---- a/libtiff/tif_dirinfo.c
-+++ b/libtiff/tif_dirinfo.c
-@@ -114,7 +114,7 @@ tiffFields[] = {
- { TIFFTAG_SUBIFD, -1, -1, TIFF_IFD8, 0, TIFF_SETGET_C16_IFD8, TIFF_SETGET_UNDEFINED, FIELD_SUBIFD, 1, 1, "SubIFD", (TIFFFieldArray*) &tiffFieldArray },
- { TIFFTAG_INKSET, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "InkSet", NULL },
- { TIFFTAG_INKNAMES, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_C16_ASCII, TIFF_SETGET_UNDEFINED, FIELD_INKNAMES, 1, 1, "InkNames", NULL },
-- { TIFFTAG_NUMBEROFINKS, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "NumberOfInks", NULL },
-+ { TIFFTAG_NUMBEROFINKS, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_NUMBEROFINKS, 1, 0, "NumberOfInks", NULL },
- { TIFFTAG_DOTRANGE, 2, 2, TIFF_SHORT, 0, TIFF_SETGET_UINT16_PAIR, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "DotRange", NULL },
- { TIFFTAG_TARGETPRINTER, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "TargetPrinter", NULL },
- { TIFFTAG_EXTRASAMPLES, -1, -1, TIFF_SHORT, 0, TIFF_SETGET_C16_UINT16, TIFF_SETGET_UNDEFINED, FIELD_EXTRASAMPLES, 0, 1, "ExtraSamples", NULL },
-diff --git a/libtiff/tif_dirwrite.c b/libtiff/tif_dirwrite.c
-index 6c86fdca..062e4610 100644
---- a/libtiff/tif_dirwrite.c
-+++ b/libtiff/tif_dirwrite.c
-@@ -626,6 +626,11 @@ TIFFWriteDirectorySec(TIFF* tif, int isimage, int imagedone, uint64_t* pdiroff)
- if (!TIFFWriteDirectoryTagAscii(tif,&ndir,dir,TIFFTAG_INKNAMES,tif->tif_dir.td_inknameslen,tif->tif_dir.td_inknames))
- goto bad;
- }
-+ if (TIFFFieldSet(tif, FIELD_NUMBEROFINKS))
-+ {
-+ if (!TIFFWriteDirectoryTagShort(tif, &ndir, dir, TIFFTAG_NUMBEROFINKS, tif->tif_dir.td_numberofinks))
-+ goto bad;
-+ }
- if (TIFFFieldSet(tif,FIELD_SUBIFD))
- {
- if (!TIFFWriteDirectoryTagSubifd(tif,&ndir,dir))
-diff --git a/libtiff/tif_print.c b/libtiff/tif_print.c
-index 16ce5780..a91b9e7b 100644
---- a/libtiff/tif_print.c
-+++ b/libtiff/tif_print.c
-@@ -397,6 +397,10 @@ TIFFPrintDirectory(TIFF* tif, FILE* fd, long flags)
- }
- fputs("\n", fd);
- }
-+ if (TIFFFieldSet(tif, FIELD_NUMBEROFINKS)) {
-+ fprintf(fd, " NumberOfInks: %d\n",
-+ td->td_numberofinks);
-+ }
- if (TIFFFieldSet(tif,FIELD_THRESHHOLDING)) {
- fprintf(fd, " Thresholding: ");
- switch (td->td_threshholding) {
---
-2.34.1
-
diff --git a/poky/meta/recipes-multimedia/libtiff/files/0001-fix-the-FPE-in-tiffcrop-415-427-and-428.patch b/poky/meta/recipes-multimedia/libtiff/files/0001-fix-the-FPE-in-tiffcrop-415-427-and-428.patch
deleted file mode 100644
index c7c5f616ed..0000000000
--- a/poky/meta/recipes-multimedia/libtiff/files/0001-fix-the-FPE-in-tiffcrop-415-427-and-428.patch
+++ /dev/null
@@ -1,184 +0,0 @@
-CVE: CVE-2022-2056 CVE-2022-2057 CVE-2022-2058
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@arm.com>
-
-From 22a205da86ca2d038d0066e1d70752d117258fb4 Mon Sep 17 00:00:00 2001
-From: 4ugustus <wangdw.augustus@qq.com>
-Date: Sat, 11 Jun 2022 09:31:43 +0000
-Subject: [PATCH] fix the FPE in tiffcrop (#415, #427, and #428)
-
----
- libtiff/tif_aux.c | 9 +++++++
- libtiff/tiffiop.h | 1 +
- tools/tiffcrop.c | 62 ++++++++++++++++++++++++++---------------------
- 3 files changed, 44 insertions(+), 28 deletions(-)
-
-diff --git a/libtiff/tif_aux.c b/libtiff/tif_aux.c
-index 140f26c7..5b88c8d0 100644
---- a/libtiff/tif_aux.c
-+++ b/libtiff/tif_aux.c
-@@ -402,6 +402,15 @@ float _TIFFClampDoubleToFloat( double val )
- return (float)val;
- }
-
-+uint32_t _TIFFClampDoubleToUInt32(double val)
-+{
-+ if( val < 0 )
-+ return 0;
-+ if( val > 0xFFFFFFFFU || val != val )
-+ return 0xFFFFFFFFU;
-+ return (uint32_t)val;
-+}
-+
- int _TIFFSeekOK(TIFF* tif, toff_t off)
- {
- /* Huge offsets, especially -1 / UINT64_MAX, can cause issues */
-diff --git a/libtiff/tiffiop.h b/libtiff/tiffiop.h
-index e3af461d..4e8bdac2 100644
---- a/libtiff/tiffiop.h
-+++ b/libtiff/tiffiop.h
-@@ -365,6 +365,7 @@ extern double _TIFFUInt64ToDouble(uint64_t);
- extern float _TIFFUInt64ToFloat(uint64_t);
-
- extern float _TIFFClampDoubleToFloat(double);
-+extern uint32_t _TIFFClampDoubleToUInt32(double);
-
- extern tmsize_t
- _TIFFReadEncodedStripAndAllocBuffer(TIFF* tif, uint32_t strip,
-diff --git a/tools/tiffcrop.c b/tools/tiffcrop.c
-index 1f827b2b..90286a5e 100644
---- a/tools/tiffcrop.c
-+++ b/tools/tiffcrop.c
-@@ -5268,17 +5268,17 @@ computeInputPixelOffsets(struct crop_mask *crop, struct image_data *image,
- {
- if ((crop->res_unit == RESUNIT_INCH) || (crop->res_unit == RESUNIT_CENTIMETER))
- {
-- x1 = (uint32_t) (crop->corners[i].X1 * scale * xres);
-- x2 = (uint32_t) (crop->corners[i].X2 * scale * xres);
-- y1 = (uint32_t) (crop->corners[i].Y1 * scale * yres);
-- y2 = (uint32_t) (crop->corners[i].Y2 * scale * yres);
-+ x1 = _TIFFClampDoubleToUInt32(crop->corners[i].X1 * scale * xres);
-+ x2 = _TIFFClampDoubleToUInt32(crop->corners[i].X2 * scale * xres);
-+ y1 = _TIFFClampDoubleToUInt32(crop->corners[i].Y1 * scale * yres);
-+ y2 = _TIFFClampDoubleToUInt32(crop->corners[i].Y2 * scale * yres);
- }
- else
- {
-- x1 = (uint32_t) (crop->corners[i].X1);
-- x2 = (uint32_t) (crop->corners[i].X2);
-- y1 = (uint32_t) (crop->corners[i].Y1);
-- y2 = (uint32_t) (crop->corners[i].Y2);
-+ x1 = _TIFFClampDoubleToUInt32(crop->corners[i].X1);
-+ x2 = _TIFFClampDoubleToUInt32(crop->corners[i].X2);
-+ y1 = _TIFFClampDoubleToUInt32(crop->corners[i].Y1);
-+ y2 = _TIFFClampDoubleToUInt32(crop->corners[i].Y2);
- }
- /* a) Region needs to be within image sizes 0.. width-1; 0..length-1
- * b) Corners are expected to be submitted as top-left to bottom-right.
-@@ -5357,17 +5357,17 @@ computeInputPixelOffsets(struct crop_mask *crop, struct image_data *image,
- {
- if (crop->res_unit != RESUNIT_INCH && crop->res_unit != RESUNIT_CENTIMETER)
- { /* User has specified pixels as reference unit */
-- tmargin = (uint32_t)(crop->margins[0]);
-- lmargin = (uint32_t)(crop->margins[1]);
-- bmargin = (uint32_t)(crop->margins[2]);
-- rmargin = (uint32_t)(crop->margins[3]);
-+ tmargin = _TIFFClampDoubleToUInt32(crop->margins[0]);
-+ lmargin = _TIFFClampDoubleToUInt32(crop->margins[1]);
-+ bmargin = _TIFFClampDoubleToUInt32(crop->margins[2]);
-+ rmargin = _TIFFClampDoubleToUInt32(crop->margins[3]);
- }
- else
- { /* inches or centimeters specified */
-- tmargin = (uint32_t)(crop->margins[0] * scale * yres);
-- lmargin = (uint32_t)(crop->margins[1] * scale * xres);
-- bmargin = (uint32_t)(crop->margins[2] * scale * yres);
-- rmargin = (uint32_t)(crop->margins[3] * scale * xres);
-+ tmargin = _TIFFClampDoubleToUInt32(crop->margins[0] * scale * yres);
-+ lmargin = _TIFFClampDoubleToUInt32(crop->margins[1] * scale * xres);
-+ bmargin = _TIFFClampDoubleToUInt32(crop->margins[2] * scale * yres);
-+ rmargin = _TIFFClampDoubleToUInt32(crop->margins[3] * scale * xres);
- }
-
- if ((lmargin + rmargin) > image->width)
-@@ -5397,24 +5397,24 @@ computeInputPixelOffsets(struct crop_mask *crop, struct image_data *image,
- if (crop->res_unit != RESUNIT_INCH && crop->res_unit != RESUNIT_CENTIMETER)
- {
- if (crop->crop_mode & CROP_WIDTH)
-- width = (uint32_t)crop->width;
-+ width = _TIFFClampDoubleToUInt32(crop->width);
- else
- width = image->width - lmargin - rmargin;
-
- if (crop->crop_mode & CROP_LENGTH)
-- length = (uint32_t)crop->length;
-+ length = _TIFFClampDoubleToUInt32(crop->length);
- else
- length = image->length - tmargin - bmargin;
- }
- else
- {
- if (crop->crop_mode & CROP_WIDTH)
-- width = (uint32_t)(crop->width * scale * image->xres);
-+ width = _TIFFClampDoubleToUInt32(crop->width * scale * image->xres);
- else
- width = image->width - lmargin - rmargin;
-
- if (crop->crop_mode & CROP_LENGTH)
-- length = (uint32_t)(crop->length * scale * image->yres);
-+ length = _TIFFClampDoubleToUInt32(crop->length * scale * image->yres);
- else
- length = image->length - tmargin - bmargin;
- }
-@@ -5868,13 +5868,13 @@ computeOutputPixelOffsets (struct crop_mask *crop, struct image_data *image,
- {
- if (page->res_unit == RESUNIT_INCH || page->res_unit == RESUNIT_CENTIMETER)
- { /* inches or centimeters specified */
-- hmargin = (uint32_t)(page->hmargin * scale * page->hres * ((image->bps + 7) / 8));
-- vmargin = (uint32_t)(page->vmargin * scale * page->vres * ((image->bps + 7) / 8));
-+ hmargin = _TIFFClampDoubleToUInt32(page->hmargin * scale * page->hres * ((image->bps + 7) / 8));
-+ vmargin = _TIFFClampDoubleToUInt32(page->vmargin * scale * page->vres * ((image->bps + 7) / 8));
- }
- else
- { /* Otherwise user has specified pixels as reference unit */
-- hmargin = (uint32_t)(page->hmargin * scale * ((image->bps + 7) / 8));
-- vmargin = (uint32_t)(page->vmargin * scale * ((image->bps + 7) / 8));
-+ hmargin = _TIFFClampDoubleToUInt32(page->hmargin * scale * ((image->bps + 7) / 8));
-+ vmargin = _TIFFClampDoubleToUInt32(page->vmargin * scale * ((image->bps + 7) / 8));
- }
-
- if ((hmargin * 2.0) > (pwidth * page->hres))
-@@ -5912,13 +5912,13 @@ computeOutputPixelOffsets (struct crop_mask *crop, struct image_data *image,
- {
- if (page->mode & PAGE_MODE_PAPERSIZE )
- {
-- owidth = (uint32_t)((pwidth * page->hres) - (hmargin * 2));
-- olength = (uint32_t)((plength * page->vres) - (vmargin * 2));
-+ owidth = _TIFFClampDoubleToUInt32((pwidth * page->hres) - (hmargin * 2));
-+ olength = _TIFFClampDoubleToUInt32((plength * page->vres) - (vmargin * 2));
- }
- else
- {
-- owidth = (uint32_t)(iwidth - (hmargin * 2 * page->hres));
-- olength = (uint32_t)(ilength - (vmargin * 2 * page->vres));
-+ owidth = _TIFFClampDoubleToUInt32(iwidth - (hmargin * 2 * page->hres));
-+ olength = _TIFFClampDoubleToUInt32(ilength - (vmargin * 2 * page->vres));
- }
- }
-
-@@ -5927,6 +5927,12 @@ computeOutputPixelOffsets (struct crop_mask *crop, struct image_data *image,
- if (olength > ilength)
- olength = ilength;
-
-+ if (owidth == 0 || olength == 0)
-+ {
-+ TIFFError("computeOutputPixelOffsets", "Integer overflow when calculating the number of pages");
-+ exit(EXIT_FAILURE);
-+ }
-+
- /* Compute the number of pages required for Portrait or Landscape */
- switch (page->orient)
- {
---
-2.34.1
-
diff --git a/poky/meta/recipes-multimedia/libtiff/files/0001-tiffcrop-S-option-Make-decision-simpler.patch b/poky/meta/recipes-multimedia/libtiff/files/0001-tiffcrop-S-option-Make-decision-simpler.patch
deleted file mode 100644
index 02642ecfbc..0000000000
--- a/poky/meta/recipes-multimedia/libtiff/files/0001-tiffcrop-S-option-Make-decision-simpler.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@arm.com>
-
-From bad48e90b410df32172006c7876da449ba62cdba Mon Sep 17 00:00:00 2001
-From: Su_Laus <sulau@freenet.de>
-Date: Sat, 20 Aug 2022 23:35:26 +0200
-Subject: [PATCH] tiffcrop -S option: Make decision simpler.
-
----
- tools/tiffcrop.c | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/tools/tiffcrop.c b/tools/tiffcrop.c
-index c3b758ec..8fd856dc 100644
---- a/tools/tiffcrop.c
-+++ b/tools/tiffcrop.c
-@@ -2133,11 +2133,11 @@ void process_command_opts (int argc, char *argv[], char *mp, char *mode, uint32
- }
- /*-- Check for not allowed combinations (e.g. -X, -Y and -Z, -z and -S are mutually exclusive) --*/
- char XY, Z, R, S;
-- XY = ((crop_data->crop_mode & CROP_WIDTH) || (crop_data->crop_mode & CROP_LENGTH));
-- Z = (crop_data->crop_mode & CROP_ZONES);
-- R = (crop_data->crop_mode & CROP_REGIONS);
-- S = (page->mode & PAGE_MODE_ROWSCOLS);
-- if ((XY && Z) || (XY && R) || (XY && S) || (Z && R) || (Z && S) || (R && S)) {
-+ XY = ((crop_data->crop_mode & CROP_WIDTH) || (crop_data->crop_mode & CROP_LENGTH)) ? 1 : 0;
-+ Z = (crop_data->crop_mode & CROP_ZONES) ? 1 : 0;
-+ R = (crop_data->crop_mode & CROP_REGIONS) ? 1 : 0;
-+ S = (page->mode & PAGE_MODE_ROWSCOLS) ? 1 : 0;
-+ if (XY + Z + R + S > 1) {
- TIFFError("tiffcrop input error", "The crop options(-X|-Y), -Z, -z and -S are mutually exclusive.->Exit");
- exit(EXIT_FAILURE);
- }
---
-2.34.1
-
diff --git a/poky/meta/recipes-multimedia/libtiff/files/0001-tiffcrop-disable-incompatibility-of-Z-X-Y-z-options-.patch b/poky/meta/recipes-multimedia/libtiff/files/0001-tiffcrop-disable-incompatibility-of-Z-X-Y-z-options-.patch
deleted file mode 100644
index 3e33f4adea..0000000000
--- a/poky/meta/recipes-multimedia/libtiff/files/0001-tiffcrop-disable-incompatibility-of-Z-X-Y-z-options-.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-CVE: CVE-2022-3597 CVE-2022-3626 CVE-2022-3627
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@arm.com>
-
-From 4746f16253b784287bc8a5003990c1c3b9a03a62 Mon Sep 17 00:00:00 2001
-From: Su_Laus <sulau@freenet.de>
-Date: Thu, 25 Aug 2022 16:11:41 +0200
-Subject: [PATCH] tiffcrop: disable incompatibility of -Z, -X, -Y, -z options
- with any PAGE_MODE_x option (fixes #411 and #413)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-tiffcrop does not support –Z, -z, -X and –Y options together with any other PAGE_MODE_x options like -H, -V, -P, -J, -K or –S.
-
-Code analysis:
-
-With the options –Z, -z, the crop.selections are set to a value > 0. Within main(), this triggers the call of processCropSelections(), which copies the sections from the read_buff into seg_buffs[].
-In the following code in main(), the only supported step, where that seg_buffs are further handled are within an if-clause with if (page.mode == PAGE_MODE_NONE) .
-
-Execution of the else-clause often leads to buffer-overflows.
-
-Therefore, the above option combination is not supported and will be disabled to prevent those buffer-overflows.
-
-The MR solves issues #411 and #413.
----
- doc/tools/tiffcrop.rst | 8 ++++++++
- tools/tiffcrop.c | 32 +++++++++++++++++++++++++-------
- 2 files changed, 33 insertions(+), 7 deletions(-)
-
-diff --git a/tools/tiffcrop.c b/tools/tiffcrop.c
-index 8fd856dc..41a2ea36 100644
---- a/tools/tiffcrop.c
-+++ b/tools/tiffcrop.c
-@@ -2138,9 +2143,20 @@ void process_command_opts (int argc, char *argv[], char *mp, char *mode, uint32
- R = (crop_data->crop_mode & CROP_REGIONS) ? 1 : 0;
- S = (page->mode & PAGE_MODE_ROWSCOLS) ? 1 : 0;
- if (XY + Z + R + S > 1) {
-- TIFFError("tiffcrop input error", "The crop options(-X|-Y), -Z, -z and -S are mutually exclusive.->Exit");
-+ TIFFError("tiffcrop input error", "The crop options(-X|-Y), -Z, -z and -S are mutually exclusive.->exit");
- exit(EXIT_FAILURE);
- }
-+
-+ /* Check for not allowed combination:
-+ * Any of the -X, -Y, -Z and -z options together with other PAGE_MODE_x options
-+ * such as -H, -V, -P, -J or -K are not supported and may cause buffer overflows.
-+. */
-+ if ((XY + Z + R > 0) && page->mode != PAGE_MODE_NONE) {
-+ TIFFError("tiffcrop input error",
-+ "Any of the crop options -X, -Y, -Z and -z together with other PAGE_MODE_x options such as - H, -V, -P, -J or -K is not supported and may cause buffer overflows..->exit");
-+ exit(EXIT_FAILURE);
-+ }
-+
- } /* end process_command_opts */
-
- /* Start a new output file if one has not been previously opened or
---
-2.34.1
-
diff --git a/poky/meta/recipes-multimedia/libtiff/files/0001-tiffcrop-subroutines-require-a-larger-buffer-fixes-2.patch b/poky/meta/recipes-multimedia/libtiff/files/0001-tiffcrop-subroutines-require-a-larger-buffer-fixes-2.patch
deleted file mode 100644
index e44b9bc57c..0000000000
--- a/poky/meta/recipes-multimedia/libtiff/files/0001-tiffcrop-subroutines-require-a-larger-buffer-fixes-2.patch
+++ /dev/null
@@ -1,653 +0,0 @@
-CVE: CVE-2022-3570 CVE-2022-3598
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@arm.com>
-
-From afd7086090dafd3949afd172822cbcec4ed17d56 Mon Sep 17 00:00:00 2001
-From: Su Laus <sulau@freenet.de>
-Date: Thu, 13 Oct 2022 14:33:27 +0000
-Subject: [PATCH] tiffcrop subroutines require a larger buffer (fixes #271,
- #381, #386, #388, #389, #435)
-
----
- tools/tiffcrop.c | 209 ++++++++++++++++++++++++++---------------------
- 1 file changed, 118 insertions(+), 91 deletions(-)
-
-diff --git a/tools/tiffcrop.c b/tools/tiffcrop.c
-index 41a2ea36..deab5feb 100644
---- a/tools/tiffcrop.c
-+++ b/tools/tiffcrop.c
-@@ -212,6 +212,10 @@ static char tiffcrop_rev_date[] = "26-08-2022";
-
- #define TIFF_DIR_MAX 65534
-
-+/* Some conversion subroutines require image buffers, which are at least 3 bytes
-+ * larger than the necessary size for the image itself. */
-+#define NUM_BUFF_OVERSIZE_BYTES 3
-+
- /* Offsets into buffer for margins and fixed width and length segments */
- struct offset {
- uint32_t tmargin;
-@@ -233,7 +237,7 @@ struct offset {
- */
-
- struct buffinfo {
-- uint32_t size; /* size of this buffer */
-+ size_t size; /* size of this buffer */
- unsigned char *buffer; /* address of the allocated buffer */
- };
-
-@@ -810,8 +814,8 @@ static int readContigTilesIntoBuffer (TIFF* in, uint8_t* buf,
- uint32_t dst_rowsize, shift_width;
- uint32_t bytes_per_sample, bytes_per_pixel;
- uint32_t trailing_bits, prev_trailing_bits;
-- uint32_t tile_rowsize = TIFFTileRowSize(in);
-- uint32_t src_offset, dst_offset;
-+ tmsize_t tile_rowsize = TIFFTileRowSize(in);
-+ tmsize_t src_offset, dst_offset;
- uint32_t row_offset, col_offset;
- uint8_t *bufp = (uint8_t*) buf;
- unsigned char *src = NULL;
-@@ -861,7 +865,7 @@ static int readContigTilesIntoBuffer (TIFF* in, uint8_t* buf,
- TIFFError("readContigTilesIntoBuffer", "Integer overflow when calculating buffer size.");
- exit(EXIT_FAILURE);
- }
-- tilebuf = limitMalloc(tile_buffsize + 3);
-+ tilebuf = limitMalloc(tile_buffsize + NUM_BUFF_OVERSIZE_BYTES);
- if (tilebuf == 0)
- return 0;
- tilebuf[tile_buffsize] = 0;
-@@ -1024,7 +1028,7 @@ static int readSeparateTilesIntoBuffer (TIFF* in, uint8_t *obuf,
- for (sample = 0; (sample < spp) && (sample < MAX_SAMPLES); sample++)
- {
- srcbuffs[sample] = NULL;
-- tbuff = (unsigned char *)limitMalloc(tilesize + 8);
-+ tbuff = (unsigned char *)limitMalloc(tilesize + NUM_BUFF_OVERSIZE_BYTES);
- if (!tbuff)
- {
- TIFFError ("readSeparateTilesIntoBuffer",
-@@ -1217,7 +1221,8 @@ writeBufferToSeparateStrips (TIFF* out, uint8_t* buf,
- }
- rowstripsize = rowsperstrip * bytes_per_sample * (width + 1);
-
-- obuf = limitMalloc (rowstripsize);
-+ /* Add 3 padding bytes for extractContigSamples32bits */
-+ obuf = limitMalloc (rowstripsize + NUM_BUFF_OVERSIZE_BYTES);
- if (obuf == NULL)
- return 1;
-
-@@ -1229,7 +1234,7 @@ writeBufferToSeparateStrips (TIFF* out, uint8_t* buf,
-
- stripsize = TIFFVStripSize(out, nrows);
- src = buf + (row * rowsize);
-- memset (obuf, '\0', rowstripsize);
-+ memset (obuf, '\0',rowstripsize + NUM_BUFF_OVERSIZE_BYTES);
- if (extractContigSamplesToBuffer(obuf, src, nrows, width, s, spp, bps, dump))
- {
- _TIFFfree(obuf);
-@@ -1237,10 +1242,15 @@ writeBufferToSeparateStrips (TIFF* out, uint8_t* buf,
- }
- if ((dump->outfile != NULL) && (dump->level == 1))
- {
-- dump_info(dump->outfile, dump->format,"",
-+ if (scanlinesize > 0x0ffffffffULL) {
-+ dump_info(dump->infile, dump->format, "loadImage",
-+ "Attention: scanlinesize %"PRIu64" is larger than UINT32_MAX.\nFollowing dump might be wrong.",
-+ scanlinesize);
-+ }
-+ dump_info(dump->outfile, dump->format,"",
- "Sample %2d, Strip: %2d, bytes: %4d, Row %4d, bytes: %4d, Input offset: %6d",
-- s + 1, strip + 1, stripsize, row + 1, scanlinesize, src - buf);
-- dump_buffer(dump->outfile, dump->format, nrows, scanlinesize, row, obuf);
-+ s + 1, strip + 1, stripsize, row + 1, (uint32_t)scanlinesize, src - buf);
-+ dump_buffer(dump->outfile, dump->format, nrows, (uint32_t)scanlinesize, row, obuf);
- }
-
- if (TIFFWriteEncodedStrip(out, strip++, obuf, stripsize) < 0)
-@@ -1267,7 +1277,7 @@ static int writeBufferToContigTiles (TIFF* out, uint8_t* buf, uint32_t imageleng
- uint32_t tl, tw;
- uint32_t row, col, nrow, ncol;
- uint32_t src_rowsize, col_offset;
-- uint32_t tile_rowsize = TIFFTileRowSize(out);
-+ tmsize_t tile_rowsize = TIFFTileRowSize(out);
- uint8_t* bufp = (uint8_t*) buf;
- tsize_t tile_buffsize = 0;
- tsize_t tilesize = TIFFTileSize(out);
-@@ -1310,9 +1320,11 @@ static int writeBufferToContigTiles (TIFF* out, uint8_t* buf, uint32_t imageleng
- }
- src_rowsize = ((imagewidth * spp * bps) + 7U) / 8;
-
-- tilebuf = limitMalloc(tile_buffsize);
-+ /* Add 3 padding bytes for extractContigSamples32bits */
-+ tilebuf = limitMalloc(tile_buffsize + NUM_BUFF_OVERSIZE_BYTES);
- if (tilebuf == 0)
- return 1;
-+ memset(tilebuf, 0, tile_buffsize + NUM_BUFF_OVERSIZE_BYTES);
- for (row = 0; row < imagelength; row += tl)
- {
- nrow = (row + tl > imagelength) ? imagelength - row : tl;
-@@ -1358,7 +1370,8 @@ static int writeBufferToSeparateTiles (TIFF* out, uint8_t* buf, uint32_t imagele
- uint32_t imagewidth, tsample_t spp,
- struct dump_opts * dump)
- {
-- tdata_t obuf = limitMalloc(TIFFTileSize(out));
-+ /* Add 3 padding bytes for extractContigSamples32bits */
-+ tdata_t obuf = limitMalloc(TIFFTileSize(out) + NUM_BUFF_OVERSIZE_BYTES);
- uint32_t tl, tw;
- uint32_t row, col, nrow, ncol;
- uint32_t src_rowsize, col_offset;
-@@ -1368,6 +1381,7 @@ static int writeBufferToSeparateTiles (TIFF* out, uint8_t* buf, uint32_t imagele
-
- if (obuf == NULL)
- return 1;
-+ memset(obuf, 0, TIFFTileSize(out) + NUM_BUFF_OVERSIZE_BYTES);
-
- if( !TIFFGetField(out, TIFFTAG_TILELENGTH, &tl) ||
- !TIFFGetField(out, TIFFTAG_TILEWIDTH, &tw) ||
-@@ -1793,14 +1807,14 @@ void process_command_opts (int argc, char *argv[], char *mp, char *mode, uint32
-
- *opt_offset = '\0';
- /* convert option to lowercase */
-- end = strlen (opt_ptr);
-+ end = (unsigned int)strlen (opt_ptr);
- for (i = 0; i < end; i++)
- *(opt_ptr + i) = tolower((int) *(opt_ptr + i));
- /* Look for dump format specification */
- if (strncmp(opt_ptr, "for", 3) == 0)
- {
- /* convert value to lowercase */
-- end = strlen (opt_offset + 1);
-+ end = (unsigned int)strlen (opt_offset + 1);
- for (i = 1; i <= end; i++)
- *(opt_offset + i) = tolower((int) *(opt_offset + i));
- /* check dump format value */
-@@ -2273,6 +2287,8 @@ main(int argc, char* argv[])
- size_t length;
- char temp_filename[PATH_MAX + 16]; /* Extra space keeps the compiler from complaining */
-
-+ assert(NUM_BUFF_OVERSIZE_BYTES >= 3);
-+
- little_endian = *((unsigned char *)&little_endian) & '1';
-
- initImageData(&image);
-@@ -3227,13 +3243,13 @@ extractContigSamples32bits (uint8_t *in, uint8_t *out, uint32_t cols,
- /* If we have a full buffer's worth, write it out */
- if (ready_bits >= 32)
- {
-- bytebuff1 = (buff2 >> 56);
-+ bytebuff1 = (uint8_t)(buff2 >> 56);
- *dst++ = bytebuff1;
-- bytebuff2 = (buff2 >> 48);
-+ bytebuff2 = (uint8_t)(buff2 >> 48);
- *dst++ = bytebuff2;
-- bytebuff3 = (buff2 >> 40);
-+ bytebuff3 = (uint8_t)(buff2 >> 40);
- *dst++ = bytebuff3;
-- bytebuff4 = (buff2 >> 32);
-+ bytebuff4 = (uint8_t)(buff2 >> 32);
- *dst++ = bytebuff4;
- ready_bits -= 32;
-
-@@ -3642,13 +3658,13 @@ extractContigSamplesShifted32bits (uint8_t *in, uint8_t *out, uint32_t cols,
- }
- else /* If we have a full buffer's worth, write it out */
- {
-- bytebuff1 = (buff2 >> 56);
-+ bytebuff1 = (uint8_t)(buff2 >> 56);
- *dst++ = bytebuff1;
-- bytebuff2 = (buff2 >> 48);
-+ bytebuff2 = (uint8_t)(buff2 >> 48);
- *dst++ = bytebuff2;
-- bytebuff3 = (buff2 >> 40);
-+ bytebuff3 = (uint8_t)(buff2 >> 40);
- *dst++ = bytebuff3;
-- bytebuff4 = (buff2 >> 32);
-+ bytebuff4 = (uint8_t)(buff2 >> 32);
- *dst++ = bytebuff4;
- ready_bits -= 32;
-
-@@ -3825,10 +3841,10 @@ extractContigSamplesToTileBuffer(uint8_t *out, uint8_t *in, uint32_t rows, uint3
- static int readContigStripsIntoBuffer (TIFF* in, uint8_t* buf)
- {
- uint8_t* bufp = buf;
-- int32_t bytes_read = 0;
-+ tmsize_t bytes_read = 0;
- uint32_t strip, nstrips = TIFFNumberOfStrips(in);
-- uint32_t stripsize = TIFFStripSize(in);
-- uint32_t rows = 0;
-+ tmsize_t stripsize = TIFFStripSize(in);
-+ tmsize_t rows = 0;
- uint32_t rps = TIFFGetFieldDefaulted(in, TIFFTAG_ROWSPERSTRIP, &rps);
- tsize_t scanline_size = TIFFScanlineSize(in);
-
-@@ -3841,11 +3857,11 @@ static int readContigStripsIntoBuffer (TIFF* in, uint8_t* buf)
- bytes_read = TIFFReadEncodedStrip (in, strip, bufp, -1);
- rows = bytes_read / scanline_size;
- if ((strip < (nstrips - 1)) && (bytes_read != (int32_t)stripsize))
-- TIFFError("", "Strip %"PRIu32": read %"PRId32" bytes, strip size %"PRIu32,
-+ TIFFError("", "Strip %"PRIu32": read %"PRId64" bytes, strip size %"PRIu64,
- strip + 1, bytes_read, stripsize);
-
- if (bytes_read < 0 && !ignore) {
-- TIFFError("", "Error reading strip %"PRIu32" after %"PRIu32" rows",
-+ TIFFError("", "Error reading strip %"PRIu32" after %"PRIu64" rows",
- strip, rows);
- return 0;
- }
-@@ -4310,13 +4326,13 @@ combineSeparateSamples32bits (uint8_t *in[], uint8_t *out, uint32_t cols,
- /* If we have a full buffer's worth, write it out */
- if (ready_bits >= 32)
- {
-- bytebuff1 = (buff2 >> 56);
-+ bytebuff1 = (uint8_t)(buff2 >> 56);
- *dst++ = bytebuff1;
-- bytebuff2 = (buff2 >> 48);
-+ bytebuff2 = (uint8_t)(buff2 >> 48);
- *dst++ = bytebuff2;
-- bytebuff3 = (buff2 >> 40);
-+ bytebuff3 = (uint8_t)(buff2 >> 40);
- *dst++ = bytebuff3;
-- bytebuff4 = (buff2 >> 32);
-+ bytebuff4 = (uint8_t)(buff2 >> 32);
- *dst++ = bytebuff4;
- ready_bits -= 32;
-
-@@ -4359,10 +4375,10 @@ combineSeparateSamples32bits (uint8_t *in[], uint8_t *out, uint32_t cols,
- "Row %3d, Col %3d, Src byte offset %3d bit offset %2d Dst offset %3d",
- row + 1, col + 1, src_byte, src_bit, dst - out);
-
-- dump_long (dumpfile, format, "Match bits ", matchbits);
-+ dump_wide (dumpfile, format, "Match bits ", matchbits);
- dump_data (dumpfile, format, "Src bits ", src, 4);
-- dump_long (dumpfile, format, "Buff1 bits ", buff1);
-- dump_long (dumpfile, format, "Buff2 bits ", buff2);
-+ dump_wide (dumpfile, format, "Buff1 bits ", buff1);
-+ dump_wide (dumpfile, format, "Buff2 bits ", buff2);
- dump_byte (dumpfile, format, "Write bits1", bytebuff1);
- dump_byte (dumpfile, format, "Write bits2", bytebuff2);
- dump_info (dumpfile, format, "", "Ready bits: %2d", ready_bits);
-@@ -4835,13 +4851,13 @@ combineSeparateTileSamples32bits (uint8_t *in[], uint8_t *out, uint32_t cols,
- /* If we have a full buffer's worth, write it out */
- if (ready_bits >= 32)
- {
-- bytebuff1 = (buff2 >> 56);
-+ bytebuff1 = (uint8_t)(buff2 >> 56);
- *dst++ = bytebuff1;
-- bytebuff2 = (buff2 >> 48);
-+ bytebuff2 = (uint8_t)(buff2 >> 48);
- *dst++ = bytebuff2;
-- bytebuff3 = (buff2 >> 40);
-+ bytebuff3 = (uint8_t)(buff2 >> 40);
- *dst++ = bytebuff3;
-- bytebuff4 = (buff2 >> 32);
-+ bytebuff4 = (uint8_t)(buff2 >> 32);
- *dst++ = bytebuff4;
- ready_bits -= 32;
-
-@@ -4884,10 +4900,10 @@ combineSeparateTileSamples32bits (uint8_t *in[], uint8_t *out, uint32_t cols,
- "Row %3d, Col %3d, Src byte offset %3d bit offset %2d Dst offset %3d",
- row + 1, col + 1, src_byte, src_bit, dst - out);
-
-- dump_long (dumpfile, format, "Match bits ", matchbits);
-+ dump_wide (dumpfile, format, "Match bits ", matchbits);
- dump_data (dumpfile, format, "Src bits ", src, 4);
-- dump_long (dumpfile, format, "Buff1 bits ", buff1);
-- dump_long (dumpfile, format, "Buff2 bits ", buff2);
-+ dump_wide (dumpfile, format, "Buff1 bits ", buff1);
-+ dump_wide (dumpfile, format, "Buff2 bits ", buff2);
- dump_byte (dumpfile, format, "Write bits1", bytebuff1);
- dump_byte (dumpfile, format, "Write bits2", bytebuff2);
- dump_info (dumpfile, format, "", "Ready bits: %2d", ready_bits);
-@@ -4910,7 +4926,7 @@ static int readSeparateStripsIntoBuffer (TIFF *in, uint8_t *obuf, uint32_t lengt
- {
- int i, bytes_per_sample, bytes_per_pixel, shift_width, result = 1;
- uint32_t j;
-- int32_t bytes_read = 0;
-+ tmsize_t bytes_read = 0;
- uint16_t bps = 0, planar;
- uint32_t nstrips;
- uint32_t strips_per_sample;
-@@ -4976,7 +4992,7 @@ static int readSeparateStripsIntoBuffer (TIFF *in, uint8_t *obuf, uint32_t lengt
- for (s = 0; (s < spp) && (s < MAX_SAMPLES); s++)
- {
- srcbuffs[s] = NULL;
-- buff = limitMalloc(stripsize + 3);
-+ buff = limitMalloc(stripsize + NUM_BUFF_OVERSIZE_BYTES);
- if (!buff)
- {
- TIFFError ("readSeparateStripsIntoBuffer",
-@@ -4999,7 +5015,7 @@ static int readSeparateStripsIntoBuffer (TIFF *in, uint8_t *obuf, uint32_t lengt
- buff = srcbuffs[s];
- strip = (s * strips_per_sample) + j;
- bytes_read = TIFFReadEncodedStrip (in, strip, buff, stripsize);
-- rows_this_strip = bytes_read / src_rowsize;
-+ rows_this_strip = (uint32_t)(bytes_read / src_rowsize);
- if (bytes_read < 0 && !ignore)
- {
- TIFFError(TIFFFileName(in),
-@@ -6062,13 +6078,14 @@ loadImage(TIFF* in, struct image_data *image, struct dump_opts *dump, unsigned c
- uint16_t input_compression = 0, input_photometric = 0;
- uint16_t subsampling_horiz, subsampling_vert;
- uint32_t width = 0, length = 0;
-- uint32_t stsize = 0, tlsize = 0, buffsize = 0, scanlinesize = 0;
-+ tmsize_t stsize = 0, tlsize = 0, buffsize = 0;
-+ tmsize_t scanlinesize = 0;
- uint32_t tw = 0, tl = 0; /* Tile width and length */
-- uint32_t tile_rowsize = 0;
-+ tmsize_t tile_rowsize = 0;
- unsigned char *read_buff = NULL;
- unsigned char *new_buff = NULL;
- int readunit = 0;
-- static uint32_t prev_readsize = 0;
-+ static tmsize_t prev_readsize = 0;
-
- TIFFGetFieldDefaulted(in, TIFFTAG_BITSPERSAMPLE, &bps);
- TIFFGetFieldDefaulted(in, TIFFTAG_SAMPLESPERPIXEL, &spp);
-@@ -6325,6 +6342,8 @@ loadImage(TIFF* in, struct image_data *image, struct dump_opts *dump, unsigned c
- /* The buffsize_check and the possible adaptation of buffsize
- * has to account also for padding of each line to a byte boundary.
- * This is assumed by mirrorImage() and rotateImage().
-+ * Furthermore, functions like extractContigSamplesShifted32bits()
-+ * need a buffer, which is at least 3 bytes larger than the actual image.
- * Otherwise buffer-overflow might occur there.
- */
- buffsize_check = length * (uint32_t)(((width * spp * bps) + 7) / 8);
-@@ -6376,7 +6395,7 @@ loadImage(TIFF* in, struct image_data *image, struct dump_opts *dump, unsigned c
- TIFFError("loadImage", "Unable to allocate/reallocate read buffer");
- return (-1);
- }
-- read_buff = (unsigned char *)limitMalloc(buffsize+3);
-+ read_buff = (unsigned char *)limitMalloc(buffsize + NUM_BUFF_OVERSIZE_BYTES);
- }
- else
- {
-@@ -6387,11 +6406,11 @@ loadImage(TIFF* in, struct image_data *image, struct dump_opts *dump, unsigned c
- TIFFError("loadImage", "Unable to allocate/reallocate read buffer");
- return (-1);
- }
-- new_buff = _TIFFrealloc(read_buff, buffsize+3);
-+ new_buff = _TIFFrealloc(read_buff, buffsize + NUM_BUFF_OVERSIZE_BYTES);
- if (!new_buff)
- {
- free (read_buff);
-- read_buff = (unsigned char *)limitMalloc(buffsize+3);
-+ read_buff = (unsigned char *)limitMalloc(buffsize + NUM_BUFF_OVERSIZE_BYTES);
- }
- else
- read_buff = new_buff;
-@@ -6464,8 +6483,13 @@ loadImage(TIFF* in, struct image_data *image, struct dump_opts *dump, unsigned c
- dump_info (dump->infile, dump->format, "",
- "Bits per sample %"PRIu16", Samples per pixel %"PRIu16, bps, spp);
-
-+ if (scanlinesize > 0x0ffffffffULL) {
-+ dump_info(dump->infile, dump->format, "loadImage",
-+ "Attention: scanlinesize %"PRIu64" is larger than UINT32_MAX.\nFollowing dump might be wrong.",
-+ scanlinesize);
-+ }
- for (i = 0; i < length; i++)
-- dump_buffer(dump->infile, dump->format, 1, scanlinesize,
-+ dump_buffer(dump->infile, dump->format, 1, (uint32_t)scanlinesize,
- i, read_buff + (i * scanlinesize));
- }
- return (0);
-@@ -7485,13 +7509,13 @@ writeSingleSection(TIFF *in, TIFF *out, struct image_data *image,
- if (TIFFGetField(in, TIFFTAG_NUMBEROFINKS, &ninks)) {
- TIFFSetField(out, TIFFTAG_NUMBEROFINKS, ninks);
- if (TIFFGetField(in, TIFFTAG_INKNAMES, &inknames)) {
-- int inknameslen = strlen(inknames) + 1;
-+ int inknameslen = (int)strlen(inknames) + 1;
- const char* cp = inknames;
- while (ninks > 1) {
- cp = strchr(cp, '\0');
- if (cp) {
- cp++;
-- inknameslen += (strlen(cp) + 1);
-+ inknameslen += ((int)strlen(cp) + 1);
- }
- ninks--;
- }
-@@ -7554,23 +7578,23 @@ createImageSection(uint32_t sectsize, unsigned char **sect_buff_ptr)
-
- if (!sect_buff)
- {
-- sect_buff = (unsigned char *)limitMalloc(sectsize);
-+ sect_buff = (unsigned char *)limitMalloc(sectsize + NUM_BUFF_OVERSIZE_BYTES);
- if (!sect_buff)
- {
- TIFFError("createImageSection", "Unable to allocate/reallocate section buffer");
- return (-1);
- }
-- _TIFFmemset(sect_buff, 0, sectsize);
-+ _TIFFmemset(sect_buff, 0, sectsize + NUM_BUFF_OVERSIZE_BYTES);
- }
- else
- {
- if (prev_sectsize < sectsize)
- {
-- new_buff = _TIFFrealloc(sect_buff, sectsize);
-+ new_buff = _TIFFrealloc(sect_buff, sectsize + NUM_BUFF_OVERSIZE_BYTES);
- if (!new_buff)
- {
- _TIFFfree (sect_buff);
-- sect_buff = (unsigned char *)limitMalloc(sectsize);
-+ sect_buff = (unsigned char *)limitMalloc(sectsize + NUM_BUFF_OVERSIZE_BYTES);
- }
- else
- sect_buff = new_buff;
-@@ -7580,7 +7604,7 @@ createImageSection(uint32_t sectsize, unsigned char **sect_buff_ptr)
- TIFFError("createImageSection", "Unable to allocate/reallocate section buffer");
- return (-1);
- }
-- _TIFFmemset(sect_buff, 0, sectsize);
-+ _TIFFmemset(sect_buff, 0, sectsize + NUM_BUFF_OVERSIZE_BYTES);
- }
- }
-
-@@ -7611,17 +7635,17 @@ processCropSelections(struct image_data *image, struct crop_mask *crop,
- cropsize = crop->bufftotal;
- crop_buff = seg_buffs[0].buffer;
- if (!crop_buff)
-- crop_buff = (unsigned char *)limitMalloc(cropsize);
-+ crop_buff = (unsigned char *)limitMalloc(cropsize + NUM_BUFF_OVERSIZE_BYTES);
- else
- {
- prev_cropsize = seg_buffs[0].size;
- if (prev_cropsize < cropsize)
- {
-- next_buff = _TIFFrealloc(crop_buff, cropsize);
-+ next_buff = _TIFFrealloc(crop_buff, cropsize + NUM_BUFF_OVERSIZE_BYTES);
- if (! next_buff)
- {
- _TIFFfree (crop_buff);
-- crop_buff = (unsigned char *)limitMalloc(cropsize);
-+ crop_buff = (unsigned char *)limitMalloc(cropsize + NUM_BUFF_OVERSIZE_BYTES);
- }
- else
- crop_buff = next_buff;
-@@ -7634,7 +7658,7 @@ processCropSelections(struct image_data *image, struct crop_mask *crop,
- return (-1);
- }
-
-- _TIFFmemset(crop_buff, 0, cropsize);
-+ _TIFFmemset(crop_buff, 0, cropsize + NUM_BUFF_OVERSIZE_BYTES);
- seg_buffs[0].buffer = crop_buff;
- seg_buffs[0].size = cropsize;
-
-@@ -7714,17 +7738,17 @@ processCropSelections(struct image_data *image, struct crop_mask *crop,
- cropsize = crop->bufftotal;
- crop_buff = seg_buffs[i].buffer;
- if (!crop_buff)
-- crop_buff = (unsigned char *)limitMalloc(cropsize);
-+ crop_buff = (unsigned char *)limitMalloc(cropsize + NUM_BUFF_OVERSIZE_BYTES);
- else
- {
- prev_cropsize = seg_buffs[0].size;
- if (prev_cropsize < cropsize)
- {
-- next_buff = _TIFFrealloc(crop_buff, cropsize);
-+ next_buff = _TIFFrealloc(crop_buff, cropsize + NUM_BUFF_OVERSIZE_BYTES);
- if (! next_buff)
- {
- _TIFFfree (crop_buff);
-- crop_buff = (unsigned char *)limitMalloc(cropsize);
-+ crop_buff = (unsigned char *)limitMalloc(cropsize + NUM_BUFF_OVERSIZE_BYTES);
- }
- else
- crop_buff = next_buff;
-@@ -7737,7 +7761,7 @@ processCropSelections(struct image_data *image, struct crop_mask *crop,
- return (-1);
- }
-
-- _TIFFmemset(crop_buff, 0, cropsize);
-+ _TIFFmemset(crop_buff, 0, cropsize + NUM_BUFF_OVERSIZE_BYTES);
- seg_buffs[i].buffer = crop_buff;
- seg_buffs[i].size = cropsize;
-
-@@ -7853,24 +7877,24 @@ createCroppedImage(struct image_data *image, struct crop_mask *crop,
- crop_buff = *crop_buff_ptr;
- if (!crop_buff)
- {
-- crop_buff = (unsigned char *)limitMalloc(cropsize);
-+ crop_buff = (unsigned char *)limitMalloc(cropsize + NUM_BUFF_OVERSIZE_BYTES);
- if (!crop_buff)
- {
- TIFFError("createCroppedImage", "Unable to allocate/reallocate crop buffer");
- return (-1);
- }
-- _TIFFmemset(crop_buff, 0, cropsize);
-+ _TIFFmemset(crop_buff, 0, cropsize + NUM_BUFF_OVERSIZE_BYTES);
- prev_cropsize = cropsize;
- }
- else
- {
- if (prev_cropsize < cropsize)
- {
-- new_buff = _TIFFrealloc(crop_buff, cropsize);
-+ new_buff = _TIFFrealloc(crop_buff, cropsize + NUM_BUFF_OVERSIZE_BYTES);
- if (!new_buff)
- {
- free (crop_buff);
-- crop_buff = (unsigned char *)limitMalloc(cropsize);
-+ crop_buff = (unsigned char *)limitMalloc(cropsize + NUM_BUFF_OVERSIZE_BYTES);
- }
- else
- crop_buff = new_buff;
-@@ -7879,7 +7903,7 @@ createCroppedImage(struct image_data *image, struct crop_mask *crop,
- TIFFError("createCroppedImage", "Unable to allocate/reallocate crop buffer");
- return (-1);
- }
-- _TIFFmemset(crop_buff, 0, cropsize);
-+ _TIFFmemset(crop_buff, 0, cropsize + NUM_BUFF_OVERSIZE_BYTES);
- }
- }
-
-@@ -8177,13 +8201,13 @@ writeCroppedImage(TIFF *in, TIFF *out, struct image_data *image,
- if (TIFFGetField(in, TIFFTAG_NUMBEROFINKS, &ninks)) {
- TIFFSetField(out, TIFFTAG_NUMBEROFINKS, ninks);
- if (TIFFGetField(in, TIFFTAG_INKNAMES, &inknames)) {
-- int inknameslen = strlen(inknames) + 1;
-+ int inknameslen = (int)strlen(inknames) + 1;
- const char* cp = inknames;
- while (ninks > 1) {
- cp = strchr(cp, '\0');
- if (cp) {
- cp++;
-- inknameslen += (strlen(cp) + 1);
-+ inknameslen += ((int)strlen(cp) + 1);
- }
- ninks--;
- }
-@@ -8568,13 +8592,13 @@ rotateContigSamples32bits(uint16_t rotation, uint16_t spp, uint16_t bps, uint32_
- }
- else /* If we have a full buffer's worth, write it out */
- {
-- bytebuff1 = (buff2 >> 56);
-+ bytebuff1 = (uint8_t)(buff2 >> 56);
- *dst++ = bytebuff1;
-- bytebuff2 = (buff2 >> 48);
-+ bytebuff2 = (uint8_t)(buff2 >> 48);
- *dst++ = bytebuff2;
-- bytebuff3 = (buff2 >> 40);
-+ bytebuff3 = (uint8_t)(buff2 >> 40);
- *dst++ = bytebuff3;
-- bytebuff4 = (buff2 >> 32);
-+ bytebuff4 = (uint8_t)(buff2 >> 32);
- *dst++ = bytebuff4;
- ready_bits -= 32;
-
-@@ -8643,12 +8667,13 @@ rotateImage(uint16_t rotation, struct image_data *image, uint32_t *img_width,
- return (-1);
- }
-
-- if (!(rbuff = (unsigned char *)limitMalloc(buffsize)))
-+ /* Add 3 padding bytes for extractContigSamplesShifted32bits */
-+ if (!(rbuff = (unsigned char *)limitMalloc(buffsize + NUM_BUFF_OVERSIZE_BYTES)))
- {
-- TIFFError("rotateImage", "Unable to allocate rotation buffer of %1u bytes", buffsize);
-+ TIFFError("rotateImage", "Unable to allocate rotation buffer of %1u bytes", buffsize + NUM_BUFF_OVERSIZE_BYTES);
- return (-1);
- }
-- _TIFFmemset(rbuff, '\0', buffsize);
-+ _TIFFmemset(rbuff, '\0', buffsize + NUM_BUFF_OVERSIZE_BYTES);
-
- ibuff = *ibuff_ptr;
- switch (rotation)
-@@ -9176,13 +9201,13 @@ reverseSamples32bits (uint16_t spp, uint16_t bps, uint32_t width,
- }
- else /* If we have a full buffer's worth, write it out */
- {
-- bytebuff1 = (buff2 >> 56);
-+ bytebuff1 = (uint8_t)(buff2 >> 56);
- *dst++ = bytebuff1;
-- bytebuff2 = (buff2 >> 48);
-+ bytebuff2 = (uint8_t)(buff2 >> 48);
- *dst++ = bytebuff2;
-- bytebuff3 = (buff2 >> 40);
-+ bytebuff3 = (uint8_t)(buff2 >> 40);
- *dst++ = bytebuff3;
-- bytebuff4 = (buff2 >> 32);
-+ bytebuff4 = (uint8_t)(buff2 >> 32);
- *dst++ = bytebuff4;
- ready_bits -= 32;
-
-@@ -9273,12 +9298,13 @@ mirrorImage(uint16_t spp, uint16_t bps, uint16_t mirror, uint32_t width, uint32_
- {
- case MIRROR_BOTH:
- case MIRROR_VERT:
-- line_buff = (unsigned char *)limitMalloc(rowsize);
-+ line_buff = (unsigned char *)limitMalloc(rowsize + NUM_BUFF_OVERSIZE_BYTES);
- if (line_buff == NULL)
- {
-- TIFFError ("mirrorImage", "Unable to allocate mirror line buffer of %1u bytes", rowsize);
-+ TIFFError ("mirrorImage", "Unable to allocate mirror line buffer of %1u bytes", rowsize + NUM_BUFF_OVERSIZE_BYTES);
- return (-1);
- }
-+ _TIFFmemset(line_buff, '\0', rowsize + NUM_BUFF_OVERSIZE_BYTES);
-
- dst = ibuff + (rowsize * (length - 1));
- for (row = 0; row < length / 2; row++)
-@@ -9310,11 +9336,12 @@ mirrorImage(uint16_t spp, uint16_t bps, uint16_t mirror, uint32_t width, uint32_
- }
- else
- { /* non 8 bit per sample data */
-- if (!(line_buff = (unsigned char *)limitMalloc(rowsize + 1)))
-+ if (!(line_buff = (unsigned char *)limitMalloc(rowsize + NUM_BUFF_OVERSIZE_BYTES)))
- {
- TIFFError("mirrorImage", "Unable to allocate mirror line buffer");
- return (-1);
- }
-+ _TIFFmemset(line_buff, '\0', rowsize + NUM_BUFF_OVERSIZE_BYTES);
- bytes_per_sample = (bps + 7) / 8;
- bytes_per_pixel = ((bps * spp) + 7) / 8;
- if (bytes_per_pixel < (bytes_per_sample + 1))
-@@ -9326,7 +9353,7 @@ mirrorImage(uint16_t spp, uint16_t bps, uint16_t mirror, uint32_t width, uint32_
- {
- row_offset = row * rowsize;
- src = ibuff + row_offset;
-- _TIFFmemset (line_buff, '\0', rowsize);
-+ _TIFFmemset (line_buff, '\0', rowsize + NUM_BUFF_OVERSIZE_BYTES);
- switch (shift_width)
- {
- case 1: if (reverseSamples16bits(spp, bps, width, src, line_buff))
---
-2.34.1
-
diff --git a/poky/meta/recipes-multimedia/libtiff/files/CVE-2022-2953.patch b/poky/meta/recipes-multimedia/libtiff/files/CVE-2022-2953.patch
deleted file mode 100644
index e673945fa3..0000000000
--- a/poky/meta/recipes-multimedia/libtiff/files/CVE-2022-2953.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-CVE: CVE-2022-2953
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@arm.com>
-
-From 8fe3735942ea1d90d8cef843b55b3efe8ab6feaf Mon Sep 17 00:00:00 2001
-From: Su_Laus <sulau@freenet.de>
-Date: Mon, 15 Aug 2022 22:11:03 +0200
-Subject: [PATCH] =?UTF-8?q?According=20to=20Richard=20Nolde=20https://gitl?=
- =?UTF-8?q?ab.com/libtiff/libtiff/-/issues/401#note=5F877637400=20the=20ti?=
- =?UTF-8?q?ffcrop=20option=20=E2=80=9E-S=E2=80=9C=20is=20also=20mutually?=
- =?UTF-8?q?=20exclusive=20to=20the=20other=20crop=20options=20(-X|-Y),=20-?=
- =?UTF-8?q?Z=20and=20-z.?=
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This is now checked and ends tiffcrop if those arguments are not mutually exclusive.
-
-This MR will fix the following tiffcrop issues: #349, #414, #422, #423, #424
----
- tools/tiffcrop.c | 31 ++++++++++++++++---------------
- 1 file changed, 16 insertions(+), 15 deletions(-)
-
-diff --git a/tools/tiffcrop.c b/tools/tiffcrop.c
-index 90286a5e..c3b758ec 100644
---- a/tools/tiffcrop.c
-+++ b/tools/tiffcrop.c
-@@ -173,12 +173,12 @@ static char tiffcrop_rev_date[] = "02-09-2022";
- #define ROTATECW_270 32
- #define ROTATE_ANY (ROTATECW_90 | ROTATECW_180 | ROTATECW_270)
-
--#define CROP_NONE 0
--#define CROP_MARGINS 1
--#define CROP_WIDTH 2
--#define CROP_LENGTH 4
--#define CROP_ZONES 8
--#define CROP_REGIONS 16
-+#define CROP_NONE 0 /* "-S" -> Page_MODE_ROWSCOLS and page->rows/->cols != 0 */
-+#define CROP_MARGINS 1 /* "-m" */
-+#define CROP_WIDTH 2 /* "-X" */
-+#define CROP_LENGTH 4 /* "-Y" */
-+#define CROP_ZONES 8 /* "-Z" */
-+#define CROP_REGIONS 16 /* "-z" */
- #define CROP_ROTATE 32
- #define CROP_MIRROR 64
- #define CROP_INVERT 128
-@@ -316,7 +316,7 @@ struct crop_mask {
- #define PAGE_MODE_RESOLUTION 1
- #define PAGE_MODE_PAPERSIZE 2
- #define PAGE_MODE_MARGINS 4
--#define PAGE_MODE_ROWSCOLS 8
-+#define PAGE_MODE_ROWSCOLS 8 /* for -S option */
-
- #define INVERT_DATA_ONLY 10
- #define INVERT_DATA_AND_TAG 11
-@@ -781,7 +781,7 @@ static const char usage_info[] =
- " The four debug/dump options are independent, though it makes little sense to\n"
- " specify a dump file without specifying a detail level.\n"
- "\n"
--"Note: The (-X|-Y), -Z and -z options are mutually exclusive.\n"
-+"Note: The (-X|-Y), -Z, -z and -S options are mutually exclusive.\n"
- " In no case should the options be applied to a given selection successively.\n"
- "\n"
- ;
-@@ -2131,13 +2131,14 @@ void process_command_opts (int argc, char *argv[], char *mp, char *mode, uint32
- /*NOTREACHED*/
- }
- }
-- /*-- Check for not allowed combinations (e.g. -X, -Y and -Z and -z are mutually exclusive) --*/
-- char XY, Z, R;
-+ /*-- Check for not allowed combinations (e.g. -X, -Y and -Z, -z and -S are mutually exclusive) --*/
-+ char XY, Z, R, S;
- XY = ((crop_data->crop_mode & CROP_WIDTH) || (crop_data->crop_mode & CROP_LENGTH));
- Z = (crop_data->crop_mode & CROP_ZONES);
- R = (crop_data->crop_mode & CROP_REGIONS);
-- if ((XY && Z) || (XY && R) || (Z && R)) {
-- TIFFError("tiffcrop input error", "The crop options(-X|-Y), -Z and -z are mutually exclusive.->Exit");
-+ S = (page->mode & PAGE_MODE_ROWSCOLS);
-+ if ((XY && Z) || (XY && R) || (XY && S) || (Z && R) || (Z && S) || (R && S)) {
-+ TIFFError("tiffcrop input error", "The crop options(-X|-Y), -Z, -z and -S are mutually exclusive.->Exit");
- exit(EXIT_FAILURE);
- }
- } /* end process_command_opts */
---
-2.34.1
-
diff --git a/poky/meta/recipes-multimedia/libtiff/files/CVE-2022-34526.patch b/poky/meta/recipes-multimedia/libtiff/files/CVE-2022-34526.patch
deleted file mode 100644
index 54c3345746..0000000000
--- a/poky/meta/recipes-multimedia/libtiff/files/CVE-2022-34526.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 275735d0354e39c0ac1dc3c0db2120d6f31d1990 Mon Sep 17 00:00:00 2001
-From: Even Rouault <even.rouault@spatialys.com>
-Date: Mon, 27 Jun 2022 16:09:43 +0200
-Subject: [PATCH] _TIFFCheckFieldIsValidForCodec(): return FALSE when passed a
- codec-specific tag and the codec is not configured (fixes #433)
-
-This avoids crashes when querying such tags
-
-CVE: CVE-2022-34526
-Upstream-Status: Backport [https://gitlab.com/libtiff/libtiff/-/commit/275735d0354e39c0ac1dc3c0db2120d6f31d1990]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- libtiff/tif_dirinfo.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/libtiff/tif_dirinfo.c b/libtiff/tif_dirinfo.c
-index c30f569b..3371cb5c 100644
---- a/libtiff/tif_dirinfo.c
-+++ b/libtiff/tif_dirinfo.c
-@@ -1191,6 +1191,9 @@ _TIFFCheckFieldIsValidForCodec(TIFF *tif, ttag_t tag)
- default:
- return 1;
- }
-+ if( !TIFFIsCODECConfigured(tif->tif_dir.td_compression) ) {
-+ return 0;
-+ }
- /* Check if codec specific tags are allowed for the current
- * compression scheme (codec) */
- switch (tif->tif_dir.td_compression) {
---
-GitLab
-
diff --git a/poky/meta/recipes-multimedia/libtiff/tiff_4.4.0.bb b/poky/meta/recipes-multimedia/libtiff/tiff_4.5.0.bb
index 29cb4111d6..261cb52081 100644
--- a/poky/meta/recipes-multimedia/libtiff/tiff_4.4.0.bb
+++ b/poky/meta/recipes-multimedia/libtiff/tiff_4.5.0.bb
@@ -4,21 +4,13 @@ DESCRIPTION = "Library provides support for the Tag Image File Format \
provide means to easily access and create TIFF image files."
HOMEPAGE = "http://www.libtiff.org/"
LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=34da3db46fab7501992f9615d7e158cf"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=a3e32d664d6db1386b4689c8121531c3"
CVE_PRODUCT = "libtiff"
-SRC_URI = "http://download.osgeo.org/libtiff/tiff-${PV}.tar.gz \
- file://0001-fix-the-FPE-in-tiffcrop-415-427-and-428.patch \
- file://CVE-2022-34526.patch \
- file://CVE-2022-2953.patch \
- file://0001-Revised-handling-of-TIFFTAG_INKNAMES-and-related-TIF.patch \
- file://0001-tiffcrop-S-option-Make-decision-simpler.patch \
- file://0001-tiffcrop-disable-incompatibility-of-Z-X-Y-z-options-.patch \
- file://0001-tiffcrop-subroutines-require-a-larger-buffer-fixes-2.patch \
- "
+SRC_URI = "http://download.osgeo.org/libtiff/tiff-${PV}.tar.gz"
-SRC_URI[sha256sum] = "917223b37538959aca3b790d2d73aa6e626b688e02dcda272aec24c2f498abed"
+SRC_URI[sha256sum] = "c7a1d9296649233979fa3eacffef3fa024d73d05d589cb622727b5b08c423464"
# exclude betas
UPSTREAM_CHECK_REGEX = "tiff-(?P<pver>\d+(\.\d+)+).tar"
@@ -44,6 +36,7 @@ PACKAGECONFIG[jbig] = "--enable-jbig,--disable-jbig,jbig,"
PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg,"
PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib,"
PACKAGECONFIG[lzma] = "--enable-lzma,--disable-lzma,xz,"
+PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp,"
# Convert single-strip uncompressed images to multiple strips of specified
# size (default: 8192) to reduce memory usage
diff --git a/poky/meta/recipes-multimedia/mpg123/mpg123_1.31.1.bb b/poky/meta/recipes-multimedia/mpg123/mpg123_1.31.1.bb
index 11ff5dea92..a8a2377bd4 100644
--- a/poky/meta/recipes-multimedia/mpg123/mpg123_1.31.1.bb
+++ b/poky/meta/recipes-multimedia/mpg123/mpg123_1.31.1.bb
@@ -37,6 +37,8 @@ AUDIOMODS += "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'pulse', '', d
EXTRA_OECONF = " \
--enable-shared \
+ --enable-largefile \
+ --disable-lfs-alias \
--with-audio='${AUDIOMODS}' \
${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-cpu=neon', '', d)} \
${@bb.utils.contains('TUNE_FEATURES', 'altivec', '--with-cpu=altivec', '', d)} \