Skip to content

Commit b3f6b99

Browse files
committed
feat(kvrocks): add kvrocks
1 parent f55a524 commit b3f6b99

1 file changed

Lines changed: 41 additions & 0 deletions

File tree

stacks/kvrocks/build.sh

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
#!/bin/bash
2+
3+
# Load stack utils
4+
. /usr/bin/stack-utils
5+
6+
# Implement build function
7+
function build() {
8+
generate-stack-path
9+
architecture=$(dpkg --print-architecture)
10+
package="etcd-v${STACK_VERSION}-linux-${architecture}"
11+
12+
BIN_DIR="${DATA_DIR}"/bin
13+
mkdir -p "${BIN_DIR}"
14+
# build kvrocks
15+
curl -sSL https://github.com/apache/kvrocks/archive/refs/tags/v${STACK_VERSION}.tar.gz | tar xvz
16+
cd kvrocks-${STACK_VERSION}
17+
apt install -y git build-essential cmake libtool python3 libssl-dev
18+
./x.py build; cd ..
19+
# build kvrocks controller
20+
install-stack go "${GO_VERSION}" && . init-stack
21+
KVROCKS_CONTROLLER_GIT_URL=https://github.com/apache/kvrocks-controller
22+
KVROCKS_CONTROLLER_VERSION=$(curl -Ls $KVROCKS_CONTROLLER_GIT_URL/tags|grep apache/kvrocks-controller/releases/tag/ | sed -E 's/.*\/apache\/kvrocks-controller\/releases\/tag\/v([0-9\.]{1,}(-rc.[0-9]{1,})?)".*/\1/g' | head -1)
23+
git clone --dept 1 -b v${KVROCKS_CONTROLLER_VERSION} https://github.com/apache/kvrocks-controller
24+
cd kvrocks-controller
25+
make; cd ..
26+
27+
# cp kvrocks
28+
cp kvrocks-${STACK_VERSION}/build/{kvrocks,kvrocks2redis} $BIN_DIR
29+
# cp kvrocks controller
30+
cp kvrocks-controller/_build/* $BIN_DIR
31+
32+
# clean
33+
rm -rf kvrocks-controller kvrocks-${STACK_VERSION}
34+
35+
chmod +x "${BIN_DIR}"/*
36+
# upx
37+
upx --lzma --best "${BIN_DIR}"/*
38+
}
39+
40+
# call build stack
41+
build-stack "${1}"

0 commit comments

Comments
 (0)