Added rudimentary installation script
parent
4851413b6e
commit
5d6229a9c0
|
@ -0,0 +1,88 @@
|
|||
#!/bin/bash
|
||||
|
||||
#################################################
|
||||
## ___ _ _ ___ _ _ ##
|
||||
## | _ ) |___ __| |_| _ \ |__ _ _ _ ___| |_ ##
|
||||
## | _ \ / _ \/ _| / / _/ / _` | ' \/ -_) _| ##
|
||||
## |___/_\___/\__|_\_\_| |_\__,_|_||_\___|\__| ##
|
||||
## ##
|
||||
#################################################
|
||||
|
||||
# Copyright (c) MiJyn, Joel Leclerc <mijyn@mail.com>
|
||||
|
||||
#########################
|
||||
## Installation Script ##
|
||||
#########################
|
||||
|
||||
# Include utility script
|
||||
. `readlink -f $0 | sed 's:\(.*\)/.*:\1/utility.sh:g'`
|
||||
|
||||
# Globals
|
||||
VERSION=0.1
|
||||
TARGET=`readlink -f "."`
|
||||
NOTARGET=1
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "BlockPlanet Installation Script"
|
||||
echo "Usage: $0 [args]"
|
||||
echo
|
||||
displayhelp "-h" "Shows this help message" "-v" "Shows the version of this script" "-t TARGET" "Sets the target directory"
|
||||
echo
|
||||
echo "Copyright (c) MiJyn, Joel Leclerc <mijyn@mail.com>"
|
||||
exit $1
|
||||
}
|
||||
|
||||
version()
|
||||
{
|
||||
echo "BlockPlanet Installation Script version $VERSION"
|
||||
exit $1
|
||||
}
|
||||
|
||||
while getopts ":hvt:" opt
|
||||
do
|
||||
case $opt in
|
||||
h) usage;;
|
||||
v) version;;
|
||||
t) TARGET=`readlink -f $OPTARG`;NOTARGET=0;;
|
||||
\?) echo "Invalid option: $OPTARG"; usage 1;;
|
||||
:) echo "Option requires an argument: $OPTARG"; usage 1;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ $NOTARGET -eq 1 ]
|
||||
then
|
||||
echo "FATAL: No target specified"
|
||||
usage 1
|
||||
fi
|
||||
if [ -e $TARGET ]
|
||||
then
|
||||
echo "FATAL: Target already exists"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
bboxes "BlockPlanet Installation Script"
|
||||
echo
|
||||
inst build-essential Essential_Build_Utilities libirrlicht-dev Irrlicht_Development_Files cmake CMake libbz2-dev BZ2_Development_Files libpng12-dev PNG_Development_Files libjpeg8-dev JPEG_Development_Files libxxf86vm-dev X11_Free86_Development_Files libgl1-mesa-dev GL_Development_Files libsqlite3-dev SQLite_Development_Files libogg-dev OGG_Development_Files libvorbis-dev Vorbis_Development_Files libopenal-dev OpenAL_Development_Files libcurl3 cURL_Library libcurl4-gnutls-dev cURL_Development_Files unzip Unzipper
|
||||
echo
|
||||
|
||||
echo "Downloading BlockPlanet Source"
|
||||
rm -f /tmp/blockplanet.zip
|
||||
wget https://github.com/MiJyn/BlockPlanet/zipball/master -O /tmp/blockplanet.zip
|
||||
mkdir -p $TARGET &> /dev/null
|
||||
cd $TARGET
|
||||
unzip /tmp/blockplanet.zip &> /dev/null
|
||||
cd *
|
||||
echo
|
||||
echo "Compiling BlockPlanet"
|
||||
mkdir build
|
||||
cd build
|
||||
cmake .. && make
|
||||
echo
|
||||
echo "Installing BlockPlanet"
|
||||
sudo make install
|
||||
|
||||
|
||||
#EOF
|
||||
|
||||
|
|
@ -0,0 +1,248 @@
|
|||
#!/bin/bash
|
||||
|
||||
#################################################
|
||||
## ___ _ _ ___ _ _ ##
|
||||
## | _ ) |___ __| |_| _ \ |__ _ _ _ ___| |_ ##
|
||||
## | _ \ / _ \/ _| / / _/ / _` | ' \/ -_) _| ##
|
||||
## |___/_\___/\__|_\_\_| |_\__,_|_||_\___|\__| ##
|
||||
## ##
|
||||
#################################################
|
||||
|
||||
# Copyright (c) MiJyn, Joel Leclerc <mijyn@mail.com>
|
||||
|
||||
#####################
|
||||
## Utility Library ##
|
||||
#####################
|
||||
|
||||
# Variables
|
||||
|
||||
# Color variables
|
||||
Start='\e['
|
||||
End='m'
|
||||
Sep=';'
|
||||
Normal='0'
|
||||
Bold='1'
|
||||
Underline='4'
|
||||
Black='30'
|
||||
Red='31'
|
||||
Green='32'
|
||||
Yellow='33'
|
||||
Blue='34'
|
||||
Purple='35'
|
||||
Cyan='36'
|
||||
White='37'
|
||||
# Use the bak function to find out the background color value of any color
|
||||
Background='10'
|
||||
|
||||
# Root
|
||||
# 0 = not root, 1 = root
|
||||
ROOT=0
|
||||
if [ `id -u` -eq 0 ]
|
||||
then
|
||||
ROOT=1
|
||||
fi
|
||||
|
||||
# General Utilities
|
||||
|
||||
# Finds the background color of any color
|
||||
# # Usage: #
|
||||
# bak color
|
||||
# # Arguments: #
|
||||
# color = Color to find the background of
|
||||
# # Example: #
|
||||
# BAKCOLOR=`bak $Green`
|
||||
bak()
|
||||
{
|
||||
echo $(($1+$Background))
|
||||
}
|
||||
|
||||
# Prints text in style
|
||||
# # Usage: #
|
||||
# prints text type color [bakcolor]
|
||||
# # Arguments: #
|
||||
# text = Text to print
|
||||
# type = Type of text (normal, bold, underline)
|
||||
# color = Color
|
||||
# bakcolor = Background Color (you need to use the bak function to find this) [optional]
|
||||
# # Example: #
|
||||
# prints "Hello World" $Bold $Green `bak $Black`
|
||||
prints()
|
||||
{
|
||||
if [ $# -lt 4 ]
|
||||
then
|
||||
printf $Start$2$Sep$3$End"$1"$Start$End
|
||||
else
|
||||
printf $Start$2$Sep$3$Sep$4$End"$1"$Start$End
|
||||
fi
|
||||
}
|
||||
|
||||
# Prints an error message
|
||||
# # Usage: #
|
||||
# printe text
|
||||
# # Arguments: #
|
||||
# text = Text to print
|
||||
# # Example: #
|
||||
# printe "Error displaying Hello World"
|
||||
printe()
|
||||
{
|
||||
prints "$@" $Normal $Red &>2
|
||||
}
|
||||
|
||||
# Prints a message using grammar
|
||||
# # Usage: #
|
||||
# printg arg1 arg2 arg3
|
||||
# # Arguments: #
|
||||
# arg = random argument to format
|
||||
# # Example: #
|
||||
# printg Hello World
|
||||
printg()
|
||||
{
|
||||
NUM=0
|
||||
for i in "$@"
|
||||
do
|
||||
NUM=$(($NUM+1))
|
||||
done
|
||||
NUMCLONE=$NUM
|
||||
for x in "$@"
|
||||
do
|
||||
i=`echo $x | sed 's:_: :g'`
|
||||
if [ $NUM -eq 1 ]
|
||||
then
|
||||
echo -n $i
|
||||
NUM=$(($NUM-1))
|
||||
elif [ $NUM -eq 2 ]
|
||||
then
|
||||
echo -n $i
|
||||
if [ $NUMCLONE -eq 2 ]
|
||||
then
|
||||
echo -n " and "
|
||||
else
|
||||
echo -n ", and "
|
||||
fi
|
||||
NUM=$(($NUM-1))
|
||||
else
|
||||
echo -n $i", "
|
||||
NUM=$(($NUM-1))
|
||||
fi
|
||||
done
|
||||
echo
|
||||
}
|
||||
|
||||
# Boxes in BASH
|
||||
# # Usage: #
|
||||
# bboxes text
|
||||
# # Arguments: #
|
||||
# text = text to format
|
||||
# # Example: #
|
||||
# bboxes "Hello World"
|
||||
bboxes()
|
||||
{
|
||||
PADDING=6
|
||||
CHAR="#"
|
||||
i=0
|
||||
TEXT="$*"
|
||||
END=$((${#TEXT}+$PADDING))
|
||||
while [ $i -lt $END ]
|
||||
do
|
||||
echo -n $CHAR
|
||||
i=$(($i+1))
|
||||
done
|
||||
echo
|
||||
echo "## $TEXT ##"
|
||||
i=0
|
||||
while [ $i -lt $END ]
|
||||
do
|
||||
echo -n $CHAR
|
||||
i=$(($i+1))
|
||||
done
|
||||
echo
|
||||
}
|
||||
|
||||
# Displays a help message
|
||||
# # Usage: #
|
||||
# displayhelp arg desc ...
|
||||
# # Arguments: #
|
||||
# arg = Argument
|
||||
# desc = Description
|
||||
# # Example: #
|
||||
# displayhelp "-h" "Displays This Help Message"
|
||||
displayhelp()
|
||||
{
|
||||
VAL=0
|
||||
LONGEST=0
|
||||
for i in "$@"
|
||||
do
|
||||
if [ $VAL -eq 0 ]
|
||||
then
|
||||
THIS=${#i}
|
||||
if [ $THIS -gt $LONGEST ]
|
||||
then
|
||||
LONGEST=$THIS
|
||||
fi
|
||||
VAL=1
|
||||
else
|
||||
VAL=0
|
||||
fi
|
||||
done
|
||||
space()
|
||||
{
|
||||
i=0
|
||||
while [ $i -le $1 ]
|
||||
do
|
||||
echo -n " "
|
||||
i=$(($i+1))
|
||||
done
|
||||
}
|
||||
for i in "$@"
|
||||
do
|
||||
if [ $VAL -eq 0 ]
|
||||
then
|
||||
echo -en "$i`space $(($LONGEST-${#i}+2))`"
|
||||
VAL=1
|
||||
else
|
||||
echo "$i"
|
||||
VAL=0
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# Installation Utilities
|
||||
|
||||
|
||||
# Installs packages
|
||||
# # Usage: #
|
||||
# inst package packagename package2 packagename2 ...
|
||||
# # Arguments: #
|
||||
# package = Package to install
|
||||
# packagename = Name shown to the user
|
||||
# # Example: #
|
||||
# inst g++ GNU_C++_Compiler gcc GNU_C_Compiler
|
||||
inst()
|
||||
{
|
||||
PAKLIST=""
|
||||
PAKNAMELIST=""
|
||||
VAL=0
|
||||
for i in "$@"
|
||||
do
|
||||
if [ $VAL -eq 0 ]
|
||||
then
|
||||
PAKLIST="$PAKLIST $i"
|
||||
VAL=1
|
||||
else
|
||||
PAKNAMELIST="$PAKNAMELIST $i"
|
||||
VAL=0
|
||||
fi
|
||||
done
|
||||
echo -n "Installing "
|
||||
printg $PAKNAMELIST
|
||||
echo
|
||||
if [ $ROOT -eq 1 ]
|
||||
then
|
||||
apt-get install $PAKLIST
|
||||
else
|
||||
sudo apt-get install $PAKLIST
|
||||
fi
|
||||
echo
|
||||
echo "Done"
|
||||
}
|
||||
|
Loading…
Reference in New Issue