-
Notifications
You must be signed in to change notification settings - Fork 50
/
setup-dev-test.sh
executable file
·77 lines (65 loc) · 2.75 KB
/
setup-dev-test.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
#!/bin/sh
# set up environment for both development and testing
# This should be the fist script to run in the test directory
# Note that it is ASSUMED that before all these test directory scripts are used
# 0) Go language package is installed
# 1) gotgt project directory is created
# and project is cloned with git per project README.md
# build and build verification can be done with gotgt-dameon.sh
# 2) libiscsi directory is created
# git clone and build can be done with this shell script
#
[ ! -n "$LIBISCSIPATH" ] && echo "Need LIBISCSIPATH definition" && exit 1
[ ! -n "$GOTGTPATH" ] && echo "Need GOTGTPATH definition" && exit 2
[ ! -d $LIBISCSIPATH ] && echo "Need $LIBISCSIPATH directory" && exit 3
[ ! -d $GOTGTPATH ] && echo "Need $GOTGTPATH directory" && exit 4
#exit 0
## This system update could induce errors on updating ubuntu content
sudo apt-get update
#Make sure that these packages are installed
#NOTE: The scripts are tested on Ubuntu, please feel free to generalize to
# other platforms.
sudo apt-get install automake
sudo apt-get install autogen autoconf libtool
##### Get Go dependency tools/fixes package
# https://github.com/tools/godep
# Needed once only and again as required.
cd $GOTGTPATH
go get github.com/tools/godep
#
# libc unit testing package, this is required by libiscsi package
sudo apt-get install -y libcunit1 libcunit1-doc libcunit1-dev
#
##### Get libiscsi package and build for testing purposes
cd $LIBISCSIPATH
git clone https://github.com/gostor/libiscsi .
export ISCSITEST=yes
./autogen.sh
# TO-DO/TO-RESOLVE
# autoreconf: configure.ac: not using Gettext
./configure 2>&1 >/dev/null
make 2>&1 >/dev/null
# TO-DO/TO-RESOLVE
# ar: `u' modifier ignored since `D' is the default (see `U')
# check expected binaries for successful build
[ ! -x ./test-tool/iscsi-test-cu ] && echo "./test-tool/iscsi-test-cu not built" && exit 5
[ ! -x ./utils/iscsi-ls ] && echo "./utils/iscsi-ls not built" && exit 6
[ ! -x ./utils/iscsi-inq ] && echo "./utils/iscsi-inq not built" && exit 7
[ ! -x ./utils/iscsi-readcapacity16 ] && echo "./utils/iscsi-readcapacity16 not built" && exit 8
##### Get open-iscsi project package bits
# open-iscsi project
# https://github.com/open-iscsi/open-iscsi
#
# Install open-iscsi package and watch for kernel build
uname -a
echo
sudo apt-get install -y open-iscsi
# Need to do this only once and re-do it as required.
# For example, /boot initrd.img-4.10.19 kernel version
## Remember the new kernel version for future boot if open-iscsi testing is to
## to performed.
# TO-DO/TO-RESOLVE
# cp: cannot stat '/etc/iscsi/initiatorname.iscsi': No such file or directory
## sanity check expected files for successful installation
[ ! -x /sbin/iscsiadm ] && echo "/sbin/iscsiadm not built" && exit 9
exit 0