From patchwork Fri Dec 20 13:53: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: 1214115 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="ZKWgwNHs"; 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 47fVbH36qhz9sP3 for ; Sat, 21 Dec 2019 00:54:03 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 98B79881C0; Fri, 20 Dec 2019 13:54: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 WVhAkhsP6j7n; Fri, 20 Dec 2019 13:53:59 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by whitealder.osuosl.org (Postfix) with ESMTP id 6B912881D2; Fri, 20 Dec 2019 13:53:59 +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 CBEAC1BF321 for ; Fri, 20 Dec 2019 13:53:55 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id C8EF8881DA for ; Fri, 20 Dec 2019 13:53:55 +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 yPGavETvPvl6 for ; Fri, 20 Dec 2019 13:53:54 +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 whitealder.osuosl.org (Postfix) with ESMTPS id 62541881C0 for ; Fri, 20 Dec 2019 13:53:54 +0000 (UTC) Received: by mail-wr1-f68.google.com with SMTP id c9so9498586wrw.8 for ; Fri, 20 Dec 2019 05:53:54 -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=ZrWdL2xww+qCCPe/TlpFiNOofK1yeh9jTz7icI1OAZw=; b=ZKWgwNHsfrXnX9sifJp6OH7Jxw22h0oXtgnX6sY3EgVv5FZ6Fo8aiwkVXH0fsRPzKW R05JuxXiu9++7g0FnJyXXzozSz6fp6Zl9iZzSkp5YBWYNwrqimoTKX2LlOQl0+T5yhZe ijlAM5QaMjtwKW1S0gEgrGyGU1NwMo+DnX7jPwro0RAPMZPFxv+9rkfKMu+Qz39VbyS3 fVHFlFiINcCwXp5l5eRrvJhW5rPmG778/eNN8My+iGqYVedSWtQA/fZulxHI1+Wuh+YO hBYGZ4caOUWWLpzh9WR75DU8jW5JEe8rxfFAuxPyL3iQImP9RyVVk2d+7XsRYZcQFOCn 4LCg== 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=ZrWdL2xww+qCCPe/TlpFiNOofK1yeh9jTz7icI1OAZw=; b=CLK7OSD5aV7/763pUZzXgLoMJ5aUrAnsOlduiAUFjjA3NStciPQMv5As6is8EyDMqi 30w0SEIwqRVw0gqC+C45imf/WYjAZP8bm/4+lIA+r/tOEaK87LdmTpqtOE+UusVhmx34 FOlKwNcMPx5RyWUf0+cw2z34R80+luBI8CfYoE+oPdiExsd7l+14PQfOaxlUg2IwI2Ax bmChQZVVPVbBUormoiHO9DY32HgCUzQ5xPl0lgEFeSCQePDqr4BQzJ8ghlZfn779mgNg fnuMVFzzz/4PlnjFLYogPzxIZypeQYkeAQknXFn9g2lBRAJa6RoQ5YEIYhqqfz5dO/K2 lkhQ== X-Gm-Message-State: APjAAAVEQ/dnlAD5HQjvqKP8SJtdMyOj1qUBKPAhAwVdZ8YRhVSQU9O7 shHHPoFEswnX5SmzQ5rp2lg100tK X-Google-Smtp-Source: APXvYqyooLVKPOYb/HE3p4Psit2lFGv7oSt7Ho3QLJPVHpHsDB63sPZt+SySHPi8Op38o/N/y1lxyw== X-Received: by 2002:adf:b64b:: with SMTP id i11mr14297902wre.58.1576850032439; Fri, 20 Dec 2019 05:53:52 -0800 (PST) Received: from hthiery01.sab.local ([213.135.10.150]) by smtp.gmail.com with ESMTPSA id t190sm9830138wmt.44.2019.12.20.05.53.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 20 Dec 2019 05:53:51 -0800 (PST) From: Heiko Thiery To: buildroot@buildroot.org, =?utf-8?q?Jan_Kundr=C3=A1t?= Date: Fri, 20 Dec 2019 14:53:45 +0100 Message-Id: <20191220135345.16045-4-heiko.thiery@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191220135345.16045-1-heiko.thiery@gmail.com> References: <20191220135345.16045-1-heiko.thiery@gmail.com> MIME-Version: 1.0 Subject: [Buildroot] [PATCH v2 3/3] package/sysrepo: bump to version 1.3.21 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 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" From: Heiko Thiery This Sysrepo is a complete rewrite of the older versions. Thus several changes are made in the package to support this new version. - several cmake config options dropped - no systemd service scripts availble in upstream version - no sysrepod daemon available - drop patches that are no longer needed - add new patch Signed-off-by: Heiko Thiery --- ...espect-CMAKE_INSTALL_PREFIX-and-DEST.patch | 33 ---------- ...CHANGE-create-plugins-dir-if-it-does.patch | 41 ++++++++++++ ...t-make-systemd-unit-dir-configurable.patch | 40 ------------ ...BUGFIX-create-plugins-dir-recursivel.patch | 65 +++++++++++++++++++ package/sysrepo/S50sysrepod | 48 -------------- package/sysrepo/sysrepo.hash | 4 +- package/sysrepo/sysrepo.mk | 31 ++------- 7 files changed, 112 insertions(+), 150 deletions(-) delete mode 100644 package/sysrepo/0001-CMakeLists.txt-respect-CMAKE_INSTALL_PREFIX-and-DEST.patch create mode 100644 package/sysrepo/0001-sysrepo-plugind-CHANGE-create-plugins-dir-if-it-does.patch delete mode 100644 package/sysrepo/0002-CMakeLists.txt-make-systemd-unit-dir-configurable.patch create mode 100644 package/sysrepo/0002-sysrpeo-plugind-BUGFIX-create-plugins-dir-recursivel.patch delete mode 100644 package/sysrepo/S50sysrepod 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 deleted file mode 100644 index 0db49c99d3..0000000000 --- a/package/sysrepo/0001-CMakeLists.txt-respect-CMAKE_INSTALL_PREFIX-and-DEST.patch +++ /dev/null @@ -1,33 +0,0 @@ -From c4a2195febbd5d436f8de79d8391d8da9aa60ac4 Mon Sep 17 00:00:00 2001 -From: Michael Walle -Date: Thu, 10 Oct 2019 14:58:16 +0200 -Subject: [PATCH] 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/0001-sysrepo-plugind-CHANGE-create-plugins-dir-if-it-does.patch b/package/sysrepo/0001-sysrepo-plugind-CHANGE-create-plugins-dir-if-it-does.patch new file mode 100644 index 0000000000..31d27f508d --- /dev/null +++ b/package/sysrepo/0001-sysrepo-plugind-CHANGE-create-plugins-dir-if-it-does.patch @@ -0,0 +1,41 @@ +From 28c27e2001b709a9cae1db0aba2185ec86ba0454 Mon Sep 17 00:00:00 2001 +From: Michal Vasko +Date: Thu, 19 Dec 2019 14:01:00 +0100 +Subject: [PATCH 1/9] sysrepo-plugind CHANGE create plugins dir if it does not + exist + +Fixes #1719 + +[Patch from https://github.com/sysrepo/sysrepo/commit/28c27e2001b709a9cae1db0aba2185ec86ba0454] + +Signed-off-by: Heiko Thiery +--- + src/executables/sysrepo-plugind.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/src/executables/sysrepo-plugind.c b/src/executables/sysrepo-plugind.c +index 6b11bad6..ddb41c26 100644 +--- a/src/executables/sysrepo-plugind.c ++++ b/src/executables/sysrepo-plugind.c +@@ -225,6 +225,18 @@ load_plugins(struct srpd_plugin_s **plugins, int *plugin_count) + plugins_dir = SRPD_PLUGINS_PATH; + } + ++ /* create the directory if it does not exist */ ++ if (access(plugins_dir, F_OK) == -1) { ++ if (errno != ENOENT) { ++ error_print(0, "Checking plugins dir existence failed (%s).", strerror(errno)); ++ return -1; ++ } ++ if (mkdir(plugins_dir, 00777) == -1) { ++ error_print(0, "Creating plugins dir \"%s\" failed (%s).", plugins_dir, strerror(errno)); ++ return -1; ++ } ++ } ++ + dir = opendir(plugins_dir); + if (!dir) { + error_print(0, "Opening \"%s\" directory failed (%s).", plugins_dir, strerror(errno)); +-- +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 deleted file mode 100644 index bee8d99046..0000000000 --- a/package/sysrepo/0002-CMakeLists.txt-make-systemd-unit-dir-configurable.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 906927b4ee2dd0d5bd669d193fc851d14919fbd1 Mon Sep 17 00:00:00 2001 -From: Michael Walle -Date: Thu, 10 Oct 2019 14:38:57 +0200 -Subject: [PATCH] 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/0002-sysrpeo-plugind-BUGFIX-create-plugins-dir-recursivel.patch b/package/sysrepo/0002-sysrpeo-plugind-BUGFIX-create-plugins-dir-recursivel.patch new file mode 100644 index 0000000000..9b9734f22c --- /dev/null +++ b/package/sysrepo/0002-sysrpeo-plugind-BUGFIX-create-plugins-dir-recursivel.patch @@ -0,0 +1,65 @@ +From 353faffe13852c4204f158b5d4301405bd222c44 Mon Sep 17 00:00:00 2001 +From: Michal Vasko +Date: Fri, 20 Dec 2019 13:40:35 +0100 +Subject: [PATCH 9/9] sysrpeo-plugind BUGFIX create plugins dir recursively + +Refs #1719 + +[Patch from https://github.com/sysrepo/sysrepo/commit/353faffe13852c4204f158b5d4301405bd222c44] + +Signed-off-by: Heiko Thiery +--- + src/executables/sysrepo-plugind.c | 30 +++++++++++++++++++++++++++++- + 1 file changed, 29 insertions(+), 1 deletion(-) + +diff --git a/src/executables/sysrepo-plugind.c b/src/executables/sysrepo-plugind.c +index ddb41c26..ca22140e 100644 +--- a/src/executables/sysrepo-plugind.c ++++ b/src/executables/sysrepo-plugind.c +@@ -206,6 +206,34 @@ daemon_init(int debug, sr_log_level_t log_level) + sr_log_syslog("sysrepo-plugind", log_level); + } + ++/* from src/common.c */ ++int ++sr_mkpath(const char *path, mode_t mode) ++{ ++ char *p, *dup; ++ ++ dup = strdup(path); ++ for (p = strchr(dup + 1, '/'); p; p = strchr(p + 1, '/')) { ++ *p = '\0'; ++ if (mkdir(dup, mode) == -1) { ++ if (errno != EEXIST) { ++ *p = '/'; ++ return -1; ++ } ++ } ++ *p = '/'; ++ } ++ free(dup); ++ ++ if (mkdir(path, mode) == -1) { ++ if (errno != EEXIST) { ++ return -1; ++ } ++ } ++ ++ return 0; ++} ++ + static int + load_plugins(struct srpd_plugin_s **plugins, int *plugin_count) + { +@@ -231,7 +259,7 @@ load_plugins(struct srpd_plugin_s **plugins, int *plugin_count) + error_print(0, "Checking plugins dir existence failed (%s).", strerror(errno)); + return -1; + } +- if (mkdir(plugins_dir, 00777) == -1) { ++ if (sr_mkpath(plugins_dir, 00777) == -1) { + error_print(0, "Creating plugins dir \"%s\" failed (%s).", plugins_dir, strerror(errno)); + return -1; + } +-- +2.20.1 + diff --git a/package/sysrepo/S50sysrepod b/package/sysrepo/S50sysrepod deleted file mode 100644 index f1e8a03c6d..0000000000 --- a/package/sysrepo/S50sysrepod +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/sh - -DAEMON="sysrepod" -PIDFILE="/var/run/$DAEMON.pid" - -SYSREPOD_ARGS="" - -# shellcheck source=/dev/null -[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" - -start() { - printf 'Starting %s: ' "$DAEMON" - start-stop-daemon -S -q -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}" - exit 1 -esac diff --git a/package/sysrepo/sysrepo.hash b/package/sysrepo/sysrepo.hash index 48d8290797..ff2e1166b2 100644 --- a/package/sysrepo/sysrepo.hash +++ b/package/sysrepo/sysrepo.hash @@ -1,2 +1,2 @@ -sha256 d3066c1776a6727b96bbb3517eb646d0bb6037e8e1addcbe873cae590493843e sysrepo-0.7.8.tar.gz -sha256 28a773bfffa828ec38c030fc8ace5f3aeb90926ec1309bbd135441c4387ce3cd LICENSE +sha256 be405a33b1713d1114f3c092a6349b25a2de2a0f43a15dc6984c029f70230b3b sysrepo-1.3.21.tar.gz +sha256 b40930bbcf80744c86c46a12bc9da056641d722716c378f5659b9e555ef833e1 LICENSE diff --git a/package/sysrepo/sysrepo.mk b/package/sysrepo/sysrepo.mk index f693ff70da..02ae756bb8 100644 --- a/package/sysrepo/sysrepo.mk +++ b/package/sysrepo/sysrepo.mk @@ -4,7 +4,7 @@ # ################################################################################ -SYSREPO_VERSION = 0.7.8 +SYSREPO_VERSION = 1.3.21 SYSREPO_SITE = $(call github,sysrepo,sysrepo,v$(SYSREPO_VERSION)) SYSREPO_INSTALL_STAGING = YES SYSREPO_LICENSE = Apache-2.0 @@ -13,45 +13,22 @@ SYSREPO_DEPENDENCIES = libev libavl libyang pcre protobuf-c host-sysrepo HOST_SYSREPO_DEPENDENCIES = host-libev host-libavl host-libyang host-pcre host-protobuf-c SYSREPO_CONF_OPTS = \ - -DIS_DEVELOPER_CONFIGURATION=OFF \ - -DGEN_PYTHON2_TESTS=OFF \ - -DENABLE_TESTS=OFF \ - -DGEN_CPP_BINDINGS=OFF \ - -DGEN_LANGUAGE_BINDINGS=OFF \ - -DGEN_PYTHON_BINDINGS=OFF \ - -DBUILD_CPP_EXAMPLES=OFF \ - -DCALL_SYSREPOCTL_BIN=$(HOST_DIR)/bin/sysrepoctl \ - -DCALL_SYSREPOCFG_BIN=$(HOST_DIR)/bin/sysrepocfg \ + -DCMAKE_BUILD_TYPE=Release \ -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 ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) SYSREPO_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic endif 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 HOST_SYSREPO_CONF_OPTS = \ - -DGEN_PYTHON2_TESTS=OFF \ - -DENABLE_TESTS=OFF \ - -DGEN_CPP_BINDINGS=OFF \ - -DGEN_LANGUAGE_BINDINGS=OFF \ - -DGEN_PYTHON_BINDINGS=OFF \ - -DCALL_TARGET_BINS_DIRECTLY=OFF \ + -DCMAKE_BUILD_TYPE=Release \ -DBUILD_EXAMPLES=OFF \ - -DBUILD_CPP_EXAMPLES=OFF \ - -DREPOSITORY_LOC=$(HOST_DIR)/etc/sysrepo \ - -DSUBSCRIPTIONS_SOCKET_DIR=$(HOST_DIR)/var/run/sysrepo-subscriptions + -DREPO_PATH=$(TARGET_DIR)/etc/sysrepo $(eval $(cmake-package)) $(eval $(host-cmake-package))