From: Jo-Philipp Wich Date: Mon, 8 Nov 2010 18:27:34 +0000 (+0000) Subject: modules/admin-full: abandon flash_keep and switch to /etc/sysupgrade.conf X-Git-Tag: 0.10.0~511 X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fluci.git;a=commitdiff_plain;h=b6d80f297b448416f692bd7a95357a4a31a9391b modules/admin-full: abandon flash_keep and switch to /etc/sysupgrade.conf --- diff --git a/modules/admin-full/luasrc/model/cbi/admin_index/luci.lua b/modules/admin-full/luasrc/model/cbi/admin_index/luci.lua index e3d7d412a..463966437 100644 --- a/modules/admin-full/luasrc/model/cbi/admin_index/luci.lua +++ b/modules/admin-full/luasrc/model/cbi/admin_index/luci.lua @@ -2,6 +2,7 @@ LuCI - Lua Configuration Interface Copyright 2008 Steven Barth +Copyright 2010 Jo-Philipp Wich Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -11,6 +12,7 @@ You may obtain a copy of the License at $Id$ ]]-- + require("luci.config") m = Map("luci", translate("Web UI"), translate("Here you can customize the settings and the functionality of LuCI.")) @@ -47,8 +49,58 @@ u = m:section(NamedSection, "uci_oncommit", "event", translate("Post-commit acti translate("These commands will be executed automatically when a given UCI configuration is committed allowing changes to be applied instantly.")) u.dynamic = true -f = m:section(NamedSection, "flash_keep", "extern", translate("Files to be kept when flashing a new firmware"), - translate("When flashing a new firmware with LuCI these files will be added to the new firmware installation.")) -f.dynamic = true + +f = m:section(NamedSection, "main", "core", translate("Files to be kept when flashing a new firmware")) + +f:tab("detected", translate("Detected Files"), + translate("The following files are detected by the system and will be kept automatically during sysupgrade")) + +f:tab("custom", translate("Custom Files"), + translate("This is a list of shell glob patterns for matching files and directories to include during sysupgrade")) + +d = f:taboption("detected", DummyValue, "_detected", translate("Detected files")) +d.rawhtml = true +d.cfgvalue = function(s) + local list = io.popen( + "( find $(sed -ne '/^[[:space:]]*$/d; /^#/d; p' /etc/sysupgrade.conf " .. + "/lib/upgrade/keep.d/* 2>/dev/null) -type f 2>/dev/null; " .. + "opkg list-changed-conffiles ) | sort -u" + ) + + if list then + local files = { "
    " } + + while true do + local ln = list:read("*l") + if not ln then + break + else + files[#files+1] = "
  • " + files[#files+1] = luci.util.pcdata(ln) + files[#files+1] = "
  • " + end + end + + list:close() + files[#files+1] = "
" + + return table.concat(files, "") + end + + return "No files found" +end + +c = f:taboption("custom", TextValue, "_custom", translate("Custom files")) +c.rmempty = false +c.cols = 70 +c.rows = 30 + +c.cfgvalue = function(self, section) + return nixio.fs.readfile("/etc/sysupgrade.conf") +end + +c.write = function(self, section, value) + return nixio.fs.writefile("/etc/sysupgrade.conf", value) +end return m