#
# Copyright (C) 2026 Teltonika-Networks
#

include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/download.mk

PKG_NAME:=netconf-rutos
PKG_VERSION:=1.0.0
PKG_RELEASE:=1

PKG_LICENSE:=Teltonika-closed
PKG_SOURCE_VERSION:=7.24

include $(INCLUDE_DIR)/package.mk

define Package/netconf-rutos
  SECTION:=net
  CATEGORY:=Network
  TITLE:=NETCONF bridge for RUTOS API (generated YANG models)
  DEPENDS:=+libsysrepo +libyang +libubus +libubox +libblobmsg-json \
	+libjson-c +sysrepo +netopeer2-server
  PKG_TLT_NAME:=NETCONF
  PKG_ROUTER:=$(TLT_PLATFORM_NAME)
  USERID:=netconf=663:netconf=663
endef

define Package/netconf-rutos/description
 Generic sysrepo-plugind plugin bridging generated teltonika-* YANG modules
 to the RUTOS API. Models and the mapping table are generated from the
 OpenAPI documentation with scripts/openapi2yang.py.
endef


define Package/netconf-rutos/install
	$(INSTALL_DIR) $(1)/usr/lib/sysrepo-plugind/plugins
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/netconf-rutos.so $(1)/usr/lib/sysrepo-plugind/plugins/

	$(INSTALL_DIR) $(1)/etc/netconf-rutos
	$(INSTALL_DATA) $(PKG_BUILD_DIR)/files/*.yang $(1)/etc/netconf-rutos/
	$(INSTALL_DATA) $(PKG_BUILD_DIR)/files/netconf-rutos-map.json $(1)/etc/netconf-rutos/map.json

	$(INSTALL_DIR) $(1)/etc/uci-defaults
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/netconf-rutos.default $(1)/etc/uci-defaults/99_netconf-rutos

	$(INSTALL_DIR) $(1)/usr/share/acl.d
	$(INSTALL_DATA) $(PKG_BUILD_DIR)/files/acl.d/netconf.json $(1)/usr/share/acl.d/

	$(INSTALL_DIR) $(1)/etc/permtab.d/
	$(INSTALL_DATA) $(PKG_BUILD_DIR)/files/netconf.permtab $(1)/etc/permtab.d/netconf

	$(INSTALL_DIR) $(1)/etc/config
	$(INSTALL_DATA) $(PKG_BUILD_DIR)/files/netconf.config $(1)/etc/config/netconf
endef

$(eval $(call BuildPackage,netconf-rutos))
