upgrade to uci 0.5.0, adds list handling support
SVN-Revision: 12353
This commit is contained in:
parent
f52f0ecb9c
commit
8a08f95e42
2 changed files with 37 additions and 4 deletions
|
@ -11,6 +11,7 @@ N="
|
||||||
_C=0
|
_C=0
|
||||||
NO_EXPORT=1
|
NO_EXPORT=1
|
||||||
LOAD_STATE=1
|
LOAD_STATE=1
|
||||||
|
LIST_SEP=" "
|
||||||
|
|
||||||
hotplug_dev() {
|
hotplug_dev() {
|
||||||
env -i ACTION=$1 INTERFACE=$2 /sbin/hotplug-call net
|
env -i ACTION=$1 INTERFACE=$2 /sbin/hotplug-call net
|
||||||
|
@ -56,6 +57,7 @@ config_load() {
|
||||||
reset_cb() {
|
reset_cb() {
|
||||||
config_cb() { return 0; }
|
config_cb() { return 0; }
|
||||||
option_cb() { return 0; }
|
option_cb() { return 0; }
|
||||||
|
list_cb() { return 0; }
|
||||||
}
|
}
|
||||||
reset_cb
|
reset_cb
|
||||||
|
|
||||||
|
@ -78,11 +80,24 @@ config () {
|
||||||
option () {
|
option () {
|
||||||
local varname="$1"; shift
|
local varname="$1"; shift
|
||||||
local value="$*"
|
local value="$*"
|
||||||
|
|
||||||
export ${NO_EXPORT:+-n} "CONFIG_${CONFIG_SECTION}_${varname}=$value"
|
export ${NO_EXPORT:+-n} "CONFIG_${CONFIG_SECTION}_${varname}=$value"
|
||||||
[ -n "$NO_CALLBACK" ] || option_cb "$varname" "$*"
|
[ -n "$NO_CALLBACK" ] || option_cb "$varname" "$*"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
list() {
|
||||||
|
local varname="$1"; shift
|
||||||
|
local value="$*"
|
||||||
|
local len
|
||||||
|
|
||||||
|
config_get len "$CONFIG_SECTION" "${varname}_LENGTH"
|
||||||
|
len="$((${len:-0} + 1))"
|
||||||
|
config_set "$CONFIG_SECTION" "${varname}_ITEM$len" "$value"
|
||||||
|
config_set "$CONFIG_SECTION" "${varname}_LENGTH" "$len"
|
||||||
|
append "CONFIG_${CONFIG_SECTION}_${varname}" "$value" "$LIST_SEP"
|
||||||
|
list_cb "$varname" "$*"
|
||||||
|
}
|
||||||
|
|
||||||
config_rename() {
|
config_rename() {
|
||||||
local OLD="$1"
|
local OLD="$1"
|
||||||
local NEW="$2"
|
local NEW="$2"
|
||||||
|
@ -162,6 +177,24 @@ config_foreach() {
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
config_list_foreach() {
|
||||||
|
[ "$#" -ge 3 ] || return 0
|
||||||
|
local section="$1"; shift
|
||||||
|
local option="$1"; shift
|
||||||
|
local function="$1"; shift
|
||||||
|
local val
|
||||||
|
local len
|
||||||
|
local c=1
|
||||||
|
|
||||||
|
config_get len "${section}" "${option}_LENGTH"
|
||||||
|
[ -z "$len" ] && return 0
|
||||||
|
while [ $c -le "$len" ]; do
|
||||||
|
config_get val "${section}" "${option}_ITEM$c"
|
||||||
|
eval "$function \"\$val\" \"$@\""
|
||||||
|
c="$(($c + 1))"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
load_modules() {
|
load_modules() {
|
||||||
[ -d /etc/modules.d ] && {
|
[ -d /etc/modules.d ] && {
|
||||||
cd /etc/modules.d
|
cd /etc/modules.d
|
||||||
|
|
|
@ -8,8 +8,8 @@
|
||||||
|
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
UCI_VERSION=0.4
|
UCI_VERSION=0.5
|
||||||
UCI_RELEASE=8
|
UCI_RELEASE=0
|
||||||
|
|
||||||
PKG_NAME:=uci
|
PKG_NAME:=uci
|
||||||
PKG_VERSION:=$(UCI_VERSION)$(if $(UCI_RELEASE),.$(UCI_RELEASE))
|
PKG_VERSION:=$(UCI_VERSION)$(if $(UCI_RELEASE),.$(UCI_RELEASE))
|
||||||
|
@ -17,7 +17,7 @@ PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=http://downloads.openwrt.org/sources
|
PKG_SOURCE_URL:=http://downloads.openwrt.org/sources
|
||||||
PKG_MD5SUM:=1a671895bfaafe86087ce4374dfb8556
|
PKG_MD5SUM:=5db883e535d8175a568fa202d0aed190
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue