From a5134fe7285bc31f4e9235678a31e2ed5efd8f2c Mon Sep 17 00:00:00 2001
From: Chris Lamb <chris@chris-lamb.co.uk>
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