From: Michael Olbrich <m.olbrich@pengutronix.de>
To: Rouven Czerwinski <r.czerwinski@pengutronix.de>
Cc: ptxdist@pengutronix.de
Subject: Re: [ptxdist] [PATCH] libosdp: new package
Date: Wed, 22 Jan 2025 17:34:16 +0100 [thread overview]
Message-ID: <Z5EeCBIKlt17TChE@pengutronix.de> (raw)
In-Reply-To: <20250122084358.3901992-1-r.czerwinski@pengutronix.de>
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 |
next prev parent reply other threads:[~2025-01-22 16:34 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-22 8:43 Rouven Czerwinski
2025-01-22 16:34 ` Michael Olbrich [this message]
2025-01-22 16:39 ` Roland Hieber
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Z5EeCBIKlt17TChE@pengutronix.de \
--to=m.olbrich@pengutronix.de \
--cc=ptxdist@pengutronix.de \
--cc=r.czerwinski@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox