]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Split python-ceph to appropriate python-* packages
authorBoris Ranto <branto@redhat.com>
Wed, 7 Jan 2015 09:26:49 +0000 (10:26 +0100)
committerSage Weil <sage@redhat.com>
Tue, 24 Feb 2015 20:50:27 +0000 (12:50 -0800)
python-ceph contains various header files/bindings for serveral
libraries, this patch creates *-devel packages for all the
libraries separately and provides the compatibility layer for
the split.

Signed-off-by: Boris Ranto <branto@redhat.com>
ceph.spec.in

index 44cb8d58010755c1c9336132b7f39e230744b08a..677fad865e1a219fdf2d910b3d7b696ff24e4f30 100644 (file)
@@ -24,7 +24,9 @@ Requires:     librbd1 = %{epoch}:%{version}-%{release}
 Requires:      librados2 = %{epoch}:%{version}-%{release}
 Requires:      libcephfs1 = %{epoch}:%{version}-%{release}
 Requires:      ceph-common = %{epoch}:%{version}-%{release}
-Requires:      python-ceph = %{epoch}:%{version}-%{release}
+Requires:      python-rados = %{epoch}:%{version}-%{release}
+Requires:      python-rbd = %{epoch}:%{version}-%{release}
+Requires:      python-cephfs = %{epoch}:%{version}-%{release}
 Requires:      python
 Requires:      python-argparse
 Requires:      python-requests
@@ -115,7 +117,9 @@ Summary:    Ceph Common
 Group:         System Environment/Base
 Requires:      librbd1 = %{epoch}:%{version}-%{release}
 Requires:      librados2 = %{epoch}:%{version}-%{release}
-Requires:      python-ceph = %{epoch}:%{version}-%{release}
+Requires:      python-rados = %{epoch}:%{version}-%{release}
+Requires:      python-rbd = %{epoch}:%{version}-%{release}
+Requires:      python-cephfs = %{epoch}:%{version}-%{release}
 Requires:      python-requests
 Requires:      redhat-lsb-core
 %description -n ceph-common
@@ -193,6 +197,19 @@ Obsoletes: ceph-devel < %{epoch}:%{version}-%{release}
 This package contains libraries and headers needed to develop programs
 that use RADOS object store.
 
+%package -n python-rados
+Summary:       Python libraries for the RADOS object store
+Group:         System Environment/Libraries
+License:       LGPL-2.0
+Requires:      librados2 = %{epoch}:%{version}-%{release}
+Obsoletes:     python-ceph
+%if 0%{defined suse_version}
+%py_requires
+%endif
+%description -n python-rados
+This package contains Python libraries for interacting with Cephs RADOS
+object store.
+
 %package -n libradosstriper1
 Summary:       RADOS striping interface
 Group:         System Environment/Libraries
@@ -239,6 +256,17 @@ Obsoletes: ceph-devel < %{epoch}:%{version}-%{release}
 This package contains libraries and headers needed to develop programs
 that use RADOS block device.
 
+%package -n python-rbd
+Summary:       Python libraries for the RADOS block device
+Group:         System Environment/Libraries
+License:       LGPL-2.0
+Requires:      librbd1 = %{epoch}:%{version}-%{release}
+Requires:      python-rados = %{epoch}:%{version}-%{release}
+Obsoletes:     python-ceph
+%description -n python-rbd
+This package contains Python libraries for interacting with Cephs RADOS
+block device.
+
 %package -n libcephfs1
 Summary:       Ceph distributed file system client library
 Group:         System Environment/Libraries
@@ -264,18 +292,16 @@ Obsoletes:        ceph-devel < %{epoch}:%{version}-%{release}
 This package contains libraries and headers needed to develop programs
 that use Cephs distributed file system.
 
-%package -n python-ceph
-Summary:       Python libraries for the Ceph distributed filesystem
+%package -n python-cephfs
+Summary:       Python libraries for Ceph distributed file system
 Group:         System Environment/Libraries
 License:       LGPL-2.0
-Requires:      librados2 = %{epoch}:%{version}-%{release}
-Requires:      librbd1 = %{epoch}:%{version}-%{release}
-%if 0%{defined suse_version}
-%py_requires
-%endif
-%description -n python-ceph
-This package contains Python libraries for interacting with Cephs RADOS
-object storage.
+Requires:      libcephfs1 = %{epoch}:%{version}-%{release}
+Requires:      python-rados = %{epoch}:%{version}-%{release}
+Obsoletes:     python-ceph
+%description -n python-cephfs
+This package contains Python libraries for interacting with Cephs distributed
+file system.
 
 %package -n rest-bench
 Summary:       RESTful benchmark
@@ -373,6 +399,21 @@ librados2-devel, librbd1-devel and libcephfs1-devel. Packages still depending
 on ceph-devel should be fixed to depend on librados2-devel, librbd1-devel,
 libcephfs1-devel or libradosstriper1-devel instead.
 
+%package -n python-ceph-compat
+Summary:       Compatibility package for Cephs python libraries
+Group:         System Environment/Libraries
+License:       LGPL-2.0
+Obsoletes:     python-ceph
+Requires:      python-rados = %{epoch}:%{version}-%{release}
+Requires:      python-rbd = %{epoch}:%{version}-%{release}
+Requires:      python-cephfs = %{epoch}:%{version}-%{release}
+Provides:      python-ceph
+%description -n python-ceph-compat
+This is a compatibility package to accommodate python-ceph split into
+python-rados, python-rbd and python-cephfs. Packages still depending on
+python-ceph should be fixed to depend on python-rados, python-rbd or
+python-cephfs instead.
+
 %if 0%{?opensuse} || 0%{?suse_version}
 %debug_package
 %endif
@@ -625,6 +666,7 @@ fi
 %config %{_sysconfdir}/bash_completion.d/rbd
 %config(noreplace) %{_sysconfdir}/ceph/rbdmap
 %{_initrddir}/rbdmap
+%{python_sitelib}/ceph_argparse.py*
 
 %postun -n ceph-common
 # Package removal cleanup
@@ -721,6 +763,11 @@ fi
 %{_includedir}/rados/memory.h
 %{_libdir}/librados.so
 
+#################################################################################
+%files -n python-rados
+%defattr(-,root,root,-)
+%{python_sitelib}/rados.py*
+
 #################################################################################
 %files -n libradosstriper1
 %defattr(-,root,root,-)
@@ -767,6 +814,11 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
 %{_includedir}/rbd/features.h
 %{_libdir}/librbd.so
 
+#################################################################################
+%files -n python-rbd
+%defattr(-,root,root,-)
+%{python_sitelib}/rbd.py*
+
 #################################################################################
 %files -n libcephfs1
 %defattr(-,root,root,-)
@@ -786,12 +838,9 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
 %{_libdir}/libcephfs.so
 
 #################################################################################
-%files -n python-ceph
+%files -n python-cephfs
 %defattr(-,root,root,-)
-%{python_sitelib}/rados.py*
-%{python_sitelib}/rbd.py*
 %{python_sitelib}/cephfs.py*
-%{python_sitelib}/ceph_argparse.py*
 
 #################################################################################
 %files -n rest-bench
@@ -860,4 +909,9 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
 # We need an empty %%files list for ceph-devel-compat, to tell rpmbuild to
 # actually build this meta package.
 
+#################################################################################
+%files -n python-ceph-compat
+# We need an empty %%files list for python-ceph-compat, to tell rpmbuild to
+# actually build this meta package.
+
 %changelog