* luci-0.8: backport hd-idle application
authorJo-Philipp Wich <jow@openwrt.org>
Fri, 3 Oct 2008 12:24:57 +0000 (12:24 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Fri, 3 Oct 2008 12:24:57 +0000 (12:24 +0000)
applications/luci-hd_idle/Makefile [new file with mode: 0644]
applications/luci-hd_idle/ipkg/postinst [new file with mode: 0644]
applications/luci-hd_idle/luasrc/controller/hd_idle.lua [new file with mode: 0644]
applications/luci-hd_idle/luasrc/i18n/hd_idle.de.lua [new file with mode: 0644]
applications/luci-hd_idle/luasrc/i18n/hd_idle.de.xml [new file with mode: 0644]
applications/luci-hd_idle/luasrc/i18n/hd_idle.en.lua [new file with mode: 0644]
applications/luci-hd_idle/luasrc/i18n/hd_idle.en.xml [new file with mode: 0644]
applications/luci-hd_idle/luasrc/model/cbi/hd_idle.lua [new file with mode: 0644]
applications/luci-hd_idle/root/etc/uci-defaults/luci-hd_idle [new file with mode: 0644]
contrib/package/luci/Makefile

diff --git a/applications/luci-hd_idle/Makefile b/applications/luci-hd_idle/Makefile
new file mode 100644 (file)
index 0000000..81a96f6
--- /dev/null
@@ -0,0 +1,2 @@
+include ../../build/config.mk
+include ../../build/module.mk
\ No newline at end of file
diff --git a/applications/luci-hd_idle/ipkg/postinst b/applications/luci-hd_idle/ipkg/postinst
new file mode 100644 (file)
index 0000000..4c3b4dc
--- /dev/null
@@ -0,0 +1,4 @@
+#!/bin/sh
+[ -n "${IPKG_INSTROOT}" ] || {
+        ( . /etc/uci-defaults/luci-hd_idle ) && rm -f /etc/uci-defaults/luci-hd_idle
+}
diff --git a/applications/luci-hd_idle/luasrc/controller/hd_idle.lua b/applications/luci-hd_idle/luasrc/controller/hd_idle.lua
new file mode 100644 (file)
index 0000000..45d102c
--- /dev/null
@@ -0,0 +1,28 @@
+--[[
+
+LuCI hd-idle
+(c) 2008 Yanira <forum-2008@email.de>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+$Id$
+
+]]--
+
+module("luci.controller.hd_idle", package.seeall)
+
+function index()
+       require("luci.i18n")
+       luci.i18n.loadc("hd_idle")
+       if not luci.fs.isfile("/etc/config/hd-idle") then
+               return
+       end
+
+       local page = entry({"admin", "services", "hd_idle"}, cbi("hd_idle"), luci.i18n.translate("hd_idle", "hd-idle"), 60)
+       page.i18n = "hd_idle"
+       page.dependent = true
+end
diff --git a/applications/luci-hd_idle/luasrc/i18n/hd_idle.de.lua b/applications/luci-hd_idle/luasrc/i18n/hd_idle.de.lua
new file mode 100644 (file)
index 0000000..ca276ab
--- /dev/null
@@ -0,0 +1,7 @@
+disk = 'Festplatte'
+enable_debug = 'Debug-Ausgaben aktivieren'
+hd_idle = 'hd-idle'
+hd_idle_desc = 'hd-idle ist ein Hilfsprogramm um externe Festplatten nach einer festgelegten Leerlaufzeit herunter zu fahren.'
+idle_time_interval = 'Leerlaufzeit'
+idle_time_unit = 'Leerlaufzeiteinheit'
+settings = 'Einstellungen'
diff --git a/applications/luci-hd_idle/luasrc/i18n/hd_idle.de.xml b/applications/luci-hd_idle/luasrc/i18n/hd_idle.de.xml
new file mode 100644 (file)
index 0000000..398df00
--- /dev/null
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<i18n:msgs xmlns:i18n="http://luci.freifunk-halle.net/2008/i18n#" xmlns="http://www.w3.org/1999/xhtml">
+
+<i18n:msg xml:id="disk">Festplatte</i18n:msg>
+<i18n:msg xml:id="enable_debug">Debug-Ausgaben aktivieren</i18n:msg>
+<i18n:msg xml:id="hd_idle">hd-idle</i18n:msg>
+<i18n:msg xml:id="hd_idle_desc">hd-idle ist ein Hilfsprogramm um externe Festplatten nach einer festgelegten Leerlaufzeit herunter zu fahren.</i18n:msg>
+<i18n:msg xml:id="idle_time_interval">Leerlaufzeit</i18n:msg>
+<i18n:msg xml:id="idle_time_unit">Leerlaufzeiteinheit</i18n:msg>
+<i18n:msg xml:id="settings">Einstellungen</i18n:msg>
+
+</i18n:msgs>
diff --git a/applications/luci-hd_idle/luasrc/i18n/hd_idle.en.lua b/applications/luci-hd_idle/luasrc/i18n/hd_idle.en.lua
new file mode 100644 (file)
index 0000000..2ec7780
--- /dev/null
@@ -0,0 +1,7 @@
+disk = 'Disk'
+enable_debug = 'Enable debug'
+hd_idle = 'hd-idle'
+hd_idle_desc = 'hd-idle is a utility program for spinning-down external disks after a period of idle time.'
+idle_time_interval = 'Idle-Time'
+idle_time_unit = 'Idle-Time unit'
+settings = 'Settings'
diff --git a/applications/luci-hd_idle/luasrc/i18n/hd_idle.en.xml b/applications/luci-hd_idle/luasrc/i18n/hd_idle.en.xml
new file mode 100644 (file)
index 0000000..7802a78
--- /dev/null
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<i18n:msgs xmlns:i18n="http://luci.freifunk-halle.net/2008/i18n#" xmlns="http://www.w3.org/1999/xhtml">
+
+<i18n:msg xml:id="disk">Disk</i18n:msg>
+<i18n:msg xml:id="enable_debug">Enable debug</i18n:msg>
+<i18n:msg xml:id="hd_idle">hd-idle</i18n:msg>
+<i18n:msg xml:id="hd_idle_desc">hd-idle is a utility program for spinning-down external disks after a period of idle time.</i18n:msg>
+<i18n:msg xml:id="idle_time_interval">Idle-Time</i18n:msg>
+<i18n:msg xml:id="idle_time_unit">Idle-Time unit</i18n:msg>
+<i18n:msg xml:id="settings">Settings</i18n:msg>
+
+</i18n:msgs>
diff --git a/applications/luci-hd_idle/luasrc/model/cbi/hd_idle.lua b/applications/luci-hd_idle/luasrc/model/cbi/hd_idle.lua
new file mode 100644 (file)
index 0000000..e880aaf
--- /dev/null
@@ -0,0 +1,42 @@
+--[[
+
+LuCI hd-idle
+(c) 2008 Yanira <forum-2008@email.de>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+$Id$
+
+]]--
+
+require("luci.fs")
+
+m = Map("hd-idle", translate("hd_idle"), translate("hd_idle_desc"))
+
+s = m:section(TypedSection, "hd-idle", translate("settings"))
+s.addremove = true
+s.anonymous = true
+
+s:option(Flag, "enabled", translate("enabled", "Enable"))
+
+disk = s:option(Value, "disk", translate("disk"))
+disk.rmempty = true
+for _, dev in ipairs(luci.fs.glob("/dev/[sh]d[a-z]")) do
+       disk:value(luci.fs.basename(dev))
+end
+
+s:option(Value, "idle_time_interval", translate("idle_time_interval")).default = 10
+s.rmempty = true
+unit = s:option(ListValue, "idle_time_unit", translate("idle_time_unit"))
+unit.default = "minutes"
+unit:value("minutes", "min")
+unit:value("hours", "h")
+unit.rmempty = true
+
+s:option(Flag, "enable_debug", translate("enable_debug"))
+
+return m
diff --git a/applications/luci-hd_idle/root/etc/uci-defaults/luci-hd_idle b/applications/luci-hd_idle/root/etc/uci-defaults/luci-hd_idle
new file mode 100644 (file)
index 0000000..6a37176
--- /dev/null
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+uci batch <<-EOF
+       add ucitrack hd-idle
+       set ucitrack.@hd-idle[-1].init=hd-idle
+       commit ucitrack
+EOF
index c931204..6655a05 100644 (file)
@@ -398,6 +398,16 @@ define Package/luci-app-ushare/install
         $(call Package/luci/install/template,$(1),applications/luci-ushare)
 endef
 
+define Package/luci-app-hd_idle
+  $(call Package/luci/webtemplate)
+  DEPENDS+=+luci-admin-full +hd-idle
+  TITLE:=hd-idle
+endef
+
+define Package/luci-app-hd_idle/install
+        $(call Package/luci/install/template,$(1),applications/luci-hd_idle)
+endef
+
 
 ### Server Gateway Interfaces ###
 
@@ -551,6 +561,9 @@ endif
 ifneq ($(CONFIG_PACKAGE_luci-app-ushare),)
         PKG_SELECTED_MODULES+=applications/luci-ushare
 endif
+ifneq ($(CONFIG_PACKAGE_luci-app-hd_idle),)
+       PKG_SELECTED_MODULES+=applications/luci-hd_idle
+endif
 
 
 ifneq ($(CONFIG_PACKAGE_luci-sgi-cgi),)
@@ -614,6 +627,7 @@ $(eval $(call BuildPackage,luci-app-samba))
 $(eval $(call BuildPackage,luci-app-uvc_streamer))
 $(eval $(call BuildPackage,luci-app-p910nd))
 $(eval $(call BuildPackage,luci-app-ushare))
+$(eval $(call BuildPackage,luci-app-hd_idle))
 
 $(eval $(call BuildPackage,luci-sgi-cgi))