mirror of
https://dev.iopsys.eu/feed/iopsys.git
synced 2025-12-10 07:44:50 +01:00
197 lines
6 KiB
Makefile
197 lines
6 KiB
Makefile
#
|
|
# Copyright (C) 2023 IOPSYS
|
|
#
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=bbfdm
|
|
PKG_VERSION:=1.13.0
|
|
|
|
USE_LOCAL:=0
|
|
ifneq ($(USE_LOCAL),1)
|
|
PKG_SOURCE_PROTO:=git
|
|
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/bbfdm.git
|
|
PKG_SOURCE_VERSION:=c7151852374d1432c861bdbbbae105ec158a4d61
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
|
|
PKG_MIRROR_HASH:=skip
|
|
endif
|
|
|
|
PKG_LICENSE:=BSD-3-Clause
|
|
PKG_LICENSE_FILES:=LICENSE
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
include $(INCLUDE_DIR)/cmake.mk
|
|
include bbfdm.mk
|
|
|
|
define Package/libbbfdm-api
|
|
SECTION:=utils
|
|
CATEGORY:=Utilities
|
|
SUBMENU:=TRx69
|
|
TITLE:=BBF datamodel library, provides API to extend datamodel using DotSO plugins
|
|
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c +libcurl
|
|
ABI_VERSION:=1.0
|
|
endef
|
|
|
|
define Package/libbbfdm-ubus
|
|
SECTION:=utils
|
|
CATEGORY:=Utilities
|
|
SUBMENU:=TRx69
|
|
TITLE:=BBF datamodel ubus library, provides API to expose datamodel over ubus
|
|
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c +libbbfdm-api
|
|
endef
|
|
|
|
define Package/bbfdmd
|
|
SECTION:=utils
|
|
CATEGORY:=Utilities
|
|
SUBMENU:=TRx69
|
|
TITLE:=Datamodel ubus backend to expose core tree
|
|
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c +libbbfdm-api +libopenssl +libbbfdm-ubus +bbf_configmngr
|
|
endef
|
|
|
|
define Package/dm-service
|
|
SECTION:=utils
|
|
CATEGORY:=Utilities
|
|
SUBMENU:=TRx69
|
|
TITLE:=Datamodel ubus backend to expose micro-service tree
|
|
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libjson-c +libbbfdm-api +libbbfdm-ubus +bbf_configmngr
|
|
endef
|
|
|
|
define Package/bbf_configmngr
|
|
SECTION:=utils
|
|
CATEGORY:=Utilities
|
|
SUBMENU:=TRx69
|
|
TITLE:= BBF Config Manager
|
|
DEPENDS:=+libuci +libubox +libubus +libblobmsg-json
|
|
endef
|
|
|
|
define Package/bbfdmd/config
|
|
source "$(SOURCE)/Config_bbfdmd.in"
|
|
endef
|
|
|
|
define Package/bbf_configmngr/config
|
|
source "$(SOURCE)/bbf_configmngr.in"
|
|
endef
|
|
|
|
define Package/libbbfdm-api/description
|
|
Library contains the API(UCI, UBUS, JSON, CLI and Browse) of libbbfdm
|
|
endef
|
|
|
|
define Package/libbbfdm-ubus/description
|
|
Library contains the APIs to expose data model over ubus
|
|
endef
|
|
|
|
define Package/bbfdmd/description
|
|
Daemon to expose Datamodel core tree
|
|
endef
|
|
|
|
define Package/dm-service/description
|
|
Daemon to expose Datamodel micro-service tree
|
|
endef
|
|
|
|
define Package/bbf_configmngr/description
|
|
Daemon for handling bbf reload services via ubus bbf.config
|
|
endef
|
|
|
|
ifeq ($(USE_LOCAL),1)
|
|
define Build/Prepare
|
|
$(CP) ~/git/bbfdm/* $(PKG_BUILD_DIR)/
|
|
endef
|
|
endif
|
|
|
|
CMAKE_OPTIONS += \
|
|
-DBBF_VENDOR_PREFIX:String="$(CONFIG_BBF_VENDOR_PREFIX)" \
|
|
-DBBF_MAX_OBJECT_INSTANCES:Integer=$(CONFIG_BBF_MAX_OBJECT_INSTANCES) \
|
|
-DBBFDMD_MAX_MSG_LEN:Integer=10485760
|
|
|
|
define Package/libbbfdm-api/install
|
|
$(INSTALL_DIR) $(1)/lib
|
|
$(CP) $(PKG_BUILD_DIR)/libbbfdm-api/libbbfdm-api.so $(1)/lib/
|
|
|
|
$(INSTALL_DIR) $(1)/usr/libexec/rpcd
|
|
$(CP) $(PKG_BUILD_DIR)/utilities/files/usr/libexec/rpcd/bbf.secure $(1)/usr/libexec/rpcd/bbf.secure
|
|
$(CP) $(PKG_BUILD_DIR)/utilities/files/usr/libexec/rpcd/bbf.diag $(1)/usr/libexec/rpcd/bbf.diag
|
|
|
|
$(INSTALL_DIR) $(1)/usr/share/bbfdm/scripts/
|
|
$(CP) $(PKG_BUILD_DIR)/utilities/files/usr/share/bbfdm/scripts/bbf_api $(1)/usr/share/bbfdm/scripts/
|
|
|
|
$(INSTALL_DIR) $(1)/etc/bbfdm/certificates
|
|
echo "$(CONFIG_BBF_OBFUSCATION_KEY)" > $(1)/etc/bbfdm/.secure_hash
|
|
endef
|
|
|
|
define Package/libbbfdm-ubus/install
|
|
$(INSTALL_DIR) $(1)/lib
|
|
$(CP) $(PKG_BUILD_DIR)/libbbfdm-ubus/libbbfdm-ubus.so $(1)/lib/
|
|
endef
|
|
|
|
define Package/bbfdmd/install
|
|
$(INSTALL_DIR) $(1)/etc/bbfdm/dmmap
|
|
$(INSTALL_DIR) $(1)/usr/share/bbfdm
|
|
|
|
$(INSTALL_DIR) $(1)/etc/config
|
|
$(INSTALL_CONF) ./files/etc/config/bbfdm $(1)/etc/config/bbfdm
|
|
$(INSTALL_CONF) ./files/etc/config/schedules $(1)/etc/config/schedules
|
|
|
|
$(INSTALL_DIR) $(1)/usr/sbin
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bbfdmd/ubus/bbfdmd $(1)/usr/sbin/
|
|
|
|
$(INSTALL_DIR) $(1)/etc/init.d
|
|
$(INSTALL_BIN) ./files/etc/init.d/bbfdmd $(1)/etc/init.d/bbfdmd
|
|
|
|
$(INSTALL_DIR) $(1)/etc/hotplug.d/iface
|
|
$(INSTALL_BIN) ./files/etc/hotplug.d/iface/85-bbfdm-sysctl $(1)/etc/hotplug.d/iface/85-bbfdm-sysctl
|
|
|
|
$(INSTALL_DIR) $(1)/lib/upgrade/keep.d
|
|
$(INSTALL_DATA) ./files/lib/upgrade/keep.d/bbf $(1)/lib/upgrade/keep.d/bbf
|
|
|
|
$(INSTALL_DIR) $(1)/etc/uci-defaults
|
|
$(INSTALL_BIN) ./files/etc/uci-defaults/91-fix-bbfdmd-enabled-option $(1)/etc/uci-defaults/
|
|
endef
|
|
|
|
define Package/dm-service/install
|
|
$(INSTALL_DIR) $(1)/etc/init.d
|
|
$(INSTALL_BIN) ./files/etc/init.d/bbfdm.services $(1)/etc/init.d/
|
|
|
|
$(INSTALL_DIR) $(1)/usr/sbin
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/dm-service/dm-service $(1)/usr/sbin/
|
|
endef
|
|
|
|
define Package/bbf_configmngr/install
|
|
$(INSTALL_DIR) $(1)/etc/init.d
|
|
$(INSTALL_DIR) $(1)/etc/bbfdm/
|
|
ifeq ($(CONFIG_BBF_CONFIGMNGR_C_BACKEND),y)
|
|
$(INSTALL_DIR) $(1)/usr/sbin
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/utilities/bbf_configd $(1)/usr/sbin/
|
|
$(INSTALL_BIN) ./files/etc/init.d/bbf_configd $(1)/etc/init.d/bbf_configd
|
|
$(INSTALL_DIR) $(1)/usr/share/bbfdm/scripts
|
|
$(CP) $(PKG_BUILD_DIR)/utilities/files/usr/share/bbfdm/scripts/bbf_config_notify.sh $(1)/usr/share/bbfdm/scripts/
|
|
endif
|
|
ifeq ($(CONFIG_BBF_CONFIGMNGR_SCRIPT_BACKEND),y)
|
|
$(INSTALL_DIR) $(1)/usr/libexec/rpcd
|
|
$(CP) $(PKG_BUILD_DIR)/utilities/files/usr/libexec/rpcd/bbf.config $(1)/usr/libexec/rpcd/bbf.config
|
|
endif
|
|
$(INSTALL_DATA) ./files/etc/bbfdm/critical_services.json $(1)/etc/bbfdm/
|
|
endef
|
|
|
|
define Package/bbfdmd/prerm
|
|
#!/bin/sh
|
|
rm -rf /etc/bbfdm/dmmap/*
|
|
exit 0
|
|
endef
|
|
|
|
define Build/InstallDev
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
$(INSTALL_DIR) $(1)/usr/include
|
|
$(INSTALL_DIR) $(1)/usr/include/libbbfdm-api
|
|
$(INSTALL_DIR) $(1)/usr/include/libbbfdm-ubus
|
|
$(INSTALL_DATA) $(PKG_BUILD_DIR)/libbbfdm-api/*.h $(1)/usr/include/libbbfdm-api/
|
|
$(INSTALL_DATA) $(PKG_BUILD_DIR)/libbbfdm-ubus/bbfdm-ubus.h $(1)/usr/include/libbbfdm-ubus/
|
|
$(INSTALL_DATA) $(PKG_BUILD_DIR)/libbbfdm-api/include/*.h $(1)/usr/include/
|
|
$(CP) $(PKG_BUILD_DIR)/libbbfdm-api/libbbfdm-api.so $(1)/usr/lib
|
|
$(CP) $(PKG_BUILD_DIR)/libbbfdm-ubus/libbbfdm-ubus.so $(1)/usr/lib
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,bbf_configmngr))
|
|
$(eval $(call BuildPackage,libbbfdm-api))
|
|
$(eval $(call BuildPackage,libbbfdm-ubus))
|
|
$(eval $(call BuildPackage,bbfdmd))
|
|
$(eval $(call BuildPackage,dm-service))
|