Index: experimental/webtry/setup/webtry_setup.sh |
diff --git a/experimental/webtry/setup/webtry_setup.sh b/experimental/webtry/setup/webtry_setup.sh |
index 3a8e063231436778f24e058277a71166ea3fae82..818135276cb2cf127abac94c2442ed3945dfd067 100755 |
--- a/experimental/webtry/setup/webtry_setup.sh |
+++ b/experimental/webtry/setup/webtry_setup.sh |
@@ -3,32 +3,48 @@ |
# Script to setup a GCE instance to run the webtry server. |
# For full instructions see the README file. |
sudo apt-get install schroot debootstrap monit squid3 |
-sudo apt-get install g++ libfreetype6 libfreetype6-dev libpng12-0 libpng12-dev libglu1-mesa-dev mesa-common-dev freeglut3-dev libgif-dev libfontconfig libfontconfig-dev |
+ |
+# although aufs is being replaced by overlayfs, it's not clear |
+# to me if overlayfs is completely supported by schroot yet. |
+sudo apt-get install aufs-tools |
echo "Adding the webtry user account" |
sudo adduser webtry |
-sudo cp continue_install /home/webtry/continue_install |
-sudo chmod 766 /home/webtry/continue_install |
-sudo chown webtry:webtry /home/webtry/continue_install |
-sudo su webtry -c /home/webtry/continue_install |
+sudo mkdir /home/webtry/cache |
+sudo mkdir /home/webtry/cache/src |
+sudo mkdir /home/webtry/inout |
+sudo chmod 777 /home/webtry/inout |
+sudo chmod 777 /home/webtry/cache |
+sudo chmod 777 /home/webtry/cache/src |
+ |
+sudo cp ../sys/webtry_schroot /etc/schroot/chroot.d/webtry |
-sudo mkdir -p /srv/chroot/webtry |
-sudo cp /home/webtry/skia/experimental/webtry/sys/webtry_schroot /etc/schroot/chroot.d/webtry |
+CHROOT_JAIL=/srv/chroot/webtry_gyp |
+# Build the chroot environment |
+if [ ! -d ${CHROOT_JAIL} ]; then |
+ sudo mkdir -p ${CHROOT_JAIL} |
-sudo mkdir /srv/chroot/webtry/etc |
-sudo mkdir /srv/chroot/webtry/bin |
-sudo cp /bin/sh /srv/chroot/webtry/bin/sh |
+ sudo debootstrap --variant=minbase wheezy ${CHROOT_JAIL} |
+ sudo cp setup_jail.sh ${CHROOT_JAIL}/bin |
+ sudo chmod 755 ${CHROOT_JAIL}/bin/setup_jail.sh |
+ sudo chroot ${CHROOT_JAIL} /bin/setup_jail.sh |
+ sudo echo "none /dev/shm tmpfs rw,nosuid,nodev,noexec 0 0" >> ${CHROOT_JAIL}/etc/fstab |
+fi |
-# Copy all the dependent libraries into the schroot. |
-sudo cp --parents `ldd /home/webtry/skia/out/Debug/webtry | cut -d " " -f 3` /srv/chroot/webtry |
-sudo cp --parents `ldd /bin/sh | cut -d " " -f 3` /srv/chroot/webtry |
+# the continue_install script will fetch the latest versions of |
+# skia and depot_tools. We split up the installation process into |
+# two pieces like this so that the continue_install script can |
+# be run independently of this one to fetch and build the latest skia. |
-sudo cp /home/webtry/skia/experimental/webtry/sys/webtry_init /etc/init.d/webtry |
-sudo cp /home/webtry/skia/experimental/webtry/sys/webtry_monit /etc/monit/conf.d/webtry |
-sudo cp /home/webtry/skia/experimental/webtry/sys/webtry_squid /etc/squid3/squid.conf |
+./continue_install.sh |
+ |
+sudo cp ../sys/webtry_init /etc/init.d/webtry |
+sudo cp ../sys/webtry_monit /etc/monit/conf.d/webtry |
+sudo cp ../sys/webtry_squid /etc/squid3/squid.conf |
sudo chmod 744 /etc/init.d/webtry |
# Confirm that monit is happy. |
+ |
sudo monit -t |
sudo monit reload |