# # Copyright (C) 2013 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_VERSION:=2013-09-09 PKG_RELEASE=$(PKG_SOURCE_VERSION) PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=git://nbd.name/luci2/rpcd.git PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE_VERSION:=22fbf13086653cba0c60d60ceb7baba2f33a034d PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz PKG_MAINTAINER:=Jo-Philipp Wich 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 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/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 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,iwinfo,+libiwinfo,Provides ubus calls for accessing iwinfo data.))