From c84f7b3f84f6d44ebdda3278b32a2f97837f0f0b Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Wed, 19 Jun 2019 09:33:12 +0000 Subject: [PATCH] create-mksspec.sh: Add support for OS-cascade Signed-off-by: Jan Lindemann --- scripts/create-mkspec.sh | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/scripts/create-mkspec.sh b/scripts/create-mkspec.sh index a632470f..7f080400 100644 --- a/scripts/create-mkspec.sh +++ b/scripts/create-mkspec.sh @@ -39,6 +39,18 @@ subpackage_description() esac } +os_cascade() +{ + # might want to run python3 path/to/projects.py --os=suse-tumbleweed os-cascade + # or turn this into a python script and use projects.py as a module. + + if [ "$DISTRIBUTION" ]; then + echo os linux $DISTRIBUTION | sed 's/\([^-]\+\)-\([^-]\+\)/\1 \1-\2/g' + else + echo os linux + fi +} + # -- here we go echo "== running $0" "$@" >&2 @@ -123,16 +135,29 @@ for p in $subpackages; do for stage in pre preun post postun; do echo "== processing stage $stage: cfg_section pkg.$p.$stage" >&2 - cfg_section pkg.$p.$stage >&2 - cfg_section pkg.$p.$stage | grep -q . && { + out="" + #for os in '' `os_cascade | sed 's/\(^\| \)/ ./g'`; do + for os in '' `os_cascade`; do + sec=pkg.$p.$stage + if [ "$os" ]; then + sec="$sec.$os" + head="\n# --- $os\n" + else + head="" + fi + cfg_section $sec | grep -q . || continue + out="$out$head`cfg_section $sec`" + done + if [ "$out" ]; then + echo -e "$out" >&2 _cat <<- EOT |echo "" |echo "%$stage -n \$NAME-$p" EOT echo "cat << EOT" - cfg_section pkg.$p.$stage | cfg_escape + echo -e "$out" | cfg_escape echo "EOT" - } + fi done _cat <<- EOT