diff options
Diffstat (limited to 'meta-oe/dynamic-layers/meta-python/recipes-connectivity')
13 files changed, 474 insertions, 121 deletions
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch index 0e38f7d8ec..d4c8a3d7fc 100644 --- a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch +++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch @@ -10,6 +10,8 @@ input.h [1] Signed-off-by: Khem Raj <raj.khem@gmail.com> --- +Upstream-Status: Pending + plugins/devinput.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-Makefile.am-do-not-clobber-PYTHONPATH-from-build-env.patch b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-Makefile.am-do-not-clobber-PYTHONPATH-from-build-env.patch new file mode 100644 index 0000000000..11f6485b27 --- /dev/null +++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-Makefile.am-do-not-clobber-PYTHONPATH-from-build-env.patch @@ -0,0 +1,57 @@ +From 5e3b74927b4fef03d91518d235e9e3ba8cd7ab2e Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex@linutronix.de> +Date: Wed, 9 Nov 2022 20:49:41 +0100 +Subject: [PATCH] Makefile.am: do not clobber PYTHONPATH from build environment + +This environment variable has special significance for python, +and so lirc's variable has to be named something else. + +Signed-off-by: Alexander Kanavin <alex@linutronix.de> +--- +Upstream-Status: Pending + + Makefile.am | 2 +- + pylint.mak | 2 +- + tools/Makefile.am | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 6718af1..fae423e 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -128,7 +128,7 @@ endif + + pylint: .phony + $(MAKE) -C tools pylint +- -PYTHONPATH=$(PYTHONPATH) $(PYLINT) --rcfile=pylint.conf \ ++ -PYTHONPATH=$(LIRCPYTHONPATH) $(PYLINT) --rcfile=pylint.conf \ + --msg-template='$(pylint_template)' $(py_PYTHON) + + pep8: $(py_PYTHON) +diff --git a/pylint.mak b/pylint.mak +index bf427ab..2692951 100644 +--- a/pylint.mak ++++ b/pylint.mak +@@ -1,5 +1,5 @@ + PYTHONPATH1 = $(abs_top_srcdir)/python-pkg/lirc: + PYTHONPATH2 = $(abs_top_srcdir)/python-pkg/lirc/lib/.libs +-PYTHONPATH = $(PYTHONPATH1):$(PYTHONPATH2) ++LIRCPYTHONPATH = $(PYTHONPATH1):$(PYTHONPATH2) + PYLINT = python3-pylint + pylint_template = {path}:{line}: [{msg_id}({symbol}), {obj}] {msg} +diff --git a/tools/Makefile.am b/tools/Makefile.am +index 85d1fd0..96b17f8 100644 +--- a/tools/Makefile.am ++++ b/tools/Makefile.am +@@ -142,7 +142,7 @@ force-pylint: .phony + + pylint: .pylint-stamp + .pylint-stamp: $(py_sources) +- -PYTHONPATH=$(PYTHONPATH) $(PYLINT) --rcfile=../pylint.conf \ ++ -PYTHONPATH=$(LIRCPYTHONPATH) $(PYLINT) --rcfile=../pylint.conf \ + --msg-template='$(pylint_template)' $? && touch $@ + + .phony: +-- +2.30.2 + diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-Unbolt-ubuntu-hack.patch b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-Unbolt-ubuntu-hack.patch new file mode 100644 index 0000000000..73bacc9139 --- /dev/null +++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-Unbolt-ubuntu-hack.patch @@ -0,0 +1,26 @@ +From ca126a2832aaff0deef3ba7eaf411dd0dc43b068 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 16 Mar 2023 11:31:14 -0700 +Subject: [PATCH] Unbolt ubuntu hack + +This bites during cross compiling where the target is different than +build host and build host might be ubuntu but that does not matter in +cross compilation case. This fails builds when usrmerge feature is used + +Upstream-Status: Inappropriate [ Cross-compile specific ] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/configure.ac ++++ b/configure.ac +@@ -429,7 +429,7 @@ AC_CHECK_LIB([udev], [udev_device_new_fr + ]) + + dnl Ubuntu's systemd pkg-config seems broken beyond repair. So: +-kernelversion=`cat /proc/version || echo "non-linux"` ++kernelversion="cross-compiled" + AS_CASE([$kernelversion], + [*Ubuntu*],[ + AC_MSG_NOTICE([Hardwiring Ubuntu systemd setup]) diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-mplay-Fix-build-with-musl.patch b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-mplay-Fix-build-with-musl.patch new file mode 100644 index 0000000000..48cf7a355c --- /dev/null +++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-mplay-Fix-build-with-musl.patch @@ -0,0 +1,44 @@ +From e9e9027d7a324e1ce5e0cb06d4eb51847262a09d Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sun, 28 Aug 2022 12:26:52 -0700 +Subject: [PATCH] mplay: Fix build with musl + +pthread_t is an opaque type, therefore typecast it to avoid warnings on +musl + +Fixes +mplay.c:200:12: error: incompatible integer to pointer conversion initializing 'pthread_t' (aka 'struct __pthread *') with an expression of type 'int' [-Wint-conversion] +| .tid = -1 +| ^~ + +Upstream-Status: Submitted [https://sourceforge.net/p/lirc/git/merge-requests/47/] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + plugins/mplay.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/plugins/mplay.c b/plugins/mplay.c +index d6d9619..5b9eb4b 100644 +--- a/plugins/mplay.c ++++ b/plugins/mplay.c +@@ -197,7 +197,7 @@ static struct { + .latest_button = MPLAY_CODE_ERROR, + .fd = -1, + .pipefd = { -1, -1 }, +- .tid = -1 ++ .tid = (pthread_t)-1 + }; + + /** +@@ -788,7 +788,7 @@ int mplayfamily_deinit(void) + return 0; + } + pthread_join(mplayfamily_local_data.tid, NULL); +- mplayfamily_local_data.tid = -1; ++ mplayfamily_local_data.tid = (pthread_t)-1; + } + if (mplayfamily_local_data.pipefd[0] != -1) { + close(mplayfamily_local_data.pipefd[0]); +-- +2.37.2 + diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/fix_build_errors.patch b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/fix_build_errors.patch index 41353dbbdc..ed840cd098 100644 --- a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/fix_build_errors.patch +++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/fix_build_errors.patch @@ -1,3 +1,5 @@ +Upstream-Status: Pending + diff --git a/configure.ac b/configure.ac index 58347d8..8c7fca2 100644 --- a/configure.ac diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.1.bb b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.1.bb deleted file mode 100644 index b68303241e..0000000000 --- a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.1.bb +++ /dev/null @@ -1,110 +0,0 @@ -DESCRIPTION = "LIRC is a package that allows you to decode and send infra-red signals of many commonly used remote controls." -DESCRIPTION_append_lirc = " This package contains the lirc daemon, libraries and tools." -DESCRIPTION_append_lirc-exec = " This package contains a daemon that runs programs on IR signals." -DESCRIPTION_append_lirc-remotes = " This package contains some config files for remotes." -DESCRIPTION_append_lirc-nslu2example = " This package contains a working config for RC5 remotes and a modified NSLU2." -HOMEPAGE = "http://www.lirc.org" -SECTION = "console/network" -LICENSE = "GPLv2" -DEPENDS = "libxslt-native alsa-lib libftdi libusb1 libusb-compat jack portaudio-v19 python3-pyyaml python3-setuptools-native" - -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -SRC_URI = "http://prdownloads.sourceforge.net/lirc/lirc-${PV}.tar.bz2 \ - file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \ - file://fix_build_errors.patch \ - file://lircd.service \ - file://lircd.init \ - file://lircexec.init \ - file://lircd.conf \ - file://lirc_options.conf \ - file://lirc.tmpfiles \ -" -SRC_URI[md5sum] = "86c3f8e4efaba10571addb8313d1e040" -SRC_URI[sha256sum] = "8b753c60df2a7f5dcda2db72c38e448ca300c3b4f6000c1501fcb0bd5df414f2" - -SYSTEMD_PACKAGES = "lirc lirc-exec" -SYSTEMD_SERVICE_${PN} = "lircd.service lircmd.service lircd-setup.service lircd-uinput.service" -SYSTEMD_SERVICE_${PN}-exec = "irexec.service" -SYSTEMD_AUTO_ENABLE_lirc = "enable" -SYSTEMD_AUTO_ENABLE_lirc-exec = "enable" - -inherit autotools pkgconfig systemd python3native distutils-common-base - -PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd" -PACKAGECONFIG[x11] = "--with-x,--with-x=no,libx11," - -PACKAGECONFIG ?= " \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' x11', '', d)} \ -" -CACHED_CONFIGUREVARS = "HAVE_WORKING_POLL=yes" - -#EXTRA_OEMAKE = 'SUBDIRS="lib daemons tools"' - -# Ensure python-pkg/VERSION exists -do_configure_append() { - cp ${S}/VERSION ${S}/python-pkg/ -} - -# Create PYTHON_TARBALL which LIRC needs for install-nodist_pkgdataDATA -do_install_prepend() { - rm -rf ${WORKDIR}/${PN}-${PV}/python-pkg/dist/ - mkdir ${WORKDIR}/${PN}-${PV}/python-pkg/dist/ - tar --exclude='${WORKDIR}/${PN}-${PV}/python-pkg/*' -czf ${WORKDIR}/${PN}-${PV}/python-pkg/dist/${PN}-${PV}.tar.gz ${S} -} - -# In code, path to python is a variable that is replaced with path to native version of it -# during the configure stage, e.g ../recipe-sysroot-native/usr/bin/python3-native/python3. -# Replace it with #!/usr/bin/env python3 -do_install_append() { - sed -i '1c#!/usr/bin/env python3' ${D}${bindir}/lirc-setup \ - ${D}${PYTHON_SITEPACKAGES_DIR}/lirc-setup/lirc-setup \ - ${D}${bindir}/irtext2udp \ - ${D}${bindir}/lirc-init-db \ - ${D}${bindir}/irdb-get \ - ${D}${bindir}/pronto2lirc \ - ${D}${sbindir}/lircd-setup - - install -m 0755 -d ${D}${sysconfdir} - install -m 0755 -d ${D}${sysconfdir}/lirc - install -m 0755 -d ${D}${systemd_unitdir}/system - install -m 0755 -d ${D}${libdir}/tmpfiles.d - install -m 0644 ${WORKDIR}/lircd.conf ${D}${sysconfdir}/lirc/ - install -m 0644 ${WORKDIR}/lirc_options.conf ${D}${sysconfdir}/lirc/ - install -m 0644 ${WORKDIR}/lircd.service ${D}${systemd_unitdir}/system/ - install -m 0755 ${WORKDIR}/lircexec.init ${D}${systemd_unitdir}/system/ - install -m 0644 ${WORKDIR}/lirc.tmpfiles ${D}${libdir}/tmpfiles.d/lirc.conf - rm -rf ${D}${libdir}/lirc/plugins/*.la - rmdir ${D}/var/run/lirc ${D}/var/run - chown -R root:root ${D}${datadir}/lirc/contrib -} - -PACKAGES =+ "${PN}-contrib ${PN}-exec ${PN}-plugins ${PN}-python" - -RDEPENDS_${PN} = "bash python3" -RDEPENDS_${PN}-exec = "${PN}" -RDEPENDS_${PN}-python = "python3-shell python3-pyyaml python3-datetime python3-netclient python3-stringold" - -RRECOMMENDS_${PN} = "${PN}-exec ${PN}-plugins" - -FILES_${PN}-plugins = "${libdir}/lirc/plugins/*.so ${datadir}/lirc/configs" -FILES_${PN}-contrib = "${datadir}/lirc/contrib" -FILES_${PN}-exec = "${bindir}/irexec ${sysconfdir}/lircexec ${systemd_unitdir}/system/irexec.service" -FILES_${PN} += "${systemd_unitdir}/system/lircexec.init" -FILES_${PN} += "${systemd_unitdir}/system/lircd.service" -FILES_${PN} += "${systemd_unitdir}/system/lircd.socket" -FILES_${PN} += "${libdir}/tmpfiles.d/lirc.conf" -FILES_${PN}-dbg += "${libdir}/lirc/plugins/.debug" -FILES_${PN}-python += "${bindir}/irdb-get ${bindir}/irtext2udp ${bindir}/lircd-setup ${bindir}/pronto2lirc ${libdir}/python*/site-packages" - -INITSCRIPT_PACKAGES = "lirc lirc-exec" -INITSCRIPT_NAME_lirc-exec = "lircexec" -INITSCRIPT_PARAMS_lirc-exec = "defaults 21" - -# this is for distributions that don't use udev -pkg_postinst_${PN}_append() { - if [ ! -c $D/dev/lirc -a ! -f /sbin/udevd ]; then mknod $D/dev/lirc c 61 0; fi -} - -SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}" diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.2.bb b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.2.bb new file mode 100644 index 0000000000..17a1d3c947 --- /dev/null +++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.2.bb @@ -0,0 +1,115 @@ +DESCRIPTION = "LIRC is a package that allows you to decode and send infra-red signals of many commonly used remote controls." +DESCRIPTION:append:lirc = " This package contains the lirc daemon, libraries and tools." +DESCRIPTION:append:lirc-exec = " This package contains a daemon that runs programs on IR signals." +DESCRIPTION:append:lirc-remotes = " This package contains some config files for remotes." +DESCRIPTION:append:lirc-nslu2example = " This package contains a working config for RC5 remotes and a modified NSLU2." +HOMEPAGE = "http://www.lirc.org" +SECTION = "console/network" +LICENSE = "GPL-2.0-only" +DEPENDS = "libxslt-native alsa-lib libftdi libusb1 libusb-compat jack portaudio-v19 python3-pyyaml python3-setuptools-native" + +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "http://prdownloads.sourceforge.net/lirc/lirc-${PV}.tar.bz2 \ + file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \ + file://fix_build_errors.patch \ + file://0001-mplay-Fix-build-with-musl.patch \ + file://lircd.service \ + file://lircd.init \ + file://lircexec.init \ + file://lircd.conf \ + file://lirc_options.conf \ + file://lirc.tmpfiles \ + file://0001-Makefile.am-do-not-clobber-PYTHONPATH-from-build-env.patch \ + file://0001-Unbolt-ubuntu-hack.patch \ + " +SRC_URI[sha256sum] = "3d44ec8274881cf262f160805641f0827ffcc20ade0d85e7e6f3b90e0d3d222a" + +SYSTEMD_PACKAGES = "lirc lirc-exec" +SYSTEMD_SERVICE:${PN} = "lircd.service lircmd.service lircd-setup.service lircd-uinput.service" +SYSTEMD_SERVICE:${PN}-exec = "irexec.service" +SYSTEMD_AUTO_ENABLE:lirc = "enable" +SYSTEMD_AUTO_ENABLE:lirc-exec = "enable" + +inherit autotools pkgconfig systemd python3native setuptools3-base + +PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd" +PACKAGECONFIG[x11] = "--with-x,--with-x=no,libx11," + +PACKAGECONFIG ?= " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' x11', '', d)} \ +" +CACHED_CONFIGUREVARS = "HAVE_WORKING_POLL=yes SH_PATH=/bin/sh" + +#EXTRA_OEMAKE = 'SUBDIRS="lib daemons tools"' + +# Ensure python-pkg/VERSION exists +do_configure:append() { + cp ${S}/VERSION ${S}/python-pkg/ +} + +# Create PYTHON_TARBALL which LIRC needs for install-nodist_pkgdataDATA +do_install:prepend() { + rm -rf ${S}/python-pkg/dist/ + mkdir ${S}/python-pkg/dist/ + tar --exclude='${S}/python-pkg/*' -czf ${S}/python-pkg/dist/${BP}.tar.gz ${S} +} + +# In code, path to python is a variable that is replaced with path to native version of it +# during the configure stage, e.g ../recipe-sysroot-native/usr/bin/python3-native/python3. +# Replace it with #!/usr/bin/env python3 +do_install:append() { + sed -i '1c#!/usr/bin/env python3' ${D}${bindir}/lirc-setup \ + ${D}${PYTHON_SITEPACKAGES_DIR}/lirc-setup/lirc-setup \ + ${D}${bindir}/irtext2udp \ + ${D}${bindir}/lirc-init-db \ + ${D}${bindir}/irdb-get \ + ${D}${bindir}/pronto2lirc \ + ${D}${sbindir}/lircd-setup + + install -m 0755 -d ${D}${sysconfdir} + install -m 0755 -d ${D}${sysconfdir}/lirc + install -m 0644 ${UNPACKDIR}/lircd.conf ${D}${sysconfdir}/lirc/ + install -m 0644 ${UNPACKDIR}/lirc_options.conf ${D}${sysconfdir}/lirc/ + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -m 0755 -d ${D}${systemd_unitdir}/system ${D}${libdir}/tmpfiles.d + install -m 0644 ${UNPACKDIR}/lircd.service ${D}${systemd_unitdir}/system/ + install -m 0755 ${UNPACKDIR}/lircexec.init ${D}${systemd_unitdir}/system/ + install -m 0644 ${UNPACKDIR}/lirc.tmpfiles ${D}${libdir}/tmpfiles.d/lirc.conf + else + rm -rf ${D}/lib + fi + rm -rf ${D}${libdir}/lirc/plugins/*.la + rmdir ${D}/var/run/lirc ${D}/var/run + chown -R root:root ${D}${datadir}/lirc/contrib +} + +PACKAGES =+ "${PN}-contrib ${PN}-exec ${PN}-plugins ${PN}-python" + +RDEPENDS:${PN} = "bash python3" +RDEPENDS:${PN}-exec = "${PN}" +RDEPENDS:${PN}-python = "python3-shell python3-pyyaml python3-datetime python3-netclient python3-stringold" + +RRECOMMENDS:${PN} = "${PN}-exec ${PN}-plugins" + +FILES:${PN}-plugins = "${libdir}/lirc/plugins/*.so ${datadir}/lirc/configs" +FILES:${PN}-contrib = "${datadir}/lirc/contrib" +FILES:${PN}-exec = "${bindir}/irexec ${sysconfdir}/lircexec ${systemd_unitdir}/system/irexec.service" +FILES:${PN} += "${systemd_unitdir}/system/lircexec.init" +FILES:${PN} += "${systemd_unitdir}/system/lircd.service" +FILES:${PN} += "${systemd_unitdir}/system/lircd.socket" +FILES:${PN} += "${libdir}/tmpfiles.d/lirc.conf" +FILES:${PN}-dbg += "${libdir}/lirc/plugins/.debug" +FILES:${PN}-python += "${bindir}/irdb-get ${bindir}/irtext2udp ${bindir}/lircd-setup ${bindir}/pronto2lirc ${PYTHON_SITEPACKAGES_DIR}" + +INITSCRIPT_PACKAGES = "lirc lirc-exec" +INITSCRIPT_NAME:lirc-exec = "lircexec" +INITSCRIPT_PARAMS:lirc-exec = "defaults 21" + +# this is for distributions that don't use udev +pkg_postinst:${PN}:append() { + if [ ! -c $D/dev/lirc -a ! -f /sbin/udevd ]; then mknod $D/dev/lirc c 61 0; fi +} + +SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}" diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0001-don-t-fail-if-GLOB_BRACE-is-not-defined.patch b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0001-don-t-fail-if-GLOB_BRACE-is-not-defined.patch new file mode 100644 index 0000000000..cabceae84d --- /dev/null +++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0001-don-t-fail-if-GLOB_BRACE-is-not-defined.patch @@ -0,0 +1,32 @@ +From 0ea11f520a8b4453e60eaf0679b9feb757024422 Mon Sep 17 00:00:00 2001 +From: Zang Ruochen <zangrc.fnst@cn.fujitsu.com> +Date: Fri, 25 Dec 2020 11:41:43 +0900 +Subject: [PATCH] don't fail if GLOB_BRACE is not defined + +Upstream-Status: Pending + +Signed-off-by: Zang Ruochen <zangrc.fnst@cn.fujitsu.com> +--- + src/util.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/util.c b/src/util.c +index 36eb896a..ee13ec44 100644 +--- a/src/util.c ++++ b/src/util.c +@@ -35,6 +35,12 @@ + #include "names.h" + #include "yaml-helpers.h" + ++/* Don't fail if the standard library ++ * doesn't provide brace expansion */ ++#ifndef GLOB_BRACE ++#define GLOB_BRACE 0 ++#endif ++ + GHashTable* + wifi_frequency_24; + +-- +2.25.1 + diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0001-meson.build-drop-unnecessary-build-dependencies.patch b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0001-meson.build-drop-unnecessary-build-dependencies.patch new file mode 100644 index 0000000000..4f385e917a --- /dev/null +++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0001-meson.build-drop-unnecessary-build-dependencies.patch @@ -0,0 +1,58 @@ +From d3aa30f5cd7ba375e006a755752acbcfcd619452 Mon Sep 17 00:00:00 2001 +From: Yi Zhao <yi.zhao@windriver.com> +Date: Wed, 6 Mar 2024 19:27:15 +0800 +Subject: [PATCH] meson.build: drop unnecessary build dependencies + +The pytest and pycoverage are required by meson test but not for +building. Mark them as 'required: false' to get rid of unnecessary +build dependencies. + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Yi Zhao <yi.zhao@windriver.com> +--- + meson.build | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/meson.build b/meson.build +index 9556836a..30f33fe2 100644 +--- a/meson.build ++++ b/meson.build +@@ -25,8 +25,8 @@ bash_completions_dir = completions.get_variable(pkgconfig: 'completionsdir', def + # Order: Fedora/Mageia/openSUSE || Debian/Ubuntu + pyflakes = find_program('pyflakes-3', 'pyflakes3', required: false) + pycodestyle = find_program('pycodestyle-3', 'pycodestyle', 'pep8', required: false) +-pytest = find_program('pytest-3', 'pytest3') # also requires the pytest-cov plugin +-pycoverage = find_program('coverage-3', 'python3-coverage') ++pytest = find_program('pytest-3', 'pytest3', required: false) # also requires the pytest-cov plugin ++pycoverage = find_program('coverage-3', 'python3-coverage', required: false) + pandoc = find_program('pandoc', required: false) + find = find_program('find') + +@@ -75,6 +75,7 @@ if get_option('unit_testing') + endif + + #FIXME: exclude doc/env/ ++if pyflakes.found() and pycodestyle.found() + test('linting', + pyflakes, + timeout: 100, +@@ -91,7 +92,9 @@ test('legacy-tests', + find_program('tests/cli_legacy.py'), + timeout: 600, + env: test_env) ++endif + #TODO: split out dbus tests into own test() instance, to run in parallel ++if pycoverage.found() + test('unit-tests', + pycoverage, + args: ['run', '-a', '-m', 'pytest', '-s', '-v', '--cov-append', meson.current_source_dir()], +@@ -143,4 +146,5 @@ if get_option('b_coverage') + priority: -99, # run last + is_parallel: false) + endif ++endif + +-- +2.25.1 + diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0001-networkd.c-define-scope-specific-to-case-statement.patch b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0001-networkd.c-define-scope-specific-to-case-statement.patch new file mode 100644 index 0000000000..9f01108a20 --- /dev/null +++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0001-networkd.c-define-scope-specific-to-case-statement.patch @@ -0,0 +1,47 @@ +From 6e3dd61bf90a7ca8c36c5b95943cbff7c1ad3c2d Mon Sep 17 00:00:00 2001 +From: Yi Zhao <yi.zhao@windriver.com> +Date: Wed, 6 Mar 2024 16:12:31 +0800 +Subject: [PATCH] networkd.c: define scope specific to case statement + +Per [1], define a scope specific to case statement to fix build with +clang. + +Fixes: +../git/src/networkd.c:544:13: error: expected expression + 544 | gchar* first = g_strcmp0(def->id, def->veth_peer_link->id) < 0 ? def->id : def->veth_peer_link->id; + | ^ +../git/src/networkd.c:545:17: error: use of undeclared identifier 'first' + 545 | if (first != def->id) { + | ^ + +[1] https://stackoverflow.com/questions/92396/why-cant-variables-be-declared-in-a-switch-statement + +Upstream-Status: Pending + +Signed-off-by: Yi Zhao <yi.zhao@windriver.com> +--- + src/networkd.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/networkd.c b/src/networkd.c +index 25121c48..5eb9c0fe 100644 +--- a/src/networkd.c ++++ b/src/networkd.c +@@ -541,12 +541,14 @@ write_netdev_file(const NetplanNetDefinition* def, const char* rootdir, const ch + * and, if the selected name is the name of the netdef being written, we generate + * the .netdev file. Otherwise we skip the netdef. + */ ++ { + gchar* first = g_strcmp0(def->id, def->veth_peer_link->id) < 0 ? def->id : def->veth_peer_link->id; + if (first != def->id) { + g_string_free(s, TRUE); + return; + } + g_string_append_printf(s, "Kind=veth\n\n[Peer]\nName=%s\n", def->veth_peer_link->id); ++ } + break; + + case NETPLAN_DEF_TYPE_TUNNEL: +-- +2.25.1 + diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0002-meson.build-do-not-use-Werror.patch b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0002-meson.build-do-not-use-Werror.patch new file mode 100644 index 0000000000..663a80ecde --- /dev/null +++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0002-meson.build-do-not-use-Werror.patch @@ -0,0 +1,29 @@ +From 668ee79f39614ad758edd44c42b8b0eff57877cf Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex@linutronix.de> +Date: Sun, 3 Oct 2021 21:52:16 +0200 +Subject: [PATCH] meson.build: do not use -Werror + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Alexander Kanavin <alex@linutronix.de> +Signed-off-by: Yi Zhao <yi.zhao@windriver.com> +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 30f33fe2..0b214795 100644 +--- a/meson.build ++++ b/meson.build +@@ -4,7 +4,7 @@ project('netplan', 'c', + default_options: [ + 'c_std=c99', + 'warning_level=2', +- 'werror=true', ++ 'werror=false', + ], + meson_version: '>= 0.61.0', + ) +-- +2.25.1 + diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan_1.0.bb b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan_1.0.bb new file mode 100644 index 0000000000..229414718c --- /dev/null +++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan_1.0.bb @@ -0,0 +1,52 @@ +SUMMARY = "The network configuration abstraction renderer" +DESCRIPTION = "Netplan is a utility for easily configuring networking on a \ +linux system. You simply create a YAML description of the required network \ +interfaces and what each should be configured to do. From this description \ +Netplan will generate all the necessary configuration for your chosen renderer \ +tool." +HOMEPAGE = "https://netplan.io" +SECTION = "net/misc" + +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +inherit meson pkgconfig systemd python3targetconfig features_check + +REQUIRED_DISTRO_FEATURES = "systemd" + +SRC_URI = "git://github.com/CanonicalLtd/netplan.git;branch=main;protocol=https \ + file://0001-meson.build-drop-unnecessary-build-dependencies.patch \ + file://0002-meson.build-do-not-use-Werror.patch \ + " + +SRC_URI:append:libc-musl = " file://0001-don-t-fail-if-GLOB_BRACE-is-not-defined.patch" +SRC_URI:append:toolchain-clang = " file://0001-networkd.c-define-scope-specific-to-case-statement.patch" + +SRCREV = "45f7cd1569896d9e316c130bf5c60b7ccfc8211d" + +S = "${WORKDIR}/git" + +DEPENDS = "glib-2.0 libyaml util-linux-libuuid \ + systemd python3-cffi-native \ + " + +EXTRA_OEMESON = "-Dunit_testing=false" + +RDEPENDS:${PN} = "python3-core python3-netifaces python3-pyyaml \ + python3-dbus python3-rich python3-cffi \ + util-linux-libuuid libnetplan \ + " + +do_install:append() { + install -d -m 755 ${D}${sysconfdir}/netplan +} + +PACKAGES += "${PN}-dbus libnetplan" + +FILES:libnetplan = "${libdir}/libnetplan.so.*" +FILES:${PN} = "${sbindir} ${libexecdir}/netplan/generate \ + ${datadir}/netplan ${datadir}/bash-completion \ + ${systemd_unitdir} ${PYTHON_SITEPACKAGES_DIR} \ + ${sysconfdir}/netplan \ + " +FILES:${PN}-dbus = "${libexecdir}/netplan/netplan-dbus ${datadir}/dbus-1" diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_2.5.2.bb b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.5.bb index 2f0ef16c80..2c749eeba7 100644 --- a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_2.5.2.bb +++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.5.bb @@ -7,14 +7,13 @@ HOMEPAGE = "https://thingsboard.io/" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" -SRC_URI[md5sum] = "469c8b5cd1c16c20ef40f0a97a3a0fda" -SRC_URI[sha256sum] = "b328f4e315c3541ac80a4931974a34a81afe4d1f382f48e8604669a55816c0d7" +SRC_URI[sha256sum] = "6505d94d3173e2469950b03d5b99dac4210af7b659a3a1a3b58da35b2a984da6" inherit pypi setuptools3 PYPI_PACKAGE = "thingsboard-gateway" -RDEPENDS_${PN} += " python3-jsonpath-rw \ +RDEPENDS:${PN} += " python3-jsonpath-rw \ python3-regex \ python3-paho-mqtt \ python3-pyyaml \ @@ -45,24 +44,24 @@ SRC_URI += "file://bacnet.json \ inherit systemd SYSTEMD_PACKAGES = "${PN}" -SYSTEMD_SERVICE_${PN} = "thingsboard-gateway.service" +SYSTEMD_SERVICE:${PN} = "thingsboard-gateway.service" -FILES_${PN} += "/etc \ +FILES:${PN} += "/etc \ /lib \ /usr \ " -do_install_append(){ +do_install:append(){ install -d ${D}${sysconfdir}/thingsboard-gateway/config - for file in $(find ${WORKDIR} -maxdepth 1 -type f -name *.json); do + for file in $(find ${UNPACKDIR} -maxdepth 1 -type f -name *.json); do install -m 0644 "$file" ${D}${sysconfdir}/thingsboard-gateway/config done - install -m 0644 ${WORKDIR}/tb_gateway.yaml ${D}${sysconfdir}/thingsboard-gateway/config - install -m 0644 ${WORKDIR}/logs.conf ${D}${sysconfdir}/thingsboard-gateway/config + install -m 0644 ${UNPACKDIR}/tb_gateway.yaml ${D}${sysconfdir}/thingsboard-gateway/config + install -m 0644 ${UNPACKDIR}/logs.conf ${D}${sysconfdir}/thingsboard-gateway/config install -d ${D}${systemd_unitdir}/system/ - install -m 0644 ${WORKDIR}/thingsboard-gateway.service ${D}${systemd_system_unitdir}/thingsboard-gateway.service -}
\ No newline at end of file + install -m 0644 ${UNPACKDIR}/thingsboard-gateway.service ${D}${systemd_system_unitdir}/thingsboard-gateway.service +} |