makepkg_power.sh 7.5 KB
Newer Older
H
Hui Li 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
#!/bin/bash
#
# Generate tar.gz package for all os system

set -e
#set -x

curr_dir=$(pwd)
compile_dir=$1
version=$2
build_time=$3
cpuType=$4
osType=$5
verMode=$6
verType=$7
pagMode=$8
17
versionComp=$9
H
Hui Li 已提交
18 19 20 21 22 23 24 25 26 27 28

script_dir="$(dirname $(readlink -f $0))"
top_dir="$(readlink -f ${script_dir}/../..)"

# create compressed install file.
build_dir="${compile_dir}/build"
code_dir="${top_dir}/src"
release_dir="${top_dir}/release"

#package_name='linux'
if [ "$verMode" == "cluster" ]; then
H
Hui Li 已提交
29
    install_dir="${release_dir}/PowerDB-enterprise-server-${version}"
H
Hui Li 已提交
30
else
H
Hui Li 已提交
31
    install_dir="${release_dir}/PowerDB-server-${version}"
H
Hui Li 已提交
32 33 34
fi

lib_files="${build_dir}/lib/libtaos.so.${version}"
35
header_files="${code_dir}/inc/taos.h ${code_dir}/inc/taosdef.h ${code_dir}/inc/taoserror.h"
36 37 38 39 40
if [ "$verMode" == "cluster" ]; then
  cfg_dir="${top_dir}/../enterprise/packaging/cfg"
else
  cfg_dir="${top_dir}/packaging/cfg"
fi
H
Hui Li 已提交
41 42 43 44 45 46 47 48 49 50 51
install_files="${script_dir}/install_power.sh"
nginx_dir="${code_dir}/../../enterprise/src/plugins/web"

init_file_deb=${script_dir}/../deb/powerd
init_file_rpm=${script_dir}/../rpm/powerd
init_file_tarbitrator_deb=${script_dir}/../deb/tarbitratord
init_file_tarbitrator_rpm=${script_dir}/../rpm/tarbitratord

# make directories.
mkdir -p ${install_dir}
mkdir -p ${install_dir}/inc && cp ${header_files} ${install_dir}/inc
52
mkdir -p ${install_dir}/cfg && cp ${cfg_dir}/taos.cfg ${install_dir}/cfg/power.cfg
H
Hui Li 已提交
53 54 55 56

#mkdir -p ${install_dir}/bin && cp ${bin_files} ${install_dir}/bin && chmod a+x ${install_dir}/bin/* || :
mkdir -p ${install_dir}/bin
if [ "$pagMode" == "lite" ]; then
57
  strip ${build_dir}/bin/taosd
H
Hui Li 已提交
58 59 60 61 62
  strip ${build_dir}/bin/taos
#  bin_files="${build_dir}/bin/powerd ${build_dir}/bin/power ${script_dir}/remove_power.sh"
  cp ${build_dir}/bin/taos          ${install_dir}/bin/power
  cp ${build_dir}/bin/taosd         ${install_dir}/bin/powerd
  cp ${script_dir}/remove_power.sh  ${install_dir}/bin
63
else
H
Hui Li 已提交
64 65 66
#  bin_files="${build_dir}/bin/powerd ${build_dir}/bin/power ${build_dir}/bin/powerdemo ${build_dir}/bin/tarbitrator ${script_dir}/remove_power.sh ${script_dir}/set_core.sh"
  cp ${build_dir}/bin/taos          ${install_dir}/bin/power
  cp ${build_dir}/bin/taosd         ${install_dir}/bin/powerd
67
  cp ${build_dir}/bin/taosadapter   ${install_dir}/bin/taosadapter ||:
H
Hui Li 已提交
68
  cp ${script_dir}/remove_power.sh  ${install_dir}/bin
69 70
  cp ${build_dir}/bin/taosdemo      ${install_dir}/bin/powerdemo
  cp ${build_dir}/bin/taosdump      ${install_dir}/bin/powerdump
H
Hui Li 已提交
71 72
  cp ${build_dir}/bin/tarbitrator   ${install_dir}/bin
  cp ${script_dir}/set_core.sh      ${install_dir}/bin
73
  cp ${script_dir}/run_taosd.sh     ${install_dir}/bin
74
  cp ${script_dir}/get_client.sh    ${install_dir}/bin
75 76
  cp ${script_dir}/startPre.sh      ${install_dir}/bin
  cp ${script_dir}/taosd-dump-cfg.gdb  ${install_dir}/bin
H
Hui Li 已提交
77 78 79 80 81 82 83 84 85 86 87
fi
chmod a+x ${install_dir}/bin/* || :

mkdir -p ${install_dir}/init.d && cp ${init_file_deb} ${install_dir}/init.d/powerd.deb
mkdir -p ${install_dir}/init.d && cp ${init_file_rpm} ${install_dir}/init.d/powerd.rpm
mkdir -p ${install_dir}/init.d && cp ${init_file_tarbitrator_deb} ${install_dir}/init.d/tarbitratord.deb || :
mkdir -p ${install_dir}/init.d && cp ${init_file_tarbitrator_rpm} ${install_dir}/init.d/tarbitratord.rpm || :

if [ "$verMode" == "cluster" ]; then
    sed 's/verMode=edge/verMode=cluster/g' ${install_dir}/bin/remove_power.sh >> remove_power_temp.sh
    mv remove_power_temp.sh ${install_dir}/bin/remove_power.sh
88

H
Hui Li 已提交
89 90 91 92
    mkdir -p ${install_dir}/nginxd && cp -r ${nginx_dir}/* ${install_dir}/nginxd
    cp ${nginx_dir}/png/taos.png ${install_dir}/nginxd/admin/images/taos.png
    rm -rf ${install_dir}/nginxd/png

93
    sed -i "s/TDengine/PowerDB/g"   ${install_dir}/nginxd/admin/*.html
H
Hui Li 已提交
94
    sed -i "s/TDengine/PowerDB/g"   ${install_dir}/nginxd/admin/js/*.js
95

96 97 98
    sed -i '/dataDir/ {s/taos/power/g}'  ${install_dir}/cfg/power.cfg
    sed -i '/logDir/  {s/taos/power/g}'  ${install_dir}/cfg/power.cfg
    sed -i "s/TDengine/PowerDB/g"        ${install_dir}/cfg/power.cfg
H
Hui Li 已提交
99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137

    if [ "$cpuType" == "aarch64" ]; then
        cp -f ${install_dir}/nginxd/sbin/arm/64bit/nginx ${install_dir}/nginxd/sbin/
    elif [ "$cpuType" == "aarch32" ]; then
        cp -f ${install_dir}/nginxd/sbin/arm/32bit/nginx ${install_dir}/nginxd/sbin/
    fi
    rm -rf ${install_dir}/nginxd/sbin/arm
fi

cd ${install_dir}
tar -zcv -f power.tar.gz * --remove-files  || :
exitcode=$?
if [ "$exitcode" != "0" ]; then
    echo "tar power.tar.gz error !!!"
    exit $exitcode
fi

cd ${curr_dir}
cp ${install_files} ${install_dir}
if [ "$verMode" == "cluster" ]; then
    sed 's/verMode=edge/verMode=cluster/g' ${install_dir}/install_power.sh >> install_power_temp.sh
    mv install_power_temp.sh ${install_dir}/install_power.sh
fi
if [ "$pagMode" == "lite" ]; then
    sed 's/pagMode=full/pagMode=lite/g' ${install_dir}/install.sh >> install_power_temp.sh
    mv install_power_temp.sh ${install_dir}/install_power.sh
fi
chmod a+x ${install_dir}/install_power.sh

# Copy example code
mkdir -p ${install_dir}/examples
examples_dir="${top_dir}/tests/examples"
cp -r ${examples_dir}/c      ${install_dir}/examples
sed -i '/passwd/ {s/taosdata/powerdb/g}'  ${install_dir}/examples/c/*.c
sed -i '/root/   {s/taosdata/powerdb/g}'  ${install_dir}/examples/c/*.c

if [[ "$pagMode" != "lite" ]] && [[ "$cpuType" != "aarch32" ]]; then
  cp -r ${examples_dir}/JDBC   ${install_dir}/examples
  cp -r ${examples_dir}/matlab ${install_dir}/examples
138
  sed -i '/password/ {s/taosdata/powerdb/g}'  ${install_dir}/examples/matlab/TDengineDemo.m
H
Hui Li 已提交
139
  cp -r ${examples_dir}/python ${install_dir}/examples
140
  sed -i '/password/ {s/taosdata/powerdb/g}'  ${install_dir}/examples/python/read_example.py
H
Hui Li 已提交
141
  cp -r ${examples_dir}/R      ${install_dir}/examples
142 143
  sed -i '/password/ {s/taosdata/powerdb/g}'  ${install_dir}/examples/R/command.txt
  cp -r ${examples_dir}/go     ${install_dir}/examples
H
Hui Li 已提交
144
  sed -i '/root/ {s/taosdata/powerdb/g}'  ${install_dir}/examples/go/taosdemo.go
H
Hui Li 已提交
145 146
fi
# Copy driver
147
mkdir -p ${install_dir}/driver && cp ${lib_files} ${install_dir}/driver && echo "${versionComp}" > ${install_dir}/driver/vercomp.txt
H
Hui Li 已提交
148 149 150 151 152

# Copy connector
connector_dir="${code_dir}/connector"
mkdir -p ${install_dir}/connector
if [[ "$pagMode" != "lite" ]] && [[ "$cpuType" != "aarch32" ]]; then
P
plum-lihui 已提交
153
  cp ${build_dir}/lib/*.jar      ${install_dir}/connector ||:
154 155 156 157 158 159

  if find ${connector_dir}/go -mindepth 1 -maxdepth 1 | read; then
    cp -r ${connector_dir}/go ${install_dir}/connector
  else
    echo "WARNING: go connector not found, please check if want to use it!"
  fi
H
Hui Li 已提交
160
  cp -r ${connector_dir}/python  ${install_dir}/connector/
161

162
  sed -i '/password/ {s/taosdata/powerdb/g}'  ${install_dir}/connector/python/taos/cinterface.py
163

164
  sed -i '/password/ {s/taosdata/powerdb/g}'  ${install_dir}/connector/python/taos/subscription.py
165

166
  sed -i '/self._password/ {s/taosdata/powerdb/g}'  ${install_dir}/connector/python/taos/connection.py
H
Hui Li 已提交
167 168 169 170 171 172
fi
# Copy release note
# cp ${script_dir}/release_note ${install_dir}

# exit 1

173
cd ${release_dir}
H
Hui Li 已提交
174 175

if [ "$verMode" == "cluster" ]; then
H
Hui Li 已提交
176
  pkg_name=${install_dir}-${osType}-${cpuType}
H
Hui Li 已提交
177
elif [ "$verMode" == "edge" ]; then
H
Hui Li 已提交
178
  pkg_name=${install_dir}-${osType}-${cpuType}
H
Hui Li 已提交
179 180 181 182 183 184 185 186 187 188 189
else
  echo "unknow verMode, nor cluster or edge"
  exit 1
fi

if [ "$pagMode" == "lite" ]; then
  pkg_name=${pkg_name}-Lite
fi

if [ "$verType" == "beta" ]; then
  pkg_name=${pkg_name}-${verType}
190 191
elif [ "$verType" == "stable" ]; then
  pkg_name=${pkg_name}
H
Hui Li 已提交
192 193 194 195 196 197 198 199 200 201 202 203 204
else
  echo "unknow verType, nor stabel or beta"
  exit 1
fi

tar -zcv -f "$(basename ${pkg_name}).tar.gz" $(basename ${install_dir}) --remove-files || :
exitcode=$?
if [ "$exitcode" != "0" ]; then
    echo "tar ${pkg_name}.tar.gz error !!!"
    exit $exitcode
fi

cd ${curr_dir}