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 # Warning by default OpenWrt does not have a root password which is necessery for NETCONF server.
10 include $(TOPDIR
)/rules.mk
14 PKG_LICENSE
:=BSD-3-Clause
15 PKG_MAINTAINER
:=Mislav Novakovic
<mislav.novakovic@sartura.hr
>
20 PKG_SOURCE_VERSION
:=c204b59f9c2bb7e63eb907f33c44adbf208295ee
21 PKG_MIRROR_HASH
:=61a2b3e0ee9a3cf2f73715843f059c79292446ad3643f4eeb85d48d1e185c3b9
22 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_SOURCE_VERSION
).
tar.bz2
23 PKG_SOURCE_URL
:=https
://github.com
/CESNET
/Netopeer2.git
24 PKG_SOURCE_SUBDIR
:=$(PKG_NAME
)-$(PKG_SOURCE_VERSION
)
26 PKG_BUILD_ROOT
:=$(BUILD_DIR
)/$(PKG_SOURCE_SUBDIR
)
27 PKG_BUILD_DIR
:=$(PKG_BUILD_ROOT
)
34 include $(INCLUDE_DIR
)/package.mk
35 include $(INCLUDE_DIR
)/cmake.mk
37 define Package
/netopeer2-server
41 URL
:=$(PKG_SOURCE_URL
)
42 DEPENDS
:=+libpthread
+libyang
+libnetconf2
+netopeer2-keystored
+libsysrepo
+sysrepocfg
+sysrepoctl
45 define Package
/netopeer2-cli
48 TITLE
:=Netopeer2 cli tool
49 URL
:=$(PKG_SOURCE_URL
)
50 DEPENDS
:=+libpthread
+libyang
+libnetconf2
+libopenssl
53 define Package
/netopeer2-keystored
56 TITLE
:=Netopeer2 key store management
57 URL
:=$(PKG_SOURCE_URL
)
58 DEPENDS
:=+libopenssl
+libsysrepo
+sysrepo-plugind
+sysrepocfg
+sysrepoctl
61 define Package
/netopeer2
/description
62 Netopeer2 is a set of tools implementing network configuration tools based on the NETCONF
63 Protocol. This is the second generation of the toolset
, originally available
as the Netopeer
64 project. Netopeer2 is based on the new generation of the NETCONF and YANG libraries
-
65 libyang and libnetconf2. The Netopeer server uses sysrepo
as a NETCONF datastore implementation.
69 -DCMAKE_INSTALL_PREFIX
:PATH
=/usr \
70 -DCMAKE_BUILD_TYPE
:STRING
=Release \
71 -DKEYSTORED_KEYS_DIR
:STRING
=/etc
/keystored
/keys
73 define Build
/Configure
74 $(eval PKG_BUILD_DIR
:=$(PKG_BUILD_ROOT
)/server
)
75 $(call Build
/Configure
/Default
)
77 $(eval PKG_BUILD_DIR
:=$(PKG_BUILD_ROOT
)/cli
)
78 $(call Build
/Configure
/Default
)
80 $(eval PKG_BUILD_DIR
:=$(PKG_BUILD_ROOT
)/keystored
)
81 $(call Build
/Configure
/Default
)
85 $(eval PKG_BUILD_DIR
:=$(PKG_BUILD_ROOT
)/server
)
86 $(call Build
/Compile
/Default
)
88 $(eval PKG_BUILD_DIR
:=$(PKG_BUILD_ROOT
)/cli
)
89 $(call Build
/Compile
/Default
)
91 $(eval PKG_BUILD_DIR
:=$(PKG_BUILD_ROOT
)/keystored
)
92 $(call Build
/Compile
/Default
)
95 define Package
/netopeer2-server
/install
96 $(INSTALL_DIR
) $(1)/bin
97 $(INSTALL_BIN
) $(PKG_BUILD_ROOT
)/server
/netopeer2-server
$(1)/bin
/
99 $(INSTALL_DIR
) $(1)/etc
/sysrepo
/yang
100 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/modules
/ietf-ssh-server.yang
$(1)/etc
/sysrepo
/yang
/
101 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/modules
/ietf-tls-server.yang
$(1)/etc
/sysrepo
/yang
/
102 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/modules
/iana-crypt-hash.yang
$(1)/etc
/sysrepo
/yang
/
103 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/modules
/ietf-x509-cert-to-name.yang
$(1)/etc
/sysrepo
/yang
/
104 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/modules
/ietf-netconf-server.yang
$(1)/etc
/sysrepo
/yang
/
105 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/modules
/ietf-netconf-server.yang
$(1)/etc
/sysrepo
/yang
/
106 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/modules
/ietf-system.yang
$(1)/etc
/sysrepo
/yang
/
108 $(INSTALL_DIR
) $(1)/etc
/uci-defaults
109 $(INSTALL_BIN
) .
/files
/netopeer2-server.default
$(1)/etc
/uci-defaults
/99_netopeer2-server
111 $(INSTALL_DIR
) $(1)/etc
/init.d
/
112 $(INSTALL_BIN
) .
/files
/netopeer2-server.init
$(1)/etc
/init.d
/netopeer2-server
114 $(INSTALL_DIR
) $(1)/usr
/share
/netopeer2-server
115 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/server
/stock_config.xml
$(1)/usr
/share
/netopeer2-server
118 define Package
/netopeer2-cli
/install
119 $(INSTALL_DIR
) $(1)/bin
120 $(INSTALL_BIN
) $(PKG_BUILD_ROOT
)/cli
/netopeer2-cli
$(1)/bin
/
123 define Package
/netopeer2-keystored
/install
124 $(INSTALL_DIR
) $(1)/usr
/lib
/sysrepo
/plugins
/
125 $(INSTALL_BIN
) $(PKG_BUILD_ROOT
)/keystored
/libkeystored.so
$(1)/usr
/lib
/sysrepo
/plugins
/
127 $(INSTALL_DIR
) $(1)/etc
/sysrepo
/yang
128 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/modules
/ietf-keystore.yang
$(1)/etc
/sysrepo
/yang
130 $(INSTALL_DIR
) $(1)/etc
/uci-defaults
131 $(INSTALL_BIN
) .
/files
/netopeer2-keystored.default
$(1)/etc
/uci-defaults
/97_netopeer2-keystored
133 $(INSTALL_DIR
) $(1)/usr
/share
/netopeer2-keystored
134 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/keystored
/stock_key_config.xml
$(1)/usr
/share
/netopeer2-keystored
136 $(INSTALL_DIR
) $(1)/etc
/keystored
/keys
137 #$(INSTALL_DATA) ./files/ssh_host_rsa_key.pem $(1)/etc/keystored/keys
138 #$(INSTALL_DATA) ./files/ssh_host_rsa_key.pub.pem $(1)/etc/keystored/keys
139 #ssh key name is specified in stock_key_config.xml file, you will need to provide the ssh keys yourself.
142 $(eval
$(call BuildPackage
,netopeer2-server
))
143 $(eval
$(call BuildPackage
,netopeer2-cli
))
144 $(eval
$(call BuildPackage
,netopeer2-keystored
))