forked from redpanda-data/redpanda
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinstall-dependencies.sh
executable file
·132 lines (128 loc) · 2.07 KB
/
install-dependencies.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
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
126
127
128
129
130
131
132
#!/bin/bash
# Copyright 2020 Redpanda Data, Inc.
#
# Use of this software is governed by the Business Source License
# included in the file licenses/BSL.md
#
# As of the Change Date specified in that file, in accordance with
# the Business Source License, use of this software will be governed
# by the Apache License, Version 2.0
set -e
echo "installing redpanda toolchain"
if [[ $EUID -ne 0 ]]; then
echo "This script should be run as root."
exit 1
fi
if [ -f "/etc/os-release" ]; then
. /etc/os-release
elif [ -f "/etc/arch-release" ]; then
export ID=arch
else
echo "/etc/os-release missing."
exit 1
fi
deb_deps=(
cmake
ninja-build
clang
lld
git
libboost-all-dev
libc-ares-dev
libcrypto++-dev
liblz4-dev
gnutls-dev
libsctp-dev
libyaml-cpp-dev
ragel
valgrind
libsnappy-dev
libabsl-dev
libxxhash-dev
libzstd-dev
libprotobuf-dev
libprotoc-dev
protobuf-compiler
python3-jsonschema
python3-jinja2
xfslibs-dev
libre2-dev
systemtap-sdt-dev
libkrb5-dev
libgssapi-krb5-2
golang
python3
)
fedora_deps=(
cmake
ninja-build
clang
compiler-rt
llvm
lld
git
boost-devel
c-ares-devel
cryptopp-devel
lz4-devel
gnutls-devel
hwloc-devel
lksctp-tools-devel
numactl-devel
yaml-cpp-devel
ragel-devel
valgrind-devel
xfsprogs-devel
systemtap-sdt-devel
snappy-devel
abseil-cpp-devel
zlib-devel
xxhash-devel
libzstd-devel
protobuf-devel
libxml2-devel
re2-devel
krb5-devel
python3-jsonschema
python3-jinja2
golang
python3
procps
)
arch_deps=(
ccache
clang
curl
git
go
zstd
llvm
lld
pkg-config
procps
python-jinja
python-virtualenv
rapidjson
snappy
which
xxhash
xz
zip
unzip
)
case "$ID" in
ubuntu | debian | pop)
apt-get update
DEBIAN_FRONTEND=noninteractive apt-get install -y "${deb_deps[@]}"
;;
fedora)
dnf install -y "${fedora_deps[@]}"
;;
arch | manjaro)
pacman -Sy --needed --noconfirm "${arch_deps[@]}"
;;
*)
echo "Please help us make the script better by sending patches with your OS $ID"
exit 1
;;
esac