#!/bin/sh # # Copyright (C) 2018 devolo AG # . /usr/lib/lh-migration.sh LH_PATH="$.SystemConfig.Services" function migrate_password() { logger "Migrating password" local PWD="$(lh_filter $LH_PATH.System.SystemPassword)" [ -n "$PWD" ] && echo -e "${PWD}\n${PWD}" | passwd } function migrate_led() { local uci_path="system" local AlwaysOff="$(lh_filter $LH_PATH.LedsAndButtons.Leds.AlwaysOff)" logger "Migrating leds (AlwaysOff=$AlwaysOff)" if [ "$AlwaysOff" = "true" ]; then local PLC_LED_SCHEME="off" local DISABLE_LEDS="1" elif [ "$AlwaysOff" = "false" ]; then local PLC_LED_SCHEME="on" local DISABLE_LEDS="0" else return fi config_load plc uci set plc.plc.led_scheme=$PLC_LED_SCHEME uci_commit plc uci set $uci_path.led_wlan.disabled='0' uci set $uci_path.led_wlan.disableLeds=$DISABLE_LEDS uci set $uci_path.led_plcw.disabled='0' uci set $uci_path.led_plcr.disabled='0' } function migrate_timezone() { local uci_path="system.@system[0]" local TIMEZONE ZONENAME local GMTOffset=$(lh_filter $LH_PATH.NTPClient.GMTOffset) logger "Migrating timezone $GMTOffset" case "$GMTOffset" in "-12:00") TIMEZONE='UTC+12' ZONENAME='UTC-12' ;; "-11:00") TIMEZONE='UTC+11' ZONENAME='UTC-11' ;; "-10:00") TIMEZONE='UTC+10' ZONENAME='UTC-10' ;; "-09:00") TIMEZONE='UTC+9' ZONENAME='UTC-9' ;; "-08:00") TIMEZONE='UTC+8' ZONENAME='UTC-8' ;; "-07:00") TIMEZONE='UTC+7' ZONENAME='UTC-7' ;; "-06:00") TIMEZONE='UTC+6' ZONENAME='UTC-6' ;; "-05:00") TIMEZONE='UTC+5' ZONENAME='UTC-5' ;; "-04:00") TIMEZONE='UTC+4' ZONENAME='UTC-4' ;; "-03:30") TIMEZONE='UTC+3:30' ZONENAME='UTC-3:30' ;; "-03:00") TIMEZONE='UTC+3' ZONENAME='UTC-3' ;; "-02:00") TIMEZONE='UTC+2' ZONENAME='UTC-2' ;; "-01:00") TIMEZONE='UTC+1' ZONENAME='UTC-1' ;; "+00:00") TIMEZONE='GMT0BST,M3.5.0/1,M10.5.0' ZONENAME='Europe/London' ;; "+01:00") TIMEZONE='CET-1CEST,M3.5.0,M10.5.0/3' ZONENAME='Europe/Berlin' ;; "+02:00") TIMEZONE='EET-2EEST,M3.5.0/3,M10.5.0/4' ZONENAME='Europe/Sofia' ;; "+03:00") TIMEZONE='MSK-3' ZONENAME='Europe/Moscow' ;; "+03:30") TIMEZONE='UTC-3:30' ZONENAME='UTC+3:30' ;; "+04:00") TIMEZONE='SAMT-4' ZONENAME='Europe/Samara' ;; "+05:00") TIMEZONE='UTC-5' ZONENAME='UTC+5' ;; "+05:30") TIMEZONE='UTC-5:30' ZONENAME='UTC+5:30' ;; "+05:45") TIMEZONE='UTC-5:45' ZONENAME='UTC+5:45' ;; "+06:00") TIMEZONE='UTC-6' ZONENAME='UTC+6' ;; "+06:30") TIMEZONE='UTC-6:30' ZONENAME='UTC+6:30' ;; "+07:00") TIMEZONE='UTC-7' ZONENAME='UTC+7' ;; "+08:00") TIMEZONE='UTC-8' ZONENAME='UTC+8' ;; "+09:00") TIMEZONE='UTC-9' ZONENAME='UTC+9' ;; "+09:30") TIMEZONE='UTC-9:30' ZONENAME='UTC+9:30' ;; "+10:00") TIMEZONE='UTC-10' ZONENAME='UTC+10' ;; "+10:30") TIMEZONE='UTC-10:30' ZONENAME='UTC+10:30' ;; "+11:00") TIMEZONE='UTC-11' ZONENAME='UTC+11' ;; "+12:00") TIMEZONE='UTC-12' ZONENAME='UTC+12' ;; "+13:00") TIMEZONE='UTC-13' ZONENAME='UTC+13' ;; "+14:00") TIMEZONE='UTC-14' ZONENAME='UTC+14' ;; esac [ -n "$ZONENAME" ] && uci set $uci_path.zonename="$ZONENAME" [ -n "$TIMEZONE" ] && uci set $uci_path.timezone="$TIMEZONE" } function migrate_timeserver() { local uci_path="system.ntp" logger "Migrating timeserver" local SERVER1=$(lh_filter $LH_PATH.NTPClient.NTPServer) local SERVER2=$(lh_filter $LH_PATH.NTPClient.AlternateNTPServer) if [ -n "$SERVER1" ]; then uci del_list $uci_path.server="europe.pool.ntp.org" uci add_list $uci_path.server="$SERVER1" fi [ -n "$SERVER2" ] && uci add_list $uci_path.server="$SERVER2" } function migrate_system() { logger "Migrating system" config_load system migrate_password migrate_led migrate_timezone migrate_timeserver uci_commit system } migrate_system