[Gluster-devel] Packaging libgfapi-python

Niels de Vos ndevos at redhat.com
Thu Aug 4 10:19:01 UTC 2016


On Thu, Aug 04, 2016 at 05:47:04AM -0400, Prashanth Pai wrote:
> Hi all,
> 
> The official python bindings to libgfapi has been around for a while now
> in it's source repo[1] and the API documentation[2] is also up. However,
> it wasn't made available over regular release channels until now and users
> had to install it from source (which is very easy[3] for Python projects)
> 
> There are few ways how libgfapi-python can be made available as packages over
> yum/pypi:
> 
> 1. Import libgfapi-python repo as a git submodule in glusterfs repo. Modify the
>    spec file to create a python-libgfapi package. (Or make it part of existing
>    python-gluster package). This way it'll be part of glusterfs release cycle
>    and development will continue to happen in it's external repo.
> 
> 2. Have libgfapi-python maintain it's own release numbers and release lifecycle
>    externally. Package it and make it available over pypi so that users can
>    simply do a pip install. This will also allow python bindings to work
>    with any glusterfs versions or release series (3.7, 3.8, master) which is
>    really nice.

This. We want libgfapi-python to be independent as much as possible. The
same counts for Java, PHP and other bindings to libgfapi. With libgfapi
we try very hard not to break existing users, libgfapi-python is one,
just like Samba, NFS-Ganesha, QEMU, etc.

But we also need to provide RPM packages in different distributions so
that users can install and manage the packages with the standard tools.
pip works good for developers and certain environments where versions
are not watched/maintained carefully. pip may also not be installed
everywhere, but we would still like Python applications to be able to
use libgfapi-python. (Many admins are against installing software that
does not come from the standard distribution repositories.)

Users mostly start looking for packages that are available in their
distribution. For Fedora they would do a "dnf search gluster", CentOS
has "yum search gluster" and Debian based distributions use "apt-cache".
Integration in distributions is important, so that we (and the packge
maintainers for those distributions) can test the versions that are
provided. pip does not offer the tight integration with distributions
that I expect from a stable software package.

Thanks,
Niels


> 3. Import entire libgfapi-python source code into glusterfs repo and deprecate
>    libgfapi-python repo. Continue all further development in glusterfs repo.
> 
> My personal favourite is to make it available over pypi which will work
> across distros but pypi doesn't seem to be popular here.
> 
> libgfapi-python bindings has been tested only against Linux x86-64 and Python
> versions 2.6 and 2.7 in Fedora/CentOS so far. Niels has setup a job in the
> CentOS CI infra that runs ligfapi python tests against glusterfs nightly builds.
> 
> Your preference and inputs on how do we go about packaging libgfapi-python
> will help.
> 
> [1]: https://github.com/gluster/libgfapi-python
> [2]: http://libgfapi-python.rtfd.io
> [3]: http://libgfapi-python.rtfd.io/en/latest/install.html
> 
>  -Prashanth Pai
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://www.gluster.org/pipermail/gluster-devel/attachments/20160804/42c679c3/attachment.sig>


More information about the Gluster-devel mailing list