
#!/bin/bash -ex
#set hostname
HOSTNAME=Eden
echo "$HOSTNAME" > /etc/hostname
sed -i "s|127.0.1.1 \(.*\)|127.0.1.1 $HOSTNAME|" /etc/hosts

#install
apt-get update
DEBIAN_FRONTEND=noninteractive apt-get -y \
    -o DPkg::Options::=--force-confdef \
    -o DPkg::Options::=--force-confold \
    install sudo python-lxml python-reportlab python-xlwt python-shapely bzr libgeos-3.1.0
#install python-tweepy
echo -e "deb http://ppa.launchpad.net/chris-lea/python-tweepy/ubuntu lucid main \n
deb-src http://ppa.launchpad.net/chris-lea/python-tweepy/ubuntu lucid main" >> /etc/apt/sources.list.d/sources.list 
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C7917B12
apt-get update
apt-get install python-tweepy -y

#addusers and groups
useradd web2py

#Unnecessary for Headless
#useradd -G web2py,root -m dev

#bzr web2py and eden
bzr checkout --lightweight -r 2717 lp:~mdipierro/web2py/devel /home/web2py/
bzr checkout --lightweight -r 1585 lp:sahana-eden /home/web2py/applications/eden


#Set up web2py service
cp /home/web2py/scripts/web2py.ubuntu.sh /etc/init.d/web2py

#Stream Edit Replacements For web2py service
sed -i 's|/usr/lib/$NAME|/home/$NAME|' /etc/init.d/web2py
sed -i 's|web2py.py --password=<recycle> --pid_filename=$PIDFILE|web2py.py -i 0 -a admin --port=80 --pid_filename=$PIDFILE|' /etc/init.d/web2py
sed -i 's|DAEMON_USER=web2py|DAEMON_USER=root|' /etc/init.d/web2py

#make service executable
chmod +x /etc/init.d/web2py

#Copy Deployment-Templates
cp /home/web2py/applications/eden/deployment-templates/models/000_config.py /home/web2py/applications/eden/models/000_config.py
cp /home/web2py/applications/eden/deployment-templates/cron/crontab /home/web2py/applications/eden/cron/crontab

#Change ownership for web2py
chown -R web2py:web2py /home/web2py

#Stream Edit /home/web2py/applications/eden/models/000_config.py
sed -i 's|EDITING_CONFIG_FILE = False|EDITING_CONFIG_FILE = True|' /home/web2py/applications/eden/models/000_config.py
sed -i 's|127.0.0.1:8000|127.0.0.1|' /home/web2py/applications/eden/models/000_config.py

#Setup BZR Update Script for web2py; Handled in overlay
#echo "#! /bin/bash -ex \n cd /home/web2py \n if [ -z "$1" ]; then \n bzr update \n else bzr update $1 \N fi" > /home/dev/update_web2py
#chown dev:sudo /home/dev/update_web2py
#chmod +x /home/dev/update_web2py
#setup BZR Update Script for Eden: Handled in overlay
#echo "#! /bin/bash -ex \n cd /home/web2py/applications/eden \n if [ -z "$1" ]; then \n bzr update \n else bzr update $1 \N fi" > /home/dev/update_eden

#Update rc.d
update-rc.d web2py defaults

#Prepare for import
touch /home/web2py/NEWINSTALL
#python /home/web2py/web2py.py -S eden -M

####Eden First Run
cd /home/web2py
#Migrate/Import
python ./web2py.py -S eden -M -R applications/eden/static/scripts/tools/noop.py
#Prepop OFF
sed -i 's|deployment_settings.base.prepopulate = True|deployment_settings.base.prepopulate = False|' applications/eden/models/000_config.py
#Compile
python ./web2py.py -a admin -S eden -R applications/eden/static/scripts/tools/compile.py
