sysrepo: update to 1.4.2 12088/head
authorLucian Cristian <lucian.cristian@gmail.com>
Tue, 5 May 2020 18:07:28 +0000 (21:07 +0300)
committerLucian Cristian <lucian.cristian@gmail.com>
Wed, 6 May 2020 21:25:57 +0000 (00:25 +0300)
Signed-off-by: Lucian Cristian <lucian.cristian@gmail.com>
libs/libyang/Makefile
net/sysrepo/Makefile
net/sysrepo/files/libsysrepo.default
net/sysrepo/files/sysrepo.init
net/sysrepo/patches/002-remove-buildtime-module-install.patch [deleted file]
net/sysrepo/patches/004-disable-sysrepod-autostart.patch [deleted file]
net/sysrepo/patches/005-fix-struct-ucred-define.patch [deleted file]

index 69e227732a542b8457b1927c5a3fa27b145ef053..d719c23c22ea104fe9baeb60717edf2d4e15dddd 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libyang
 PKG_VERSION:=1.0.130
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/CESNET/libyang/tar.gz/v$(PKG_VERSION)?
@@ -34,6 +34,14 @@ define Package/libyang
   DEPENDS:=+libpcre +libpthread
 endef
 
+define Package/libyang-cpp
+  SECTION:=libs
+  CATEGORY:=Libraries
+  TITLE:=YANG data modeling C++ language library
+  URL:=https://github.com/CESNET/libyang
+  DEPENDS:=+libyang +libstdcpp
+endef
+
 define Package/yanglint
   SECTION:=utils
   CATEGORY:=Utilities
@@ -47,7 +55,12 @@ define Package/libyang/description
  The library is used e.g. in libnetconf2, Netopeer2 or sysrepo projects.
 endef
 
-CMAKE_OPTIONS += -DENABLE_LYD_PRIV:BOOL=ON
+CMAKE_OPTIONS += \
+       -DENABLE_LYD_PRIV:BOOL=ON \
+       -DCMAKE_BUILD_TYPE:String="Release" \
+       -DGEN_LANGUAGE_BINDINGS=ON \
+       -DGEN_PYTHON_BINDINGS=OFF
+
 
 define Package/libyang/install
        $(INSTALL_DIR) $(1)/usr/lib
@@ -60,10 +73,16 @@ define Package/libyang/install
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/libyang/user_types/* $(1)/usr/lib/libyang/user_types
 endef
 
+define Package/libyang-cpp/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libyang-cpp.so* $(1)/usr/lib/
+endef
+
 define Package/yanglint/install
        $(INSTALL_DIR) $(1)/usr/bin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/yanglint $(1)/usr/bin/
 endef
 
 $(eval $(call BuildPackage,libyang))
+$(eval $(call BuildPackage,libyang-cpp))
 $(eval $(call BuildPackage,yanglint))
index 13fc9d79cbaaf6d040a721b4ed6a1a750f742d67..6843f123dbefaa29b1c3613abe34682289441f05 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=sysrepo
-PKG_VERSION:=0.7.8
-PKG_RELEASE:=2
+PKG_VERSION:=1.4.2
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/sysrepo/sysrepo/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=d3066c1776a6727b96bbb3517eb646d0bb6037e8e1addcbe873cae590493843e
+PKG_HASH:=d84d4f092feab83b0a39fef5d0d62bc6ed1f0f8aa274329f2cbf0a95a6528d8a
 
 PKG_MAINTAINER:=Mislav Novakovic <mislav.novakovic@sartura.hr>
 PKG_LICENSE:=Apache-2.0
@@ -33,7 +33,7 @@ define Package/libsysrepo
   CATEGORY:=Libraries
   TITLE:=YANG-based data store library
   URL:=https://www.sysrepo.org/
-  DEPENDS:=+libyang +libprotobuf-c +libev +libredblack +librt +libpthread
+  DEPENDS:=+libyang +libatomic +libprotobuf-c +libev +libredblack +librt +libpthread
 endef
 
 define Package/python3-sysrepo
@@ -42,7 +42,7 @@ define Package/python3-sysrepo
   SUBMENU:=Python
   TITLE:=YANG-based data store library - Python 3 bindings
   URL:=https://www.sysrepo.org/
-  DEPENDS:=+libsysrepo +libstdcpp +python3-base
+  DEPENDS:=+libsysrepo +libstdcpp +python3-base +libyang-cpp
 endef
 
 define Package/sysrepo
@@ -76,46 +76,27 @@ endef
 SWIG_VERSION:=4.0.1
 
 CMAKE_OPTIONS += \
-       -DUSE_AVL_LIB:BOOL=FALSE \
        -DENABLE_TESTS:BOOL=FALSE \
        -DBUILD_EXAMPLES:BOOL=FALSE \
+       -DCMAKE_INSTALL_PREFIX=/usr \
+       -DCMAKE_BUILD_TYPE="Package" \
        -DREPOSITORY_LOC:PATH=/etc/sysrepo \
-       -DENABLE_NACM:BOOL=FALSE \
-       -DREQUEST_TIMEOUT=6 \
-       -DLONG_REQUEST_TIMEOUT=30 \
-       -DCOMMIT_VERIFY_TIMEOUT=20 \
-       -DOPER_DATA_PROVIDE_TIMEOUT=4 \
-       -DNOTIF_AGE_TIMEOUT=120 \
-       -DNOTIF_TIME_WINDOW=20 \
-       -DUSE_SR_MEM_MGMT=0 \
-       -DFILE_FORMAT_EXT:STRING=xml \
        -DCMAKE_DISABLE_FIND_PACKAGE_SWIG=FALSE \
-       -DGEN_LANGUAGE_BINDINGS:BOOL=TRUE \
-       -DSWIG_DIR=$(STAGING_DIR_HOSTPKG)/share/swig/$(SWIG_VERSION) \
        -DSWIG_EXECUTABLE=$(STAGING_DIR_HOSTPKG)/bin/swig \
        -DCALL_TARGET_BINS_DIRECTLY=OFF \
-       -DGEN_PYTHON_BINDINGS:BOOL=TRUE \
-       -DGEN_PYTHON_VERSION=3 \
-       -DGEN_PYTHON3_TESTS:BOOL=FALSE
+       -DGEN_LANGUAGE_BINDINGS:BOOL=TRUE \
+       -DGEN_PYTHON_BINDINGS:BOOL=TRUE
 
 define Package/libsysrepo/install
        $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_BUILD_DIR)/src/libsysrepo.so* $(1)/usr/lib/
-
-       $(INSTALL_DIR) $(1)/etc/sysrepo/yang/internal
-       $(INSTALL_CONF) $(PKG_BUILD_DIR)/yang/sysrepo-module-dependencies.yang $(1)/etc/sysrepo/yang/internal
-       $(INSTALL_CONF) $(PKG_BUILD_DIR)/yang/sysrepo-notification-store.yang $(1)/etc/sysrepo/yang/internal
-       $(INSTALL_CONF) $(PKG_BUILD_DIR)/yang/sysrepo-persistent-data.yang $(1)/etc/sysrepo/yang/internal
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libsysrepo.so* $(1)/usr/lib/
 
        $(INSTALL_DIR) $(1)/etc/sysrepo/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
-       $(INSTALL_DATA) $(PKG_BUILD_DIR)/yang/ietf-netconf@2011-06-01.yang $(1)/etc/sysrepo/yang/ietf-netconf@2011-06-01.yang
-
-       $(INSTALL_DIR) $(1)/etc/sysrepo/data/internal
-       $(INSTALL_DIR) $(1)/etc/sysrepo/data/notifications
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/modules/ietf-netconf-with-defaults.yang $(1)/etc/sysrepo/yang/
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/modules/ietf-netconf-notifications.yang $(1)/etc/sysrepo/yang/
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/modules/ietf-netconf.yang $(1)/etc/sysrepo/yang/
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/modules/ietf-origin.yang $(1)/etc/sysrepo/yang/
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/modules/sysrepo.yang $(1)/etc/sysrepo/yang/
 
        $(INSTALL_DIR) $(1)/etc/uci-defaults
        $(INSTALL_BIN) ./files/libsysrepo.default $(1)/etc/uci-defaults/95_libsysrepo
@@ -123,31 +104,28 @@ endef
 
 define Package/python3-sysrepo/install
        $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_BUILD_DIR)/swig/libSysrepo-cpp.so* $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libsysrepo-cpp.so* $(1)/usr/lib
        $(INSTALL_DIR) $(1)$(PYTHON3_PKG_DIR)
-       $(INSTALL_DATA) $(PKG_BUILD_DIR)/swig/python/sysrepo.py $(1)$(PYTHON3_PKG_DIR)
-       $(INSTALL_DATA) $(PKG_BUILD_DIR)/swig/python/_sysrepo.so $(1)$(PYTHON3_PKG_DIR)
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/bindings/python/sysrepo.py $(1)$(PYTHON3_PKG_DIR)
+       $(INSTALL_DATA) $(PKG_BUILD_DIR)/bindings/python/_sysrepo.so $(1)$(PYTHON3_PKG_DIR)
 endef
 
 define Package/sysrepo/install
-       $(INSTALL_DIR) $(1)/bin
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/sysrepod $(1)/bin/
-
-       $(INSTALL_DIR) $(1)/bin
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/sysrepo-plugind $(1)/bin/
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/sysrepo-plugind $(1)/usr/bin/
 
        $(INSTALL_DIR) $(1)/etc/init.d/
        $(INSTALL_BIN) ./files/sysrepo.init $(1)/etc/init.d/sysrepo
 endef
 
 define Package/sysrepoctl/install
-       $(INSTALL_DIR) $(1)/bin
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/sysrepoctl $(1)/bin/
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/sysrepoctl $(1)/usr/bin/
 endef
 
 define Package/sysrepocfg/install
-       $(INSTALL_DIR) $(1)/bin
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/sysrepocfg $(1)/bin/
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/sysrepocfg $(1)/usr/bin/
 endef
 
 $(eval $(call BuildPackage,libsysrepo))
index 6fd06ef8191c901f268cc54e637a1aa519f02069..4158041929c589d2d0c0da2a22a0f051fc312ec6 100644 (file)
@@ -3,29 +3,29 @@
 # Warning, problems can occur if the device restarts in the middle of this uci-default script
 
 if [ -x /bin/sysrepoctl ]; then
-       match=$(sysrepoctl -l | grep "notifications ")
+       match=$(sysrepoctl -l | grep "ietf-netconf-notifications ")
        if [ ! "$match" ]; then
-               sysrepoctl --install --yang=/etc/sysrepo/yang/notifications@2008-07-14.yang -p 666
+               sysrepoctl --install --yang=/etc/sysrepo/yang/ietf-netconf-notifications.yang -p 666
        fi
 
-       match=$(sysrepoctl -l | grep "nc-notifications ")
+       match=$(sysrepoctl -l | grep "ietf-netconf-with-default ")
        if [ ! "$match" ]; then
-               sysrepoctl --install --yang=/etc/sysrepo/yang/nc-notifications@2008-07-14.yang -p 666
+               sysrepoctl --install --yang=/etc/sysrepo/yang/ietf-netconf-with-defaults.yang -p 666
        fi
 
-       match=$(sysrepoctl -l | grep "ietf-netconf-acm ")
+       match=$(sysrepoctl -l | grep "ietf-origin ")
        if [ ! "$match" ]; then
-               sysrepoctl --install --yang=/etc/sysrepo/yang/ietf-netconf-acm@2018-02-14.yang -p 644
+               sysrepoctl --install --yang=/etc/sysrepo/yang/ietf-origin.yang -p 644
        fi
 
-       match=$(sysrepoctl -l | grep "ietf-netconf-notifications ")
+       match=$(sysrepoctl -l | grep "sysrepo ")
        if [ ! "$match" ]; then
-               sysrepoctl --install --yang=/etc/sysrepo/yang/ietf-netconf-notifications@2012-02-06.yang -p 600
+               sysrepoctl --install --yang=/etc/sysrepo/yang/sysrepo.yang -p 600
        fi
 
        match=$(sysrepoctl -l | grep "ietf-netconf ")
        if [ ! "$match" ]; then
-               sysrepoctl --install --yang=/etc/sysrepo/yang/ietf-netconf@2011-06-01.yang -p 600
+               sysrepoctl --install --yang=/etc/sysrepo/yang/ietf-netconf.yang -p 600
        fi
        sysrepoctl -m ietf-netconf -e writable-running
        sysrepoctl -m ietf-netconf -e candidate
index a2599cbdb96bd90459ea879b623c3a4cc5ffda62..4b832939b8376f41699ed757cef55a33e7d47673 100644 (file)
@@ -4,16 +4,9 @@ START=60
 STOP=10
 
 USE_PROCD=1
-PROG_DAEMON=/bin/sysrepod
-PROG_PLUGIN=/bin/sysrepo-plugind
+PROG_PLUGIN=/usr/bin/sysrepo-plugind
 
 start_service() {
-    procd_open_instance
-    procd_set_param command ${PROG_DAEMON}
-    procd_append_param command -d -l 0
-    procd_set_param respawn
-    procd_close_instance
-
     procd_open_instance
     procd_set_param command ${PROG_PLUGIN}
     procd_append_param command -d -l 0
@@ -25,6 +18,5 @@ 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_DAEMON}
     rm -rf /var/run/sysrepo-subscriptions/*
 }
diff --git a/net/sysrepo/patches/002-remove-buildtime-module-install.patch b/net/sysrepo/patches/002-remove-buildtime-module-install.patch
deleted file mode 100644 (file)
index 2a703bb..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -335,7 +335,7 @@ install (FILES ${INTERNAL_YANGS} DESTINATION ${INTERNAL_SCHEMA_SEARCH_DIR})
- # install NACM YANG module
- if(ENABLE_NACM)
--    INSTALL_YANG("ietf-netconf-acm" "@2018-02-14" "644")
-+#    INSTALL_YANG("ietf-netconf-acm" "@2018-02-14" "644")
- endif(ENABLE_NACM)
- # generate and install pkg-config file
-@@ -356,9 +356,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")
- # uninstall
- add_custom_target(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_MODULE_PATH}/uninstall.cmake")
diff --git a/net/sysrepo/patches/004-disable-sysrepod-autostart.patch b/net/sysrepo/patches/004-disable-sysrepod-autostart.patch
deleted file mode 100644 (file)
index 255b4ad..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
---- a/src/clientlib/client_library.c
-+++ b/src/clientlib/client_library.c
-@@ -396,13 +396,13 @@ sr_connect(const char *app_name, const sr_conn_options_t opts, sr_conn_ctx_t **c
-         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 */
--                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);
--                }
-+                //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));
diff --git a/net/sysrepo/patches/005-fix-struct-ucred-define.patch b/net/sysrepo/patches/005-fix-struct-ucred-define.patch
deleted file mode 100644 (file)
index 4c5966d..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
---- a/src/common/sr_utils.c
-+++ b/src/common/sr_utils.c
-@@ -506,14 +506,24 @@ sr_fd_set_nonblock(int fd)
- #if defined(SO_PEERCRED)
-+#if defined(__GLIBC__)
- #if !defined(SCM_CREDENTIALS)
--/* struct ucred is ifdefined behind __USE_GNU, but __USE_GNU is not defined */
- struct ucred {
-     pid_t pid;    /* process ID of the sending process */
-     uid_t uid;    /* user ID of the sending process */
-     gid_t gid;    /* group ID of the sending process */
- };
- #endif /* !defined(SCM_CREDENTIALS) */
-+#else
-+#if !defined(_GNU_SOURCE)
-+struct ucred {
-+    pid_t pid;    /* process ID of the sending process */
-+    uid_t uid;    /* user ID of the sending process */
-+    gid_t gid;    /* group ID of the sending process */
-+};
-+/* struct ucred is ifdefined behind __USE_GNU, but __USE_GNU is not defined */
-+#endif /* !defined(__GNU_SOURCE) */
-+#endif /* defined(__GLIBC__) */
- int
- sr_get_peer_eid(int fd, uid_t *uid, gid_t *gid)