tdengine.spec 7.6 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 49 50 51 52 53 54 55 56 57 58 59
# create install path, and cp file
mkdir -p %{buildroot}%{homepath}/bin
mkdir -p %{buildroot}%{homepath}/cfg
mkdir -p %{buildroot}%{homepath}/connector
mkdir -p %{buildroot}%{homepath}/driver
mkdir -p %{buildroot}%{homepath}/examples
mkdir -p %{buildroot}%{homepath}/include
mkdir -p %{buildroot}%{homepath}/init.d
mkdir -p %{buildroot}%{homepath}/script

cp %{_compiledir}/../packaging/cfg/taos.cfg         %{buildroot}%{homepath}/cfg
cp %{_compiledir}/../packaging/rpm/taosd            %{buildroot}%{homepath}/init.d
cp %{_compiledir}/../packaging/tools/post.sh        %{buildroot}%{homepath}/script
cp %{_compiledir}/../packaging/tools/preun.sh       %{buildroot}%{homepath}/script
60 61 62
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 已提交
63
cp %{_compiledir}/build/bin/taos                    %{buildroot}%{homepath}/bin
64
cp %{_compiledir}/build/bin/taosd                   %{buildroot}%{homepath}/bin
S
slguan 已提交
65
cp %{_compiledir}/build/bin/taosdemo                %{buildroot}%{homepath}/bin
66
cp %{_compiledir}/build/bin/taosdump                %{buildroot}%{homepath}/bin
H
huili 已提交
67
cp %{_compiledir}/build/lib/${libfile}              %{buildroot}%{homepath}/driver
H
hzcheng 已提交
68
cp %{_compiledir}/../src/inc/taos.h                 %{buildroot}%{homepath}/include
L
lihui 已提交
69
cp %{_compiledir}/../src/inc/taoserror.h            %{buildroot}%{homepath}/include
Z
zyyang 已提交
70 71 72 73 74 75
if [ -d %{_compiledir}/../src/connector/grafanaplugin/dist ]; then
    cp -r %{_compiledir}/../src/connector/grafanaplugin/dist %{buildroot}%{homepath}/connector/grafanaplugin
else
    echo grafanaplugin bundled directory not found!
    exit 1
fi
H
hzcheng 已提交
76 77
cp -r %{_compiledir}/../src/connector/python        %{buildroot}%{homepath}/connector
cp -r %{_compiledir}/../src/connector/go            %{buildroot}%{homepath}/connector
H
Hui Li 已提交
78
cp -r %{_compiledir}/../src/connector/nodejs        %{buildroot}%{homepath}/connector
79
cp %{_compiledir}/build/lib/taos-jdbcdriver*.*      %{buildroot}%{homepath}/connector ||:
H
hzcheng 已提交
80 81
cp -r %{_compiledir}/../tests/examples/*            %{buildroot}%{homepath}/examples

82 83 84 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

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 已提交
126 127
#Scripts executed before installation
%pre
P
plum-lihui 已提交
128 129 130 131 132
csudo=""
if command -v sudo > /dev/null; then
    csudo="sudo"
fi

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

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

H
hzcheng 已提交
156 157
#Scripts executed after installation
%post
P
plum-lihui 已提交
158 159 160 161
csudo=""
if command -v sudo > /dev/null; then
    csudo="sudo"
fi
H
hzcheng 已提交
162
cd %{homepath}/script
P
plum-lihui 已提交
163
${csudo} ./post.sh
164

H
hzcheng 已提交
165 166
# Scripts executed before uninstall
%preun
P
plum-lihui 已提交
167 168 169 170
csudo=""
if command -v sudo > /dev/null; then
    csudo="sudo"
fi
171
# only remove package to call preun.sh, not but update(2)
H
hzcheng 已提交
172
if [ $1 -eq 0 ];then
H
[NONE]  
huili 已提交
173 174
  #cd %{homepath}/script
  #${csudo} ./preun.sh
175

H
[NONE]  
huili 已提交
176 177 178 179 180 181 182
  if [ -f %{homepath}/script/preun.sh ]; then
    cd %{homepath}/script
    ${csudo} ./preun.sh
  else
    bin_link_dir="/usr/bin"
    lib_link_dir="/usr/lib"
    inc_link_dir="/usr/include"
183

H
[NONE]  
huili 已提交
184 185 186 187 188 189 190 191
    data_link_dir="/usr/local/taos/data"
    log_link_dir="/usr/local/taos/log"
    cfg_link_dir="/usr/local/taos/cfg"

    # Remove all links
    ${csudo} rm -f ${bin_link_dir}/taos       || :
    ${csudo} rm -f ${bin_link_dir}/taosd      || :
    ${csudo} rm -f ${bin_link_dir}/taosdemo   || :
H
Hui Li 已提交
192
    ${csudo} rm -f ${bin_link_dir}/taosdump   || :
H
[NONE]  
huili 已提交
193 194
    ${csudo} rm -f ${cfg_link_dir}/*          || :
    ${csudo} rm -f ${inc_link_dir}/taos.h     || :
L
lihui 已提交
195
    ${csudo} rm -f ${inc_link_dir}/taoserror.h     || :
H
[NONE]  
huili 已提交
196
    ${csudo} rm -f ${lib_link_dir}/libtaos.*  || :
197

H
[NONE]  
huili 已提交
198 199
    ${csudo} rm -f ${log_link_dir}            || :
    ${csudo} rm -f ${data_link_dir}           || :
200

H
[NONE]  
huili 已提交
201
    pid=$(ps -ef | grep "taosd" | grep -v "grep" | awk '{print $2}')
L
lihui 已提交
202 203
    if [ -n "$pid" ]; then
      ${csudo} kill -9 $pid   || :
204 205
    fi
  fi
H
hzcheng 已提交
206
fi
207

H
hzcheng 已提交
208 209
# Scripts executed after uninstall
%postun
210

H
hzcheng 已提交
211 212
# clean build dir
%clean
P
plum-lihui 已提交
213 214 215 216 217
csudo=""
if command -v sudo > /dev/null; then
    csudo="sudo"
fi
${csudo} rm -rf %{buildroot}
H
hzcheng 已提交
218 219 220 221 222 223 224 225 226 227 228

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

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

#%changelog