[packages] restorefactory: add package (closes: #6464)
git-svn-id: svn://svn.openwrt.org/openwrt/packages@21090 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
2484c7e47e
commit
742cde3ec3
35
utils/restorefactory/Makefile
Normal file
35
utils/restorefactory/Makefile
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
#
|
||||||
|
# Copyright (C) 2010 segal.di.ubi.pt
|
||||||
|
#
|
||||||
|
# This is free software, licensed under the GNU General Public License v2.
|
||||||
|
# See /LICENSE for more information.
|
||||||
|
#
|
||||||
|
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME:=restorefactory
|
||||||
|
PKG_VERSION:=1
|
||||||
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
define Package/restorefactory
|
||||||
|
SECTION:=utils
|
||||||
|
CATEGORY:=Utilities
|
||||||
|
TITLE:=Mimic original functionality of the reset button
|
||||||
|
MAINTAINER:=Nuno Goncalves <nunojpg@gmail.com>
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/restoreyfactory/description
|
||||||
|
RestoreFactory handles the reset button event and issues a "firstboot" command.
|
||||||
|
Button and wait time can be configured with a UCI file.
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Build/Compile
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/restorefactory/install
|
||||||
|
$(CP) ./files/* $(1)
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage,restorefactory))
|
31
utils/restorefactory/files/etc/hotplug.d/button/50-restorefactory
Executable file
31
utils/restorefactory/files/etc/hotplug.d/button/50-restorefactory
Executable file
@ -0,0 +1,31 @@
|
|||||||
|
# /bin/sh
|
||||||
|
|
||||||
|
system_config() {
|
||||||
|
config_get button "$1" button "reset"
|
||||||
|
config_get action "$1" action "pressed"
|
||||||
|
config_get timeout "$1" timeout "5"
|
||||||
|
}
|
||||||
|
|
||||||
|
config_load system
|
||||||
|
config_foreach system_config restorefactory
|
||||||
|
|
||||||
|
[ "$BUTTON" = "$button" ] && {
|
||||||
|
|
||||||
|
[ -f /tmp/run/restorefactory.pid ] && read PID < /tmp/run/restorefactory.pid && kill $PID && rm /tmp/run/restorefactory.pid && logger -p user.info -t "restorefactory" "restore to factory defaults aborted"
|
||||||
|
|
||||||
|
[ "$ACTION" = "$action" ] && {
|
||||||
|
|
||||||
|
if [ "$timeout" -gt 0 ]
|
||||||
|
then
|
||||||
|
sleep "$timeout" && firstboot && reboot &
|
||||||
|
echo $! > /tmp/run/restorefactory.pid
|
||||||
|
logger -p user.info -t "restorefactory" "restoring to factory defaults in $timeout seconds"
|
||||||
|
elif [ "$timeout" -eq 0 ]
|
||||||
|
then
|
||||||
|
firstboot && reboot &
|
||||||
|
else
|
||||||
|
logger -p user.info -t "restorefactory" "invalid timeout value ($timeout)"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
7
utils/restorefactory/files/etc/uci-defaults/50-restorefactory
Executable file
7
utils/restorefactory/files/etc/uci-defaults/50-restorefactory
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
uci add system restorefactory
|
||||||
|
uci set system.@restorefactory[0].button=reset
|
||||||
|
uci set system.@restorefactory[0].action=pressed
|
||||||
|
uci set system.@restorefactory[0].timeout=5
|
||||||
|
uci commit
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user