create-mkspec.sh: Heavy beautification and simplification

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2018-09-07 10:50:25 +00:00
commit 2ffe744709

View file

@ -1,5 +1,10 @@
#!/bin/bash
_cat()
{
sed 's/^ *|//'
}
cfg_section()
{
ini_section "$inifile" $@
@ -15,14 +20,11 @@ cfg_escape()
sed 's/\\/\\\\/g; s/\$/\\$/g; s/`/\\`/g'
}
_cat()
# unneeded but kept, because it might come in handy in the future
have_pkg()
{
sed 's/^ *|//'
}
subpackages()
{
echo $subpackages
echo "$subpackages" | grep -q "\(^[ ]*\|[ ]\+\)$1\([ ]\+\|$\)"
return $?
}
# -- here we go
@ -54,39 +56,8 @@ _cat <<- EOT
|echo "%description"
|echo "`cfg_value description`"
|echo ""
EOT
subpackages | grep -q run && _cat <<- EOT
|# ---------------------------------------
|echo "%package -n \$NAME-run"
|echo "Summary: `cfg_value summary`"
|echo "Group: `cfg_value global.group`"
|[ "\$REQUIRES_RUN" ] && echo "Requires: \$REQUIRES_RUN"
|[ "\$CONFLICTS_RUN" ] && echo "Conflicts: \$CONFLICTS_RUN"
|echo "%description -n \$NAME-run"
|echo "Runtime package"
|echo ""
EOT
subpackages | grep -q devel && _cat <<- EOT
|# ---------------------------------------
|echo "%package -n \$NAME-devel"
|echo "Summary: `cfg_value summary`, development package"
|echo "Group: `cfg_value global.group`"
|[ "\$REQUIRES_DEVEL" ] && echo "Requires: \$REQUIRES_DEVEL"
|[ "\$CONFLICTS_DEVEL" ] && echo "Conflicts: \$CONFLICTS_DEVEL"
|echo "%description -n \$NAME-devel"
|echo "Development package"
|echo ""
EOT
subpackages | grep -q run && _cat <<- EOT
|# ---------------------------------------
|echo "%prep -n \$NAME-run"
|echo ""
EOT
_cat <<- EOT
|echo "%setup -q -n \$NAME-\$V"
|echo ""
|echo "%build"
@ -106,11 +77,24 @@ _cat <<- EOT
|echo ""
EOT
# -- scripts
for p in $subpackages; do
P=${p^^}
_cat <<- EOT
|echo "# --------------------------------------- subpackage $p"
|echo "%package -n \$NAME-$p"
|echo "Summary: `cfg_value summary`"
|echo "Group: `cfg_value global.group`"
|[ "\$REQUIRES_$P" ] && echo "Requires: \$REQUIRES_$P"
|[ "\$CONFLICTS_$P" ] && echo "Conflicts: \$CONFLICTS_$P"
|echo "%description -n \$NAME-$p"
|echo "Runtime package"
|echo ""
EOT
for stage in pre preun post postun; do
echo "================= processing stage $stage: cfg_section pkg.$p.$stage" >&2
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
@ -121,29 +105,10 @@ for p in $subpackages; do
echo "EOT"
}
done
done
_cat <<- EOT
|echo ""
|echo "%clean"
|#echo 'rm -rf \$RPM_BUILD_ROOT'
EOT
subpackages | grep -q run && _cat <<- EOT
|echo "%files -n \$NAME-run -f \$INSTALL_LOG.\$NAME-run"
EOT
if subpackages | grep -q devel; then _cat <<- EOT
|echo "%files -n \$NAME-devel -f \$INSTALL_LOG.\$NAME-devel"
EOT
cfg_section pkg.devel.post
else
_cat <<- EOT
|# don't remember why this was needed
|#echo "%exclude /opt/\$NAME/make/*.mk"
EOT
fi
_cat <<- EOT
|echo "%files -n \$NAME-$p -f \$INSTALL_LOG.\$NAME-$p"
|echo '%defattr (-, root, root)'
EOT
|echo ""
EOT
done