* 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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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/10596Fixes: #10596
Signed-off-by: Ahoussi Armand <ahoussi.say@telecom-bretagne.eu>
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>
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/10175Fixes: #10175
Signed-off-by: Loic Dachary <ldachary@redhat.com>