From: Lars Alex Pedersen <lapeddk@gmail.com>
To: ptxdist@pengutronix.de
Cc: Lars Alex Pedersen <lapeddk@gmail.com>
Subject: [ptxdist] [PATCH] libgpiod: version bump 2.1.3 -> 2.2.2
Date: Wed, 9 Jul 2025 14:51:01 +0200 [thread overview]
Message-ID: <20250709125101.483148-1-lapeddk@gmail.com> (raw)
* Revert commit 0b38f33360be9221c1bca62f7023ffdcb9a9c0e5, since it has
been fixed in release 2.2.2.
* Add new options to install the dbus daemon with and without systemd.
* Add gpio in group
* Add gpio-manager user and group
https://github.com/brgl/libgpiod/blob/v2.2.x/NEWS
Signed-off-by: Lars Alex Pedersen <lapeddk@gmail.com>
---
projectroot/etc/group | 2 ++
projectroot/etc/passwd | 1 +
rules/libgpiod.in | 17 +++++++++++++++++
rules/libgpiod.make | 28 +++++++++++++++++++++++-----
4 files changed, 43 insertions(+), 5 deletions(-)
diff --git a/projectroot/etc/group b/projectroot/etc/group
index 1a8e2eeb2..176e21194 100644
--- a/projectroot/etc/group
+++ b/projectroot/etc/group
@@ -39,4 +39,6 @@ seat:x:215:
pipewire:x:216:
mongodb:x:217:
polkitd:x:218:
+gpio:x:219:
+gpio-manager:x:220:gpio
nogroup:x:65534:
diff --git a/projectroot/etc/passwd b/projectroot/etc/passwd
index 89763295a..d6daf13c0 100644
--- a/projectroot/etc/passwd
+++ b/projectroot/etc/passwd
@@ -21,5 +21,6 @@ redis:x:212:213:redis:/dev/null:/bin/false
pipewire:x:213:216:pipewire:/dev/null:/bin/false
mongodb:x:214:217:mongodb:/dev/null:/bin/false
polkitd:x:215:218:polkitd:/dev/null:/bin/false
+gpio-manager:x:216:220:gpio-manager:/dev/null:/bin/false
rpcuser:x:65533:65534:RPC user:/dev/null:/bin/false
nobody:x:65534:65534:Unprivileged Nobody:/dev/null:/bin/false
diff --git a/rules/libgpiod.in b/rules/libgpiod.in
index 94bff5164..4c4d60909 100644
--- a/rules/libgpiod.in
+++ b/rules/libgpiod.in
@@ -4,6 +4,9 @@ menuconfig LIBGPIOD
tristate
prompt "libgpiod "
select HOST_SYSTEM_PYTHON3
+ select DBUS if LIBGPIOD_DBUS_DAEMON
+ select LIBGUDEV if LIBGPIOD_DBUS_DAEMON
+ select GLIB if LIBGPIOD_DBUS_DAEMON
select GCCLIBS_CXX if LIBGPIOD_CXX
select PYTHON3 if LIBGPIOD_PYTHON3
help
@@ -57,6 +60,20 @@ config LIBGPIOD_GPIONOTIFY
help
Waits for info changes on GPIO lines
+config LIBGPIOD_DBUS_DAEMON
+ bool
+ prompt "Install dbus daemon"
+ help
+ Add a D-Bus interface to libgpiod together with a
+ daemon implementing it and a command-line client
+
+config LIBGPIOD_DBUS_DAEMON_SYSTEMD
+ bool
+ prompt "Install dbus daemon systemd files"
+ depends on INITMETHOD_SYSTEMD
+ help
+ Install dbus daemon systemd unit and udev files
+
config LIBGPIOD_CXX
bool
prompt "Install C++ bindings"
diff --git a/rules/libgpiod.make b/rules/libgpiod.make
index 6272333b5..44f623b66 100644
--- a/rules/libgpiod.make
+++ b/rules/libgpiod.make
@@ -14,8 +14,8 @@ PACKAGES-$(PTXCONF_LIBGPIOD) += libgpiod
#
# Paths and names
#
-LIBGPIOD_VERSION := 2.1.3
-LIBGPIOD_MD5 := dd37487da746569b7311b2c8fd2f907d
+LIBGPIOD_VERSION := 2.2.2
+LIBGPIOD_MD5 := 11e80ef978c7dbffc6f16dbac412ce42
LIBGPIOD := libgpiod-$(LIBGPIOD_VERSION)
LIBGPIOD_SUFFIX := tar.gz
LIBGPIOD_URL := https://www.kernel.org/pub/software/libs/libgpiod/$(LIBGPIOD).$(LIBGPIOD_SUFFIX)
@@ -45,15 +45,18 @@ LIBGPIOD_CONF_OPT := \
--disable-tests \
--disable-profiling \
--disable-examples \
+ --$(call ptx/endis, PTXCONF_LIBGPIOD_DBUS_DAEMON)-bindings-glib \
+ --disable-introspection \
+ --$(call ptx/endis, PTXCONF_LIBGPIOD_DBUS_DAEMON_SYSTEMD)-systemd \
+ --$(call ptx/endis, PTXCONF_LIBGPIOD_DBUS_DAEMON)-dbus \
--$(call ptx/endis, PTXCONF_LIBGPIOD_CXX)-bindings-cxx \
--$(call ptx/endis, PTXCONF_LIBGPIOD_PYTHON3)-bindings-python \
--disable-bindings-rust
LIBGPIOD_CONF_ENV := \
$(CROSS_ENV) \
- $(if $(PTXCONF_LIBGPIOD_PYTHON3), \
- ac_cv_path_PYTHON=$(CROSS_PYTHON3) \
- ac_cv_prog_has_python_config=python$(PYTHON3_MAJORMINOR)-config)
+ systemdsystemunitdir=/usr/lib/systemd/system
+
LIBGPIOD_LDFLAGS:= -Wl,-rpath-link,$(LIBGPIOD_DIR)/lib/.libs
@@ -63,6 +66,8 @@ LIBGPIOD_TOOLS-$(PTXCONF_LIBGPIOD_GPIOGET) += gpioget
LIBGPIOD_TOOLS-$(PTXCONF_LIBGPIOD_GPIOSET) += gpioset
LIBGPIOD_TOOLS-$(PTXCONF_LIBGPIOD_GPIOMON) += gpiomon
LIBGPIOD_TOOLS-$(PTXCONF_LIBGPIOD_GPIONOTIFY) += gpionotify
+LIBGPIOD_TOOLS-$(PTXCONF_LIBGPIOD_DBUS_DAEMON) += gpio-manager
+LIBGPIOD_TOOLS-$(PTXCONF_LIBGPIOD_DBUS_DAEMON) += gpiocli
# ----------------------------------------------------------------------------
# Target-Install
@@ -84,6 +89,19 @@ $(STATEDIR)/libgpiod.targetinstall:
/usr/bin/$$tool); \
done
+ifdef PTXCONF_LIBGPIOD_DBUS_DAEMON
+ @$(call install_tree, libgpiod, 0, 0, -, /usr/share/dbus-1/interfaces)
+ @$(call install_tree, libgpiod, 0, 0, -, /etc/dbus-1/system.d)
+ @$(call install_lib, libgpiod, 0, 0, 0644, libgpiodbus)
+ @$(call install_lib, libgpiod, 0, 0, 0644, libgpiod-glib)
+endif
+ifdef PTXCONF_LIBGPIOD_DBUS_DAEMON_SYSTEMD
+ @$(call install_tree, libgpiod, 0, 0, -, /usr/lib/udev/rules.d)
+ @$(call install_alternative, libgpiod, 0, 0, 0644, \
+ /usr/lib/systemd/system/gpio-manager.service)
+ @$(call install_link, libgpiod, ../gpio-manager.service, \
+ /usr/lib/systemd/system/multi-user.target.wants/gpio-manager.service)
+endif
ifdef PTXCONF_LIBGPIOD_CXX
@$(call install_lib, libgpiod, 0, 0, 0644, libgpiodcxx)
endif
base-commit: 51f6fea554acb994e4f082af28077e82aab221cc
--
2.50.0
reply other threads:[~2025-07-09 12:51 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250709125101.483148-1-lapeddk@gmail.com \
--to=lapeddk@gmail.com \
--cc=ptxdist@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox