summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-support/libgpiod/libgpiod_2.2.3.bb
diff options
context:
space:
mode:
authorBartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>2026-02-23 12:09:45 +0100
committerKhem Raj <raj.khem@gmail.com>2026-02-24 22:30:26 -0800
commit172c473caf11c00ce4221f786050f0b9805d868c (patch)
treed241654f1a94096ec199805ee9a176a7c0379d24 /meta-oe/recipes-support/libgpiod/libgpiod_2.2.3.bb
parente3b6caa4f134a4c40bee0d5fb1019b99fdeb68cd (diff)
downloadmeta-openembedded-172c473caf11c00ce4221f786050f0b9805d868c.tar.gz
libgpiod: update to v2.2.3
Bug-fix release addressing a couple problems in gpio-manager and tests. Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe/recipes-support/libgpiod/libgpiod_2.2.3.bb')
-rw-r--r--meta-oe/recipes-support/libgpiod/libgpiod_2.2.3.bb104
1 files changed, 104 insertions, 0 deletions
diff --git a/meta-oe/recipes-support/libgpiod/libgpiod_2.2.3.bb b/meta-oe/recipes-support/libgpiod/libgpiod_2.2.3.bb
new file mode 100644
index 0000000000..a23d65bcaa
--- /dev/null
+++ b/meta-oe/recipes-support/libgpiod/libgpiod_2.2.3.bb
@@ -0,0 +1,104 @@
1require libgpiod.inc
2
3inherit systemd update-rc.d useradd gobject-introspection
4
5LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later & CC-BY-SA-4.0"
6LIC_FILES_CHKSUM = " \
7 file://LICENSES/GPL-2.0-or-later.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
8 file://LICENSES/LGPL-2.1-or-later.txt;md5=4b54a1fd55a448865a0b32d41598759d \
9 file://LICENSES/CC-BY-SA-4.0.txt;md5=fba3b94d88bfb9b81369b869a1e9a20f \
10"
11
12FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}-2.x:"
13
14SRC_URI += "file://gpio-manager.init"
15
16SRC_URI[sha256sum] = "70012b0262e4b90f140431efa841ca89643b02ea6c09f507e23cec664a51b71a"
17
18# Enable all project features for ptest
19PACKAGECONFIG[tests] = " \
20 --enable-tests --enable-tools --enable-bindings-cxx --enable-bindings-glib --enable-gpioset-interactive --enable-dbus, \
21 --disable-tests, \
22 kmod util-linux glib-2.0 catch2 libedit glib-2.0-native libgudev, \
23 bash ${VIRTUAL-RUNTIME_dbus} glib-2.0-utils libgpiod-manager-cfg shunit2 \
24"
25PACKAGECONFIG[gpioset-interactive] = "--enable-gpioset-interactive,--disable-gpioset-interactive,libedit"
26PACKAGECONFIG[glib] = "--enable-bindings-glib,--disable-bindings-glib,glib-2.0 glib-2.0-native"
27PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,glib-2.0 glib-2.0-native libgudev,${VIRTUAL-RUNTIME_dbus}"
28
29PACKAGES =+ "${PN}-gpiosim ${PN}-glib ${PN}-manager ${PN}-manager-cfg ${PN}-cli"
30FILES:${PN}-tools += "${bindir}/gpionotify"
31FILES:${PN}-gpiosim += "${libdir}/libgpiosim.so.*"
32FILES:${PN}-gpiosim-dev += "${includedir}/gpiosim.h"
33FILES:${PN}-glib += "${libdir}/libgpiod-glib.so.*"
34FILES:${PN}-manager += " \
35 ${bindir}/gpio-manager \
36 ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_system_unitdir}/gpio-manager.service', '', d)} \
37 ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', '${sysconfdir}/init.d/gpio-manager', '', d)} \
38"
39FILES:${PN}-manager-cfg += " \
40 ${sysconfdir}/dbus-1/system.d/io.gpiod1.conf \
41 ${datadir}/dbus-1/interfaces/io.gpiod1.xml \
42 ${nonarch_base_libdir}/udev/rules.d/90-gpio.rules \
43"
44FILES:${PN}-cli += "${bindir}/gpiocli"
45
46RDEPENDS:${PN}-manager += "${VIRTUAL-RUNTIME_dbus} ${PN}-manager-cfg"
47RDEPENDS:${PN}-cli += "${PN}-manager"
48
49SYSTEMD_PACKAGES = "${PN}-manager"
50
51python __anonymous() {
52 distro_features = d.getVar("DISTRO_FEATURES").split()
53 packageconfig = d.getVar("PACKAGECONFIG").split()
54 pn = d.getVar("PN")
55
56 if "systemd" in distro_features and "dbus" in packageconfig:
57 d.appendVar("EXTRA_OECONF", " --enable-systemd")
58 # We need to set it conditionally or else the systemd class will look
59 # for the file that we don't install with systemd support disabled.
60 d.setVar("SYSTEMD_SERVICE:{}-manager".format(pn), "gpio-manager.service")
61 else:
62 d.appendVar("EXTRA_OECONF", " --disable-systemd")
63
64 # Disable gobject introspection set by the bbclass if we don't want it.
65 if not any(cfg in ["glib", "dbus", "ptest"] for cfg in packageconfig):
66 d.setVar("GI_DATA_ENABLED", "False")
67}
68
69UPDATERCPN = "${PN}-manager"
70INITSCRIPT_NAME = "gpio-manager"
71INITSCRIPT_PARAMS = "start 20 2 3 4 5 . stop 20 0 1 6 ."
72
73USERADD_PACKAGES = "${PN}-manager"
74GROUPADD_PARAM:${PN}-manager = "--system gpio"
75USERADD_PARAM:${PN}-manager = "--system -M -s /bin/nologin -g gpio gpio-manager"
76
77RDEPENDS:${PN}-ptest += " \
78 ${@bb.utils.contains('PTEST_ENABLED', '1', 'shunit2 bash', '', d)} \
79"
80RRECOMMENDS:${PN}-gpiosim += "kernel-module-gpio-sim kernel-module-configfs"
81INSANE_SKIP:${PN}-ptest += "buildpaths"
82
83do_compile:prepend() {
84 export GIR_EXTRA_LIBS_PATH="${B}/lib/.libs"
85}
86
87do_install:append() {
88 if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
89 install -d ${D}${sysconfdir}/init.d
90 install -m 0755 ${UNPACKDIR}/gpio-manager.init ${D}${sysconfdir}/init.d/gpio-manager
91 fi
92}
93
94do_install_ptest:append() {
95 install -m 0755 ${B}/bindings/cxx/tests/.libs/gpiod-cxx-test ${D}${PTEST_PATH}/tests/
96 install -m 0755 ${S}/tools/gpio-tools-test.bash ${D}${PTEST_PATH}/tests/
97 install -m 0644 ${S}/tests/scripts/gpiod-bash-test-helper.inc ${D}${PTEST_PATH}/tests/
98 install -m 0644 ${S}/tests/gpiosim/gpiosim.h ${D}${includedir}/gpiosim.h
99 install -m 0755 ${B}/bindings/glib/tests/.libs/gpiod-glib-test ${D}${PTEST_PATH}/tests/
100 install -m 0755 ${B}/dbus/tests/.libs/gpiodbus-test ${D}${PTEST_PATH}/tests/
101 install -m 0755 ${S}/dbus/client/gpiocli-test.bash ${D}${PTEST_PATH}/tests/
102 install -m 0755 ${B}/dbus/manager/.libs/gpio-manager ${D}${PTEST_PATH}/tests/
103 install -m 0755 ${B}/dbus/client/.libs/gpiocli ${D}${PTEST_PATH}/tests/
104}