mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-19 05:38:00 +00:00
eaad2211db
The OpenWrt buildroot ABI version rebuild tracker does not handle transient dependencies, therefor add all libraries linked by rpcd as direct dependencies to the corresponding binary package definition. This ensures that rpcd is automatically rebuilt and relinked if any of these libraries has its ABI_VERSION updated in the future. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
98 lines
2.4 KiB
Makefile
98 lines
2.4 KiB
Makefile
#
|
|
# Copyright (C) 2013-2016 OpenWrt.org
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=rpcd
|
|
PKG_RELEASE:=2
|
|
|
|
PKG_SOURCE_PROTO:=git
|
|
PKG_SOURCE_URL=$(PROJECT_GIT)/project/rpcd.git
|
|
PKG_SOURCE_DATE:=2019-06-05
|
|
PKG_SOURCE_VERSION:=89bfaa42460696fb3c37c232f69c2afd5c6d909e
|
|
PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
|
|
PKG_MIRROR_HASH:=c7ab910d4b3d135003d6c272968e8d73691aff4cdb367802e436ddf0c2d03435
|
|
|
|
PKG_LICENSE:=ISC
|
|
PKG_LICENSE_FILES:=
|
|
|
|
PKG_BUILD_PARALLEL:=1
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
include $(INCLUDE_DIR)/cmake.mk
|
|
|
|
define Build/InstallDev
|
|
$(INSTALL_DIR) $(1)/usr/include
|
|
$(CP) $(PKG_BUILD_DIR)/include/rpcd $(1)/usr/include/
|
|
endef
|
|
|
|
define Package/rpcd/default
|
|
SECTION:=utils
|
|
CATEGORY:=Base system
|
|
TITLE:=OpenWrt ubus RPC backend server
|
|
DEPENDS:=+libubus +libubox
|
|
endef
|
|
|
|
define Package/rpcd
|
|
$(Package/rpcd/default)
|
|
DEPENDS+= +libuci +libblobmsg-json +libjson-c
|
|
endef
|
|
|
|
define Package/rpcd/description
|
|
This package provides the UBUS RPC backend server to expose various
|
|
functionality to frontend programs via JSON-RPC.
|
|
endef
|
|
|
|
define Package/rpcd/conffiles
|
|
/etc/config/rpcd
|
|
endef
|
|
|
|
TARGET_LDFLAGS += -lcrypt
|
|
|
|
define Package/rpcd/install
|
|
$(INSTALL_DIR) $(1)/etc/init.d
|
|
$(INSTALL_BIN) ./files/rpcd.init $(1)/etc/init.d/rpcd
|
|
$(INSTALL_DIR) $(1)/sbin
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/rpcd $(1)/sbin/rpcd
|
|
$(INSTALL_DIR) $(1)/usr/share/rpcd/acl.d
|
|
$(INSTALL_DATA) $(PKG_BUILD_DIR)/unauthenticated.json $(1)/usr/share/rpcd/acl.d/unauthenticated.json
|
|
$(INSTALL_DIR) $(1)/etc/config
|
|
$(INSTALL_CONF) ./files/rpcd.config $(1)/etc/config/rpcd
|
|
endef
|
|
|
|
|
|
# 1: plugin name
|
|
# 2: extra dependencies
|
|
# 3: plugin title/description
|
|
define BuildPlugin
|
|
|
|
PKG_CONFIG_DEPENDS += CONFIG_PACKAGE_luci-rpc-mod-$(1)
|
|
|
|
define Package/rpcd-mod-$(1)
|
|
$(Package/rpcd/default)
|
|
TITLE+= ($(1) plugin)
|
|
DEPENDS+=rpcd $(2)
|
|
endef
|
|
|
|
define Package/rpcd-mod-$(1)/description
|
|
$(3)
|
|
endef
|
|
|
|
define Package/rpcd-mod-$(1)/install
|
|
$(INSTALL_DIR) $$(1)/usr/lib/rpcd
|
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/$(1).so $$(1)/usr/lib/rpcd/
|
|
endef
|
|
|
|
$$(eval $$(call BuildPackage,rpcd-mod-$(1)))
|
|
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,rpcd))
|
|
$(eval $(call BuildPlugin,file,,Provides ubus calls for file and directory operations.))
|
|
$(eval $(call BuildPlugin,rpcsys,,Provides ubus calls for sysupgrade and password changing.))
|
|
$(eval $(call BuildPlugin,iwinfo,+libiwinfo,Provides ubus calls for accessing iwinfo data.))
|