nuke uci-sh, it is obsolete and no longer works
authorFelix Fietkau <nbd@openwrt.org>
Wed, 30 Jul 2008 19:25:08 +0000 (19:25 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Wed, 30 Jul 2008 19:25:08 +0000 (19:25 +0000)
SVN-Revision: 12021

package/uci/Makefile
package/uci/files/uci-sh/bin/uci [deleted file]
package/uci/files/uci-sh/lib/config/uci.awk [deleted file]
package/uci/files/uci-sh/lib/config/uci.sh [deleted file]

index 7d6fc8c..1cf6dd8 100644 (file)
@@ -37,13 +37,6 @@ define Package/uci
   TITLE:=Utility for the Unified Configuration Interface (UCI)
 endef
 
-define Package/uci-sh
-  SECTION:=base
-  CATEGORY:=Base system
-  DEPENDS:=@!PACKAGE_uci
-  TITLE:=Old shell/awk implementation of UCI
-endef
-
 define Package/libuci-lua
   SECTION=libs
   CATEGORY=Libraries
@@ -84,11 +77,6 @@ define Package/uci/install
        $(CP) ./files/uci/* $(1)/
 endef
 
-define Package/uci-sh/install
-       $(INSTALL_DIR) $(1)
-       $(CP) ./files/uci-sh/* $(1)/
-endef
-
 define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/include
        $(CP) $(PKG_BUILD_DIR)/uci{,_config}.h $(1)/usr/include
@@ -99,4 +87,3 @@ endef
 $(eval $(call BuildPackage,uci))
 $(eval $(call BuildPackage,libuci))
 $(eval $(call BuildPackage,libuci-lua))
-$(eval $(call BuildPackage,uci-sh))
diff --git a/package/uci/files/uci-sh/bin/uci b/package/uci/files/uci-sh/bin/uci
deleted file mode 100755 (executable)
index f89fe82..0000000
+++ /dev/null
@@ -1,190 +0,0 @@
-#!/bin/sh
-# Shell script for interacting with config files
-#
-# Copyright (C) 2006        Fokus Fraunhofer <carsten.tittel@fokus.fraunhofer.de>
-# Copyright (C) 2006,2007      Felix Fietkau <nbd@openwrt.org>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-. $UCI_ROOT/etc/functions.sh
-include $UCI_ROOT/lib/config
-
-SEP="[^0-9A-Za-z_]"
-
-do_get() {
-       local PACKAGE
-       local CONFIG
-       local OPTION
-       local DUMMY
-
-       strtok "$*" PACKAGE . CONFIG . OPTION $SEP DUMMY
-
-       [ $? -ne 3 ] && {
-               uci_usage get
-               exit 1
-       }
-
-       uci_load "$PACKAGE"
-       config_get "$CONFIG" "$OPTION"
-}
-
-do_set() {
-       local PACKAGE
-       local CONFIG
-       local OPTION
-       local VALUE
-
-       strtok "$1" PACKAGE . CONFIG = VALUE
-       [ $? -ne 3 -a $? -ne 2 ] && {
-               uci_usage set
-               exit 1
-       }
-       
-       strtok "$CONFIG" CONFIG . OPTION
-       
-       if [ $? -eq 1 ]; then
-               uci_add "$PACKAGE" "$VALUE" "$CONFIG"
-       else
-               uci_set "$PACKAGE" "$CONFIG" "$OPTION" "$VALUE"
-       fi
-}
-
-do_rename() {
-       [ $# -ne 3 ] && {
-               uci_usage rename
-               exit 1
-       }
-       uci_rename "$@"
-}
-
-do_remove() {
-       local PACKAGE
-       local CONFIG
-       local OPTION
-       local DUMMY
-
-       strtok "$*" PACKAGE . CONFIG . OPTION $SEP DUMMY
-       [ $? -ne 3 -a $? -ne 2 ] && {
-               uci_usage rename
-               exit 1
-       }
-       uci_remove "$PACKAGE" "$CONFIG" ${OPTION:+"$OPTION"}
-}
-
-do_commit() {
-       local PACKAGE="$1"
-       for package in ${PACKAGE:-$(cd /tmp/.uci; ls)}; do 
-               [ lock = "${package##*.}" ] && continue # ignore .lock files
-               uci_commit "$package"
-       done
-}
-
-do_show() {
-       local PACKAGE
-       local CONFIG
-       local DUMMY
-
-       strtok "$*" PACKAGE . CONFIG $SEP DUMMY
-       [ $? -gt 2 ] && {
-               uci_usage show
-               exit 1
-       }
-       
-       for package in ${PACKAGE:-$(cd $UCI_ROOT/etc/config; ls)}; do
-               SECTION=""
-       
-               config_cb() {
-                       if [ -z "$CONFIG" -o ."$CONFIG" = ."$2" ]; then
-                               append SECTION "$2"
-                               option_cb() {
-                                       append "${CONFIG_SECTION}_VARS" "$1"
-                               }
-                       else
-                               option_cb() {
-                                       return 0
-                               }
-                       fi
-               }
-                       
-               uci_load "$package"
-       
-               for section in $SECTION; do
-                       config_get type "$section" TYPE
-                       [ -z "$type" ] && continue
-                       echo "$package.$section=$type"
-                       eval "VARS=\"\${${section}_VARS}\""
-                       for var in $VARS; do
-                               config_get val "$section" "$var"
-                               [ -n "$val" ] && {
-                                       echo "$package.$section.$var=$val"
-                                       config_set "$section" "$var" ""
-                               }
-                       done
-                       config_set "$section" TYPE ""
-               done
-       done
-}
-
-do_validate() {
-       [ "$#" -ne 1 ] && {
-               uci_usage validate
-               exit 1
-       }
-       uci_validate "$1" || exit "$?"
-}
-
-uci_usage() {
-       case "$1" in
-               show) echo "$0 show [<package>[.<config>]]";;
-               get) echo "$0 get <package>.<config>.<option>";;
-               set) echo "$0 set <package>.<config>[.<option>]=<value>";;
-               del) echo "$0 del <package>.<config>[.<option>]";;
-               rename) echo "$0 rename <package> <config> <name>";;
-               commit) echo "$0 commit [<package> ... ]";;
-               validate) echo "$0 validate <package>";;
-               *) 
-                       echo "Syntax: $0 <command> <arguments...>"
-                       echo
-                       uci_usage show
-                       uci_usage get
-                       uci_usage set
-                       uci_usage del
-                       uci_usage rename
-                       uci_usage commit
-                       uci_usage validate 
-                       echo
-                       exit 1
-               ;;
-       esac
-}
-
-if [ $# -eq 0 ] ; then
-       uci_usage
-       exit 0
-fi
-
-CMD="$1"
-shift
-case "$CMD" in
-       set) do_set "$@";;
-       del) do_remove "$@";;
-       rename) do_rename "$@";;
-       get) do_get "$@";;
-       show) do_show "$@";;
-       commit) do_commit "$@";;
-       validate) do_validate "$@";;
-       *) uci_usage;;
-esac
-exit 0
diff --git a/package/uci/files/uci-sh/lib/config/uci.awk b/package/uci/files/uci-sh/lib/config/uci.awk
deleted file mode 100644 (file)
index c560907..0000000
+++ /dev/null
@@ -1,186 +0,0 @@
-# Configuration update functions - AWK API
-#
-# Copyright (C) 2006 by Fokus Fraunhofer <carsten.tittel@fokus.fraunhofer.de>
-# Copyright (C) 2006 by Felix Fietkau <nbd@openwrt.org>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-# parameters: 1
-function config_load(package, var) {
-       while (("/bin/ash -c '. /etc/functions.sh; unset NO_EXPORT; config_load \""package"\"; env | grep \"^CONFIG_\"'" | getline) == 1) {
-               sub("^CONFIG_", "")
-               if (match($0, "=") == 0) {
-                       if (var != "") CONFIG[var] = CONFIG[var] "\n" $0
-                       next
-               }
-               var=substr($0, 1, RSTART-1)
-               CONFIG[var] = substr($0, RSTART+1, length($0) - RSTART)
-       }
-}
-
-# parameters: 2
-function config_get(package, option) {
-       return CONFIG[package "_" option]
-}
-
-# parameters: 3
-function config_get_bool(package, option, default, var) {
-       var = config_get(package, option);
-       if ((var == "enabled") || (var == "true") || (var == "1") || (var == "on")) return 1
-       if ((var == "disabled") || (var == "false") || (var == "0") || (var == "off")) return 1
-       return (var && var != "0" ? 1 : 0)
-}
-
-
-function read_file(filename,  result) {
-       while ((getline <filename) == 1) {
-               result = result $0 "\n"
-       }
-       gsub(/\n*$/, "", result)
-       return result
-}
-
-function uci_cmd2option(str,  tmp) {
-       if (match(str,"=")!=0) {
-               res = "\toption " substr(str,1,RSTART-1) "\t'" substr(str,RSTART+1) "'"
-       } else {
-               res= ""
-       }
-       return res
-}
-
-function uci_cmd2config(atype,  aname) {
-       return "config \"" atype "\" \"" aname "\""
-}
-
-function uci_update_config(cfg, update,  \
-  lines, line, l, n, i, i2, section, scnt, remove, tmp, aidx, rest) {
-       scnt = 1
-       linecnt=split(cfg "\n", lines, "\n")
-
-       cfg = ""
-       for (n = 1; n < linecnt; n++) {
-               # stupid parser for quoted arguments (e.g. for the type string).
-               # not to be used to gather variable values (backslash escaping doesn't work)
-               line = lines[n]
-               gsub(/^[ \t]*/, "", line)
-               gsub(/#.*$/, "", line)
-               i2 = 1
-               delete l
-               rest = line
-               while (length(rest)) {
-                       if (match(rest, /[ \t\"]+/)) {
-                               if (RSTART>1) {
-                                       l[i2] = substr(rest,1,RSTART-1)
-                                       i2++
-                               }
-                               aidx=index(rest,"\"")
-                               if (aidx>=RSTART && aidx<=RSTART+RLENGTH) {
-                                       rest=substr(rest,aidx+1)
-                                       # find the end of the string
-                                       match(rest,/\"/)
-                                       l[i2]=substr(rest,1,RSTART-1)
-                                       i2++
-                               }
-                               rest=substr(rest,RSTART+RLENGTH)
-                       } else {
-                               l[i2] = rest
-                               i2++
-                               rest = ""
-                       }
-               }
-               line = lines[n]
-
-               # when a command wants to set a config value for the current
-               # section and a blank line is encountered before an option with
-               # the same name, insert it here to maintain some coherency between
-               # manually and automatically created option lines
-               # if an option with the same name appears after this point, simply
-               # ignore it, because it is already set.
-               if ((section != "") && (l[1] != "option")) {
-                       if (line ~ /^[ \t]*$/) {
-                               if (update ~ "^" section "\\.") {
-                                       gsub("^" section ".", "", update)
-                                       cfg = cfg uci_cmd2option(update) "\n"
-                                       gsub(/=.*$/, "", update)
-                                       update = "-" section "." update
-                               }
-                       }
-               }
-
-               if (l[1] == "config") {
-                       # look for all unset values
-                       if (section != "") {
-                               flag=0
-                               if (update ~ "^" section "\\.") {
-                                       flag=1
-                                       gsub("^" section ".", "", update)
-                                       cfg = cfg uci_cmd2option(update) "\n"
-
-                                       update = "-" section "." update
-                               }
-                               if (flag!=0) cfg = cfg "\n"
-                       }
-
-                       remove = ""
-                       section = l[3]
-                       if (!length(section)) {
-                               section = "cfg" scnt
-                       }
-                       scnt++
-                       if (update == "-" section) {
-                               remove = "section"
-                               update = ""
-                       } else if (update ~ "^@" section "=") {
-                               update = ""
-                       } else if (update ~ "^&" section "=") {
-                               gsub("^&" section "=", "", update)
-                               line = uci_cmd2config(l[2],update)
-                               update = ""
-                       }
-               }
-               if (remove == "option") remove = ""
-               if (l[1] == "option") {
-                       if (update ~ "^-" section "\\." l[2] "$") remove = "option"
-                       # if a supplied config value already exists, replace the whole line
-                       if (match(update, "^" section "." l[2] "=")) {
-                               gsub("^" section ".", "", update)
-                               line = uci_cmd2option(update)
-                               update = ""
-                       }
-               }
-               if (remove == "") cfg = cfg line "\n"
-       }
-
-       # any new options for the last section??
-       if (section != "") {
-               if (update ~ "^" section "\\.") {
-                       gsub("^" section ".", "", update)
-                       cfg = cfg uci_cmd2option(update) "\n"
-
-                       update = "-" section "." update
-               }
-       }
-
-       if (update ~ "^@") {
-               # new section
-               section = stype = substr(update,2)
-               gsub(/=.*$/,"",section)
-               gsub(/^.*=/,"",stype)
-               cfg = cfg "\nconfig \"" stype "\" \"" section "\"\n"
-       }
-
-       return cfg
-}
diff --git a/package/uci/files/uci-sh/lib/config/uci.sh b/package/uci/files/uci-sh/lib/config/uci.sh
deleted file mode 100644 (file)
index f584832..0000000
+++ /dev/null
@@ -1,214 +0,0 @@
-#!/bin/sh
-# Shell script defining macros for manipulating config files
-#
-# Copyright (C) 2006        Fokus Fraunhofer <carsten.tittel@fokus.fraunhofer.de>
-# Copyright (C) 2006,2007   Felix Fietkau <nbd@openwrt.org>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-uci_set_default() {
-       local PACKAGE="$1"
-       [ -e "/etc/config/$1" ] && return 0
-       cat > "/etc/config/$1"
-}
-
-uci_load() {
-       local cfg
-       local uci
-
-       _C=0
-       export ${NO_EXPORT:+-n} CONFIG_SECTIONS=
-       export ${NO_EXPORT:+-n} CONFIG_NUM_SECTIONS=0
-       export ${NO_EXPORT:+-n} CONFIG_SECTION=
-
-       case "$PACKAGE" in
-               /*) cfg="$PACKAGE";;
-                *) 
-                       cfg="$UCI_ROOT/etc/config/$PACKAGE"
-                       uci="$UCI_ROOT/tmp/.uci/$PACKAGE"
-                       state="$UCI_ROOT/var/state/$PACKAGE"
-               ;;
-       esac
-
-       # no config?
-       [ -z "$cfg" -o \! -f "$cfg" ] && return 1
-       . "$cfg"
-
-       ${CONFIG_SECTION:+config_cb}
-
-       [ -z "$uci" -o \! -f "$uci" ] || . "$uci"
-       [ -z "$LOAD_STATE" -z "$state" -o \! -f "$state" ] || . "$state"
-
-       return 0
-}
-
-uci_call_awk() {
-       local CMD="$*"
-       awk -f $UCI_ROOT/lib/config/uci.awk -f - <<EOF
-BEGIN {
-       $CMD
-}
-EOF
-}
-
-uci_do_update() {
-       local FILENAME="$1"
-       local UPDATE="$2"
-       uci_call_awk "
-       config = read_file(\"$FILENAME\")
-       $UPDATE
-       print config
-"
-}
-
-uci_add_update() {
-       local PACKAGE="$1"
-       local UPDATE="$2"
-       local PACKAGE_BASE="$(basename "$PACKAGE")"
-       local UCIFILE
-
-       case "$PACKAGE" in
-               /*) UCIFILE="$PACKAGE";;
-               *)
-                       UCIFILE="/tmp/.uci/$PACKAGE_BASE"
-                       mkdir -p "/tmp/.uci"
-               ;;
-       esac
-
-       # FIXME: add locking?
-       echo "$UPDATE" >> "$UCIFILE"
-}
-
-uci_revert_state() {
-       local PACKAGE="$1"
-       local CONFIG="$2"
-       FILE="/var/state/$PACKAGE.$$"
-       grep -v "^config_set '$CONFIG' " "/var/state/$PAKAGE" > "$FILE"
-       mv "$FILE" "/var/state/$PACKAGE"
-}
-
-uci_set_state() {
-       local PACKAGE="$1"
-       local CONFIG="$2"
-       local OPTION="$3"
-       local VALUE="$4"
-
-       [ -z "$VALUE" ] && return 1
-       uci_set "/var/state/$PACKAGE" "$CONFIG" "$OPTION" "$VALUE"
-}
-
-
-uci_set() {
-       local PACKAGE="$1"
-       local CONFIG="$2"
-       local OPTION="$3"
-       local VALUE="$4"
-
-       case "$PACKAGE" in
-               /*)
-                       uci_add_update "$PACKAGE" "config_set '$CONFIG' '$OPTION' '$VALUE'"
-               ;;
-               *)
-                       ( # spawn a subshell so you don't mess up the current environment
-                               uci_load "$PACKAGE"
-                               config_get OLDVAL "$CONFIG" "$OPTION"
-                               if [ "x$OLDVAL" != "x$VALUE" ]; then
-                                       config_get type "$CONFIG" TYPE
-                                       [ -z "$type" ]
-                               fi
-                       ) || uci_add_update "$PACKAGE" "config_set '$CONFIG' '$OPTION' '$VALUE'"
-               ;;
-       esac
-}
-
-uci_add() {
-       local PACKAGE="$1"
-       local TYPE="$2"
-       local CONFIG="$3"
-
-       uci_add_update "$PACKAGE" "config '$TYPE' '$CONFIG'"
-}
-
-uci_rename() {
-       local PACKAGE="$1"
-       local CONFIG="$2"
-       local VALUE="$3"
-
-       uci_add_update "$PACKAGE" "config_rename '$CONFIG' '$VALUE'"
-}
-
-uci_remove() {
-       local PACKAGE="$1"
-       local CONFIG="$2"
-       local OPTION="$3"
-
-       if [ -z "$OPTION" ]; then
-               uci_add_update "$PACKAGE" "config_clear '$CONFIG'"
-       else
-               uci_add_update "$PACKAGE" "config_unset '$CONFIG' '$OPTION'"
-       fi
-}
-
-uci_commit() {
-       local PACKAGE="$1"
-       local PACKAGE_BASE="$(basename "$PACKAGE")"
-
-       case "$PACKAGE" in
-               /*) return 0;;
-       esac
-       mkdir -p /tmp/.uci
-       LOCK=`which lock` || LOCK=:
-       $LOCK "/tmp/.uci/$PACKAGE_BASE.lock"
-       [ -f "/tmp/.uci/$PACKAGE_BASE" ] && (
-               updatestr=""
-               
-               # replace handlers
-               config() {
-                       append updatestr "config = uci_update_config(config, \"@$2=$1\")" "$N"
-               }
-               option() {
-                       append updatestr "config = uci_update_config(config, \"$CONFIG_SECTION.$1=$2\")" "$N"
-               }
-               config_rename() {
-                       append updatestr "config = uci_update_config(config, \"&$1=$2\")" "$N"
-               }
-               config_unset() {
-                       append updatestr "config = uci_update_config(config, \"-$1.$2\")" "$N"
-               }
-               config_clear() {
-                       append updatestr "config = uci_update_config(config, \"-$1\")" "$N"
-               }
-               
-               . "/tmp/.uci/$PACKAGE_BASE"
-
-               # completely disable handlers so that they don't get in the way
-               config() {
-                       return 0
-               }
-               option() {
-                       return 0
-               }
-               
-               config_load "$PACKAGE"
-               CONFIG_FILENAME="${CONFIG_FILENAME:-$UCI_ROOT/etc/config/$PACKAGE_BASE}"
-               uci_do_update "$CONFIG_FILENAME" "$updatestr" > "/tmp/.uci/$PACKAGE_BASE.new" && {
-                       mv -f "/tmp/.uci/$PACKAGE_BASE.new" "$CONFIG_FILENAME" && \
-                       rm -f "/tmp/.uci/$PACKAGE_BASE"
-               } 
-       )
-       $LOCK -u "/tmp/.uci/$PACKAGE_BASE.lock"
-}
-
-