diff options
author | Andrew Geissler <geissonator@yahoo.com> | 2023-05-19 18:14:02 +0300 |
---|---|---|
committer | Andrew Geissler <geissonator@yahoo.com> | 2023-05-19 21:39:02 +0300 |
commit | 3eeda90d141cf2db6541a740e22e20be04504bb5 (patch) | |
tree | 09891347148b8e07eeedd6ce6a6a4566f4385d35 /meta-openembedded/meta-oe/recipes-support | |
parent | dc9d614711d1f205166fa42a0af05054fe06b26d (diff) | |
download | openbmc-3eeda90d141cf2db6541a740e22e20be04504bb5.tar.xz |
subtree updates
meta-openembedded: f3cdc9d7ee..0474e0b870:
Alexander Amelkin (1):
ipmitool: Update links
Bhargav Das (1):
python3-libevdev: Add recipe for python libevdev module.
Changqing Li (1):
redis: upgrade 6.2.11 -> 6.2.12
Chen Qi (1):
frr: add CVE_PRODUCT
Diego Dassie (2):
paho-mqtt-c: Disable building tests
paho-mqtt-c: Improve performance
Fabio Estevam (1):
lvgl: lvgl-demo-fb: Inherit features_check
Johannes Kauffmann (2):
open62541: allow overriding encryption providers
open62541: disable warnings as errors
Jun Nie (3):
libcbor: Add initial support
python3-pefile: Add initial support
python3-uswid: Add initial support
Khem Raj (27):
gitpkgv: Fix python deprecation warning
python3-pyzstd: Disable LTO on clang+arm
libftdi: Remove sysroot paths from .cmake files
libencode-perl: Remove buildpaths from generated .exh files
libcdio: Drop need for LIBCDIO_SOURCE_PATH
enca: Remove buildpaths from target scripts
libirecovery: Add missing build dependency on readline
usbmuxd: Remove recipe for 1.1.1
usbmuxd: Updgrade to latest on master branch
packagegroup-meta-oe: Add kpatch for glibc + x86_64 only
packagegroup-meta-oe: Remove minicoredumper-ptest for musl
libimobiledevice: Delete recipe for 1.3.0
libimobiledevice: Update to latest tip
libimobiledevice: Fix build with clang
idevicerestore: Update to latest on master branch
libpaper: Add recipe
psutils: Add recipe
nodejs: Upgrade to 18.16.0
python3-pylint: Fix missing deps for ptests
etcd: Inherit missing features_check
fftw: Remove hardcoded sysroot into binaries
lmdb: Pass CFLAGS to Makefile
squid: Remove buildpaths from generated binaries
libiio: Do not generate lineinfo in lex/yacc generated files
php: Remove buildpaths from scripts and generated headers
uw-imap: Pass CFLAGS from environment
libmad: Add a patch to pass cflags to build
Marcel Ziswiler (1):
libusbgx: fix device hot-plug use case
Marek Vasut (7):
lvgl: Upgrade lvgl to 8.3.7 and lv-driver to 8.3.0
lvgl: Activate custom tick implementation
lvgl: Add configurable color depth, default to 32bpp
lvgl: Support both fbdev and wayland backends
lvgl: Update lvgl-demo-fb to 8.3.0
lvgl: Upgrade dialog-lvgl to next/main version
lvgl: Add dependency on fbdev into lvgl-demo-fb DISTRO_FEATURES
Markus Volk (12):
xdg-desktop-portal-wlr: update 0.6.0 -> 0.7.0
python3-pillow: add libxcb to RDEPENDS for x11
adw-gtk3: update 4.5 -> 4.6
paprefs: add recipe
imaagemagick: update 7.1.1-5 -> 7.1.1-8
fuse3: update 3.12.0 -> 3.14.1
gnome-software: update 44.0 -> 44.1
gjs: update 1.75.1 -> 1.76.0
evince: update 44.0 -> 44.1
gdm: update 44.0 -> 44.1
xdg-desktop-portal-gnome: update 44.0 -> 44.1
libcamera: update 0.0.4 -> 0.0.5
Martin Jansa (18):
glfw: respect DISTRO_FEATURES when enabling x11 in default PACKAGECONFIG and return it to REQUIRED_DISTRO_FEATURES
libreport: add dependency on libarchive
libxmlb: add missing dependency on glib-2.0 and xz
geoclue: fix build without gobject-introspection-data
appstream: fix build without gobject-introspection-data
ostree: fix build without gobject-introspection-data
rdfind: fix build with -Werror=return-type
spice-gtk: respect gobject-introspection-data
cpulimit: fix do_install with multilib
libnfs: fix installed-vs-shipped issues with multilib
btrfsmaintenance: install to ${datadir}/${BPN}
libtomcrypt: pass LIBPATH to fix installed-vs-shipped with multilib
nanopb: fix installed-vs-shipped with multilib
nv-codec-headers: fix installed-vs-shipped with multilib
zfs: fix installation paths for multilib
poppler: add dependency on glib-2.0-native
paprefs: add x11 to REQUIRED_DISTRO_FEATURES
etcd: don't hardcode /usr/lib in do_install
Matija Tudan (1):
serial: add recipe for version 1.2.1
Ming Liu (4):
libusbgx: uprev to the latest commit
libusbgx: fix some systemd service conditions
libusbgx: drop hard-coded /usr/bin,/etc
libusbgx: check scripts in /etc/usbgx.d
Mingli Yu (1):
minicoredumper: correct the sysvinit service file attribute
Petr Gotthard (4):
strongswan: add PACKAGECONFIG for the NetworkManager module
openfortivpn: add new recipe
networkmanager-fortisslvpn: add new recipe
networkmanager-openconnect: add new recipe
Ross Burton (6):
v4l-utils: do out-of-tree builds
python3-ninja: simplify recipe
libisofs: add new recipe
libburn: move to meta-filesystems
libisoburn: add new recipe
xorriso: remove obsolete recipe
Trevor Gamblin (9):
python3-pytest-mock: Add recipe
python3-tomlkit: Add recipe
ptest-packagelists-meta-python: Add new tests
python3-platformdirs: Add recipe
python3-pylint: upgrade 2.14.5 -> 2.17.3
python3-pylint: add ptest
ptest-packagelists-meta-python: Add new tests
python3-pylint: upgrade 2.17.3 -> 2.17.4
python3-pylint: omit failing pickle test
Vasileios Anagnostopoulos (1):
asio: update to 1.28.0
Wang Mingyu (74):
abseil-cpp: upgrade 20230125.2 -> 20230125.3
appstream: upgrade 0.16.1 -> 0.16.2
babl: upgrade 0.1.104 -> 0.1.106
audit: upgrade 3.1 -> 3.1.1
boost-sml: upgrade 1.1.6 -> 1.1.8
ctags: upgrade 6.0.20230416.0 -> 6.0.20230430.0
eog: upgrade 44.0 -> 44.1
gspell: upgrade 1.12.0 -> 1.12.1
etcd-cpp-apiv3: upgrade 0.14.2 -> 0.14.3
googlebenchmark: upgrade 1.7.1 -> 1.8.0
hwdata: upgrade 0.369 -> 0.370
libbpf: upgrade 1.1.0 -> 1.2.0
iozone3: upgrade 492 -> 506
libadwaita: upgrade 1.3.1 -> 1.3.2
libcgi-perl: upgrade 4.56 -> 4.57
libjs-jquery-cookie: upgrade 3.0.1 -> 3.0.5
libmodule-build-tiny-perl: upgrade 0.043 -> 0.045
log4cpp: upgrade 1.1.3 -> 1.1.4
nautilus: upgrade 44.0 -> 44.1
makedumpfile: upgrade 1.7.2 -> 1.7.3
mg: upgrade 20230406 -> 20230501
python3-yarl: upgrade 1.8.2 -> 1.9.2
python3-alembic: upgrade 1.10.3 -> 1.10.4
python3-cassandra-driver: upgrade 3.26.0 -> 3.27.0
python3-can: upgrade 4.1.0 -> 4.2.0
python3-astroid: upgrade 2.15.3 -> 2.15.4
python3-argcomplete: upgrade 3.0.5 -> 3.0.8
python3-coverage: upgrade 7.2.3 -> 7.2.5
python3-imageio: upgrade 2.27.0 -> 2.28.1
python3-gast: upgrade 0.5.3 -> 0.5.4
python3-langtable: upgrade 0.0.61 -> 0.0.62
python3-flask-socketio: upgrade 5.3.3 -> 5.3.4
python3-elementpath: upgrade 4.1.1 -> 4.1.2
python3-nocasedict: upgrade 2.0.0 -> 2.0.1
python3-protobuf: upgrade 4.22.3 -> 4.22.4
python3-pint: upgrade 0.20.1 -> 0.21
python3-pulsectl: upgrade 22.3.2 -> 23.5.0
python3-pika: upgrade 1.3.1 -> 1.3.2
python3-pymisp: upgrade 2.4.170.1 -> 2.4.170.2
python3-pyudev: upgrade 0.24.0 -> 0.24.1
python3-regex: upgrade 2023.3.23 -> 2023.5.5
python3-rich: upgrade 13.3.4 -> 13.3.5
python3-smpplib: upgrade 2.2.2 -> 2.2.3
python3-sentry-sdk: upgrade 1.20.0 -> 1.22.1
python3-sqlalchemy: upgrade 2.0.9 -> 2.0.12
python3-termcolor: upgrade 2.2.0 -> 2.3.0
python3-twitter: upgrade 4.13.0 -> 4.14.0
python3-web3: upgrade 6.2.0 -> 6.3.0
tracker: upgrade 3.5.0 -> 3.5.1
python3-zeroconf: upgrade 0.56.0 -> 0.62.0
python3-xstatic: upgrade 1.0.2 -> 1.0.3
python3-requests-toolbelt: upgrade 0.10.1 -> 1.0.0
libimobiledevice-glue: SRCREV bump d2ff796..114098d
libplist: upgrade 2.2.0 -> 2.3.0
ctags: upgrade 6.0.20230430.0 -> 6.0.20230507.0
libnet-dns-perl: upgrade 1.37 -> 1.38
libdivecomputer: upgrade 0.7.0 -> 0.8.0
python3-platformdirs: upgrade 3.5.0 -> 3.5.1
python3-sympy: upgrade 1.11.1 -> 1.12
python3-google-auth: upgrade 2.17.3 -> 2.18.0
php: upgrade 8.2.5 -> 8.2.6
postgresql: upgrade 15.2 -> 15.3
python3-protobuf: upgrade 4.22.4 -> 4.23.0
python3-pulsectl: upgrade 23.5.0 -> 23.5.1
python3-pymisp: upgrade 2.4.170.2 -> 2.4.171
python3-pyjwt: upgrade 2.6.0 -> 2.7.0
python3-redis: upgrade 4.5.4 -> 4.5.5
python3-pytest-xdist: upgrade 3.2.1 -> 3.3.0
python3-sentry-sdk: upgrade 1.22.1 -> 1.22.2
python3-typeguard: upgrade 3.0.2 -> 4.0.0
python3-sqlalchemy: upgrade 2.0.12 -> 2.0.13
python3-websockets: upgrade 11.0.2 -> 11.0.3
xterm: upgrade 379 -> 380
wavpack: upgrade 4.60.1 -> 5.1.0
Xiangyu Chen (1):
pahole: fix native package build error
ojayanth (2):
etcd: systemd unit support to start existing etcd node
etcd: add systemd unit support for clustering
poky: 76cec94fad..35e5d29a7d:
Alexander Kanavin (1):
gcr: consider all versions, not only x.even.y
Andrew Jeffery (1):
Revert "ipk: Decode byte data to string in manifest handling"
Anuj Mittal (2):
gstreamer1.0: upgrade 1.22.0 -> 1.22.2
vte: upgrade 0.72.0 -> 0.72.1
Chen Qi (1):
sqlite3: update CVE_PRODUCT
Frederic Martinsons (1):
ptest-cargo.bbclass: add the possibility to define test arguments
Khem Raj (3):
musl: Update to 1.2.4 release
cpio: Run ptests under ptest user
python3-requests: Upgrade to 2.30.0
Luca Ceresoli (2):
ref-manual: classes: kernel: remove incorrect sentence opening
ref-manual: classes: kernel: document automatic defconfig usage
Martin Jansa (1):
populate_sdk_base.bbclass: respect MLPREFIX for ptest-pkgs's ptest-runner
Michael Opdenacker (2):
migration-guides: start of 4.3 migration and release notes
ref-manual: document FIT_ADDRESS_CELLS
Paul Gortmaker (1):
yocto-bsp: drop MIPS Edgerouter support
Qiu Tingting (1):
e2fsprogs: fix ptest bug for second running
Richard Purdie (5):
migration/release-notes-4.3: Add extra notes
qemu: Update ppc instruction fix to match revised upstream version
glib-networking: Add test retry to avoid failures
glib-networking: Correct glib error handling in test patch
qemu: Further updates to the ppc patch after upstream discussion
Ross Burton (6):
gdb: fix crashes when debugging threads with Arm Pointer Authentication enabled
Revert "ffmpeg: move ffmpeg config into packageconfig"
ffmpeg: add v4l2 PACKAGECONFIG
python3: use libedit instead of readline
python3: clean up PACKAGECONFIG
python3: use system expat
Tim Orling (2):
python3-urllib3: upgrade 1.26.15 -> 2.0.2
python3-attrs: upgrade 22.2.0 -> 23.1.0
Trevor Gamblin (3):
python3-trove-classifiers: Add recipe
python3-hatchling: upgrade 1.13.0 -> 1.14.1
python3-calver: Add recipe
Zang Ruochen (1):
elfutils: upgrade 0.188 -> 0.189
nikhil (1):
tiff: Remove unused patch from tiff
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I5304cb7a7ca3c09a110f52fa5b2844f5f00f4851
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-support')
29 files changed, 1074 insertions, 35 deletions
diff --git a/meta-openembedded/meta-oe/recipes-support/appstream/appstream_0.16.1.bb b/meta-openembedded/meta-oe/recipes-support/appstream/appstream_0.16.2.bb index 50d8cdb4c2..1ba4521834 100644 --- a/meta-openembedded/meta-oe/recipes-support/appstream/appstream_0.16.1.bb +++ b/meta-openembedded/meta-oe/recipes-support/appstream/appstream_0.16.2.bb @@ -21,11 +21,11 @@ DEPENDS = " \ inherit meson gobject-introspection gettext gtk-doc pkgconfig vala -GIR_MESON_OPTION = "" +GIR_MESON_OPTION = "gir" SRC_URI = "https://www.freedesktop.org/software/appstream/releases/AppStream-${PV}.tar.xz" SRC_URI:append:class-target = " file://0001-fix-crosscompile.patch" -SRC_URI[sha256sum] = "77e274e163db1f0a1bec8f4134b1d0f31e9c0a8c54cd37f724a7d30a71cf41d2" +SRC_URI[sha256sum] = "f9cb80bd388fbf06be268afa7f2d65863c85d605ad874b905094f3982d03f232" S = "${WORKDIR}/AppStream-${PV}" diff --git a/meta-openembedded/meta-oe/recipes-support/asio/asio_1.20.0.bb b/meta-openembedded/meta-oe/recipes-support/asio/asio_1.28.0.bb index cedcf9fee0..ae721263dd 100644 --- a/meta-openembedded/meta-oe/recipes-support/asio/asio_1.20.0.bb +++ b/meta-openembedded/meta-oe/recipes-support/asio/asio_1.28.0.bb @@ -9,17 +9,18 @@ LICENSE = "BSL-1.0" DEPENDS = "openssl" -SRC_URI = "${SOURCEFORGE_MIRROR}/asio/${BP}.tar.bz2" +SRC_URI = " \ + ${SOURCEFORGE_MIRROR}/asio/${BP}.tar.bz2 \ + file://0001-Add-the-pkgconfigdir-location.patch \ +" inherit autotools ALLOW_EMPTY:${PN} = "1" -LIC_FILES_CHKSUM = "file://COPYING;md5=416f4cc4f79551b690babb14ef1a5799" +LIC_FILES_CHKSUM = "file://COPYING;md5=ff668366bbdb687b6029d33a5fe4b999" -SRC_URI[sha256sum] = "204374d3cadff1b57a63f4c343cbadcee28374c072dc04b549d772dbba9f650c" - -SRC_URI = "${SOURCEFORGE_MIRROR}/asio/${BP}.tar.bz2" +SRC_URI[sha256sum] = "d0ddc2361abd2f4c823e970aaf8e28b4b31ab21b1a68af16b114fc093661e232" PACKAGECONFIG ??= "boost" diff --git a/meta-openembedded/meta-oe/recipes-support/asio/files/0001-Add-the-pkgconfigdir-location.patch b/meta-openembedded/meta-oe/recipes-support/asio/files/0001-Add-the-pkgconfigdir-location.patch new file mode 100644 index 0000000000..3f93e7e4b0 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/asio/files/0001-Add-the-pkgconfigdir-location.patch @@ -0,0 +1,30 @@ +From 248e87869d748cfb72d3a5d3b2b91ad178172e30 Mon Sep 17 00:00:00 2001 +From: Vasileios Anagnostopoulos <anagnwstopoulos@hotmail.com> +Date: Tue, 9 May 2023 12:48:29 +0200 +Subject: [PATCH] Add the pkgconfigdir location + +This change is necessary, because while building asio in yocto the +compilation is failing and is complaining because the variable is +undefined + +Signed-off-by: Vasileios Anagnostopoulos <anagnwstopoulos@hotmail.com> +Upstream status: Submitted [https://github.com/chriskohlhoff/asio/pull/1294] +--- + asio/Makefile.am | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Makefile.am b/Makefile.am +index b7760851..bc4f75b3 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,6 +1,7 @@ + AUTOMAKE_OPTIONS = foreign dist-bzip2 dist-zip + + pkgconfig_DATA = asio.pc ++pkgconfigdir = $(libdir)/pkgconfig + + SUBDIRS = include src + +-- +2.34.1 + diff --git a/meta-openembedded/meta-oe/recipes-support/boost-sml/boost-sml_git.bb b/meta-openembedded/meta-oe/recipes-support/boost-sml/boost-sml_git.bb index c83181cfea..a06122a644 100644 --- a/meta-openembedded/meta-oe/recipes-support/boost-sml/boost-sml_git.bb +++ b/meta-openembedded/meta-oe/recipes-support/boost-sml/boost-sml_git.bb @@ -9,10 +9,10 @@ LIC_FILES_CHKSUM = "file://LICENSE.md;md5=e4224ccaecb14d942c71d31bef20d78c" DEPENDS += "boost qemu-native" -PV = "1.1.6" +PV = "1.1.8" SRC_URI = "git://github.com/boost-ext/sml.git;protocol=https;branch=master" -SRCREV = "23e9a24e434cac9922039cbb43ca54ab70bef72c" +SRCREV = "8eb63a8b77bb662075dd36b316e53f75e605fd0f" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-support/cpulimit/cpulimit_0.2.bb b/meta-openembedded/meta-oe/recipes-support/cpulimit/cpulimit_0.2.bb index 86a58beda4..58e4fd6e88 100644 --- a/meta-openembedded/meta-oe/recipes-support/cpulimit/cpulimit_0.2.bb +++ b/meta-openembedded/meta-oe/recipes-support/cpulimit/cpulimit_0.2.bb @@ -4,7 +4,7 @@ LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://LICENSE;md5=86c1c0d961a437e529db93aa3bb32dc4" SRCREV ?= "f4d2682804931e7aea02a869137344bb5452a3cd" -SRC_URI = "git://g...@github.com/opsengine/cpulimit.git;protocol=https;branch=master \ +SRC_URI = "git://github.com/opsengine/cpulimit.git;protocol=https;branch=master \ file://0001-Remove-sys-sysctl.h-and-add-missing-libgen.h-include.patch \ " @@ -15,7 +15,7 @@ do_compile() { } do_install() { install -d ${D}${sbindir} - install -m 0755 ${B}/src/${PN} ${D}${sbindir}/ + install -m 0755 ${B}/src/${BPN} ${D}${sbindir}/ } CFLAGS += "-D_GNU_SOURCE ${LDFLAGS}" diff --git a/meta-openembedded/meta-oe/recipes-support/enca/enca/0001-Do-not-use-MKTEMP_PROG-in-cross-build.patch b/meta-openembedded/meta-oe/recipes-support/enca/enca/0001-Do-not-use-MKTEMP_PROG-in-cross-build.patch new file mode 100644 index 0000000000..32fa239084 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/enca/enca/0001-Do-not-use-MKTEMP_PROG-in-cross-build.patch @@ -0,0 +1,30 @@ +From c6a59d512706978e8c67f9a2d84ec650f8763368 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 8 May 2023 18:02:52 -0700 +Subject: [PATCH] Do not use $MKTEMP_PROG in cross-build + +$MKTEMP_PROG points to native location which could be absolute path that +wont exist on target rootfs. Therefore use it from PATH + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 4852a2f..d23b384 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -186,7 +186,7 @@ ye_PATH_LOCALE_ALIAS + + dnl Random filename generation in scripts + if test -n "$MKTEMP_PROG"; then +- SHELL_RANDOM_FILENAME='`'$MKTEMP_PROG' /tmp/enca-$$-XXXXXXXX`' ++ SHELL_RANDOM_FILENAME='`mktemp /tmp/enca-$$-XXXXXXXX`' + else + SHELL_RANDOM_FILENAME='/tmp/enca-$$-$RANDOM' + fi +-- +2.40.1 + diff --git a/meta-openembedded/meta-oe/recipes-support/enca/enca_1.19.bb b/meta-openembedded/meta-oe/recipes-support/enca/enca_1.19.bb index eed0ad1b93..774f05f7c4 100644 --- a/meta-openembedded/meta-oe/recipes-support/enca/enca_1.19.bb +++ b/meta-openembedded/meta-oe/recipes-support/enca/enca_1.19.bb @@ -10,8 +10,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=24b9569831c46d4818450b55282476b4" SRC_URI = "https://dl.cihar.com/enca/enca-${PV}.tar.gz \ file://dont-run-tests.patch \ file://makefile-remove-tools.patch \ - file://libenca-003-iconv.patch " - + file://libenca-003-iconv.patch \ + file://0001-Do-not-use-MKTEMP_PROG-in-cross-build.patch" SRC_URI[sha256sum] = "4c305cc59f3e57f2cfc150a6ac511690f43633595760e1cb266bf23362d72f8a" inherit autotools diff --git a/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.10.bb b/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.10.bb index cb45e2b91f..1fead4d029 100644 --- a/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.10.bb +++ b/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.10.bb @@ -55,6 +55,7 @@ do_configure() { do_compile() { for lib in fftw fftwl fftwf; do cd ${WORKDIR}/build-$lib + sed -i -e 's|${TOOLCHAIN_OPTIONS}||g' config.h autotools_do_compile done } diff --git a/meta-openembedded/meta-oe/recipes-support/googlebenchmark/googlebenchmark_1.7.1.bb b/meta-openembedded/meta-oe/recipes-support/googlebenchmark/googlebenchmark_1.8.0.bb index 1a565636d5..209f51ea3d 100644 --- a/meta-openembedded/meta-oe/recipes-support/googlebenchmark/googlebenchmark_1.7.1.bb +++ b/meta-openembedded/meta-oe/recipes-support/googlebenchmark/googlebenchmark_1.8.0.bb @@ -5,7 +5,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" SRC_URI = "git://github.com/google/benchmark.git;protocol=https;branch=main" -SRCREV = "d572f4777349d43653b21d6c2fc63020ab326db2" +SRCREV = "2dd015dfef425c866d9a43f2c67d8b52d709acb6" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.369.bb b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.370.bb index c20e2430bc..56d4253772 100644 --- a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.369.bb +++ b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.370.bb @@ -5,7 +5,7 @@ SECTION = "System/Base" LICENSE = "GPL-2.0-or-later | XFree86-1.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=1556547711e8246992b999edd9445a57" -SRCREV = "ced93f9d1c15e45e35378e82b8da96027e58174a" +SRCREV = "21cb47beb1716545b25dfe8ae1b9e079c73b85d9" SRC_URI = "git://github.com/vcrhonek/${BPN}.git;branch=master;protocol=https" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-support/idevicerestore/idevicerestore_git.bb b/meta-openembedded/meta-oe/recipes-support/idevicerestore/idevicerestore_git.bb index d7c76a5971..2a0a129fee 100644 --- a/meta-openembedded/meta-oe/recipes-support/idevicerestore/idevicerestore_git.bb +++ b/meta-openembedded/meta-oe/recipes-support/idevicerestore/idevicerestore_git.bb @@ -10,7 +10,7 @@ DEPENDS = "libirecovery libimobiledevice libzip curl libimobiledevice-glue opens PV = "1.0.1+git${SRCPV}" -SRCREV = "7d622d916be16f2df5a72bf53a42f3a326bbfaa4" +SRCREV = "163a1647dedb7ca4656c0f072e4733573f9f982b" SRC_URI = "git://github.com/libimobiledevice/idevicerestore;protocol=https;branch=master" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.1.1.bb b/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.1.1.bb index 07434c0564..e59b511a72 100644 --- a/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.1.1.bb +++ b/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.1.1.bb @@ -10,23 +10,19 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=ac58ac14f9d9d02cafd2d81ef38fb2cc \ DEPENDS = "lcms bzip2 jpeg libpng tiff zlib fftw freetype libtool" BASE_PV := "${PV}" -PV .= "-5" +PV .= "-8" SRC_URI = "git://github.com/ImageMagick/ImageMagick.git;branch=main;protocol=https \ file://0001-m4-Use-autconf-provided-AC_FUNC_FSEEKO.patch" -SRCREV = "2d24be538f286962c355cf422bb525375ac77998" +SRCREV = "920f79206ff59f30a4cff22c9c9c393508b82663" S = "${WORKDIR}/git" inherit autotools pkgconfig update-alternatives export ac_cv_sys_file_offset_bits="64" -# xml disabled because it's using xml2-config --prefix to determine prefix which returns just /usr with our libxml2 -# if someone needs xml support then fix it first -EXTRA_OECONF = "--program-prefix= --program-suffix=.im7 --without-perl \ - --disable-openmp --without-xml --disable-opencl \ - --enable-largefile" +EXTRA_OECONF = "--program-prefix= --program-suffix=.im7 --without-perl --enable-largefile" -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} cxx webp xml" PACKAGECONFIG[cxx] = "--with-magick-plus-plus,--without-magick-plus-plus" PACKAGECONFIG[graphviz] = "--with-gvc,--without-gvc,graphviz" PACKAGECONFIG[jp2] = "--with-jp2,,jasper" @@ -38,6 +34,17 @@ PACKAGECONFIG[tcmalloc] = "--with-tcmalloc=yes,--with-tcmalloc=no,gperftools" PACKAGECONFIG[webp] = "--with-webp,--without-webp,libwebp" PACKAGECONFIG[wmf] = "--with-wmf,--without-wmf,libwmf" PACKAGECONFIG[x11] = "--with-x,--without-x,virtual/libx11 libxext libxt" +PACKAGECONFIG[xml] = "--with-xml,--without-xml,libxml2" + +do_install:append:class-target() { + for file in MagickCore-config.im7 MagickWand-config.im7 Magick++-config.im7; do + sed -i 's,${STAGING_DIR_NATIVE},,g' ${D}${bindir}/"$file" + done + sed -i 's,${S},,g' ${D}${libdir}/ImageMagick-${BASE_PV}/config-Q16HDRI/configure.xml + sed -i 's,${B},,g' ${D}${libdir}/ImageMagick-${BASE_PV}/config-Q16HDRI/configure.xml + sed -i 's,${RECIPE_SYSROOT},,g' ${D}${libdir}/ImageMagick-${BASE_PV}/config-Q16HDRI/configure.xml + sed -i 's,${HOSTTOOLS_DIR},${bindir},g' ${D}${sysconfdir}/ImageMagick-7/delegates.xml +} FILES:${PN} += "${libdir}/ImageMagick-${BASE_PV}/config-Q16* \ ${datadir}/ImageMagick-7" diff --git a/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.5.bb b/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.5.bb index bc5897413f..7f0cfa237c 100644 --- a/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.5.bb +++ b/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.5.bb @@ -27,6 +27,11 @@ EXTRA_OECMAKE = "-DSTATICLIBS=off -DEXAMPLES=off \ -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so \ -DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}" +do_install:append() { + # remove absolute paths + sed -i -e 's|${RECIPE_SYSROOT}||g' ${D}${libdir}/cmake/libftdi1/LibFTDI1Config.cmake +} + BBCLASSEXTEND = "native nativesdk" PACKAGES =+ "${PN}-python ftdi-eeprom" diff --git a/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb b/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb index bb253f421a..c8ff0d34bc 100644 --- a/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb +++ b/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb @@ -24,6 +24,8 @@ inherit cmake python3native systemd setuptools3 EXTRA_OECMAKE = " \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DFLEX_TARGET_ARG_COMPILE_FLAGS='--noline' \ + -DBISON_TARGET_ARG_COMPILE_FLAGS='--no-lines' \ -DUDEV_RULES_INSTALL_DIR=${nonarch_base_libdir}/udev/rules.d \ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-DWITH_SYSTEMD=ON -DSYSTEMD_UNIT_INSTALL_DIR=${systemd_system_unitdir}', '', d)} \ " diff --git a/meta-openembedded/meta-oe/recipes-support/libjs/libjs-jquery-cookie_3.0.1.bb b/meta-openembedded/meta-oe/recipes-support/libjs/libjs-jquery-cookie_3.0.5.bb index 53882b2f34..38ffd032ab 100644 --- a/meta-openembedded/meta-oe/recipes-support/libjs/libjs-jquery-cookie_3.0.1.bb +++ b/meta-openembedded/meta-oe/recipes-support/libjs/libjs-jquery-cookie_3.0.5.bb @@ -3,9 +3,9 @@ HOMEPAGE = "https://github.com/js-cookie/js-cookie" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=e16cf0e247d84f8999bf55865a9c98cf" -SRC_URI = "git://github.com/js-cookie/js-cookie.git;protocol=https;branch=master" +SRC_URI = "git://github.com/js-cookie/js-cookie.git;protocol=https;branch=main" -SRCREV = "0ba77141dd215782cc7770347a457906908c66ff" +SRCREV = "ab3f67fc4fad88cdf07b258c08e4164e06bf7506" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-support/libpaper/libpaper_2.1.0.bb b/meta-openembedded/meta-oe/recipes-support/libpaper/libpaper_2.1.0.bb new file mode 100644 index 0000000000..26f8fab200 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/libpaper/libpaper_2.1.0.bb @@ -0,0 +1,11 @@ +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +SRC_URI = "https://github.com/rrthomas/libpaper/releases/download/v${PV}/libpaper-${PV}.tar.gz" +SRC_URI[sha256sum] = "474e9575e1235a0d8e3661f072de0193bab6ea1023363772f698a2cc39d640cf" + +inherit perlnative autotools + +EXTRA_AUTORECONF += "--install" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/0001-fix-stack-buffer-overflow-in-usbg_f_foo_attr_val-pro.patch b/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/0001-fix-stack-buffer-overflow-in-usbg_f_foo_attr_val-pro.patch new file mode 100644 index 0000000000..1ab3494e18 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/0001-fix-stack-buffer-overflow-in-usbg_f_foo_attr_val-pro.patch @@ -0,0 +1,796 @@ +From fc7855891c66599487265701294963bb0772bb80 Mon Sep 17 00:00:00 2001 +From: Wlodzimierz Lipert <wlodzimierz.lipert@gmail.com> +Date: Mon, 28 Nov 2022 08:29:54 +0100 +Subject: [PATCH] fix: stack-buffer-overflow in usbg_f_foo_attr_val processing. + Changed ABI version from 2 to 3. + +Upstream-Status: Submitted [https://github.com/linux-usb-gadgets/libusbgx/pull/72] + +Signed-off-by: Wlodzimierz Lipert <wlodzimierz.lipert@gmail.com> +Signed-off-by: Ming Liu <liu.ming50@gmail.com> +--- + include/usbg/function/hid.h | 28 ++++++++++++---------------- + include/usbg/function/midi.h | 35 +++++++++++++---------------------- + include/usbg/function/ms.h | 30 +++++++++++------------------- + include/usbg/function/net.h | 34 ++++++++++++++-------------------- + include/usbg/function/uac2.h | 29 +++++++++++++---------------- + include/usbg/usbg_internal.h | 10 +++++----- + src/Makefile.am | 2 +- + src/function/ether.c | 10 +++++----- + src/function/hid.c | 12 ++++++------ + src/function/midi.c | 10 +++++----- + src/function/ms.c | 10 +++++----- + src/function/uac2.c | 10 +++++----- + src/function/uvc.c | 10 +++++----- + src/usbg_common.c | 2 +- + 14 files changed, 101 insertions(+), 131 deletions(-) + +diff --git a/include/usbg/function/hid.h b/include/usbg/function/hid.h +index 3463140..3b3907b 100644 +--- a/include/usbg/function/hid.h ++++ b/include/usbg/function/hid.h +@@ -56,11 +56,6 @@ union usbg_f_hid_attr_val { + unsigned int subclass; + }; + +-#define USBG_F_HID_UINT_TO_ATTR_VAL(WHAT) \ +- USBG_TO_UNION(usbg_f_hid_attr_val, protocol, WHAT) +- +-#define USBG_F_HID_RDESC_TO_ATTR_VAL(WHAT) \ +- USBG_TO_UNION(usbg_f_hid_attr_val, report_desc, WHAT) + /** + * @brief Cast from generic function to hid function + * @param[in] f function to be converted to hid funciton. +@@ -137,7 +132,7 @@ int usbg_f_hid_get_attr_val(usbg_f_hid *hf, enum usbg_f_hid_attr attr, + * @return 0 on success usbg_error if error occurred. + */ + int usbg_f_hid_set_attr_val(usbg_f_hid *hf, enum usbg_f_hid_attr attr, +- union usbg_f_hid_attr_val val); ++ const union usbg_f_hid_attr_val *val); + + /** + * @brief Get the minor and major of corresponding character device +@@ -173,8 +168,9 @@ static inline int usbg_f_hid_get_protocol(usbg_f_hid *hf, + static inline int usbg_f_hid_set_protocol(usbg_f_hid *hf, + unsigned int protocol) + { +- return usbg_f_hid_set_attr_val(hf, USBG_F_HID_PROTOCOL, +- USBG_F_HID_UINT_TO_ATTR_VAL(protocol)); ++ ++ union usbg_f_hid_attr_val val = {.protocol = protocol}; ++ return usbg_f_hid_set_attr_val(hf, USBG_F_HID_PROTOCOL, &val); + } + + /** +@@ -199,8 +195,8 @@ static inline int usbg_f_hid_get_report_desc(usbg_f_hid *hf, + static inline int usbg_f_hid_set_report_desc(usbg_f_hid *hf, + struct usbg_f_hid_report_desc report_desc) + { +- return usbg_f_hid_set_attr_val(hf, USBG_F_HID_REPORT_DESC, +- USBG_F_HID_RDESC_TO_ATTR_VAL(report_desc)); ++ union usbg_f_hid_attr_val val = {.report_desc = report_desc}; ++ return usbg_f_hid_set_attr_val(hf, USBG_F_HID_REPORT_DESC, &val); + } + + /** +@@ -242,8 +238,8 @@ static inline int usbg_f_hid_set_report_desc_raw(usbg_f_hid *hf, + .len = len, + }; + +- return usbg_f_hid_set_attr_val(hf, USBG_F_HID_REPORT_DESC, +- USBG_F_HID_RDESC_TO_ATTR_VAL(report_desc)); ++ union usbg_f_hid_attr_val val = {.report_desc = report_desc}; ++ return usbg_f_hid_set_attr_val(hf, USBG_F_HID_REPORT_DESC, &val); + } + + /** +@@ -268,8 +264,8 @@ static inline int usbg_f_hid_get_report_length(usbg_f_hid *hf, + static inline int usbg_f_hid_set_report_length(usbg_f_hid *hf, + unsigned int report_length) + { +- return usbg_f_hid_set_attr_val(hf, USBG_F_HID_REPORT_LENGTH, +- USBG_F_HID_UINT_TO_ATTR_VAL(report_length)); ++ union usbg_f_hid_attr_val val = {.report_length = report_length}; ++ return usbg_f_hid_set_attr_val(hf, USBG_F_HID_REPORT_LENGTH, &val); + } + + /** +@@ -294,8 +290,8 @@ static inline int usbg_f_hid_get_subclass(usbg_f_hid *hf, + static inline int usbg_f_hid_set_subclass(usbg_f_hid *hf, + unsigned int subclass) + { +- return usbg_f_hid_set_attr_val(hf, USBG_F_HID_SUBCLASS, +- USBG_F_HID_UINT_TO_ATTR_VAL(subclass)); ++ union usbg_f_hid_attr_val val = {.subclass = subclass}; ++ return usbg_f_hid_set_attr_val(hf, USBG_F_HID_SUBCLASS, &val); + } + + #ifdef __cplusplus +diff --git a/include/usbg/function/midi.h b/include/usbg/function/midi.h +index 39df047..b9d9d4f 100644 +--- a/include/usbg/function/midi.h ++++ b/include/usbg/function/midi.h +@@ -53,15 +53,6 @@ union usbg_f_midi_attr_val { + unsigned int qlen; + }; + +-#define USBG_F_MIDI_INT_TO_ATTR_VAL(WHAT) \ +- USBG_TO_UNION(usbg_f_midi_attr_val, index, WHAT) +- +-#define USBG_F_MIDI_UINT_TO_ATTR_VAL(WHAT) \ +- USBG_TO_UNION(usbg_f_midi_attr_val, qlen, WHAT) +- +-#define USBG_F_MIDI_CCHAR_PTR_TO_ATTR_VAL(WHAT) \ +- USBG_TO_UNION(usbg_f_midi_attr_val, id, WHAT) +- + /** + * @brief Cast from generic function to midi function + * @param[in] f function to be converted to midi funciton. +@@ -126,7 +117,7 @@ int usbg_f_midi_get_attr_val(usbg_f_midi *mf, enum usbg_f_midi_attr attr, + * @return 0 on success usbg_error if error occurred. + */ + int usbg_f_midi_set_attr_val(usbg_f_midi *mf, enum usbg_f_midi_attr attr, +- union usbg_f_midi_attr_val val); ++ const union usbg_f_midi_attr_val *val); + + /** + * @brief Get the index value of MIDI adapter +@@ -148,8 +139,8 @@ static inline int usbg_f_midi_get_index(usbg_f_midi *mf, int *index) + */ + static inline int usbg_f_midi_set_index(usbg_f_midi *mf, int index) + { +- return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_INDEX, +- USBG_F_MIDI_INT_TO_ATTR_VAL(index)); ++ union usbg_f_midi_attr_val val = {.index = index}; ++ return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_INDEX, &val); + } + + /** +@@ -188,8 +179,8 @@ int usbg_f_midi_get_id_s(usbg_f_midi *mf, char *buf, int len); + */ + static inline int usbg_f_midi_set_id(usbg_f_midi *mf, const char *id) + { +- return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_ID, +- USBG_F_MIDI_CCHAR_PTR_TO_ATTR_VAL(id)); ++ union usbg_f_midi_attr_val val = {.id = id}; ++ return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_ID, &val); + } + + /** +@@ -212,8 +203,8 @@ static inline int usbg_f_midi_get_in_ports(usbg_f_midi *mf, unsigned *in_ports) + */ + static inline int usbg_f_midi_set_in_ports(usbg_f_midi *mf, unsigned in_ports) + { +- return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_IN_PORTS, +- USBG_F_MIDI_UINT_TO_ATTR_VAL(in_ports)); ++ union usbg_f_midi_attr_val val = {.in_ports = in_ports}; ++ return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_IN_PORTS, &val); + } + + /** +@@ -236,8 +227,8 @@ static inline int usbg_f_midi_get_out_ports(usbg_f_midi *mf, unsigned *out_ports + */ + static inline int usbg_f_midi_set_out_ports(usbg_f_midi *mf, unsigned out_ports) + { +- return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_OUT_PORTS, +- USBG_F_MIDI_UINT_TO_ATTR_VAL(out_ports)); ++ union usbg_f_midi_attr_val val = {.out_ports = out_ports}; ++ return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_OUT_PORTS, &val); + } + + /** +@@ -264,8 +255,8 @@ static inline int usbg_f_midi_get_buflen(usbg_f_midi *mf, int *buflen) + */ + static inline int usbg_f_midi_set_buflen(usbg_f_midi *mf, unsigned buflen) + { +- return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_BUFLEN, +- USBG_F_MIDI_UINT_TO_ATTR_VAL(buflen)); ++ union usbg_f_midi_attr_val val = {.buflen = buflen}; ++ return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_BUFLEN, &val); + } + + /** +@@ -288,8 +279,8 @@ static inline int usbg_f_midi_get_qlen(usbg_f_midi *mf, unsigned *qlen) + */ + static inline int usbg_f_midi_set_qlen(usbg_f_midi *mf, unsigned qlen) + { +- return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_QLEN, +- USBG_F_MIDI_UINT_TO_ATTR_VAL(qlen)); ++ union usbg_f_midi_attr_val val = {.qlen = qlen}; ++ return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_QLEN, &val); + } + + #ifdef __cplusplus +diff --git a/include/usbg/function/ms.h b/include/usbg/function/ms.h +index 780464c..f52eb78 100644 +--- a/include/usbg/function/ms.h ++++ b/include/usbg/function/ms.h +@@ -56,14 +56,6 @@ union usbg_f_ms_lun_attr_val { + const char *file; + }; + +-#define USBG_F_MS_LUN_BOOL_TO_ATTR_VAL(WHAT) \ +- USBG_TO_UNION(usbg_f_ms_lun_attr_val, cdrom, WHAT) +- +-#define USBG_F_MS_LUN_CCHAR_PTR_TO_ATTR_VAL(WHAT) \ +- USBG_TO_UNION(usbg_f_ms_lun_attr_val, file, WHAT) +- +- +- + /** + * @brief Cast from generic function to mass storage function + * @param[in] f function to be converted to ms funciton. +@@ -157,7 +149,7 @@ int usbg_f_ms_get_lun_attr_val(usbg_f_ms *mf, int lun_id, + */ + int usbg_f_ms_set_lun_attr_val(usbg_f_ms *mf, int lun_id, + enum usbg_f_ms_lun_attr lattr, +- const union usbg_f_ms_lun_attr_val val); ++ const union usbg_f_ms_lun_attr_val *val); + + /** + * @brief Get the value which determines if lun is visible as a cdrom +@@ -183,8 +175,8 @@ static inline int usbg_f_ms_get_lun_cdrom(usbg_f_ms *mf, int lun_id, + static inline int usbg_f_ms_set_lun_cdrom(usbg_f_ms *mf, int lun_id, + bool cdrom) + { +- return usbg_f_ms_set_lun_attr_val(mf, lun_id, USBG_F_MS_LUN_CDROM, +- USBG_F_MS_LUN_BOOL_TO_ATTR_VAL(cdrom)); ++ union usbg_f_ms_lun_attr_val val = {.cdrom = cdrom}; ++ return usbg_f_ms_set_lun_attr_val(mf, lun_id, USBG_F_MS_LUN_CDROM, &val); + } + + /** +@@ -209,8 +201,8 @@ static inline int usbg_f_ms_get_lun_ro(usbg_f_ms *mf, int lun_id, bool *ro) + */ + static inline int usbg_f_ms_set_lun_ro(usbg_f_ms *mf, int lun_id, bool ro) + { +- return usbg_f_ms_set_lun_attr_val(mf, lun_id, USBG_F_MS_LUN_RO, +- USBG_F_MS_LUN_BOOL_TO_ATTR_VAL(ro)); ++ union usbg_f_ms_lun_attr_val val = {.ro = ro}; ++ return usbg_f_ms_set_lun_attr_val(mf, lun_id, USBG_F_MS_LUN_RO, &val); + } + + /** +@@ -239,8 +231,8 @@ static inline int usbg_f_ms_get_lun_nofua(usbg_f_ms *mf, int lun_id, + static inline int usbg_f_ms_set_lun_nofua(usbg_f_ms *mf, int lun_id, + bool nofua) + { +- return usbg_f_ms_set_lun_attr_val(mf, lun_id, USBG_F_MS_LUN_NOFUA, +- USBG_F_MS_LUN_BOOL_TO_ATTR_VAL(nofua)); ++ union usbg_f_ms_lun_attr_val val = {.nofua = nofua}; ++ return usbg_f_ms_set_lun_attr_val(mf, lun_id, USBG_F_MS_LUN_NOFUA, &val); + } + + /** +@@ -267,8 +259,8 @@ static inline int usbg_f_ms_get_lun_removable(usbg_f_ms *mf, int lun_id, + static inline int usbg_f_ms_set_lun_removable(usbg_f_ms *mf, int lun_id, + bool removable) + { +- return usbg_f_ms_set_lun_attr_val(mf, lun_id, USBG_F_MS_LUN_REMOVABLE, +- USBG_F_MS_LUN_BOOL_TO_ATTR_VAL(removable)); ++ union usbg_f_ms_lun_attr_val val = {.removable = removable}; ++ return usbg_f_ms_set_lun_attr_val(mf, lun_id, USBG_F_MS_LUN_REMOVABLE, &val); + } + + /** +@@ -313,8 +305,8 @@ int usbg_f_ms_get_lun_file_s(usbg_f_ms *mf, int lun_id, + static inline int usbg_f_ms_set_lun_file(usbg_f_ms *mf, int lun_id, + const char *file) + { +- return usbg_f_ms_set_lun_attr_val(mf, lun_id, USBG_F_MS_LUN_FILE, +- USBG_F_MS_LUN_CCHAR_PTR_TO_ATTR_VAL(file)); ++ union usbg_f_ms_lun_attr_val val = {.file = file}; ++ return usbg_f_ms_set_lun_attr_val(mf, lun_id, USBG_F_MS_LUN_FILE, &val); + } + + /** +diff --git a/include/usbg/function/net.h b/include/usbg/function/net.h +index b0409f1..06cee30 100644 +--- a/include/usbg/function/net.h ++++ b/include/usbg/function/net.h +@@ -56,12 +56,6 @@ union usbg_f_net_attr_val { + unsigned int protocol; + }; + +-#define USBG_F_NET_ETHER_ADDR_TO_ATTR_VAL(WHAT) \ +- USBG_TO_UNION(usbg_f_net_attr_val, dev_addr, WHAT) +- +-#define USBG_F_NET_INT_TO_ATTR_VAL(WHAT) \ +- USBG_TO_UNION(usbg_f_net_attr_val, qmult, WHAT) +- + /** + * @brief Cast from generic function to net function + * @param[in] f function to be converted to net funciton. +@@ -125,7 +119,7 @@ int usbg_f_net_get_attr_val(usbg_f_net *nf, enum usbg_f_net_attr attr, + * @return 0 on success usbg_error if error occurred. + */ + int usbg_f_net_set_attr_val(usbg_f_net *nf, enum usbg_f_net_attr attr, +- const union usbg_f_net_attr_val val); ++ const union usbg_f_net_attr_val *val); + + /** + * @brief Get the value of device side MAC address +@@ -136,7 +130,7 @@ int usbg_f_net_set_attr_val(usbg_f_net *nf, enum usbg_f_net_attr attr, + static inline int usbg_f_net_get_dev_addr(usbg_f_net *nf, + struct ether_addr *addr) + { +- union usbg_f_net_attr_val val = { .dev_addr = *addr, }; ++ union usbg_f_net_attr_val val = {.dev_addr = *addr}; + return usbg_f_net_get_attr_val(nf, USBG_F_NET_DEV_ADDR, &val); + } + +@@ -149,8 +143,8 @@ static inline int usbg_f_net_get_dev_addr(usbg_f_net *nf, + static inline int usbg_f_net_set_dev_addr(usbg_f_net *nf, + const struct ether_addr *addr) + { +- return usbg_f_net_set_attr_val(nf, USBG_F_NET_DEV_ADDR, +- USBG_F_NET_ETHER_ADDR_TO_ATTR_VAL(*addr)); ++ union usbg_f_net_attr_val val = {.dev_addr = *addr}; ++ return usbg_f_net_set_attr_val(nf, USBG_F_NET_DEV_ADDR, &val); + } + + /** +@@ -175,8 +169,8 @@ static inline int usbg_f_net_get_host_addr(usbg_f_net *nf, + static inline int usbg_f_net_set_host_addr(usbg_f_net *nf, + const struct ether_addr *addr) + { +- return usbg_f_net_set_attr_val(nf, USBG_F_NET_HOST_ADDR, +- USBG_F_NET_ETHER_ADDR_TO_ATTR_VAL(*addr)); ++ union usbg_f_net_attr_val val = {.host_addr = *addr}; ++ return usbg_f_net_set_attr_val(nf, USBG_F_NET_HOST_ADDR, &val); + } + + /** +@@ -226,8 +220,8 @@ static inline int usbg_f_net_get_qmult(usbg_f_net *nf, int *qmult) + */ + static inline int usbg_f_net_set_qmult(usbg_f_net *nf, int qmult) + { +- return usbg_f_net_set_attr_val(nf, USBG_F_NET_QMULT, +- USBG_F_NET_INT_TO_ATTR_VAL(qmult)); ++ union usbg_f_net_attr_val val = {.qmult = qmult}; ++ return usbg_f_net_set_attr_val(nf, USBG_F_NET_QMULT, &val); + } + + /** +@@ -250,8 +244,8 @@ static inline int usbg_f_net_get_class(usbg_f_net *nf, unsigned int *class_) + */ + static inline int usbg_f_net_set_class(usbg_f_net *nf, unsigned int class_) + { +- return usbg_f_net_set_attr_val(nf, USBG_F_NET_CLASS, +- USBG_F_NET_INT_TO_ATTR_VAL(class_)); ++ union usbg_f_net_attr_val val = {.class_ = class_}; ++ return usbg_f_net_set_attr_val(nf, USBG_F_NET_CLASS, &val); + } + + /** +@@ -274,8 +268,8 @@ static inline int usbg_f_net_get_subclass(usbg_f_net *nf, int *subclass) + */ + static inline int usbg_f_net_set_subclass(usbg_f_net *nf, unsigned int subclass) + { +- return usbg_f_net_set_attr_val(nf, USBG_F_NET_SUBCLASS, +- USBG_F_NET_INT_TO_ATTR_VAL(subclass)); ++ union usbg_f_net_attr_val val = {.subclass = subclass}; ++ return usbg_f_net_set_attr_val(nf, USBG_F_NET_SUBCLASS, &val); + } + + /** +@@ -298,8 +292,8 @@ static inline int usbg_f_net_get_protocol(usbg_f_net *nf, int *protocol) + */ + static inline int usbg_f_net_set_protocol(usbg_f_net *nf, unsigned int protocol) + { +- return usbg_f_net_set_attr_val(nf, USBG_F_NET_PROTOCOL, +- USBG_F_NET_INT_TO_ATTR_VAL(protocol)); ++ union usbg_f_net_attr_val val = {.protocol = protocol}; ++ return usbg_f_net_set_attr_val(nf, USBG_F_NET_PROTOCOL, &val); + } + + #ifdef __cplusplus +diff --git a/include/usbg/function/uac2.h b/include/usbg/function/uac2.h +index c1bbb14..1ea55dc 100644 +--- a/include/usbg/function/uac2.h ++++ b/include/usbg/function/uac2.h +@@ -53,9 +53,6 @@ union usbg_f_uac2_attr_val { + int p_ssize; + }; + +-#define USBG_F_UAC2_INT_TO_ATTR_VAL(WHAT) \ +- USBG_TO_UNION(usbg_f_uac2_attr_val, c_chmask, WHAT) +- + /** + * @brief Cast from generic function to uac2 function + * @param[in] f function to be converted to uac2 funciton. +@@ -115,7 +112,7 @@ int usbg_f_uac2_get_attr_val(usbg_f_uac2 *af, enum usbg_f_uac2_attr attr, + * @return 0 on success usbg_error if error occurred. + */ + int usbg_f_uac2_set_attr_val(usbg_f_uac2 *af, enum usbg_f_uac2_attr attr, +- union usbg_f_uac2_attr_val val); ++ const union usbg_f_uac2_attr_val *val); + + /** + * @brief Get the capture channel mask of UAC2 adapter +@@ -137,8 +134,8 @@ static inline int usbg_f_uac2_get_c_chmask(usbg_f_uac2 *af, int *c_chmask) + */ + static inline int usbg_f_uac2_set_c_chmask(usbg_f_uac2 *af, int c_chmask) + { +- return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_C_CHMASK, +- USBG_F_UAC2_INT_TO_ATTR_VAL(c_chmask)); ++ union usbg_f_uac2_attr_val val = {.c_chmask = c_chmask}; ++ return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_C_CHMASK, &val); + } + + /** +@@ -161,8 +158,8 @@ static inline int usbg_f_uac2_get_c_srate(usbg_f_uac2 *af, int *c_srate) + */ + static inline int usbg_f_uac2_set_c_srate(usbg_f_uac2 *af, int c_srate) + { +- return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_C_SRATE, +- USBG_F_UAC2_INT_TO_ATTR_VAL(c_srate)); ++ union usbg_f_uac2_attr_val val = {.c_srate = c_srate}; ++ return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_C_SRATE, &val); + } + + /** +@@ -185,8 +182,8 @@ static inline int usbg_f_uac2_get_c_ssize(usbg_f_uac2 *af, int *c_ssize) + */ + static inline int usbg_f_uac2_set_c_ssize(usbg_f_uac2 *af, int c_ssize) + { +- return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_C_SSIZE, +- USBG_F_UAC2_INT_TO_ATTR_VAL(c_ssize)); ++ union usbg_f_uac2_attr_val val = {.c_ssize = c_ssize}; ++ return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_C_SSIZE, &val); + } + + /** +@@ -209,8 +206,8 @@ static inline int usbg_f_uac2_get_p_chmask(usbg_f_uac2 *af, int *p_chmask) + */ + static inline int usbg_f_uac2_set_p_chmask(usbg_f_uac2 *af, int p_chmask) + { +- return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_P_CHMASK, +- USBG_F_UAC2_INT_TO_ATTR_VAL(p_chmask)); ++ union usbg_f_uac2_attr_val val = {.p_chmask = p_chmask}; ++ return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_P_CHMASK, &val); + } + + /** +@@ -233,8 +230,8 @@ static inline int usbg_f_uac2_get_p_srate(usbg_f_uac2 *af, int *p_srate) + */ + static inline int usbg_f_uac2_set_p_srate(usbg_f_uac2 *af, int p_srate) + { +- return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_P_SRATE, +- USBG_F_UAC2_INT_TO_ATTR_VAL(p_srate)); ++ union usbg_f_uac2_attr_val val = {.p_srate = p_srate}; ++ return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_P_SRATE, &val); + } + + /** +@@ -257,8 +254,8 @@ static inline int usbg_f_uac2_get_p_ssize(usbg_f_uac2 *af, int *p_ssize) + */ + static inline int usbg_f_uac2_set_p_ssize(usbg_f_uac2 *af, int p_ssize) + { +- return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_P_SSIZE, +- USBG_F_UAC2_INT_TO_ATTR_VAL(p_ssize)); ++ union usbg_f_uac2_attr_val val = {.p_ssize = p_ssize}; ++ return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_P_SSIZE, &val); + } + + #ifdef __cplusplus +diff --git a/include/usbg/usbg_internal.h b/include/usbg/usbg_internal.h +index 1d8dfe2..d6a3e3a 100644 +--- a/include/usbg/usbg_internal.h ++++ b/include/usbg/usbg_internal.h +@@ -322,7 +322,7 @@ void usbg_cleanup_function(struct usbg_function *f); + } + + typedef int (*usbg_attr_get_func)(const char *, const char *, const char *, void *); +-typedef int (*usbg_attr_set_func)(const char *, const char *, const char *, void *); ++typedef int (*usbg_attr_set_func)(const char *, const char *, const char *, const void *); + + static inline int usbg_get_dec(const char *path, const char *name, + const char *attr, void *val) +@@ -331,7 +331,7 @@ static inline int usbg_get_dec(const char *path, const char *name, + } + + static inline int usbg_set_dec(const char *path, const char *name, +- const char *attr, void *val) ++ const char *attr, const void *val) + { + return usbg_write_dec(path, name, attr, *((int *)val)); + } +@@ -343,7 +343,7 @@ static inline int usbg_get_bool(const char *path, const char *name, + } + + static inline int usbg_set_bool(const char *path, const char *name, +- const char *attr, void *val) ++ const char *attr, const void *val) + { + return usbg_write_bool(path, name, attr, *((bool *)val)); + } +@@ -355,7 +355,7 @@ static inline int usbg_get_string(const char *path, const char *name, + } + + static inline int usbg_set_string(const char *path, const char *name, +- const char *attr, void *val) ++ const char *attr, const void *val) + { + return usbg_write_string(path, name, attr, *(char **)val); + } +@@ -364,7 +364,7 @@ int usbg_get_ether_addr(const char *path, const char *name, const char *attr, + void *val); + + int usbg_set_ether_addr(const char *path, const char *name, const char *attr, +- void *val); ++ const void *val); + + int usbg_get_dev(const char *path, const char *name, const char *attr, + void *val); +diff --git a/src/Makefile.am b/src/Makefile.am +index 634209f..ac97bc8 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -7,6 +7,6 @@ else + libusbgx_la_SOURCES += usbg_schemes_none.c + endif + libusbgx_la_LDFLAGS = $(LIBCONFIG_LIBS) +-libusbgx_la_LDFLAGS += -version-info 2:0:0 ++libusbgx_la_LDFLAGS += -version-info 3:0:0 + libusbgx_la_CFLAGS = $(LIBCONFIG_CFLAGS) + AM_CPPFLAGS=-I$(top_srcdir)/include/ -I$(top_builddir)/include/usbg +diff --git a/src/function/ether.c b/src/function/ether.c +index ab91af9..d7dcd5d 100644 +--- a/src/function/ether.c ++++ b/src/function/ether.c +@@ -124,7 +124,7 @@ static int ether_libconfig_import(struct usbg_function *f, + if (ret < 0) + break; + +- ret = usbg_f_net_set_attr_val(nf, i, val); ++ ret = usbg_f_net_set_attr_val(nf, i, &val); + if (ret) + break; + } +@@ -258,8 +258,8 @@ int usbg_f_net_set_attrs(usbg_f_net *nf, + continue; + + ret = usbg_f_net_set_attr_val(nf, i, +- *(union usbg_f_net_attr_val *) +- ((char *)attrs ++ (const union usbg_f_net_attr_val *) ++ ((const char *)attrs + + net_attr[i].offset)); + if (ret) + break; +@@ -277,12 +277,12 @@ int usbg_f_net_get_attr_val(usbg_f_net *nf, enum usbg_f_net_attr attr, + } + + int usbg_f_net_set_attr_val(usbg_f_net *nf, enum usbg_f_net_attr attr, +- union usbg_f_net_attr_val val) ++ const union usbg_f_net_attr_val *val) + { + return net_attr[attr].ro ? + USBG_ERROR_INVALID_PARAM : + net_attr[attr].set(nf->func.path, nf->func.name, +- net_attr[attr].name, &val); ++ net_attr[attr].name, val); + } + + int usbg_f_net_get_ifname_s(usbg_f_net *nf, char *buf, int len) +diff --git a/src/function/hid.c b/src/function/hid.c +index 4d075cf..895c2c6 100644 +--- a/src/function/hid.c ++++ b/src/function/hid.c +@@ -69,9 +69,9 @@ static int hid_get_report(const char *path, const char *name, const char *attr, + } + + static int hid_set_report(const char *path, const char *name, const char *attr, +- void *val) ++ const void *val) + { +- struct usbg_f_hid_report_desc *report_desc = val; ++ const struct usbg_f_hid_report_desc *report_desc = val; + char *buf = report_desc->desc; + int len = report_desc->len; + int ret; +@@ -239,7 +239,7 @@ static int hid_libconfig_import(struct usbg_function *f, + if (ret < 0) + break; + +- ret = usbg_f_hid_set_attr_val(hf, i, val); ++ ret = usbg_f_hid_set_attr_val(hf, i, &val); + if (ret) + break; + } +@@ -327,7 +327,7 @@ int usbg_f_hid_set_attrs(usbg_f_hid *hf, + continue; + + ret = usbg_f_hid_set_attr_val(hf, i, +- *(union usbg_f_hid_attr_val *) ++ (union usbg_f_hid_attr_val *) + ((char *)attrs + + hid_attr[i].offset)); + if (ret) +@@ -346,11 +346,11 @@ int usbg_f_hid_get_attr_val(usbg_f_hid *hf, enum usbg_f_hid_attr attr, + } + + int usbg_f_hid_set_attr_val(usbg_f_hid *hf, enum usbg_f_hid_attr attr, +- union usbg_f_hid_attr_val val) ++ const union usbg_f_hid_attr_val *val) + { + return hid_attr[attr].ro ? + USBG_ERROR_INVALID_PARAM : + hid_attr[attr].set(hf->func.path, hf->func.name, +- hid_attr[attr].name, &val); ++ hid_attr[attr].name, val); + } + +diff --git a/src/function/midi.c b/src/function/midi.c +index 1cedb97..2318b49 100644 +--- a/src/function/midi.c ++++ b/src/function/midi.c +@@ -100,7 +100,7 @@ static int midi_libconfig_import(struct usbg_function *f, + if (ret < 0) + break; + +- ret = usbg_f_midi_set_attr_val(mf, i, val); ++ ret = usbg_f_midi_set_attr_val(mf, i, &val); + if (ret) + break; + } +@@ -185,8 +185,8 @@ int usbg_f_midi_set_attrs(usbg_f_midi *mf, + + for (i = USBG_F_MIDI_ATTR_MIN; i < USBG_F_MIDI_ATTR_MAX; ++i) { + ret = usbg_f_midi_set_attr_val(mf, i, +- *(union usbg_f_midi_attr_val *) +- ((char *)attrs ++ (const union usbg_f_midi_attr_val *) ++ ((const char *)attrs + + midi_attr[i].offset)); + if (ret) + break; +@@ -204,10 +204,10 @@ int usbg_f_midi_get_attr_val(usbg_f_midi *mf, enum usbg_f_midi_attr attr, + } + + int usbg_f_midi_set_attr_val(usbg_f_midi *mf, enum usbg_f_midi_attr attr, +- union usbg_f_midi_attr_val val) ++ const union usbg_f_midi_attr_val *val) + { + return midi_attr[attr].set(mf->func.path, mf->func.name, +- midi_attr[attr].name, &val); ++ midi_attr[attr].name, val); + } + + int usbg_f_midi_get_id_s(usbg_f_midi *mf, char *buf, int len) +diff --git a/src/function/ms.c b/src/function/ms.c +index 519b012..5cdd814 100644 +--- a/src/function/ms.c ++++ b/src/function/ms.c +@@ -207,7 +207,7 @@ static int ms_import_lun_attrs(struct usbg_f_ms *mf, int lun_id, + if (ret < 0) + break; + +- ret = usbg_f_ms_set_lun_attr_val(mf, lun_id, i, val); ++ ret = usbg_f_ms_set_lun_attr_val(mf, lun_id, i, &val); + if (ret) + break; + } +@@ -605,8 +605,8 @@ int usbg_f_ms_set_lun_attrs(usbg_f_ms *mf, int lun_id, + + for (i = USBG_F_MS_LUN_ATTR_MIN; i < USBG_F_MS_LUN_ATTR_MAX; ++i) { + ret = usbg_f_ms_set_lun_attr_val(mf, lun_id, i, +- *(union usbg_f_ms_lun_attr_val *) +- ((char *)lattrs ++ (const union usbg_f_ms_lun_attr_val *) ++ ((const char *)lattrs + + ms_lun_attr[i].offset)); + if (ret) + break; +@@ -633,7 +633,7 @@ int usbg_f_ms_get_lun_attr_val(usbg_f_ms *mf, int lun_id, + + int usbg_f_ms_set_lun_attr_val(usbg_f_ms *mf, int lun_id, + enum usbg_f_ms_lun_attr lattr, +- union usbg_f_ms_lun_attr_val val) ++ const union usbg_f_ms_lun_attr_val *val) + { + char lpath[USBG_MAX_PATH_LENGTH]; + int ret; +@@ -644,7 +644,7 @@ int usbg_f_ms_set_lun_attr_val(usbg_f_ms *mf, int lun_id, + return USBG_ERROR_PATH_TOO_LONG; + + return ms_lun_attr[lattr].set(lpath, "", +- ms_lun_attr[lattr].name, &val); ++ ms_lun_attr[lattr].name, val); + } + + int usbg_f_ms_get_lun_file_s(usbg_f_ms *mf, int lun_id, +diff --git a/src/function/uac2.c b/src/function/uac2.c +index f2c1a49..38a9b0f 100644 +--- a/src/function/uac2.c ++++ b/src/function/uac2.c +@@ -89,7 +89,7 @@ static int uac2_libconfig_import(struct usbg_function *f, + if (ret < 0) + break; + +- ret = usbg_f_uac2_set_attr_val(af, i, val); ++ ret = usbg_f_uac2_set_attr_val(af, i, &val); + if (ret) + break; + } +@@ -174,8 +174,8 @@ int usbg_f_uac2_set_attrs(usbg_f_uac2 *af, + + for (i = USBG_F_UAC2_ATTR_MIN; i < USBG_F_UAC2_ATTR_MAX; ++i) { + ret = usbg_f_uac2_set_attr_val(af, i, +- *(union usbg_f_uac2_attr_val *) +- ((char *)attrs ++ (const union usbg_f_uac2_attr_val *) ++ ((const char *)attrs + + uac2_attr[i].offset)); + if (ret) + break; +@@ -193,8 +193,8 @@ int usbg_f_uac2_get_attr_val(usbg_f_uac2 *af, enum usbg_f_uac2_attr attr, + } + + int usbg_f_uac2_set_attr_val(usbg_f_uac2 *af, enum usbg_f_uac2_attr attr, +- union usbg_f_uac2_attr_val val) ++ const union usbg_f_uac2_attr_val *val) + { + return uac2_attr[attr].set(af->func.path, af->func.name, +- uac2_attr[attr].name, &val); ++ uac2_attr[attr].name, val); + } +diff --git a/src/function/uvc.c b/src/function/uvc.c +index f39594b..947b94e 100644 +--- a/src/function/uvc.c ++++ b/src/function/uvc.c +@@ -303,7 +303,7 @@ int usbg_f_uvc_get_config_attr_val(usbg_f_uvc *uvcf, enum usbg_f_uvc_config_attr + } + + int usbg_f_uvc_set_config_attr_val(usbg_f_uvc *uvcf, enum usbg_f_uvc_config_attr iattr, +- union usbg_f_uvc_config_attr_val val) ++ const union usbg_f_uvc_config_attr_val *val) + { + char ipath[USBG_MAX_PATH_LENGTH]; + int nmb; +@@ -314,7 +314,7 @@ int usbg_f_uvc_set_config_attr_val(usbg_f_uvc *uvcf, enum usbg_f_uvc_config_attr + return USBG_ERROR_PATH_TOO_LONG; + + return uvc_config_attr[iattr].set(ipath, "", +- uvc_config_attr[iattr].name, &val); ++ uvc_config_attr[iattr].name, val); + } + + int usbg_f_uvc_get_config_attrs(usbg_f_uvc *uvcf, struct usbg_f_uvc_config_attrs *iattrs) +@@ -341,8 +341,8 @@ int usbg_f_uvc_set_config_attrs(usbg_f_uvc *uvcf, const struct usbg_f_uvc_config + + for (i = USBG_F_UVC_FRAME_ATTR_MIN; i < USBG_F_UVC_FRAME_ATTR_MAX; ++i) { + ret = usbg_f_uvc_set_config_attr_val(uvcf, i, +- *(union usbg_f_uvc_config_attr_val *) +- ((char *)iattrs ++ (const union usbg_f_uvc_config_attr_val *) ++ ((const char *)iattrs + + uvc_config_attr[i].offset)); + if (ret) + break; +@@ -774,7 +774,7 @@ static int uvc_import_config(struct usbg_f_uvc *uvcf, config_setting_t *root) + if (ret < 0) + break; + +- ret = usbg_f_uvc_set_config_attr_val(uvcf, i, val); ++ ret = usbg_f_uvc_set_config_attr_val(uvcf, i, &val); + if (ret) + break; + } +diff --git a/src/usbg_common.c b/src/usbg_common.c +index 5f7f4e5..7234649 100644 +--- a/src/usbg_common.c ++++ b/src/usbg_common.c +@@ -337,7 +337,7 @@ int usbg_get_ether_addr(const char *path, const char *name, + } + + int usbg_set_ether_addr(const char *path, const char *name, +- const char *attr, void *val) ++ const char *attr, const void *val) + { + char str_addr[USBG_MAX_STR_LENGTH]; + +-- +2.25.1 + diff --git a/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/0001-libusbgx-Add-interface-name-for-NCM-Feature-Descript.patch b/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/0001-libusbgx-Add-interface-name-for-NCM-Feature-Descript.patch new file mode 100644 index 0000000000..cc122c844c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/0001-libusbgx-Add-interface-name-for-NCM-Feature-Descript.patch @@ -0,0 +1,52 @@ +From 4f3f2ad08e6ca132bd1dd388e02b57223bf4219d Mon Sep 17 00:00:00 2001 +From: Ming Liu <liu.ming50@gmail.com> +Date: Sun, 11 Dec 2022 14:11:49 +0100 +Subject: [PATCH] libusbgx: Add interface name for NCM Feature Descriptors + +In commit: abf422bffca4a4767e7e242c44910dbf5ef7094f +[ +Author: Stefan Agner <stefan.agner@toradex.com> +Date: Tue Jan 24 14:22:25 2017 -0800 + + libusbgx: Add interface name for Feature Descriptors + + This adds interface name required for "Feature Descriptors". If + specified, we can assume that a Feature Descriptor with the + interface name of the specified string is understood by the + kernel (e.g. interface.rndis). +] + +it only added Feature Descriptors for RNDIS, NCM also needs that, or +else it could not be recognized by Windows systems. + +Add Feature Descriptors interface name for NCM. + +Upstream-Status: Submitted [https://github.com/linux-usb-gadgets/libusbgx/pull/73] + +Signed-off-by: Ming Liu <liu.ming50@gmail.com> +--- + src/function/ether.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/function/ether.c b/src/function/ether.c +index b1fe1d2..a9eaf33 100644 +--- a/src/function/ether.c ++++ b/src/function/ether.c +@@ -184,8 +184,14 @@ struct usbg_function_type usbg_f_type_subset = { + ETHER_FUNCTION_OPTS + }; + ++static char *ncm_os_desc_ifnames[] = { ++ "ncm", ++ NULL ++}; ++ + struct usbg_function_type usbg_f_type_ncm = { + .name = "ncm", ++ .os_desc_iname = ncm_os_desc_ifnames, + ETHER_FUNCTION_OPTS + }; + +-- +2.25.1 + diff --git a/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/gadget-start b/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/gadget-start index 9e22671a9e..e80cb2c340 100755 --- a/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/gadget-start +++ b/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/gadget-start @@ -6,6 +6,10 @@ for i in $IMPORT_SCHEMAS; do /usr/bin/gadget-import "$i" /etc/usbgx/"$i".schema done +for script in $(find -L /etc/usbgx.d -type f -exec test -e {} \; -print 2>/dev/null); do + $script +done + for i in $ENABLED_SCHEMAS; do configured_udc=$(eval 'echo ${UDC_FOR_SCHEMA_'"$i"'}') if [ -n "${configured_udc}" ] && [ -e "/sys/class/udc/${configured_udc}" ]; then diff --git a/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/usbgx.service b/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/usbgx.service index 74541d3c2d..ba92f1ab83 100644 --- a/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/usbgx.service +++ b/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/usbgx.service @@ -1,9 +1,11 @@ [Unit] Description=Load USB gadget schemas +Requires=sys-kernel-config.mount +After=sys-kernel-config.mount [Service] -Type=oneshot +Type=simple ExecStart=/usr/bin/gadget-start [Install] -WantedBy=multi-user.target +WantedBy=usb-gadget.target diff --git a/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx_git.bb b/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx_git.bb index 11e88935ef..7998b0c155 100644 --- a/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx_git.bb +++ b/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx_git.bb @@ -6,10 +6,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ inherit autotools pkgconfig systemd update-rc.d update-alternatives PV = "0.2.0+git${SRCPV}" -SRCREV = "45c14ef4d5d7ced0fbf984208de44ced6d5ed898" +SRCREV = "721e3a1cbd7e2b6361bb439d3959e7403e4f0092" SRCBRANCH = "master" SRC_URI = " \ git://github.com/libusbgx/libusbgx.git;branch=${SRCBRANCH};protocol=https \ + file://0001-libusbgx-Add-interface-name-for-NCM-Feature-Descript.patch \ + file://0001-fix-stack-buffer-overflow-in-usbg_f_foo_attr_val-pro.patch \ file://gadget-start \ file://usbgx.initd \ file://usbgx.service \ @@ -35,7 +37,9 @@ INITSCRIPT_PARAMS = "defaults" INHIBIT_UPDATERCD_BBCLASS = "${@bb.utils.contains('PACKAGECONFIG', 'examples', '1', '0', d)}" do_install:append() { - install -Dm 0755 ${WORKDIR}/gadget-start ${D}/${bindir}/gadget-start + install -Dm 0755 ${WORKDIR}/gadget-start ${D}${bindir}/gadget-start + sed -i -e 's,/usr/bin,${bindir},g' -e 's,/etc,${sysconfdir},g' ${D}${bindir}/gadget-start + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then install -Dm 0644 ${WORKDIR}/usbgx.service ${D}${systemd_system_unitdir}/usbgx.service fi diff --git a/meta-openembedded/meta-oe/recipes-support/log4cpp/log4cpp_1.1.3.bb b/meta-openembedded/meta-oe/recipes-support/log4cpp/log4cpp_1.1.4.bb index 8e6d455174..729857eb62 100644 --- a/meta-openembedded/meta-oe/recipes-support/log4cpp/log4cpp_1.1.3.bb +++ b/meta-openembedded/meta-oe/recipes-support/log4cpp/log4cpp_1.1.4.bb @@ -6,8 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34" SRC_URI = "http://downloads.sourceforge.net/${BPN}/${BP}.tar.gz \ file://fix-pc.patch;striplevel=2 \ " -SRC_URI[md5sum] = "b9e2cee932da987212f2c74b767b4d8b" -SRC_URI[sha256sum] = "2cbbea55a5d6895c9f0116a9a9ce3afb86df383cd05c9d6c1a4238e5e5c8f51d" +SRC_URI[sha256sum] = "696113659e426540625274a8b251052cc04306d8ee5c42a0c7639f39ca90c9d6" S = "${WORKDIR}/${BPN}" diff --git a/meta-openembedded/meta-oe/recipes-support/mg/mg_20230406.bb b/meta-openembedded/meta-oe/recipes-support/mg/mg_20230501.bb index 8d61b7f7bc..ee00003977 100644 --- a/meta-openembedded/meta-oe/recipes-support/mg/mg_20230406.bb +++ b/meta-openembedded/meta-oe/recipes-support/mg/mg_20230501.bb @@ -1,11 +1,11 @@ SUMMARY = "A portable version of the mg maintained by the OpenBSD team" HOMEPAGE = "http://homepage.boetes.org/software/mg/" LICENSE = "PD" -LIC_FILES_CHKSUM = "file://version.c;md5=36d8ace99e6cd003132975a9266d3f77" +LIC_FILES_CHKSUM = "file://version.c;md5=a8e0b53d89d277bf3b40878ac568bedd" DEPENDS = "ncurses libbsd" SECTION = "console/editors" -SRCREV = "4e6d2de9582cfe7f0977be4ce9532e3d33c5be15" +SRCREV = "f21c2ba36772ffa68d9cfa55305e427d37903b4a" SRC_URI = "git://github.com/hboetes/mg;branch=master;protocol=https \ file://0001-fileio-Include-sys-param.h-for-MAXNAMLEN.patch \ file://0002-fileio-Define-DEFFILEMODE-if-platform-is-missing.patch \ diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_23.04.0.bb b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_23.04.0.bb index 19bdce4d86..099be58a42 100644 --- a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_23.04.0.bb +++ b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_23.04.0.bb @@ -10,7 +10,7 @@ SRC_URI = "http://poppler.freedesktop.org/${BP}.tar.xz \ " SRC_URI[sha256sum] = "b6d893dc7dcd4138b9e9df59a13c59695e50e80dc5c2cacee0674670693951a1" -DEPENDS = "fontconfig zlib cairo lcms glib-2.0" +DEPENDS = "fontconfig zlib cairo lcms glib-2.0 glib-2.0-native" inherit cmake pkgconfig gobject-introspection diff --git a/meta-openembedded/meta-oe/recipes-support/psutils/psutils_2.10.bb b/meta-openembedded/meta-oe/recipes-support/psutils/psutils_2.10.bb new file mode 100644 index 0000000000..1f1894a5f2 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/psutils/psutils_2.10.bb @@ -0,0 +1,24 @@ +LICENSE = "GPL-3.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=87212b5f1ae096371049a12f80034f32" + +SRC_URI = "https://github.com/rrthomas/psutils/releases/download/v${PV}/psutils-${PV}.tar.gz" +SRC_URI[sha256sum] = "6f8339fd5322df5c782bfb355d9f89e513353220fca0700a5a28775404d7e98b" + +inherit perlnative autotools + +export PERL="/usr/bin/env perl" + +DEPENDS += "libpaper-native" + +do_install:append() { + sed -i -e 's|${STAGING_BINDIR_NATIVE}/perl-native/|/usr/bin/env |g' ${D}${bindir}/pstops + for f in psbook psresize psnup psselect; do + grep -v '${B}' ${D}${bindir}/$f > ${D}${bindir}/$f.temp + install -m 0755 ${D}${bindir}/$f.temp ${D}${bindir}/$f + rm -f ${D}${bindir}/$f.temp + done +} + +BBCLASSEXTEND += "native" +# /usr/bin/pstops contained in package psutils requires perl +RDEPENDS:${PN} += "perl" diff --git a/meta-openembedded/meta-oe/recipes-support/rdfind/rdfind/0001-configure.ac-fix-C-11-support-check.patch b/meta-openembedded/meta-oe/recipes-support/rdfind/rdfind/0001-configure.ac-fix-C-11-support-check.patch new file mode 100644 index 0000000000..815939b82d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/rdfind/rdfind/0001-configure.ac-fix-C-11-support-check.patch @@ -0,0 +1,37 @@ +From 9070bc210b2ecff641b73e4ade30040c1461969c Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Wed, 3 May 2023 18:31:57 +0200 +Subject: [PATCH] configure.ac: fix C++11 support check + +* with -Werror=return-type in CFLAGS this test fails with: + + configure:4290: checking for C++11 support or better + configure:4303: x86_64-webos-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -Werror=return-type --sysroot=/OE/lge/build/webos/mickledore/BUILD/work/qemux86_64-webos-linux/rdfind/1.5.0-r0/recipe-sysroot -c -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/OE/lge/build/webos/mickledore/BUILD/work/qemux86_64-webos-linux/rdfind/1.5.0-r0/rdfind-1.5.0=/usr/src/debug/rdfind/1.5.0-r0 -fdebug-prefix-map=/OE/lge/build/webos/mickledore/BUILD/work/qemux86_64-webos-linux/rdfind/1.5.0-r0/rdfind-1.5.0=/usr/src/debug/rdfind/1.5.0-r0 -fmacro-prefix-map=/OE/lge/build/webos/mickledore/BUILD/work/qemux86_64-webos-linux/rdfind/1.5.0-r0/build=/usr/src/debug/rdfind/1.5.0-r0 -fdebug-prefix-map=/OE/lge/build/webos/mickledore/BUILD/work/qemux86_64-webos-linux/rdfind/1.5.0-r0/build=/usr/src/debug/rdfind/1.5.0-r0 -fdebug-prefix-map=/OE/lge/build/webos/mickledore/BUILD/work/qemux86_64-webos-linux/rdfind/1.5.0-r0/recipe-sysroot= -fmacro-prefix-map=/OE/lge/build/webos/mickledore/BUILD/work/qemux86_64-webos-linux/rdfind/1.5.0-r0/recipe-sysroot= -fdebug-prefix-map=/OE/lge/build/webos/mickledore/BUILD/work/qemux86_64-webos-linux/rdfind/1.5.0-r0/recipe-sysroot-native= -fvisibility-inlines-hidden conftest.cpp >&5 + conftest.cpp: In function 'int f()': + conftest.cpp:22:20: error: no return statement in function returning non-void [-Werror=return-type] + 22 | int f() { auto a=1;} | ^ + cc1plus: some warnings being treated as errors + ... + configure:4308: error: no c++11 support, please set CXXFLAGS properly + +* fix the test to pass + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +Upstream-Status: Submitted [https://github.com/pauldreik/rdfind/pull/132] +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index be1b2fd..9c3513c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -64,7 +64,7 @@ AC_SYS_LARGEFILE + + dnl make sure we have c++11 or better, + AC_MSG_CHECKING([for C++11 support or better]) +-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([int f() { auto a=1;}])], ++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([int f() { auto a=1;return a;}])], + [AC_MSG_RESULT([yes])], + [AC_MSG_ERROR([no c++11 support, please set CXXFLAGS properly])]) + diff --git a/meta-openembedded/meta-oe/recipes-support/rdfind/rdfind_1.5.0.bb b/meta-openembedded/meta-oe/recipes-support/rdfind/rdfind_1.5.0.bb index 8f2c5e8852..dab66c3827 100644 --- a/meta-openembedded/meta-oe/recipes-support/rdfind/rdfind_1.5.0.bb +++ b/meta-openembedded/meta-oe/recipes-support/rdfind/rdfind_1.5.0.bb @@ -8,6 +8,7 @@ DEPENDS = "nettle autoconf-archive" SRC_URI = "https://rdfind.pauldreik.se/${BP}.tar.gz \ file://0001-configure-Fix-check-for-AC_CHECK_LIB.patch \ file://0001-include-standard-headers-limits-and-cstdint.patch \ + file://0001-configure.ac-fix-C-11-support-check.patch \ " SRC_URI[sha256sum] = "4150ed1256f7b12b928c65113c485761552b9496c433778aac3f9afc3e767080" diff --git a/meta-openembedded/meta-oe/recipes-support/serial/serial/Findcatkin.cmake b/meta-openembedded/meta-oe/recipes-support/serial/serial/Findcatkin.cmake new file mode 100644 index 0000000000..2f93564be3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/serial/serial/Findcatkin.cmake @@ -0,0 +1,5 @@ +# Work-around for https://github.com/wjwwood/serial/issues/135 + +function(catkin_package) +endfunction() + diff --git a/meta-openembedded/meta-oe/recipes-support/serial/serial_1.2.1.bb b/meta-openembedded/meta-oe/recipes-support/serial/serial_1.2.1.bb new file mode 100644 index 0000000000..8c1fb063b3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/serial/serial_1.2.1.bb @@ -0,0 +1,28 @@ +SUMMARY = "Cross-platform library for interfacing with rs-232 serial like ports" +HOMEPAGE = "http://wjwwood.io/serial/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://README.md;beginline=53;endline=62;md5=049c68d559533f90250404746e6a1045" + +SRC_URI = " \ + git://github.com/wjwwood/${BPN}.git;protocol=https;branch=main \ + file://Findcatkin.cmake \ +" +SRCREV = "10ac4e1c25c2cda1dc0a32a8e12b87fd89f3bb4f" +SRC_URI[sha256sum] = "c8cd235dda2ef7d977ba06dfcb35c35e42f45cfd9149ba3ad257756123d8ff96" + +S = "${WORKDIR}/git" + +inherit cmake + +# Work-around for https://github.com/wjwwood/serial/issues/135 +EXTRA_OECMAKE = " \ + -DCMAKE_MODULE_PATH=${WORKDIR} \ + -DCATKIN_PACKAGE_LIB_DESTINATION=${libdir} \ + -DCATKIN_PACKAGE_BIN_DESTINATION=${bindir} \ + -DCATKIN_GLOBAL_INCLUDE_DESTINATION=${includedir} \ + -DCATKIN_ENABLE_TESTING=OFF \ +" + +# Do not depend on the main package since it will be empty +RDEPENDS:${PN}-dev = "" + |