Mini-Howto: Building LTP from Git
=================================

******************************************************************************
The following document briefly describes the single steps to build LTP from
the Git repository located at GitHub.
The instructions here were tested on a Ubuntu/precise Linux system (feel free
to adapt to your distribution).

Changelog:
 * Initial version: Sedat Dilek <sedat.dilek@gmail.com>
 * Embedded comments from Cyril Hrubis <chrubis@suse.cz>
******************************************************************************

# Export language settings

export LANG=C
export LC_ALL=C

# Set some useful variables (adapt if you dislike)

WORKING_DIR="$HOME/src/ltp"

PREFIX="/opt/ltp"

GIT_URL="https://github.com/linux-test-project/ltp.git"

MAKE_JOBS=$(getconf _NPROCESSORS_ONLN)

BUILD_LOG_FILE="build-log.txt"
INSTALL_LOG_FILE="install-log.txt"

# PREREQS on Ubuntu (package-list is incomplete and may vary for other distros)

sudo apt-get install build-essential
sudo apt-get install autoconf automake autotools-dev m4
sudo apt-get install git
sudo apt-get install linux-headers-$(uname -r)
sudo apt-get install libaio-dev libattr1-dev libcap-dev

# Working directory

mkdir -p $WORKING_DIR
cd $WORKING_DIR

# Get the LTP source

git clone $GIT_URL ltp-git

# Configure LTP

cd ltp-git/
make autotools
./configure --prefix=$PREFIX

# Start building LTP

make -j$MAKE_JOBS 2>&1 | tee ../$BUILD_LOG_FILE

# Install LTP (requires superuser privileges)

sudo make install 2>&1 | tee ../$INSTALL_LOG_FILE
