Commit Graph

778 Commits

Author SHA1 Message Date
Nathan Cutler
9bd91dc5d9 Merge pull request #13338 from kshtsk/add-bc-to-deps
ceph.spec.in, debian/control: Add bc to build dependencies

Reviewed-by: Dan Mick <dan.mick@redhat.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
2017-02-10 10:28:10 +01:00
Kyr Shatskyy
3ff4be6d68 ceph.spec.in, debian/control: Add bc to build dependencies
The bc is missing for ceph-helpers.sh

Fixes: http://tracker.ceph.com/issues/18876
Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@gmail.com>
2017-02-10 00:43:53 +01:00
Kefu Chai
b641135cf8 packaging: install libceph-common.so* not libceph-common.so.*
Fixes: http://tracker.ceph.com/issues/18692
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-01-27 10:43:42 +08:00
Kefu Chai
e2da2e9fa7 cmake: version libceph-common to appease dpkg-shlibdeps
when packaging debian packages, dpkg-shlibdeps analyzes the linked
shared libraries of the binaries in given package by looking at their
names. but if the name does not include any useful versioning
information, it complains. we have no intention of versioning
libceph-common, as it is merely an internal shared library used by ceph
packages only. but there is no simple way to disable dpkg-shlibdeps'
warning of

  dpkg-shlibdeps: warning: can't extract name and version from library
  name 'libceph-common.so'

other than skipping the dpkg-shlibdeps for the whole package. so let's
just version it anyway.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-01-20 16:34:29 +08:00
Kefu Chai
8f7643792c cmake: turn libcommon into a shared library
prior to this change, libcommon is a convenient library which gets
linked into librados, librbd and libcephfs and all ceph executables.
this incurs some problems:
 - double dose of libcommon in memory space and HDD: waste of memory
   and disk space.
 - if an application links to two libraries including libcommon at the
   same time. take librados and libcephfs as an example, they could
   interfere with each other by changing the other guy's status.
after this change, libcommon is tuned into a shared library and
renamed to libceph-common. it will be installed into $prefix/lib/ceph,
and packaged in librados2.

ceph.spec.in,debian/librados2.install: package libceph-common in
  librados2.
CMakeLists.txt:
  - do not link against libboost-* if not necessary.
  - s/common/ceph-common/g
  - install libceph-common into $prefix/lib/ceph
  - set rpath to $prefix/lib/ceph
  - link against ceph-common if an executable needs access to non public
    symbols in ceph.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-01-10 21:10:53 +08:00
John Spray
63ae8579bf Merge pull request #11542 from batrick/systemd-ceph-fuse
systemd: add ceph-fuse service file

Reviewed-by: John Spray <john.spray@redhat.com>
2016-12-14 13:55:33 +00:00
Sage Weil
b97393cf18 ceph.spec: dump env during build
Signed-off-by: Sage Weil <sage@redhat.com>
2016-12-02 14:05:31 -05:00
Patrick Donnelly
d32d70b783
systemd: add ceph-fuse service file
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2016-12-01 19:51:37 -05:00
Bassam Tabbara
c6067f48ec embedded: Add a skeleton libcephd library
libcephd is a library that contains ceph daemon code
that can be statically linked in other applications.

Added MergeStaticLibraries.cmake that can merge static libraries
to form a bigger one. This approach avoids the need to mess with
STATIC libraries all over the code base.

Signed-off-by: Bassam Tabbara <bassam.tabbara@quantum.com>
2016-11-28 23:48:02 -08:00
Haomai Wang
9b8c306afa ceph.spec: add pybind rgwfile
Signed-off-by: Haomai Wang <haomai@xsky.com>
2016-11-09 18:49:48 +08:00
John Spray
f80c7a8f20 Merge pull request #11647 from ceph/wip-jlayton-cephfs
libcephfs client API overhaul and update

Reviewed-by: John Spray <john.spray@redhat.com>
2016-11-07 21:07:40 +01:00
Owen Synge
c2dd25f2f9 ceph.spec.in:Remove ceph-create-keys for systemd
ceph-create-keys should not be started on boot of mons with systemd so should
not exist in the rpm.

Signed-off-by: Owen Synge <osynge@suse.com>
2016-11-04 23:04:40 +01:00
Sage Weil
1014850996 Merge pull request #10707 from SUSE/wip-fix-suse-usermod
rpm: Remove trailing whitespace in usermod command (SUSE)

Reviewed-by: Nathan Cutler <ncutler@suse.com>
2016-11-03 11:29:02 -05:00
Josh Durgin
ac1c1f6f0e librados-dev: install inline_memory.h
This is needed to compile against the c++ api since
c38869232c

Fixes: http://tracker.ceph.com/issues/17654
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
2016-11-01 15:15:38 -07:00
Yuri Weinstein
a7dae73800 Merge pull request #11365 from badone/wip-lsb_release-remove
common: Remove the runtime dependency on lsb_release

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Ken Dreyer (Red Hat) <kdreyer@redhat.com>
2016-10-31 15:29:25 -07:00
Jeff Layton
939f5bd1c2 rpm: libcephfs1 -> libcephfs2 package rename
Signed-off-by: Jeff Layton <jlayton@redhat.com>
2016-10-25 13:06:29 -04:00
Brad Hubbard
8b1a57fd34 common: Remove the runtime dependency on lsb_release
With modern releases we should be able to make do with the call to
os_release_parse only which uses /etc/os-release which should be available on
most (all?) releases we currently support. this then allows us to remove the
runtime dependency which pulls in several other packages and would be nice to
avoid.

Fixes: http://tracker.ceph.com/issues/17425
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
2016-10-07 14:54:06 +10:00
Sage Weil
3447601ac3 ceph.spec: fix ceph-mgr version requirement
Signed-off-by: Sage Weil <sage@redhat.com>
2016-09-30 18:13:50 -04:00
Tim Serong
2e9e21eb42 ceph.spec.in: add ceph-mgr package
This adds ceph-mgr following the same pattern used for ceph-mon,
ceph-mds, ceph-osd.  I've removed the boost-python BuildRequire
for SUSE distros, because we don't ship that (the relevant bits
are already included in boost-devel).

NOTE: This gives an installable ceph-mgr, but not necessarily a
runnable ceph-mgr.  This is because ceph-mgr needs the following
python packages:

- CherryPy
- Django
- gevent
- python-dateutil
- djangorestframework

Not all of these are available as distro packages.  For example,
on openSUSE Tumbleweed, we don't have djangorestframework available
in the base distro, and our Django version is 1.9, which seems to
be incompatible with ceph-mgr.  I'm not sure of the situation on
other distros.

Signed-off-by: Tim Serong <tserong@suse.com>
2016-09-29 17:27:08 +01:00
John Spray
88977572f9 packaging: add boost-python dependency
Although ceph-mgr isn't packaged yet, builders
use these files to cue installation of dependencies.

Signed-off-by: John Spray <john.spray@redhat.com>
2016-09-29 17:27:05 +01:00
Ken Dreyer
d4b84a1396 rpm: fix permissions for /etc/ceph/rbdmap
Prior to this change, the RPM packaging would install /etc/ceph/rbdmap
with exectuable permissions. The execute bit is not necessary and does
not match what the Debian packaging does. Remove the execute bit in this
case.

Fixes: http://tracker.ceph.com/issues/17395

Reported-by: Martin Bukatovic <mbukatov@redhat.com>
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2016-09-23 14:52:16 -06:00
Brad Hubbard
7e71cd2c81 Remove dependency on sdparm/hdparm
The code requiring a dependency on hdparm has been removed so we can remove it
as a dependency.

Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
2016-09-14 21:33:36 +10:00
Ricardo Dias
0f347b82ef
rpm: Added ceph_test_package bcond flag to control the build of ceph-test package
Fixes: http://tracker.ceph.com/issues/16776

Signed-off-by: Ricardo Dias <rdias@suse.com>
2016-09-09 14:12:44 +01:00
Ricardo Dias
06875b5099
rpm: Renamed bcond tests flag to make_check
Signed-off-by: Ricardo Dias <rdias@suse.com>
2016-09-09 12:55:06 +01:00
Ricardo Dias
aaa75aeb2f
rpm: Moved ceph-client-debug from ceph-base to ceph-test package
Signed-off-by: Ricardo Dias <rdias@suse.com>
2016-09-09 12:55:06 +01:00
Kefu Chai
1b163c802c Merge pull request #11015 from tchaikov/wip-optional-py3
cmake: make py3 a nice-to-have

Reviewed-by: Willem Jan Withagen <wjw@digiware.nl>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2016-09-09 10:55:24 +08:00
Kefu Chai
7d7a984846 cmake: make py3 a nice-to-have
python3 is not a hard requirement to build ceph, so make it optional.
add an option named "WITH_PYTHON3" which accepts ON, OFF, or CHECK.

Fixes: http://tracker.ceph.com/issues/17103
Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-09-08 21:49:45 +08:00
Sage Weil
fba798dcad remove autotools
Signed-off-by: Sage Weil <sage@redhat.com>
2016-09-07 11:50:14 -04:00
jtlayton
0358fc095c Merge pull request #10922 from ceph/wip-jlayton-statx
First pile of statx patches
2016-09-06 07:04:51 -04:00
Sage Weil
990a920206 Merge pull request #10404 from ilc/build_fix
make-dist/ceph.spec.in: Fix srpm build breakage.

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
2016-08-31 16:19:40 -05:00
Jeff Layton
f7c885e1f9 libcephfs: add a ceph_ll_getattrx and ceph_statx
New interfaces for fetching extended (and selective) stat information.
Additionally, applications can specify AT_NO_ATTR_SYNC in the flags to
indicate that they want to do a "lazy" statx that just hands out the
inode info from the cache, or AT_SYMLINK_NOFOLLOW to avoid following
symlinks when walking the path.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
2016-08-29 07:16:38 -04:00
Nathan Cutler
a497a53737 rpm: force creation of Python 3 __pycache__ on SUSE
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Signed-off-by: Dominique Leuenberger <dimstar@opensuse.org>
2016-08-26 14:22:09 +02:00
Nathan Cutler
8f7811551b Revert "ceph.spec.in: don't try to package __pycache__ for SUSE"
This reverts commit be39d6dc71.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-08-26 14:22:09 +02:00
Ken Dreyer
b0f9aaf852 Merge pull request #9757 from SUSE/wip-16353
rpm: drop obsolete libs-compat and python-ceph-compat metapackages

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
2016-08-25 15:05:48 -06:00
Ken Dreyer
0f001697b1 Merge pull request #10805 from SUSE/wip-dont-package-__pycache__
ceph.spec.in: don't try to package __pycache__ for SUSE

Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Dirk Mueller <dmueller@suse.com>
Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
2016-08-25 14:04:54 -06:00
Tim Serong
be39d6dc71 ceph.spec.in: don't try to package __pycache__ for SUSE
When building on openSUSE Tumbleweed, nothing seems to create
the various __pycache__ directories (so the build fails because
those files don't exist), and in any case they should be
created automatically at runtime, so shouldn't need to be
packaged.  However, the Fedora packaging guidelines suggest
including __pycache__, so I've used a %suse_version guard here.

Fixes: http://tracker.ceph.com/issues/17106
Signed-off-by: Tim Serong <tserong@suse.com>
2016-08-24 19:09:14 +10:00
Ira Cooper
d073076dfe make-dist/ceph.spec.in: Fix srpm build breakage.
This allows the make-dist script to create a .spec file that
can actually use the tarball created to build srpms.

Tested on Fedora 24, using mock.

Signed-off-by: Ira Cooper <ira@redhat.com>
2016-08-23 15:11:47 -04:00
Nathan Cutler
ddae82bcd4 rpm: do not unnecessarily spawn shells for scriptlets
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-08-23 08:44:40 +02:00
Nathan Cutler
231b7bad33 ceph.spec.in: drop trouble-making divider comments
We have some %post scriptlets that fire up a shell just to execute a single
command like this:

%postun -n librados2
/sbin/ldconfig

Normally, it would be possible to optimize these as:

%postun -n librados2 -p /sbin/ldconfig

Except that, due to an RPM bug, there must not be *any* content (not even comments)
between the %postun and the next section.

See https://bugzilla.redhat.com/show_bug.cgi?id=1003962#c0 for details.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-08-23 08:44:35 +02:00
Nathan Cutler
644650f59d rpm: drop obsolete libs-compat metapackage
Fixes: http://tracker.ceph.com/issues/16353
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-08-23 08:43:44 +02:00
Nathan Cutler
be6f6cbd5c Merge pull request #10608 from SUSE/wip-16949
rpm: add udev BuildRequires to provide /usr/lib/udev directory

Reviewed-by: Boris Ranto <branto@redhat.com>
2016-08-22 17:47:48 +02:00
David Galloway
ecd02bf3f1 ceph-post-file: migrate to RSA SSH keys
DSA keys are being deprecated: http://www.openssh.com/legacy.html

drop.ceph.com will continue to allow the old DSA key but eventually,
users submitting logs using ceph-post-file will run into issues when
OpenSSH completely drops support for the algorithm.

Fixes: http://tracker.ceph.com/issues/14267

Signed-off-by: David Galloway <dgallowa@redhat.com>
2016-08-22 10:27:36 -04:00
Nathan Cutler
fc7e398f1b Merge pull request #10592 from michelmno/forpull
LTTng-UST disabled for openSUSE

Reviewed-by: Nathan Cutler <ncutler@suse.com>
2016-08-19 17:36:58 +02:00
Tim Serong
8e1b308849 rpm: Remove trailing whitespace in usermod command (SUSE)
Trailing whitespace after the backslash on the -d line of the
usermod command effectively splits it in two, breaking the
rpm %pre script for SUSE builds.

Signed-off-by: Tim Serong <tserong@suse.com>
2016-08-12 21:30:53 +10:00
Oleh Prypin
7304268465 rpm: Add packages for Python 3 bindings
Signed-off-by: Oleh Prypin <oleh@pryp.in>
2016-08-11 16:36:57 +03:00
Michel Normand
7da19b6db7 LTTng-UST disabled for openSUSE
LTTng-UST not yet supported in openSUSE so do not enable lltng for it.
The (1) is where is defined "is_opensuse"

Remove value for test of suse_version in spec file
and change related comment from SLES12 to SLE
as per comment in https://github.com/ceph/ceph/pull/10592

(1) https://en.opensuse.org/openSUSE:Build_Service_cross_distribution_howto#Detect_a_distribution_flavor_for_special_code

Fixes: http://tracker.ceph.com/issues/16937
Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>
2016-08-11 10:38:06 +02:00
Nathan Cutler
1a164bc94d rpm: proper packaging of udev directories
The issue here is that ceph.spec.in does not package the directories
/usr/lib/udev and /usr/lib/udev/rules.d. The problem was not showing because
hdparm, which is brought in as a build dependency, packages these directories.
However, in SUSE a recent update to hdparm changes that and the problem
manifests.

This PR addresses the issue by adding udev as a build dependency, which should
cover /usr/lib/udev, and by adding explicit "%dir %{_udevrulesdir}" to the
packages that put files in this directory.

Fixes: http://tracker.ceph.com/issues/16949
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-08-09 23:00:28 +02:00
Nathan Cutler
1ab77924df Merge pull request #9744 from SUSE/wip-16345
rpm: fix shared library devel package names and dependencies

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
Reviewed-by: Boris Ranto <branto@redhat.com>
2016-08-09 11:18:24 +02:00
Michel Normand
a8db0f4d96 ExclusiveArch for suse_version
for SLES supports only x86_64 and aarch64 targets
for openSUSE (Tumbleweed and Leap) add ppc64/ppc64le targets.

fixes: http://tracker.ceph.com/issues/16936
Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>
2016-08-05 16:34:48 +02:00
Nathan Cutler
64b03dcf8d rpm: provide -devel library packages that are being obsoleted
This patch ensures that packages with the new name properly
replace old-named packages on upgrades.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-08-03 12:30:49 +02:00