Commit Graph

114 Commits

Author SHA1 Message Date
Sebastian Wagner
d8de543b7e install-deps.sh: dashboard frontend needs git
Running `npm install` for the dashboard pulls dependenies with git.
Under some setups, git was not installed when building the frontend.

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
2018-10-11 14:20:52 +02:00
Kefu Chai
3911a7c7d0 install-deps: do not specify unknown options
per apt.conf(5), and
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=550564,
"Acquire::Translation" is not documented and will be deprecated. it
would be better to use "Acquire::Languages" solely. and it's consistent
with https://github.com/ceph/ceph-build/pull/1137 .

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-09-28 11:52:39 +08:00
Kefu Chai
f46523e464
Merge pull request #23955 from wjwithagen/wjw-fix-ceph-helpers.sh
test: Start using GNU awk and fix archiving directory

Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-09-17 15:44:06 +08:00
Kefu Chai
f0d7616b37 install-deps,run-make-check: use ceph-libboost repo
ceph-libboost1.67 repo is setup to satisfy the libboost dependencies
used when building ceph. now it offers arm64 and amd64 builds for xenial.

* install-deps.sh: add ceph-libboost1.67 repo hosted on chacra if the
  building host does not have any of the listed ceph-libboost1.67
  packages installed
* run-make-check.sh: add "-DWITH_SYSTEM_BOOST=ON
  -DBOOST_ROOT=/opt/ceph" if include/boost/config.hpp is found
  under /opt/ceph

See-also: http://tracker.ceph.com/issues/25186
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-09-11 22:22:47 +08:00
Willem Jan Withagen
bfe7a2afaa test: Start using GNU awk and fix archiving directory
awk uses some tests that the native FreeBSD awk does not support:
    like: BEGIN{print 0 < 90}

And TESTDIR is not set when calling ceph-helpers from smoke.sh
    So fix with keeping the archive in /tmp

Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
2018-09-06 15:50:20 +02:00
Kefu Chai
e4a2de952f install-deps: s/openldap-client/openldap24-client/
please refer:

https://svnweb.freebsd.org/ports/head/net/openldap24-client/
https://svnweb.freebsd.org/ports/head/net/openldap-client/

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-09-04 23:42:37 +08:00
Willem Jan Withagen
3b776457fe FreeBSD: update build script to current state
Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
2018-08-06 23:42:06 +02:00
Nathan Cutler
38508b41dc build/ops: refrain from installing/using lsb_release in install-deps.sh
Unfortunately the mapping between release number and codename (which is only
relevant for Debian and Ubuntu btw) is not available from /etc/os-release.
In that one respect, lsb_release was "better".

However, when I weigh the advantages of obtaining that mapping from an external
tool, with the (substantial) risk that the external dependency might cause
trouble on one or more supported distros (to say nothing of the non- or
semi-/pseudo-supported ones), against the work involved in maintaining a
hard-coded mapping (negligible), the needle on my scale immediately swings
toward eliminating the dependency.

Also, I see this commit as part of the longer-term effort to completely expunge
lsb_release from our codebase. See git log --grep lsb_release.

For another example of an external distro-detection tool (albeit one that was
included in Python 2) gone awry, see http://tracker.ceph.com/issues/18163.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-08-02 11:51:10 +02:00
Nathan Cutler
e0042dd617 build/ops: unify command substitution in install-deps.sh
The $() form is preferable to `` because folks (like me) might be using
` as a keyboard shortcut to GNU Screen, causing havoc to ensue whenever
copy-pasting the ` character.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-08-01 12:36:31 +02:00
Nathan Cutler
f170775770 build/ops: streamline processing of WITH_SEASTAR env var
Quoting relevant portion of "man test":

    STRING equivalent to -n STRING

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-08-01 12:36:09 +02:00
Kefu Chai
96196e9d77 rpm,install-deps,cmake: install {c-ares,fmt}-devel
* ceph.spec.in: c-ares-devel and fmt-devel are installed as
  dependencies fo seastar.
* install-deps.sh: libfmt-dev is missing in xenial, so we only
  install libc-ares-dev for ubuntu in install-deps.sh .
* cmake: build libfmt if it's not found.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-07-25 13:13:45 +08:00
Kefu Chai
4ca636f9b6 install-deps: set DEBIAN_FRONTEND for apt-get
so it won't complain if the tty is not an interactive one.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-07-18 10:28:08 +08:00
Nathan Cutler
4b8c3b8e79 build/ops: install-deps.sh: set with_seastar
25d5122b55 introduced code into
install-deps.sh which was intended to set a variable "with_seastar" to the
string "true" or "false" depending on whether or not an environment
variable WITH_SEASTAR is defined.

As originally implemented, the conditional is always true, so with_seastar
is set to "true" unconditionally. Fix this by putting $WITH_SEASTAR in
double quotes.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-07-16 22:07:57 +02:00
Kefu Chai
4e87c5a492
Merge pull request #22809 from tchaikov/wip-with-seastar
run-make-check: enable --with-seastar option

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2018-07-14 17:36:20 +08:00
Kefu Chai
25d5122b55 rpm,install-deps.sh: add --with-seastar option
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-07-12 17:49:34 +08:00
Kefu Chai
b94e3790c8 install-deps.sh: import ubuntu-toolchain-r's key without keyserver
we are running into following error recently

gpg: requesting key BA9EF27F from hkp server keyserver.ubuntu.com
gpgkeys: key 1E9377A2BA9EF27F can't be retrieved
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0
gpg: keyserver communications error: keyserver helper general error
gpg: keyserver communications error: unknown pubkey algorithm
gpg: keyserver receive failed: unknown pubkey algorithm

so use the local copy of the pubkey instead

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-07-10 20:24:02 +08:00
Kyr Shatskyy
bd0448c0b5 Add new OpenSUSE Leap id for install-deps.sh
Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@gmail.com>
2018-07-02 20:22:30 +02:00
Yunchuan Wen
46e33d15a4 install-deps: check the exit status for the $builddepcmd
in some case, the $builddepcmd will failed without any "error:" output.
so we should check the exit status to handle it.

Signed-off-by: Yunchuan Wen <yunchuan.wen@kylin-cloud.com>
2018-06-24 09:48:50 +08:00
Kefu Chai
f1fa8cb98c
Merge pull request #22488 from ai-traders/fix-gcc-install
install-deps.sh: fix installing gcc on ubuntu when no old compiler

Reviewed-by: Kefu Chai <kchai@redhat.com>
2018-06-10 09:59:00 +08:00
Tomasz Setkowski
0d8d0cf6f7 install-deps: fix installing gcc on ubuntu when no old compiler
Signed-off-by: Tomasz Setkowski <tom@ai-traders.com>
2018-06-09 15:55:06 +00:00
Yunchuan Wen
f92f256f45 install-deps.sh: support install gcc7 in xenial aarch64
Signed-off-by: Yunchuan Wen <yunchuan.wen@kylin-cloud.com>
2018-06-07 15:51:31 +08:00
Kefu Chai
ed0ca70707 install-deps: nuke wheelhouse if it's stale
otherwise, if we update *requirements.txt, and the wheelhouse fails to
offer the newly added dependency, the setup-virtualenv.sh will fail the
build.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-05-16 19:43:33 +08:00
Ricardo Marques
372433d598 install-deps: Add support for 'opensuse-tumbleweed'
Signed-off-by: Ricardo Marques <rimarques@suse.com>
2018-04-25 18:49:51 +01:00
Casey Bodley
26d96eb3f0 install-deps: add liblz4 to freebsd build dependencies
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2018-04-12 09:35:40 -04:00
Willem Jan Withagen
381d1ef56f FreeBSD: add new required packages to be installed
Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
2018-04-11 13:37:15 +02:00
Tiago Melo
d5f8713882 mgr/dashboard: remove node/npm system installation
Node and npm are now being installed in a virtualenv, removing the need of
having it installed in the system or as a node dependency.

Now, if you want to use npm, you just need to activate the virtualenv created
on 'build/src/pybind/mgr/dashboard/node-env', and then you can execute the
same commands as you did before.

Signed-off-by: Tiago Melo <tmelo@suse.com>
2018-03-16 12:06:22 +00:00
Yao Guotao
b3a5949031 install-deps.sh: fix an error condition expression
Signed-off-by: Yao Guotao <yaoguot@gmail.com>
2018-03-09 04:46:27 -05:00
Ricardo Dias
b6d9464806
install-deps: install dashboard_v2 development dependencies
Signed-off-by: Ricardo Dias <rdias@suse.com>
Signed-off-by: Kai Wagner <kwagner@suse.com>
2018-03-05 13:07:14 +00:00
Nathan Cutler
6a2bcea045
Merge pull request #20436 from smithfarm/wip-22999
install-deps.sh: set python2 %bcond by environment

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Jan Fajerski <jfajerski@suse.com>
2018-02-27 16:19:36 +01:00
Nathan Cutler
fe028f89b6 install-deps.sh: set python2 %bcond by environment
If there is no /usr/bin/python2 we need to set %bcond_with python2.

Fixes: http://tracker.ceph.com/issues/22999
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-02-27 14:12:12 +01:00
Nathan Cutler
b47d57474d scripts: install-deps.sh: pass --no-recommends to zypper
Fixes: http://tracker.ceph.com/issues/22998
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2018-02-14 11:49:03 +01:00
Casey Bodley
ba85740955 cmake: remove cryptopp option
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2018-01-19 10:25:41 -05:00
Kefu Chai
7bb8f66cf4 install-deps.sh: check if have access to stdout
$- is "hB" if launched via command line, and it is "himBH" only when
we are actually *in* an interactive shell. so checking "test -t 1" is
what we want.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-12-30 23:20:07 +08:00
Kefu Chai
d38a9370b6 install-deps: bump DTS version on aarch64 to 7
see https://bugs.centos.org/view.php?id=14078

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-12-30 23:20:07 +08:00
wangsongbo
2d44ba7d4c install-deps.sh: only download mirrored package index
E: Failed to fetch http://mirror.cs.uchicago.edu/ubuntu-toolchain-r/dists/xenial/main/binary-i386/Packages  404  Not Found
E: Failed to fetch http://mirror.yandex.ru/mirrors/launchpad/ubuntu-toolchain-r/dists/xenial/main/i18n/Translation-en  404  Not Found [IP: 213.180.204.183 80]
E: Some index files failed to download. They have been ignored, or old ones used instead.

On Ubuntu amd64 installations, i386 is enabled as an additional
architecture by default. apt & co. expect repositories to provide all
configured architectures, which causes the error above.

Signed-off-by: Songbo Wang <wangsongbo@cloudin.cn>
2017-12-30 23:20:07 +08:00
Kefu Chai
45781602c9 install-deps.sh: do not download i18n apt index
and do not fail the `apt-get update` command, if any mirror is not
reachable.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-12-30 23:20:07 +08:00
Kefu Chai
0beb846e57 install-deps.sh: use tee for writing a file
because the stdout redirect is performed by current shell not `$SUDO
cat`, so $SUDO does not help here. use `$SUDO tee` instead, which is
able to read the stdin and write to the given file just as expected.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-12-14 19:06:53 +08:00
Kefu Chai
b69e3efe64 install-deps.sh: avoid re-installing g++-7
* add ubuntu-toolchain-r mirrors in case the ppa.launchpad.net is not
  accessible
* add ppa repo manually, it's faster than installing
  `software-properties-common` and then launch `add-apt-repository`
* hardwire $old to the gcc version shipped by the distro, simpler this
  way.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-12-13 14:22:41 +08:00
Kefu Chai
8a0935988f install-deps.sh: use GCC-7 on xenial also
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-12-11 23:26:24 +08:00
Kefu Chai
3882deae8c install-deps.sh: install new gcc as the default the right way
* should install software-properties-common beforehand, otherwise
  the `add-apt-repository` command will not be available.
* the update-alternative commandline were copied from ceph-build,
  should remove the escape characters.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-12-09 20:00:28 +08:00
Kefu Chai
4cedada14e install-deps.sh: enable testing repo on centos on aarch64
the DTS-6 is only available in the testing repo

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-12-08 21:15:53 +08:00
Kefu Chai
3f8647a7e8 install-deps.sh: use DTS on centos if GCC is too old
please note, run-make-check.sh sources install-deps.sh here to import
the $PATH and other environmental variables, which could be changed by
the the DTS "enable" script.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-12-08 19:36:58 +08:00
Kefu Chai
84660c977c install-deps.sh: install centos-release-scl-rh on aarch64
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-12-05 23:48:15 +08:00
Kefu Chai
24d0f935dc install-deps.sh: use gcc-7 on trusty
* always install gcc-7 on trusty
* point g++ to g++-7 if not yet

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-12-05 10:29:49 +08:00
Kefu Chai
eccc961c72 install-deps.sh: always use yum-config-manager for consistency
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-12-05 10:29:48 +08:00
Kefu Chai
f9aa49cee1 install-deps.sh: install devtoolset-7 for centos/rhel
ready them for gcc7 and libstdc++-7 for better performance.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-12-05 10:29:48 +08:00
Alan Somers
3aae5ca6fd scripts: fix bash path in shebangs
/bin/bash is a Linuxism.  Other operating systems install bash to
different paths.  Use /usr/bin/env in shebangs to find bash.

Signed-off-by: Alan Somers <asomers@gmail.com>
2017-07-27 13:24:26 -06:00
Alan Somers
5b10a736a2 install-deps.sh: add missing dependencies for FreeBSD
Signed-off-by: Alan Somers <asomers@gmail.com>
2017-07-24 16:48:07 -06:00
Nathan Cutler
a502a93907 build/ops: rpm: put mgr python build dependencies in make_check bcond
Fixes: http://tracker.ceph.com/issues/20425
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Signed-off-by: Tim Serong <tserong@suse.com>
2017-07-17 13:12:54 +02:00
Bassam Tabbara
a8da9fd077 test,qa/workunits: add tests for public_bind_addr
Add a set of new tests for the case when public_addr and public_bind_addr
are different for a mon. In order to test this properly I had to employ
port forwarding with socat. This helps simulate what would happen in a
environment like Kubernetes. socat is now a build dependency.

Also, moved jq_success to ceph-helpers.sh and refactored run_mon to enable
creating the mons without creating the rbd pool immediately.

Signed-off-by: Bassam Tabbara <bassam.tabbara@quantum.com>
2017-07-14 10:41:49 -07:00