The %bcond_with and %bcond_without macros are confusing to folks who
don't do a lot of RPM packaging work. Let's try to help these folks out!
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Fedora 29 still ships a Python 2 binary, but some of Ceph's build
dependencies are only available in py3 versions there. In other
words, from F29 on, it is no longer possible to do a py2 Ceph build
on Fedora, even if a python2 binary exists on the system.
If that were not enough, the Python 2 that ships with Fedora 29 is
linked against a non-compatible version of OpenSSL.
Before this commit, install-deps.sh was overriding the spec file's
Python build setting based on the presence or absence of a python2
binary. As the bug cited below indicates, this was not a good idea.
It's better for the spec file to be explicit about which OS versions
are py2 and which are py3, and just stick to that.
Fixes: http://tracker.ceph.com/issues/37301
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Currently /var/lib/ceph/bootstrap-rbd-mirror is absent, which means we
need to create it manually in order to pool the
client.bootstrap-rbd-mirror key.
Signed-off-by: Sébastien Han <seb@redhat.com>
be more explicit on what we are packaging. because only
libceph-common.so.${soversion} will be packaged, since libceph-common.so
won't be installed by cmake anymore.
Signed-off-by: Kefu Chai <kchai@redhat.com>
Due to ABI breakage in libtcmalloc.so.4 we need to specify the minimum
version to be used at runtime to be greater than or equal to the version
used at build time.
Fixes: http://tracker.ceph.com/issues/36508
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
Currently, we do pass the hardened CFLAGS and CPPFLAGS when building the
code. However, we do not pass the hardened flags to the linker. This
means that the binaries are linked without the options like -Wl,-z,now.
As a result, we do not fully harden the binaries that we build.
This commit fixes this by passing the RPM_LD_FLAGS to the linker so the
builds are linked with the properly hardened flags.
Fixes: http://tracker.ceph.com/issues/36316
Signed-off-by: Boris Ranto <branto@redhat.com>
make sure we only build with the higher version of gperftools on
distros where both 2.4 and 2.6.1 are packaged. see
https://git.centos.org/summary/rpms!gperftools.git . at the time of
writing, gperftools 2.6.1 is packaged for CentOS/RHEL 7, if gperftools
(>= 2.4) is required by Ceph, and user already has this version
installed, when new Ceph packages are installed, the updated gperftools
2.6.1 version won't be installed as a dependency. when launching
Ceph compiled with tcmalloc enabled, we will have
symbol lookup error: ceph-osd: undefined symbol: _ZdaPvm
so, by bumping up the required version of gperftools, the updated
gperftools will be installed.
see https://software.opensuse.org/package/gperftools, openSUSE/SLE offer
2.5. so they are safe at this moment.
Fixes: http://tracker.ceph.com/issues/35969
Signed-off-by: Kefu Chai <kchai@redhat.com>
6dd06b0c34 introduced RPM packaging of cephfs-shell
This initial packaging was Fedora-only, but colorama and cmd2 *are* packaged
for both openSUSE and SLE.
Note: there is no py2-compatible version of cephfs-shell.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
* refs/pull/23240/head:
qa/suites/rados, qa/workunits/rados: Add suite/workunit for ceph-crash
add ceph-crash service
common/options: enable mgr 'crash' module by default
global/signal_handler: add 'done' file to signal crashdump is ready
Reviewed-by: Sage Weil <sage@redhat.com>
ceph-crash runs from systemd and watches /var/lib/ceph/crash
for crashdumps, posting them to the mgrs using the mgr's
crash plugin
Signed-off-by: Dan Mick <dan.mick@redhat.com>
because RHEL/CentOS 7 only offers fmt-devel 3.0.2, while seastar
requires >= 4.0.0, < 5.0.0, and on openSUSE Leap 15, we have
libfmt-devel 5.x.
Signed-off-by: Kefu Chai <kchai@redhat.com>
1. cryptopp-devel was moved to the distro-specific section by
aeb974b913, then
96196e9d77 reintroduced it in the
non-distro-specific section, breaking install-deps.sh for SUSE
2. fmt-devel is called libfmt-devel on SUSE
Fixes: install-deps.sh on SUSE
Signed-off-by: Nathan Cutler <ncutler@suse.com>
python-ceph-argparse is required by ceph_volume_client.py. hence we do
need list it as a dependency of python-cephfs.
Fixes: http://tracker.ceph.com/issues/24919
Signed-off-by: Kefu Chai <kchai@redhat.com>
This reverts commit c0b7aab381.
python3-ceph-argparse is required by ceph_volume_client.py. hence we do
need it as a dependency of python3-cephfs.
Signed-off-by: Kefu Chai <kchai@redhat.com>
in `cephfs.pyx` we `cimport rados`, and in
LibCephFs.create_with_rados(), Rados.cluster is accesssed without GIL,
so we need to import the rados module for cephfs to ensure that it's
safe to access this attribute without GIL.
dh_python2 and dh_python3 cannot fill ${python:Depends} and
${python3:Depends} with this dependency, so we need to set it
explicitly.
Fixes: http://tracker.ceph.com/issues/24918
Signed-off-by: Kefu Chai <kchai@redhat.com>
* 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>
d7b493a710 moved three binaries from the
ceph-test package to other packages, causing trouble with upgrades in
test lab environments (users typically do not install the ceph-test
package).
While the original upgrade troubles have already been addressed, RPM
has a "Provides" mechanism for easing the pain, so it makes sense to
use it.
Fixes: http://tracker.ceph.com/issues/22558
Signed-off-by: Nathan Cutler <ncutler@suse.com>
ede36df325 added sudo as a runtime dependency,
but that commit also causes OBS builds to fail with:
[10666s] ... checking filelist
[10667s] ceph-osd-14.0.0-lp150.1332.1.x86_64.rpm: directories not owned by a package:
[10667s] - /etc/sudoers.d
Since the "sudo" package is a runtime dependency of ceph-osd, it is guaranteed
to be installed on the target system and there is no reason for ceph-osd to own
this directory.
Having sudo as a build dependency makes OBS happy, and does no harm.
Follow-on fix for https://github.com/ceph/ceph/pull/22745
Signed-off-by: Nathan Cutler <ncutler@suse.com>
cryptopp-devel is called libcryptopp-devel on SUSE.
/usr/bin/protoc is included in protobuf-devel on SUSE.
numactl-devel is called libnuma-devel on SUSE
Signed-off-by: Nathan Cutler <ncutler@suse.com>
python-six is used by dashboard's controllers. please note,
${python:Depends} is able to fill the installation dependencies for
debian package. so python-six is not added to Requires of ceph-mgr.
Signed-off-by: Kefu Chai <kchai@redhat.com>