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


Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
This commit is contained in:
Chris Lamb 2008-04-28 17:05:30 +01:00
parent 06e7076685
commit 08d09da84f
1 changed files with 14 additions and 8 deletions

View File

@ -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_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*)