Merge pull request #348 from kuba/bootstrap

Bootstrap script improvements
This commit is contained in:
James Kasten 2015-04-20 14:26:48 -07:00
commit ea88fc6401
7 changed files with 44 additions and 25 deletions

View file

@ -1,7 +1,7 @@
language: python
# http://docs.travis-ci.com/user/ci-environment/#CI-environment-OS
before_install: travis_retry ./bootstrap/ubuntu.sh
before_install: travis_retry sudo ./bootstrap/ubuntu.sh
install: "travis_retry pip install tox coveralls"
script: "travis_retry tox"

2
Vagrantfile vendored
View file

@ -7,7 +7,7 @@ VAGRANTFILE_API_VERSION = "2"
# Setup instructions from docs/using.rst
$ubuntu_setup_script = <<SETUP_SCRIPT
cd /vagrant
./bootstrap/ubuntu.sh
sudo ./bootstrap/ubuntu.sh
if [ ! -d "venv" ]; then
virtualenv --no-site-packages -p python2 venv
./venv/bin/python setup.py dev

35
bootstrap/_deb_common.sh Executable file
View file

@ -0,0 +1,35 @@
#!/bin/sh
# Tested with:
# - Ubuntu:
# - 12.04 (x64, Travis)
# - 14.04 (x64, Vagrant)
# - 14.10 (x64)
# - Debian:
# - 6.0.10 "squeeze" (x64)
# - 7.8 "wheezy" (x64)
# - 8.0 "jessie" (x64)
# virtualenv binary can be found in different packages depending on
# distro version (#346)
distro=$(lsb_release -si)
# 6.0.10 => 60, 14.04 => 1404
version=$(lsb_release -sr | awk -F '.' '{print $1 $2}')
if [ "$distro" = "Ubuntu" -a "$version" -ge 1410 ]
then
virtualenv="virtualenv"
elif [ "$distro" = "Debian" -a "$version" -ge 80 ]
then
virtualenv="virtualenv"
else
virtualenv="python-virtualenv"
fi
# dpkg-dev: dpkg-architecture binary necessary to compile M2Crypto, c.f.
# #276, https://github.com/martinpaljak/M2Crypto/issues/62,
# M2Crypto setup.py:add_multiarch_paths
apt-get update
apt-get install -y --no-install-recommends \
python python-setuptools "$virtualenv" python-dev gcc swig \
dialog libaugeas0 libssl-dev libffi-dev ca-certificates dpkg-dev

View file

@ -1 +1 @@
ubuntu.sh
_deb_common.sh

View file

@ -1,2 +1,2 @@
#!/bin/sh
sudo brew install augeas swig
brew install augeas swig

View file

@ -1,15 +0,0 @@
#!/bin/sh
# Tested with:
# - 12.04 (x64, Travis)
# - 14.04 (x64, Vagrant)
# - 14.10 (x64)
# dpkg-dev: dpkg-architecture binary necessary to compile M2Crypto, c.f.
# #276, https://github.com/martinpaljak/M2Crypto/issues/62,
# M2Crypto setup.py:add_multiarch_paths
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
python python-setuptools python-virtualenv python-dev gcc swig \
dialog libaugeas0 libssl-dev libffi-dev ca-certificates dpkg-dev

1
bootstrap/ubuntu.sh Symbolic link
View file

@ -0,0 +1 @@
_deb_common.sh

View file

@ -11,6 +11,7 @@ are provided mainly for the :ref:`developers <hacking>` reference.
In general:
* ``sudo`` is required as a suggested way of running privileged process
* `swig`_ is required for compiling `m2crypto`_
* `augeas`_ is required for the ``python-augeas`` bindings
@ -20,7 +21,7 @@ Ubuntu
.. code-block:: shell
./bootstrap/ubuntu.sh
sudo ./bootstrap/ubuntu.sh
Debian
@ -28,13 +29,10 @@ Debian
.. code-block:: shell
./bootstrap/debian.sh
sudo ./bootstrap/debian.sh
For squezze you will need to:
- Run ``apt-get install -y --no-install-recommends sudo`` as root
(``sudo`` is not installed by default) before running the bootstrap
script.
- Use ``virtualenv --no-site-packages -p python`` instead of ``-p python2``.
@ -46,7 +44,7 @@ Mac OSX
.. code-block:: shell
./bootstrap/mac.sh
sudo ./bootstrap/mac.sh
Installation