The use of yum triggers a warning and reference to yum2dnf on Fedora >= 22.
Use either yum or dnf based on the Fedora version.
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
85a370e35f introduced the DISTRO variable whose
value was obtained by parsing /etc/os-release like this:
DISTRO=$(grep "^ID=" /etc/os-release | sed "s/ID=//")
This unfortunately picks up the double-quotes, so on a CentOS system DISTRO
will be equal to '"centos"'.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
This avoids initial distribution detection (before lsb_release is available)
based on the presence of a specific package manager. This caused an
issue with openSUSE Tumbleweed before since both zypper and apt-get are
available.
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
mk-build-deps is designed to handle installing build dependencies;
use that instead, so '|' indications are handled properly.
Signed-off-by: Dan Mick <dan.mick@redhat.com>
install-deps.sh: systemd-rpm-macros must be installed on SUSE
Reviewed-by: Abhishek Lekshmanan <abhishek.lekshmanan@gmail.com>
Reviewed-by: Loic Dachary <ldachary@redhat.com>
When running install-deps on a minimalistic system, we reach that situation :
dpkg-checkbuilddeps --admindir=/tmp/install-deps.5526 debian/control
sh: 1: gcc: not found
dpkg-checkbuilddeps: warning: Couldn't determine gcc system type, falling back to default (native compilation)
dpkg-checkbuilddeps: error: cannot open /tmp/install-deps.5526/status: No such file or directory
This means that we shall install gcc before calling dpkg-checkbuilddeps.
Signed-off-by: Erwan Velu <erwan@redhat.com>
Because it was meant for Ubuntu 12.04 and it is installing directly
from PyPI on newer releases that aren't being built for 12.04
Signed-off-by: Alfredo Deza <adeza@redhat.com>
To get libunwind from the CR repositories until CentOS 7.2.1511 is released.
http://tracker.ceph.com/issues/13997Fixes: #13997
Signed-off-by: Loic Dachary <loic@dachary.org>
The upstream regression has been fixed, we can re-enable python3
support.
http://tracker.ceph.com/issues/13136Fixes: #13136
Signed-off-by: Loic Dachary <ldachary@redhat.com>
yum-builddep does not exit on error when an error happens: grep the
output for the error: string instead.
Signed-off-by: Loic Dachary <ldachary@redhat.com>
* 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>