From patchwork Thu Oct 24 07:46:41 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heiko Thiery X-Patchwork-Id: 1182663 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.138; helo=whitealder.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.b="N9vB4l9P"; dkim-atps=neutral Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 46zKBT5c21z9sPc for ; Thu, 24 Oct 2019 18:49:05 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 7C81D87852; Thu, 24 Oct 2019 07:49:01 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id htU8GggFVJZo; Thu, 24 Oct 2019 07:48:58 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by whitealder.osuosl.org (Postfix) with ESMTP id DFEF18781E; Thu, 24 Oct 2019 07:48:57 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id 492BB1BF32D for ; Thu, 24 Oct 2019 07:48:56 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 4507288188 for ; Thu, 24 Oct 2019 07:48:56 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7kPUptVoyN3h for ; Thu, 24 Oct 2019 07:48:55 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-wr1-f66.google.com (mail-wr1-f66.google.com [209.85.221.66]) by hemlock.osuosl.org (Postfix) with ESMTPS id 62CF78608F for ; Thu, 24 Oct 2019 07:48:55 +0000 (UTC) Received: by mail-wr1-f66.google.com with SMTP id q13so19901116wrs.12 for ; Thu, 24 Oct 2019 00:48:55 -0700 (PDT) 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=9GihypAEX4fo4dXiOqzE+1fa5pYKGbLy9fRw78hmkas=; b=N9vB4l9P/AxjVPuOla527zCuAvFnpsqaZEWcw1OMgoCjrM3ndjMdqYi7DdiZwf/4Rw rqCpdxHCMp5tM5n6/TxnKJrytE7LU/9bTbB+WqfyISDGkEYYUjZDr/KCzffMhGEXk9pZ rX9gcheSoW55TqhxTgpz0LfkydS+mPq/uQcWvp0paMuM1RdQ/p/AINj431vlZnNpUZ+V Z7Nur7qqpnAxhHI5+WVumoPHZpXk9spt8VYfH02cnuU/eNHeKnmO3OwlEXXQBVYT98uu ncLaoMFwWjFTd9YlRVg42nhti+jgBmId6X19oUuTg1m+C98xP2fBM5qxt/tK7bpM/a2m GxXA== 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=9GihypAEX4fo4dXiOqzE+1fa5pYKGbLy9fRw78hmkas=; b=lf2NySct3WYTJvuT09z+hemoDrsJuM5OTm9eR5YcHGc/UPxl16+hDUvIEaeo8wimDD neLLYLlfb27gupwcN7S6te1hFft6FlLEW3dZEsAmlPgvPVHawyNgo4/OzIMy8VEYFwYC g9t64Z0rOygoRZrweaZYrx2otmSywP6YYb98ELLeB7GfDtFteVFNsoVc77MdgI74ROv/ 0rpfUVpaWNqzBuL4UPBjF6SSw87yLCAvtDzCrkpWIMf5SmnDgOjiHw3ob+wMvbyXWx1A vpTL/8Z4Venplw9+mlF7PPuQKIy1q2HySC706KkUUiCjEIrZcwHF3UHWaS+wjgP3UgPe SYUg== X-Gm-Message-State: APjAAAXYEn12+PH8R2ZwBfULqoxBzRcKm3+YCv6dO3qZEh3wacKDxLpD n3MEEtlDDVu0VgxHj5HyxOPI1oIh X-Google-Smtp-Source: APXvYqz5+/00bq0G1AdPiPQZ+HSAT9wt89E62AjmX7RJHN0VKInHti+Vt4oRHLLCzn8eLo31q7s+oQ== X-Received: by 2002:adf:9185:: with SMTP id 5mr2601455wri.389.1571903333456; Thu, 24 Oct 2019 00:48:53 -0700 (PDT) Received: from hthiery01.sab.local ([213.135.10.150]) by smtp.gmail.com with ESMTPSA id c21sm1549536wmb.46.2019.10.24.00.48.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Oct 2019 00:48:52 -0700 (PDT) From: heiko.thiery@gmail.com To: buildroot@buildroot.org Date: Thu, 24 Oct 2019 09:46:41 +0200 Message-Id: <20191024074644.10442-2-heiko.thiery@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191024074644.10442-1-heiko.thiery@gmail.com> References: <20191024074644.10442-1-heiko.thiery@gmail.com> MIME-Version: 1.0 Subject: [Buildroot] [PATCH vX 1/5] package/libev: use host-autotools-package macro 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: Heiko Thiery , thomas.petazzoni@bootlin.com Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" From: Heiko Thiery Enable host support for the lib because the package host-sysrepo (depends on package libnetconf2) is needed by package netopeer2keystored. Signed-off-by: Heiko Thiery --- package/libev/libev.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/package/libev/libev.mk b/package/libev/libev.mk index 2b2d5db004..38b0530f62 100644 --- a/package/libev/libev.mk +++ b/package/libev/libev.mk @@ -18,3 +18,4 @@ endef LIBEV_POST_PATCH_HOOKS += LIBEV_DISABLE_EVENT_H_INSTALL $(eval $(autotools-package)) +$(eval $(host-autotools-package)) From patchwork Thu Oct 24 07:46:43 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heiko Thiery X-Patchwork-Id: 1182665 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.136; helo=silver.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.b="C3Kf8rX+"; dkim-atps=neutral Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 46zKBb1mNyz9sPv for ; Thu, 24 Oct 2019 18:49:10 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id 698BB21513; Thu, 24 Oct 2019 07:49:07 +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 zxkfl3j4G6+d; Thu, 24 Oct 2019 07:49:05 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by silver.osuosl.org (Postfix) with ESMTP id EEB86214E6; Thu, 24 Oct 2019 07:49:04 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by ash.osuosl.org (Postfix) with ESMTP id 0F3871BF32D for ; Thu, 24 Oct 2019 07:49:03 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 0C1A7868C7 for ; Thu, 24 Oct 2019 07:49:03 +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 n6Y2StvqVr8K for ; Thu, 24 Oct 2019 07:49:01 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) by fraxinus.osuosl.org (Postfix) with ESMTPS id 42660868C4 for ; Thu, 24 Oct 2019 07:49:01 +0000 (UTC) Received: by mail-wr1-f41.google.com with SMTP id t16so19730538wrr.1 for ; Thu, 24 Oct 2019 00:49:01 -0700 (PDT) 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=ogosS6XXzcqmbuL0Aw1qfieD1l7aqmz5z24FGr9ALyQ=; b=C3Kf8rX+z1S7fWHMbbYkyTUGMRc14sbOv20lhH42KDB8yiXzel4bLTWigrXr0ENfbe MEL4FXxNd6Xr/swnt1YjDHjkPS5jdLJe5jwz5VnO2Krl3tknfWNGgkYIpM5EYRGrI2ot CTWeBDSboqQPIU2ywOq2j7P3rI13/4/lZOpllJl07psbCpWOG8odRF6EVqMaHotTbfne 9cEvgD996YUDfyzHSbGy08fjqPvY4LNT+kCEzoz7ViG/lQw5j9VswYyE38b9k+kxzvqU uqZ9hfyHVE9k5xe8Tjl/Jo/kVHYOOdNTn6g8Y2DadNEEoInm/Mr/p5zRE/3lX0LSRyFq z+cA== 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=ogosS6XXzcqmbuL0Aw1qfieD1l7aqmz5z24FGr9ALyQ=; b=irBltI8DSdCBWlBTX9mVvkLotvvcfxkJJLQdRvIFkyRYAdZ8Vn993wh+Uo0GhQk8be rYJQkQszuZpewP/c8xCvrVbRrKlQTJ/nMaDXJifgBVRqciMQ73PbtnPisHBRV72o+pkX 09NnSehPqPMVIQN7G5Cw35IVrWjQRwTykXTMxsxWgv2JHkYKqC4REzKe9CNrfX1DrUnB +bStrHd9wtAZpJkQG4tWsx+8eZr6/hNmOkc8vCa2kzWB+DLLOikCajiAxd3uPKUQu/q7 kCjuUkLJw5c0vvRjXmXRY290Rh8KbCUX3fEPcjEpiIphYp/HkCCmLmBwORWjHcxmS/7J dkuQ== X-Gm-Message-State: APjAAAWTqoOvf2OZhuXJ7ZKh42WpLMY4yF94WwlnENdOFoXn5b5JXWW9 V5B/ooCW/9qGw+gcDA2iJpUXkIIU X-Google-Smtp-Source: APXvYqwk3WGD00DwD8Is7d9YWPYgW1l/1KRiZv2Bik8YMMv0VO9OL4laEzULt1MaAYZmleu0PL8zdQ== X-Received: by 2002:a5d:4803:: with SMTP id l3mr2466869wrq.381.1571903339091; Thu, 24 Oct 2019 00:48:59 -0700 (PDT) Received: from hthiery01.sab.local ([213.135.10.150]) by smtp.gmail.com with ESMTPSA id c21sm1549536wmb.46.2019.10.24.00.48.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Oct 2019 00:48:58 -0700 (PDT) From: heiko.thiery@gmail.com To: buildroot@buildroot.org Date: Thu, 24 Oct 2019 09:46:43 +0200 Message-Id: <20191024074644.10442-3-heiko.thiery@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191024074644.10442-1-heiko.thiery@gmail.com> References: <20191024074644.10442-1-heiko.thiery@gmail.com> MIME-Version: 1.0 Subject: [Buildroot] [PATCH vX 2/5] package/sysrepo: 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: Heiko Thiery , Heiko Thiery , thomas.petazzoni@bootlin.com Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" From: Heiko Thiery sysrepo is a YANG-based configuration and operational state data store for Unix/Linux applications. It is a dependency of Netopeer, a NETCONF server. Signed-off-by: Heiko Thiery --- DEVELOPERS | 1 + package/Config.in | 1 + ...espect-CMAKE_INSTALL_PREFIX-and-DEST.patch | 33 ++++++++++++ ...t-make-systemd-unit-dir-configurable.patch | 40 +++++++++++++++ package/sysrepo/Config.in | 35 +++++++++++++ package/sysrepo/S50sysrepod | 44 ++++++++++++++++ package/sysrepo/S51sysrepo-plugind | 49 ++++++++++++++++++ package/sysrepo/sysrepo.hash | 2 + package/sysrepo/sysrepo.mk | 51 +++++++++++++++++++ 9 files changed, 256 insertions(+) create mode 100644 package/sysrepo/0001-CMakeLists.txt-respect-CMAKE_INSTALL_PREFIX-and-DEST.patch create mode 100644 package/sysrepo/0002-CMakeLists.txt-make-systemd-unit-dir-configurable.patch create mode 100644 package/sysrepo/Config.in create mode 100644 package/sysrepo/S50sysrepod create mode 100644 package/sysrepo/S51sysrepo-plugind create mode 100644 package/sysrepo/sysrepo.hash create mode 100644 package/sysrepo/sysrepo.mk diff --git a/DEVELOPERS b/DEVELOPERS index c494b75bff..e5f5f8fe1a 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -1045,6 +1045,7 @@ F: package/python-sip/ N: Heiko Thiery F: package/libnetconf2/ F: package/libyang/ +F: package/sysrepo/ N: Henrique Camargo F: package/json-glib/ diff --git a/package/Config.in b/package/Config.in index d78b4c444b..7cb6f14df9 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1678,6 +1678,7 @@ menu "Networking" source "package/slirp/Config.in" source "package/snmppp/Config.in" source "package/sofia-sip/Config.in" + source "package/sysrepo/Config.in" source "package/thrift/Config.in" source "package/usbredir/Config.in" source "package/wampcc/Config.in" diff --git a/package/sysrepo/0001-CMakeLists.txt-respect-CMAKE_INSTALL_PREFIX-and-DEST.patch b/package/sysrepo/0001-CMakeLists.txt-respect-CMAKE_INSTALL_PREFIX-and-DEST.patch new file mode 100644 index 0000000000..5cb3606475 --- /dev/null +++ b/package/sysrepo/0001-CMakeLists.txt-respect-CMAKE_INSTALL_PREFIX-and-DEST.patch @@ -0,0 +1,33 @@ +From c4a2195febbd5d436f8de79d8391d8da9aa60ac4 Mon Sep 17 00:00:00 2001 +From: Michael Walle +Date: Thu, 10 Oct 2019 14:58:16 +0200 +Subject: [PATCH 1/2] CMakeLists.txt: respect CMAKE_INSTALL_PREFIX and DESTDIR + +Don't use absolute pathnames in the install function. This way the files +will be installed in the correct location even if CMAKE_INSTALL_PREFIX +and DESTDIR are changed. + +Patch comes from upstream pull-request: +https://github.com/sysrepo/sysrepo/pull/1638 + +Signed-off-by: Heiko Thiery +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e4521088..14b7cd36 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -357,7 +357,7 @@ if(WITH_SYSTEMD) + ${PROJECT_SOURCE_DIR}/deploy/systemd/sysrepod.service + ${PROJECT_SOURCE_DIR}/deploy/systemd/sysrepo-plugind.service + ) +- install(DIRECTORY ${PROJECT_SOURCE_DIR}/deploy/systemd/ DESTINATION "/lib/systemd/system" ++ install(DIRECTORY ${PROJECT_SOURCE_DIR}/deploy/systemd/ DESTINATION "lib/systemd/system" + FILES_MATCHING PATTERN "*.service") + endif() + +-- +2.20.1 + diff --git a/package/sysrepo/0002-CMakeLists.txt-make-systemd-unit-dir-configurable.patch b/package/sysrepo/0002-CMakeLists.txt-make-systemd-unit-dir-configurable.patch new file mode 100644 index 0000000000..3ab75f7957 --- /dev/null +++ b/package/sysrepo/0002-CMakeLists.txt-make-systemd-unit-dir-configurable.patch @@ -0,0 +1,40 @@ +From 906927b4ee2dd0d5bd669d193fc851d14919fbd1 Mon Sep 17 00:00:00 2001 +From: Michael Walle +Date: Thu, 10 Oct 2019 14:38:57 +0200 +Subject: [PATCH 2/2] CMakeLists.txt: make systemd unit dir configurable + +Patch comes from upstream pull-request: +https://github.com/sysrepo/sysrepo/pull/1638 + +Signed-off-by: Heiko Thiery +--- + CMakeLists.txt | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 14b7cd36..14c84675 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -217,6 +217,9 @@ else() + message(FATAL_ERROR "Unknown file format \"${FILE_FORMAT_EXT}\", must be json, xml, or lyb.") + endif() + ++set(SYSTEMD_UNIT_DIR "lib/systemd/system/" CACHE STRING ++ "Path to the systemd service directory.") ++ + # timeouts + set(REQUEST_TIMEOUT 15 CACHE STRING + "Timeout (in seconds) for Sysrepo API requests. Set to 0 for no timeout.") +@@ -357,7 +360,8 @@ if(WITH_SYSTEMD) + ${PROJECT_SOURCE_DIR}/deploy/systemd/sysrepod.service + ${PROJECT_SOURCE_DIR}/deploy/systemd/sysrepo-plugind.service + ) +- install(DIRECTORY ${PROJECT_SOURCE_DIR}/deploy/systemd/ DESTINATION "lib/systemd/system" ++ install(DIRECTORY ${PROJECT_SOURCE_DIR}/deploy/systemd/ ++ DESTINATION "${SYSTEMD_UNIT_DIR}" + FILES_MATCHING PATTERN "*.service") + endif() + +-- +2.20.1 + diff --git a/package/sysrepo/Config.in b/package/sysrepo/Config.in new file mode 100644 index 0000000000..a93e314535 --- /dev/null +++ b/package/sysrepo/Config.in @@ -0,0 +1,35 @@ +config BR2_PACKAGE_SYSREPO + bool "sysrepo" + depends on BR2_USE_MMU # libnetconf2 + depends on !BR2_STATIC_LIBS + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" # host-protbuf + depends on BR2_HOST_GCC_AT_LEAST_4_8 # host-protobuf + select BR2_PACKAGE_LIBEV + select BR2_PACKAGE_LIBNETCONF2 + select BR2_PACKAGE_LIBAVL + select BR2_PACKAGE_LIBYANG + select BR2_PACKAGE_PROTOBUF_C + select BR2_PACKAGE_PCRE + select BR2_PACKAGE_PCRE_UCP + help + Sysrepo is an YANG-based configuration and operational state + data store for Unix/Linux applications. + + https://github.com/sysrepo + +comment "sysrepo needs a toolchain w/ C++, threads, dynamic libraray, host gcc >= 4.8" + depends on BR2_USE_MMU + depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP \ + || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_HOST_GCC_AT_LEAST_4_8 + depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + +if BR2_PACKAGE_SYSREPO + +config BR2_PACKAGE_SYSREPO_EXAMPLES + bool "sysrepo examples" + help + Enable sysrepo examples. + +endif diff --git a/package/sysrepo/S50sysrepod b/package/sysrepo/S50sysrepod new file mode 100644 index 0000000000..05ca627fb7 --- /dev/null +++ b/package/sysrepo/S50sysrepod @@ -0,0 +1,44 @@ +#!/bin/sh + +DAEMON="sysrepod" +PIDFILE="/var/run/$DAEMON.pid" + +SYSREPOD_ARGS="" + +start() { + printf 'Starting %s: ' "$DAEMON" + start-stop-daemon -S -b -q -p $PIDFILE -x "/usr/bin/$DAEMON" \ + -- $SYSREPOD_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 +} + +case "$1" in + start|stop|restart) + "$1";; + *) + echo "Usage: $0 {start|stop|restart}" +esac diff --git a/package/sysrepo/S51sysrepo-plugind b/package/sysrepo/S51sysrepo-plugind new file mode 100644 index 0000000000..9dd3bb1101 --- /dev/null +++ b/package/sysrepo/S51sysrepo-plugind @@ -0,0 +1,49 @@ +#!/bin/sh + +DAEMON="sysrepo-plugind" +PIDFILE="/var/run/$DAEMON.pid" + +SYSREPO_PLUGIND_ARGS="" + +start() { + printf 'Starting %s: ' "$DAEMON" + start-stop-daemon -S -b -q -p $PIDFILE -x "/usr/bin/$DAEMON" \ + -- $SYSREPO_PLUGIND_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/sysrepo/sysrepo.hash b/package/sysrepo/sysrepo.hash new file mode 100644 index 0000000000..39ec70a2f6 --- /dev/null +++ b/package/sysrepo/sysrepo.hash @@ -0,0 +1,2 @@ +sha256 d3066c1776a6727b96bbb3517eb646d0bb6037e8e1addcbe873cae590493843e sysrepo-v0.7.8.tar.gz +sha256 28a773bfffa828ec38c030fc8ace5f3aeb90926ec1309bbd135441c4387ce3cd LICENSE diff --git a/package/sysrepo/sysrepo.mk b/package/sysrepo/sysrepo.mk new file mode 100644 index 0000000000..1cebf9f8a9 --- /dev/null +++ b/package/sysrepo/sysrepo.mk @@ -0,0 +1,51 @@ +################################################################################ +# +# sysrepo +# +################################################################################ + +SYSREPO_VERSION = v0.7.8 +SYSREPO_SITE = $(call github,sysrepo,sysrepo,$(SYSREPO_VERSION)) +SYSREPO_INSTALL_STAGING = YES +SYSREPO_LICENSE = Apache-2.0 +SYSREPO_LICENSE_FILES = LICENSE +SYSREPO_DEPENDENCIES = libev libnetconf2 libavl libyang pcre protobuf-c host-sysrepo +HOST_SYSREPO_DEPENDENCIES = host-libev host-libnetconf2 host-libavl host-libyang host-pcre host-protobuf-c + +SYSREPO_CONF_OPTS = \ + -DGEN_PYTHON2_TESTS=OFF \ + -DENABLE_TESTS=OFF \ + -DCALL_SYSREPOCTL_BIN=$(HOST_DIR)/bin/sysrepoctl \ + -DCALL_SYSREPOCFG_BIN=$(HOST_DIR)/bin/sysrepocfg \ + -DBUILD_EXAMPLES=$(if $(BR2_PACKAGE_SYSREPO_EXAMPLES),ON,OFF) \ + $(if $(BR2_INIT_SYSTEMD),-DWITH_SYSTEMD=ON) \ + $(if $(BR2_INIT_SYSTEMD),-DSYSTEMD_UNIT_DIR=usr/lib/systemd/system) + +# On ARM, this is needed to prevent unaligned memory access with an optimized +# build .. https://github.com/sysrepo/sysrepo/issues/947 +SYSREPO_CONF_OPTS += -DUSE_SR_MEM_MGMT=OFF + +define SYSREPO_INSTALL_INIT_SYSV + $(INSTALL) -m 755 -D package/sysrepo/S50sysrepod \ + $(TARGET_DIR)/etc/init.d/S50sysrepod + $(INSTALL) -m 755 -D package/sysrepo/S51sysrepo-plugind \ + $(TARGET_DIR)/etc/init.d/S51sysrepo-plugind +endef + +define SYSREPO_INSTALL_INIT_SYSTEMD + mkdir -p $(TARGET_DIR)/etc/systemd/systemd/multi-user.target.wants + ln -fs ../../../../usr/lib/systemd/system/sysrepod.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -fs ../../../../usr/lib/systemd/system/sysrepo-plugind.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants +endef + +HOST_SYSREPO_CONF_OPTS = \ + -DGEN_PYTHON2_TESTS=OFF \ + -DENABLE_TESTS=OFF \ + -DCALL_TARGET_BINS_DIRECTLY=OFF \ + -DREPOSITORY_LOC=$(BASE_TARGET_DIR)/etc/sysrepo \ + -DSUBSCRIPTIONS_SOCKET_DIR=$(HOST_DIR)/var/run/sysrepo-subscriptions + +$(eval $(cmake-package)) +$(eval $(host-cmake-package)) From patchwork Thu Oct 24 07:46:44 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heiko Thiery X-Patchwork-Id: 1182664 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.133; helo=hemlock.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.b="a1xjoI4H"; dkim-atps=neutral Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 46zKBb1pnXz9sQr for ; Thu, 24 Oct 2019 18:49:11 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 22B38882C3; Thu, 24 Oct 2019 07:49:08 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id u+pjuCED1cW4; Thu, 24 Oct 2019 07:49:07 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by hemlock.osuosl.org (Postfix) with ESMTP id 01C34882B0; Thu, 24 Oct 2019 07:49:07 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id 6E4CD1BF32D for ; Thu, 24 Oct 2019 07:49:04 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 6A8C3882B1 for ; Thu, 24 Oct 2019 07:49:04 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yhFVQjKQvjN6 for ; Thu, 24 Oct 2019 07:49:03 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-wr1-f68.google.com (mail-wr1-f68.google.com [209.85.221.68]) by hemlock.osuosl.org (Postfix) with ESMTPS id 6BE668608F for ; Thu, 24 Oct 2019 07:49:03 +0000 (UTC) Received: by mail-wr1-f68.google.com with SMTP id q13so19901539wrs.12 for ; Thu, 24 Oct 2019 00:49:03 -0700 (PDT) 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=qJBMOJH3Zk2nw0AKNkGL4e68KzE+EMTwS8FPXmzWzQw=; b=a1xjoI4HuYC6ee/Y2Chi+kn/vdc5UcIPdHJzcsE4joS1dl/HMhGvUTV7F9pX/yThn4 U7onGkuD3aflXOf3n8vg/CBe9hAaGzUssoCrWRLfRvM3Kq9G2CR1vUMk5LldSjZkg/65 kMcv9orrUHyzMCXOsYZ06Vm/lWDvtd6O0BlNIRK+Tk5QgvjapF5hBww0IQkeEvWirfxS vii1qNjBovDVMRZbfvtwqrsY523pz92ySjJLvkTkVSTb9SC7rTcMd97pr0ssERaGE0yd kDf+BQgH8J8WcARgzgwXQG2zwPIReNeK/ChinXKzJIwiDcLbRiE5xc+VrhmZ3T3iKrDg EQgw== 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=qJBMOJH3Zk2nw0AKNkGL4e68KzE+EMTwS8FPXmzWzQw=; b=BZSnA35G69di5SPoBcENT7jns8EgJaJdzLtD1KNhl59DnQweMeEakztGrI58DZCphP gZJCI/PQbzcixrYdr8Ykog8POzzKuYE1a5Kjw2Vgps89C/adoQMAlp18e3zB+DRik+nE WLnl4O7dg8A0bODWVJcpDp+Ozk4r7WL4xMS9348YoxnoF1tTxrMQBqLTUVRA+VNAjncU 2D1fexUz808c5DJys/23al7KTelEIaZEZ9i4Jx1L2CbSevUgNBLOBI4m+6W6PoOix2Fm QC6uu/9rA74B4l8jpS9jGbXIE4NkxofF1U+PwNKwR98IYefCZoh05UOhgr1IGRfO3Bsh 3saQ== X-Gm-Message-State: APjAAAVmjOu2YYfwRLdHqhN79FNH4xVL8bZDPkh5Y/4RmFAjVGV4trxr NdqBYhJz8d5fh04ej67bb4xbPjfQ X-Google-Smtp-Source: APXvYqwmMyR/TcPRIDuc7V1k7C2I4xj6RuXIvqV+NApy91CjIIuPRWlx+BKwxZ8mFtGNRzDXlgg9BQ== X-Received: by 2002:a5d:51c2:: with SMTP id n2mr2414811wrv.149.1571903341596; Thu, 24 Oct 2019 00:49:01 -0700 (PDT) Received: from hthiery01.sab.local ([213.135.10.150]) by smtp.gmail.com with ESMTPSA id c21sm1549536wmb.46.2019.10.24.00.49.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Oct 2019 00:49:01 -0700 (PDT) From: heiko.thiery@gmail.com To: buildroot@buildroot.org Date: Thu, 24 Oct 2019 09:46:44 +0200 Message-Id: <20191024074644.10442-4-heiko.thiery@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191024074644.10442-1-heiko.thiery@gmail.com> References: <20191024074644.10442-1-heiko.thiery@gmail.com> MIME-Version: 1.0 Subject: [Buildroot] [PATCH vX 3/5] package/netopeer2-keystored: 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: Heiko Thiery , Heiko Thiery , thomas.petazzoni@bootlin.com Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" From: Heiko Thiery netopeer2 keystored plugin. Signed-off-by: Heiko Thiery --- DEVELOPERS | 1 + package/Config.in | 1 + package/netopeer2-keystored/Config.in | 17 ++++++++++ .../netopeer2-keystored.hash | 2 ++ .../netopeer2-keystored.mk | 31 +++++++++++++++++++ 5 files changed, 52 insertions(+) create mode 100644 package/netopeer2-keystored/Config.in create mode 100644 package/netopeer2-keystored/netopeer2-keystored.hash create mode 100644 package/netopeer2-keystored/netopeer2-keystored.mk diff --git a/DEVELOPERS b/DEVELOPERS index e5f5f8fe1a..55a8bda729 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -1045,6 +1045,7 @@ F: package/python-sip/ N: Heiko Thiery F: package/libnetconf2/ F: package/libyang/ +F: package/netopeer2-keystored/ F: package/sysrepo/ N: Henrique Camargo diff --git a/package/Config.in b/package/Config.in index 7cb6f14df9..8579eb5896 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1657,6 +1657,7 @@ menu "Networking" source "package/mongoose/Config.in" source "package/nanomsg/Config.in" source "package/neon/Config.in" + source "package/netopeer2-keystored/Config.in" source "package/nghttp2/Config.in" source "package/norm/Config.in" source "package/nss-mdns/Config.in" diff --git a/package/netopeer2-keystored/Config.in b/package/netopeer2-keystored/Config.in new file mode 100644 index 0000000000..d23ec2f1b9 --- /dev/null +++ b/package/netopeer2-keystored/Config.in @@ -0,0 +1,17 @@ +config BR2_PACKAGE_NETOPEER2_KEYSTORED + bool "netopeer2-keystored" + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_LIBYANG + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_SYSREPO + help + Netopeer2 is a set of tools implementing network + configuration tools based on the NETCONF Protocol. + + This is the keystored sysrepo plugin. + + https://github.com/CESNET/Netopeer2 + +comment "needs a toolchain w/ threads, dynamic libraray" + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/netopeer2-keystored/netopeer2-keystored.hash b/package/netopeer2-keystored/netopeer2-keystored.hash new file mode 100644 index 0000000000..5f897e8d08 --- /dev/null +++ b/package/netopeer2-keystored/netopeer2-keystored.hash @@ -0,0 +1,2 @@ +sha256 59688271be4fecbbee671fc7eb3dc0538b13b4baab53e923e26eaeb33e6f7ec0 netopeer2-v0.7-r2.tar.gz +sha256 932b75a8610a5c58e0fe0f70f8e4ebbcf3a2392acc16a88e95aebcdbdb9245e0 LICENSE diff --git a/package/netopeer2-keystored/netopeer2-keystored.mk b/package/netopeer2-keystored/netopeer2-keystored.mk new file mode 100644 index 0000000000..8b3a010807 --- /dev/null +++ b/package/netopeer2-keystored/netopeer2-keystored.mk @@ -0,0 +1,31 @@ +################################################################################ +# +# netopeer2-keystored +# +################################################################################ + +NETOPEER2_KEYSTORED_VERSION = v0.7-r2 +NETOPEER2_KEYSTORED_SOURCE = netopeer2-$(NETOPEER2_KEYSTORED_VERSION).tar.gz +NETOPEER2_KEYSTORED_SITE = $(call github,CESNET,Netopeer2,$(NETOPEER2_KEYSTORED_VERSION)) +NETOPEER2_KEYSTORED_DL_SUBDIR = netopeer2 +NETOPEER2_KEYSTORED_SUBDIR = keystored +NETOPEER2_KEYSTORED_LICENSE = BSD-3-Clause +NETOPEER2_KEYSTORED_LICENSE_FILES = LICENSE +NETOPEER2_KEYSTORED_DEPENDENCIES = host-sysrepo sysrepo + +NETOPEER2_KEYSTORED_CONF_OPTS = \ + -DKEYSTORED_DEFER_SSH_KEY=ON \ + -DSSH_KEY_INSTALL=ON \ + -DMODEL_INSTALL=ON \ + -DSYSREPOCTL_EXECUTABLE=$(HOST_DIR)/bin/sysrepoctl \ + -DSYSREPOCFG_EXECUTABLE=$(HOST_DIR)/bin/sysrepocfg + +define NETOPEER2_KEYSTORED_PERMISSIONS + /etc/sysrepo/data/ietf-keystore.persist f 600 0 0 - - - - - + /etc/sysrepo/data/ietf-keystore.running f 600 0 0 - - - - - + /etc/sysrepo/data/ietf-keystore.running.lock f 600 0 0 - - - - - + /etc/sysrepo/data/ietf-keystore.startup f 600 0 0 - - - - - + /etc/sysrepo/data/ietf-keystore.startup.lock f 600 0 0 - - - - - +endef + +$(eval $(cmake-package)) From patchwork Thu Oct 24 07:46:45 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heiko Thiery X-Patchwork-Id: 1182666 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.b="FlqLuSX0"; 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 46zKBd5G8Tz9sPv for ; Thu, 24 Oct 2019 18:49:13 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 17DF1868D4; Thu, 24 Oct 2019 07:49:12 +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 HJrqYZxkIi_k; Thu, 24 Oct 2019 07:49:10 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by fraxinus.osuosl.org (Postfix) with ESMTP id 0D61E868C7; Thu, 24 Oct 2019 07:49:10 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id BEE0B1BF32D for ; Thu, 24 Oct 2019 07:49:08 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 3617D882C4 for ; Thu, 24 Oct 2019 07:49:08 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BBRHPqQBCMGw for ; Thu, 24 Oct 2019 07:49:06 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) by hemlock.osuosl.org (Postfix) with ESMTPS id B06748608F for ; Thu, 24 Oct 2019 07:49:05 +0000 (UTC) Received: by mail-wr1-f41.google.com with SMTP id s1so16109820wro.0 for ; Thu, 24 Oct 2019 00:49:05 -0700 (PDT) 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=EITNx8+qkly8QNnp/NQbwXzC8EtKQOk5h9+5K3XiJVQ=; b=FlqLuSX02y8hFHPas5JWn9nMjH0z/edbCVPL+7hAYF05i1RbqEbAGLb8DLpZT6HrO9 4peIE5YXWu0PbOlC7jvEIbZUEuqmrYUOngrAUU+TNJdIOAFFjppDYfG9glekUk7YhJ8z kkD2VjT6rZ7Ptjyth6K+HtH06PQAV18md25QPJnLMhMYNuG/dIC8pQNsQWotlxfs1a3Z 8fFFSPDFng++sTT8If8NHu3Yt/krdiPMiSO5cZskL3L2sWtMG4CbXagS9BnglHV+GYwK ZW6A4j8p++Ut9nhhRTUHanfUHJlxGP6YGcfpyjPBlxccBkC9nAaSm7s/Jkr2DG4Cwm7s vJ7A== 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=EITNx8+qkly8QNnp/NQbwXzC8EtKQOk5h9+5K3XiJVQ=; b=gEKRqwcbCPjewaEuQoyxJznEdXlyTGvQmglUn3keimBRgnKaGUDJTRnDgQ5OP+guJh B/QgtuKPBBbOdwxskZH9K0iPPMLMlc2Y57KzljCzkA7yUMCOvKiLtjk1E+5QpHMUdi97 TV0Og0qioVvke7hQDP7zLZ8AzYnmQNxxoXl8IYF++H0F8K//x63PCNyCsDMz1EBnL/Ru 3A+kF6H/W9+iS4NYjPrtWUq37eRHsOovX8oSEroqgwRdjo0/ltLKN8RncZWMc0zNecZe CeDnxEqIgpuFtZtnJasVwqxC6jVLkn/ekG3MXIE2MndPbtXshaP1m/XjnhnHOSejPJUE IWPQ== X-Gm-Message-State: APjAAAVt/L3VfLavYbTe1/18eik+adyR1+XBohzgEmATnMdcwwIXuOuk /85lRQDYslbs9UgjmH3onaQ5ZPLw X-Google-Smtp-Source: APXvYqy1bHjAXC9q3hFKsG1Viox9kztwHhYvQJLZJ65FDIkiuVQnxAUKSFs4N1gGl1KCPf/+uUzjYA== X-Received: by 2002:a5d:5222:: with SMTP id i2mr2450830wra.271.1571903343761; Thu, 24 Oct 2019 00:49:03 -0700 (PDT) Received: from hthiery01.sab.local ([213.135.10.150]) by smtp.gmail.com with ESMTPSA id c21sm1549536wmb.46.2019.10.24.00.49.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Oct 2019 00:49:03 -0700 (PDT) From: heiko.thiery@gmail.com To: buildroot@buildroot.org Date: Thu, 24 Oct 2019 09:46:45 +0200 Message-Id: <20191024074644.10442-5-heiko.thiery@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191024074644.10442-1-heiko.thiery@gmail.com> References: <20191024074644.10442-1-heiko.thiery@gmail.com> MIME-Version: 1.0 Subject: [Buildroot] [PATCH vX 4/5] 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: Heiko Thiery , Heiko Thiery , thomas.petazzoni@bootlin.com 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 | 51 +++++++++++ package/netopeer2-server/S52netopeer2-server | 90 +++++++++++++++++++ .../netopeer2-server/netopeer2-server.hash | 1 + package/netopeer2-server/netopeer2-server.mk | 33 +++++++ 6 files changed, 177 insertions(+) create mode 100644 package/netopeer2-server/Config.in create mode 100644 package/netopeer2-server/S52netopeer2-server create mode 120000 package/netopeer2-server/netopeer2-server.hash create mode 100644 package/netopeer2-server/netopeer2-server.mk diff --git a/DEVELOPERS b/DEVELOPERS index 55a8bda729..91244be26e 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -1046,6 +1046,7 @@ N: Heiko Thiery F: package/libnetconf2/ F: package/libyang/ F: package/netopeer2-keystored/ +F: package/netopeer2-server/ F: package/sysrepo/ N: Henrique Camargo diff --git a/package/Config.in b/package/Config.in index 8579eb5896..6eab83dd20 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1658,6 +1658,7 @@ menu "Networking" source "package/nanomsg/Config.in" source "package/neon/Config.in" source "package/netopeer2-keystored/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..abae534a4b --- /dev/null +++ b/package/netopeer2-server/Config.in @@ -0,0 +1,51 @@ +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 || !BR2_HOST_GCC_AT_LEAST_4_8 + depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + +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 + depends on !BR2_STATIC_LIBS + # host-protobuf only builds on certain architectures + depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + select BR2_PACKAGE_LIBAVL + select BR2_PACKAGE_LIBEV + select BR2_PACKAGE_LIBYANG + select BR2_PACKAGE_LIBNETCONF2 + select BR2_PACKAGE_PROTOBUF_C + select BR2_PACKAGE_PCRE + select BR2_PACKAGE_PCRE_UCP + select BR2_PACKAGE_SYSREPO + select BR2_PACKAGE_NETOPEER2_KEYSTORED + # at the moment SSH transport is mandatory + select BR2_PACKAGE_NETOPEER2_SERVER_SSH + + 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..0bad83325a --- /dev/null +++ b/package/netopeer2-server/S52netopeer2-server @@ -0,0 +1,90 @@ +#!/bin/sh + +DAEMON="netopeer2-server" +PIDFILE="/var/run/$DAEMON.pid" + +NETOPEER2_SERVER_ARGS="" + +KEYSTORED_HOST_KEY="/etc/keystored/keys/ssh_host_rsa_key.pem" + +SSHKEYGEN="/usr/bin/dropbearkey" +DROPBEARKEY="/usr/bin/dropbearkey" +DROPBEARCONVERT="/usr/bin/dropbearconvert" + +dropbear_keygen() { + ${DROPBEARKEY} -t rsa -f ${KEYSTORED_HOST_KEY} + ${DROPBEARCONVERT} dropbear openssh ${KEYSTORED_HOST_KEY} ${KEYSTORED_HOST_KEY} +} + +ssh_keygen() { + ${SSHKEYGEN} -m pem -t rsa -q -N "" -f ${KEYSTORED_HOST_KEY} +} + +keygen() { + if [ -x ${DROPBEARKEY} -a -x ${DROPBEARCONVERT} ]; then + dropbear_keygen + status=$? + elif [ -x ${SSHKEYGEN} ]; then + ssh_keygen + status=$? + else + status=1 + fi + + return "$status" +} + +start() { + printf 'Starting %s: ' "$DAEMON" + if [ ! -f ${KEYSTORED_HOST_KEY} ]; then + keygen + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + else + echo "OK" + fi + + 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 120000 index 0000000000..47bb47d7e3 --- /dev/null +++ b/package/netopeer2-server/netopeer2-server.hash @@ -0,0 +1 @@ +../netopeer2-keystored/netopeer2-keystored.hash \ No newline at end of file diff --git a/package/netopeer2-server/netopeer2-server.mk b/package/netopeer2-server/netopeer2-server.mk new file mode 100644 index 0000000000..39666a8e24 --- /dev/null +++ b/package/netopeer2-server/netopeer2-server.mk @@ -0,0 +1,33 @@ +################################################################################ +# +# netopeer2-server +# +################################################################################ + +NETOPEER2_SERVER_VERSION = v0.7-r2 +NETOPEER2_SERVER_SOURCE = netopeer2-$(NETOPEER2_SERVER_VERSION).tar.gz +NETOPEER2_SERVER_SITE = $(call github,CESNET,Netopeer2,$(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 = libyang sysrepo + +NETOPEER2_SERVER_CONF_OPTS = \ + -DENABLE_CONFIGURATION=ON \ + -DKEYSTORED_KEYS_DIR=/etc/keystored/keys + +define NETOPEER2_SERVER_INSTALL_INIT_SYSV + $(INSTALL) -m 755 -D package/netopeer2-server/S52netopeer2-server \ + $(TARGET_DIR)/etc/init.d/S52netopeer2-server +endef + +define NETOPEER2_SERVER_PERMISSIONS + /etc/sysrepo/data/ietf-netconf-server.persist f 600 0 0 - - - - - + /etc/sysrepo/data/ietf-netconf-server.running f 600 0 0 - - - - - + /etc/sysrepo/data/ietf-netconf-server.running.lock f 600 0 0 - - - - - + /etc/sysrepo/data/ietf-netconf-server.startup f 600 0 0 - - - - - + /etc/sysrepo/data/ietf-netconf-server.startup.lock f 600 0 0 - - - - - +endef + +$(eval $(cmake-package)) From patchwork Thu Oct 24 07:46:46 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heiko Thiery X-Patchwork-Id: 1182667 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.136; helo=silver.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.b="ZxXg77qq"; dkim-atps=neutral Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 46zKBp0sThz9sPc for ; Thu, 24 Oct 2019 18:49:21 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id 7CC54203FC; Thu, 24 Oct 2019 07:49:20 +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 DYrfIJWvw3mJ; Thu, 24 Oct 2019 07:49:18 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by silver.osuosl.org (Postfix) with ESMTP id CE74A214E6; Thu, 24 Oct 2019 07:49:18 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 098F61BF32D for ; Thu, 24 Oct 2019 07:49:17 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 0689C84798 for ; Thu, 24 Oct 2019 07:49:17 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8iXLgEN4Esb1 for ; Thu, 24 Oct 2019 07:49:16 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) by whitealder.osuosl.org (Postfix) with ESMTPS id 0315F8475D for ; Thu, 24 Oct 2019 07:49:16 +0000 (UTC) Received: by mail-wm1-f46.google.com with SMTP id q130so1349325wme.2 for ; Thu, 24 Oct 2019 00:49:15 -0700 (PDT) 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=ySX0SkjTm2g5mW7acHHUa0XoWKsKx/kEScx40JRpiaM=; b=ZxXg77qqOcal90aGcmWBnnT0NlHpvGapjDXrWPOKrRN7a6HU+mhNITZt+fhmXQX0HD u789ohfVW4zihG59FCBKVL6g8o8XYVUBmbRIgAf3gulkHhCbhOpSw9pRtGHmdshiQzwF nQqlSkvJGPkmVlWvfN+cet01P1dnGn8+h6xyjnlHupBZrvuBP2ZL+HYEUnEaaCxqz09W 2SYfgajOM+LntqVw1tJ04+fqNBHqji1az++5WdXe+VaAYemCgVVgHPNcPoBM5IC3yEBt aDpW27AT/2JDiFnWvXdyiKIQLrq1V6qLjeu5kv2pKOQ4kQo/00F/cA8HbpzVhRS41seU 99nw== 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=ySX0SkjTm2g5mW7acHHUa0XoWKsKx/kEScx40JRpiaM=; b=a9K3WUf71W4Ed+9lAiyNVxeoFgWfbFwHOdfxaLeMn7qmEs+4WAVDUWKoRtDK8B7aEu T2BeIRxZrp17+YfnJe4NkkiDk3gKZ4feeLHPUezvLrtzY7NMKPdWePQSTDHdyKBHkNFf WtctzWwEjGdG+ell9FIb5UXRQP5NBFtsGjSPDKs6wKuUD8AvF6aSNkN+q5kX0dUTh21E 4rezUszEmVnNGNuDnJxu7n5NNDrx5B/vjpLElrfhKDUV20FwEADzEu+v+vqH9d/SbaPP x4SUypN8SOL+cqNc5LdPUwx3zh6UO+Q8Op+tbg37Jd5Ui2bLry724ZZiiYYrXld3mln/ bITw== X-Gm-Message-State: APjAAAVYCNQcpPqEZvnoguciuJFvx+QNYRv1ueuOvDTExlMw1VGctodS o1GDjSdki2+srNIWRSxubpDwfFKp X-Google-Smtp-Source: APXvYqyfFgVGgiUMSEVO1zkK41esv+qrpZh3W3SyGnYKYLjUB/Ywa9QwynevySthRzdXcqz5gbfsFw== X-Received: by 2002:a7b:c94f:: with SMTP id i15mr3759004wml.31.1571903353953; Thu, 24 Oct 2019 00:49:13 -0700 (PDT) Received: from hthiery01.sab.local ([213.135.10.150]) by smtp.gmail.com with ESMTPSA id c21sm1549536wmb.46.2019.10.24.00.49.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Oct 2019 00:49:13 -0700 (PDT) From: heiko.thiery@gmail.com To: buildroot@buildroot.org Date: Thu, 24 Oct 2019 09:46:46 +0200 Message-Id: <20191024074644.10442-6-heiko.thiery@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191024074644.10442-1-heiko.thiery@gmail.com> References: <20191024074644.10442-1-heiko.thiery@gmail.com> MIME-Version: 1.0 Subject: [Buildroot] [PATCH vX 5/5] package/netopeer2-cli: 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: Heiko Thiery , Heiko Thiery , thomas.petazzoni@bootlin.com Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" From: Heiko Thiery netopeer2 CLI - simple command line interface to connect to a NETCONF server (device). Signed-off-by: Heiko Thiery --- DEVELOPERS | 1 + package/Config.in | 1 + package/netopeer2-cli/Config.in | 21 +++++++++++++++++++++ package/netopeer2-cli/netopeer2-cli.hash | 1 + package/netopeer2-cli/netopeer2-cli.mk | 17 +++++++++++++++++ 5 files changed, 41 insertions(+) create mode 100644 package/netopeer2-cli/Config.in create mode 120000 package/netopeer2-cli/netopeer2-cli.hash create mode 100644 package/netopeer2-cli/netopeer2-cli.mk diff --git a/DEVELOPERS b/DEVELOPERS index 91244be26e..7a65000c9f 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -1045,6 +1045,7 @@ F: package/python-sip/ N: Heiko Thiery F: package/libnetconf2/ F: package/libyang/ +F: package/netopeer2-cli/ F: package/netopeer2-keystored/ F: package/netopeer2-server/ F: package/sysrepo/ diff --git a/package/Config.in b/package/Config.in index 6eab83dd20..c7d616dbfa 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1657,6 +1657,7 @@ menu "Networking" source "package/mongoose/Config.in" source "package/nanomsg/Config.in" source "package/neon/Config.in" + source "package/netopeer2-cli/Config.in" source "package/netopeer2-keystored/Config.in" source "package/netopeer2-server/Config.in" source "package/nghttp2/Config.in" diff --git a/package/netopeer2-cli/Config.in b/package/netopeer2-cli/Config.in new file mode 100644 index 0000000000..9c3a302a1d --- /dev/null +++ b/package/netopeer2-cli/Config.in @@ -0,0 +1,21 @@ +config BR2_PACKAGE_NETOPEER2_CLI + bool "netopeer2-cli" + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_LIBYANG + select BR2_PACKAGE_LIBNETCONF2 + select BR2_PACKAGE_LIBSSH + select BR2_PACKAGE_LIBSSH_SERVER + select BR2_PACKAGE_PCRE # libyang + select BR2_PACKAGE_PCRE_UCP # libyang + select BR2_PACKAGE_SYSREPO + help + Netopeer2 is a set of tools implementing network + configuration tools based on the NETCONF Protocol. + + This is the CLI client part. + + https://github.com/CESNET/Netopeer2 + +comment "netopeer2cli needs a toolchain w/ threads, dynamic libraray" + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/netopeer2-cli/netopeer2-cli.hash b/package/netopeer2-cli/netopeer2-cli.hash new file mode 120000 index 0000000000..47bb47d7e3 --- /dev/null +++ b/package/netopeer2-cli/netopeer2-cli.hash @@ -0,0 +1 @@ +../netopeer2-keystored/netopeer2-keystored.hash \ No newline at end of file diff --git a/package/netopeer2-cli/netopeer2-cli.mk b/package/netopeer2-cli/netopeer2-cli.mk new file mode 100644 index 0000000000..6eaedbe4b5 --- /dev/null +++ b/package/netopeer2-cli/netopeer2-cli.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# netopeer2-cli +# +################################################################################ + +NETOPEER2_CLI_VERSION = v0.7-r2 +NETOPEER2_CLI_SOURCE = netopeer2-$(NETOPEER2_CLI_VERSION).tar.gz +NETOPEER2_CLI_SITE = $(call github,CESNET,Netopeer2,$(NETOPEER2_CLI_VERSION)) +NETOPEER2_CLI_DL_SUBDIR = netopeer2 +NETOPEER2_CLI_LICENSE = BSD-3-Clause +NETOPEER2_CLI_LICENSE_FILES = LICENSE +NETOPEER2_CLI_SUBDIR = cli +NETOPEER2_CLI_INSTALL_STAGING = YES +NETOPEER2_CLI_DEPENDENCIES = libnetconf2 libyang sysrepo + +$(eval $(cmake-package))