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
/config
38 source
"$(SOURCE)/Config_server.in"
41 define Package
/netopeer2-keystored
/config
42 source
"$(SOURCE)/Config_keystored.in"
45 define Package
/netopeer2-server
49 URL
:=$(PKG_SOURCE_URL
)
50 DEPENDS
:=+libpthread
+libyang
+libnetconf2
+netopeer2-keystored
+libsysrepo
+sysrepocfg
+sysrepoctl
+sysrepo
+SSH_SERVER
:openssh-server
54 define Package
/netopeer2-cli
57 TITLE
:=Netopeer2 cli tool
58 URL
:=$(PKG_SOURCE_URL
)
59 DEPENDS
:=+libpthread
+libyang
+libnetconf2
+libopenssl
62 define Package
/netopeer2-keystored
65 TITLE
:=Netopeer2 key store management
66 URL
:=$(PKG_SOURCE_URL
)
67 DEPENDS
:=+libopenssl
+libsysrepo
+sysrepo
+sysrepocfg
+sysrepoctl
+SSH_KEYS
:openssh-keygen
71 define Package
/netopeer2
/description
72 Netopeer2 is a set of tools implementing network configuration tools based on the NETCONF
73 Protocol. This is the second generation of the toolset
, originally available
as the Netopeer
74 project. Netopeer2 is based on the new generation of the NETCONF and YANG libraries
-
75 libyang and libnetconf2. The Netopeer server uses sysrepo
as a NETCONF datastore implementation.
79 -DCMAKE_INSTALL_PREFIX
:PATH
=/usr \
80 -DCMAKE_BUILD_TYPE
:STRING
=Release \
81 -DKEYSTORED_KEYS_DIR
:STRING
=/etc
/keystored
/keys
83 define Build
/Configure
84 $(eval PKG_BUILD_DIR
:=$(PKG_BUILD_ROOT
)/server
)
85 $(call Build
/Configure
/Default
)
87 $(eval PKG_BUILD_DIR
:=$(PKG_BUILD_ROOT
)/cli
)
88 $(call Build
/Configure
/Default
)
90 $(eval PKG_BUILD_DIR
:=$(PKG_BUILD_ROOT
)/keystored
)
91 $(call Build
/Configure
/Default
)
95 $(eval PKG_BUILD_DIR
:=$(PKG_BUILD_ROOT
)/server
)
96 $(call Build
/Compile
/Default
)
98 $(eval PKG_BUILD_DIR
:=$(PKG_BUILD_ROOT
)/cli
)
99 $(call Build
/Compile
/Default
)
101 $(eval PKG_BUILD_DIR
:=$(PKG_BUILD_ROOT
)/keystored
)
102 $(call Build
/Compile
/Default
)
105 define Package
/netopeer2-server
/install
106 $(INSTALL_DIR
) $(1)/bin
107 $(INSTALL_BIN
) $(PKG_BUILD_ROOT
)/server
/netopeer2-server
$(1)/bin
/
109 $(INSTALL_DIR
) $(1)/etc
/sysrepo
/yang
110 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/modules
/ietf-ssh-server.yang
$(1)/etc
/sysrepo
/yang
/
111 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/modules
/ietf-tls-server.yang
$(1)/etc
/sysrepo
/yang
/
112 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/modules
/iana-crypt-hash.yang
$(1)/etc
/sysrepo
/yang
/
113 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/modules
/ietf-x509-cert-to-name.yang
$(1)/etc
/sysrepo
/yang
/
114 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/modules
/ietf-netconf-server.yang
$(1)/etc
/sysrepo
/yang
/
115 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/modules
/ietf-netconf-server.yang
$(1)/etc
/sysrepo
/yang
/
116 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/modules
/ietf-system.yang
$(1)/etc
/sysrepo
/yang
/
118 $(INSTALL_DIR
) $(1)/etc
/uci-defaults
119 $(INSTALL_BIN
) .
/files
/netopeer2-server.default
$(1)/etc
/uci-defaults
/99_netopeer2-server
121 $(INSTALL_DIR
) $(1)/etc
/init.d
/
122 $(INSTALL_BIN
) .
/files
/netopeer2-server.init
$(1)/etc
/init.d
/netopeer2-server
124 $(INSTALL_DIR
) $(1)/usr
/share
/netopeer2-server
125 $(INSTALL_DATA
) .
/files
/stock_config.xml
$(1)/usr
/share
/netopeer2-server
128 define Package
/netopeer2-cli
/install
129 $(INSTALL_DIR
) $(1)/bin
130 $(INSTALL_BIN
) $(PKG_BUILD_ROOT
)/cli
/netopeer2-cli
$(1)/bin
/
133 define Package
/netopeer2-keystored
/install
134 $(INSTALL_DIR
) $(1)/usr
/lib
/sysrepo
/plugins
/
135 $(INSTALL_BIN
) $(PKG_BUILD_ROOT
)/keystored
/libkeystored.so
$(1)/usr
/lib
/sysrepo
/plugins
/
137 $(INSTALL_DIR
) $(1)/etc
/sysrepo
/yang
138 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/modules
/ietf-keystore.yang
$(1)/etc
/sysrepo
/yang
140 $(INSTALL_DIR
) $(1)/etc
/uci-defaults
142 $(INSTALL_DIR
) $(1)/etc
/keystored
/keys
143 ifeq ($(CONFIG_SSH_KEYS
),y
)
144 $(INSTALL_BIN
) .
/files
/netopeer2-keystored-keygen.default
$(1)/etc
/uci-defaults
/97_netopeer2-keystored
146 $(INSTALL_BIN
) .
/files
/netopeer2-keystored.default
$(1)/etc
/uci-defaults
/97_netopeer2-keystored
147 #ssh key name is specified in ./files/stock_config.xml file, you will need to provide the ssh keys yourself.
148 $(INSTALL_DATA
) .
/files
/ssh_host_rsa_key.pem
$(1)/etc
/keystored
/keys
149 $(INSTALL_DATA
) .
/files
/ssh_host_rsa_key.pub.pem
$(1)/etc
/keystored
/keys
152 $(INSTALL_DIR
) $(1)/usr
/share
/netopeer2-keystored
153 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/keystored
/stock_key_config.xml
$(1)/usr
/share
/netopeer2-keystored
156 $(eval
$(call BuildPackage
,netopeer2-server
))
157 $(eval
$(call BuildPackage
,netopeer2-cli
))
158 $(eval
$(call BuildPackage
,netopeer2-keystored
))