From: Paul Spooren Date: Tue, 18 Jul 2017 22:47:40 +0000 (+0200) Subject: rpcd-mod-attendedsysupgrade: add package X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=refs%2Fpull%2F4627%2Fhead;p=feed%2Fpackages.git rpcd-mod-attendedsysupgrade: add package add ubus call to perform a sysupgrade and acl file for the attended sysupgrade use case as well uci defaults. Package is a part of the GSoC 17 project implementing easy sysupgrade functionality. Signed-off-by: Paul Spooren --- diff --git a/utils/rpcd-mod-attendedsysupgrade/Makefile b/utils/rpcd-mod-attendedsysupgrade/Makefile new file mode 100644 index 0000000000..ad9c8fca9f --- /dev/null +++ b/utils/rpcd-mod-attendedsysupgrade/Makefile @@ -0,0 +1,44 @@ +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=rpcd-mod-attendedsysupgrade +PKG_VERSION:=1 +PKG_RELEASE:=1 +PKG_LICENSE:=GPL-2.0 + +include $(INCLUDE_DIR)/package.mk + +define Package/rpcd-mod-attendedsysupgrade + SECTION:=utils + CATEGORY:=Base system + TITLE:=OpenWrt ubus RPC backend server (attendedsysupgrade) + MAINTAINER:=Paul Spooren + DEPENDS:=rpcd +cgi-io +rpcd-mod-packagelist +endef + +define Package/rpcd-mod-attendedsysupgrade/description + implements sysupgrade function with ubus + add uci settings and needed acls +endef + +define Build/Compile +endef + +define Build/Configure +endef + +define Package/rpcd-mod-attendedsysupgrade/install + $(INSTALL_DIR) $(1)/usr/share/rpcd/acl.d/ + $(INSTALL_BIN) ./files/attendedsysupgrade.acl $(1)/usr/share/rpcd/acl.d/attendedsysupgrade.json + + $(INSTALL_DIR) $(1)/usr/libexec/rpcd/ + $(INSTALL_BIN) ./files/attendedsysupgrade $(1)/usr/libexec/rpcd/attendedsysupgrade + + $(INSTALL_DIR) $(1)/etc/uci-defaults/ + $(INSTALL_BIN) ./files/attendedsysupgrade.defaults $(1)/etc/uci-defaults/attendedsysupgrade +endef + +$(eval $(call BuildPackage,rpcd-mod-attendedsysupgrade)) diff --git a/utils/rpcd-mod-attendedsysupgrade/files/attendedsysupgrade.acl b/utils/rpcd-mod-attendedsysupgrade/files/attendedsysupgrade.acl new file mode 100644 index 0000000000..fdb05b7092 --- /dev/null +++ b/utils/rpcd-mod-attendedsysupgrade/files/attendedsysupgrade.acl @@ -0,0 +1,26 @@ +{ + "attendedsysupgrade": { + "description": "attended sysupgrade via rpcd", + "read": { + "ubus": { + "attendedsysupgrade": [ + "sysupgrade" + ], + "system": [ + "board" + ], + "uci": [ + "get" + ] + }, + "uci": [ + "*" + ] + }, + "write": { + "cgi-io": [ + "upload" + ] + } + } +} diff --git a/utils/rpcd-mod-attendedsysupgrade/files/attendedsysupgrade.defaults b/utils/rpcd-mod-attendedsysupgrade/files/attendedsysupgrade.defaults new file mode 100644 index 0000000000..772ec53f49 --- /dev/null +++ b/utils/rpcd-mod-attendedsysupgrade/files/attendedsysupgrade.defaults @@ -0,0 +1,13 @@ +#!/bin/sh + +[ -e /etc/config/attendedsysupgrade ] && exit 0 + +touch /etc/config/attendedsysupgrade + +uci -q batch <