ac4030df3d1e37c0a15be87e410b6bd9aa9cecb0
[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.6.0
15 PKG_RELEASE:=2
16
17 PKG_SOURCE_PROTO:=git
18 PKG_SOURCE_VERSION:=e4a5705a4c5293ba121048c71899b98243d99edf
19 PKG_MIRROR_HASH:=aa0fb5d7c947dd428d9f573c84edf6237c8c1a4db92dcd4d7552a68d25277a39
20 PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.bz2
21 PKG_SOURCE_URL:=https://github.com/sysrepo/sysrepo.git
22 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_SOURCE_VERSION)
23
24 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_SUBDIR)
25
26 CMAKE_INSTALL:=1
27
28 PKG_BUILD_PARALLEL:=1
29 PKG_INSTALL:=1
30
31 include $(INCLUDE_DIR)/package.mk
32 include $(INCLUDE_DIR)/cmake.mk
33
34 define Package/libsysrepo
35 SECTION:=util
36 CATEGORY:=Utilities
37 URL:=$(PKG_SOURCE_URL)
38 TITLE:=YANG-based data store library
39 DEPENDS:=+libyang +libprotobuf-c +libev +libavl
40 endef
41
42 define Package/sysrepo
43 SECTION:=util
44 CATEGORY:=Utilities
45 URL:=$(PKG_SOURCE_URL)
46 TITLE:=YANG-based data store daemon and plugin
47 DEPENDS:=+libsysrepo
48 endef
49
50 define Package/sysrepoctl
51 SECTION:=util
52 CATEGORY:=Utilities
53 URL:=$(PKG_SOURCE_URL)
54 TITLE:=sysrepo cli tool
55 DEPENDS:=+libsysrepo
56 endef
57
58 define Package/sysrepocfg
59 SECTION:=util
60 CATEGORY:=Utilities
61 URL:=$(PKG_SOURCE_URL)
62 TITLE:=sysrepo configuration tool
63 DEPENDS:=+libsysrepo
64 endef
65
66 define Package/sysrepo/description
67 Sysrepo is an YANG-based configuration and operational state data store for Unix/Linux applications.
68 endef
69
70 CMAKE_OPTIONS += \
71 -DCMAKE_BUILD_TYPE:STRING=Release \
72 -DENABLE_TESTS:BOOL=FALSE \
73 -DBUILD_EXAMPLES:BOOL=FALSE \
74 -DCMAKE_DISABLE_FIND_PACKAGE_SWIG=TRUE \
75 -DGEN_LANGUAGE_BINDINGS:BOOL=FALSE \
76 -DREPOSITORY_LOC:PATH=/etc/sysrepo \
77 -DCMAKE_INSTALL_PREFIX:PATH=/usr \
78 -DENABLE_NACM:BOOL=FALSE \
79 -DREQUEST_TIMEOUT=6 \
80 -DLONG_REQUEST_TIMEOUT=30 \
81 -DCOMMIT_VERIFY_TIMEOUT=20 \
82 -DOPER_DATA_PROVIDE_TIMEOUT=4 \
83 -DNOTIF_AGE_TIMEOUT=120 \
84 -DNOTIF_TIME_WINDOW=20
85
86 define Package/libsysrepo/install
87 $(INSTALL_DIR) $(1)/usr/lib
88 $(CP) $(PKG_BUILD_DIR)/src/libsysrepo.so* $(1)/usr/lib/
89
90 $(INSTALL_DIR) $(1)/etc/sysrepo/yang/internal
91 $(INSTALL_CONF) $(PKG_BUILD_DIR)/yang/sysrepo-module-dependencies.yang $(1)/etc/sysrepo/yang/internal
92 $(INSTALL_CONF) $(PKG_BUILD_DIR)/yang/sysrepo-notification-store.yang $(1)/etc/sysrepo/yang/internal
93 $(INSTALL_CONF) $(PKG_BUILD_DIR)/yang/sysrepo-persistent-data.yang $(1)/etc/sysrepo/yang/internal
94
95 $(INSTALL_DIR) $(1)/etc/sysrepo/yang
96 $(INSTALL_DATA) $(PKG_BUILD_DIR)/yang/ietf-netconf-acm@2012-02-22.yang $(1)/etc/sysrepo/yang/
97 $(INSTALL_DATA) $(PKG_BUILD_DIR)/yang/ietf-netconf-notifications.yang $(1)/etc/sysrepo/yang/
98 $(INSTALL_DATA) $(PKG_BUILD_DIR)/yang/nc-notifications.yang $(1)/etc/sysrepo/yang/
99 $(INSTALL_DATA) $(PKG_BUILD_DIR)/yang/notifications.yang $(1)/etc/sysrepo/yang/
100 $(INSTALL_DATA) $(PKG_BUILD_DIR)/yang/ietf-netconf@2011-06-01.yang $(1)/etc/sysrepo/yang/
101
102 $(INSTALL_DIR) $(1)/etc/sysrepo/data/internal
103 $(INSTALL_DIR) $(1)/etc/sysrepo/data/notifications
104
105 $(INSTALL_DIR) $(1)/etc/uci-defaults
106 $(INSTALL_BIN) ./files/libsysrepo.default $(1)/etc/uci-defaults/95_libsysrepo
107 endef
108
109 define Package/sysrepo/install
110 $(INSTALL_DIR) $(1)/bin
111 $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/sysrepod $(1)/bin/
112
113 $(INSTALL_DIR) $(1)/bin
114 $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/sysrepo-plugind $(1)/bin/
115
116 $(INSTALL_DIR) $(1)/etc/init.d/
117 $(INSTALL_BIN) ./files/sysrepo.init $(1)/etc/init.d/sysrepo
118 endef
119
120 define Package/sysrepoctl/install
121 $(INSTALL_DIR) $(1)/bin
122 $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/sysrepoctl $(1)/bin/
123 endef
124
125 define Package/sysrepocfg/install
126 $(INSTALL_DIR) $(1)/bin
127 $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/sysrepocfg $(1)/bin/
128 endef
129
130 $(eval $(call BuildPackage,libsysrepo))
131 $(eval $(call BuildPackage,sysrepo))
132 $(eval $(call BuildPackage,sysrepoctl))
133 $(eval $(call BuildPackage,sysrepocfg))