#!/bin/bash
#
# Generate rpm package for centos 

#set -e
#set -x

#curr_dir=$(pwd)
compile_dir=$1
output_dir=$2
tdengine_ver=$3
armver=$4

script_dir="$(dirname $(readlink -f $0))"
top_dir="$(readlink -m ${script_dir}/../..)"
pkg_dir="${top_dir}/rpmworkroom"
spec_file="${script_dir}/tdengine.spec"

#echo "curr_dir: ${curr_dir}"
#echo "top_dir: ${top_dir}"
#echo "script_dir: ${script_dir}"
echo "compile_dir: ${compile_dir}"
echo "pkg_dir: ${pkg_dir}"
echo "spec_file: ${spec_file}"

csudo=""
if command -v sudo > /dev/null; then
    csudo="sudo"
fi

function cp_rpm_package() {
local cur_dir
cd $1
cur_dir=$(pwd)

for dirlist in $(ls ${cur_dir}); do
  if test -d ${dirlist}; then
    cd ${dirlist}
    cp_rpm_package ${cur_dir}/${dirlist}
    cd ..
  fi
  if test -e ${dirlist}; then
    cp ${cur_dir}/${dirlist} ${output_dir}/TDengine-${tdengine_ver}.rpm
  fi
done
}

if [ -d ${pkg_dir} ]; then
  ${csudo} rm -rf ${pkg_dir}
fi
${csudo} mkdir -p ${pkg_dir}
cd ${pkg_dir}

${csudo} mkdir -p BUILD BUILDROOT RPMS SOURCES SPECS SRPMS

${csudo} rpmbuild --define="_version ${tdengine_ver}" --define="_topdir ${pkg_dir}" --define="_compiledir ${compile_dir}" -bb ${spec_file}

# copy rpm package to output_dir, then clean temp dir
#${csudo} cp -rf RPMS/* ${output_dir}
cp_rpm_package ${pkg_dir}/RPMS 

if [ "$armver" == "arm64" ]; then
  mv ${output_dir}/TDengine-${tdengine_ver}.rpm ${output_dir}/TDengine-${tdengine_ver}-arm64.rpm
elif [ "$armver" == "arm32" ]; then
  mv ${output_dir}/TDengine-${tdengine_ver}.rpm ${output_dir}/TDengine-${tdengine_ver}-arm32.rpm
fi

cd ..
${csudo} rm -rf ${pkg_dir}
