Browse Source

Merge pull request #7175 from sartura/sysrepo-release-0.7.5

Sysrepo release 0.7.5
lilik-openwrt-22.03
Hannu Nyman 6 years ago
committed by GitHub
parent
commit
0a9ed54ac3
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
20 changed files with 201 additions and 178 deletions
  1. +6
    -13
      libs/libnetconf2/Makefile
  2. +47
    -0
      libs/libnetconf2/patches/001-fix-pthread-error
  3. +5
    -10
      libs/libyang/Makefile
  4. +0
    -0
      net/Netopeer2/Config_keystored.in
  5. +27
    -29
      net/Netopeer2/Makefile
  6. +5
    -5
      net/Netopeer2/files/netopeer2-keystored-keygen.default
  7. +1
    -1
      net/Netopeer2/files/netopeer2-keystored.default
  8. +11
    -1
      net/Netopeer2/files/netopeer2-server.default
  9. +21
    -0
      net/Netopeer2/files/netopeer2-server.init
  10. +0
    -0
      net/Netopeer2/files/stock_config.xml
  11. +11
    -11
      net/Netopeer2/patches/001-fix-for-cmake-build
  12. +18
    -0
      net/Netopeer2/patches/002-fix-keystored-cross-compile
  13. +0
    -47
      net/netopeer2/files/netopeer2-server.init
  14. +19
    -6
      net/sysrepo/Makefile
  15. +1
    -1
      net/sysrepo/files/libsysrepo.default
  16. +3
    -3
      net/sysrepo/files/sysrepo.init
  17. +4
    -23
      net/sysrepo/patches/001-add-generated-protobufc-files
  18. +10
    -10
      net/sysrepo/patches/002-remove-buildtime-module-install
  19. +0
    -12
      net/sysrepo/patches/003-missing-time-header
  20. +12
    -6
      net/sysrepo/patches/004-disable-sysrepod-autostart

+ 6
- 13
libs/libnetconf2/Makefile View File

@ -8,27 +8,20 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libnetconf2
PKG_VERSION:=0.12-r1
PKG_LICENSE:=BSD-3-Clause
PKG_MAINTAINER:=Mislav Novakovic <mislav.novakovic@sartura.hr>
PKG_VERSION:=0.11.37
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/CESNET/libnetconf2/tar.gz/v$(PKG_VERSION)?
PKG_HASH:=86269d3f1bc85bb17d8823d214f9a676ee3b14ee18a0b87a230380df8503e8f5
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=46d56e08b161eb60f37410dae4d5e1a8a1bedd58
PKG_MIRROR_HASH:=e12007b69eee42d1eb9925a93bcac7a71139583a76a59c78039b48cc20fc431f
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz
PKG_SOURCE_URL:=https://github.com/cesnet/libnetconf2/
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION)
PKG_BUILD_ROOT:=$(BUILD_DIR)/$(PKG_SOURCE_SUBDIR)
PKG_BUILD_DIR:=$(PKG_BUILD_ROOT)
CMAKE_INSTALL:=1
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
@ -37,7 +30,7 @@ define Package/libnetconf2
CATEGORY:=Libraries
TITLE:=NETCONF library
URL:=$(PKG_SOURCE_URL)
DEPENDS:= +libyang +libssh +libopenssl
DEPENDS:= +libyang +libssh +libopenssl +libpthread
endef
define Package/libnetconf2/description


+ 47
- 0
libs/libnetconf2/patches/001-fix-pthread-error View File

@ -0,0 +1,47 @@
Index: libnetconf2-0.12-r1/CMakeLists.txt
===================================================================
--- libnetconf2-0.12-r1.orig/CMakeLists.txt
+++ libnetconf2-0.12-r1/CMakeLists.txt
@@ -172,8 +172,10 @@ target_link_libraries(netconf2 ${CMAKE_T
# check availability for some pthread functions
set(CMAKE_REQUIRED_LIBRARIES pthread)
+include(CheckFunctionExists)
check_function_exists(pthread_spin_lock HAVE_SPINLOCK)
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)
Index: libnetconf2-0.12-r1/src/config.h.in
===================================================================
--- libnetconf2-0.12-r1.orig/src/config.h.in
+++ libnetconf2-0.12-r1/src/config.h.in
@@ -65,4 +65,7 @@
*/
#define NC_PS_QUEUE_SIZE @MAX_PSPOLL_THREAD_COUNT@
+/* Portability feature-check macros. */
+#cmakedefine HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP
+
#endif /* NC_CONFIG_H_ */
Index: libnetconf2-0.12-r1/src/session_server.c
===================================================================
--- libnetconf2-0.12-r1.orig/src/session_server.c
+++ libnetconf2-0.12-r1/src/session_server.c
@@ -520,6 +520,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));
@@ -530,6 +531,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));

+ 5
- 10
libs/libyang/Makefile View File

@ -8,21 +8,16 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libyang
PKG_VERSION:=0.15.130
PKG_RELEASE=$(PKG_SOURCE_VERSION)
PKG_VERSION:=0.16-r1
PKG_LICENSE:=GPL-2.0+
PKG_MAINTAINER:=Mislav Novakovic <mislav.novakovic@sartura.hr>
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=d6baaf90e24af3b07649e9dda6fc0d9b272b2ebc
PKG_MIRROR_HASH:=eace667ae787ac27b7c717a52f672d05e55608c47d9e54d39d60f8ab5e47f0c9
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz
PKG_SOURCE_URL:=https://github.com/CESNET/libyang.git
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/CESNET/libyang/tar.gz/v$(PKG_VERSION)?
PKG_HASH:=43ab396fc7529251dc9cf02fbd8da48dcf476b998ea0f9e66197632988969074
PKG_BUILD_ROOT:=$(BUILD_DIR)/$(PKG_SOURCE_SUBDIR)
PKG_BUILD_DIR:=$(PKG_BUILD_ROOT)
CMAKE_INSTALL:=1
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1


net/netopeer2/Config_keystored.in → net/Netopeer2/Config_keystored.in View File


net/netopeer2/Makefile → net/Netopeer2/Makefile View File


net/netopeer2/files/netopeer2-keystored-keygen.default → net/Netopeer2/files/netopeer2-keystored-keygen.default View File


net/netopeer2/files/netopeer2-keystored.default → net/Netopeer2/files/netopeer2-keystored.default View File


net/netopeer2/files/netopeer2-server.default → net/Netopeer2/files/netopeer2-server.default View File


+ 21
- 0
net/Netopeer2/files/netopeer2-server.init View File

@ -0,0 +1,21 @@
#!/bin/sh /etc/rc.common
START=99
STOP=11
USE_PROCD=1
PROG=/bin/netopeer2-server
start_service() {
procd_open_instance
procd_set_param command $PROG
procd_append_param command -d -v 0
procd_set_param respawn
procd_close_instance
}
stop_service()
{
service_stop ${PROG}
rm /var/run/netopeer2-server.pid
}

net/netopeer2/files/stock_config.xml → net/Netopeer2/files/stock_config.xml View File


net/netopeer2/patches/001-fix-for-cmake-build → net/Netopeer2/patches/001-fix-for-cmake-build View File


+ 18
- 0
net/Netopeer2/patches/002-fix-keystored-cross-compile View File

@ -0,0 +1,18 @@
Index: Netopeer2-0.6-r1/keystored/CMakeLists.txt
===================================================================
--- Netopeer2-0.6-r1.orig/keystored/CMakeLists.txt
+++ Netopeer2-0.6-r1/keystored/CMakeLists.txt
@@ -69,6 +69,8 @@ find_package(SYSREPO REQUIRED)
target_link_libraries(keystored ${SYSREPO_LIBRARIES})
include_directories(${SYSREPO_INCLUDE_DIRS})
+# skip step because of cross compiling
+if (FALSE)
# get sysrepo plugins directory
if (NOT SR_PLUGINS_DIR)
if (PKG_CONFIG_FOUND)
@@ -154,3 +156,4 @@ add_custom_target(install-scripts-ide-ke
# plugins should be installed into sysrepo plugins dir
install(TARGETS keystored DESTINATION ${SR_PLUGINS_DIR})
+endif()

+ 0
- 47
net/netopeer2/files/netopeer2-server.init View File

@ -1,47 +0,0 @@
#!/bin/sh /etc/rc.common
START=99
STOP=11
USE_PROCD=1
PROG=/bin/netopeer2-server
start_service() {
PERSIST_FILE=/etc/sysrepo/data/ietf-keystore.persist
while [ ! -f $PERSIST_FILE ]
do
echo "no persist file yet"
sleep 3
done
RETRY_CNT=5
LAST_LINE=$(tail -n1 $PERSIST_FILE)
while [[ -f $PERSIST_FILE && $LAST_LINE != "</module>" ]]
do
sleep 1
echo "$RETRY_CNT: $LAST_LINE"
LAST_LINE=$(tail -n1 $PERSIST_FILE)
RETRY_CNT=$(($RETRY_CNT-1))
if [ $RETRY_CNT -le 0 ];
then
rm $PERSIST_FILE
RETRY_CNT=5
fi
done
procd_open_instance
procd_set_param command $PROG
procd_append_param command -d -v 0
procd_set_param respawn
procd_close_instance
}
stop_service()
{
service_stop ${PROG}
}

+ 19
- 6
net/sysrepo/Makefile View File

@ -11,12 +11,12 @@ PKG_LICENSE:=ASL-2.0
PKG_MAINTAINER:=Mislav Novakovic <mislav.novakovic@sartura.hr>
PKG_NAME:=sysrepo
PKG_VERSION:=0.7.4
PKG_VERSION:=0.7.5
PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/sysrepo/sysrepo/tar.gz/v$(PKG_VERSION)?
PKG_HASH:=238456bbb18149fd0fa5ebc9acb3c6e3129474c796db7447c2a95dcd40ab3084
PKG_HASH:=3ef20e1e005fd22f13d1996231ccfc72241f3f76c5700397ad59dda0f9b29f72
CMAKE_INSTALL:=1
@ -40,7 +40,7 @@ define Package/libsysrepo
CATEGORY:=Utilities
URL:=$(PKG_SOURCE_URL)
TITLE:=YANG-based data store library
DEPENDS:=+libyang +libprotobuf-c +libev +libredblack +librt +SYSREPO_BINDINGS:libstdcpp +SYSREPO_PYTHON:python-base +SYSREPO_LUA:lua
DEPENDS:=+libyang +libprotobuf-c +libev +libredblack +librt +libpthread +SYSREPO_BINDINGS:libstdcpp +SYSREPO_PYTHON:python-base +SYSREPO_LUA:lua
MENU:=1
endef
@ -90,7 +90,8 @@ CMAKE_OPTIONS += \
-DOPER_DATA_PROVIDE_TIMEOUT=4 \
-DNOTIF_AGE_TIMEOUT=120 \
-DNOTIF_TIME_WINDOW=20 \
-DUSE_SR_MEM_MGMT=0
-DUSE_SR_MEM_MGMT=0 \
-DFILE_FORMAT_EXT:STRING=xml
ifeq ($(CONFIG_SYSREPO_LUA),y)
CMAKE_OPTIONS += \
@ -108,7 +109,8 @@ ifeq ($(CONFIG_SYSREPO_BINDINGS),y)
CMAKE_OPTIONS += \
-DCMAKE_DISABLE_FIND_PACKAGE_SWIG=FALSE \
-DGEN_LANGUAGE_BINDINGS:BOOL=TRUE \
-DSWIG_DIR=$(STAGING_DIR)/host/share/swig
-DSWIG_DIR=$(STAGING_DIR)/host/share/swig \
-DCALL_TARGET_BINS_DIRECTLY=OFF
endif
define Package/libsysrepo/install
@ -121,7 +123,7 @@ define Package/libsysrepo/install
$(INSTALL_CONF) $(PKG_BUILD_DIR)/yang/sysrepo-persistent-data.yang $(1)/etc/sysrepo/yang/internal
$(INSTALL_DIR) $(1)/etc/sysrepo/yang
$(INSTALL_DATA) $(PKG_BUILD_DIR)/yang/ietf-netconf-acm@2012-02-22.yang $(1)/etc/sysrepo/yang/ietf-netconf-acm@2012-02-22.yang
$(INSTALL_DATA) $(PKG_BUILD_DIR)/yang/ietf-netconf-acm@2018-02-14.yang $(1)/etc/sysrepo/yang/ietf-netconf-acm@2018-02-14.yang
$(INSTALL_DATA) $(PKG_BUILD_DIR)/yang/ietf-netconf-notifications.yang $(1)/etc/sysrepo/yang/ietf-netconf-notifications@2012-02-06.yang
$(INSTALL_DATA) $(PKG_BUILD_DIR)/yang/nc-notifications.yang $(1)/etc/sysrepo/yang/nc-notifications@2008-07-14.yang
$(INSTALL_DATA) $(PKG_BUILD_DIR)/yang/notifications.yang $(1)/etc/sysrepo/yang/notifications@2008-07-14.yang
@ -169,6 +171,17 @@ define Package/sysrepocfg/install
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/sysrepocfg $(1)/bin/
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libsysrepo.pc $(1)/usr/lib/pkgconfig/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/src/libsysrepo.so* $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/include
$(CP) $(PKG_BUILD_DIR)/inc/* $(1)/usr/include/
endef
$(eval $(call BuildPackage,libsysrepo))
$(eval $(call BuildPackage,sysrepo))
$(eval $(call BuildPackage,sysrepoctl))


+ 1
- 1
net/sysrepo/files/libsysrepo.default View File

@ -15,7 +15,7 @@ if [ -x /bin/sysrepoctl ]; then
match=$(sysrepoctl -l | grep "ietf-netconf-acm ")
if [ ! "$match" ]; then
sysrepoctl --install --yang=/etc/sysrepo/yang/ietf-netconf-acm@2012-02-22.yang -p 644
sysrepoctl --install --yang=/etc/sysrepo/yang/ietf-netconf-acm@2018-02-14.yang -p 644
fi
match=$(sysrepoctl -l | grep "ietf-netconf-notifications ")


+ 3
- 3
net/sysrepo/files/sysrepo.init View File

@ -4,12 +4,12 @@ START=60
STOP=10
USE_PROCD=1
PROG_DEAMON=/bin/sysrepod
PROG_DAEMON=/bin/sysrepod
PROG_PLUGIN=/bin/sysrepo-plugind
start_service() {
procd_open_instance
procd_set_param command ${PROG_DEAMON}
procd_set_param command ${PROG_DAEMON}
procd_append_param command -d -l 0
procd_set_param respawn
procd_close_instance
@ -25,6 +25,6 @@ stop_service()
{
kill -9 `ps | grep netopeer2-server | grep -v grep | awk '{print $1}'` >/dev/null 2>&1
service_stop ${PROG_PLUGIN}
service_stop ${PROG_DEAMON}
service_stop ${PROG_DAEMON}
rm -rf /var/run/sysrepo-subscriptions/*
}

net/sysrepo/patches/001-protobuf-remove-protoc-command-from-cmake-file → net/sysrepo/patches/001-add-generated-protobufc-files View File


+ 10
- 10
net/sysrepo/patches/002-remove-buildtime-module-install View File

@ -1,26 +1,26 @@
Index: sysrepo-e4a5705a4c5293ba121048c71899b98243d99edf/CMakeLists.txt
Index: sysrepo-0.7.5/CMakeLists.txt
===================================================================
--- sysrepo-e4a5705a4c5293ba121048c71899b98243d99edf.orig/CMakeLists.txt
+++ sysrepo-e4a5705a4c5293ba121048c71899b98243d99edf/CMakeLists.txt
@@ -280,7 +280,7 @@ install (FILES ${INTERNAL_YANGS} DESTINA
--- sysrepo-0.7.5.orig/CMakeLists.txt
+++ sysrepo-0.7.5/CMakeLists.txt
@@ -303,7 +303,7 @@ install (FILES ${INTERNAL_YANGS} DESTINA
# install NACM YANG module
if(ENABLE_NACM)
- INSTALL_YANG("ietf-netconf-acm" "@2012-02-22" "644")
+ # INSTALL_YANG("ietf-netconf-acm" "@2012-02-22" "644")
- INSTALL_YANG("ietf-netconf-acm" "@2018-02-14" "644")
+ #INSTALL_YANG("ietf-netconf-acm" "@2018-02-14" "644")
endif(ENABLE_NACM)
find_package(PkgConfig QUIET)
@@ -304,9 +304,9 @@ if(WITH_SYSTEMD)
@@ -327,9 +327,9 @@ if(WITH_SYSTEMD)
FILES_MATCHING PATTERN "*.service")
endif()
-INSTALL_YANG("ietf-netconf-notifications" "" "666")
-INSTALL_YANG("nc-notifications" "" "666")
-INSTALL_YANG("notifications" "" "666")
+# INSTALL_YANG("ietf-netconf-notifications" "" "666")
+# INSTALL_YANG("nc-notifications" "" "666")
+# INSTALL_YANG("notifications" "" "666")
+#INSTALL_YANG("ietf-netconf-notifications" "" "666")
+#INSTALL_YANG("nc-notifications" "" "666")
+#INSTALL_YANG("notifications" "" "666")
if(GEN_LANGUAGE_BINDINGS)
add_subdirectory(swig)

+ 0
- 12
net/sysrepo/patches/003-missing-time-header View File

@ -1,12 +0,0 @@
Index: sysrepo-e4a5705a4c5293ba121048c71899b98243d99edf/inc/sysrepo.h
===================================================================
--- sysrepo-e4a5705a4c5293ba121048c71899b98243d99edf.orig/inc/sysrepo.h
+++ sysrepo-e4a5705a4c5293ba121048c71899b98243d99edf/inc/sysrepo.h
@@ -51,6 +51,7 @@
* @ref xp_page "XPath Addressing" is used for node identification in data-related calls.
*/
+#include <time.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>

+ 12
- 6
net/sysrepo/patches/004-disable-sysrepod-autostart View File

@ -1,12 +1,11 @@
Index: sysrepo-e4a5705a4c5293ba121048c71899b98243d99edf/src/clientlib/client_library.c
Index: sysrepo-0.7.5/src/clientlib/client_library.c
===================================================================
--- sysrepo-e4a5705a4c5293ba121048c71899b98243d99edf.orig/src/clientlib/client_library.c
+++ sysrepo-e4a5705a4c5293ba121048c71899b98243d99edf/src/clientlib/client_library.c
@@ -405,14 +405,6 @@ sr_connect(const char *app_name, const s
if (SR_ERR_OK != rc) {
--- sysrepo-0.7.5.orig/src/clientlib/client_library.c
+++ sysrepo-0.7.5/src/clientlib/client_library.c
@@ -396,13 +396,13 @@ sr_connect(const char *app_name, const s
if (opts & SR_CONN_DAEMON_REQUIRED) {
if ((opts & SR_CONN_DAEMON_START) && (0 == getuid())) {
- /* sysrepo daemon start requested and process is running under root privileges */
/* sysrepo daemon start requested and process is running under root privileges */
- SR_LOG_DBG_MSG("Sysrepo daemon not detected, starting it.");
- ret = system("sysrepod");
- if (0 == ret) {
@ -14,6 +13,13 @@ Index: sysrepo-e4a5705a4c5293ba121048c71899b98243d99edf/src/clientlib/client_lib
- } else {
- SR_LOG_WRN("Unable to start sysrepo daemon, error code=%d.", ret);
- }
+ //SR_LOG_DBG_MSG("Sysrepo daemon not detected, starting it.");
+ //ret = system("sysrepod");
+ //if (0 == ret) {
+ // SR_LOG_INF_MSG("Sysrepo daemon has been started.");
+ //} else {
+ // SR_LOG_WRN("Unable to start sysrepo daemon, error code=%d.", ret);
+ //}
/* retry to connect again in any case */
rc = cl_socket_connect(connection, SR_DAEMON_SOCKET);
CHECK_RC_LOG_GOTO(rc, cleanup, "Unable to connect to sysrepod: %s.", sr_strerror(rc));

Loading…
Cancel
Save