Bug 812975

Summary: libcephfs is useless
Product: [Fedora] Fedora Reporter: Adam Jackson <ajax>
Component: cephAssignee: Josef Bacik <josef>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: berrange, david, emailscottcollier, fedora, jbacik, josef, steve
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-06-07 17:29:33 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
ceph-subpackage.patch none

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> - 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]
ceph-subpackage.patch

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> - 0.46-1
- updated to upstream 0.46
- broke out libcephfs (rhbz# 812975)