2017-01-13 19:26:28 +00:00
|
|
|
#!/bin/bash
|
2011-02-20 14:15:22 +00:00
|
|
|
|
2018-09-07 10:50:25 +00:00
|
|
|
_cat()
|
|
|
|
|
{
|
|
|
|
|
sed 's/^ *|//'
|
|
|
|
|
}
|
|
|
|
|
|
2016-11-02 09:49:34 +00:00
|
|
|
cfg_section()
|
|
|
|
|
{
|
|
|
|
|
ini_section "$inifile" $@
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
cfg_value()
|
|
|
|
|
{
|
|
|
|
|
ini_value "$inifile" $@
|
|
|
|
|
}
|
|
|
|
|
|
2016-12-19 13:22:40 +00:00
|
|
|
cfg_escape()
|
|
|
|
|
{
|
2018-09-07 09:32:14 +00:00
|
|
|
sed 's/\\/\\\\/g; s/\$/\\$/g; s/`/\\`/g'
|
2016-12-19 13:22:40 +00:00
|
|
|
}
|
|
|
|
|
|
2018-09-07 10:50:25 +00:00
|
|
|
# unneeded but kept, because it might come in handy in the future
|
|
|
|
|
have_pkg()
|
2018-08-31 11:19:44 +00:00
|
|
|
{
|
2018-09-07 10:50:25 +00:00
|
|
|
echo "$subpackages" | grep -q "\(^[ ]*\|[ ]\+\)$1\([ ]\+\|$\)"
|
|
|
|
|
return $?
|
2018-08-31 11:19:44 +00:00
|
|
|
}
|
|
|
|
|
|
2018-09-07 11:02:48 +00:00
|
|
|
subpackage_description()
|
|
|
|
|
{
|
|
|
|
|
case $1 in
|
|
|
|
|
run)
|
2019-01-30 16:23:40 +00:00
|
|
|
echo "Runtime files"
|
2018-09-07 11:02:48 +00:00
|
|
|
;;
|
|
|
|
|
devel)
|
2019-01-30 16:23:40 +00:00
|
|
|
echo "Development files"
|
2018-09-07 11:02:48 +00:00
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
}
|
|
|
|
|
|
2019-06-19 09:33:12 +00:00
|
|
|
os_cascade()
|
|
|
|
|
{
|
|
|
|
|
# might want to run python3 path/to/projects.py --os=suse-tumbleweed os-cascade
|
|
|
|
|
# or turn this into a python script and use projects.py as a module.
|
|
|
|
|
|
|
|
|
|
if [ "$DISTRIBUTION" ]; then
|
|
|
|
|
echo os linux $DISTRIBUTION | sed 's/\([^-]\+\)-\([^-]\+\)/\1 \1-\2/g'
|
|
|
|
|
else
|
|
|
|
|
echo os linux
|
|
|
|
|
fi
|
|
|
|
|
}
|
|
|
|
|
|
2018-09-07 09:32:14 +00:00
|
|
|
# -- here we go
|
|
|
|
|
|
|
|
|
|
echo "== running $0" "$@" >&2
|
|
|
|
|
|
|
|
|
|
export LANG=POSIX
|
|
|
|
|
dir=`dirname $0`
|
|
|
|
|
inifile="$1"
|
|
|
|
|
. $dir/ini-tools.sh
|
|
|
|
|
|
2018-09-07 10:06:58 +00:00
|
|
|
subpackages=`cfg_value global.subpackages`
|
|
|
|
|
license=`cfg_value global.license`
|
|
|
|
|
[ "$license" ] || license="janware GmbH proprietary license"
|
2019-01-30 16:23:40 +00:00
|
|
|
vendor=`cfg_value global.vendor`
|
|
|
|
|
[ "$vendor" ] || vendor="janware GmbH"
|
2018-11-13 11:17:43 +00:00
|
|
|
url=`cfg_value global.url`
|
|
|
|
|
[ "$url" ] || url="https://janware.com"
|
2016-11-23 12:08:14 +00:00
|
|
|
|
2018-09-07 10:06:58 +00:00
|
|
|
_cat <<- EOT
|
2018-12-14 11:35:52 +00:00
|
|
|
|echo "%define debug_package %{nil}"
|
|
|
|
|
|# ---------------------------------------
|
2012-04-28 14:35:10 +00:00
|
|
|
|echo "Name: \$NAME"
|
2016-11-02 09:49:34 +00:00
|
|
|
|echo "Summary: `cfg_value summary`"
|
2012-04-28 14:35:10 +00:00
|
|
|
|echo "Version: \$VERSION"
|
|
|
|
|
|echo "Release: \$RELEASE"
|
2018-09-07 10:06:58 +00:00
|
|
|
|echo "License: $license"
|
2012-04-28 14:35:10 +00:00
|
|
|
|echo "Group: System/Libraries"
|
|
|
|
|
|[ -n "\$SOURCE" ] && echo "Source: \$SOURCE"
|
2019-01-30 16:23:40 +00:00
|
|
|
|echo "Vendor: $vendor"
|
2018-11-13 11:17:43 +00:00
|
|
|
|echo "URL: $url"
|
2012-04-28 14:35:10 +00:00
|
|
|
|echo "BuildRoot: /var/tmp/%{name}-buildroot"
|
2017-12-27 09:47:14 +00:00
|
|
|
|echo "Distribution: jw / openSUSE Tumbleweed"
|
2012-04-28 14:35:10 +00:00
|
|
|
|echo ""
|
|
|
|
|
|echo "%description"
|
2016-11-02 09:49:34 +00:00
|
|
|
|echo "`cfg_value description`"
|
2012-04-28 14:35:10 +00:00
|
|
|
|echo ""
|
|
|
|
|
|# ---------------------------------------
|
|
|
|
|
|echo "%prep -n \$NAME-run"
|
|
|
|
|
|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"
|
2019-06-29 21:45:24 +00:00
|
|
|
|echo "export PATH=$JWB_SCRIPT_DIR:\\\$PATH"
|
2018-09-07 10:06:58 +00:00
|
|
|
|echo "/bin/bash pkg.sh milk-install-log -p \\\$ENV_PREFIX -n \$NAME -t rpm -s \\"$subpackages\\" \$INSTALL_LOG \`dirname \$INSTALL_LOG\`"
|
2018-12-14 11:18:08 +00:00
|
|
|
|echo "exit 0" # <- Cut short CentOS magic appended to install scriptlet, which would generate .pyo files and other cruft.
|
2012-04-28 14:35:10 +00:00
|
|
|
EOT
|
2016-02-02 17:36:25 +00:00
|
|
|
|
2018-09-07 10:06:58 +00:00
|
|
|
for p in $subpackages; do
|
2018-09-07 10:50:25 +00:00
|
|
|
|
|
|
|
|
P=${p^^}
|
|
|
|
|
|
|
|
|
|
_cat <<- EOT
|
2018-09-07 11:02:48 +00:00
|
|
|
|echo ""
|
2018-09-07 10:50:25 +00:00
|
|
|
|echo "# --------------------------------------- subpackage $p"
|
2018-09-07 11:02:48 +00:00
|
|
|
|echo ""
|
2018-09-07 10:50:25 +00:00
|
|
|
|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"
|
2019-01-07 14:34:58 +00:00
|
|
|
|[ "\$PROVIDES_$P" ] && echo "Provides: \$PROVIDES_$P"
|
2018-09-07 10:50:25 +00:00
|
|
|
|echo ""
|
|
|
|
|
EOT
|
|
|
|
|
|
2018-09-07 11:02:48 +00:00
|
|
|
descr=`subpackage_description $p`
|
|
|
|
|
if [ "$descr" ]; then
|
|
|
|
|
_cat <<- EOT
|
|
|
|
|
|echo ""
|
|
|
|
|
|echo "%description -n \$NAME-$p"
|
|
|
|
|
|echo "$descr"
|
|
|
|
|
EOT
|
|
|
|
|
fi
|
|
|
|
|
|
2017-06-25 17:16:24 +00:00
|
|
|
for stage in pre preun post postun; do
|
2018-09-07 10:50:25 +00:00
|
|
|
echo "== processing stage $stage: cfg_section pkg.$p.$stage" >&2
|
2019-06-19 09:33:12 +00:00
|
|
|
out=""
|
|
|
|
|
#for os in '' `os_cascade | sed 's/\(^\| \)/ ./g'`; do
|
|
|
|
|
for os in '' `os_cascade`; do
|
|
|
|
|
sec=pkg.$p.$stage
|
|
|
|
|
if [ "$os" ]; then
|
|
|
|
|
sec="$sec.$os"
|
|
|
|
|
head="\n# --- $os\n"
|
|
|
|
|
else
|
|
|
|
|
head=""
|
|
|
|
|
fi
|
|
|
|
|
cfg_section $sec | grep -q . || continue
|
|
|
|
|
out="$out$head`cfg_section $sec`"
|
|
|
|
|
done
|
|
|
|
|
if [ "$out" ]; then
|
|
|
|
|
echo -e "$out" >&2
|
2016-02-02 17:36:25 +00:00
|
|
|
_cat <<- EOT
|
2018-09-07 11:02:48 +00:00
|
|
|
|echo ""
|
2016-02-02 17:36:25 +00:00
|
|
|
|echo "%$stage -n \$NAME-$p"
|
|
|
|
|
EOT
|
|
|
|
|
echo "cat << EOT"
|
2019-06-19 09:33:12 +00:00
|
|
|
echo -e "$out" | cfg_escape
|
2016-02-02 17:36:25 +00:00
|
|
|
echo "EOT"
|
2019-06-19 09:33:12 +00:00
|
|
|
fi
|
2016-02-02 17:36:25 +00:00
|
|
|
done
|
2018-09-07 10:06:58 +00:00
|
|
|
|
|
|
|
|
_cat <<- EOT
|
2018-09-07 11:02:48 +00:00
|
|
|
|echo ""
|
2018-09-07 10:50:25 +00:00
|
|
|
|echo "%files -n \$NAME-$p -f \$INSTALL_LOG.\$NAME-$p"
|
2012-04-28 14:35:10 +00:00
|
|
|
|echo '%defattr (-, root, root)'
|
2018-09-07 10:50:25 +00:00
|
|
|
EOT
|
|
|
|
|
done
|