Merge pull request #4627 from aparcar/rpcd-mod-attended-sysupgrade

rpcd-mod-attendedsysupgrade: add package
This commit is contained in:
Daniel Golle 2017-07-25 19:46:35 +02:00 committed by GitHub
commit d12344183e
4 changed files with 112 additions and 0 deletions

View File

@ -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 <paul@spooren.de>
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))

View File

@ -0,0 +1,26 @@
{
"attendedsysupgrade": {
"description": "attended sysupgrade via rpcd",
"read": {
"ubus": {
"attendedsysupgrade": [
"sysupgrade"
],
"system": [
"board"
],
"uci": [
"get"
]
},
"uci": [
"*"
]
},
"write": {
"cgi-io": [
"upload"
]
}
}
}

View File

@ -0,0 +1,13 @@
#!/bin/sh
[ -e /etc/config/attendedsysupgrade ] && exit 0
touch /etc/config/attendedsysupgrade
uci -q batch <<EOF
add attendedsysupgrade settings
set attendedsysupgrade.@settings[0].update_server=https://betaupdate.libremesh.org
commit attendedsysupgrade
EOF
exit 01

View File

@ -0,0 +1,29 @@
#!/bin/sh
. /usr/share/libubox/jshn.sh
case "$1" in
list)
json_init
json_add_object "sysupgrade"
json_close_object
json_dump
;;
call)
case "$2" in
sysupgrade)
if [ -f "/tmp/sysupgrade.bin" ]; then
/etc/init.d/uhttpd stop
/etc/init.d/dropbear stop
sleep 1;
/sbin/sysupgrade -c /tmp/sysupgrade.bin
fi
json_init
json_add_string "message" "could not find /tmp/sysupgrade.bin"
json_dump
esac
;;
esac