Commit Graph

125 Commits

Author SHA1 Message Date
Kefu Chai
f81f651663 install-deps.sh: do not create "wheelhouse" unless it's ready
* only create "wheelhouse" directory for tox when it is populated
  with all packages in *requiresments.txt. before than, the wheels
  are put in "wheelhouse-wip"

Fixes: #11869
Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-06-04 16:00:56 +08:00
Kefu Chai
0d845255c7 install-deps.sh: refactor pip install a little bit
Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-06-04 13:52:04 +08:00
Sage Weil
db2d83cb3e install-deps.sh: clean up after ourselves
Signed-off-by: Sage Weil <sage@redhat.com>
2015-06-03 10:05:28 -04:00
Loic Dachary
8199e0064b install-deps.sh: do not store pip cache outside of the tree
Signed-off-by: Loic Dachary <ldachary@redhat.org>
2015-05-30 11:00:56 +02:00
Loic Dachary
bbf75f811c install-deps.sh: keep debian alternatives
Instead of removing the | when an alternative is found in the control
file such as

     cryptsetup-bin | cryptsetup

remove the surrounding spaces so that it is treated as a regular
expression that matches either one.

Replace the form

    sudo bash -c "FOO=bar ..."

with

    sudo env FOO=bar ...

to reduce the levels of shell escaping.

Reported-by: http://dyweni.com/
Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-05-29 23:55:01 +02:00
Loic Dachary
cbc96a08d0 install-deps.sh: robust pip and wheel installation
The wheel and pip module must not only be installed in each wheelhouse
directory for tox to find. They must also be installed in the virtual
environment that populates the wheelhouse directory. Otherwise older pip
modules such as the one found by default on Ubuntu 12.04 will fail.

Python 2.7.3 on Ubuntu 12.04 also requires that distribute >= 0.7.3 is
installed although it is redundant with setuptools, otherwise it will
fail to run the wheel module.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-05-29 23:43:06 +02:00
Loic Dachary
78c73c512a install-deps.sh: only pip install after make clean
Do not re-install all python dependencies if there already exists a
wheelhouse directory. It makes it so running install-deps.sh twice will
only access the network the first time. The directories where the python
dependencies are installed are removed by make clean. Refreshing the
python dependencies cache can be done via make clean ; install-deps.sh

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-05-13 08:35:53 +02:00
Loic Dachary
dc863fb75e install-deps.sh: increase pip install timeout
It is not uncommon for pip install to timeout with:

   Cannot fetch index base URL https://pypi.python.org/simple

because the default timeout is 15 seconds. When running from a CI, it
translates into bursts of false negatives when the network is saturated.

Increase the timeout to 10 minutes which is hopefully large enough to
only happen when there is a serious network problem.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-05-08 17:06:25 +02:00
Loic Dachary
c255e809fa install-deps.sh: exit on error if dependencies cannot be installed
Now that pre-installing pip dependencies is done at the end of the
script, the last command to run is no longer the installation
command. Therefore the status of the script is no longer the status of
the install command and no longer reflect success or failure to install
the dependencies. Add explicit || exit 1 to commands that are to be
treated as fatal errors.

Also set -e so that another error has a better chance to be caught.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-05-08 09:46:02 +02:00
Loic Dachary
7b28a6fd87 tests: pip must not log in $HOME/.pip
Because it may not have permission to when running in a container and
scripts run from source are not expected to modify anything outside of
the source tree anyway.

Signed-off-by: Loic Dachary <loic@dachary.org>
2015-05-08 08:59:34 +02:00
Loic Dachary
8b7953affc install-deps.sh: pip wheel for python dependencies
For all tox.ini in the source tree which also have requirement.txt
files, create a wheelhouse with the dependencies. This allows tox to
setup test environment with no access to the network with something
like (in tox.ini):

        deps =
          --use-wheel
          --find-links={toxinidir}/wheelhouse
          -r{toxinidir}/requirements.txt
          -r{toxinidir}/test-requirements.txt

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-05-05 19:16:50 +02:00
Loic Dachary
3ab13e6451 install-deps.sh: Debian GNU/Linux wheezy needs backports
It is not enough for the backports to be available, they also need to be
explicitly allowed to take precedence whenever a package is installed
indirectly. This is causing problems with libp11-kit-dev pulled by
libcurl4-gnutls-dev.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-04-10 23:51:45 +02:00
Loic Dachary
b99c714955 install-deps: support OpenSUSE
OpenSUSE must be separated as it uses zypper and does not have a
functional yum-builddep

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-03-24 14:11:47 +01:00
Ken Dreyer
51f5feccac Merge pull request #3871 from dachary/wip-install-deps
tests: install-deps.sh install EPEL and RHEL Optional

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
2015-03-10 10:42:16 -06:00
Loic Dachary
830a4a1b6b tests: install-deps.sh install EPEL and RHEL Optional
On CentOS and RHEL, some dependencies come from EPEL.

Always enable RHEL Optional repository for RHEL as packages such as
packages such as libatomic_ops-devel or libedit-devel are only found
there in RHEL 6.5.

http://tracker.ceph.com/issues/11061 Refs: #11061

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-03-10 11:39:52 +01:00
Loic Dachary
657844ac89 tests: DEBIAN_FRONTEND=noninteractive apt-get install
Go into non interactive mode when installing the compilation
dependencies, in case a package has a different default mode.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-03-07 02:40:13 +01:00
Loic Dachary
4add63c92e install-deps.sh: strip | in the list of packages
Alternatives were introduced lately and the | needs to be stripped from
the list of packages to install otherwise apt-get will try to install
all packages.

Signed-off-by: Yann Dupont <yann@objoo.org>
2015-03-07 02:40:13 +01:00
Loic Dachary
3cf7fcc6cb install-deps.sh: check for debian/control existence
If the debian/control file does not exist the error is cryptic.
Improve the situation by checking before running dpkg-checkbuilddeps.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-02-05 14:46:41 +01:00
Loic Dachary
19d5de92bf install-deps.sh: babeltrace is not on wheezy
The babeltrace package is not found on wheezy, not just squeeze.
Fix the regular expression that incorrectly replaced
libbabeltrace-ctf-dev with -ctf-dev leading to a strange error

E: Opening configuration file tf-dev - ifstream::ifstream (2: No such file or directory)

when running apt-get install.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-02-03 17:40:41 +01:00
Loic Dachary
4e791f3a83 install-deps.sh: get lsb_release if needed
Debian does not have lsb_release installed by default.

http://tracker.ceph.com/issues/10729 Fixes: #10729

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-02-03 17:18:09 +01:00
Loic Dachary
f4d65150d0 install-deps.sh: get lsb_release if needed
Fedora does not have lsb_release installed by default.

http://tracker.ceph.com/issues/10729 Fixes: #10729

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2015-02-03 16:35:13 +01:00
Noah Watkins
ca1d21e392 install-deps: fix LC_ALL setting
On my box LC_ALL=C# includes the '#' in the value without
a space between C and '#' and things go completely bonkers.

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2015-01-25 11:45:48 -08:00
delco225
3347e0daec bug: error when installing ceph dependencies with install-deps.sh
The parsing is sensitive to i18n and will fail if, for instance, it is set to French.
Workaround the problem by always setting the language to C so the script
can safely assume all output will be in english.

http://tracker.ceph.comm/issues/10596 Fixes: #10596

Signed-off-by: Ahoussi Armand <ahoussi.say@telecom-bretagne.eu>
2015-01-24 01:35:27 +01:00
Loic Dachary
2de2c4b035 install-deps.sh: do not require sudo when root
If the user is root, do not use sudo. The sudo package is not installed
by default on centos by default and when building from script it may be
that root is running install-deps.sh on a freshly install distribution.

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2014-12-21 17:52:18 +01:00
Loic Dachary
06593813af documentation: replace deps.{deb,rpm}.txt with scripts
install-deps.sh installs the dependencies based on the content of
debian/control (if apt-get is found) or ceph.spec.in (if yum is
found). The manually maintained list of dependencies for deb based
operating systems (deps.deb.txt) and rpm based operating
systems (deps.rpm.txt) are deprecated.

http://tracker.ceph.com/issues/10175 Fixes: #10175

Signed-off-by: Loic Dachary <ldachary@redhat.com>
2014-12-01 16:15:21 +01:00