sysrepo: update to 0.7.7
[feed/packages.git] / net / sysrepo / Makefile
1 #
2 # Copyright (C) 2017 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_LICENSE:=ASL-2.0
11 PKG_MAINTAINER:=Mislav Novakovic <mislav.novakovic@sartura.hr>
12
13 PKG_NAME:=sysrepo
14 PKG_VERSION:=0.7.7
15 PKG_RELEASE:=3
16
17 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
18 PKG_SOURCE_URL:=https://codeload.github.com/sysrepo/sysrepo/tar.gz/v$(PKG_VERSION)?
19 PKG_HASH:=2bf8cb4d810d19231eba1e549f58f3a0ce068d170a5e7b212b927396098560e4
20
21 CMAKE_INSTALL:=1
22
23 PKG_BUILD_PARALLEL:=1
24 PKG_INSTALL:=1
25
26 include $(INCLUDE_DIR)/package.mk
27 include $(INCLUDE_DIR)/cmake.mk
28 ifeq ($(CONFIG_SYSREPO_PYTHON),y)
29 $(call include_mk, python-package.mk)
30 endif
31
32 define Package/libsysrepo/config
33 source "$(SOURCE)/Config_libsysrepo.in"
34 endef
35
36 PKG_BUILD_DEPENDS:=+SYSREPO_BINDINGS:swig/host
37
38 define Package/libsysrepo
39 SECTION:=utils
40 CATEGORY:=Utilities
41 URL:=$(PKG_SOURCE_URL)
42 TITLE:=YANG-based data store library
43 DEPENDS:=+libyang +libprotobuf-c +libev +libredblack +librt +libpthread +SYSREPO_BINDINGS:libstdcpp +SYSREPO_PYTHON:python-base +SYSREPO_LUA:lua
44 MENU:=1
45 endef
46
47 define Package/sysrepo
48 SECTION:=utils
49 CATEGORY:=Utilities
50 URL:=$(PKG_SOURCE_URL)
51 TITLE:=YANG-based data store daemon and plugin
52 DEPENDS:=+libsysrepo
53 endef
54
55 define Package/sysrepoctl
56 SECTION:=utils
57 CATEGORY:=Utilities
58 URL:=$(PKG_SOURCE_URL)
59 TITLE:=sysrepo cli tool
60 DEPENDS:=+libsysrepo
61 endef
62
63 define Package/sysrepocfg
64 SECTION:=utils
65 CATEGORY:=Utilities
66 URL:=$(PKG_SOURCE_URL)
67 TITLE:=sysrepo configuration tool
68 DEPENDS:=+libsysrepo
69 endef
70
71 define Package/sysrepo/description
72 Sysrepo is an YANG-based configuration and operational state data store for Unix/Linux applications.
73 endef
74
75 CMAKE_OPTIONS += \
76 -DCMAKE_BUILD_TYPE:STRING=Release \
77 -DUSE_AVL_LIB:BOOL=FALSE \
78 -DENABLE_TESTS:BOOL=FALSE \
79 -DBUILD_EXAMPLES:BOOL=FALSE \
80 -DCMAKE_DISABLE_FIND_PACKAGE_SWIG=TRUE \
81 -DGEN_LANGUAGE_BINDINGS:BOOL=FALSE \
82 -DGEN_PYTHON_BINDINGS=0 \
83 -DGEN_LUA_BINDINGS=0 \
84 -DREPOSITORY_LOC:PATH=/etc/sysrepo \
85 -DCMAKE_INSTALL_PREFIX:PATH=/usr \
86 -DENABLE_NACM:BOOL=FALSE \
87 -DREQUEST_TIMEOUT=6 \
88 -DLONG_REQUEST_TIMEOUT=30 \
89 -DCOMMIT_VERIFY_TIMEOUT=20 \
90 -DOPER_DATA_PROVIDE_TIMEOUT=4 \
91 -DNOTIF_AGE_TIMEOUT=120 \
92 -DNOTIF_TIME_WINDOW=20 \
93 -DUSE_SR_MEM_MGMT=0 \
94 -DFILE_FORMAT_EXT:STRING=xml
95
96 ifeq ($(CONFIG_SYSREPO_LUA),y)
97 CMAKE_OPTIONS += \
98 -DGEN_LUA_BINDINGS:BOOL=TRUE \
99 -DGEN_LUA_VERSION=5.1
100 endif
101
102 ifeq ($(CONFIG_SYSREPO_PYTHON),y)
103 CMAKE_OPTIONS += \
104 -DGEN_PYTHON_BINDINGS:BOOL=TRUE \
105 -DGEN_PYTHON_VERSION=2
106 endif
107
108 ifeq ($(CONFIG_SYSREPO_BINDINGS),y)
109 CMAKE_OPTIONS += \
110 -DCMAKE_DISABLE_FIND_PACKAGE_SWIG=FALSE \
111 -DGEN_LANGUAGE_BINDINGS:BOOL=TRUE \
112 -DSWIG_DIR=$(STAGING_DIR)/host/share/swig \
113 -DCALL_TARGET_BINS_DIRECTLY=OFF
114 endif
115
116 define Package/libsysrepo/install
117 $(INSTALL_DIR) $(1)/usr/lib
118 $(CP) $(PKG_BUILD_DIR)/src/libsysrepo.so* $(1)/usr/lib/
119
120 $(INSTALL_DIR) $(1)/etc/sysrepo/yang/internal
121 $(INSTALL_CONF) $(PKG_BUILD_DIR)/yang/sysrepo-module-dependencies.yang $(1)/etc/sysrepo/yang/internal
122 $(INSTALL_CONF) $(PKG_BUILD_DIR)/yang/sysrepo-notification-store.yang $(1)/etc/sysrepo/yang/internal
123 $(INSTALL_CONF) $(PKG_BUILD_DIR)/yang/sysrepo-persistent-data.yang $(1)/etc/sysrepo/yang/internal
124
125 $(INSTALL_DIR) $(1)/etc/sysrepo/yang
126 $(INSTALL_DATA) $(PKG_BUILD_DIR)/yang/ietf-netconf-acm@2018-02-14.yang $(1)/etc/sysrepo/yang/ietf-netconf-acm@2018-02-14.yang
127 $(INSTALL_DATA) $(PKG_BUILD_DIR)/yang/ietf-netconf-notifications.yang $(1)/etc/sysrepo/yang/ietf-netconf-notifications@2012-02-06.yang
128 $(INSTALL_DATA) $(PKG_BUILD_DIR)/yang/nc-notifications.yang $(1)/etc/sysrepo/yang/nc-notifications@2008-07-14.yang
129 $(INSTALL_DATA) $(PKG_BUILD_DIR)/yang/notifications.yang $(1)/etc/sysrepo/yang/notifications@2008-07-14.yang
130 $(INSTALL_DATA) $(PKG_BUILD_DIR)/yang/ietf-netconf@2011-06-01.yang $(1)/etc/sysrepo/yang/ietf-netconf@2011-06-01.yang
131
132 $(INSTALL_DIR) $(1)/etc/sysrepo/data/internal
133 $(INSTALL_DIR) $(1)/etc/sysrepo/data/notifications
134
135 $(INSTALL_DIR) $(1)/etc/uci-defaults
136 $(INSTALL_BIN) ./files/libsysrepo.default $(1)/etc/uci-defaults/95_libsysrepo
137
138 ifeq ($(CONFIG_SYSREPO_PYTHON),y)
139 $(INSTALL_DIR) $(1)/usr/lib
140 $(CP) $(PKG_BUILD_DIR)/swig/libSysrepo-cpp.so* $(1)/usr/lib
141 $(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR)
142 $(INSTALL_DATA) $(PKG_BUILD_DIR)/swig/python2/libsysrepoPython2.py $(1)$(PYTHON_PKG_DIR)
143 $(INSTALL_DATA) $(PKG_BUILD_DIR)/swig/python2/_libsysrepoPython2.so $(1)$(PYTHON_PKG_DIR)
144 endif
145
146 ifeq ($(CONFIG_SYSREPO_LUA),y)
147 $(INSTALL_DIR) $(1)/usr/lib/lua/
148 $(CP) $(PKG_BUILD_DIR)/swig/lua/libSysrepo_Lua.so* $(1)/usr/lib
149 $(INSTALL_DATA) $(PKG_BUILD_DIR)/swig/lua/libsysrepoLua.so $(1)/usr/lib/lua/libsysrepoLua.so
150 endif
151 endef
152
153 define Package/sysrepo/install
154 $(INSTALL_DIR) $(1)/bin
155 $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/sysrepod $(1)/bin/
156
157 $(INSTALL_DIR) $(1)/bin
158 $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/sysrepo-plugind $(1)/bin/
159
160 $(INSTALL_DIR) $(1)/etc/init.d/
161 $(INSTALL_BIN) ./files/sysrepo.init $(1)/etc/init.d/sysrepo
162 endef
163
164 define Package/sysrepoctl/install
165 $(INSTALL_DIR) $(1)/bin
166 $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/sysrepoctl $(1)/bin/
167 endef
168
169 define Package/sysrepocfg/install
170 $(INSTALL_DIR) $(1)/bin
171 $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/sysrepocfg $(1)/bin/
172 endef
173
174 define Build/InstallDev
175 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
176 $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libsysrepo.pc $(1)/usr/lib/pkgconfig/
177
178 $(INSTALL_DIR) $(1)/usr/lib
179 $(CP) $(PKG_BUILD_DIR)/src/libsysrepo.so* $(1)/usr/lib/
180
181 $(INSTALL_DIR) $(1)/usr/include
182 $(CP) $(PKG_BUILD_DIR)/inc/* $(1)/usr/include/
183 endef
184
185 $(eval $(call BuildPackage,libsysrepo))
186 $(eval $(call BuildPackage,sysrepo))
187 $(eval $(call BuildPackage,sysrepoctl))
188 $(eval $(call BuildPackage,sysrepocfg))