More Python package fixes

* Add tools/fixup_stuff.sh to fix prettytable and httplib2 install
  with pip 1.4+
* Cache downloads properly in tools/install_pip.sh

Change-Id: I482590cb91f7a10c1436bc9015afd572ac1cc73e
diff --git a/tools/fixup_stuff.sh b/tools/fixup_stuff.sh
new file mode 100755
index 0000000..60d0f46
--- /dev/null
+++ b/tools/fixup_stuff.sh
@@ -0,0 +1,43 @@
+#!/usr/bin/env bash
+
+# **fixup_stuff.sh**
+
+# fixup_stuff.sh
+#
+# All distro and package specific hacks go in here
+# - prettytable 0.7.2 permissions are 600 in the package and
+#   pip 1.4 doesn't fix it (1.3 did)
+# - httplib2 0.8 permissions are 600 in the package and
+#   pip 1.4 doesn't fix it (1.3 did)
+
+# Keep track of the current directory
+TOOLS_DIR=$(cd $(dirname "$0") && pwd)
+TOP_DIR=`cd $TOOLS_DIR/..; pwd`
+
+# Change dir to top of devstack
+cd $TOP_DIR
+
+# Import common functions
+source $TOP_DIR/functions
+
+FILES=$TOP_DIR/files
+
+# Pre-install affected packages so we can fix the permissions
+sudo pip install prettytable
+sudo pip install httplib2
+
+SITE_DIRS=$(python -c "import site; import os; print os.linesep.join(site.getsitepackages())")
+for dir in $SITE_DIRS; do
+
+    # Fix prettytable 0.7.2 permissions
+    if [[ -r $dir/prettytable.py ]]; then
+        sudo chmod +r $dir/prettytable-0.7.2*/*
+    fi
+
+    # Fix httplib2 0.8 permissions
+    httplib_dir=httplib2-0.8.egg-info
+    if [[ -d $dir/$httplib_dir ]]; then
+        sudo chmod +r $dir/$httplib_dir/*
+    fi
+
+done