diff --git a/loopy.spec b/build-helpers/loopy.spec
similarity index 100%
rename from loopy.spec
rename to build-helpers/loopy.spec
diff --git a/build-helpers/make-linux-build-docker-inner.sh b/build-helpers/make-linux-build-docker-inner.sh
new file mode 100755
index 0000000000000000000000000000000000000000..d84022f82f5c2cdfa97f87d5e8bb3107baba0538
--- /dev/null
+++ b/build-helpers/make-linux-build-docker-inner.sh
@@ -0,0 +1,41 @@
+#! /bin/bash
+
+set -e
+set -x
+
+mkdir /tmp/build
+cd /tmp/build
+
+yum install -y git python-devel tar gcc gcc-c++ mercurial numpy
+
+VENV_VERSION="virtualenv-1.9.1"
+rm -Rf "$VENV_VERSION"
+curl -k https://pypi.python.org/packages/source/v/virtualenv/$VENV_VERSION.tar.gz | tar xfz -
+
+VIRTUALENV=virtualenv
+$VENV_VERSION/virtualenv.py --no-setuptools .env
+
+#curl -k https://bitbucket.org/pypa/setuptools/raw/bootstrap-py24/ez_setup.py | python -
+curl -k https://ssl.tiker.net/software/ez_setup.py | python -
+if test "$py_version" = "2.5"; then
+  # pip 1.3 is the last release with Python 2.5 support
+  hash -r
+  which easy_install
+  easy_install 'pip==1.3.1'
+  PIP="pip --insecure"
+else
+  #curl -k https://raw.github.com/pypa/pip/1.4/contrib/get-pip.py | python -
+  curl http://git.tiker.net/pip/blob_plain/77f959a3ce9cc506efbf3a17290d387d0a6624f5:/contrib/get-pip.py | python -
+
+  PIP="pip"
+fi
+
+source .env/bin/activate
+
+pip install pyinstaller
+git clone --recursive git://github.com/inducer/loopy
+cd loopy
+
+grep -v pyopencl requirements.txt > myreq.txt
+pip install -r myreq.txt
+
diff --git a/build-helpers/make-linux-build-docker.sh b/build-helpers/make-linux-build-docker.sh
new file mode 100755
index 0000000000000000000000000000000000000000..6674405e260c1884082e4a2620d904916ca93729
--- /dev/null
+++ b/build-helpers/make-linux-build-docker.sh
@@ -0,0 +1,12 @@
+#! /bin/bash
+
+set -e
+set -x
+
+CNT=$(docker create -t -v $(pwd):/mnt centos:6 /mnt/make-linux-build-docker-inner.sh)
+echo "working in container $CNT"
+
+docker start -i $CNT
+
+docker rm $CNT
+
diff --git a/run-pyinstaller.sh b/build-helpers/run-pyinstaller.sh
similarity index 53%
rename from run-pyinstaller.sh
rename to build-helpers/run-pyinstaller.sh
index c88389bb428d16a27970a7536da1999843dd651e..660c20fd4be4be4513b36cbf7d51de1fcac3a388 100755
--- a/run-pyinstaller.sh
+++ b/build-helpers/run-pyinstaller.sh
@@ -1,7 +1,9 @@
 #! /bin/bash
 
+# run this from the loopy root directory
+
 rm -Rf dist/loopy
 
 pyinstaller \
   --workpath=build/pyinstaller \
-  loopy.spec
+  build-helpers/loopy.spec