2011-05-31 20:51:48 +00:00
|
|
|
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
|
2014-10-07 16:49:40 +00:00
|
|
|
case "$(uname -s)" in
|
|
|
|
Linux)
|
|
|
|
case "$(lsb_release --id --short)" in
|
|
|
|
Ubuntu|Debian)
|
2015-03-23 15:30:26 +00:00
|
|
|
# Note that we install the system version of python-libvirt here
|
|
|
|
# instead of relying on PyPI for that particular module. THe reason for
|
|
|
|
# this is that Ubuntu Precise ships libvirt 0.9.8, and PyPI's
|
|
|
|
# python-libvirt packages require libvirt >= 1.0.2.
|
|
|
|
# Some options for resolving this situation would be choosing some or
|
|
|
|
# all of the following:
|
|
|
|
# A) Removing support for Precise,
|
|
|
|
# B) Removing support for downburst,
|
|
|
|
# C) Adding "Precise" conditionals somewhere, eg. conditionalizing
|
|
|
|
# this bootstrap script to only use the python-libvirt package on
|
|
|
|
# Ubuntu Precise.
|
2014-10-30 22:32:28 +00:00
|
|
|
for package in python-dev python-pip python-virtualenv libevent-dev python-libvirt libmysqlclient-dev; do
|
2014-10-07 16:49:40 +00:00
|
|
|
if [ "$(dpkg --status -- $package|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 packages, please install them:" 1>&2
|
|
|
|
echo "sudo apt-get install $missing"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
;;
|
2014-10-28 01:08:43 +00:00
|
|
|
Fedora)
|
2014-10-30 22:32:09 +00:00
|
|
|
for package in python-pip python-virtualenv libevent-devel libvirt-python community-mysql-devel; do
|
2014-10-28 01:08:43 +00:00
|
|
|
if [ "$(rpm -q $package)" == "package $package is not installed" ]; then
|
|
|
|
missing="${missing:+$missing }$package"
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
if [ -n "$missing" ]; then
|
|
|
|
echo "$0: missing required packages, please install them:" 1>&2
|
|
|
|
echo "sudo yum install $missing"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
;;
|
2015-05-05 14:35:38 +00:00
|
|
|
"openSUSE project"|"SUSE LINUX")
|
|
|
|
for package in python-pip python-virtualenv libevent-devel libvirt-python libmysqlclient-devel; do
|
|
|
|
if [ "$(rpm -q $package)" == "package $package is not installed" ]; then
|
|
|
|
missing="${missing:+$missing }$package"
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
if [ -n "$missing" ]; then
|
|
|
|
echo "$0: missing required packages, please install them:" 1>&2
|
|
|
|
echo "sudo zypper install $missing"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
;;
|
2014-10-07 16:49:40 +00:00
|
|
|
*)
|
|
|
|
echo "This script does not support your Linux distribution yet. Patches encouraged!"
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
;;
|
|
|
|
Darwin)
|
|
|
|
if ! which brew > /dev/null; then
|
|
|
|
echo "You need Homebrew: http://brew.sh/"
|
|
|
|
exit 1
|
2011-05-31 20:51:48 +00:00
|
|
|
fi
|
2014-11-04 17:23:36 +00:00
|
|
|
for keg in python libvirt libevent mysql; do
|
2014-10-07 16:49:40 +00:00
|
|
|
if brew list $keg >/dev/null 2>&1; then
|
|
|
|
echo "Found $keg"
|
|
|
|
else
|
2014-11-04 17:16:05 +00:00
|
|
|
brew install $keg
|
2014-10-07 16:49:40 +00:00
|
|
|
fi
|
|
|
|
done
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo "This script does not support your OS yet. Patches encouraged!"
|
2011-05-31 20:51:48 +00:00
|
|
|
exit 1
|
2014-10-07 16:49:40 +00:00
|
|
|
;;
|
|
|
|
esac
|
2011-05-31 20:51:48 +00:00
|
|
|
|
2013-08-22 23:02:22 +00:00
|
|
|
if [ -z "$NO_CLOBBER" ] || [ ! -e ./virtualenv ]; then
|
2014-11-04 17:24:55 +00:00
|
|
|
if ! which virtualenv > /dev/null; then
|
|
|
|
pip install virtualenv
|
|
|
|
fi
|
2013-08-22 23:02:22 +00:00
|
|
|
# site packages needed because libvirt python bindings are not nicely
|
|
|
|
# packaged
|
2014-08-29 01:13:37 +00:00
|
|
|
virtualenv --system-site-packages --setuptools virtualenv
|
2011-05-31 20:51:48 +00:00
|
|
|
|
2013-08-22 23:02:22 +00:00
|
|
|
# avoid pip bugs
|
|
|
|
./virtualenv/bin/pip install --upgrade pip
|
2014-01-03 18:41:11 +00:00
|
|
|
|
|
|
|
# work-around change in pip 1.5
|
|
|
|
./virtualenv/bin/pip install setuptools --no-use-wheel --upgrade
|
2013-08-22 23:02:22 +00:00
|
|
|
fi
|
2011-05-31 20:51:48 +00:00
|
|
|
|
|
|
|
./virtualenv/bin/pip install -r requirements.txt
|
|
|
|
|
2014-08-29 01:19:07 +00:00
|
|
|
./virtualenv/bin/python setup.py develop
|