tdengine.spec 7.9 KB
Newer Older
H
hzcheng 已提交
1
%define homepath         /usr/local/taos
2
%define userlocalpath    /usr/local
H
hzcheng 已提交
3
%define cfg_install_dir  /etc/taos
H
huili 已提交
4
%define __strip /bin/true
H
hzcheng 已提交
5

6
Name:		tdengine
H
hzcheng 已提交
7 8 9 10 11 12
Version:	%{_version}
Release:	3%{?dist}
Summary:	tdengine from taosdata
Group:	  Application/Database
License:	AGPL
URL:		  www.taosdata.com
13
AutoReqProv: no
H
hzcheng 已提交
14 15

#BuildRoot:  %_topdir/BUILDROOT
16
BuildRoot:   %{_tmppath}/%{name}-%{version}-%{release}-root
H
hzcheng 已提交
17 18 19

#Prefix: /usr/local/taos

20 21
#BuildRequires:
#Requires:
H
hzcheng 已提交
22 23 24 25

%description
Big Data Platform Designed and Optimized for IoT

26
#"prep" Nothing needs to be done
H
hzcheng 已提交
27 28
#%prep
#%setup -q
29
#%setup -T
H
hzcheng 已提交
30

31
#"build" Nothing needs to be done
H
hzcheng 已提交
32 33 34 35 36 37 38 39 40 41 42 43
#%build
#%configure
#make %{?_smp_mflags}

%install
#make install DESTDIR=%{buildroot}
rm -rf %{buildroot}

echo topdir: %{_topdir}
echo version: %{_version}
echo buildroot: %{buildroot}

L
lihui 已提交
44
libfile="libtaos.so.%{_version}"
H
huili 已提交
45

H
hzcheng 已提交
46 47 48
# create install path, and cp file
mkdir -p %{buildroot}%{homepath}/bin
mkdir -p %{buildroot}%{homepath}/cfg
49
#mkdir -p %{buildroot}%{homepath}/connector
H
hzcheng 已提交
50 51 52
mkdir -p %{buildroot}%{homepath}/driver
mkdir -p %{buildroot}%{homepath}/examples
mkdir -p %{buildroot}%{homepath}/include
53
#mkdir -p %{buildroot}%{homepath}/init.d
H
hzcheng 已提交
54 55 56
mkdir -p %{buildroot}%{homepath}/script

cp %{_compiledir}/../packaging/cfg/taos.cfg         %{buildroot}%{homepath}/cfg
57 58
if [ -f %{_compiledir}/test/cfg/taosadapter.toml ]; then
    cp %{_compiledir}/test/cfg/taosadapter.toml         %{buildroot}%{homepath}/cfg
59
fi
60 61
if [ -f %{_compiledir}/test/cfg/taosadapter.service ]; then
    cp %{_compiledir}/test/cfg/taosadapter.service %{buildroot}%{homepath}/cfg
62
fi
63
#cp %{_compiledir}/../packaging/rpm/taosd            %{buildroot}%{homepath}/init.d
H
hzcheng 已提交
64 65
cp %{_compiledir}/../packaging/tools/post.sh        %{buildroot}%{homepath}/script
cp %{_compiledir}/../packaging/tools/preun.sh       %{buildroot}%{homepath}/script
66 67 68
cp %{_compiledir}/../packaging/tools/startPre.sh    %{buildroot}%{homepath}/bin
cp %{_compiledir}/../packaging/tools/set_core.sh    %{buildroot}%{homepath}/bin
cp %{_compiledir}/../packaging/tools/taosd-dump-cfg.gdb    %{buildroot}%{homepath}/bin
H
hzcheng 已提交
69
cp %{_compiledir}/build/bin/taos                    %{buildroot}%{homepath}/bin
70
cp %{_compiledir}/build/bin/taosd                   %{buildroot}%{homepath}/bin
71
cp %{_compiledir}/build/bin/taosBenchmark           %{buildroot}%{homepath}/bin
72

73 74
if [ -f %{_compiledir}/build/bin/taosadapter ]; then
    cp %{_compiledir}/build/bin/taosadapter                    %{buildroot}%{homepath}/bin ||:
75
fi
H
huili 已提交
76
cp %{_compiledir}/build/lib/${libfile}              %{buildroot}%{homepath}/driver
H
hzcheng 已提交
77
cp %{_compiledir}/../src/inc/taos.h                 %{buildroot}%{homepath}/include
78
cp %{_compiledir}/../src/inc/taosdef.h              %{buildroot}%{homepath}/include
L
lihui 已提交
79
cp %{_compiledir}/../src/inc/taoserror.h            %{buildroot}%{homepath}/include
80 81 82 83
#cp -r %{_compiledir}/../src/connector/python        %{buildroot}%{homepath}/connector
#cp -r %{_compiledir}/../src/connector/go            %{buildroot}%{homepath}/connector
#cp -r %{_compiledir}/../src/connector/nodejs        %{buildroot}%{homepath}/connector
#cp %{_compiledir}/build/lib/taos-jdbcdriver*.*      %{buildroot}%{homepath}/connector ||:
84
cp -r %{_compiledir}/../examples/*                  %{buildroot}%{homepath}/examples
H
hzcheng 已提交
85

86 87 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 120 121 122 123 124 125 126 127 128
if [ -f %{_compiledir}/build/bin/jemalloc-config ]; then
    mkdir -p %{buildroot}%{userlocalpath}/bin
    mkdir -p %{buildroot}%{userlocalpath}/lib
    mkdir -p %{buildroot}%{userlocalpath}/lib/pkgconfig
    mkdir -p %{buildroot}%{userlocalpath}/include
    mkdir -p %{buildroot}%{userlocalpath}/include/jemalloc
    mkdir -p %{buildroot}%{userlocalpath}/share
    mkdir -p %{buildroot}%{userlocalpath}/share/doc
    mkdir -p %{buildroot}%{userlocalpath}/share/doc/jemalloc
    mkdir -p %{buildroot}%{userlocalpath}/share/man
    mkdir -p %{buildroot}%{userlocalpath}/share/man/man3

    cp %{_compiledir}/build/bin/jemalloc-config %{buildroot}%{userlocalpath}/bin/
    if [ -f %{_compiledir}/build/bin/jemalloc.sh ]; then
        cp %{_compiledir}/build/bin/jemalloc.sh %{buildroot}%{userlocalpath}/bin/
    fi
    if [ -f %{_compiledir}/build/bin/jeprof ]; then
        cp %{_compiledir}/build/bin/jeprof %{buildroot}%{userlocalpath}/bin/
    fi
    if [ -f %{_compiledir}/build/include/jemalloc/jemalloc.h ]; then
        cp %{_compiledir}/build/include/jemalloc/jemalloc.h %{buildroot}%{userlocalpath}/include/jemalloc/
    fi
    if [ -f %{_compiledir}/build/lib/libjemalloc.so.2 ]; then
        cp %{_compiledir}/build/lib/libjemalloc.so.2 %{buildroot}%{userlocalpath}/lib/
        ln -sf libjemalloc.so.2 %{buildroot}%{userlocalpath}/lib/libjemalloc.so
    fi
    if [ -f %{_compiledir}/build/lib/libjemalloc.a ]; then
        cp %{_compiledir}/build/lib/libjemalloc.a %{buildroot}%{userlocalpath}/lib/
    fi
    if [ -f %{_compiledir}/build/lib/libjemalloc_pic.a ]; then
        cp %{_compiledir}/build/lib/libjemalloc_pic.a %{buildroot}%{userlocalpath}/lib/
    fi
    if [ -f %{_compiledir}/build/lib/pkgconfig/jemalloc.pc ]; then
        cp %{_compiledir}/build/lib/pkgconfig/jemalloc.pc %{buildroot}%{userlocalpath}/lib/pkgconfig/
    fi
    if [ -f %{_compiledir}/build/share/doc/jemalloc/jemalloc.html ]; then
        cp %{_compiledir}/build/share/doc/jemalloc/jemalloc.html %{buildroot}%{userlocalpath}/share/doc/jemalloc/
    fi
    if [ -f %{_compiledir}/build/share/man/man3/jemalloc.3 ]; then
        cp %{_compiledir}/build/share/man/man3/jemalloc.3 %{buildroot}%{userlocalpath}/share/man/man3/
    fi
fi

H
hzcheng 已提交
129 130
#Scripts executed before installation
%pre
P
plum-lihui 已提交
131 132
csudo=""
if command -v sudo > /dev/null; then
133
    csudo="sudo "
P
plum-lihui 已提交
134 135
fi

H
hzcheng 已提交
136 137
# Stop the service if running
if pidof taosd &> /dev/null; then
H
[NONE]  
huili 已提交
138
    if pidof systemd &> /dev/null; then
139
        ${csudo}systemctl stop taosd || :
L
lihui 已提交
140
    elif $(which service  &> /dev/null); then
141
        ${csudo}service taosd stop || :
H
[NONE]  
huili 已提交
142 143
    else
        pid=$(ps -ef | grep "taosd" | grep -v "grep" | awk '{print $2}')
L
lihui 已提交
144
        if [ -n "$pid" ]; then
145
           ${csudo}kill -9 $pid   || :
L
lihui 已提交
146
        fi
H
hzcheng 已提交
147 148 149 150
    fi
    echo "Stop taosd service success!"
    sleep 1
fi
151
# if taos.cfg already exist, remove it
H
hzcheng 已提交
152
if [ -f %{cfg_install_dir}/taos.cfg ]; then
153
    ${csudo}rm -f %{cfg_install_dir}/cfg/taos.cfg   || :
154
fi
H
hzcheng 已提交
155

156 157
# if taosadapter.toml already exist, remove it
if [ -f %{cfg_install_dir}/taosadapter.toml ]; then
158
    ${csudo}rm -f %{cfg_install_dir}/cfg/taosadapter.toml || :
159 160
fi

H
[NONE]  
huili 已提交
161
# there can not libtaos.so*, otherwise ln -s  error
162
${csudo}rm -f %{homepath}/driver/libtaos*   || :
H
huili 已提交
163

H
hzcheng 已提交
164 165
#Scripts executed after installation
%post
P
plum-lihui 已提交
166 167
csudo=""
if command -v sudo > /dev/null; then
168
    csudo="sudo "
P
plum-lihui 已提交
169
fi
H
hzcheng 已提交
170
cd %{homepath}/script
171
${csudo}./post.sh
172

H
hzcheng 已提交
173 174
# Scripts executed before uninstall
%preun
P
plum-lihui 已提交
175 176
csudo=""
if command -v sudo > /dev/null; then
177
    csudo="sudo "
P
plum-lihui 已提交
178
fi
179
# only remove package to call preun.sh, not but update(2)
H
hzcheng 已提交
180
if [ $1 -eq 0 ];then
H
[NONE]  
huili 已提交
181
  #cd %{homepath}/script
182
  #${csudo}./preun.sh
183

H
[NONE]  
huili 已提交
184 185
  if [ -f %{homepath}/script/preun.sh ]; then
    cd %{homepath}/script
186
    ${csudo}./preun.sh
H
[NONE]  
huili 已提交
187 188 189 190
  else
    bin_link_dir="/usr/bin"
    lib_link_dir="/usr/lib"
    inc_link_dir="/usr/include"
191

H
[NONE]  
huili 已提交
192 193 194 195 196
    data_link_dir="/usr/local/taos/data"
    log_link_dir="/usr/local/taos/log"
    cfg_link_dir="/usr/local/taos/cfg"

    # Remove all links
197 198 199 200 201 202 203 204 205 206 207
    ${csudo}rm -f ${bin_link_dir}/taos       || :
    ${csudo}rm -f ${bin_link_dir}/taosd      || :
    ${csudo}rm -f ${bin_link_dir}/taosadapter       || :
    ${csudo}rm -f ${cfg_link_dir}/*          || :
    ${csudo}rm -f ${inc_link_dir}/taos.h     || :
    ${csudo}rm -f ${inc_link_dir}/taosdef.h     || :
    ${csudo}rm -f ${inc_link_dir}/taoserror.h     || :
    ${csudo}rm -f ${lib_link_dir}/libtaos.*  || :

    ${csudo}rm -f ${log_link_dir}            || :
    ${csudo}rm -f ${data_link_dir}           || :
208

H
[NONE]  
huili 已提交
209
    pid=$(ps -ef | grep "taosd" | grep -v "grep" | awk '{print $2}')
L
lihui 已提交
210
    if [ -n "$pid" ]; then
211
      ${csudo}kill -9 $pid   || :
212 213
    fi
  fi
H
hzcheng 已提交
214
fi
215

H
hzcheng 已提交
216 217
# Scripts executed after uninstall
%postun
218

H
hzcheng 已提交
219 220
# clean build dir
%clean
P
plum-lihui 已提交
221 222
csudo=""
if command -v sudo > /dev/null; then
223
    csudo="sudo "
P
plum-lihui 已提交
224
fi
225
${csudo}rm -rf %{buildroot}
H
hzcheng 已提交
226 227 228 229 230 231 232 233 234 235 236

#Specify the files to be packaged
%files
/*
#%doc

#Setting default permissions
%defattr  (-,root,root,0755)
#%{prefix}

#%changelog