Re: increasingly large packages and longer build times

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 24 Aug 2017, Alfredo Deza wrote:
> On Thu, Aug 24, 2017 at 4:41 AM, kefu chai <tchaikov@xxxxxxxxx> wrote:
> > On Wed, Aug 23, 2017 at 2:58 AM, Alfredo Deza <adeza@xxxxxxxxxx> wrote:
> >> On Tue, Aug 22, 2017 at 9:35 AM, kefu chai <tchaikov@xxxxxxxxx> wrote:
> >>> On Tue, Aug 22, 2017 at 4:27 PM, Nathan Cutler <ncutler@xxxxxxx> wrote:
> >>>>> my main concern would be the downstream. how shall we accommodate the
> >>>>> packaging of downstream? for example, what if the boost package
> >>>>> maintainers of SuSE/fedora/debian/ubuntu are not ready to package the
> >>>>> boost version we want to use in future?
> >>>>>
> >>>>> but as long as we don't require newer boost to build, we are safe on
> >>>>> debian and ubuntu at this moment. as boost 1.61 is required for
> >>>>> building ceph, and both debian unstable and ubuntu artful package
> >>>>> boost v1.62.
> >>>>
> >>>>
> >>>> The very latest cutting-edge versions of the distros may ship boost >= 1.61
> >>>> but the stable versions most likely do not.
> >>>
> >>> yeah. but, IIRC, debian stable does not accepts new packages unless
> >>> they contain critical bug fixes. the new packages will go to the
> >>> unstable or experimental distribution first. so, presumably, debian
> >>> will be fine. guess ubuntu is using similar strategy for including
> >>> packages in its LTS distros.
> >>
> >> Why are you concerned with distros and the availability to have a
> >> package at the version that we need?
> >>
> >> We publish our own repos, where we could have whatever boost version
> >> we need. Distro package maintainers have to
> >> decide what they can or can't do. For us it shouldn't matter.
> >>
> >
> > i think it matters. and i believe it'd be desirable if Ceph can be
> > easier for downstream to package. if the downstream finds that Ceph is
> > too difficult to package, and give up, that's surely not the end of
> > the world. but it could decrease the popularity level of ceph, and in
> > long term, it might hurt Ceph.
> 
> I fully agree here Kefu, but we don't make it easier by embedding
> libraries! Those need to
> get removed in distros. Most distros will *not* allow embedding
> dependencies like we do. That means that someone (probably
> a package maintainer) will have to remove these, figure out what
> versions are needed, and attempt to make it
> work with whatever that distro version will provide.

There are several categories here:

Yes:
- A bunch of stuff we embed can definitely be separated out; we embedded 
only because distros didn't have packages yet (e.g., zstd).  As soon as 
they are packages the submodules can be removed.

Maybe:
- The big one, though, is boost, which is mostly headers... only a *tiny* 
bit of code can be dynamically loaded, so there is minimal benefit to 
using the distro package... except that 'git clone' and the build are 
slightly faster. We could use a more up to date distro package, but we 
won't be able to put it in el7.  I worry that cases like this will be 
problematic: even if we build the updated package, it may be undesireable 
to require users to install a newer version on their system.

No:
- Then there is stuff that's fast-moving and new and unlikely to be 
helpful if separated out (spdk, dpdk).  The distro packages will never be 
up to date.  I'm not sure they even have any dynamically-linkable code... 
would have to check.

- And then rocksdb and civetweb are truly embedded. We sometimes have to 
carry modifications so it is a bad idea to use a distro package (our 
modifications may be incompatible with other users on the system).

Note that although distros complain about static linking, they have never 
actually taken a stand on the issue with Ceph.  *shrug*

sage
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux