mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
* [ptxdist] [PATCH v2 1/2] host-python3-pip: Set dependency on host-python3-setuptools
@ 2025-07-14  7:31 Lars Alex Pedersen
  2025-07-14  7:31 ` [ptxdist] [PATCH v2 2/2] libgpiod: version bump 2.1.3 -> 2.2.2 Lars Alex Pedersen
  0 siblings, 1 reply; 4+ messages in thread
From: Lars Alex Pedersen @ 2025-07-14  7:31 UTC (permalink / raw)
  To: ptxdist; +Cc: Lars Alex Pedersen

Signed-off-by: Lars Alex Pedersen <lapeddk@gmail.com>
---
 rules/host-python3-pip.in | 1 +
 1 file changed, 1 insertion(+)

diff --git a/rules/host-python3-pip.in b/rules/host-python3-pip.in
index 02650dce6..1dc5b2cd0 100644
--- a/rules/host-python3-pip.in
+++ b/rules/host-python3-pip.in
@@ -6,4 +6,5 @@ config HOST_PYTHON3_PIP
 	select HOST_PYTHON3_INSTALLER
 	select HOST_PYTHON3_PYBUILD
 	select HOST_PYTHON3_WHEEL
+	select HOST_PYTHON3_SETUPTOOLS
 	default ALLYES

base-commit: a9adc3e18c9c2450c938d6de95d0fd14dbe47acc
-- 
2.50.0




^ permalink raw reply	[flat|nested] 4+ messages in thread

* [ptxdist] [PATCH v2 2/2] libgpiod: version bump 2.1.3 -> 2.2.2
  2025-07-14  7:31 [ptxdist] [PATCH v2 1/2] host-python3-pip: Set dependency on host-python3-setuptools Lars Alex Pedersen
@ 2025-07-14  7:31 ` Lars Alex Pedersen
  2025-07-14 13:58   ` Markus Heidelberg via ptxdist
  0 siblings, 1 reply; 4+ messages in thread
From: Lars Alex Pedersen @ 2025-07-14  7:31 UTC (permalink / raw)
  To: ptxdist; +Cc: Lars Alex Pedersen

* 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 <lapeddk@gmail.com>
---
 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




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [ptxdist] [PATCH v2 2/2] libgpiod: version bump 2.1.3 -> 2.2.2
  2025-07-14  7:31 ` [ptxdist] [PATCH v2 2/2] libgpiod: version bump 2.1.3 -> 2.2.2 Lars Alex Pedersen
@ 2025-07-14 13:58   ` Markus Heidelberg via ptxdist
  2025-07-14 16:29     ` Lars Pedersen
  0 siblings, 1 reply; 4+ messages in thread
From: Markus Heidelberg via ptxdist @ 2025-07-14 13:58 UTC (permalink / raw)
  To: ptxdist; +Cc: Markus Heidelberg, Lars Alex Pedersen

On Mon, Jul 14, 2025 at 09:31:42AM +0200, Lars Alex Pedersen wrote:
> * 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 <lapeddk@gmail.com>
> ---
>  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/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

Python bindings compile and work now after this local adaption of
bindings/python/Makefile as proposed in your last mail:

    $(PYTHON) -m build --skip-dependency-check --wheel --no-isolation

I don't know either if that's the right solution.

> +config LIBGPIOD_DBUS_DAEMON
> +	bool
> +	prompt "Install dbus daemon"
> +	select LIBGPIOD_TOOLS

This is wrong because PTXCONF_LIBGPIOD_TOOLS controls
--enable/--disable-tools which is used for the tools/ directory only.

> diff --git a/rules/libgpiod.make b/rules/libgpiod.make
> index 6272333b5..cf4656150 100644
> --- a/rules/libgpiod.make
> +++ b/rules/libgpiod.make
> @@ -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

License information is still missing.
It would also be incomplete with active PTXCONF_LIBGPIOD_TOOLS part.

Markus


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [ptxdist] [PATCH v2 2/2] libgpiod: version bump 2.1.3 -> 2.2.2
  2025-07-14 13:58   ` Markus Heidelberg via ptxdist
@ 2025-07-14 16:29     ` Lars Pedersen
  0 siblings, 0 replies; 4+ messages in thread
From: Lars Pedersen @ 2025-07-14 16:29 UTC (permalink / raw)
  To: Markus Heidelberg; +Cc: ptxdist

Hi.

On Mon, 14 Jul 2025 at 15:58, Markus Heidelberg <M.Heidelberg@cab.de> wrote:
>
> On Mon, Jul 14, 2025 at 09:31:42AM +0200, Lars Alex Pedersen wrote:
> > * 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 <lapeddk@gmail.com>
> > ---
> >  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/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
>
> Python bindings compile and work now after this local adaption of
> bindings/python/Makefile as proposed in your last mail:
>
>     $(PYTHON) -m build --skip-dependency-check --wheel --no-isolation
>
> I don't know either if that's the right solution.
>
> > +config LIBGPIOD_DBUS_DAEMON
> > +     bool
> > +     prompt "Install dbus daemon"
> > +     select LIBGPIOD_TOOLS
>
> This is wrong because PTXCONF_LIBGPIOD_TOOLS controls
> --enable/--disable-tools which is used for the tools/ directory only.
>
> > diff --git a/rules/libgpiod.make b/rules/libgpiod.make
> > index 6272333b5..cf4656150 100644
> > --- a/rules/libgpiod.make
> > +++ b/rules/libgpiod.make
> > @@ -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
>
> License information is still missing.
> It would also be incomplete with active PTXCONF_LIBGPIOD_TOOLS part.

Thanks for the review. In my mind it was a tool, but I now see what
you mean. Good to see that python binding now seems to work. I'll
guess third time is the charm :)

/Lars Pedersen
>
> Markus



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2025-07-14 16:30 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-07-14  7:31 [ptxdist] [PATCH v2 1/2] host-python3-pip: Set dependency on host-python3-setuptools Lars Alex Pedersen
2025-07-14  7:31 ` [ptxdist] [PATCH v2 2/2] libgpiod: version bump 2.1.3 -> 2.2.2 Lars Alex Pedersen
2025-07-14 13:58   ` Markus Heidelberg via ptxdist
2025-07-14 16:29     ` Lars Pedersen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox