mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-25 16:31:13 +00:00
a3a9e1d0fe
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>
(cherry picked from commit eaad2211db
)
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.))
|