From a5134fe7285bc31f4e9235678a31e2ed5efd8f2c Mon Sep 17 00:00:00 2001 From: Chris Lamb Date: Mon, 28 Apr 2008 17:05:30 +0100 Subject: Allow needle and haystack parts of packagelist #if constructs to be lists This allows us to write: #if SECTIONS contrib non-free contrib-package non-free-package #endif and #if DISTRIBUTION lenny sid new-package #endif --- functions/packageslists.sh | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/functions/packageslists.sh b/functions/packageslists.sh index 733e8f2..023b984 100755 --- a/functions/packageslists.sh +++ b/functions/packageslists.sh @@ -46,16 +46,22 @@ Expand_packagelist () echo "E: Nesting conditionals is not supported" >&2 exit 1 fi - _LH_NESTED=1 - _LH_VAR="$(echo "${_LH_LINE}" | cut -d' ' -f2)" - _LH_VAL="$(echo "${_LH_LINE}" | cut -d' ' -f3-)" - _LH_MATCH="$(echo ${_LH_VAL} |grep "\(^\| \)$(eval "echo \$LH_${_LH_VAR}")\($\| \)")" || true - if [ -n "${_LH_VAR}" ] && [ -z "${_LH_MATCH}" ] - then - _LH_ENABLED=0 - fi + _LH_NEEDLE="$(echo "${_LH_LINE}" | cut -d' ' -f3-)" + _LH_HAYSTACK="$(eval "echo \$LH_$(echo "${_LH_LINE}" | cut -d' ' -f2)")" + + _LH_ENABLED=0 + for _LH_NEEDLE_PART in ${_LH_NEEDLE} + do + for _LH_HAYSTACK_PART in ${_LH_HAYSTACK} + do + if [ "${_LH_NEEDLE_PART}" = "${_LH_HAYSTACK_PART}" ] + then + _LH_ENABLED=1 + fi + done + done ;; \#endif*) -- cgit v1.0