#!/bin/sh # Copyright (C) 2006-2014 OpenWrt.org # Copyright (C) 2006 Fokus Fraunhofer # Copyright (C) 2010 Vertical Communications find_mmc_part() { local DEVNAME PARTNAME if grep -q "$1" /proc/mtd; then echo "" && return 0 fi for DEVNAME in /sys/block/mmcblk*/mmcblk*p*; do PARTNAME=$(grep PARTNAME ${DEVNAME}/uevent | cut -f2 -d'=') [ "$PARTNAME" = "$1" ] && echo "/dev/$(basename $DEVNAME)" && return 0 done } debug () { ${DEBUG:-:} "$@" } # newline N=" " _C=0 NO_EXPORT=1 LOAD_STATE=1 LIST_SEP=" " append() { local var="$1" local value="$2" local sep="${3:- }" eval "export ${NO_EXPORT:+-n} -- \"$var=\${$var:+\${$var}\${value:+\$sep}}\$value\"" } list_contains() { local var="$1" local str="$2" local val eval "val=\" \${$var} \"" [ "${val%% $str *}" != "$val" ] } config_load() { [ -n "$IPKG_INSTROOT" ] && return 0 uci_load "$@" } reset_cb() { config_cb() { return 0; } option_cb() { return 0; } list_cb() { return 0; } } reset_cb package() { return 0 } config () { local cfgtype="$1" local name="$2" export ${NO_EXPORT:+-n} CONFIG_NUM_SECTIONS=$(($CONFIG_NUM_SECTIONS + 1)) name="${name:-cfg$CONFIG_NUM_SECTIONS}" append CONFIG_SECTIONS "$name" [ -n "$NO_CALLBACK" ] || config_cb "$cfgtype" "$name" export ${NO_EXPORT:+-n} CONFIG_SECTION="$name" export ${NO_EXPORT:+-n} "CONFIG_${CONFIG_SECTION}_TYPE=$cfgtype" } option () { local varname="$1"; shift local value="$*" export ${NO_EXPORT:+-n} "CONFIG_${CONFIG_SECTION}_${varname}=$value" [ -n "$NO_CALLBACK" ] || option_cb "$varname" "$*" } list() { local varname="$1"; shift local value="$*" local len config_get len "$CONFIG_SECTION" "${varname}_LENGTH" 0 [ $len = 0 ] && append CONFIG_LIST_STATE "${CONFIG_SECTION}_${varname}" len=$(($len + 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_unset() { config_set "$1" "$2" "" } # config_get