X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;ds=sidebyside;f=wrt-setup-local;h=55ac7d7281df6663d10feca0f76caf58d9ff4259;hb=45a2a286083772abc0688e663a6ecc68af0a8d0e;hp=b0635a1856ac2f58bb3a84500f0092d1a04f288c;hpb=43fcfaa6bcf02035141025b12a408a5ef10833f3;p=automated-distro-installer diff --git a/wrt-setup-local b/wrt-setup-local index b0635a1..55ac7d7 100755 --- a/wrt-setup-local +++ b/wrt-setup-local @@ -21,11 +21,12 @@ trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR usage() { cat < $(date +%s) )); then - opkg update + if ! opkg update; then + echo "$0: warning: opkg update failed" >&2 + fi + p_updated=true fi } pi() { - for x in "$@"; do - if [[ ! $(opkg list-installed "$x") ]]; then + to_install=() + for p in "$@"; do + pname=${p##*/} + pname=${pname%%_*} + if [[ ! $(opkg list-installed "$pname") ]]; then + to_install+=($p) pmirror - opkg install "$@" fi done + if [[ $to_install ]]; then + opkg install ${to_install[@]} + fi } v() { @@ -116,6 +148,7 @@ v() { ####### end uci example ##### uset() { + printf "+ uset %s\n" "$*" local key="$1" local val="$2" local service="${key%%.*}" @@ -130,6 +163,23 @@ uset() { fi } +udel() { + printf "+ udel %s\n" "$*" + local key="$1" + local val="$2" + local service="${key%%.*}" + restart_var=${service}_restart + if [[ ! ${!restart_var} ]]; then + eval $restart_var=false + fi + if uci get "$key" &>/dev/null; then + v uci set "$key"="$val" + uci commit $service + eval $restart_var=true + fi +} + + ### network config ### @@ -138,7 +188,16 @@ lan=10.0.0.0 if $test; then ssid="gnuv3" lan=10.1.0.0 +elif [[ $hostname == cmc ]]; then + ssid=Svenska + lan=10.2.0.0 +fi + +if [[ $rkey ]]; then + key=${rkey[$rmac]} fi +: ${key:=pictionary49} + mask=255.255.0.0 cidr=16 l=${lan%.0} @@ -200,8 +259,8 @@ mkdir -p /run/parabolaiso/bootmnt # wiki says safe to do in case of fstab changes: ## ian: usb broke on old router. if that happens, can just comment this to disable problems -echo | cedit /etc/config/fstab ||: -cedit /etc/config/fstab </dev/null) ]]; then - # default is '/tmp/resolv.conf.auto', we switch to the dnsmasq default of - # /etc/resolv.conf. not sure why I did this. - v uci delete dhcp.@dnsmasq[0].resolvfile - uci commit dhcp - dnsmasq_restart=true -fi - uset dhcp.@dnsmasq[0].domain b8.nz uset dhcp.@dnsmasq[0].local /b8.nz/ uset system.@system[0].hostname $hostname @@ -474,6 +604,14 @@ EOF # to start. mkdir -p /mnt/usb/tftpboot v cedit /etc/dnsmasq.conf <