From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Mon, 14 Jul 2025 09:32:35 +0200 Received: from metis.whiteo.stw.pengutronix.de ([2a0a:edc0:2:b01:1d::104]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1ubDfv-00HKVL-1z for lore@lore.pengutronix.de; Mon, 14 Jul 2025 09:32:35 +0200 Received: from localhost ([127.0.0.1] helo=metis.whiteo.stw.pengutronix.de) by metis.whiteo.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1ubDfv-0003Fq-Cy; Mon, 14 Jul 2025 09:32:35 +0200 Received: from mail-ej1-x630.google.com ([2a00:1450:4864:20::630]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1ubDfW-0002we-3r for ptxdist@pengutronix.de; Mon, 14 Jul 2025 09:32:10 +0200 Received: by mail-ej1-x630.google.com with SMTP id a640c23a62f3a-ae04d3d63e6so784001666b.2 for ; Mon, 14 Jul 2025 00:32:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1752478329; x=1753083129; darn=pengutronix.de; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=OAaVZvfrtxHIXUoiuatZu9JzaJL1Xyyr8UAoVFnkwvE=; b=l5xGaKaOZALoA34h0F7gv/HRNXm67uWaHllmuChlQsz+UqJL4bfmQYkRwhHaALbDn9 MF1gTazVJijESjwuOtbSzIlma8RinvYNqh2W8KpTNITfp2RWSQtsfjuTj954G1IoLRGp 6mkb0uv012K4+ffkGi0Ip54v6UCrFWVyRSM/L1V7YiLFSEfbmWGSmM1w906hxAslOwTb iaehRRog6cE2R5hPxmHUO5hhdSJze3mTgW9FbKLawoMxhKDA3iteNGkVKKreqlSrba/u K81s46P4MwyvmDoK1IPOe/z5WNZGoPWP0eIeq3ydUW/qv7meTJTOQa/1yrZmfEoYYu49 Q/kg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752478329; x=1753083129; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OAaVZvfrtxHIXUoiuatZu9JzaJL1Xyyr8UAoVFnkwvE=; b=rHbg/U0xdyWeeqMuvqSWGIl7PVVYOt/HC9qKzVO4cClRi45lZVWKtF+CtbX1mxsOoW dFcV3ZBfezoKRc9koZJbjPi8Jg5cWCb+eTjPVmnJgRy+40QwxNaIPja2AhVrV+NKOuIB 9z7eMOhTTM9CANpw0kt09myPi/bnjyQra6CLqflTik0Cq3S2ogKxSV38VVfFF5WoeDHN +o25cPBLRFU+HAUIavKolSp4fHiUqXJrTn+ZxL1CNoojAUUZEA9sX59isyEBTLqFsDNg nsoE3abBmlFEaiDuEGr9QbEJLj7ySs3zbwVzFPRHZV34B42CdtKQpo0knrQJ78SVv7vB fp2Q== X-Gm-Message-State: AOJu0YxYFlhnEVcGKihy12eKFpVplBMeGnAbpUjXRvUWsz3bjXNq7u48 2tB31f4gNsECiEy7lNp9anVfAwkemy7W48XxNnEQA+GaX0273CbVfIF9sx0HMetFHUc= X-Gm-Gg: ASbGncuAb/WHKKQbyEAxz5WZz0i1bvCvursIj/JKQmggbYYmj9jfuA4tuJyfMzDLElC pZnN72ob2qOpcvtHBt+ymEyVXgVcvQOBbFl/NPpdNpXKyyTPIXhUpMf+vQqoZETgQZuOqczanhI uSkyQnT4UL4eX/TjtYp+UHKqU7Lc0W0n+8I+Vad1FdQqLCjAeYFAc40aKsG02yhAFUqjHGSCcwH nC0b+bWHhHVGzd/TDo+sSsxNFR5oefUsnvwSuLm+ukOCS+mao8kgsPNdpmZa3kpFSkEdkA1iR7J clpTH2NFbEJKLkpoayx38I6+M8Ydmp/Ix5P62lNftkubigl3QnVO92Z6yKSH6kCECiEIO2LrJeX 9TpOGkRNr3bTMoFvAQkPeiBcLZu1Tz532Fg== X-Google-Smtp-Source: AGHT+IFYjvvxyvnC1b9bEutsNvyBAMxHvMOF2mkNpUcxTr+48elGtmnsk02uSUnSk/Mj2z6u4uidiQ== X-Received: by 2002:a17:907:2d10:b0:ae4:107f:dba2 with SMTP id a640c23a62f3a-ae6fbc84ed9mr1206121266b.13.1752478329063; Mon, 14 Jul 2025 00:32:09 -0700 (PDT) Received: from laped.guest.kamstrup.dk ([185.181.22.18]) by smtp.googlemail.com with ESMTPSA id a640c23a62f3a-ae6e8294b7bsm775947066b.136.2025.07.14.00.32.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 00:32:08 -0700 (PDT) From: Lars Alex Pedersen To: ptxdist@pengutronix.de Date: Mon, 14 Jul 2025 09:31:42 +0200 Message-ID: <20250714073142.3772107-2-lapeddk@gmail.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250714073142.3772107-1-lapeddk@gmail.com> References: <20250714073142.3772107-1-lapeddk@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on metis.whiteo.stw.pengutronix.de X-Spam-Level: X-Spam-Status: No, score=-2.2 required=4.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Subject: [ptxdist] [PATCH v2 2/2] libgpiod: version bump 2.1.3 -> 2.2.2 X-BeenThere: ptxdist@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Cc: Lars Alex Pedersen Sender: "ptxdist" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: ptxdist-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false * 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 --- 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