Skip to content

Instantly share code, notes, and snippets.

@grimmdev
Last active December 4, 2015 04:28
Show Gist options
  • Save grimmdev/32725754be0e78bae304 to your computer and use it in GitHub Desktop.
Save grimmdev/32725754be0e78bae304 to your computer and use it in GitHub Desktop.
My replacement for SWGEMU bin for many tweaks
#!/bin/bash
#
# first - Required programs and packages install for swgemu development environment
#
# Author: Scurby <[email protected]>
# Edited: Grimmdev <[email protected]>
#
# Created: Dec 3 2015
#
# Changed -
# Replaced mysql-server-core-5.5 & mysql-server-5.5 with mariadb-server & mariadb-client.
#
# Notes: I should probably replace Mysql-workbench...
#
logger -t first "** FIRST **"
##############################################################################
# Common functions and setup
##############################################################################
yorn() {
echo -n -e "$@ Y\b"
read yorn
case $yorn in
[Nn]* ) return 1;;
esac
return 0
}
logmsg() {
echo "${tc_smso}**${tc_rmso} $*"
logger -t first "$*"
}
logstep() {
let "step=$step + 1"
echo ${tc_smso}$(head -c $(tput cols) < /dev/zero | tr '\0' '*')${tc_rmso}
echo "${tc_smso}**${tc_rmso} STEP $step >> $*"
logger -t first "STEP $step >> $*"
}
step=0
tc_smso=$(tput smso)
tc_rmso=$(tput rmso)
#################
# Required packages
#################
logstep "Required packages."
logmsg " The following packages or programs are required. Be prepared to enter password for sudo."
logmsg
cd
if yorn "Would you like to install the required packages now??"; then
for i in autoconf automake autotools-dev g++ gcc gccxml gdb git libc6-dev libdb-dev libtool make screen libreadline-gplv2-dev libncurses5-dev libneon27 libaprutil1-dev openjdk-7-jre openjdk-7-jre-headless libgtest-dev libssl-dev liblua5.1-0-dev
do
logmsg " Installing ${i} ... "
sudo apt-get -q -y install ${i} &>> ~/Documents/pkglog.txt
done
else
logmsg " You need to do it before you can build the server. "
exit 0
fi
#################
# Lua install
# INFO -wget http://www.lua.org/ftp/lua-5.1.4.tar.gz ## saved to home/setup/
#################
logstep "Lua 5.1.4 Install"
dir=~/setup/
lua_base=~/setup/lua-5.1.4.tar.gz
lua_ins=/usr/local/bin/lua
if [ -f $lua_ins ]; then
logmsg "Great, looks like you have Lua installed.!"
else
while ! yorn "Would you like to install Lua 5.1.4 now??"
do
echo "***You need to do it before you can build the server.*** )"
sleep 1
done
if [ ! -f $lua_base ]; then
logmsg "Downloading required lua package to /home/setup/. Please wait.."
cd $dir
wget http://www.lua.org/ftp/lua-5.1.4.tar.gz
wget http://files.luaforge.net/releases/lnum/lnum/lnum-2009/lua514-lnum-20090417.patch.tgz
fi
logmsg
logmsg "Restoring basic lua install from $lua_base"
logmsg
for dir in ~/setup/
do
cd $dir
tar xzf ~/setup/lua-5.1.4.tar.gz &>> ~/Documents/pkglog.txt
tar xzf ~/setup/lua514-lnum-20090417.patch.tgz
cd lua-5.1.4
#FIXME patch < ../lnum-2009/lua514-lnum-20090417.patch &>> ~/Documents/pkglog.txt
sudo make linux install &>> ~/Documents/pkglog.txt
sudo make test
cd
done
logmsg " "
logmsg "You have successfully installed Lua if you see 'Hello world, from Lua 5.1!' in the terminal."
logmsg " "
fi
####################
# Berkely DB Install
# wget http://download.oracle.com/berkeley-db/db-5.0.32.NC.tar.gz ## saved to home/setup/
####################
# TODO -Remove un-needed files
# rm -R db-5.0.32.NC NEEDED OR NOT?
####################
logstep "Berkely DB Install"
dir=~/setup/
bdb_base=~/setup/db-5.0.32.NC.tar.gz
bdb_pkg=/usr/local/BerkeleyDB.5.0/include/db.h
if [ -f $bdb_pkg ]; then
logmsg "Ok looks like you have installed Berkely DB-5.0!"
else
while ! yorn " Would you like to install or restore Berkely DB from http://download.oracle.com/berkeley-db/db-5.0.32.NC.tar.gz now?? "
do
echo "You need to do it before you can build the server. (cntl+c to exit)"
sleep 1
done
if [ ! -f $bdb_base ]; then
logmsg "Missing $bdb_base did you remove it?"
logmsg "Downloading required Bdb package to /home/setup/. Please wait.."
cd setup
wget http://download.oracle.com/berkeley-db/db-5.0.32.NC.tar.gz
fi
logmsg
logmsg "Restoring Berkely DB install from $bdb_base"
logmsg
for dir in ~/setup/
do
cd $dir
tar xzf ~/setup/db-5.0.32.NC.tar.gz
cd db-5.0.32.NC
cd build_unix
sudo ../dist/configure --enable-cxx &>> ~/Documents/pkglog.txt
sudo make &>> ~/Documents/pkglog.txt
sudo make install &>> ~/Documents/pkglog.txt
cd ..
cd ..
echo "/usr/local/BerkeleyDB.5.0/lib" | sudo tee -a /etc/ld.so.conf
sudo ldconfig
done
logmsg
logmsg "Berkely DB installed. "
logmsg
fi
##############################################################################
# MariaDB Install
##############################################################################
logstep "MariaDB Install"
mysql_pkg=/usr/share/mysql/mysql_system_tables.sql
if [ -f $mysql_pkg ]; then
logmsg "Looks like MariaDB is installed!"
else
while ! yorn "Would you like to install MariaDB now??"
do
echo "You need to do it before you can build and run the server. (cntl+c to exit)"
sleep 1
done
logmsg " $mysql_pkg not found. "
logmsg
logmsg " Installing MariaDB instead of MySQL (More scalability)... "
logmsg
cd
sudo apt-get install mariadb-server libmariadb-client-lgpl-dev mariadb-client
sudo apt-get install libmysqlclient-dev
# sudo apt-get install mysql-workbench &>> ~/Documents/pkglog.txt # not required. very useful.
fi
######################
# Remove un-needed files
######################
logstep "Finalizing install and removing un-needed files."
#sudo apt-get upgrade | tee -a install.txt
#sudo apt-get autoremove | tee -a install.txt
sudo service mysql start
cd $dir
rm db-5.0.32.NC.tar.gz
rm lua-5.1.4.tar.gz
#rm -R lua-5.1.4
#rm -R db-5.0.32.NC
logmsg
logmsg "Run the 'first' script at any time to check installation of required programs."
logmsg
logmsg
logmsg "You should be ready to run the 'start' script."
logmsg
if yorn "Would you like to run 'start' now?'?"; then
~/bin/start
fi
exit 0
#!/bin/bash
#
# first - Recommended programs and packages install for swgemu development environment
#
# Author: Scurby <[email protected]>
# Edited: Grimmdev <[email protected]>
#
# Created: Dec 3 2015
logger -t options "** OPTIONS **"
##############################################################################
# Common functions and setup
##############################################################################
yorn() {
echo -n -e "$@ Y\b"
read yorn
case $yorn in
[Nn]* ) return 1;;
esac
return 0
}
logmsg() {
echo "${tc_smso}**${tc_rmso} $*"
logger -t options "$*"
}
logstep() {
let "step=$step + 1"
echo ${tc_smso}$(head -c $(tput cols) < /dev/zero | tr '\0' '*')${tc_rmso}
echo "${tc_smso}**${tc_rmso} STEP $step >> $*"
logger -t options "STEP $step >> $*"
}
step=0
tc_smso=$(tput smso)
tc_rmso=$(tput rmso)
#################
# Recommended packages
# gedit ROXTerm git-cola etc...
#################
logstep "Recommended packages."
logmsg " The following packages or programs are recommended. "
logmsg
logmsg " gedit xclip ROXTerm git-cola etc. "
logmsg
logmsg " Add or remove as needed in '/home/bin/options' "
logmsg
if yorn "Would you like to install the recommended packages via sudo apt-get commands now??"; then
for i in xclip ROXTerm git-cola git-review gedit gedit-plugins
do
logmsg " Installing ${i} ... "
sudo apt-get -q -y install ${i} &>> ~/Documents/pkglog.txt
done
fi
#################
#Dropbox headless
#################
logstep "Dropbox"
if yorn "Would you like to install Dropbox??"; then
cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -
nohup gnome-terminal --title 'Dropbox' -e ~/.dropbox-dist/dropboxd & disown
fi
######################
# Remove un-needed files
######################
logstep "Finalizing install and removing un-needed files."
sudo apt-get -q -y update &>> ~/Documents/pkglog.txt
# sudo apt-get -q -y upgrade &>> ~/Documents/pkglog.txt
# sudo apt-get -q -y autoremove &>> ~/Documents/pkglog.txt
logmsg
logmsg "Thanks for the fish... "
logmsg
if yorn "Would you like to run 'first' now?"; then
~/bin/first
fi
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment