mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
* [ptxdist] [PATCH] libosdp: new package
@ 2025-01-22  8:43 Rouven Czerwinski
  2025-01-22 16:34 ` Michael Olbrich
  2025-01-22 16:39 ` Roland Hieber
  0 siblings, 2 replies; 3+ messages in thread
From: Rouven Czerwinski @ 2025-01-22  8:43 UTC (permalink / raw)
  To: ptxdist; +Cc: Rouven Czerwinski

Add libosdp for support of the osdp protocol. Add a patch to build the
osdpctl program without the rest of the utilities, it is otherwise not
possible to build osdpctl without the python bindings.

Signed-off-by: Rouven Czerwinski <r.czerwinski@pengutronix.de>
---
 ...eLists-build-ospdctl-in-library-mode.patch | 29 ++++++
 patches/libosdp-2.4.0/series                  |  1 +
 rules/libosdp.in                              |  9 ++
 rules/libosdp.make                            | 90 +++++++++++++++++++
 4 files changed, 129 insertions(+)
 create mode 100644 patches/libosdp-2.4.0/0001-CMakeLists-build-ospdctl-in-library-mode.patch
 create mode 100644 patches/libosdp-2.4.0/series
 create mode 100644 rules/libosdp.in
 create mode 100644 rules/libosdp.make

diff --git a/patches/libosdp-2.4.0/0001-CMakeLists-build-ospdctl-in-library-mode.patch b/patches/libosdp-2.4.0/0001-CMakeLists-build-ospdctl-in-library-mode.patch
new file mode 100644
index 000000000..7f1c53cce
--- /dev/null
+++ b/patches/libosdp-2.4.0/0001-CMakeLists-build-ospdctl-in-library-mode.patch
@@ -0,0 +1,29 @@
+From dbf9ac4f156f545c233e3259995c00413c68ba3f Mon Sep 17 00:00:00 2001
+From: Rouven Czerwinski <r.czerwinski@pengutronix.de>
+Date: Fri, 1 Mar 2024 12:11:20 +0100
+Subject: [PATCH] CMakeLists: build ospdctl in library mode
+
+Also build osdpctl when only the library parts are build.
+
+Signed-off-by: Rouven Czerwinski <r.czerwinski@pengutronix.de>
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 1efeb4b..e844b5c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -40,8 +40,8 @@ option(CONFIG_OSDP_LIB_ONLY "Only build the library" OFF)
+ include(GitSubmodules)
+ add_subdirectory(utils)
+ add_subdirectory(src)
++add_subdirectory(osdpctl)
+ if (NOT CONFIG_OSDP_STATIC_PD AND NOT CONFIG_OSDP_LIB_ONLY)
+-	add_subdirectory(osdpctl)
+ 	add_subdirectory(tests/pytest)
+ 	add_subdirectory(tests/unit-tests)
+ 	add_subdirectory(samples/c)
+-- 
+2.43.1
+
diff --git a/patches/libosdp-2.4.0/series b/patches/libosdp-2.4.0/series
new file mode 100644
index 000000000..fad17c996
--- /dev/null
+++ b/patches/libosdp-2.4.0/series
@@ -0,0 +1 @@
+0001-CMakeLists-build-ospdctl-in-library-mode.patch
diff --git a/rules/libosdp.in b/rules/libosdp.in
new file mode 100644
index 000000000..336fd01b1
--- /dev/null
+++ b/rules/libosdp.in
@@ -0,0 +1,9 @@
+## SECTION=system_libraries
+
+config LIBOSDP
+	bool
+	prompt "libosdp"
+	select HOST_CMAKE
+	select OPENSSL
+	help
+	  OSDP (Open Supervised Device Protocol) library and osdpctl cli.
diff --git a/rules/libosdp.make b/rules/libosdp.make
new file mode 100644
index 000000000..fe23bae49
--- /dev/null
+++ b/rules/libosdp.make
@@ -0,0 +1,90 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2023 by Rouven Czerwinski <r.czerwinski@pengutronix.de>
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_LIBOSDP) += libosdp
+
+#
+# Paths and names
+#
+LIBOSDP_VERSION		:= 2.4.0
+LIBOSDP_MD5		:= 14484c746fa28a4a0005e893279bd8ec
+LIBOSDP			:= libosdp-$(LIBOSDP_VERSION)
+LIBOSDP_SUFFIX		:= tar.gz
+LIBOSDP_URL		:= https://github.com/goToMain/libosdp/archive/v$(LIBOSDP_VERSION).$(LIBOSDP_SUFFIX)
+LIBOSDP_SOURCE		:= $(SRCDIR)/$(LIBOSDP).$(LIBOSDP_SUFFIX)
+LIBOSDP_DIR		:= $(BUILDDIR)/$(LIBOSDP)
+LIBOSDP_LICENSE		:= Apache-2.0
+LIBOSDP_LICENSE_FILES	:= file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327
+
+CUTILS_VERSION		:= 7d5cb004258b8b8a195b63ad15177ff196cefd08
+CUTILS_MD5		:= 018ceb214d27bb9ad237274de8307112 
+CUTILS_URL		:= https://github.com/goToMain/c-utils/archive/$(CUTILS_VERSION).zip
+CUTILS_SOURCE		:= $(SRCDIR)/c-utils-$(CUTILS_VERSION).zip
+$(CUTILS_SOURCE)	:= CUTILS
+CUTILS_DIR		:= $(LIBOSDP_DIR)/utils/
+
+LIBOSDP_SOURCES		:= $(LIBOSDP_SOURCE) $(CUTILS_SOURCE)
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+#$(LIBOSDP_SOURCE):
+#	@$(call targetinfo)
+#	@$(call get, LIBOSDP)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/libosdp.extract:
+	@$(call targetinfo)
+	@$(call clean, $(LIBOSDP_DIR))
+	@$(call extract, LIBOSDP)
+	@$(call extract, CUTILS)
+	@$(call patchin, LIBOSDP)
+	@$(call touch)
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+LIBOSDP_CONF_ENV	:= $(CROSS_ENV)
+
+#
+# cmake
+#
+LIBOSDP_CONF_TOOL	:= cmake
+LIBOSDP_CONF_OPT	:= $(CROSS_CMAKE_USR) \
+	-DCONFIG_OSDP_LIB_ONLY=y
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/libosdp.targetinstall:
+	@$(call targetinfo)
+
+	@$(call install_init, libosdp)
+	@$(call install_fixup, libosdp, PRIORITY, optional)
+	@$(call install_fixup, libosdp, SECTION, base)
+	@$(call install_fixup, libosdp, AUTHOR, "Rouven Czerwinski <r.czerwinski@pengutronix.de>")
+	@$(call install_fixup, libosdp, DESCRIPTION, missing)
+
+	@$(call install_lib, libosdp, 0, 0, 0644, libosdp)
+
+	@$(call install_copy, libosdp, 0, 0, 0644, -, /usr/bin/osdpctl)
+
+	@$(call install_finish, libosdp)
+
+	@$(call touch)
+
+# vim: syntax=make
-- 
2.39.5




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

* Re: [ptxdist] [PATCH] libosdp: new package
  2025-01-22  8:43 [ptxdist] [PATCH] libosdp: new package Rouven Czerwinski
@ 2025-01-22 16:34 ` Michael Olbrich
  2025-01-22 16:39 ` Roland Hieber
  1 sibling, 0 replies; 3+ messages in thread
From: Michael Olbrich @ 2025-01-22 16:34 UTC (permalink / raw)
  To: Rouven Czerwinski; +Cc: ptxdist

On Wed, Jan 22, 2025 at 09:43:58AM +0100, Rouven Czerwinski wrote:
> Add libosdp for support of the osdp protocol. Add a patch to build the
> osdpctl program without the rest of the utilities, it is otherwise not
> possible to build osdpctl without the python bindings.
> 
> Signed-off-by: Rouven Czerwinski <r.czerwinski@pengutronix.de>
> ---
>  ...eLists-build-ospdctl-in-library-mode.patch | 29 ++++++
>  patches/libosdp-2.4.0/series                  |  1 +
>  rules/libosdp.in                              |  9 ++
>  rules/libosdp.make                            | 90 +++++++++++++++++++
>  4 files changed, 129 insertions(+)
>  create mode 100644 patches/libosdp-2.4.0/0001-CMakeLists-build-ospdctl-in-library-mode.patch
>  create mode 100644 patches/libosdp-2.4.0/series
>  create mode 100644 rules/libosdp.in
>  create mode 100644 rules/libosdp.make
> 
> diff --git a/patches/libosdp-2.4.0/0001-CMakeLists-build-ospdctl-in-library-mode.patch b/patches/libosdp-2.4.0/0001-CMakeLists-build-ospdctl-in-library-mode.patch
> new file mode 100644
> index 000000000..7f1c53cce
> --- /dev/null
> +++ b/patches/libosdp-2.4.0/0001-CMakeLists-build-ospdctl-in-library-mode.patch
> @@ -0,0 +1,29 @@
> +From dbf9ac4f156f545c233e3259995c00413c68ba3f Mon Sep 17 00:00:00 2001
> +From: Rouven Czerwinski <r.czerwinski@pengutronix.de>
> +Date: Fri, 1 Mar 2024 12:11:20 +0100
> +Subject: [PATCH] CMakeLists: build ospdctl in library mode
> +
> +Also build osdpctl when only the library parts are build.
> +
> +Signed-off-by: Rouven Czerwinski <r.czerwinski@pengutronix.de>
> +---
> + CMakeLists.txt | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/CMakeLists.txt b/CMakeLists.txt
> +index 1efeb4b..e844b5c 100644
> +--- a/CMakeLists.txt
> ++++ b/CMakeLists.txt
> +@@ -40,8 +40,8 @@ option(CONFIG_OSDP_LIB_ONLY "Only build the library" OFF)
> + include(GitSubmodules)
> + add_subdirectory(utils)
> + add_subdirectory(src)
> ++add_subdirectory(osdpctl)
> + if (NOT CONFIG_OSDP_STATIC_PD AND NOT CONFIG_OSDP_LIB_ONLY)
> +-	add_subdirectory(osdpctl)
> + 	add_subdirectory(tests/pytest)
> + 	add_subdirectory(tests/unit-tests)
> + 	add_subdirectory(samples/c)
> +-- 
> +2.43.1
> +
> diff --git a/patches/libosdp-2.4.0/series b/patches/libosdp-2.4.0/series
> new file mode 100644
> index 000000000..fad17c996
> --- /dev/null
> +++ b/patches/libosdp-2.4.0/series
> @@ -0,0 +1 @@
> +0001-CMakeLists-build-ospdctl-in-library-mode.patch
> diff --git a/rules/libosdp.in b/rules/libosdp.in
> new file mode 100644
> index 000000000..336fd01b1
> --- /dev/null
> +++ b/rules/libosdp.in
> @@ -0,0 +1,9 @@
> +## SECTION=system_libraries
> +
> +config LIBOSDP
> +	bool
> +	prompt "libosdp"
> +	select HOST_CMAKE
> +	select OPENSSL
> +	help
> +	  OSDP (Open Supervised Device Protocol) library and osdpctl cli.
> diff --git a/rules/libosdp.make b/rules/libosdp.make
> new file mode 100644
> index 000000000..fe23bae49
> --- /dev/null
> +++ b/rules/libosdp.make
> @@ -0,0 +1,90 @@
> +# -*-makefile-*-
> +#
> +# Copyright (C) 2023 by Rouven Czerwinski <r.czerwinski@pengutronix.de>
> +#
> +# For further information about the PTXdist project and license conditions
> +# see the README file.
> +#
> +
> +#
> +# We provide this package
> +#
> +PACKAGES-$(PTXCONF_LIBOSDP) += libosdp
> +
> +#
> +# Paths and names
> +#
> +LIBOSDP_VERSION		:= 2.4.0
> +LIBOSDP_MD5		:= 14484c746fa28a4a0005e893279bd8ec
> +LIBOSDP			:= libosdp-$(LIBOSDP_VERSION)
> +LIBOSDP_SUFFIX		:= tar.gz
> +LIBOSDP_URL		:= https://github.com/goToMain/libosdp/archive/v$(LIBOSDP_VERSION).$(LIBOSDP_SUFFIX)
> +LIBOSDP_SOURCE		:= $(SRCDIR)/$(LIBOSDP).$(LIBOSDP_SUFFIX)
> +LIBOSDP_DIR		:= $(BUILDDIR)/$(LIBOSDP)
> +LIBOSDP_LICENSE		:= Apache-2.0
> +LIBOSDP_LICENSE_FILES	:= file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327
> +
> +CUTILS_VERSION		:= 7d5cb004258b8b8a195b63ad15177ff196cefd08
> +CUTILS_MD5		:= 018ceb214d27bb9ad237274de8307112 
> +CUTILS_URL		:= https://github.com/goToMain/c-utils/archive/$(CUTILS_VERSION).zip
> +CUTILS_SOURCE		:= $(SRCDIR)/c-utils-$(CUTILS_VERSION).zip
> +$(CUTILS_SOURCE)	:= CUTILS
> +CUTILS_DIR		:= $(LIBOSDP_DIR)/utils/
> +
> +LIBOSDP_SOURCES		:= $(LIBOSDP_SOURCE) $(CUTILS_SOURCE)

Use this instead:

LIBOSDP_PARTS		+= CUTILS

then you can drop the custom get and extract stuff.

> +
> +# ----------------------------------------------------------------------------
> +# Get
> +# ----------------------------------------------------------------------------
> +
> +#$(LIBOSDP_SOURCE):
> +#	@$(call targetinfo)
> +#	@$(call get, LIBOSDP)
> +
> +# ----------------------------------------------------------------------------
> +# Extract
> +# ----------------------------------------------------------------------------
> +
> +$(STATEDIR)/libosdp.extract:
> +	@$(call targetinfo)
> +	@$(call clean, $(LIBOSDP_DIR))
> +	@$(call extract, LIBOSDP)
> +	@$(call extract, CUTILS)
> +	@$(call patchin, LIBOSDP)
> +	@$(call touch)
> +
> +# ----------------------------------------------------------------------------
> +# Prepare
> +# ----------------------------------------------------------------------------
> +
> +LIBOSDP_CONF_ENV	:= $(CROSS_ENV)

Default. Remove.

> +
> +#
> +# cmake
> +#
> +LIBOSDP_CONF_TOOL	:= cmake
> +LIBOSDP_CONF_OPT	:= \

break here.

	$(CROSS_CMAKE_USR) \
> +	-DCONFIG_OSDP_LIB_ONLY=y
> +
> +# ----------------------------------------------------------------------------
> +# Target-Install
> +# ----------------------------------------------------------------------------
> +
> +$(STATEDIR)/libosdp.targetinstall:
> +	@$(call targetinfo)
> +
> +	@$(call install_init, libosdp)
> +	@$(call install_fixup, libosdp, PRIORITY, optional)
> +	@$(call install_fixup, libosdp, SECTION, base)
> +	@$(call install_fixup, libosdp, AUTHOR, "Rouven Czerwinski <r.czerwinski@pengutronix.de>")
> +	@$(call install_fixup, libosdp, DESCRIPTION, missing)
> +
> +	@$(call install_lib, libosdp, 0, 0, 0644, libosdp)
> +
> +	@$(call install_copy, libosdp, 0, 0, 0644, -, /usr/bin/osdpctl)

644 looks wrong in /usr/bin.

Michael

> +
> +	@$(call install_finish, libosdp)
> +
> +	@$(call touch)
> +
> +# vim: syntax=make
> -- 
> 2.39.5
> 
> 
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



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

* Re: [ptxdist] [PATCH] libosdp: new package
  2025-01-22  8:43 [ptxdist] [PATCH] libosdp: new package Rouven Czerwinski
  2025-01-22 16:34 ` Michael Olbrich
@ 2025-01-22 16:39 ` Roland Hieber
  1 sibling, 0 replies; 3+ messages in thread
From: Roland Hieber @ 2025-01-22 16:39 UTC (permalink / raw)
  To: Rouven Czerwinski; +Cc: ptxdist

On Wed, Jan 22, 2025 at 09:43:58AM +0100, Rouven Czerwinski wrote:
> Add libosdp for support of the osdp protocol. Add a patch to build the
> osdpctl program without the rest of the utilities, it is otherwise not
> possible to build osdpctl without the python bindings.
> 
> Signed-off-by: Rouven Czerwinski <r.czerwinski@pengutronix.de>
> ---
[…]
> diff --git a/rules/libosdp.make b/rules/libosdp.make
> new file mode 100644
> index 000000000..fe23bae49
> --- /dev/null
> +++ b/rules/libosdp.make
> @@ -0,0 +1,90 @@
> +# -*-makefile-*-
> +#
> +# Copyright (C) 2023 by Rouven Czerwinski <r.czerwinski@pengutronix.de>
> +#
> +# For further information about the PTXdist project and license conditions
> +# see the README file.
> +#
> +
> +#
> +# We provide this package
> +#
> +PACKAGES-$(PTXCONF_LIBOSDP) += libosdp
> +
> +#
> +# Paths and names
> +#
> +LIBOSDP_VERSION		:= 2.4.0
> +LIBOSDP_MD5		:= 14484c746fa28a4a0005e893279bd8ec
> +LIBOSDP			:= libosdp-$(LIBOSDP_VERSION)
> +LIBOSDP_SUFFIX		:= tar.gz
> +LIBOSDP_URL		:= https://github.com/goToMain/libosdp/archive/v$(LIBOSDP_VERSION).$(LIBOSDP_SUFFIX)
> +LIBOSDP_SOURCE		:= $(SRCDIR)/$(LIBOSDP).$(LIBOSDP_SUFFIX)
> +LIBOSDP_DIR		:= $(BUILDDIR)/$(LIBOSDP)
> +LIBOSDP_LICENSE		:= Apache-2.0
> +LIBOSDP_LICENSE_FILES	:= file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327
> +
> +CUTILS_VERSION		:= 7d5cb004258b8b8a195b63ad15177ff196cefd08
> +CUTILS_MD5		:= 018ceb214d27bb9ad237274de8307112 
> +CUTILS_URL		:= https://github.com/goToMain/c-utils/archive/$(CUTILS_VERSION).zip
> +CUTILS_SOURCE		:= $(SRCDIR)/c-utils-$(CUTILS_VERSION).zip
> +$(CUTILS_SOURCE)	:= CUTILS
> +CUTILS_DIR		:= $(LIBOSDP_DIR)/utils/
> +
> +LIBOSDP_SOURCES		:= $(LIBOSDP_SOURCE) $(CUTILS_SOURCE)

Using LIBODSP_PARTS instead is cleaner now and doesn't need a separate 'get'
stage. Have a look at canfestival.make or open62541.make for examples.

 - Roland

> +
> +# ----------------------------------------------------------------------------
> +# Get
> +# ----------------------------------------------------------------------------
> +
> +#$(LIBOSDP_SOURCE):
> +#	@$(call targetinfo)
> +#	@$(call get, LIBOSDP)
> +
> +# ----------------------------------------------------------------------------
> +# Extract
> +# ----------------------------------------------------------------------------
> +
> +$(STATEDIR)/libosdp.extract:
> +	@$(call targetinfo)
> +	@$(call clean, $(LIBOSDP_DIR))
> +	@$(call extract, LIBOSDP)
> +	@$(call extract, CUTILS)
> +	@$(call patchin, LIBOSDP)
> +	@$(call touch)
> +
> +# ----------------------------------------------------------------------------
> +# Prepare
> +# ----------------------------------------------------------------------------
> +
> +LIBOSDP_CONF_ENV	:= $(CROSS_ENV)
> +
> +#
> +# cmake
> +#
> +LIBOSDP_CONF_TOOL	:= cmake
> +LIBOSDP_CONF_OPT	:= $(CROSS_CMAKE_USR) \
> +	-DCONFIG_OSDP_LIB_ONLY=y
> +
> +# ----------------------------------------------------------------------------
> +# Target-Install
> +# ----------------------------------------------------------------------------
> +
> +$(STATEDIR)/libosdp.targetinstall:
> +	@$(call targetinfo)
> +
> +	@$(call install_init, libosdp)
> +	@$(call install_fixup, libosdp, PRIORITY, optional)
> +	@$(call install_fixup, libosdp, SECTION, base)
> +	@$(call install_fixup, libosdp, AUTHOR, "Rouven Czerwinski <r.czerwinski@pengutronix.de>")
> +	@$(call install_fixup, libosdp, DESCRIPTION, missing)
> +
> +	@$(call install_lib, libosdp, 0, 0, 0644, libosdp)
> +
> +	@$(call install_copy, libosdp, 0, 0, 0644, -, /usr/bin/osdpctl)
> +
> +	@$(call install_finish, libosdp)
> +
> +	@$(call touch)
> +
> +# vim: syntax=make
> -- 
> 2.39.5
> 
> 
> 

-- 
Roland Hieber, Pengutronix e.K.          | rhi@pengutronix.de          |
Steuerwalder Str. 21                     | https://www.pengutronix.de/ |
31137 Hildesheim, Germany                | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686         | Fax:   +49-5121-206917-5555 |



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

end of thread, other threads:[~2025-01-22 16:40 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-01-22  8:43 [ptxdist] [PATCH] libosdp: new package Rouven Czerwinski
2025-01-22 16:34 ` Michael Olbrich
2025-01-22 16:39 ` Roland Hieber

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