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 #!/bin/bash
_cat()
{
sed 's/^ *|//'
}
cfg_section() cfg_section()
{ {
ini_section "$inifile" $@ ini_section "$inifile" $@
@ -15,14 +20,11 @@ cfg_escape()
sed 's/\\/\\\\/g; s/\$/\\$/g; s/`/\\`/g' sed 's/\\/\\\\/g; s/\$/\\$/g; s/`/\\`/g'
} }
_cat() # unneeded but kept, because it might come in handy in the future
have_pkg()
{ {
sed 's/^ *|//' echo "$subpackages" | grep -q "\(^[ ]*\|[ ]\+\)$1\([ ]\+\|$\)"
} return $?
subpackages()
{
echo $subpackages
} }
# -- here we go # -- here we go
@ -54,39 +56,8 @@ _cat <<- EOT
|echo "%description" |echo "%description"
|echo "`cfg_value description`" |echo "`cfg_value description`"
|echo "" |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 "%prep -n \$NAME-run"
|echo ""
EOT
_cat <<- EOT
|echo "%setup -q -n \$NAME-\$V" |echo "%setup -q -n \$NAME-\$V"
|echo "" |echo ""
|echo "%build" |echo "%build"
@ -106,11 +77,24 @@ _cat <<- EOT
|echo "" |echo ""
EOT EOT
# -- scripts
for p in $subpackages; do 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 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 >&2
cfg_section pkg.$p.$stage | grep -q . && { cfg_section pkg.$p.$stage | grep -q . && {
_cat <<- EOT _cat <<- EOT
@ -121,29 +105,10 @@ for p in $subpackages; do
echo "EOT" echo "EOT"
} }
done 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 _cat <<- EOT
|# don't remember why this was needed |echo "%files -n \$NAME-$p -f \$INSTALL_LOG.\$NAME-$p"
|#echo "%exclude /opt/\$NAME/make/*.mk"
EOT
fi
_cat <<- EOT
|echo '%defattr (-, root, root)' |echo '%defattr (-, root, root)'
EOT |echo ""
EOT
done