aboutsummaryrefslogtreecommitdiffstats
path: root/package/base-files/default/etc
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2006-10-09 05:59:26 +0000
committerFelix Fietkau <nbd@openwrt.org>2006-10-09 05:59:26 +0000
commit5797c34cf477d45cf842bbb32a5f70ddbde6d37c (patch)
treea06ccf30559687bbee6a348cf9f81d23b4dd1bf5 /package/base-files/default/etc
parentd30dc59b745b1a3d0c455ef7fe388750abb5c9ab (diff)
downloadupstream-5797c34cf477d45cf842bbb32a5f70ddbde6d37c.tar.gz
upstream-5797c34cf477d45cf842bbb32a5f70ddbde6d37c.tar.bz2
upstream-5797c34cf477d45cf842bbb32a5f70ddbde6d37c.zip
add new /bin/uci script and api for manipulating buildroot-ng config files
git-svn-id: svn://svn.openwrt.org/openwrt/branches/buildroot-ng/openwrt@4982 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/base-files/default/etc')
-rwxr-xr-xpackage/base-files/default/etc/functions.sh22
1 files changed, 21 insertions, 1 deletions
diff --git a/package/base-files/default/etc/functions.sh b/package/base-files/default/etc/functions.sh
index 2ce172eb35..9c3057ed00 100755
--- a/package/base-files/default/etc/functions.sh
+++ b/package/base-files/default/etc/functions.sh
@@ -54,6 +54,26 @@ option () {
option_cb "$varname" "$*"
}
+config_rename() {
+ local OLD="$1"
+ local NEW="$2"
+ local oldsetting
+ local newvar
+
+ [ -z "$OLD" -o -z "$NEW" ] && return
+ for oldsetting in `set | grep ^CONFIG_${OLD}_ | \
+ sed -e 's/\(.*\)=.*$/\1/'` ; do
+ newvar="CONFIG_${NEW}_${oldsetting##CONFIG_${OLD}_}"
+ eval "${newvar}=\${$oldsetting}"
+ unset "$oldsetting"
+ done
+ [ "$CONFIG_SECTION" = "$OLD" ] && CONFIG_SECTION="$NEW"
+}
+
+config_unset() {
+ config_set "$1" "$2" ""
+}
+
config_clear() {
[ -z "$CONFIG_SECTION" ] && return
for oldsetting in `set | grep ^CONFIG_${CONFIG_SECTION}_ | \
@@ -79,7 +99,7 @@ config_load() {
config_get() {
case "$3" in
- "") eval "echo \${CONFIG_${1}_${2}}";;
+ "") eval "echo \"\${CONFIG_${1}_${2}}\"";;
*) eval "$1=\"\${CONFIG_${2}_${3}}\"";;
esac
}