moodules/admin-core: add luci_{ethers,hosts} -> dhcp config migration
authorJo-Philipp Wich <jow@openwrt.org>
Tue, 9 Mar 2010 11:37:12 +0000 (11:37 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Tue, 9 Mar 2010 11:37:12 +0000 (11:37 +0000)
modules/admin-core/root/etc/init.d/luci_dhcp_migrate [new file with mode: 0755]

diff --git a/modules/admin-core/root/etc/init.d/luci_dhcp_migrate b/modules/admin-core/root/etc/init.d/luci_dhcp_migrate
new file mode 100755 (executable)
index 0000000..7fb4435
--- /dev/null
@@ -0,0 +1,41 @@
+#!/bin/sh /etc/rc.common
+
+START=59
+
+boot() {
+       if [ -f /etc/config/luci_ethers ]; then
+               logger -t luci_dhcp_migrate "Migrating luci_ethers configuration ..."
+
+               lua -lluci.model.uci -e '
+                       x=luci.model.uci.cursor()
+                       x:foreach("luci_ethers", "static_lease",
+                       function(s)
+                               x:section("dhcp", "host", nil, {mac=s.macaddr, ip=s.ipaddr})
+                       end)
+                       x:save("dhcp")
+                       x:commit("dhcp")
+               '
+
+               rm -f /etc/config/luci_ethers
+       fi
+
+       if [ -f /etc/config/luci_hosts ]; then
+               logger -t luci_dhcp_migrate "Migrating luci_hosts configuration ..."
+
+               lua -lluci.model.uci -e '
+                       x=luci.model.uci.cursor()
+                       x:foreach("luci_hosts", "host",
+                       function(s)
+                               x:section("dhcp", "domain", nil, {name=s.hostname, ip=s.ipaddr})
+                       end)
+                       x:save("dhcp")
+                       x:commit("dhcp")
+               '
+
+               rm -f /etc/config/luci_hosts
+       fi
+}
+
+start() { :; }
+stop() { :; }
+