forked from TrueCloudLab/s3-tests
dfa6088f6f
Previously the aliases would install but subsequent runs would not find the exact package name. This caused yum to unnecessarily re-run. Signed-off-by: Andrew Gaul <andrew@gaul.org>
51 lines
2 KiB
Bash
Executable file
51 lines
2 KiB
Bash
Executable file
#!/bin/sh
|
|
set -e
|
|
|
|
if [ -f /etc/debian_version ]; then
|
|
for package in python-pip python-virtualenv python-dev libevent-dev libffi-dev libxml2-dev libxslt-dev zlib1g-dev; do
|
|
if [ "$(dpkg --status -- $package 2>/dev/null|sed -n 's/^Status: //p')" != "install ok installed" ]; then
|
|
# add a space after old values
|
|
missing="${missing:+$missing }$package"
|
|
fi
|
|
done
|
|
if [ -n "$missing" ]; then
|
|
echo "$0: missing required DEB packages. Installing via sudo." 1>&2
|
|
sudo apt-get -y install $missing
|
|
fi
|
|
elif [ -f /etc/fedora-release ]; then
|
|
for package in python2-pip python2-virtualenv python2-devel libevent-devel libffi-devel libxml2-devel libxslt-devel zlib-devel; do
|
|
if [ "$(rpm -qa $package 2>/dev/null)" == "" ]; then
|
|
missing="${missing:+$missing }$package"
|
|
fi
|
|
done
|
|
if [ -n "$missing" ]; then
|
|
echo "$0: missing required RPM packages. Installing via sudo." 1>&2
|
|
sudo yum -y install $missing
|
|
fi
|
|
elif [ -f /etc/redhat-release ]; then
|
|
for package in python-virtualenv python-devel libevent-devel libffi-devel libxml2-devel libxslt-devel zlib-devel; do
|
|
if [ "$(rpm -qa $package 2>/dev/null)" == "" ]; then
|
|
missing="${missing:+$missing }$package"
|
|
fi
|
|
done
|
|
if [ -n "$missing" ]; then
|
|
echo "$0: missing required RPM packages. Installing via sudo." 1>&2
|
|
sudo yum -y install $missing
|
|
fi
|
|
fi
|
|
|
|
virtualenv --no-site-packages --distribute virtualenv
|
|
|
|
# avoid pip bugs
|
|
./virtualenv/bin/pip install --upgrade pip
|
|
|
|
# slightly old version of setuptools; newer fails w/ requests 0.14.0
|
|
./virtualenv/bin/pip install setuptools==32.3.1
|
|
|
|
./virtualenv/bin/pip install -r requirements.txt
|
|
|
|
# forbid setuptools from using the network because it'll try to use
|
|
# easy_install, and we really wanted pip; next line will fail if pip
|
|
# requirements.txt does not match setup.py requirements -- sucky but
|
|
# good enough for now
|
|
./virtualenv/bin/python setup.py develop
|