From 0b3332cc567be3eb0557eb008a2cf8e39f70f5be Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Wed, 2 Nov 2016 09:49:34 +0000 Subject: [PATCH] ini-tools.sh: Now not passing inifile as global variable any longer Signed-off-by: Jan Lindemann --- scripts/create-mkdebian.sh | 20 ++++++++++++----- scripts/create-mkspec.sh | 46 +++++++++++++++++++++++--------------- scripts/ini-tools.sh | 25 ++++++++++++++++----- 3 files changed, 63 insertions(+), 28 deletions(-) diff --git a/scripts/create-mkdebian.sh b/scripts/create-mkdebian.sh index 8e288002..2064433b 100644 --- a/scripts/create-mkdebian.sh +++ b/scripts/create-mkdebian.sh @@ -5,6 +5,16 @@ dir=`dirname $0` inifile=$1 . $dir/ini-tools.sh +cfg_section() +{ + cfg_section "$inifile" $@ +} + +cfg_value() +{ + cfg_value "$inifile" $@ +} + cat << EOT format_depends() { @@ -34,22 +44,22 @@ control() cat << EOF Source: \$NAME Maintainer: Jan Lindemann -Section: `ini_value global.group` +Section: `cfg_value global.group` Priority: optional Standards-Version: 3.9.2 Build-Depends: debhelper (>= 9) EOT -ini_value global.subpackages | grep -q run && cat << EOT +cfg_value global.subpackages | grep -q run && cat << EOT Package: \$NAME-run Architecture: any Depends: \`format_depends "\${shlibs:Depends}, \${misc:Depends}, \$REQUIRES_RUN"\` -Description: `ini_value summary` -`ini_value description | sed 's/^/ /'` +Description: `cfg_value summary` +`cfg_value description | sed 's/^/ /'` EOT -ini_value global.subpackages | grep -q devel && cat << EOT +cfg_value global.subpackages | grep -q devel && cat << EOT Package: \$NAME-devel Architecture: any diff --git a/scripts/create-mkspec.sh b/scripts/create-mkspec.sh index bf40808a..8de84ddf 100644 --- a/scripts/create-mkspec.sh +++ b/scripts/create-mkspec.sh @@ -1,9 +1,19 @@ #!/bin/sh dir=`dirname $0` -inifile=$1 +inifile="$1" . $dir/ini-tools.sh +cfg_section() +{ + ini_section "$inifile" $@ +} + +cfg_value() +{ + ini_value "$inifile" $@ +} + _cat() { sed 's/^ *|//' @@ -11,7 +21,7 @@ _cat() _cat << EOT |echo "Name: \$NAME" - |echo "Summary: `ini_value summary`" + |echo "Summary: `cfg_value summary`" |echo "Version: \$VERSION" |echo "Release: \$RELEASE" |echo "License: Jannet IT Services proprietary license" @@ -22,30 +32,30 @@ _cat << EOT |echo "BuildRoot: /var/tmp/%{name}-buildroot" |echo "" |echo "%description" - |echo "`ini_value description`" + |echo "`cfg_value description`" |echo "" EOT -ini_value global.subpackages | grep -q run && _cat << EOT +cfg_value global.subpackages | grep -q run && _cat << EOT |# --------------------------------------- |echo "%package -n \$NAME-run" - |echo "Summary: `ini_value summary`" - |echo "Group: `ini_value global.group`" + |echo "Summary: `cfg_value summary`" + |echo "Group: `cfg_value global.group`" |[ "\$REQUIRES_RUN" ] && echo "Requires: \$REQUIRES_RUN" |echo "%description -n \$NAME-run" |echo "Runtime package" |echo "" EOT -ini_value global.subpackages | grep -q devel && _cat << EOT +cfg_value global.subpackages | grep -q devel && _cat << EOT |# --------------------------------------- |echo "%package -n \$NAME-devel" - |echo "Summary: `ini_value summary`, development package" - |echo "Group: `ini_value global.group`" + |echo "Summary: `cfg_value summary`, development package" + |echo "Group: `cfg_value global.group`" |[ "\$REQUIRES_DEVEL" ] && echo "Requires: \$REQUIRES_DEVEL" |echo "%description -n \$NAME-devel" |echo "Development package" |echo "" EOT -ini_value global.subpackages | grep -q run && _cat << EOT +cfg_value global.subpackages | grep -q run && _cat << EOT |# --------------------------------------- |echo "%prep -n \$NAME-run" |echo "" @@ -72,16 +82,16 @@ _cat << EOT EOT # -- scripts -for p in `ini_value global.subpackages`; do +for p in `cfg_value global.subpackages`; do for stage in preun post postun; do - echo "================= processing stage $stage: ini_section pkg.$p.$stage" >&2 - ini_section pkg.$p.$stage >&2 - ini_section pkg.$p.$stage | grep -q . && { + echo "================= processing stage $stage: cfg_section pkg.$p.$stage" >&2 + cfg_section pkg.$p.$stage >&2 + cfg_section pkg.$p.$stage | grep -q . && { _cat <<- EOT |echo "%$stage -n \$NAME-$p" EOT echo "cat << EOT" - ini_section pkg.$p.$stage | ini_escape + cfg_section pkg.$p.$stage | cfg_escape echo "EOT" } done @@ -91,13 +101,13 @@ _cat << EOT |echo "%clean" |#echo 'rm -rf \$RPM_BUILD_ROOT' EOT -ini_value global.subpackages | grep -q run && _cat << EOT +cfg_value global.subpackages | grep -q run && _cat << EOT |echo "%files -n \$NAME-run -f \$INSTALL_LOG.\$NAME-run" EOT -if ini_value global.subpackages | grep -q devel; then _cat << EOT +if cfg_value global.subpackages | grep -q devel; then _cat << EOT |echo "%files -n \$NAME-devel -f \$INSTALL_LOG.\$NAME-devel" EOT -ini_section pkg.devel.post +cfg_section pkg.devel.post else _cat << EOT |echo "%exclude /opt/\$NAME/make/*.mk" diff --git a/scripts/ini-tools.sh b/scripts/ini-tools.sh index 3a1f76f1..cc6228b4 100644 --- a/scripts/ini-tools.sh +++ b/scripts/ini-tools.sh @@ -1,18 +1,21 @@ ini_section() { - local sec="$1" + local inifile="$1" + local sec="$2" cat "$inifile" | cut -d\# -f1 | tr -s '\n' '\n' | sed -n "/\[$sec\]/,/\[/ p" | - grep -v '\[' + grep -v '\[' | + sed '/^ *$/ d' } ini_value() { - local path=$1 - local sec=`echo $1 | sed 's/\.[^.]\+$//'` - local key=`echo $1 | sed 's/.*\.//'` + local inifile="$1" + local path="$2" + local sec=`echo "$path" | sed 's/\.[^.]\+$//'` + local key=`echo "$path" | sed 's/.*\.//'` # echo "path=>$path<" # echo "sec=>$sec<" @@ -27,9 +30,20 @@ ini_value() /^ *$key *=/ !d s/^ *$key *= *// s/ *$// + /^ *$/ d " } +ini_has_section() +{ + ini_section $@ | grep -q . +} + +ini_has_value() +{ + ini_value $@ | grep -q . +} + ini_escape() { cat | sed ' @@ -37,3 +51,4 @@ ini_escape() s/`/\\\`/g ' } +