diff --git a/.gitattributes b/.gitattributes
index 8e948c534a1fd79cf59d786adc75fec0a4d091d7..1c3309e32ed75f8340c8f90434c6ef0098b93d56 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1 +1,10 @@
 * text=auto !eol
+/build-all.sh -text
+/clean-all.sh -text
+/get-peasoup-packages.sh -text
+/irdb_vars -text
+/jdh8d_set_env_vars -text
+/postgres_setup.sh -text
+/set_env_vars -text
+/start_dev.sh -text
+/svn.externals.uva_dev -text
diff --git a/build-all.sh b/build-all.sh
new file mode 100755
index 0000000000000000000000000000000000000000..ae9a92020207bae31f2a1aa05946505ae8cc6a6d
--- /dev/null
+++ b/build-all.sh
@@ -0,0 +1,63 @@
+#!/bin/bash
+
+# check if DIR is the directory containing the build script.
+BUILD_LOC=`dirname $0`
+FULL_BUILD_LOC=`cd $BUILD_LOC; pwd`
+echo $PEASOUP_UMBRELLA_DIR
+if [ "$PEASOUP_UMBRELLA_DIR" != "$FULL_BUILD_LOC" ]; then
+    echo "PEASOUP_UMBRELLA_DIR differs from build-all.sh location ($FULL_BUILD_LOC).";
+    echo "Did you source set_env_vars from the root of the umbrella working copy?";
+    exit 1;
+fi
+
+# stratafier
+cd $PEASOUP_UMBRELLA_DIR/stratafier
+make
+
+# strata
+if [ ! "$STRATA_HOME" ]; then 
+    echo "STRATA_HOME not set.";
+    exit 1; 
+fi
+
+if [ `uname -m` = 'x86_64' ]; then
+	# build 32-bit strata
+	if [ ! -d $STRATA_HOME32 ] ; then 
+		cd $STRATA
+		make clean distclean
+		cd $PEASOUP_UMBRELLA_DIR
+		echo Creating strata 32-bit build directory
+		cp -R $STRATA $STRATA32
+	fi
+	cd $STRATA_HOME32
+	STRATA_HOME=$STRATA_HOME32 STRATA=$STRATA_HOME32 ./build -host=i386-linux
+
+	# build x86-64 strata
+	cd $STRATA_HOME
+	./configure;make
+
+else
+	cd $STRATA_HOME
+	./build
+fi
+
+# smp-static-analyzer
+if [ ! "$SMPSA_HOME" ]; then
+    echo "SMPSA_HOME not set."; 
+    exit 1; 
+fi
+cd $SMPSA_HOME
+./configure
+make
+
+# security-transforms
+if [ ! "$SECURITY_TRANSFORMS_HOME" ]; then 
+    echo "SECURITY_TRANSFORMS_HOME not set."; 
+    exit 1; 
+fi
+cd $SECURITY_TRANSFORMS_HOME
+./build.sh
+
+cd $PEASOUP_HOME
+make
+
diff --git a/clean-all.sh b/clean-all.sh
new file mode 100755
index 0000000000000000000000000000000000000000..24cfd210bc001b4c55da385812e864096dca40fa
--- /dev/null
+++ b/clean-all.sh
@@ -0,0 +1,44 @@
+#!/bin/bash
+
+# check if DIR is the directory containing the build script.
+BUILD_LOC=`dirname $0`
+FULL_BUILD_LOC=`cd $BUILD_LOC; pwd`
+echo $PEASOUP_UMBRELLA_DIR
+if [ "$PEASOUP_UMBRELLA_DIR" != "$FULL_BUILD_LOC" ]; then
+    echo "PEASOUP_UMBRELLA_DIR differs from build-all.sh location ($FULL_BUILD_LOC).";
+    echo "Did you source set_env_vars from the root of the umbrella working copy?";
+    exit 1;
+fi
+
+# stratafier
+cd $PEASOUP_UMBRELLA_DIR/stratafier
+make clean
+
+# strata
+if [ ! "$STRATA_HOME" ]; then 
+    echo "STRATA_HOME not set.";
+    exit 1; 
+fi
+cd $STRATA_HOME
+./configure
+make clean
+cd $PEASOUP_UMBRELLA_DIR/
+rm -Rf strata32
+
+# smp-static-analyzer
+if [ ! "$SMPSA_HOME" ]; then
+    echo "SMPSA_HOME not set."; 
+    exit 1; 
+fi
+cd $SMPSA_HOME
+./configure
+make clean
+
+# security-transforms
+if [ ! "$SECURITY_TRANSFORMS_HOME" ]; then 
+    echo "SECURITY_TRANSFORMS_HOME not set."; 
+    exit 1; 
+fi
+cd $SECURITY_TRANSFORMS_HOME
+make clean
+
diff --git a/get-peasoup-packages.sh b/get-peasoup-packages.sh
new file mode 100755
index 0000000000000000000000000000000000000000..f42182ab6b4844d6180697b2b5452b4efebed727
--- /dev/null
+++ b/get-peasoup-packages.sh
@@ -0,0 +1,96 @@
+#!/bin/bash
+
+# Needed to build PEASOUP components
+BASE_PKGS="
+  bison
+  flex
+  g++
+  nasm
+  openjdk-6-jre
+  sharutils
+  subversion
+  xdotool
+  gcc-multilib
+  g++-multilib
+  realpath
+  libelf-dev
+  libxqilla-dev
+  libxerces-c-dev
+  screen
+  libxml2-dev
+  libstdc++6:i386
+  coreutils"
+# TODO: don't require i386 libraries if not running MEDS (eg using IDA server)
+
+# For clients of IRDB
+CLIENT_IRDB_PKGS="
+  postgresql-client
+  pgadmin3
+  libpqxx3-dev
+  libmysqlclient-dev
+  cmake
+  automake1.9"
+
+# For IRDB server
+SERVER_IRDB_PKGS="postgresql"
+
+# For building test subjects
+TEST_PKGS="
+  asciidoc
+  autoconf
+  bison
+  gawk
+  gettext
+  libx11-dev
+  libfontconfig1-dev
+  libperl-dev
+  poedit
+  yasm
+  xvfb"
+
+# For handling SQL command injections
+SQL_PKGS="sqlite3 libsqlite3-dev mysql-client mysql-server libmysqlclient-dev"
+
+# For LDAP
+LDAP_PKGS="ldap-utils slapd libldap2-dev"
+
+ALL_PKGS="$BASE_PKGS $CLIENT_IRDB_PKGS $SERVER_IRDB_PKGS $TEST_PKGS $SQL_PKGS $LDAP_PKGS"
+
+
+if [[ "$PEASOUP_UMBRELLA_DIR" == "" ]]; then
+	echo "PEASOUP_UMBRELLA_DIR not found"
+	echo "Did you source set_env_vars and use sudo -E"
+	exit 1
+fi
+
+for arg in $@; do
+    case $arg in
+    all)
+	sudo apt-get install $ALL_PKGS
+	;;
+    base)
+	sudo apt-get install $BASE_PKGS
+	;;
+    client-irdb)
+	sudo apt-get install $CLIENT_IRDB_PKGS
+	;;
+    server-irdb)
+	sudo apt-get install $SERVER_IRDB_PKGS
+	;;
+    irdb)
+	sudo apt-get install $CLIENT_IRDB_PKGS $SERVER_IRDB_PKGS
+	;;
+    test)
+	sudo apt-get install $TEST_PKGS
+	;;
+	sql)
+	sudo apt-get install $SQL_PKGS
+	;;
+	ldap)
+	sudo apt-get install $LDAP_PKGS
+	;;
+    *)
+	echo "$arg not recognized. Recognized args: all, base, client-irdb,";
+	echo "  server-irdb, irdb, test, sql.";
+    esac
+done
diff --git a/irdb_vars b/irdb_vars
new file mode 100644
index 0000000000000000000000000000000000000000..634b8266825d44912fd28586ee269f2d1110af99
--- /dev/null
+++ b/irdb_vars
@@ -0,0 +1,4 @@
+export PGHOST=127.0.0.1
+export PGUSER=$USER
+export PGPORT=5432
+export PGDATABASE=peasoup_$USER
diff --git a/jdh8d_set_env_vars b/jdh8d_set_env_vars
new file mode 100644
index 0000000000000000000000000000000000000000..9b0df1a381f2e9dacaddb077543a8bb254521240
--- /dev/null
+++ b/jdh8d_set_env_vars
@@ -0,0 +1,9 @@
+
+. set_env_vars
+
+export STRATA_IBTC=1
+export STRATA_IBTC_SHARED=1
+export STRATA_IBTC_SIZE=$(expr 128 \* 1024)
+export STRATA_FCACHE_SIZE=$(expr 64 \* 1024 \* 1024)
+export PEASOUP=$PEASOUP_UMBRELLA_DIR
+
diff --git a/postgres_setup.sh b/postgres_setup.sh
new file mode 100755
index 0000000000000000000000000000000000000000..916d857ae4f81ead9bc387c92ddbd82b2e0f8374
--- /dev/null
+++ b/postgres_setup.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+#Add PostGres password file for modifying the database
+printf ":5432::$USER:1qaz2wsx\nlocalhost:5432:*:$USER:1qaz2wsx\n127.0.0.1:5432:*:$USER:1qaz2wsx" > $HOME/.pgpass
+chmod og-rw $HOME/.pgpass
+
+#Allow remote access to PostGres
+sudo su -c "printf \"\nhost \t all \t all \t 127.0.0.1/16 \t md5\nhostssl  all \t all \t 127.0.0.1/16 \t md5\n\" >> /etc/postgresql/9.1/main/pg_hba.conf"
+printf "\nlisten_addresses = '*'\n" | sudo tee -a /etc/postgresql/9.1/main/postgresql.conf > /dev/null
+
+#Restart PostGres
+sudo service postgresql restart
+
+#Create Database User and Table
+echo "CREATE ROLE $USER WITH CREATEDB LOGIN NOSUPERUSER NOCREATEROLE PASSWORD '1qaz2wsx'" | sudo -u postgres psql
+sudo su -c "createdb -O $USER peasoup_$USER" postgres
+
+#Setup the Database to store PEASOUP info
+source set_env_vars
+$PEASOUP_HOME/tools/db/pdb_setup.sh
diff --git a/set_env_vars b/set_env_vars
new file mode 100644
index 0000000000000000000000000000000000000000..28a0f4e911a85f09682b08aad2cdb109e4470a4a
--- /dev/null
+++ b/set_env_vars
@@ -0,0 +1,38 @@
+
+
+export PEASOUP_UMBRELLA_DIR=`pwd`
+export STRATAFIER_OBJCOPY=$PEASOUP_UMBRELLA_DIR/binutils-2.19/binutils/objcopy
+export TOOLCHAIN=$PEASOUP_UMBRELLA_DIR/diablo_toolchain
+export PEASOUP_HOME=$PEASOUP_UMBRELLA_DIR/peasoup_examples
+export PIN_HOME=$PEASOUP_HOME/tools/pin
+export NICECAP_HOME=$PEASOUP_UMBRELLA_DIR/nicecap_example
+export SMPSA_HOME=$PEASOUP_UMBRELLA_DIR/SMPStaticAnalyzer
+export STRATAFIER=$PEASOUP_UMBRELLA_DIR/stratafier
+export IDAROOT=$PEASOUP_UMBRELLA_DIR/idapro65/
+export IDASDK=$PEASOUP_UMBRELLA_DIR/idapro65_sdk
+export STRATA=$PEASOUP_UMBRELLA_DIR/strata
+export STRATA_HOME=$STRATA
+export STRATA32=$PEASOUP_UMBRELLA_DIR/strata32
+export STRATA_HOME32=$STRATA32
+
+export SECURITY_TRANSFORMS_HOME=$PEASOUP_UMBRELLA_DIR/security_transforms
+if [[ ! "$LD_LIBRARY_PATH" =~ (^|:)"$PEASOUP_UMBRELLA_DIR/lib:$PEASOUP_UMBRELLA_DIR/grace/concolic/bin:$STRATA/lib"(:|$) ]]
+then
+    export LD_LIBRARY_PATH=$PEASOUP_UMBRELLA_DIR/lib:$PEASOUP_UMBRELLA_DIR/grace/concolic/bin:$STRATA/lib:$LD_LIBRARY_PATH
+fi
+
+#Get IDAPRO to work with no errors
+export TVHEADLESS=1
+
+source ./irdb_vars
+
+export GRACE_HOME=$PEASOUP_UMBRELLA_DIR/grace
+export YICES_HOME=$GRACE_HOME/third-party/yices-sdk/1.0.34/linux32/bin
+export PATH=$PATH:$GRACE_HOME/concolic/bin:$YICES_HOME
+export SCONSFLAGS="exceptions=1 x86=1 tool=1 hprof=0 cpuprof=0 lm_required=false gen_lmi=0 offsite=1 irdb_path=$SECURITY_TRANSFORMS_HOME/libIRDB -j 2"
+
+#moving this to setenv vars, as it's not global and breaks our peasoup installation
+# adjust to your SVN username
+#export SVN_USERNAME=$USER
+
+source ./set_testing_env_vars
diff --git a/start_dev.sh b/start_dev.sh
new file mode 100755
index 0000000000000000000000000000000000000000..22b06a2f1a9f1b2cdcdc56b4b7c9d4a48819a4d5
--- /dev/null
+++ b/start_dev.sh
@@ -0,0 +1,9 @@
+#/bin/sh 
+
+
+if [ -z "$1"  ]; then
+	echo "usage: $0 <externals config file>"
+fi
+
+svn propset svn:externals . -F $1
+svn up
diff --git a/svn.externals.uva_dev b/svn.externals.uva_dev
new file mode 100644
index 0000000000000000000000000000000000000000..3582bdd6728fafe90ffc06dd5298184ae289366d
--- /dev/null
+++ b/svn.externals.uva_dev
@@ -0,0 +1,8 @@
+diablo_toolchain     http://peasoup.cs.virginia.edu/repos/diablo_toolchain/trunk/
+idapro65             http://peasoup.cs.virginia.edu/repos/idapro65/trunk/
+idapro65_sdk         http://peasoup.cs.virginia.edu/repos/idapro65_sdk/trunk/
+strata               http://peasoup.cs.virginia.edu/repos/strata/trunk/
+peasoup_examples     http://peasoup.cs.virginia.edu/repos/peasoup_examples/trunk/
+security_transforms  http://peasoup.cs.virginia.edu/repos/security_transforms/trunk/
+SMPStaticAnalyzer    http://peasoup.cs.virginia.edu/repos/SMPStaticAnalyzer/trunk/
+stratafier           http://peasoup.cs.virginia.edu/repos/stratafier/trunk/