jw-pkg/scripts/create-mkspec.sh

136 lines
3.1 KiB
Bash
Raw Normal View History

#!/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