makedeb.sh 6.4 KB
Newer Older
H
hzcheng 已提交
1 2 3
#!/bin/bash
#
# Generate deb package for ubuntu
L
lihui 已提交
4
set -e
S
slguan 已提交
5
# set -x
H
hzcheng 已提交
6 7 8 9 10

#curr_dir=$(pwd)
compile_dir=$1
output_dir=$2
tdengine_ver=$3
L
lihui 已提交
11 12 13 14
cpuType=$4
osType=$5
verMode=$6
verType=$7
H
hzcheng 已提交
15 16

script_dir="$(dirname $(readlink -f $0))"
F
Frozen 已提交
17
top_dir="$(readlink -f ${script_dir}/../..)"
H
hzcheng 已提交
18 19 20 21 22 23 24 25 26
pkg_dir="${top_dir}/debworkroom"

#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}"

if [ -d ${pkg_dir} ]; then
27
    rm -rf ${pkg_dir}
H
hzcheng 已提交
28 29 30 31
fi
mkdir -p ${pkg_dir}
cd ${pkg_dir}

L
lihui 已提交
32
libfile="libtaos.so.${tdengine_ver}"
H
huili 已提交
33

34
# create install dir
H
hzcheng 已提交
35
install_home_path="/usr/local/taos"
36
mkdir -p ${pkg_dir}${install_home_path}
H
hzcheng 已提交
37 38 39 40 41 42 43 44
mkdir -p ${pkg_dir}${install_home_path}/bin
mkdir -p ${pkg_dir}${install_home_path}/cfg
mkdir -p ${pkg_dir}${install_home_path}/connector
mkdir -p ${pkg_dir}${install_home_path}/driver
mkdir -p ${pkg_dir}${install_home_path}/examples
mkdir -p ${pkg_dir}${install_home_path}/include
mkdir -p ${pkg_dir}${install_home_path}/init.d
mkdir -p ${pkg_dir}${install_home_path}/script
45

H
hzcheng 已提交
46
cp ${compile_dir}/../packaging/cfg/taos.cfg         ${pkg_dir}${install_home_path}/cfg
47 48 49 50
if [ -f "${compile_dir}/test/cfg/blm.toml" ]; then
    cp ${compile_dir}/test/cfg/blm.toml                 ${pkg_dir}${install_home_path}/cfg
fi

H
hzcheng 已提交
51 52 53
cp ${compile_dir}/../packaging/deb/taosd            ${pkg_dir}${install_home_path}/init.d
cp ${compile_dir}/../packaging/tools/post.sh        ${pkg_dir}${install_home_path}/script
cp ${compile_dir}/../packaging/tools/preun.sh       ${pkg_dir}${install_home_path}/script
54 55 56
cp ${compile_dir}/../packaging/tools/startPre.sh    ${pkg_dir}${install_home_path}/bin
cp ${compile_dir}/../packaging/tools/set_core.sh    ${pkg_dir}${install_home_path}/bin
cp ${compile_dir}/../packaging/tools/taosd-dump-cfg.gdb    ${pkg_dir}${install_home_path}/bin
57

S
slguan 已提交
58
cp ${compile_dir}/build/bin/taosdemo                ${pkg_dir}${install_home_path}/bin
59
cp ${compile_dir}/build/bin/taosdump                ${pkg_dir}${install_home_path}/bin
H
hzcheng 已提交
60
cp ${compile_dir}/build/bin/taosd                   ${pkg_dir}${install_home_path}/bin
61 62 63 64 65

if [ -f "${compile_dir}/build/bin/blm3" ]; then
    cp ${compile_dir}/build/bin/blm3                    ${pkg_dir}${install_home_path}/bin ||:
fi

H
hzcheng 已提交
66
cp ${compile_dir}/build/bin/taos                    ${pkg_dir}${install_home_path}/bin
67
cp ${compile_dir}/build/lib/${libfile}              ${pkg_dir}${install_home_path}/driver
H
hzcheng 已提交
68
cp ${compile_dir}/../src/inc/taos.h                 ${pkg_dir}${install_home_path}/include
L
lihui 已提交
69
cp ${compile_dir}/../src/inc/taoserror.h            ${pkg_dir}${install_home_path}/include
H
hzcheng 已提交
70 71 72
cp -r ${top_dir}/tests/examples/*                   ${pkg_dir}${install_home_path}/examples
cp -r ${top_dir}/src/connector/python               ${pkg_dir}${install_home_path}/connector
cp -r ${top_dir}/src/connector/go                   ${pkg_dir}${install_home_path}/connector
H
Hui Li 已提交
73
cp -r ${top_dir}/src/connector/nodejs               ${pkg_dir}${install_home_path}/connector
74 75
cp ${compile_dir}/build/lib/taos-jdbcdriver*.*  ${pkg_dir}${install_home_path}/connector ||:

76 77 78 79 80 81 82 83 84 85 86 87
install_user_local_path="/usr/local"

if [ -f ${compile_dir}/build/lib/libavro.so.23.0.0 ]; then
    mkdir -p ${pkg_dir}${install_user_local_path}/lib
    cp ${compile_dir}/build/lib/libavro.so.23.0.0 ${pkg_dir}${install_user_local_path}/lib/
    ln -sf libavro.so.23.0.0 ${pkg_dir}${install_user_local_path}/lib/libavro.so.23
    ln -sf libavro.so.23 ${pkg_dir}${install_user_local_path}/lib/libavro.so
fi
if [ -f ${compile_dir}/build/lib/libavro.a ]; then
    cp ${compile_dir}/build/lib/libavro.a ${pkg_dir}${install_user_local_path}/lib/
fi

88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
if [ -f ${compile_dir}/build/bin/jemalloc-config ]; then
    mkdir -p ${pkg_dir}${install_user_local_path}/{bin,lib,lib/pkgconfig,include/jemalloc,share/doc/jemalloc,share/man/man3}
    cp ${compile_dir}/build/bin/jemalloc-config ${pkg_dir}${install_user_local_path}/bin/
    if [ -f ${compile_dir}/build/bin/jemalloc.sh ]; then
        cp ${compile_dir}/build/bin/jemalloc.sh ${pkg_dir}${install_user_local_path}/bin/
    fi
    if [ -f ${compile_dir}/build/bin/jeprof ]; then
        cp ${compile_dir}/build/bin/jeprof ${pkg_dir}${install_user_local_path}/bin/
    fi
    if [ -f ${compile_dir}/build/include/jemalloc/jemalloc.h ]; then
        cp ${compile_dir}/build/include/jemalloc/jemalloc.h ${pkg_dir}${install_user_local_path}/include/jemalloc/
    fi
    if [ -f ${compile_dir}/build/lib/libjemalloc.so.2 ]; then
        cp ${compile_dir}/build/lib/libjemalloc.so.2 ${pkg_dir}${install_user_local_path}/lib/
        ln -sf libjemalloc.so.2 ${pkg_dir}${install_user_local_path}/lib/libjemalloc.so
    fi
    if [ -f ${compile_dir}/build/lib/libjemalloc.a ]; then
        cp ${compile_dir}/build/lib/libjemalloc.a ${pkg_dir}${install_user_local_path}/lib/
    fi
    if [ -f ${compile_dir}/build/lib/libjemalloc_pic.a ]; then
        cp ${compile_dir}/build/lib/libjemalloc_pic.a ${pkg_dir}${install_user_local_path}/lib/
    fi
    if [ -f ${compile_dir}/build/lib/pkgconfig/jemalloc.pc ]; then
        cp ${compile_dir}/build/lib/pkgconfig/jemalloc.pc ${pkg_dir}${install_user_local_path}/lib/pkgconfig/
    fi
    if [ -f ${compile_dir}/build/share/doc/jemalloc/jemalloc.html ]; then
        cp ${compile_dir}/build/share/doc/jemalloc/jemalloc.html ${pkg_dir}${install_user_local_path}/share/doc/jemalloc/
    fi
    if [ -f ${compile_dir}/build/share/man/man3/jemalloc.3 ]; then
        cp ${compile_dir}/build/share/man/man3/jemalloc.3 ${pkg_dir}${install_user_local_path}/share/man/man3/
    fi
fi
H
hzcheng 已提交
120 121 122 123 124 125 126

cp -r ${compile_dir}/../packaging/deb/DEBIAN        ${pkg_dir}/
chmod 755 ${pkg_dir}/DEBIAN/*

# modify version of control
debver="Version: "$tdengine_ver
sed -i "2c$debver" ${pkg_dir}/DEBIAN/control
127

128 129 130 131
if [ -f ${compile_dir}/build/lib/libavro.so.23.0.0 ]; then
    sed -i.bak "s/#Depends: no/Depends: libjansson4, libsnappy1v5/g" ${pkg_dir}/DEBIAN/control
fi

H
hzcheng 已提交
132
#get taos version, then set deb name
L
lihui 已提交
133 134 135 136


if [ "$verMode" == "cluster" ]; then
  debname="TDengine-server-"${tdengine_ver}-${osType}-${cpuType}
L
lihui 已提交
137
elif [ "$verMode" == "edge" ]; then
L
lihui 已提交
138
  debname="TDengine-server"-${tdengine_ver}-${osType}-${cpuType}
L
lihui 已提交
139
else
L
lihui 已提交
140
  echo "unknow verMode, nor cluster or edge"
L
lihui 已提交
141 142 143 144
  exit 1
fi

if [ "$verType" == "beta" ]; then
145
  debname="TDengine-server-"${tdengine_ver}-${verType}-${osType}-${cpuType}".deb"
146
elif [ "$verType" == "stable" ]; then
L
lihui 已提交
147
  debname=${debname}".deb"
L
lihui 已提交
148
else
L
lihui 已提交
149 150
  echo "unknow verType, nor stabel or beta"
  exit 1
L
lihui 已提交
151
fi
H
hzcheng 已提交
152

153 154


H
hzcheng 已提交
155 156 157 158
# make deb package
dpkg -b ${pkg_dir} $debname
echo "make deb package success!"

159
cp ${pkg_dir}/*.deb ${output_dir}
H
hzcheng 已提交
160 161 162

# clean tmep dir
rm -rf ${pkg_dir}