78 lines
2.8 KiB
Bash
Executable File
78 lines
2.8 KiB
Bash
Executable File
#!/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
|