2 # Copyright (C) 2013-2016 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
14 PKG_SOURCE_URL
=$(PROJECT_GIT
)/project
/rpcd.git
15 PKG_MIRROR_HASH
:=18137fa6904b1a7aec03a16a4c25fd9b9689b24ee14d431bacdda9f093339071
16 PKG_SOURCE_DATE
:=2022-09-21
17 PKG_SOURCE_VERSION
:=8c852b656bf1622dee1ae2cfa4c083f730c1c539
18 PKG_MAINTAINER
:=Jo-Philipp Wich
<jo@mein.io
>
23 PKG_ASLR_PIE_REGULAR
:=1
25 include $(INCLUDE_DIR
)/package.mk
26 include $(INCLUDE_DIR
)/cmake.mk
28 define Build
/InstallDev
29 $(INSTALL_DIR
) $(1)/usr
/include
30 $(CP
) $(PKG_BUILD_DIR
)/include/rpcd
$(1)/usr
/include/
33 define Package
/rpcd
/default
36 TITLE
:=OpenWrt ubus RPC backend server
37 DEPENDS
:=+libubus
+libubox
41 $(Package
/rpcd
/default
)
42 DEPENDS
+= +libuci
+libblobmsg-json
+libjson-c
45 define Package
/rpcd
/description
46 This package provides the UBUS RPC backend server to expose various
47 functionality to frontend programs via JSON-RPC.
50 define Package
/rpcd
/conffiles
54 TARGET_LDFLAGS
+= -lcrypt
56 define Package
/rpcd
/install
57 $(INSTALL_DIR
) $(1)/etc
/init.d
58 $(INSTALL_BIN
) .
/files
/rpcd.init
$(1)/etc
/init.d
/rpcd
59 $(INSTALL_DIR
) $(1)/sbin
60 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/rpcd
$(1)/sbin
/rpcd
61 $(INSTALL_DIR
) $(1)/usr
/share
/rpcd
/acl.d
62 $(INSTALL_DATA
) $(PKG_BUILD_DIR
)/unauthenticated.json
$(1)/usr
/share
/rpcd
/acl.d
/unauthenticated.json
63 $(INSTALL_DIR
) $(1)/etc
/config
64 $(INSTALL_CONF
) .
/files
/rpcd.config
$(1)/etc
/config
/rpcd
65 $(INSTALL_DIR
) $(1)/etc
/uci-defaults
66 $(INSTALL_BIN
) .
/files
/50-migrate-rpcd-ubus-sock.sh
$(1)/etc
/uci-defaults
71 # 2: extra dependencies
72 # 3: plugin title/description
75 PKG_CONFIG_DEPENDS
+= CONFIG_PACKAGE_rpcd-mod-
$(1)
77 define Package
/rpcd-mod-
$(1)
78 $(Package
/rpcd
/default
)
83 define Package
/rpcd-mod-
$(1)/description
87 define Package
/rpcd-mod-
$(1)/postinst
89 [ -n
"$$$${IPKG_INSTROOT}" ] ||
/etc
/init.d
/rpcd reload
92 define Package
/rpcd-mod-
$(1)/install
93 $(INSTALL_DIR
) $$(1)/usr
/lib
/rpcd
94 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/$(1).so
$$(1)/usr
/lib
/rpcd
/
97 $$(eval
$$(call BuildPackage
,rpcd-mod-
$(1)))
101 $(eval
$(call BuildPackage
,rpcd
))
102 $(eval
$(call BuildPlugin
,file
,,Provides ubus calls for file and directory operations.
))
103 $(eval
$(call BuildPlugin
,rpcsys
,,Provides ubus calls for sysupgrade and password changing.
))
104 $(eval
$(call BuildPlugin
,iwinfo
,+libiwinfo
,Provides ubus calls for accessing iwinfo data.
))
105 $(eval
$(call BuildPlugin
,ucode
,+libucode
,Allows implementing plugins using ucode scripts.
))