[Gluster-devel] RPM re-structuring

Vijay Bellur vbellur at redhat.com
Sun Jul 28 19:13:01 UTC 2013


On 07/29/2013 12:37 AM, Anand Avati wrote:
>
>
>
> On Sun, Jul 28, 2013 at 12:02 PM, Vijay Bellur <vbellur at redhat.com
> <mailto:vbellur at redhat.com>> wrote:
>
>     On 07/29/2013 12:18 AM, Anand Avati wrote:
>
>
>
>
>         On Sun, Jul 28, 2013 at 11:18 AM, Vijay Bellur
>         <vbellur at redhat.com <mailto:vbellur at redhat.com>
>         <mailto:vbellur at redhat.com <mailto:vbellur at redhat.com>>> wrote:
>
>              Hi All,
>
>              There was a recent thread on fedora-devel about bloated
>         glusterfs
>              dependency for qemu:
>
>         https://lists.fedoraproject.____org/pipermail/devel/2013-July/____186484.html
>
>
>         <https://lists.fedoraproject.__org/pipermail/devel/2013-July/__186484.html
>         <https://lists.fedoraproject.org/pipermail/devel/2013-July/186484.html>>
>
>              As of today, we have the following packages and respective
>         primary
>              constituents:
>
>                1. glusterfs                 - contains all the common
>         xlators,
>              libglusterfs, glusterfsd binary & glusterfs symlink to
>         glusterfsd.
>                2. glusterfs-rdma            - rdma shared library
>                3. glusterfs-geo-replication - geo-rep related objects
>                4. glusterfs-fuse            - fuse xlator
>                5. glusterfs-server          - server side xlators,
>         config files
>                6. glusterfs-api             - libgfapi shared library
>                7. glusterfs-resource-agents - OCF resource agents
>                8. glusterfs-devel           - Header files for libglusterfs
>                9. glusterfs-api-devel       - Header files for gfapi
>
>              As far as qemu is concerned, qemu depends on glusterfs-api
>         which in
>              turn is dependent on glusterfs. Much of the apparent bloat
>         is coming
>              from glusterfs package and one proposal for reducing the
>         dependency
>              footprint of consumers of libgfapi could be the following:
>
>              a) Move glusterfsd and glusterfs symlink from 'glusterfs' to
>              'glusterfs-server'
>              b) Package glusterfsd binary and glusterfs symlink in
>         'glusterfs-fuse'
>
>
>
>         Does that mean glusterfsd is in glusterfs-server or
>         glusterfs-fuse? It
>         is probably sufficient to leave glusterfs-fuse just have fuse.so and
>         mount.glusterfs.in <http://mount.glusterfs.in>
>         <http://mount.glusterfs.in>
>
>
>     With this model, glusterfsd is part of both -server and -fuse. I
>     don't like this idea entirely, for a different scheme see below.
>
>
>
>         Another model can be:
>
>         0. glusterfs-libs.rpm - libglusterfs.so libgfrpc.so libgfxdr.so
>         1. glusterfs (depends on glusterfs-libs) - glusterfsd binary,
>         glusterfs
>         symlink, all common xlators
>         2. glusterfs-rdma (depends on glusterfs) - rdma shared library
>         3. glusterfs-geo-replication (depends on glusterfs) - geo-rep
>         related
>         objects
>         4. glusterfs-fuse (depends on glusterfs) - fuse xlator,
>         mount.glusterfs
>         5. glusterfs-server (depends on glusterfs) - server side
>         xlators, config
>         files
>         6. glusterfs-api (depends on glusterfs-libs) - libgfapi.so and
>         api.so
>         7. glusterfs-resource-agents (depends on glusterfs)
>         8. glusterfs-devel (depends on glusterfs-libs) - header files for
>         libglusterfs
>         9. glusterfs-api-devel (depends on glusterfs-api) - header files
>         for gfapi
>
>         This way qemu will only pick up libgfapi.so libglusterfs.so
>         libgfrpc.so
>         and libgfxdr.so (the bare minimum to "just execute") for the
>         binary to
>         load at run time. Those who want to store vm images natively on
>         gluster
>         must also do a 'yum install glusterfs' to make gfapi 'useful'.
>         This way
>         Fedora qemu users who do not plan to use gluster will not get
>         any of the
>         xlator cruft.
>
>
>     I like the idea about users of qemu not having to do with
>     non-required glusterfs cruft but with this model we still have
>     glusterfsd binary being pulled in for consumers who want libgfapi alone.
>
>
> How? libgfapi depends only on glusterfs-libs. Whereas glusterfsd is in
> glusterfs rpm.

In the scenario when somebody tries to use the gluster client xlators 
via libgfapi, we would end up installing glusterfsd still. Do we really 
need that to happen?

-Vijay




More information about the Gluster-devel mailing list