mirror of
https://github.com/ceph/s3-tests.git
synced 2024-12-25 23:43:50 +00:00
84a22c336b
If RPM or DEB packages are missing, don't print to STDERR and bail. Instead, assume that the user has sudo rights, and attempt to install the missing packages for the user automatically.
43 lines
1.4 KiB
Bash
Executable file
43 lines
1.4 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; 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
|
|
fi
|
|
if [ -f /etc/redhat-release ]; then
|
|
for package in python-pip python-virtualenv python-devel libevent-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
|
|
|
|
# work-around change in pip 1.5
|
|
./virtualenv/bin/pip install setuptools --no-use-wheel --upgrade
|
|
|
|
./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 \
|
|
--allow-hosts None
|