mirror of
https://git.openwrt.org/feed/packages.git
synced 2024-06-15 11:53:59 +02:00
Merge pull request #4627 from aparcar/rpcd-mod-attended-sysupgrade
rpcd-mod-attendedsysupgrade: add package
This commit is contained in:
commit
d12344183e
44
utils/rpcd-mod-attendedsysupgrade/Makefile
Normal file
44
utils/rpcd-mod-attendedsysupgrade/Makefile
Normal 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))
|
|
@ -0,0 +1,26 @@
|
||||||
|
{
|
||||||
|
"attendedsysupgrade": {
|
||||||
|
"description": "attended sysupgrade via rpcd",
|
||||||
|
"read": {
|
||||||
|
"ubus": {
|
||||||
|
"attendedsysupgrade": [
|
||||||
|
"sysupgrade"
|
||||||
|
],
|
||||||
|
"system": [
|
||||||
|
"board"
|
||||||
|
],
|
||||||
|
"uci": [
|
||||||
|
"get"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"uci": [
|
||||||
|
"*"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"write": {
|
||||||
|
"cgi-io": [
|
||||||
|
"upload"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -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
|
29
utils/rpcd-mod-attendedsysupgrade/files/attendedsysupgrade.rpcd
Executable file
29
utils/rpcd-mod-attendedsysupgrade/files/attendedsysupgrade.rpcd
Executable 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
|
||||||
|
|
Loading…
Reference in New Issue
Block a user