Merge pull request #12088 from lucize/sysrepofix
sysrepo: update to 1.4.2
This commit is contained in:
commit
1376a5fe66
7 changed files with 63 additions and 149 deletions
|
@ -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))
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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 ")
|
||||
if [ ! "$match" ]; then
|
||||
sysrepoctl --install --yang=/etc/sysrepo/yang/notifications@2008-07-14.yang -p 666
|
||||
fi
|
||||
|
||||
match=$(sysrepoctl -l | grep "nc-notifications ")
|
||||
if [ ! "$match" ]; then
|
||||
sysrepoctl --install --yang=/etc/sysrepo/yang/nc-notifications@2008-07-14.yang -p 666
|
||||
fi
|
||||
|
||||
match=$(sysrepoctl -l | grep "ietf-netconf-acm ")
|
||||
if [ ! "$match" ]; then
|
||||
sysrepoctl --install --yang=/etc/sysrepo/yang/ietf-netconf-acm@2018-02-14.yang -p 644
|
||||
fi
|
||||
|
||||
match=$(sysrepoctl -l | grep "ietf-netconf-notifications ")
|
||||
if [ ! "$match" ]; then
|
||||
sysrepoctl --install --yang=/etc/sysrepo/yang/ietf-netconf-notifications@2012-02-06.yang -p 600
|
||||
sysrepoctl --install --yang=/etc/sysrepo/yang/ietf-netconf-notifications.yang -p 666
|
||||
fi
|
||||
|
||||
match=$(sysrepoctl -l | grep "ietf-netconf-with-default ")
|
||||
if [ ! "$match" ]; then
|
||||
sysrepoctl --install --yang=/etc/sysrepo/yang/ietf-netconf-with-defaults.yang -p 666
|
||||
fi
|
||||
|
||||
match=$(sysrepoctl -l | grep "ietf-origin ")
|
||||
if [ ! "$match" ]; then
|
||||
sysrepoctl --install --yang=/etc/sysrepo/yang/ietf-origin.yang -p 644
|
||||
fi
|
||||
|
||||
match=$(sysrepoctl -l | grep "sysrepo ")
|
||||
if [ ! "$match" ]; then
|
||||
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
|
||||
|
|
|
@ -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/*
|
||||
}
|
||||
|
|
|
@ -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")
|
|
@ -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));
|
|
@ -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)
|
Loading…
Reference in a new issue