* Add new options to install the dbus daemon with and without systemd. * Add gpio in group * Add gpio-manager user and group * Python binding now requires host pybuild and pip for build and install * Removed ac_cv_prog_has_python_config line in rule, since it has been fixed in this release * Configure options updated and reordered to match configure helper
https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/tree/NEWS?h=v2.2.2 Signed-off-by: Lars Alex Pedersen <[email protected]> --- projectroot/etc/group | 2 ++ projectroot/etc/passwd | 1 + rules/libgpiod.in | 27 ++++++++++++++++++++++++--- rules/libgpiod.make | 29 ++++++++++++++++++++++++----- 4 files changed, 51 insertions(+), 8 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..43f813fa8 100644 --- a/rules/libgpiod.in +++ b/rules/libgpiod.in @@ -3,9 +3,14 @@ menuconfig LIBGPIOD tristate prompt "libgpiod " - select HOST_SYSTEM_PYTHON3 - select GCCLIBS_CXX if LIBGPIOD_CXX - select PYTHON3 if LIBGPIOD_PYTHON3 + select HOST_SYSTEM_PYTHON3 if LIBGPIOD_PYTHON3 + select HOST_PYTHON3_PYBUILD if LIBGPIOD_PYTHON3 + select HOST_PYTHON3_PIP if LIBGPIOD_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 libgpiod is a library accompanied by a set of tools for interacting with the Linux GPIO character device. @@ -57,6 +62,22 @@ config LIBGPIOD_GPIONOTIFY help Waits for info changes on GPIO lines +config LIBGPIOD_DBUS_DAEMON + bool + prompt "Install dbus daemon" + select LIBGPIOD_TOOLS + 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 LIBGPIOD_DBUS_DAEMON + 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..cf4656150 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) @@ -47,13 +47,17 @@ LIBGPIOD_CONF_OPT := \ --disable-examples \ --$(call ptx/endis, PTXCONF_LIBGPIOD_CXX)-bindings-cxx \ --$(call ptx/endis, PTXCONF_LIBGPIOD_PYTHON3)-bindings-python \ - --disable-bindings-rust + --disable-bindings-rust \ + --$(call ptx/endis, PTXCONF_LIBGPIOD_DBUS_DAEMON)-dbus \ + --$(call ptx/endis, PTXCONF_LIBGPIOD_DBUS_DAEMON)-bindings-glib \ + --disable-introspection \ + --$(call ptx/endis, PTXCONF_LIBGPIOD_DBUS_DAEMON_SYSTEMD)-systemd 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) + ac_cv_path_PYTHON=$(CROSS_PYTHON3)) \ + systemdsystemunitdir=/usr/lib/systemd/system LIBGPIOD_LDFLAGS:= -Wl,-rpath-link,$(LIBGPIOD_DIR)/lib/.libs @@ -63,6 +67,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 +90,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 -- 2.50.0
