xref: /spdk/test/common/config/pkgdep/apt-get (revision 7192849ed24874f3e9cc31e8a33a9b32c49b9506)
1package_manager=apt-get
2
3update() {
4	sudo "$package_manager" update
5}
6
7install() {
8	(( $# )) || return 0
9
10	sudo "$package_manager" install -y "$@"
11}
12
13upgrade() {
14	sudo "$package_manager" update
15	sudo "$package_manager" upgrade -y
16}
17
18
19pre_install() {
20	echo "Package perl-open is not available at Ubuntu repositories" >&2
21
22	update
23
24	if [[ $INSTALL_TSOCKS == true ]]; then
25		install tsocks
26	fi
27
28	# asan an ubsan have to be installed together to not mix up gcc versions
29	if install libasan5; then
30		install libubsan1
31	else
32		echo "Latest libasan5 is not available" >&2
33		echo "  installing libasan2 and corresponding libubsan0" >&2
34		install libasan2
35		install libubsan0
36	fi
37	if ! install rdma-core; then
38		echo "Package rdma-core is avaliable at Ubuntu 18 [universe] repositorium" >&2
39		install rdmacm-utils
40		install ibverbs-utils
41	else
42		LIBRXE_INSTALL=false
43	fi
44	if ! install libpmempool1; then
45		echo "Package libpmempool1 is available at Ubuntu 18 [universe] repositorium" >&2
46	fi
47	if ! install clang-tools; then
48		echo "Package clang-tools is available at Ubuntu 18 [universe] repositorium" >&2
49	fi
50	if ! install --no-install-suggests --no-install-recommends open-isns-utils; then
51		echo "Package open-isns-utils is available at Ubuntu 18 [universe] repositorium" >&2
52	fi
53
54	# Package name for Ubuntu 18 is targetcli-fb but for Ubuntu 16 it's targetcli
55	if ! install targetcli-fb; then
56		install targetcli
57	fi
58
59	# On Ubuntu 20.04 (focal) btrfs-tools are available under different name - btrfs-progs
60	if ! install btrfs-tools; then
61		install btrfs-progs
62	fi
63}
64
65packages=(
66	valgrind
67	jq
68	nvme-cli
69	ceph
70	gdb
71	fio
72	librbd-dev
73	linux-headers-generic
74	libgflags-dev
75	autoconf
76	automake
77	libtool
78	libmount-dev
79	open-iscsi
80	libglib2.0-dev
81	libpixman-1-dev
82	astyle
83	elfutils
84	libelf-dev
85	flex
86	bison
87	libswitch-perl
88	gdisk
89	socat
90	sshfs
91	sshpass
92	python3-pandas
93	bc
94	smartmontools
95	wget
96)
97
98if [[ $OSID != ubuntu ]]; then
99	echo "Located apt-get package manager, but it was tested for Ubuntu only"
100fi
101