summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Schwebel <r.schwebel@pengutronix.de>2021-09-29 13:19:06 +0200
committerRobert Schwebel <r.schwebel@pengutronix.de>2023-03-28 17:12:51 +0200
commit040642a3fa6c61abdfe6db91a5cacdbd0c78bf52 (patch)
treebe9b332f9ce21e3e30a296a1aac31985feb614c9
parentb1a1d1dd0ee8e8586c49bf324b70cbe60a8e3484 (diff)
downloadptxdist-rsc/topic/netopeer2.tar.gz
ptxdist-rsc/topic/netopeer2.tar.xz
WIP: rules for libnetconf2, libssh, libyang, netopeer2, sysreporsc/topic/netopeer2
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
-rw-r--r--projectroot/etc/group1
-rw-r--r--rules/libnetconf2.in10
-rw-r--r--rules/libnetconf2.make52
-rw-r--r--rules/libssh.in8
-rw-r--r--rules/libssh.make59
-rw-r--r--rules/libyang.in9
-rw-r--r--rules/libyang.make57
-rw-r--r--rules/netopeer2.in12
-rw-r--r--rules/netopeer2.make76
-rw-r--r--rules/sysrepo.in9
-rw-r--r--rules/sysrepo.make64
11 files changed, 357 insertions, 0 deletions
diff --git a/projectroot/etc/group b/projectroot/etc/group
index 8f0af165e..cae647eaf 100644
--- a/projectroot/etc/group
+++ b/projectroot/etc/group
@@ -24,6 +24,7 @@ audio:x:115:pipewire
input:x:116:
mysql:x:117:
mosquitto:x:118:
+sysrepo:x:119:
systemd-journal:x:201:
systemd-network:x:202:
systemd-journal-gateway:x:206:
diff --git a/rules/libnetconf2.in b/rules/libnetconf2.in
new file mode 100644
index 000000000..55e21b630
--- /dev/null
+++ b/rules/libnetconf2.in
@@ -0,0 +1,10 @@
+## SECTION=networking
+
+config LIBNETCONF2
+ tristate
+ select HOST_CMAKE
+ select LIBSSH
+ select LIBYANG
+ prompt "libnetconf2"
+ help
+ FIXME
diff --git a/rules/libnetconf2.make b/rules/libnetconf2.make
new file mode 100644
index 000000000..3bbaf2471
--- /dev/null
+++ b/rules/libnetconf2.make
@@ -0,0 +1,52 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2021 by Robert Schwebel <r.schwebel@pengutronix.de>
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_LIBNETCONF2) += libnetconf2
+
+#
+# Paths and names
+#
+LIBNETCONF2_VERSION := 2.1.31
+LIBNETCONF2_MD5 := c49f714384d08ca24d4a3f62d83c04d9
+LIBNETCONF2 := libnetconf2-$(LIBNETCONF2_VERSION)
+LIBNETCONF2_SUFFIX := tar.gz
+LIBNETCONF2_URL := https://github.com/CESNET/libnetconf2/archive/refs/tags/v$(LIBNETCONF2_VERSION).$(LIBNETCONF2_SUFFIX)
+LIBNETCONF2_SOURCE := $(SRCDIR)/$(LIBNETCONF2).$(LIBNETCONF2_SUFFIX)
+LIBNETCONF2_DIR := $(BUILDDIR)/$(LIBNETCONF2)
+LIBNETCONF2_LICENSE := unknown
+LIBNETCONF2_LICENSE_FILES :=
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+LIBNETCONF2_CONF_TOOL := cmake
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/libnetconf2.targetinstall:
+ @$(call targetinfo)
+
+ @$(call install_init, libnetconf2)
+ @$(call install_fixup, libnetconf2,PRIORITY,optional)
+ @$(call install_fixup, libnetconf2,SECTION,base)
+ @$(call install_fixup, libnetconf2,AUTHOR,"Robert Schwebel <r.schwebel@pengutronix.de>")
+ @$(call install_fixup, libnetconf2,DESCRIPTION,missing)
+
+ @$(call install_lib, libnetconf2, 0, 0, 0644, libnetconf2)
+
+ @$(call install_finish, libnetconf2)
+
+ @$(call touch)
+
+# vim: syntax=make
diff --git a/rules/libssh.in b/rules/libssh.in
new file mode 100644
index 000000000..d1e0a5a7e
--- /dev/null
+++ b/rules/libssh.in
@@ -0,0 +1,8 @@
+## SECTION=networking
+
+config LIBSSH
+ tristate
+ select HOST_CMAKE
+ prompt "libssh"
+ help
+ FIXME
diff --git a/rules/libssh.make b/rules/libssh.make
new file mode 100644
index 000000000..b3904baf6
--- /dev/null
+++ b/rules/libssh.make
@@ -0,0 +1,59 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2021 by Robert Schwebel <r.schwebel@pengutronix.de>
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_LIBSSH) += libssh
+
+#
+# Paths and names
+#
+LIBSSH_VERSION := 0.10.4
+LIBSSH_MD5 := cb2e47ac2de59eefa31a57ae53b44363
+LIBSSH := libssh-$(LIBSSH_VERSION)
+LIBSSH_SUFFIX := tar.xz
+LIBSSH_URL := https://www.libssh.org/files/0.10/$(LIBSSH).$(LIBSSH_SUFFIX)
+LIBSSH_SOURCE := $(SRCDIR)/$(LIBSSH).$(LIBSSH_SUFFIX)
+LIBSSH_DIR := $(BUILDDIR)/$(LIBSSH)
+LIBSSH_LICENSE := unknown
+LIBSSH_LICENSE_FILES :=
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+LIBSSH_CONF_ENV := $(CROSS_ENV)
+
+#
+# cmake
+#
+LIBSSH_CONF_TOOL := cmake
+LIBSSH_CONF_OPT := \
+ $(CROSS_CMAKE_USR)
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/libssh.targetinstall:
+ @$(call targetinfo)
+
+ @$(call install_init, libssh)
+ @$(call install_fixup, libssh,PRIORITY,optional)
+ @$(call install_fixup, libssh,SECTION,base)
+ @$(call install_fixup, libssh,AUTHOR,"Robert Schwebel <r.schwebel@pengutronix.de>")
+ @$(call install_fixup, libssh,DESCRIPTION,missing)
+
+ @$(call install_lib, libssh, 0, 0, 0644, libssh)
+
+ @$(call install_finish, libssh)
+
+ @$(call touch)
+
+# vim: syntax=make
diff --git a/rules/libyang.in b/rules/libyang.in
new file mode 100644
index 000000000..4f7001254
--- /dev/null
+++ b/rules/libyang.in
@@ -0,0 +1,9 @@
+## SECTION=networking
+
+config LIBYANG
+ tristate
+ select HOST_CMAKE
+ select PCRE2
+ prompt "libyang"
+ help
+ FIXME
diff --git a/rules/libyang.make b/rules/libyang.make
new file mode 100644
index 000000000..c58574a30
--- /dev/null
+++ b/rules/libyang.make
@@ -0,0 +1,57 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2021 by Robert Schwebel <r.schwebel@pengutronix.de>
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_LIBYANG) += libyang
+
+#
+# Paths and names
+#
+LIBYANG_VERSION := 2.1.55
+LIBYANG_MD5 := e74d7d1a1b46f11a3b00534737e3c47b
+LIBYANG := libyang-$(LIBYANG_VERSION)
+LIBYANG_SUFFIX := tar.gz
+LIBYANG_URL := https://github.com/CESNET/libyang/archive/refs/tags/v$(LIBYANG_VERSION).$(LIBYANG_SUFFIX)
+LIBYANG_SOURCE := $(SRCDIR)/$(LIBYANG).$(LIBYANG_SUFFIX)
+LIBYANG_DIR := $(BUILDDIR)/$(LIBYANG)
+LIBYANG_LICENSE := unknown
+LIBYANG_LICENSE_FILES :=
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+LIBYANG_CONF_ENV := $(CROSS_ENV)
+
+#
+# cmake
+#
+LIBYANG_CONF_TOOL := cmake
+LIBYANG_CONF_OPT := \
+ $(CROSS_CMAKE_USR)
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/libyang.targetinstall:
+ @$(call targetinfo)
+
+ @$(call install_init, libyang)
+ @$(call install_fixup, libyang,PRIORITY,optional)
+ @$(call install_fixup, libyang,SECTION,base)
+ @$(call install_fixup, libyang,AUTHOR,"Robert Schwebel <r.schwebel@pengutronix.de>")
+ @$(call install_fixup, libyang,DESCRIPTION,missing)
+
+ @$(call install_lib, libyang, 0, 0, 0644, libyang)
+
+ @$(call install_finish, libyang)
+
+ @$(call touch)
diff --git a/rules/netopeer2.in b/rules/netopeer2.in
new file mode 100644
index 000000000..6e10d604e
--- /dev/null
+++ b/rules/netopeer2.in
@@ -0,0 +1,12 @@
+## SECTION=networking
+
+config NETOPEER2
+ tristate
+ select HOST_CMAKE
+ select LIBYANG
+ select LIBNETCONF2
+ select SYSREPO
+ select OPENSSL
+ prompt "netopeer2"
+ help
+ FIXME
diff --git a/rules/netopeer2.make b/rules/netopeer2.make
new file mode 100644
index 000000000..300a36597
--- /dev/null
+++ b/rules/netopeer2.make
@@ -0,0 +1,76 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2021 by Robert Schwebel <r.schwebel@pengutronix.de>
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_NETOPEER2) += netopeer2
+
+#
+# Paths and names
+#
+NETOPEER2_VERSION := 2.1.59
+NETOPEER2_MD5 := 6b4e0502e8338e536ed359c11b6ed004
+NETOPEER2 := netopeer2-$(NETOPEER2_VERSION)
+NETOPEER2_SUFFIX := tar.gz
+NETOPEER2_URL := https://github.com/CESNET/netopeer2/archive/refs/tags/v$(NETOPEER2_VERSION).$(NETOPEER2_SUFFIX)
+NETOPEER2_SOURCE := $(SRCDIR)/$(NETOPEER2).$(NETOPEER2_SUFFIX)
+NETOPEER2_DIR := $(BUILDDIR)/$(NETOPEER2)
+NETOPEER2_LICENSE := unknown
+NETOPEER2_LICENSE_FILES :=
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+#$(NETOPEER2_SOURCE):
+# @$(call targetinfo)
+# @$(call get, NETOPEER2)
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+NETOPEER2_CONF_ENV := $(CROSS_ENV)
+
+#
+# cmake
+#
+NETOPEER2_CONF_TOOL := cmake
+NETOPEER2_CONF_OPT := \
+ $(CROSS_CMAKE_USR) \
+ -DINSTALL_MODULES=OFF \
+ -DGENERATE_HOSTKEY=OFF \
+ -DMERGE_LISTEN_CONFIG=OFF
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/netopeer2.targetinstall:
+ @$(call targetinfo)
+
+ @$(call install_init, netopeer2)
+ @$(call install_fixup, netopeer2,PRIORITY,optional)
+ @$(call install_fixup, netopeer2,SECTION,base)
+ @$(call install_fixup, netopeer2,AUTHOR,"Robert Schwebel <r.schwebel@pengutronix.de>")
+ @$(call install_fixup, netopeer2,DESCRIPTION,missing)
+
+ @$(call install_copy, netopeer2, 0, 0, 0755, -, /usr/bin/netopeer2-cli)
+ @$(call install_copy, netopeer2, 0, 0, 0755, -, /usr/sbin/netopeer2-server)
+ @$(call install_tree, netopeer2, 0, 0, -, /usr/share/yang)
+
+ @$(call install_copy, netopeer2, 0, 0, 0755, $(NETOPEER2_DIR)/scripts/setup.sh, /usr/share/netopeer2/setup.sh)
+ @$(call install_copy, netopeer2, 0, 0, 0755, $(NETOPEER2_DIR)/scripts/merge_config.sh, /usr/share/netopeer2/merge_config.sh)
+ @$(call install_copy, netopeer2, 0, 0, 0755, $(NETOPEER2_DIR)/scripts/merge_hostkey.sh, /usr/share/netopeer2/merge_hostkey.sh)
+
+ @$(call install_finish, netopeer2)
+
+ @$(call touch)
+
+# vim: syntax=make
diff --git a/rules/sysrepo.in b/rules/sysrepo.in
new file mode 100644
index 000000000..a8cb4b915
--- /dev/null
+++ b/rules/sysrepo.in
@@ -0,0 +1,9 @@
+## SECTION=networking
+
+config SYSREPO
+ tristate
+ select HOST_CMAKE
+ select LIBYANG
+ prompt "sysrepo"
+ help
+ FIXME
diff --git a/rules/sysrepo.make b/rules/sysrepo.make
new file mode 100644
index 000000000..c63af4af5
--- /dev/null
+++ b/rules/sysrepo.make
@@ -0,0 +1,64 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2021 by Robert Schwebel <r.schwebel@pengutronix.de>
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_SYSREPO) += sysrepo
+
+#
+# Paths and names
+#
+SYSREPO_VERSION := 2.2.60
+SYSREPO_MD5 := f3658f093deb4b64717817c21d1375c9
+SYSREPO := sysrepo-$(SYSREPO_VERSION)
+SYSREPO_SUFFIX := tar.gz
+SYSREPO_URL := https://github.com/sysrepo/sysrepo/archive/refs/tags/v$(SYSREPO_VERSION).$(SYSREPO_SUFFIX)
+SYSREPO_SOURCE := $(SRCDIR)/$(SYSREPO).$(SYSREPO_SUFFIX)
+SYSREPO_DIR := $(BUILDDIR)/$(SYSREPO)
+SYSREPO_LICENSE := unknown
+SYSREPO_LICENSE_FILES :=
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+SYSREPO_CONF_ENV := $(CROSS_ENV)
+
+#
+# cmake
+#
+SYSREPO_CONF_TOOL := cmake
+SYSREPO_CONF_OPT := \
+ $(CROSS_CMAKE_USR) \
+ -DSYSREPO_GROUP=sysrepo \
+ -DSYSREPO_UMASK=00007
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/sysrepo.targetinstall:
+ @$(call targetinfo)
+
+ @$(call install_init, sysrepo)
+ @$(call install_fixup, sysrepo,PRIORITY,optional)
+ @$(call install_fixup, sysrepo,SECTION,base)
+ @$(call install_fixup, sysrepo,AUTHOR,"Robert Schwebel <r.schwebel@pengutronix.de>")
+ @$(call install_fixup, sysrepo,DESCRIPTION,missing)
+
+ @$(call install_copy, sysrepo, 0, 119, 0755, -, /usr/bin/sysrepocfg)
+ @$(call install_copy, sysrepo, 0, 119, 0755, -, /usr/bin/sysrepoctl)
+ @$(call install_copy, sysrepo, 0, 119, 0755, -, /usr/bin/sysrepo-plugind)
+ @$(call install_lib, sysrepo, 0, 0, 0644, libsysrepo)
+
+ @$(call install_finish, sysrepo)
+
+ @$(call touch)
+
+# vim: syntax=make