From patchwork Thu Jan 9 14:53:33 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heiko Thiery X-Patchwork-Id: 1220435 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=busybox.net (client-ip=140.211.166.137; helo=fraxinus.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=D5ch653V; dkim-atps=neutral Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 47tpzN3X8dz9sQp for ; Fri, 10 Jan 2020 01:54:08 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 0626E842B4; Thu, 9 Jan 2020 14:54:06 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id g897x5WwaAxA; Thu, 9 Jan 2020 14:54:05 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by fraxinus.osuosl.org (Postfix) with ESMTP id 0B1398440D; Thu, 9 Jan 2020 14:54:05 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136]) by ash.osuosl.org (Postfix) with ESMTP id 81A351BF86B for ; Thu, 9 Jan 2020 14:54:03 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id 7E01C214E9 for ; Thu, 9 Jan 2020 14:54:03 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NloXjoIMcm0j for ; Thu, 9 Jan 2020 14:54:02 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-wr1-f65.google.com (mail-wr1-f65.google.com [209.85.221.65]) by silver.osuosl.org (Postfix) with ESMTPS id 1204A203A7 for ; Thu, 9 Jan 2020 14:54:02 +0000 (UTC) Received: by mail-wr1-f65.google.com with SMTP id d16so7655039wre.10 for ; Thu, 09 Jan 2020 06:54:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=KpJ50kvlbHdAoQxV19z5B1pyzIlE4xX4hhefGwei134=; b=D5ch653VzIkYTrqWtbVA+ShM7hzo6GIiiAuCgXrhfzvXuLW+aFo2T132R2UPcYPSfV uq5BBwwJd8bECq4jKbSJBLz1A0C/P1+jZ3WM+bpoZMOwORYrs5rVWbjNiQZTDhZyw0y2 Jx/3bfu6N4G2qcR866BW4R4i+ShOXjvT4YTFCXHfQzBgnS7xEJoblnyqyeW0zbeZR6Qh mGykDI7yThGjfSBLKzU6Qfd0BcLFgg7wotEPDyp9r410VnoHSs+6vVVIOgQrfd5uCjfS 2z2LR+cmv+o/Gb1sgcp0qHl1tY8ukSt0BhzuEhkyn6ioBEx10JhyWAquUppUBkCO30ro d85w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=KpJ50kvlbHdAoQxV19z5B1pyzIlE4xX4hhefGwei134=; b=oMDOEwpzS3t9a0Os47wjUKE56lKnEAO6FSSrrDpcKQrY0KSjTmUJmC55/Wz1udzjTE FYN6qygNi6jNm5CFK2wrJdsYcPVLbM0TVt2Km6g0WcqzYrrtUgm/Zhh7wctwQiXPQmKK c3j/tr5c3T43KklewoNMugQt0/gLa+1Yk8S8nS05KniRNKCv+hrhR8s+ES8NtUwDmMCu zHDxxSmHTdmupj9MbVE+uxdKvcc6N+7Ggfswaw2vJDBrinYchcMHmn3cuqHmiCXhCFsU D9W/m/AkGKkFP+J3PTImmWR4+Dy2VnluVjt0GOSnZz/CPsrz7tybJzxXnD/uNinmQ9r5 eYqQ== X-Gm-Message-State: APjAAAX8C5zE3FzJwJCNn6E+kbry/kYJy9qRlKOCFeALOFbdChPx9pEo yg7+wqG0ceMdLLYAQImAlo78UzYD X-Google-Smtp-Source: APXvYqw9t+K5uHYmzOOuN+TNkQgeyg9XiAX6j10MSLYv9td/uwGAsdEA0W2yRMt0JTjen9xpMhM2Mg== X-Received: by 2002:a5d:620b:: with SMTP id y11mr11193342wru.230.1578581640251; Thu, 09 Jan 2020 06:54:00 -0800 (PST) Received: from hthiery01.sab.local ([213.135.10.150]) by smtp.gmail.com with ESMTPSA id n3sm3181820wmc.27.2020.01.09.06.53.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Jan 2020 06:53:59 -0800 (PST) From: Heiko Thiery To: buildroot@buildroot.org Date: Thu, 9 Jan 2020 15:53:33 +0100 Message-Id: <20200109145339.14445-2-heiko.thiery@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200109145339.14445-1-heiko.thiery@gmail.com> References: <20200109145339.14445-1-heiko.thiery@gmail.com> MIME-Version: 1.0 Subject: [Buildroot] [PATCH 1/2] package/netopeer2-server: add package X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?q?Jan_Kundr=C3=A1t?= , Heiko Thiery , Heiko Thiery Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" From: Heiko Thiery Netopeer2 is a set of tools implementing network configuration tools based on the NETCONF Protocol. This is the second generation of the toolset, originally available as the Netopeer project. Netopeer2 is based on the new generation of the NETCONF and YANG libraries - libyang and libnetconf2. The Netopeer server uses sysrepo as a NETCONF datastore implementation. Signed-off-by: Heiko Thiery --- DEVELOPERS | 1 + package/Config.in | 1 + package/netopeer2-server/Config.in | 49 ++++++++++++++++++ package/netopeer2-server/S52netopeer2-server | 50 +++++++++++++++++++ .../netopeer2-server/netopeer2-server.hash | 2 + package/netopeer2-server/netopeer2-server.mk | 21 ++++++++ 6 files changed, 124 insertions(+) create mode 100644 package/netopeer2-server/Config.in create mode 100644 package/netopeer2-server/S52netopeer2-server create mode 100644 package/netopeer2-server/netopeer2-server.hash create mode 100644 package/netopeer2-server/netopeer2-server.mk diff --git a/DEVELOPERS b/DEVELOPERS index 1f86c256a5..0afe452b4b 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -1066,6 +1066,7 @@ F: package/python-sip/ N: Heiko Thiery F: package/libnetconf2/ F: package/libyang/ +F: package/netopeer2-server/ F: package/sysrepo/ N: Henrique Camargo diff --git a/package/Config.in b/package/Config.in index 45935ce18e..5b4b3c0ca6 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1696,6 +1696,7 @@ menu "Networking" source "package/mongoose/Config.in" source "package/nanomsg/Config.in" source "package/neon/Config.in" + source "package/netopeer2-server/Config.in" source "package/nghttp2/Config.in" source "package/norm/Config.in" source "package/nss-mdns/Config.in" diff --git a/package/netopeer2-server/Config.in b/package/netopeer2-server/Config.in new file mode 100644 index 0000000000..77d8172a14 --- /dev/null +++ b/package/netopeer2-server/Config.in @@ -0,0 +1,49 @@ +comment "netopeer2server needs a toolchain w/ C++, threads, dynamic library, host gcc >= 4.8" + depends on BR2_USE_MMU + depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP \ + || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_HOST_GCC_AT_LEAST_4_8 + depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" # host-protobuf + +config BR2_PACKAGE_NETOPEER2_SERVER + bool "netopeer2-server" + depends on BR2_USE_MMU # sysrepo + depends on !BR2_STATIC_LIBS # sysrepo + depends on BR2_INSTALL_LIBSTDCPP # sysrepo + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL + # host-protobuf only builds on certain architectures + depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + select BR2_PACKAGE_LIBAVL # sysrepo + select BR2_PACKAGE_LIBEV # sysrepo + select BR2_PACKAGE_LIBYANG + select BR2_PACKAGE_LIBNETCONF2 + select BR2_PACKAGE_PCRE # sysrepo + select BR2_PACKAGE_PCRE_UCP # syrepo + select BR2_PACKAGE_PROTOBUF_C # sysrepo + select BR2_PACKAGE_SYSREPO + # at least one transport mechanism is mandatory + select BR2_PACKAGE_NETOPEER2_SERVER_SSH if !BR2_PACKAGE_NETOPEER2_SERVER_TLS + + help + Netopeer2 is a set of tools implementing network + configuration tools based on the NETCONF Protocol. + + This is the server part. + + https://github.com/CESNET/Netopeer2 + +if BR2_PACKAGE_NETOPEER2_SERVER + +config BR2_PACKAGE_NETOPEER2_SERVER_TLS + bool "TLS transport" + select BR2_PACKAGE_OPENSSL + help + Enable TLS transport layer support. + +config BR2_PACKAGE_NETOPEER2_SERVER_SSH + bool "SSH transport" + select BR2_PACKAGE_LIBSSH + select BR2_PACKAGE_LIBSSH_SERVER + help + Enable SSH transport layer support. + +endif diff --git a/package/netopeer2-server/S52netopeer2-server b/package/netopeer2-server/S52netopeer2-server new file mode 100644 index 0000000000..cf53a8f109 --- /dev/null +++ b/package/netopeer2-server/S52netopeer2-server @@ -0,0 +1,50 @@ +#!/bin/sh + +DAEMON="netopeer2-server" +PIDFILE="/var/run/$DAEMON.pid" + +NETOPEER2_SERVER_ARGS="" + +start() { + printf 'Starting %s: ' "$DAEMON" + + start-stop-daemon -S -b -q -p $PIDFILE -x "/usr/bin/$DAEMON" \ + -- $NETOPEER2_SERVER_ARGS + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +stop() { + printf 'Stopping %s: ' "$DAEMON" + start-stop-daemon -K -q -p $PIDFILE + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +restart() { + stop + sleep 1 + start +} + +reload() { + # we do not support real reload .. just restart + restart +} + +case "$1" in + start|stop|restart|reload) + "$1";; + *) + echo "Usage: $0 {start|stop|restart|reload}" +esac diff --git a/package/netopeer2-server/netopeer2-server.hash b/package/netopeer2-server/netopeer2-server.hash new file mode 100644 index 0000000000..20ff492b9b --- /dev/null +++ b/package/netopeer2-server/netopeer2-server.hash @@ -0,0 +1,2 @@ +sha256 f855e2f81fc32b0ff9199a4ef8e1993b35f708594c5d72af2e6ecd246c23b1eb netopeer2-1.1.1.tar.gz +sha256 b46f161fbdcf127d3ef22602e15958c3092fe3294f71a2dc8cdf8f6689cba95b LICENSE diff --git a/package/netopeer2-server/netopeer2-server.mk b/package/netopeer2-server/netopeer2-server.mk new file mode 100644 index 0000000000..23e5cc28b9 --- /dev/null +++ b/package/netopeer2-server/netopeer2-server.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# netopeer2-server +# +################################################################################ + +NETOPEER2_SERVER_VERSION = 1.1.1 +NETOPEER2_SERVER_SOURCE = netopeer2-$(NETOPEER2_SERVER_VERSION).tar.gz +NETOPEER2_SERVER_SITE = $(call github,CESNET,Netopeer2,v$(NETOPEER2_SERVER_VERSION)) +NETOPEER2_SERVER_DL_SUBDIR = netopeer2 +NETOPEER2_SERVER_LICENSE = BSD-3-Clause +NETOPEER2_SERVER_LICENSE_FILES = LICENSE +NETOPEER2_SERVER_SUBDIR = server +NETOPEER2_SERVER_DEPENDENCIES = libnetconf2 libyang sysrepo + +define NETOPEER2_SERVER_INSTALL_INIT_SYSV + $(INSTALL) -m 755 -D package/netopeer2-server/S52netopeer2-server \ + $(TARGET_DIR)/etc/init.d/S52netopeer2-server +endef + +$(eval $(cmake-package))