diff options
author | Chris Lamb <chris@chris-lamb.co.uk> | 2008-04-28 17:05:30 +0100 |
---|---|---|
committer | Chris Lamb <chris@chris-lamb.co.uk> | 2008-04-28 17:05:47 +0100 |
commit | 08d09da84f3b9f090e4048f6dab37dc94925ee5a (patch) | |
tree | d1d82d3ddf16e615b1401fe43acfde2225bfefe6 | |
parent | 06e70766858dc3b6c3bae1206c1021a8492df5bf (diff) | |
download | vyos-live-build-08d09da84f3b9f090e4048f6dab37dc94925ee5a.tar.gz vyos-live-build-08d09da84f3b9f090e4048f6dab37dc94925ee5a.zip |
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>
-rwxr-xr-x | functions/packageslists.sh | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/functions/packageslists.sh b/functions/packageslists.sh index 733e8f2c6..023b984ce 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*) |