diff --git a/scripts/create-mkspec.sh b/scripts/create-mkspec.sh index f75daa4b..4341178c 100644 --- a/scripts/create-mkspec.sh +++ b/scripts/create-mkspec.sh @@ -27,6 +27,22 @@ have_pkg() return $? } +subpackage_description() +{ + case $1 in + run) + _cat <<-EOT + |Runtime files + EOT + ;; + devel) + _cat <<-EOT + |Development files + EOT + ;; + esac +} + # -- here we go echo "== running $0" "$@" >&2 @@ -74,7 +90,6 @@ _cat <<- EOT |echo "make install" |echo "export PATH=$MOD_SCRIPT_DIR:\\\$PATH" |echo "/bin/bash pkg.sh milk-install-log -p \\\$ENV_PREFIX -n \$NAME -t rpm -s \\"$subpackages\\" \$INSTALL_LOG \`dirname \$INSTALL_LOG\`" - |echo "" EOT for p in $subpackages; do @@ -82,22 +97,32 @@ for p in $subpackages; do P=${p^^} _cat <<- EOT + |echo "" |echo "# --------------------------------------- subpackage $p" + |echo "" |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 + descr=`subpackage_description $p` + if [ "$descr" ]; then + _cat <<- EOT + |echo "" + |echo "%description -n \$NAME-$p" + |echo "$descr" + EOT + fi + 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 . && { _cat <<- EOT + |echo "" |echo "%$stage -n \$NAME-$p" EOT echo "cat << EOT" @@ -107,8 +132,8 @@ for p in $subpackages; do done _cat <<- EOT + |echo "" |echo "%files -n \$NAME-$p -f \$INSTALL_LOG.\$NAME-$p" |echo '%defattr (-, root, root)' - |echo "" EOT done