#!/bin/sh descr=$1 _cat() { sed 's/^ *|//' } section() { local sec="$1" cat "$descr" | cut -d\# -f1 | tr -s '\n' '\n' | sed -n "/\[$sec\]/,/\[/ p" | grep -v '\[' } value() { local path=$1 local sec=`echo $1 | sed 's/\.[^.]\+$//'` local key=`echo $1 | sed 's/.*\.//'` # echo "path=>$path<" # echo "sec=>$sec<" # echo "key=>$key<" if [ "$key" = "$path" ]; then section $path return 0 fi section $sec | sed " /^ *$key *=/ !d s/^ *$key *= *// s/ *$// " } #t() #{ # echo '--------------' # echo $1: `value $1` #} # #t global.group #t summary #t description #exit 0 _cat << EOT |echo "Name: \$NAME" |echo "Summary: `value summary`" |echo "Version: \$VERSION" |echo "Release: \$RELEASE" |echo "License: Jannet IT Services proprietary license" |echo "Group: System/Libraries" |[ -n "\$SOURCE" ] && echo "Source: \$SOURCE" |echo "Vendor: Jannet IT Services" |echo "URL: http://www.jannet.de" |echo "BuildRoot: /var/tmp/%{name}-buildroot" |echo "" |echo "%description" |echo "`value description`" |echo "" EOT value global.subpackages | grep -q run && _cat << EOT |# --------------------------------------- |echo "%package -n \$NAME-run" |echo "Summary: `value summary`" |echo "Group: `value global.group`" |[ "\$REQUIRES_RUN" ] && echo "Requires: \$REQUIRES_RUN" |echo "%description -n \$NAME-run" |echo "Runtime package" |echo "" EOT value global.subpackages | grep -q devel && _cat << EOT |# --------------------------------------- |echo "%package -n \$NAME-devel" |echo "Summary: `value summary`, development package" |echo "Group: `value global.group`" |[ "\$REQUIRES_DEVEL" ] && echo "Requires: \$REQUIRES_DEVEL" |echo "%description -n \$NAME-devel" |echo "Development package" |echo "" EOT value global.subpackages | grep -q run && _cat << EOT |# --------------------------------------- |echo "%prep -n \$NAME-run" |echo "" EOT _cat << EOT |echo "%setup -q -n \$NAME-\$V" |echo "" |echo "%build" |echo 'pwd' |echo 'make config' |echo 'make' |echo "" |echo "%install" |echo 'rm -rf \$RPM_BUILD_ROOT' |echo "export ENV_PREFIX=\\\$RPM_BUILD_ROOT" |echo "export INSTALL_LOG=\$INSTALL_LOG" |echo "mkdir -p \`dirname \$INSTALL_LOG\`" |echo "> \$INSTALL_LOG" |echo "make install" |echo "cat \$INSTALL_LOG | sed \"s% \\\$RPM_BUILD_ROOT% %\" | " |echo " grep -ve '/include/.*.h\$\|devel\|/lib.*\.a\$\|make' | sort -u > \$INSTALL_LOG.\$NAME-run" |echo "cat \$INSTALL_LOG | sed \"s% \\\$RPM_BUILD_ROOT% %\" | " |echo " grep -e '/include/.*.h\$\|devel\|/lib.*\.a\$\|make' | sort -u > \$INSTALL_LOG.\$NAME-devel" |echo "" EOT value global.subpackages | grep -q run && _cat << EOT |echo "%post -n \$NAME-run" EOT _cat << EOT |echo "" |echo "%clean" |#echo 'rm -rf \$RPM_BUILD_ROOT' EOT value global.subpackages | grep -q run && _cat << EOT |echo "%files -n \$NAME-run -f \$INSTALL_LOG.\$NAME-run" EOT if value global.subpackages | grep -q devel; then _cat << EOT |echo "%files -n \$NAME-devel -f \$INSTALL_LOG.\$NAME-devel" EOT else _cat << EOT |echo "%exclude /opt/\$NAME/make/*.mk" EOT fi _cat << EOT |echo '%defattr (-, root, root)' EOT