Merge pull request #5387 from diizzyy/admin-netdata
[feed/packages.git] / net / netopeer2 / Makefile
1 #
2 # Copyright (C) 2017 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 # Warning by default OpenWrt does not have a root password which is necessery for NETCONF server.
9
10 include $(TOPDIR)/rules.mk
11
12 PKG_NAME:=netopeer2
13
14 PKG_LICENSE:=BSD-3-Clause
15 PKG_MAINTAINER:=Mislav Novakovic <mislav.novakovic@sartura.hr>
16
17 PKG_VERSION:=0.4.13
18
19 PKG_SOURCE_PROTO:=git
20 PKG_SOURCE_VERSION:=ae560bef2e70d274f6d028b59e3cb398ea2a621d
21 PKG_MIRROR_HASH:=43b7f9c436afc76de539a7426b1462249326318b9b836f1d49282106a730a6b8
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)
25
26 PKG_BUILD_ROOT:=$(BUILD_DIR)/$(PKG_SOURCE_SUBDIR)
27 PKG_BUILD_DIR:=$(PKG_BUILD_ROOT)
28
29 PKG_BUILD_PARALLEL:=1
30 PKG_INSTALL:=1
31
32 CMAKE_INSTALL:=1
33
34 include $(INCLUDE_DIR)/package.mk
35 include $(INCLUDE_DIR)/cmake.mk
36
37 define Package/netopeer2-keystored/config
38 source "$(SOURCE)/Config_keystored.in"
39 endef
40
41 define Package/netopeer2-server
42 SECTION:=utils
43 CATEGORY:=Utilities
44 TITLE:=NETCONF server
45 URL:=$(PKG_SOURCE_URL)
46 DEPENDS:=+libpthread +libyang +libnetconf2 +netopeer2-keystored +libsysrepo +sysrepocfg +sysrepoctl +sysrepo
47 MENU:=1
48 endef
49
50 define Package/netopeer2-cli
51 SECTION:=utils
52 CATEGORY:=Utilities
53 TITLE:=Netopeer2 cli tool
54 URL:=$(PKG_SOURCE_URL)
55 DEPENDS:=+libpthread +libyang +libnetconf2 +libopenssl
56 endef
57
58 define Package/netopeer2-keystored
59 SECTION:=utils
60 CATEGORY:=Utilities
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
64 MENU:=1
65 endef
66
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.
72 endef
73
74 CMAKE_OPTIONS += \
75 -DCMAKE_INSTALL_PREFIX:PATH=/usr \
76 -DCMAKE_BUILD_TYPE:STRING=Release \
77 -DKEYSTORED_KEYS_DIR:STRING=/etc/keystored/keys
78
79 define Package/netopeer2-server/install
80 $(INSTALL_DIR) $(1)/bin
81 $(INSTALL_BIN) $(PKG_BUILD_ROOT)/server/netopeer2-server $(1)/bin/
82
83 $(INSTALL_DIR) $(1)/etc/sysrepo/yang
84 $(INSTALL_DATA) $(PKG_BUILD_ROOT)/modules/ietf-ssh-server.yang $(1)/etc/sysrepo/yang/ietf-ssh-server@2016-11-02.yang
85 $(INSTALL_DATA) $(PKG_BUILD_ROOT)/modules/ietf-tls-server.yang $(1)/etc/sysrepo/yang/ietf-tls-server@2016-11-02.yang
86 $(INSTALL_DATA) $(PKG_BUILD_ROOT)/modules/iana-crypt-hash.yang $(1)/etc/sysrepo/yang/iana-crypt-hash@2014-08-06.yang
87 $(INSTALL_DATA) $(PKG_BUILD_ROOT)/modules/ietf-x509-cert-to-name.yang $(1)/etc/sysrepo/yang/ietf-x509-cert-to-name@2014-12-10.yang
88 $(INSTALL_DATA) $(PKG_BUILD_ROOT)/modules/ietf-netconf-server.yang $(1)/etc/sysrepo/yang/ietf-netconf-server@2016-11-02.yang
89 $(INSTALL_DATA) $(PKG_BUILD_ROOT)/modules/ietf-system.yang $(1)/etc/sysrepo/yang/ietf-system@2014-08-06.yang
90
91 $(INSTALL_DIR) $(1)/etc/uci-defaults
92 $(INSTALL_BIN) ./files/netopeer2-server.default $(1)/etc/uci-defaults/99_netopeer2-server
93
94 $(INSTALL_DIR) $(1)/etc/init.d/
95 $(INSTALL_BIN) ./files/netopeer2-server.init $(1)/etc/init.d/netopeer2-server
96
97 $(INSTALL_DIR) $(1)/usr/share/netopeer2-server
98 $(INSTALL_DATA) ./files/stock_config.xml $(1)/usr/share/netopeer2-server
99 endef
100
101 define Package/netopeer2-cli/install
102 $(INSTALL_DIR) $(1)/bin
103 $(INSTALL_BIN) $(PKG_BUILD_ROOT)/cli/netopeer2-cli $(1)/bin/
104 endef
105
106 define Package/netopeer2-keystored/install
107 $(INSTALL_DIR) $(1)/usr/lib/sysrepo/plugins/
108 $(INSTALL_BIN) $(PKG_BUILD_ROOT)/keystored/libkeystored.so $(1)/usr/lib/sysrepo/plugins/
109
110 $(INSTALL_DIR) $(1)/etc/sysrepo/yang
111 $(INSTALL_DATA) $(PKG_BUILD_ROOT)/modules/ietf-keystore.yang $(1)/etc/sysrepo/yang/ietf-keystore@2016-10-31.yang
112
113 $(INSTALL_DIR) $(1)/etc/uci-defaults
114
115 $(INSTALL_DIR) $(1)/etc/keystored/keys
116 ifeq ($(CONFIG_SSH_KEYS),y)
117 $(INSTALL_BIN) ./files/netopeer2-keystored-keygen.default $(1)/etc/uci-defaults/97_netopeer2-keystored
118 else
119 $(INSTALL_BIN) ./files/netopeer2-keystored.default $(1)/etc/uci-defaults/97_netopeer2-keystored
120 #ssh key name is specified in ./files/stock_config.xml file, you will need to provide the ssh keys yourself.
121 $(INSTALL_DATA) ./files/ssh_host_rsa_key.pem $(1)/etc/keystored/keys
122 $(INSTALL_DATA) ./files/ssh_host_rsa_key.pub.pem $(1)/etc/keystored/keys
123 endif
124
125 $(INSTALL_DIR) $(1)/usr/share/netopeer2-keystored
126 $(INSTALL_DATA) $(PKG_BUILD_ROOT)/keystored/stock_key_config.xml $(1)/usr/share/netopeer2-keystored
127 endef
128
129 $(eval $(call BuildPackage,netopeer2-server))
130 $(eval $(call BuildPackage,netopeer2-cli))
131 $(eval $(call BuildPackage,netopeer2-keystored))