diff options
Diffstat (limited to 'package')
| -rw-r--r-- | package/uci/Makefile | 13 | ||||
| -rwxr-xr-x | package/uci/files/uci-sh/bin/uci | 190 | ||||
| -rw-r--r-- | package/uci/files/uci-sh/lib/config/uci.awk | 186 | ||||
| -rw-r--r-- | package/uci/files/uci-sh/lib/config/uci.sh | 214 | 
4 files changed, 0 insertions, 603 deletions
| diff --git a/package/uci/Makefile b/package/uci/Makefile index 7d6fc8c1f..1cf6dd842 100644 --- a/package/uci/Makefile +++ b/package/uci/Makefile @@ -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 index f89fe82b7..000000000 --- a/package/uci/files/uci-sh/bin/uci +++ /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 index c560907f2..000000000 --- a/package/uci/files/uci-sh/lib/config/uci.awk +++ /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 index f58483282..000000000 --- a/package/uci/files/uci-sh/lib/config/uci.sh +++ /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" -} - - | 
