diff --git a/package/base-files/files/etc/hotplug.d/net/10-net b/package/base-files/files/etc/hotplug.d/net/10-net index ef5900464..42ff29e79 100644 --- a/package/base-files/files/etc/hotplug.d/net/10-net +++ b/package/base-files/files/etc/hotplug.d/net/10-net @@ -46,7 +46,7 @@ delif() { for ifc in $interfaces; do config_get iftype "$ifc" type config_get ifs "$ifc" device - confdevs="$(uci get network.$ifc.ifname)" + confdevs="$(uci_get network.$ifc.ifname)" for dev in $ifs; do [ "${dev%%\.*}" = "$INTERFACE" ] && { list_contains confdevs "$dev" || list_remove ifs "$dev" diff --git a/package/base-files/files/usr/share/udhcpc/default.script b/package/base-files/files/usr/share/udhcpc/default.script index b32b2c9f2..ceabf4bf3 100755 --- a/package/base-files/files/usr/share/udhcpc/default.script +++ b/package/base-files/files/usr/share/udhcpc/default.script @@ -11,11 +11,6 @@ change_state () { uci_set_state "$1" "$2" "$3" "$4" } -uci_get() { - [ -n "$ifc" ] || return - uci -P /dev/null get "$1" 2>/dev/null -} - setup_interface () { local old_ip local old_broadcast diff --git a/package/busybox/files/cron b/package/busybox/files/cron index 2e020bbc6..d99793709 100755 --- a/package/busybox/files/cron +++ b/package/busybox/files/cron @@ -3,7 +3,7 @@ START=50 start () { - loglevel=$(/sbin/uci get "system.@system[0].cronloglevel" 2>/dev/null) + loglevel=$(uci_get "system.@system[0].cronloglevel") [ -z "$(ls /etc/crontabs/)" ] && exit 1 mkdir -p /var/spool/cron ln -s /etc/crontabs /var/spool/cron/ 2>/dev/null diff --git a/package/uci/Makefile b/package/uci/Makefile index 3ce9e9ee3..bf0107f77 100644 --- a/package/uci/Makefile +++ b/package/uci/Makefile @@ -12,7 +12,7 @@ UCI_RELEASE=5 PKG_NAME:=uci PKG_VERSION:=$(UCI_VERSION)$(if $(UCI_RELEASE),.$(UCI_RELEASE)) -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_REV:=aa3ab8012bfbf793d2884c08ea924545a04e9544 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz diff --git a/package/uci/files/lib/config/uci.sh b/package/uci/files/lib/config/uci.sh index 851a0d779..d759615bd 100644 --- a/package/uci/files/lib/config/uci.sh +++ b/package/uci/files/lib/config/uci.sh @@ -1,6 +1,7 @@ #!/bin/sh # Shell script compatibility wrappers for /sbin/uci # +# Copyright (C) 2008-2010 OpenWrt.org # Copyright (C) 2008 Felix Fietkau # # This program is free software; you can redistribute it and/or modify @@ -41,9 +42,9 @@ uci_load() { uci_set_default() { local PACKAGE="$1" - /sbin/uci ${UCI_CONFIG_DIR:+-c $UCI_CONFIG_DIR} -q show "$1" > /dev/null && return 0 - /sbin/uci ${UCI_CONFIG_DIR:+-c $UCI_CONFIG_DIR} import "$1" - /sbin/uci ${UCI_CONFIG_DIR:+-c $UCI_CONFIG_DIR} commit "$1" + /sbin/uci ${UCI_CONFIG_DIR:+-c $UCI_CONFIG_DIR} -q show "$PACKAGE" > /dev/null && return 0 + /sbin/uci ${UCI_CONFIG_DIR:+-c $UCI_CONFIG_DIR} import "$PACKAGE" + /sbin/uci ${UCI_CONFIG_DIR:+-c $UCI_CONFIG_DIR} commit "$PACKAGE" } uci_revert_state() { @@ -73,6 +74,23 @@ uci_set() { /sbin/uci ${UCI_CONFIG_DIR:+-c $UCI_CONFIG_DIR} set "$PACKAGE.$CONFIG.$OPTION=$VALUE" } +uci_get_state() { + uci_get "$1" "$2" "$3" "$4" "/var/state" +} + +uci_get() { + local PACKAGE="$1" + local CONFIG="$2" + local OPTION="$3" + local DEFAULT="$4" + local STATE="$5" + + /sbin/uci ${UCI_CONFIG_DIR:+-c $UCI_CONFIG_DIR} ${STATE:+-P $STATE} -q get "$PACKAGE${CONFIG:+.$CONFIG}${OPTION:+.$OPTION}" + RET="$?" + [ "$RET" -ne 0 ] && [ -n "$DEFAULT" ] && echo "$DEFAULT" + return "$RET" +} + uci_add() { local PACKAGE="$1" local TYPE="$2" diff --git a/package/uhttpd/files/uhttpd.init b/package/uhttpd/files/uhttpd.init index 14f8fc4c4..58f980c42 100755 --- a/package/uhttpd/files/uhttpd.init +++ b/package/uhttpd/files/uhttpd.init @@ -48,7 +48,7 @@ start_instance() UHTTPD_KEY="" local cfg="$1" - local realm="$(uci get system.@system[0].hostname 2>/dev/null)" + local realm="$(uci_get system.@system[0].hostname)" local listen http https append_arg "$cfg" home "-h"