Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
97d095af
T
TDengine
项目概览
taosdata
/
TDengine
大约 1 年 前同步成功
通知
1185
Star
22015
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
97d095af
编写于
8月 28, 2020
作者:
S
Shengliang Guan
提交者:
GitHub
8月 28, 2020
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #3279 from taosdata/master
Master
上级
50e73ebb
b6c952d7
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
147 addition
and
191 deletion
+147
-191
cmake/version.inc
cmake/version.inc
+47
-24
packaging/release.sh
packaging/release.sh
+98
-165
src/util/src/version.c.in
src/util/src/version.c.in
+2
-2
未找到文件。
cmake/version.inc
浏览文件 @
97d095af
CMAKE_MINIMUM_REQUIRED
(
VERSION
2.8
)
PROJECT
(
TDengine
)
SET
(
TD_VER_1
"2"
)
SET
(
TD_VER_2
"0"
)
SET
(
TD_VER_3
"2"
)
SET
(
TD_VER_4
"3"
)
SET
(
TD_VER_GIT
"d711657139620f6c50f362597020705b8ad26bd2"
)
SET
(
TD_VER_GIT_INTERNAL
"1d74ae24c541ffbb280e8630883c0236cd45f8c7"
)
SET
(
TD_VER_VERTYPE
"stable"
)
SET
(
TD_VER_CPUTYPE
"x64"
)
SET
(
TD_VER_OSTYPE
"Linux"
)
IF
(
DEFINED
VERNUMBER
)
SET
(
TD_VER_NUMBER
$
{
VERNUMBER
})
ELSE
()
SET
(
TD_VER_NUMBER
"2.0.2.0"
)
ENDIF
()
SET
(
TD_VER_COMPATIBLE
"2.0.0.0"
)
STRING
(
TIMESTAMP
TD_VER_DATE
"%Y-%m-%d %H:%M:%S"
)
IF
(
DEFINED
VERCOMPATIBLE
)
SET
(
TD_VER_COMPATIBLE
$
{
VERCOMPATIBLE
})
ELSE
()
SET
(
TD_VER_COMPATIBLE
"2.0.0.0"
)
ENDIF
()
IF
(
TD_LINUX_64
)
SET
(
TD_VER_CPUTYPE
"x64"
)
IF
(
DEFINED
GITINFO
)
SET
(
TD_VER_GIT
$
{
GITINFO
})
ELSE
()
SET
(
TD_VER_GIT
"community"
)
ENDIF
()
IF
(
TD_LINUX_32
)
SET
(
TD_VER_CPUTYPE
"x86"
)
IF
(
DEFINED
GITINFOI
)
SET
(
TD_VER_GIT_INTERNAL
$
{
GITINFOI
})
ELSE
()
SET
(
TD_VER_GIT_INTERNAL
"internal"
)
ENDIF
()
IF
(
TD_ARM_64
)
SET
(
TD_VER_CPUTYPE
"aarch64"
)
IF
(
DEFINED
VERDATE
)
SET
(
TD_VER_DATE
$
{
VERDATE
})
ELSE
()
STRING
(
TIMESTAMP
TD_VER_DATE
"%Y-%m-%d %H:%M:%S"
)
ENDIF
()
IF
(
TD_ARM_32
)
SET
(
TD_VER_CPUTYPE
"aarch32"
)
IF
(
DEFINED
VERTYPE
)
SET
(
TD_VER_VERTYPE
$
{
VERTYPE
})
ELSE
()
SET
(
TD_VER_VERTYPE
"stable"
)
ENDIF
()
IF
(
TD_WINDOWS_64
)
IF
(
DEFINED
CPUTYPE
)
SET
(
TD_VER_CPUTYPE
$
{
CPUTYPE
})
ELSE
()
SET
(
TD_VER_CPUTYPE
"x64"
)
ENDIF
()
IF
(
TD_WINDOWS_32
)
SET
(
TD_VER_CPUTYPE
"x86"
)
IF
(
DEFINED
OSTYPE
)
SET
(
TD_VER_OSTYPE
$
{
OSTYPE
})
ELSE
()
SET
(
TD_VER_OSTYPE
"Linux"
)
ENDIF
()
MESSAGE
(
STATUS
"============= compile version parameter information start ============= "
)
MESSAGE
(
STATUS
"ver number:"
$
{
TD_VER_NUMBER
})
MESSAGE
(
STATUS
"compatible ver number:"
$
{
TD_VER_COMPATIBLE
})
MESSAGE
(
STATUS
"communit commit id:"
$
{
TD_VER_GIT
})
MESSAGE
(
STATUS
"internal commit id:"
$
{
TD_VER_GIT_INTERNAL
})
MESSAGE
(
STATUS
"build date:"
$
{
TD_VER_DATE
})
MESSAGE
(
STATUS
"ver type:"
$
{
TD_VER_VERTYPE
})
MESSAGE
(
STATUS
"ver cpu:"
$
{
TD_VER_CPUTYPE
})
MESSAGE
(
STATUS
"os type:"
$
{
TD_VER_OSTYPE
})
MESSAGE
(
STATUS
"============= compile version parameter information end ============= "
)
STRING
(
REPLACE
"."
"_"
TD_LIB_VER_NUMBER
$
{
TD_VER_NUMBER
})
CONFIGURE_FILE
(
"${TD_COMMUNITY_DIR}/src/util/src/version.c.in"
"${TD_COMMUNITY_DIR}/src/util/src/version.c"
)
packaging/release.sh
浏览文件 @
97d095af
...
...
@@ -12,6 +12,7 @@ set -e
# -l [full | lite]
# -s [static | dynamic]
# -n [2.0.0.3]
# -m [2.0.0.0]
# set parameters by default value
verMode
=
edge
# [cluster, edge]
...
...
@@ -21,8 +22,9 @@ osType=Linux # [Linux | Kylin | Alpine | Raspberrypi | Darwin | Windows | Ni
pagMode
=
full
# [full | lite]
soMode
=
dynamic
# [static | dynamic]
verNumber
=
""
verNumberComp
=
"2.0.0.0"
while
getopts
"hv:V:c:o:l:s:n:"
arg
while
getopts
"hv:V:c:o:l:s:n:
m:
"
arg
do
case
$arg
in
v
)
...
...
@@ -49,6 +51,10 @@ do
#echo "verNumber=$OPTARG"
verNumber
=
$(
echo
$OPTARG
)
;;
m
)
#echo "verNumberComp=$OPTARG"
verNumberComp
=
$(
echo
$OPTARG
)
;;
o
)
#echo "osType=$OPTARG"
osType
=
$(
echo
$OPTARG
)
...
...
@@ -61,6 +67,7 @@ do
echo
" -l [full | lite] "
echo
" -s [static | dynamic] "
echo
" -n [version number] "
echo
" -m [compatible version number] "
exit
0
;;
?
)
#unknow option
...
...
@@ -70,216 +77,142 @@ do
esac
done
echo
"verMode=
${
verMode
}
verType=
${
verType
}
cpuType=
${
cpuType
}
osType=
${
osType
}
pagMode=
${
pagMode
}
soMode=
${
soMode
}
verNumber=
${
verNumber
}
"
echo
"verMode=
${
verMode
}
verType=
${
verType
}
cpuType=
${
cpuType
}
osType=
${
osType
}
pagMode=
${
pagMode
}
soMode=
${
soMode
}
verNumber=
${
verNumber
}
verNumberComp=
${
verNumberComp
}
"
curr_dir
=
$(
pwd
)
if
[
"
$osType
"
!=
"Darwin"
]
;
then
script_dir
=
"
$(
dirname
$(
readlink
-f
$0
))
"
top_dir
=
"
$(
readlink
-f
${
script_dir
}
/..
)
"
script_dir
=
"
$(
dirname
$(
readlink
-f
$0
))
"
top_dir
=
"
$(
readlink
-f
${
script_dir
}
/..
)
"
else
script_dir
=
`
dirname
$0
`
cd
${
script_dir
}
script_dir
=
"
$(
pwd
)
"
top_dir
=
${
script_dir
}
/..
script_dir
=
`
dirname
$0
`
cd
${
script_dir
}
script_dir
=
"
$(
pwd
)
"
top_dir
=
${
script_dir
}
/..
fi
versioninfo
=
"
${
top_dir
}
/src/util/src/version.c"
csudo
=
""
#if command -v sudo > /dev/null; then
#
csudo="sudo"
# csudo="sudo"
#fi
function
is_valid_version
()
{
[
-z
$1
]
&&
return
1
||
:
[
-z
$1
]
&&
return
1
||
:
rx
=
'^([0-9]+\.){3}(\*|[0-9]+)$'
if
[[
$1
=
~
$rx
]]
;
then
return
0
fi
return
1
rx
=
'^([0-9]+\.){3}(\*|[0-9]+)$'
if
[[
$1
=
~
$rx
]]
;
then
return
0
fi
return
1
}
function
vercomp
()
{
if
[[
$1
==
$2
]]
;
then
echo
0
exit
0
fi
local
IFS
=
.
local
i
ver1
=(
$1
)
ver2
=(
$2
)
# fill empty fields in ver1 with zeros
for
((
i
=
${#
ver1
[@]
}
;
i<
${#
ver2
[@]
}
;
i++
))
;
do
ver1[i]
=
0
done
for
((
i
=
0
;
i<
${#
ver1
[@]
}
;
i++
))
;
do
if
[[
-z
${
ver2
[i]
}
]]
;
then
# fill empty fields in ver2 with zeros
ver2[i]
=
0
fi
if
((
10#
${
ver1
[i]
}
>
10#
${
ver2
[i]
}
))
;
then
echo
1
exit
0
fi
if
((
10#
${
ver1
[i]
}
< 10#
${
ver2
[i]
}
))
;
then
echo
2
exit
0
fi
done
if
[[
$1
==
$2
]]
;
then
echo
0
}
# 1. Read version information
version
=
$(
cat
${
versioninfo
}
|
grep
" version"
|
cut
-d
'"'
-f2
)
compatible_version
=
$(
cat
${
versioninfo
}
|
grep
" compatible_version"
|
cut
-d
'"'
-f2
)
if
[
-z
${
verNumber
}
]
;
then
while
true
;
do
read
-p
"Do you want to release a new version? [y/N]: "
is_version_change
if
[[
(
"
${
is_version_change
}
"
==
"y"
)
||
(
"
${
is_version_change
}
"
==
"Y"
)
]]
;
then
read
-p
"Please enter the new version: "
tversion
while
true
;
do
if
(!
is_valid_version
$tversion
)
||
[
"
$(
vercomp
$tversion
$version
)
"
=
'2'
]
;
then
read
-p
"Please enter a correct version: "
tversion
continue
fi
version
=
${
tversion
}
break
done
echo
read
-p
"Enter the oldest compatible version: "
tversion
while
true
;
do
if
[
-z
$tversion
]
;
then
break
fi
if
(!
is_valid_version
$tversion
)
||
[
"
$(
vercomp
$version
$tversion
)
"
=
'2'
]
;
then
read
-p
"enter correct compatible version: "
tversion
else
compatible_version
=
$tversion
break
fi
done
exit
0
fi
local
IFS
=
.
local
i
ver1
=(
$1
)
ver2
=(
$2
)
# fill empty fields in ver1 with zeros
for
((
i
=
${#
ver1
[@]
}
;
i<
${#
ver2
[@]
}
;
i++
))
;
do
ver1[i]
=
0
done
break
elif
[[
(
"
${
is_version_change
}
"
==
"n"
)
||
(
"
${
is_version_change
}
"
==
"N"
)
]]
;
then
echo
"Use old version:
${
version
}
compatible version:
${
compatible_version
}
."
break
else
continue
for
((
i
=
0
;
i<
${#
ver1
[@]
}
;
i++
))
;
do
if
[[
-z
${
ver2
[i]
}
]]
;
then
# fill empty fields in ver2 with zeros
ver2[i]
=
0
fi
if
((
10#
${
ver1
[i]
}
>
10#
${
ver2
[i]
}
))
;
then
echo
1
exit
0
fi
if
((
10#
${
ver1
[i]
}
< 10#
${
ver2
[i]
}
))
;
then
echo
2
exit
0
fi
done
else
echo
"old version:
$version
, new version:
$verNumber
"
#if ( ! is_valid_version $verNumber ) || [[ "$(vercomp $version $verNumber)" == '2' ]]; then
# echo "please enter correct version"
# exit 0
#else
version
=
${
verNumber
}
#fi
fi
echo
0
}
# 1. check version information
if
((
!
is_valid_version
$verNumber
)
||
(
!
is_valid_version
$verNumberComp
)
||
[[
"
$(
vercomp
$verNumber
$verNumberComp
)
"
==
'2'
]])
;
then
echo
"please enter correct version"
exit
0
fi
echo
"=======================new version number:
${
ver
sion
}
======================================"
echo
"=======================new version number:
${
ver
Number
}
, compatible version:
${
verNumberComp
}
======================================"
# output the version info to the buildinfo file.
build_time
=
$(
date
+
"%F %R"
)
echo
"char version[12] =
\"
${
version
}
\"
;"
>
${
versioninfo
}
echo
"char compatible_version[12] =
\"
${
compatible_version
}
\"
;"
>>
${
versioninfo
}
echo
"char gitinfo[48] =
\"
$(
git rev-parse
--verify
HEAD
)
\"
;"
>>
${
versioninfo
}
if
[
"
$verMode
"
!=
"cluster"
]
;
then
echo
"char gitinfoOfInternal[48] =
\"\"
;"
>>
${
versioninfo
}
else
enterprise_dir
=
"
${
top_dir
}
/../enterprise"
cd
${
enterprise_dir
}
echo
"char gitinfoOfInternal[48] =
\"
$(
git rev-parse
--verify
HEAD
)
\"
;"
>>
${
versioninfo
}
cd
${
curr_dir
}
fi
echo
"char buildinfo[64] =
\"
Built by
${
USER
}
at
${
build_time
}
\"
;"
>>
${
versioninfo
}
echo
""
>>
${
versioninfo
}
tmp_version
=
$(
echo
$version
|
tr
-s
"."
"_"
)
if
[
"
$verMode
"
==
"cluster"
]
;
then
libtaos_info
=
${
tmp_version
}
_
${
osType
}
_
${
cpuType
}
else
libtaos_info
=
edge_
${
tmp_version
}
_
${
osType
}
_
${
cpuType
}
fi
if
[
"
$verType
"
==
"beta"
]
;
then
libtaos_info
=
${
libtaos_info
}
_
${
verType
}
fi
echo
"void libtaos_
${
libtaos_info
}
() {};"
>>
${
versioninfo
}
# get commint id from git
gitinfo
=
$(
git rev-parse
--verify
HEAD
)
enterprise_dir
=
"
${
top_dir
}
/../enterprise"
cd
${
enterprise_dir
}
gitinfoOfInternal
=
$(
git rev-parse
--verify
HEAD
)
cd
${
curr_dir
}
# 2. cmake executable file
compile_dir
=
"
${
top_dir
}
/debug"
if
[
-d
${
compile_dir
}
]
;
then
${
csudo
}
rm
-rf
${
compile_dir
}
${
csudo
}
rm
-rf
${
compile_dir
}
fi
if
[
"
$osType
"
!=
"Darwin"
]
;
then
${
csudo
}
mkdir
-p
${
compile_dir
}
${
csudo
}
mkdir
-p
${
compile_dir
}
else
mkdir
-p
${
compile_dir
}
mkdir
-p
${
compile_dir
}
fi
cd
${
compile_dir
}
# check support cpu type
if
[[
"
$cpuType
"
==
"x64"
]]
||
[[
"
$cpuType
"
==
"aarch64"
]]
||
[[
"
$cpuType
"
==
"aarch32"
]]
||
[[
"
$cpuType
"
==
"mips64"
]]
;
then
if
[
"
$verMode
"
!=
"cluster"
]
;
then
cmake ../
-DCPUTYPE
=
${
cpuType
}
-DPAGMODE
=
${
pagMode
}
-DOSTYPE
=
${
osType
}
-DSOMODE
=
${
so
Mode
}
else
cmake ../../
-DCPUTYPE
=
${
cpuType
}
-DOSTYPE
=
${
osType
}
-DSOMODE
=
${
soMode
}
fi
if
[
"
$verMode
"
!=
"cluster"
]
;
then
cmake ../
-DCPUTYPE
=
${
cpuType
}
-DOSTYPE
=
${
osType
}
-DSOMODE
=
${
soMode
}
-DVERTYPE
=
${
verType
}
-DVERDATE
=
"
${
build_time
}
"
-DGITINFO
=
${
gitinfo
}
-DGITINFOI
=
${
gitinfoOfInternal
}
-DVERNUMBER
=
${
verNumber
}
-DVERCOMPATIBLE
=
${
verNumberComp
}
-DPAGMODE
=
${
pag
Mode
}
else
cmake ../../
-DCPUTYPE
=
${
cpuType
}
-DOSTYPE
=
${
osType
}
-DSOMODE
=
${
soMode
}
-DVERTYPE
=
${
verType
}
-DVERDATE
=
"
${
build_time
}
"
-DGITINFO
=
${
gitinfo
}
-DGITINFOI
=
${
gitinfoOfInternal
}
-DVERNUMBER
=
${
verNumber
}
-DVERCOMPATIBLE
=
${
verNumberComp
}
fi
else
echo
"input cpuType=
${
cpuType
}
error!!!"
exit
1
echo
"input cpuType=
${
cpuType
}
error!!!"
exit
1
fi
make
cd
${
curr_dir
}
# 3. judge the operating system type, then Call the corresponding script for packaging
#osinfo=$(awk -F= '/^NAME/{print $2}' /etc/os-release)
#osinfo=$(cat /etc/os-release | grep "NAME" | cut -d '"' -f2)
#echo "osinfo: ${osinfo}"
# 3. Call the corresponding script for packaging
if
[
"
$osType
"
!=
"Darwin"
]
;
then
if
[[
"
$verMode
"
!=
"cluster"
]]
&&
[[
"
$cpuType
"
==
"x64"
]]
;
then
echo
"====do deb package for the ubuntu system===="
output_dir
=
"
${
top_dir
}
/debs"
if
[
-d
${
output_dir
}
]
;
then
${
csudo
}
rm
-rf
${
output_dir
}
fi
${
csudo
}
mkdir
-p
${
output_dir
}
cd
${
script_dir
}
/deb
${
csudo
}
./makedeb.sh
${
compile_dir
}
${
output_dir
}
${
version
}
${
cpuType
}
${
osType
}
${
verMode
}
${
verType
}
echo
"====do rpm package for the centos system===="
output_dir
=
"
${
top_dir
}
/rpms"
if
[
-d
${
output_dir
}
]
;
then
${
csudo
}
rm
-rf
${
output_dir
}
fi
${
csudo
}
mkdir
-p
${
output_dir
}
cd
${
script_dir
}
/rpm
${
csudo
}
./makerpm.sh
${
compile_dir
}
${
output_dir
}
${
version
}
${
cpuType
}
${
osType
}
${
verMode
}
${
verType
}
if
[[
"
$verMode
"
!=
"cluster"
]]
&&
[[
"
$cpuType
"
==
"x64"
]]
;
then
echo
"====do deb package for the ubuntu system===="
output_dir
=
"
${
top_dir
}
/debs"
if
[
-d
${
output_dir
}
]
;
then
${
csudo
}
rm
-rf
${
output_dir
}
fi
${
csudo
}
mkdir
-p
${
output_dir
}
cd
${
script_dir
}
/deb
${
csudo
}
./makedeb.sh
${
compile_dir
}
${
output_dir
}
${
verNumber
}
${
cpuType
}
${
osType
}
${
verMode
}
${
verType
}
echo
"====do rpm package for the centos system===="
output_dir
=
"
${
top_dir
}
/rpms"
if
[
-d
${
output_dir
}
]
;
then
${
csudo
}
rm
-rf
${
output_dir
}
fi
${
csudo
}
mkdir
-p
${
output_dir
}
cd
${
script_dir
}
/rpm
${
csudo
}
./makerpm.sh
${
compile_dir
}
${
output_dir
}
${
verNumber
}
${
cpuType
}
${
osType
}
${
verMode
}
${
verType
}
fi
echo
"====do tar.gz package for all systems===="
cd
${
script_dir
}
/tools
${
csudo
}
./makepkg.sh
${
compile_dir
}
${
ver
sion
}
"
${
build_time
}
"
${
cpuType
}
${
osType
}
${
verMode
}
${
verType
}
${
pagMode
}
${
csudo
}
./makeclient.sh
${
compile_dir
}
${
ver
sion
}
"
${
build_time
}
"
${
cpuType
}
${
osType
}
${
verMode
}
${
verType
}
${
pagMode
}
${
csudo
}
./makearbi.sh
${
compile_dir
}
${
ver
sion
}
"
${
build_time
}
"
${
cpuType
}
${
osType
}
${
verMode
}
${
verType
}
${
pagMode
}
echo
"====do tar.gz package for all systems===="
cd
${
script_dir
}
/tools
${
csudo
}
./makepkg.sh
${
compile_dir
}
${
ver
Number
}
"
${
build_time
}
"
${
cpuType
}
${
osType
}
${
verMode
}
${
verType
}
${
pagMode
}
${
csudo
}
./makeclient.sh
${
compile_dir
}
${
ver
Number
}
"
${
build_time
}
"
${
cpuType
}
${
osType
}
${
verMode
}
${
verType
}
${
pagMode
}
${
csudo
}
./makearbi.sh
${
compile_dir
}
${
ver
Number
}
"
${
build_time
}
"
${
cpuType
}
${
osType
}
${
verMode
}
${
verType
}
${
pagMode
}
else
cd
${
script_dir
}
/tools
./makeclient.sh
${
compile_dir
}
${
version
}
"
${
build_time
}
"
${
cpuType
}
${
osType
}
${
verMode
}
${
verType
}
cd
${
script_dir
}
/tools
./makeclient.sh
${
compile_dir
}
${
verNumber
}
"
${
build_time
}
"
${
cpuType
}
${
osType
}
${
verMode
}
${
verType
}
fi
# 4. Clean up temporary compile directories
#${csudo} rm -rf ${compile_dir}
src/util/src/version.c.in
浏览文件 @
97d095af
char version[12] = "${TD_VER_
1}.${TD_VER_2}.${TD_VER_3}.${TD_VER_4
}";
char version[12] = "${TD_VER_
NUMBER
}";
char compatible_version[12] = "${TD_VER_COMPATIBLE}";
char gitinfo[48] = "${TD_VER_GIT}";
char gitinfoOfInternal[48] = "${TD_VER_GIT_INTERNAL}";
char buildinfo[64] = "Built at ${TD_VER_DATE}";
void libtaos_${TD_
VER_1}_${TD_VER_2}_${TD_VER_3}_${TD_VER_4
}_${TD_VER_OSTYPE}_${TD_VER_CPUTYPE}_${TD_VER_VERTYPE}() {};
void libtaos_${TD_
LIB_VER_NUMBER
}_${TD_VER_OSTYPE}_${TD_VER_CPUTYPE}_${TD_VER_VERTYPE}() {};
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录