* [Buildroot] [PATCH v2 2/3] package/libnetconf2: bump to version 1.1.3
2019-12-20 13:53 [Buildroot] [PATCH v2 0/3] Update the sysrepo package and dependend libs Heiko Thiery
2019-12-20 13:53 ` [Buildroot] [PATCH v2 1/3] package/libyang; bump to version 1.0.109 Heiko Thiery
@ 2019-12-20 13:53 ` Heiko Thiery
2019-12-21 21:58 ` Thomas Petazzoni
2019-12-20 13:53 ` [Buildroot] [PATCH v2 3/3] package/sysrepo: bump to version 1.3.21 Heiko Thiery
2 siblings, 1 reply; 9+ messages in thread
From: Heiko Thiery @ 2019-12-20 13:53 UTC (permalink / raw)
To: buildroot
Other changes:
- Remove patch (already in upstream version)
Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
Signed-off-by: Heiko Thiery <heiko.thiery@kontron.com>
---
.../0001-Add-support-for-musl-libc.patch | 65 -------------------
package/libnetconf2/libnetconf2.hash | 2 +-
package/libnetconf2/libnetconf2.mk | 2 +-
3 files changed, 2 insertions(+), 67 deletions(-)
delete mode 100644 package/libnetconf2/0001-Add-support-for-musl-libc.patch
diff --git a/package/libnetconf2/0001-Add-support-for-musl-libc.patch b/package/libnetconf2/0001-Add-support-for-musl-libc.patch
deleted file mode 100644
index 44023a391d..0000000000
--- a/package/libnetconf2/0001-Add-support-for-musl-libc.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From 153fe40bd60499677e825e66501e8601536e0323 Mon Sep 17 00:00:00 2001
-From: Rosen Penev <rosenp@gmail.com>
-Date: Mon, 15 Jul 2019 18:15:28 -0700
-Subject: [PATCH] Add support for musl libc
-
-musl does not support pthread_rwlockattr_setkind_np. Don't use it if it is
-not available.
-
-Patch comes from upstream commit:
-https://github.com/CESNET/libnetconf2/commit/153fe40bd60499677e825e66501e8601536e0323
-
-Signed-of-by: Heiko Thiery <heiko.thiery@kontron.com>
----
- CMakeLists.txt | 1 +
- src/config.h.in | 3 +++
- src/session_server.c | 2 ++
- 3 files changed, 6 insertions(+)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 624b8c8..c05cd03 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -176,6 +176,7 @@ target_link_libraries(netconf2 ${CMAKE_THREAD_LIBS_INIT})
- set(CMAKE_REQUIRED_LIBRARIES pthread)
- check_include_file(stdatomic.h HAVE_STDATOMIC)
- check_function_exists(pthread_mutex_timedlock HAVE_PTHREAD_MUTEX_TIMEDLOCK)
-+check_function_exists(pthread_rwlockattr_setkind_np HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP)
-
- # dependencies - openssl
- if(ENABLE_TLS OR ENABLE_DNSSEC OR ENABLE_SSH)
-diff --git a/src/config.h.in b/src/config.h.in
-index 96d33c5..30dd8a3 100644
---- a/src/config.h.in
-+++ b/src/config.h.in
-@@ -73,4 +73,7 @@
- */
- #define NC_PS_QUEUE_SIZE @MAX_PSPOLL_THREAD_COUNT@
-
-+/* Portability feature-check macros. */
-+#cmakedefine HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP
-+
- #endif /* NC_CONFIG_H_ */
-diff --git a/src/session_server.c b/src/session_server.c
-index 636b1a2..3b747ed 100644
---- a/src/session_server.c
-+++ b/src/session_server.c
-@@ -560,6 +560,7 @@ nc_server_init(struct ly_ctx *ctx)
- errno=0;
-
- if (pthread_rwlockattr_init(&attr) == 0) {
-+#if defined(HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP)
- if (pthread_rwlockattr_setkind_np(&attr, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP) == 0) {
- if (pthread_rwlock_init(&server_opts.endpt_lock, &attr) != 0) {
- ERR("%s: failed to init rwlock(%s).", __FUNCTION__, strerror(errno));
-@@ -570,6 +571,7 @@ nc_server_init(struct ly_ctx *ctx)
- } else {
- ERR("%s: failed set attribute (%s).", __FUNCTION__, strerror(errno));
- }
-+#endif
- pthread_rwlockattr_destroy(&attr);
- } else {
- ERR("%s: failed init attribute (%s).", __FUNCTION__, strerror(errno));
---
-2.20.1
-
diff --git a/package/libnetconf2/libnetconf2.hash b/package/libnetconf2/libnetconf2.hash
index 9b78049ffb..5cd9b99062 100644
--- a/package/libnetconf2/libnetconf2.hash
+++ b/package/libnetconf2/libnetconf2.hash
@@ -1,2 +1,2 @@
-sha256 760061fb1c1fe87a2a068d5a9e5affcef280044c5940ef344854e9ea7ec26452 libnetconf2-0.12-r2.tar.gz
+sha256 38e780cdd0135e9c7fe44b5190a1acc8c33cb28aa395c329893b019a57b1f783 libnetconf2-1.1.3.tar.gz
sha256 085122ea91161812dda9cd2f42d8c50ecc3a48cc1a4f15044d86cfc5aa887577 LICENSE
diff --git a/package/libnetconf2/libnetconf2.mk b/package/libnetconf2/libnetconf2.mk
index 49a6de60a9..bd25c69e0e 100644
--- a/package/libnetconf2/libnetconf2.mk
+++ b/package/libnetconf2/libnetconf2.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBNETCONF2_VERSION = 0.12-r2
+LIBNETCONF2_VERSION = 1.1.3
LIBNETCONF2_SITE = $(call github,CESNET,libnetconf2,v$(LIBNETCONF2_VERSION))
LIBNETCONF2_INSTALL_STAGING = YES
LIBNETCONF2_LICENSE = BSD-3-Clause
--
2.20.1
^ permalink raw reply related [flat|nested] 9+ messages in thread* [Buildroot] [PATCH v2 3/3] package/sysrepo: bump to version 1.3.21
2019-12-20 13:53 [Buildroot] [PATCH v2 0/3] Update the sysrepo package and dependend libs Heiko Thiery
2019-12-20 13:53 ` [Buildroot] [PATCH v2 1/3] package/libyang; bump to version 1.0.109 Heiko Thiery
2019-12-20 13:53 ` [Buildroot] [PATCH v2 2/3] package/libnetconf2: bump to version 1.1.3 Heiko Thiery
@ 2019-12-20 13:53 ` Heiko Thiery
2019-12-21 21:59 ` Thomas Petazzoni
2 siblings, 1 reply; 9+ messages in thread
From: Heiko Thiery @ 2019-12-20 13:53 UTC (permalink / raw)
To: buildroot
From: Heiko Thiery <heiko.thiery@kontron.com>
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 <heiko.thiery@kontron.com>
---
...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 <michael@walle.cc>
-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 <heiko.thiery@gmail.com>
----
- 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 <mvasko@cesnet.cz>
+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 <heiko.thiery@kontron.com>
+---
+ 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 <michael@walle.cc>
-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 <heiko.thiery@gmail.com>
----
- 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 <mvasko@cesnet.cz>
+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 <heiko.thiery@kontron.com>
+---
+ 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))
--
2.20.1
^ permalink raw reply related [flat|nested] 9+ messages in thread