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
:=d028c1f931819db4b3e3cb1fd2d349a4fd5c0459
21 PKG_MIRROR_HASH
:=7f5b3ad49aaf2a8ceea2c17a37e276f5694af570ef904cfc5a6f53d295809cef
22 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
)-$(PKG_SOURCE_VERSION
).
tar.xz
23 PKG_SOURCE_URL
:=https
://github.com
/CESNET
/Netopeer2.git
24 PKG_SOURCE_SUBDIR
:=$(PKG_NAME
)-$(PKG_VERSION
)-$(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-keystored
/config
38 source
"$(SOURCE)/Config_keystored.in"
41 define Package
/netopeer2-server
45 URL
:=$(PKG_SOURCE_URL
)
46 DEPENDS
:=+libpthread
+libyang
+libnetconf2
+netopeer2-keystored
+libsysrepo
+sysrepocfg
+sysrepoctl
+sysrepo
50 define Package
/netopeer2-cli
53 TITLE
:=Netopeer2 cli tool
54 URL
:=$(PKG_SOURCE_URL
)
55 DEPENDS
:=+libpthread
+libyang
+libnetconf2
+libopenssl
58 define Package
/netopeer2-keystored
61 TITLE
:=Netopeer2 key store management
62 URL
:=$(PKG_SOURCE_URL
)
63 DEPENDS
:=+libopenssl
+libsysrepo
+sysrepo
+sysrepocfg
+sysrepoctl
+SSH_KEYS
:openssh-keygen
+SSH_KEYS
:openssl-util
67 define Package
/netopeer2
/description
68 Netopeer2 is a set of tools implementing network configuration tools based on the NETCONF
69 Protocol. This is the second generation of the toolset
, originally available
as the Netopeer
70 project. Netopeer2 is based on the new generation of the NETCONF and YANG libraries
-
71 libyang and libnetconf2. The Netopeer server uses sysrepo
as a NETCONF datastore implementation.
75 -DCMAKE_INSTALL_PREFIX
:PATH
=/usr \
76 -DCMAKE_BUILD_TYPE
:STRING
=Release \
77 -DKEYSTORED_KEYS_DIR
:STRING
=/etc
/keystored
/keys
79 define Build
/Configure
80 $(eval PKG_BUILD_DIR
:=$(PKG_BUILD_ROOT
)/server
)
81 $(call Build
/Configure
/Default
)
83 $(eval PKG_BUILD_DIR
:=$(PKG_BUILD_ROOT
)/cli
)
84 $(call Build
/Configure
/Default
)
86 $(eval PKG_BUILD_DIR
:=$(PKG_BUILD_ROOT
)/keystored
)
87 $(call Build
/Configure
/Default
)
91 $(eval PKG_BUILD_DIR
:=$(PKG_BUILD_ROOT
)/server
)
92 $(call Build
/Compile
/Default
)
94 $(eval PKG_BUILD_DIR
:=$(PKG_BUILD_ROOT
)/cli
)
95 $(call Build
/Compile
/Default
)
97 $(eval PKG_BUILD_DIR
:=$(PKG_BUILD_ROOT
)/keystored
)
98 $(call Build
/Compile
/Default
)
101 define Package
/netopeer2-server
/install
102 $(INSTALL_DIR
) $(1)/bin
103 $(INSTALL_BIN
) $(PKG_BUILD_ROOT
)/server
/netopeer2-server
$(1)/bin
/
105 $(INSTALL_DIR
) $(1)/etc
/sysrepo
/yang
106 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/modules
/ietf-ssh-server.yang
$(1)/etc
/sysrepo
/yang
/
107 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/modules
/ietf-tls-server.yang
$(1)/etc
/sysrepo
/yang
/
108 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/modules
/iana-crypt-hash.yang
$(1)/etc
/sysrepo
/yang
/
109 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/modules
/ietf-x509-cert-to-name.yang
$(1)/etc
/sysrepo
/yang
/
110 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/modules
/ietf-netconf-server.yang
$(1)/etc
/sysrepo
/yang
/
111 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/modules
/ietf-netconf-server.yang
$(1)/etc
/sysrepo
/yang
/
112 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/modules
/ietf-system.yang
$(1)/etc
/sysrepo
/yang
/
114 $(INSTALL_DIR
) $(1)/etc
/uci-defaults
115 $(INSTALL_BIN
) .
/files
/netopeer2-server.default
$(1)/etc
/uci-defaults
/99_netopeer2-server
117 $(INSTALL_DIR
) $(1)/etc
/init.d
/
118 $(INSTALL_BIN
) .
/files
/netopeer2-server.init
$(1)/etc
/init.d
/netopeer2-server
120 $(INSTALL_DIR
) $(1)/usr
/share
/netopeer2-server
121 $(INSTALL_DATA
) .
/files
/stock_config.xml
$(1)/usr
/share
/netopeer2-server
124 define Package
/netopeer2-cli
/install
125 $(INSTALL_DIR
) $(1)/bin
126 $(INSTALL_BIN
) $(PKG_BUILD_ROOT
)/cli
/netopeer2-cli
$(1)/bin
/
129 define Package
/netopeer2-keystored
/install
130 $(INSTALL_DIR
) $(1)/usr
/lib
/sysrepo
/plugins
/
131 $(INSTALL_BIN
) $(PKG_BUILD_ROOT
)/keystored
/libkeystored.so
$(1)/usr
/lib
/sysrepo
/plugins
/
133 $(INSTALL_DIR
) $(1)/etc
/sysrepo
/yang
134 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/modules
/ietf-keystore.yang
$(1)/etc
/sysrepo
/yang
136 $(INSTALL_DIR
) $(1)/etc
/uci-defaults
138 $(INSTALL_DIR
) $(1)/etc
/keystored
/keys
139 ifeq ($(CONFIG_SSH_KEYS
),y
)
140 $(INSTALL_BIN
) .
/files
/netopeer2-keystored-keygen.default
$(1)/etc
/uci-defaults
/97_netopeer2-keystored
142 $(INSTALL_BIN
) .
/files
/netopeer2-keystored.default
$(1)/etc
/uci-defaults
/97_netopeer2-keystored
143 #ssh key name is specified in ./files/stock_config.xml file, you will need to provide the ssh keys yourself.
144 $(INSTALL_DATA
) .
/files
/ssh_host_rsa_key.pem
$(1)/etc
/keystored
/keys
145 $(INSTALL_DATA
) .
/files
/ssh_host_rsa_key.pub.pem
$(1)/etc
/keystored
/keys
148 $(INSTALL_DIR
) $(1)/usr
/share
/netopeer2-keystored
149 $(INSTALL_DATA
) $(PKG_BUILD_ROOT
)/keystored
/stock_key_config.xml
$(1)/usr
/share
/netopeer2-keystored
152 $(eval
$(call BuildPackage
,netopeer2-server
))
153 $(eval
$(call BuildPackage
,netopeer2-cli
))
154 $(eval
$(call BuildPackage
,netopeer2-keystored
))