2 # Copyright (C) 2017 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
11 PKG_MAINTAINER
:=Mislav Novakovic
<mislav.novakovic@sartura.hr
>
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
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
)
32 define Package
/libsysrepo
/config
33 source
"$(SOURCE)/Config_libsysrepo.in"
36 PKG_BUILD_DEPENDS
:=+SYSREPO_BINDINGS
:swig
/host
38 define Package
/libsysrepo
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
47 define Package
/sysrepo
50 URL
:=$(PKG_SOURCE_URL
)
51 TITLE
:=YANG-based data store daemon and plugin
55 define Package
/sysrepoctl
58 URL
:=$(PKG_SOURCE_URL
)
59 TITLE
:=sysrepo cli tool
63 define Package
/sysrepocfg
66 URL
:=$(PKG_SOURCE_URL
)
67 TITLE
:=sysrepo configuration tool
71 define Package
/sysrepo
/description
72 Sysrepo is an YANG-based configuration and operational state data store for Unix
/Linux applications.
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 \
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 \
94 -DFILE_FORMAT_EXT
:STRING
=xml
96 ifeq ($(CONFIG_SYSREPO_LUA
),y
)
98 -DGEN_LUA_BINDINGS
:BOOL
=TRUE \
102 ifeq ($(CONFIG_SYSREPO_PYTHON
),y
)
104 -DGEN_PYTHON_BINDINGS
:BOOL
=TRUE \
105 -DGEN_PYTHON_VERSION
=2
108 ifeq ($(CONFIG_SYSREPO_BINDINGS
),y
)
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
116 define Package
/libsysrepo
/install
117 $(INSTALL_DIR
) $(1)/usr
/lib
118 $(CP
) $(PKG_BUILD_DIR
)/src
/libsysrepo.so
* $(1)/usr
/lib
/
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
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
132 $(INSTALL_DIR
) $(1)/etc
/sysrepo
/data
/internal
133 $(INSTALL_DIR
) $(1)/etc
/sysrepo
/data
/notifications
135 $(INSTALL_DIR
) $(1)/etc
/uci-defaults
136 $(INSTALL_BIN
) .
/files
/libsysrepo.default
$(1)/etc
/uci-defaults
/95_libsysrepo
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
)
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
153 define Package
/sysrepo
/install
154 $(INSTALL_DIR
) $(1)/bin
155 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/src
/sysrepod
$(1)/bin
/
157 $(INSTALL_DIR
) $(1)/bin
158 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/src
/sysrepo-plugind
$(1)/bin
/
160 $(INSTALL_DIR
) $(1)/etc
/init.d
/
161 $(INSTALL_BIN
) .
/files
/sysrepo.init
$(1)/etc
/init.d
/sysrepo
164 define Package
/sysrepoctl
/install
165 $(INSTALL_DIR
) $(1)/bin
166 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/src
/sysrepoctl
$(1)/bin
/
169 define Package
/sysrepocfg
/install
170 $(INSTALL_DIR
) $(1)/bin
171 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/src
/sysrepocfg
$(1)/bin
/
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
/
178 $(INSTALL_DIR
) $(1)/usr
/lib
179 $(CP
) $(PKG_BUILD_DIR
)/src
/libsysrepo.so
* $(1)/usr
/lib
/
181 $(INSTALL_DIR
) $(1)/usr
/include
182 $(CP
) $(PKG_BUILD_DIR
)/inc
/* $(1)/usr
/include/
185 $(eval
$(call BuildPackage
,libsysrepo
))
186 $(eval
$(call BuildPackage
,sysrepo
))
187 $(eval
$(call BuildPackage
,sysrepoctl
))
188 $(eval
$(call BuildPackage
,sysrepocfg
))