From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Tue, 15 Jul 2025 15:54:07 +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 1ubg6h-0009l2-24 for lore@lore.pengutronix.de; Tue, 15 Jul 2025 15:54:07 +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 1ubg6h-0001wN-DU; Tue, 15 Jul 2025 15:54:07 +0200 Received: from mail-ej1-x633.google.com ([2a00:1450:4864:20::633]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1ubg6H-0001eL-Q9 for ptxdist@pengutronix.de; Tue, 15 Jul 2025 15:53:45 +0200 Received: by mail-ej1-x633.google.com with SMTP id a640c23a62f3a-ae36e88a5daso1088387666b.1 for ; Tue, 15 Jul 2025 06:53:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1752587621; x=1753192421; 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=seAR6cFsptbm7cuuQtHPNCtQdF04T01vDC5BObJfIyQ=; b=jlkox66Hw2VnR89/90WnTnFRSIPIHGHsb8Ee3gplskanU4+Z0eIyBtHkoCTefWn6aO ddjl1oI5852CzQ6gotNm6qkplnx+yQcuI8Htjbt/0WGHv4c/EEwy32GuXpxGaKpS+u1M h720sHKZC1R0WSCS1bmjqhlIjMktgeRqQttzpJDLGVgLiIOTkinTjfeCQDbjKi7nfEGg QY2NHfo7/6ryIdfHBEu1CtmG5kpunVhymosOTJ5LOnK4YIXmW9lzi7BDMJFcQ6jr4wPn K9Enw12OzCg0G/9O5eaAJXti31NNmyPPsfauu1xU541Cyour4e/6Hc1qGXD3VdrQSfHh BFLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752587621; x=1753192421; 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=seAR6cFsptbm7cuuQtHPNCtQdF04T01vDC5BObJfIyQ=; b=c5TiuJDrtawjDYSMQTxZ2cAG78be9+zUJ6v+P3/QvmPgtmueZgDx1vL2R0xvQDtwsv OfvNJDeyWQJdfXDuhUObXMemcTfSqlkl0SYimeptQRgPwNFbYH8+YTUo607ZmvWrX2JH BpT41kcc0v+yNaNmPNNhzsxMbR2cvOWIYu+fj7O9Rq4YlVwnE6R/XGJBpxcofeZ38JmQ 2vJsKz6lTeFaeSNofzz8rEKMUtJ2QGBjKWHAiNbTqsvkzeT8mAXVEYqZtSMCPlAS5DPt B9IMbKxktivJbus+EJMSLyG0r2RuOHQxwRvYHSQ+rUCuHmVe9ADrAELjqDkLGU5If5jR jrlA== X-Gm-Message-State: AOJu0Yx9xC584tNB9DurpQbDdDbqxw9dIPGg77fAazZr06cFtZ8J7Eyw txNYY/rBSSGjbm5Xsu348C2L13FVRIWaopLKnjKF66vaK3Oh8tc2v8h5QLdlNHSNmMA= X-Gm-Gg: ASbGnctYjU1Z2fMRGakctGxKIRgQTGKjWBV1ViFoNgeidrNQPmRkiY3egpC0ZDSMyum rcSwHoOKpAEz5A1pqilRAnykwpmSoLwvzVbNik8xmbHhgA43EsTecXuqN8mbENZThUq19tDrq3e xT7tFqPu5OO4Qh9LIp6sARt4OS0KJSNjBm5frVIZCI1B4v8VfWgvOvCn+aN5hV0YtVBWFi5DFPO 83Gfkaj2kfK0e6D1/HvZ8ePudCkuYFgh8XzqzoeRuEgmIF/7vKusRNTU2aKQ1QcsKjiv3F2AGv9 7xH1PSqns8OeXB+jrYlITkymhCHQ2MZxtFfPIi37Q0Rc2WQofphyZEoCmlrv/E6GMGqA0K1Dmn4 qQN9u98dpWpmea+WbHEn45ee5qvDraAhKCA== X-Google-Smtp-Source: AGHT+IEpr/gdZ70YcOew1FS9yjmqg7P+T7Q2PzhsVHhcO3it1tIsNt68Sqx0KgbUFHxXXF8WORCHTQ== X-Received: by 2002:a17:906:dc8a:b0:ade:cdec:7085 with SMTP id a640c23a62f3a-ae6fbeddf55mr1849663666b.26.1752587620679; Tue, 15 Jul 2025 06:53:40 -0700 (PDT) Received: from laped.guest.kamstrup.dk ([185.181.22.18]) by smtp.googlemail.com with ESMTPSA id a640c23a62f3a-ae6e82644b7sm1005108566b.102.2025.07.15.06.53.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Jul 2025 06:53:40 -0700 (PDT) From: Lars Alex Pedersen To: ptxdist@pengutronix.de Date: Tue, 15 Jul 2025 15:53:27 +0200 Message-ID: <20250715135327.753766-2-lapeddk@gmail.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250715135327.753766-1-lapeddk@gmail.com> References: <20250715135327.753766-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 v3 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, together with a patch to get the right build options * 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 * New option --disable-introspection is removed by autogen.sh https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/tree/NEWS?h=v2.2.2 Signed-off-by: Lars Alex Pedersen --- ...1-Add-ptxdist-python-compile-options.patch | 22 ++++++++ patches/libgpiod-2.2.2/autogen.sh | 1 + patches/libgpiod-2.2.2/series | 4 ++ projectroot/etc/group | 2 + projectroot/etc/passwd | 1 + rules/libgpiod.in | 27 ++++++++-- rules/libgpiod.make | 53 ++++++++++++++----- 7 files changed, 94 insertions(+), 16 deletions(-) create mode 100644 patches/libgpiod-2.2.2/0001-Add-ptxdist-python-compile-options.patch create mode 120000 patches/libgpiod-2.2.2/autogen.sh create mode 100644 patches/libgpiod-2.2.2/series diff --git a/patches/libgpiod-2.2.2/0001-Add-ptxdist-python-compile-options.patch b/patches/libgpiod-2.2.2/0001-Add-ptxdist-python-compile-options.patch new file mode 100644 index 000000000..b8e8ebc04 --- /dev/null +++ b/patches/libgpiod-2.2.2/0001-Add-ptxdist-python-compile-options.patch @@ -0,0 +1,22 @@ +From: Lars Alex Pedersen +Date: Thu, 10 Jul 2025 18:24:59 +0000 +Subject: [PATCH] Add ptxdist python compile options + +Signed-off-by: Lars Alex Pedersen +--- + bindings/python/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/bindings/python/Makefile.am b/bindings/python/Makefile.am +index 2ae8ac8a514c..ff1d677bba2a 100644 +--- a/bindings/python/Makefile.am ++++ b/bindings/python/Makefile.am +@@ -36,7 +36,7 @@ clean-local: + all-local: python-tests + CFLAGS="-I$(abs_top_srcdir)/include/ -I$(abs_top_srcdir)/tests/gpiosim \ + -L$(abs_top_builddir)/lib/.libs/ -L$(abs_top_builddir)/tests/gpiosim/.libs/" \ +- $(PYTHON) -m build ++ $(PYTHON) -m build --skip-dependency-check --wheel --no-isolation + + install-exec-local: + $(PYTHON) -m pip install dist/*.whl \ diff --git a/patches/libgpiod-2.2.2/autogen.sh b/patches/libgpiod-2.2.2/autogen.sh new file mode 120000 index 000000000..9f8a4cb7d --- /dev/null +++ b/patches/libgpiod-2.2.2/autogen.sh @@ -0,0 +1 @@ +../autogen.sh \ No newline at end of file diff --git a/patches/libgpiod-2.2.2/series b/patches/libgpiod-2.2.2/series new file mode 100644 index 000000000..c0b6f9478 --- /dev/null +++ b/patches/libgpiod-2.2.2/series @@ -0,0 +1,4 @@ +# generated by git-ptx-patches +#tag:base --start-number 1 +0001-Add-ptxdist-python-compile-options.patch +# 34ebc65c9062276a316faee96d8f8775 - git-ptx-patches magic 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..3bff40f9c 100644 --- a/rules/libgpiod.in +++ b/rules/libgpiod.in @@ -3,9 +3,15 @@ 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 HOST_AUTOTOOLS_AUTOCONF_ARCHIVE + 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 +63,21 @@ 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 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..6110130f2 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) @@ -28,9 +28,18 @@ LIBGPIOD_LICENSE_FILES := \ file://LICENSES/GPL-2.0-only.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://LICENSES/Linux-syscall-note.txt;md5=6b0dff741019b948dfe290c05d6f361c +ifdef PTXCONF_LIBGPIOD_DBUS_DAEMON +LIBGPIOD_LICENSE += AND GPL-2.0-or-later AND CC-BY-SA-4.0 AND CC0-1.0 +LIBGPIOD_LICENSE_FILES += \ + file://LICENSES/GPL-2.0-or-later.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://LICENSES/CC-BY-SA-4.0.txt;md5=fba3b94d88bfb9b81369b869a1e9a20f \ + file://LICENSES/CC0-1.0.txt;md5=65d3616852dbf7b1a6d4b53b00626032 +else ifdef PTXCONF_LIBGPIOD_TOOLS LIBGPIOD_LICENSE += AND GPL-2.0-or-later -LIBGPIOD_LICENSE_FILES += file://LICENSES/GPL-2.0-or-later.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 +LIBGPIOD_LICENSE_FILES += \ + file://LICENSES/GPL-2.0-or-later.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 +endif endif # ---------------------------------------------------------------------------- @@ -47,22 +56,27 @@ 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 \ + --$(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 -LIBGPIOD_TOOLS-$(PTXCONF_LIBGPIOD_GPIODETECT) += gpiodetect -LIBGPIOD_TOOLS-$(PTXCONF_LIBGPIOD_GPIOINFO) += gpioinfo -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_BINS-$(PTXCONF_LIBGPIOD_GPIODETECT) += gpiodetect +LIBGPIOD_BINS-$(PTXCONF_LIBGPIOD_GPIOINFO) += gpioinfo +LIBGPIOD_BINS-$(PTXCONF_LIBGPIOD_GPIOGET) += gpioget +LIBGPIOD_BINS-$(PTXCONF_LIBGPIOD_GPIOSET) += gpioset +LIBGPIOD_BINS-$(PTXCONF_LIBGPIOD_GPIOMON) += gpiomon +LIBGPIOD_BINS-$(PTXCONF_LIBGPIOD_GPIONOTIFY) += gpionotify +LIBGPIOD_BINS-$(PTXCONF_LIBGPIOD_DBUS_DAEMON) += gpio-manager +LIBGPIOD_BINS-$(PTXCONF_LIBGPIOD_DBUS_DAEMON) += gpiocli # ---------------------------------------------------------------------------- # Target-Install @@ -79,11 +93,24 @@ $(STATEDIR)/libgpiod.targetinstall: @$(call install_lib, libgpiod, 0, 0, 0644, libgpiod) - @for tool in $(LIBGPIOD_TOOLS-y); do \ + @for tool in $(LIBGPIOD_BINS-y); do \ $(call install_copy, libgpiod, 0, 0, 0755, -, \ /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