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_SOURCE
:=$(PKG_NAME
)-$(PKG_SOURCE_VERSION
).
tar.bz2
22 PKG_SOURCE_URL
:=https
://github.com
/CESNET
/Netopeer2.git
23 PKG_SOURCE_SUBDIR
:=$(PKG_NAME
)-$(PKG_SOURCE_VERSION
)
25 PKG_BUILD_ROOT
:=$(BUILD_DIR
)/$(PKG_SOURCE_SUBDIR
)
26 PKG_BUILD_DIR
:=$(PKG_BUILD_ROOT
)
33 include $(INCLUDE_DIR
)/package.mk
34 include $(INCLUDE_DIR
)/cmake.mk
36 define Package
/netopeer2-server
40 URL
:=$(PKG_SOURCE_URL
)
41 DEPENDS
:=+libpthread
+libyang
+libnetconf2
+netopeer2-keystored
+libsysrepo
+sysrepocfg
+sysrepoctl
44 define Package
/netopeer2-cli
47 TITLE
:=Netopeer2 cli tool
48 URL
:=$(PKG_SOURCE_URL
)
49 DEPENDS
:=+libpthread
+libyang
+libnetconf2
+libopenssl
52 define Package
/netopeer2-keystored
55 TITLE
:=Netopeer2 key store management
56 URL
:=$(PKG_SOURCE_URL
)
57 DEPENDS
:=+libopenssl
+libsysrepo
+sysrepo-plugind
+sysrepocfg
+sysrepoctl
60 define Package
/netopeer2
/description
61 Netopeer2 is a set of tools implementing network configuration tools based on the NETCONF
62 Protocol. This is the second generation of the toolset
, originally available
as the Netopeer
63 project. Netopeer2 is based on the new generation of the NETCONF and YANG libraries
-
64 libyang and libnetconf2. The Netopeer server uses sysrepo
as a NETCONF datastore implementation.
68 -DCMAKE_INSTALL_PREFIX
:PATH
=/usr \
69 -DCMAKE_BUILD_TYPE
:STRING
=Release \
70 -DKEYSTORED_KEYS_DIR
:STRING
=/etc
/keystored
/keys
72 define Build
/Configure
73 $(eval PKG_BUILD_DIR
:=$(PKG_BUILD_ROOT
)/server
)
74 $(call Build
/Configure
/Default
)
76 $(eval PKG_BUILD_DIR
:=$(PKG_BUILD_ROOT
)/cli
)
77 $(call Build
/Configure
/Default
)
79 $(eval PKG_BUILD_DIR
:=$(PKG_BUILD_ROOT
)/keystored
)
80 $(call Build
/Configure
/Default
)
84 $(eval PKG_BUILD_DIR
:=$(PKG_BUILD_ROOT
)/server
)
85 $(call Build
/Compile
/Default
)
87 $(eval PKG_BUILD_DIR
:=$(PKG_BUILD_ROOT
)/cli
)
88 $(call Build
/Compile
/Default
)
90 $(eval PKG_BUILD_DIR
:=$(PKG_BUILD_ROOT
)/keystored
)
91 $(call Build
/Compile
/Default
)
94 define Package
/netopeer2-server
/install
95 $(INSTALL_DIR
) $(1)/bin
96 $(INSTALL_BIN
) $(PKG_BUILD_ROOT
)/server
/netopeer2-server
$(1)/bin
/
98 $(INSTALL_DIR
) $(1)/etc
/sysrepo
/yang
99 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/modules
/ietf-ssh-server.yang
$(1)/etc
/sysrepo
/yang
/
100 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/modules
/ietf-tls-server.yang
$(1)/etc
/sysrepo
/yang
/
101 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/modules
/iana-crypt-hash.yang
$(1)/etc
/sysrepo
/yang
/
102 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/modules
/ietf-x509-cert-to-name.yang
$(1)/etc
/sysrepo
/yang
/
103 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/modules
/ietf-netconf-server.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-system.yang
$(1)/etc
/sysrepo
/yang
/
107 $(INSTALL_DIR
) $(1)/etc
/uci-defaults
108 $(INSTALL_BIN
) .
/files
/netopeer2-server.default
$(1)/etc
/uci-defaults
/99_netopeer2-server
110 $(INSTALL_DIR
) $(1)/etc
/init.d
/
111 $(INSTALL_BIN
) .
/files
/netopeer2-server.init
$(1)/etc
/init.d
/netopeer2-server
113 $(INSTALL_DIR
) $(1)/usr
/share
/netopeer2-server
114 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/server
/stock_config.xml
$(1)/usr
/share
/netopeer2-server
117 define Package
/netopeer2-cli
/install
118 $(INSTALL_DIR
) $(1)/bin
119 $(INSTALL_BIN
) $(PKG_BUILD_ROOT
)/cli
/netopeer2-cli
$(1)/bin
/
122 define Package
/netopeer2-keystored
/install
123 $(INSTALL_DIR
) $(1)/usr
/lib
/sysrepo
/plugins
/
124 $(INSTALL_BIN
) $(PKG_BUILD_ROOT
)/keystored
/libkeystored.so
$(1)/usr
/lib
/sysrepo
/plugins
/
126 $(INSTALL_DIR
) $(1)/etc
/sysrepo
/yang
127 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/modules
/ietf-keystore.yang
$(1)/etc
/sysrepo
/yang
129 $(INSTALL_DIR
) $(1)/etc
/uci-defaults
130 $(INSTALL_BIN
) .
/files
/netopeer2-keystored.default
$(1)/etc
/uci-defaults
/97_netopeer2-keystored
132 $(INSTALL_DIR
) $(1)/usr
/share
/netopeer2-keystored
133 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/keystored
/stock_key_config.xml
$(1)/usr
/share
/netopeer2-keystored
135 $(INSTALL_DIR
) $(1)/etc
/keystored
/keys
136 #$(INSTALL_DATA) ./files/ssh_host_rsa_key.pem $(1)/etc/keystored/keys
137 #$(INSTALL_DATA) ./files/ssh_host_rsa_key.pub.pem $(1)/etc/keystored/keys
138 #ssh key name is specified in stock_key_config.xml file, you will need to provide the ssh keys yourself.
141 $(eval
$(call BuildPackage
,netopeer2-server
))
142 $(eval
$(call BuildPackage
,netopeer2-cli
))
143 $(eval
$(call BuildPackage
,netopeer2-keystored
))