mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 03:53:32 +01:00
128 lines
3 KiB
Bash
128 lines
3 KiB
Bash
#!/bin/bash
|
|
|
|
export LANG=POSIX
|
|
dir=`dirname $0`
|
|
inifile="$1"
|
|
. $dir/ini-tools.sh
|
|
|
|
cfg_section()
|
|
{
|
|
ini_section "$inifile" $@
|
|
}
|
|
|
|
cfg_value()
|
|
{
|
|
ini_value "$inifile" $@
|
|
}
|
|
|
|
cfg_escape()
|
|
{
|
|
sed 's/\$/\\$/g'
|
|
}
|
|
|
|
_cat()
|
|
{
|
|
sed 's/^ *|//'
|
|
}
|
|
|
|
LICENSE=`cfg_value global.license`
|
|
[ "$LICENSE" ] || LICENSE="janware GmbH proprietary license"
|
|
|
|
_cat << EOT
|
|
|echo "Name: \$NAME"
|
|
|echo "Summary: `cfg_value summary`"
|
|
|echo "Version: \$VERSION"
|
|
|echo "Release: \$RELEASE"
|
|
|echo "License: $LICENSE"
|
|
|echo "Group: System/Libraries"
|
|
|[ -n "\$SOURCE" ] && echo "Source: \$SOURCE"
|
|
|echo "Vendor: janware GmbH"
|
|
|echo "URL: http://janware.com"
|
|
|echo "BuildRoot: /var/tmp/%{name}-buildroot"
|
|
|echo ""
|
|
|echo "%description"
|
|
|echo "`cfg_value description`"
|
|
|echo ""
|
|
EOT
|
|
cfg_value global.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"
|
|
|echo "%description -n \$NAME-run"
|
|
|echo "Runtime package"
|
|
|echo ""
|
|
EOT
|
|
cfg_value global.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"
|
|
|echo "%description -n \$NAME-devel"
|
|
|echo "Development package"
|
|
|echo ""
|
|
EOT
|
|
cfg_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 "export PATH=$MOD_SCRIPT_DIR:\\\$PATH"
|
|
|echo "/bin/bash pkg.sh milk-install-log -p \\\$ENV_PREFIX -n \$NAME -t rpm \$INSTALL_LOG \`dirname \$INSTALL_LOG\`"
|
|
|echo ""
|
|
EOT
|
|
|
|
# -- scripts
|
|
for p in `cfg_value global.subpackages`; do
|
|
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 "%$stage -n \$NAME-$p"
|
|
EOT
|
|
echo "cat << EOT"
|
|
cfg_section pkg.$p.$stage | cfg_escape
|
|
echo "EOT"
|
|
}
|
|
done
|
|
done
|
|
_cat << EOT
|
|
|echo ""
|
|
|echo "%clean"
|
|
|#echo 'rm -rf \$RPM_BUILD_ROOT'
|
|
EOT
|
|
cfg_value global.subpackages | grep -q run && _cat << EOT
|
|
|echo "%files -n \$NAME-run -f \$INSTALL_LOG.\$NAME-run"
|
|
EOT
|
|
if cfg_value global.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
|
|
|echo "%exclude /opt/\$NAME/make/*.mk"
|
|
EOT
|
|
fi
|
|
_cat << EOT
|
|
|echo '%defattr (-, root, root)'
|
|
EOT
|
|
|