Bug 812975 - libcephfs is useless
Summary: libcephfs is useless
Alias: None
Product: Fedora
Classification: Fedora
Component: ceph
Version: rawhide
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
Assignee: Josef Bacik
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2012-04-16 17:20 UTC by Adam Jackson
Modified: 2012-06-07 17:29 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2012-06-07 17:29:33 UTC
Type: Bug

Attachments (Terms of Use)
ceph-subpackage.patch (2.34 KB, patch)
2012-04-17 14:08 UTC, Adam Jackson
no flags Details | Diff

Description Adam Jackson 2012-04-16 17:20:46 UTC
Description of problem:

A 4.5M shared library used by literally nothing else in the distro.  Which afaict gets installed by default even on the live image since qemu requires it.

As a more general thing I'd like to see the binaries and libraries split apart if things will work when split that way, but libcephfs should definitely either be subpackaged or just deleted.

Comment 1 Josef Bacik 2012-04-16 17:37:26 UTC
Even better is for qemu not to require the thing at all.

Comment 2 Adam Jackson 2012-04-16 20:38:55 UTC
I don't disagree, but they appear to have enabled the feature intentionally.

* Wed Oct 12 2011 Daniel P. Berrange <berrange@redhat.com> - 2:0.15.0-6
- Add BR on ceph-devel to enable RBD block device

I should clarify that libcephfs is not used even by qemu.  qemu simply needs librados and librdb, but since ceph isn't subpackaged it also brings in the rest of the ceph tools.

Comment 3 Daniel Berrangé 2012-04-17 08:28:04 UTC
Agreed, it would be desirable to have the ceph RPM split up into several sub-RPMs, so QEMU doesn't pull in the whole lot, 90% of which it doesn't need.

Comment 4 Adam Jackson 2012-04-17 14:08:05 UTC
Created attachment 578050 [details]

Proposed package split.  Moves most libs to -libs, and libcephfs to -libcephfs.  -devel brings in both.  Size before is 36612992 bytes installed.  Sizes after:

% rpm -qp --qf="%{name} %{size}\n" ceph-{,libs-,libcephfs-}0.45-1.fc18.x86_64.rpm
ceph 27306744
ceph-libs 4856051
ceph-libcephfs 4457611

As a further modest size reduction it looks like ceph could be built with -fvisibility-inlines-hidden in CXXFLAGS.  At least, everything still links if you do that, though I haven't tried setting it up to see if it works.  That gives:

% rpm -qp --qf="%{name} %{size}\n" ceph-{,libs-,libcephfs-}0.45-1.fc18.x86_64.rpm
ceph 24947448
ceph-libs 3953067
ceph-libcephfs 3621387

Comment 5 Josef Bacik 2012-04-17 18:35:27 UTC
Alrighty I'll apply that and use -fvisibility-inlines-hidden and if the compiler flag breaks anything I'll just pull it out.

Comment 6 Adam Jackson 2012-06-07 17:29:33 UTC
* Wed May  9 2012 Josef Bacik <josef@toxicpanda.com> - 0.46-1
- updated to upstream 0.46
- broke out libcephfs (rhbz# 812975)

Note You need to log in before you can comment on or make changes to this bug.